微型计算机原理及应用第一章微型计算机发展.docx

上传人:b****5 文档编号:6921882 上传时间:2023-01-12 格式:DOCX 页数:15 大小:74.32KB
下载 相关 举报
微型计算机原理及应用第一章微型计算机发展.docx_第1页
第1页 / 共15页
微型计算机原理及应用第一章微型计算机发展.docx_第2页
第2页 / 共15页
微型计算机原理及应用第一章微型计算机发展.docx_第3页
第3页 / 共15页
微型计算机原理及应用第一章微型计算机发展.docx_第4页
第4页 / 共15页
微型计算机原理及应用第一章微型计算机发展.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

微型计算机原理及应用第一章微型计算机发展.docx

《微型计算机原理及应用第一章微型计算机发展.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用第一章微型计算机发展.docx(15页珍藏版)》请在冰豆网上搜索。

微型计算机原理及应用第一章微型计算机发展.docx

微型计算机原理及应用第一章微型计算机发展

微型计算机基础

微型计算机发展

自从1946年第一台电子计算机ENIAC(ElectronicNumericalIntegratorandCalculator)问世以来,计算机的发展经历了从电子管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机等发展历程。

随着半导体技术的迅猛发展,大规模集成电路(LSI)器件的采用,使得计算机的运算器、控制器组成的中央处理器(CPU)可以集成在一个芯片中,从而出现了微处理器芯片,并使得以微处理器为核心的微型计算机成为现实。

随着大规模集成电路技术的发展,几乎每隔二、三年就推出一代新的微处理器,微型计算机得到了迅猛的发展。

1.1.1微处理器和微型计算机的发展

微型计算机与大型机、中型机和小型机在工作原理上并没有本质的区别,仍是以运算器、控制器构成的中央处理器(CPU)为核心。

但由于它采取了LSI器件,把运算器、控制器集成在一个芯片中,出现了微处理器(Microprocessor),而微型计算机(Microcomputer)是以微处理器为基础,配以内存储器以及输入/输出接口电路和相应的辅助电路构成的计算机。

微型计算机随着微处理器的发展,也经历了五个阶段(或五个时代)的演变。

第一代微处理器(1971年开始),典型产品为Intel4004/8008,字长为4位/8位,芯片采用PMOS工艺,集成度为2000只晶体管/片,时钟频率1MHz左右,平均指令执行时间为10~20μs。

第二代微处理器(1973年开始),典型产品Intel8080、Intel8085、MotorolaMC6800、ZilogZ80,字长为8位,芯片采用NMOS工艺,集成度为9000只晶体管/片,时钟频率1~4MHz,平均指令执行时间为1~2μs。

第三代微处理器(1978年开始),典型产品Intel8086、Intel80286、MotorolaMC68000、ZilogZ8000,字长为16位,芯片采用HMOS工艺,集成度为2万~7万只晶体管/片,时钟频率4~25MHz,平均指令执行时间为0.5μs。

第四代微处理器(1983年开始),典型产品Intel80386、Intel80486、MotorolaMC68020、ZilogZ80000,字长为32位,芯片采用CHMOS工艺,集成度为15万~50万只晶体管/片,时钟频率16~40MHz,平均指令执行时间小于0.1μs。

第五代微处理器(1993年开始),典型产品主要有Intel公司的奔腾(Pentium)系列,如Pentium586、Pentiumpro、PentiumMMX、PentiumⅡ、PentiumⅢ、PentiumⅣ等,是属于高档的32位微处理器。

集成度为310万~4200万只晶体管/片,时钟频率60M~2GHz。

由于奔腾系列微处理器采用了超流水线技术、超高速缓存技术等新的技术,使得微处理器的性能得到大幅的提升。

在不断完善32位微处理器系列的同时,Intel公司2000年11月又推出了第一代的64位微处理器Itanium,标志着Intel微处理器进入64位时代。

微处理器发展到今天,已使微型计算机在整体性能、处理速度、图形图像处理、多媒体信息处理以及网络通信等诸多方面达到甚至超过了小型机。

1.1.2微型计算机的分类及其应用

1.微型计算机的分类

微型计算机的分类方法很多。

按微处理器的位数划分,有4位机、8位机、16位机、32位机和64位机;按组装形式和系统规模划分,有单片机、单板机和个人计算机等。

1)单片机

将微处理器、RAM、ROM及I/O接口电路等集成在一块芯片上的计算机,称为单片微型计算机,简称单片机。

由于单片机体积小、功耗低、可靠性高,在智能仪器仪表和控制领域得到广泛应用。

典型的有Intel8051、Intel8096,Motorola6805、6811等产品。

2)单板机

将微处理器、RAM、ROM、I/O接口电路及少量的输入/输出设备装配在一块印刷线路板上的计算机,称为单板微型计算机,简称单板机。

单板机结构简单、价格低廉、具有独立的微型机操作功能,但输入/输出设备简单,一般为小键盘、数码显示器等,通常用在简单的控制系统和教学实验。

典型的有以Z80为CPU的TP-801、以Intel8086为CPU的TP-86等。

3)个人计算机

个人计算机(PersonalComputer),简称PC机,是指由微处理器组装而成,供单个用户使用,便于搬运和维护的计算机。

通常说的微型计算机或家用电脑就属于个人计算机。

典型的有IBM公司推出的IBM-PC系列计算机。

随着各厂家先后加入PC机的研制和生产,PC机的价格大幅降低、性能大幅提高,也加速了PC机的普及和应用。

现在,个人计算机在商用、家用、科学研究、教育等领域都得到了广泛的应用。

2.微型计算机的应用

微型计算机由于具有体积小、功耗低、价格低、可靠性高、性能优良等显著特点,已广泛应用于各个应用领域。

下面仅对几个方面的应用作简单说明。

1)科学计算

现在,微型计算机的性能已超过原来的小型机,具有很强的运算能力。

由多个微处理器或多个微型计算机组成多处理器或多计算机系统,已成为搭建大型计算机系统的主流。

2)信息处理

用微型计算机进行信息处理、存储、交换,已成为信息社会中必不可少的手段。

微型计算机配上适当的管理软件,实现诸如办公自动化、银行管理、航空管理、企业资源管理等,并且采用多媒体技术已可以方便处理图、文、声、像等各种信息。

3)计算机控制

生产过程采用实时计算机控制及自动化生产线,可以大大提高产品的数量和质量,节约能源,降低劳动强度。

卫星和导弹的发射也离不开计算机控制。

4)智能仪器

配备微处理器的仪器仪表,可以极大提高仪器的精度和水平。

工业过程中的检测仪器、大型医疗器械等都广泛使用了微处理器。

5)计算机通信

计算机技术和通信技术的结合使得通信事业得到了迅速的发展。

微机控制的通讯设备广泛部署,通信工具愈来愈先进和智能化,特别是以计算机技术和通信技术为基础的网络技术的发展已彻底改变了人们的生活。

1.2微型计算机系统的组成

微型计算机系统和其他计算机系统一样,也由硬件系统和软件系统两大部分组成。

1.2.1微型计算机硬件

运算器、控制器组成的中央处理器集成在一个芯片中,形成微处理器。

微型计算机硬件系统由微处理器、存储器、输入/输出接口电路和一些必不可少的外部设备组成,并通过系统总线连接成有机整体,如图1.1所示。

 

图1.1微型计算机硬件组成框图

微处理器是中央处理器(CPU),由算术逻辑部件(ALU)、累加器和通用寄存器、程序计数器(PC)以及时序与控制逻辑等组成。

其中算术逻辑部件(ALU)主要实现算术运算(加、减、乘、除等操作)和逻辑运算(与、或、非、异或等操作),是运算器的核心;通用寄存器用来存放参加运算的数据、中间结果等;程序计数器(PC)指向将要执行的下一条指令的位置,具有自动增1功能,以决定程序的执行顺序;时序与控制逻辑部件主要负责对整机的控制,包括对指令的取出、译码、分析,确定指令的操作,使CPU内部和外部各部件协调工作。

存储器主要用来存放程序和数据,这里指的是内存储器或主存储器,分为随机存储器(RAM)和只读存储器(ROM)。

存储器由许多存储单元组成,每个单元的位数可以是1位、4位、8位、16位等,其中8位为一个字节(Byte)。

存储器的容量是指存储器所能存储的二进制位数,通常用能存储的字节数来衡量,单位有KB、MB、GB等。

存储器中每个存储单元都有一个编号,称为存储地址,简称地址,以便于对存储器的访问。

微处理器就是按照存储单元的地址来访问内存的。

对存储器的访问操作有读操作和写操作,用于实现从存储器中读出信息和把信息写入存储器。

每当需访问存储器时,都首先由微处理器给出地址,然后通过地址译码器选择相应的存储单元,再发出读或写控制信号,从而从指定地址的单元读出数据或把数据写入指定地址的存储单元。

输入/输出接口电路也称I/O接口,用来连接输入/输出设备(外部设备)。

输入/输出设备用来实现信息的输入/输出,包括外部存储器、键盘、显示器等。

系统总线包括地址总线(AB)、数据总线(DB)、控制总线(CB),是CPU向存储器和输入/输出接口传送地址、数据和控制信息的公共通路。

1.2.2微型计算机软件

软件(software)是指在硬件上运行的程序和相关的数据及文档,包括计算机本身运行所需的系统软件(systemsoftware)和用户完成特定任务所需的应用软件(applicationsoftware)等。

1)系统软件

系统软件是指用来实现对计算机系统资源的管理,便于人们使用计算机而配置的软件;系统软件是以计算机系统本身为管理对象,通常包括操作系统、计算机语言的处理程序、编译解释程序、调试诊断程序等。

2)应用软件

应用软件是用户针对某一实际问题而设计的程序,是以计算机系统作为工具以达到某一应用需要的软件,包括文字处理系统、计算机辅助设计软件、各种信息管理系统等。

1.2.3微型计算机的工作过程

微型计算机的工作过程就是执行存放在存储器中程序的过程,也就是逐条执行指令序列的过程。

每一条指令的执行都包括从内存储器中取出指令和执行指令两个基本阶段,所以,微型计算机的工作过程就是不断地取指令和执行指令的过程。

假定程序已由输入设备存放到内存中。

那么,微型计算机的工作过程(微型计算机执行程序的过程)包括的基本步骤有:

(1)首先将第一条指令由内存中取出(即取指令);

(2)将取出的指令送指令译码器译码,以确定要进行的操作;

(3)读取相应的操作数(或操作对象);

(4)对操作数进行指令规定的操作,并存放结果(即执行指令阶段);

(5)一条指令执行完后,转入下一条指令的取指令阶段。

如此周而复始地循环,直到程序中的指令执行完。

由于不同计算机内部的组成可能不同,且不同指令的执行所需的操作不仅和指令本身的功能有关,而且和具体计算机内部的组成有关。

一个典型的模型计算机CPU的组成结构如图1.2所示,其中包括算术逻辑单元ALU、累加器AL、通用寄存器BL、标志寄存器F、地址寄存器AR、数据寄存器DR、程序计数器PC、指令寄存器IR、指令译码器ID和可编程逻辑阵列PLA等,并通过地址总线AB、数据总线DB和存储器M连接。

要执行指令的地址由程序计数器PC提供,地址寄存器AR将要寻址的单元的地址通过地址总线AB送至存储器,从存储器中取出指令后,由数据寄存器DR送至指令寄存器IR,再通过指令译码器ID译码,并通过可编程逻辑阵列PLA控制电路发出执行一条指令所需要的各种控制信息。

在控制信号的控制下,准备好参加运算的操作数,并由ALU完成对操作数的运算处理,同时把运算过程中的状态标志信息存放在标志寄存器F。

 

图1.2典型的模型计算机CPU的组成结构

以简单的加法运算为例,假定要运算的数已存放在存储器中,加法运算程序至少包括两条指令:

(1)把第一个数从它所在的存储单元取出送至运算器中的累加器,如MOVAL,[addrx]。

(2)把累加器和存放在指定存储单元的第二个数相加,并将结果存放累加器,如ADDAL,[addry]。

那么,在模型计算机下,该加法运算程序的执行过程(假定程序计数器PC中已存放第一条指令在存储器中的地址)包括:

(1)取第一条指令,即程序计数器PC送到地址寄存器AR,并送至内存储器,经地址译码器译码,选中相应的单元;读存储器,把第一条指令取出来,经数据寄存器DR,送指令寄存器IR。

同时PC自动加1,指向下一条指令的位置(地址);

(2)通过指令译码分析,确定该指令是完成从内存addrx单元中取数的功能,即把第一个数的地址addrx部分送地址寄存器AR,并送至内存储器,通过读存储器,把第一个数取出来,经数据寄存器DR送累加器AL。

(3)取第二条指令,其读取过程与第一条指令是完全一样的;

(4)通过指令译码分析,确定该指令是完成把AL和存放在addry单元的第二个数相加的功能,即把第二个数的地址addry部分送地址寄存器AR,并送至内存储器,通过读存储器,把第二个数取出来,经数据寄存器DR送ALU,同时暂存在AL中的第一个数也送ALU,然后ALU进行加运算,并把结果输出到AL。

1.4微型计算机中常用数制和编码

1.4.1常用数制及转换

数制是数的表示方法。

可以用各种进位计数制来表示数,如二进制、十进制、八进制和十六进制等。

由于计算机中使用的电子元器件表示两个不同的状态非常容易,所以计算机中一般采用二进制数。

但人们习惯于使用十进制,因此,需要了解常用的进位计数制及其转换方法。

1.常用数制

数制中所使用的数码的个数称为基数,数制每一位所具有的权值称为位权,每一位的值等于该位数字和该位位权的乘积。

1)十进制

十进制有0~9这十个不同的数字组成,其基数为10,每位的位权是以10为底的幂,即第i位的权为10i。

十进制数可在数字后加后缀D表示,但常省略不写。

例如:

123.45=1×102+2×101+3×100+4×10-1+5×10-2。

也就是说一个十进制数可以展开成以10为底的多项式,每位的值等于该位数字与该位位权的乘积,各位值的累加和表示整个数的大小。

2)二进制

二进制有0、1这二个不同的数字组成,其基数为2,每位的位权是以2为底的幂,即第i位的权为2i。

二进制数可在数字后加后缀B表示。

例如:

101.01B=1×22+0×21+1×20+0×2-1+1×2-2=5.25。

也就是说一个二进制数可以展开成以2为底的多项式,每位的值等于该位数字与该位位权的乘积,各位值的累加和表示整个数的大小(十进制数)。

3)八进制

八进制有0~7这八个不同的数字组成,其基数为8,每位的位权是以8为底的幂,即第i位的权为8i。

八进制数可在数字后加后缀Q表示。

例如:

123.45Q=1×82+2×81+3×80+4×8-1+5×8-2=83.578125。

也就是说一个八进制数可以展开成以8为底的多项式,每位的值等于该位数字与该位位权的乘积,各位值的累加和表示整个数的大小(十进制数)。

4)十六进制

十六进制有0~9、A、B、C、D、E、F这十六个不同的数字组成,其基数为16,每位的位权是以16为底的幂,即第i位的权为16i。

十六进制数可在数字后加后缀H表示。

例如:

1F3.9AH=1×162+15×161+3×160+9×16-1+10×16-2=504.6015625。

也就是说一个十六进制数可以展开成以16为底的多项式,每位的值等于该位数字与该位位权的乘积,各位值的累加和表示整个数的大小(十进制数)。

在上述的常用进制数中,十进制数是人们最习惯使用的数,二进制数是计算机内部只能使用的数,而十六进制数由于和二进制转换方便且最紧凑,是计算机中最常用的一种书写形式。

表1.1是上述的四种进制数之间的关系表。

 

表1.1四种常用进制数的关系

十进制

二进制

八进制

十六进制

0

0000

0

0

1

0001

1

1

2

0010

2

2

3

0011

3

3

4

0100

4

4

5

0101

5

5

6

0110

6

6

7

0111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

2.数制转换

1)二进制、八进制、十六进制转换为十进制

二进制、八进制、十六进制转换为十进制的方法很简单,就是把每个数位上的数字和该位的位权相乘再累加即可得到等值的十进制数,可称为多项式展开法。

2)十进制转换为二进制

十进制数转换为二进制数时,需要对数的整数部分和小数部分分别进行处理,再合并得到转换结果。

(1)十进制整数:

采用除2取余法,即用基数2不断去除要转换的十进制数,直至商为0。

每次的余数即为二进制位数,先得到的是二进制低位,后得到的是二进制高位。

(2)十进制小数:

采用乘2取整法,即用基数2不断去乘要转换的十进制数。

每次得到积的整数部分即为二进制位数,先得到的是二进制小数的高位,后得到的是二进制小数的低位。

需要注意的是:

十进制小数不能都用有限的二进制小数精确表示,这时可根据精度要求取有限位二进制小数近似表示。

例1.1将十进制数135.8125转换为二进制数。

(135)10=(10000111)2,(0.8125)10=(0.1101)2

余数低位整数高位

2|135--------------10.8125

2|67--------------1×2

2|33--------------11.6250-------------1

2|16--------------0×2

2|8--------------01.250-------------1

2|4--------------0×2

2|2--------------00.50-------------0

1--------------1高位×2

1.0-------------1低位

所以,(135.8125)10=(10000111.1101)2

3)二进制、八进制和十六进制间的互换

八进制、十六进制属于2k进制数(k=3、k=4),它们和二进制数之间相互转换关系是:

3位二进制数对应1位八进制数,4位二进制数对应1位十六进制数。

二进制数转换为八进制、十六进制数时,以二进制数的小数点分界,分别进行分组处理,不足的位用0补足,整数部分在高位补0,小数部分在低位补0。

例1.2将二进制数10000111.1101分别转换为八进制数和十六进制数。

(10000111.1101)2=(010000111.110100)2=(207.64)8

(10000111.1101)2=(10000111.1101)2=(87.D)16

1.4.2数的表示与运算

计算机中的数据分为数值数据和非数值数据两大类。

对于数值数据来说,有大小正负之分,需要表示数的正、负符号。

在计算机中通常用数的最高位表示符号位,0表示正数符号,1表示负数符号,这就是计算机中带符号数值数据的表示形式。

若不考虑符号,全部数位都表示数值大小,则是计算机中的无符号数值数据的表示形式。

计算机中的数据称为机器数,它所代表的真正的数值称为机器数的真值。

带符号的机器数可以有不同的表示方法,常用的有原码、反码和补码表示。

1.原码、反码和补码表示

1)原码

顾名思义,原码就是机器数原来的编码,即最高位0表示正数符号,1表示负数符号的机器数表示。

例如,当机器字长为8位时,X=+99=+1100011,其原码[X]原=01100011;

X=-99=-1100011,其原码[X]原=11100011。

数值0有+0和-0之分,0的原码也有两种形式:

[+0]原=00000000;[-0]原=10000000。

字长为n位的原码的表数范围的绝对值小于符号位的位权。

字长n=8时,整数符号位的位权为27=128,小数符号位的位权为20=1。

所以,

8位原码表示的整数的范围为:

11111111~01111111,即-127~+127;

8位原码表示的小数的范围为:

1.1111111~0.1111111,即-(1-2-7)~+(1-2-7)。

原码的优点是原码和真值之间的关系简单、直观。

但原码进行加减运算时,规则就非常复杂,需先判断是参加运算的数是同号还是异号,才能确定是进行加运算还是减运算,且结果的符号确定也较复杂。

在计算机中,采用补码进行加减运算就可以避免这些缺点。

2)反码

正数的反码和原码相同;负数的反码和原码相比,符号位保持不变,数值位按位取反。

例如,当机器字长为8位时,X=+99=+1100011,其反码[X]反=01100011;

X=-99=-1100011,其反码[X]反=10011100。

0的反码也有两种形式:

[+0]反=00000000;[-0]反=11111111。

字长为n位的反码的表数范围和其原码相同,即:

8位反码表示的整数的范围为:

11111111~01111111,即-127~+127;

8位反码表示的小数的范围为:

1.1111111~0.1111111,即-(1-2-7)~+(1-2-7)。

3)补码

正数的补码和原码相同;负数的补码和原码相比,符号位保持不变,数值位按位取反,再在最低位加1,即反码再末位加1。

例如,当机器字长为8位时,X=+99=+1100011,其补码[X]补=01100011;

X=-99=-1100011,其补码[X]补=10011101。

0的补码是唯一的,[+0]补=00000000,[-0]补=[-0]反+1=11111111+1=00000000=[+0]补。

正是由于0的补码只有一种形式,那么在和原码对应的补码二进制状态中,必然剩余一个状态10000000没有使用,所以补码的表数范围有所不同。

字长为n位的补码的表数范围的绝对值不超过符号位的位权。

字长n=8时,整数符号位的位权为27=128,小数符号位的位权为20=1。

所以,

8位补码表示的整数的范围为:

-128~+127;

8位补码表示的小数的范围为:

-1~+(1-2-7)。

2.补码的加减运算

补码的运算规则非常简单,在进行补码加减运算时,符号位和数值位一起参加运算,并且可以把减法运算转化为负数补码的加法运算。

补码的加减运算规则如下:

[X+Y]补=[X]补+[Y]补;

[X-Y]补=[X]补+[-Y]补;

[-Y]补=[Y]补各位取反+末位1。

例1.4.3设字长为8位,X=+65,Y=+48,计算[X+Y]补、[X-Y]补。

X=+66=+1000001,[X]补=01000001,Y=+48=+110000,[Y]补=00110000,

[-Y]补=11001111+1=11010000

[X]补01000001[X]补01000001

+[Y]补00110000+[-Y]补11010000

[X+Y]补01110001[X-Y]补100010001

丢失

所以,[X+Y]补=01110001,X+Y=+113

[X-Y]补=00010001,X-Y=+17

补码运算时,若运算结果超出了其表数范围就发生了溢出,造成运算结果错误。

例如,字长n=8时,X=+99,Y=+98,X+Y=+197>+127,肯定发生溢出。

溢出的判定方法很多,由于溢出只可能出现在同号相加或异号相减运算时,且采用补码减法可转变为加法,最直观、最易于理解的溢出判定方法是:

若正数加正数,结果为负数或负数加负数,结果为正数,则发生溢出。

例如:

[X]补=01100011(正数),[Y]补=01100010(正数),

[X+Y]补=01100011+01100010=11000101(负数)。

2个正数相加的结果为负数,显然结果是错误的,表明发生了溢出。

3.定点数与浮点数表示

对于数值数据除了需要表示符

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1