第一章 概述.docx
《第一章 概述.docx》由会员分享,可在线阅读,更多相关《第一章 概述.docx(18页珍藏版)》请在冰点文库上搜索。
第一章概述
第一章微型计算机概论
内容提要:
1.微型计算机的基本概念:
微处理器、微型计算机、微型计算机系统关系
2.微处理器的发展、分类
3.微型计算机系统的总线结构
4.微型计算机的运算基础(补充)
学习目标:
1.了解微处理器的发展、分类;
2.掌握微处理器的典型结构;
3.了解微机系统的总线结构;
4.掌握微型计算机的运算的基本知识。
学时:
2
1.1微型计算机的介绍
计算机的组成:
运算器、控制器、存储器、输入设备、输出设备。
中央处理器(CPU):
运算器和控制器,集成到一块芯片上——微处理器(微处理机)。
外围设备:
存储器(内存储器、外存储器)、输入设备、输出设备。
1.微型计算机系统
首先介绍三个定义:
(1)微处理器:
一片或几片大规模集成电路组成的中央处理器;
(2)微型计算机:
微处理器+内存储器+I/O接口+辅助电路——裸机——集成到一个芯片上称为单片机;
(3)微型计算机系统:
裸机+相应的外围设备+专用电路、电源、面板等+软件(操作系统软件+应用软件)。
其中微处理器是最底层、也是微型计算机系统的核心,下面介绍一下微处理器发展情况。
2.微处理器的发展
从第一片微处理诞生到现在的30多年里,微处理器和微型计算机获得了极快的发展,几乎每两年微处理器的集成度翻一番,每24年更新换代一次,现已进入第五代。
◆第一代——4位或低档8位微处理器
第一代微处理器的典型产品是Intel公司1971年研制成功的4004(4位CPU)及1972年推出的低档8位CPU8008。
采用PMOS工艺,集成度约为2000只晶体管/片。
指令系统比较简单,运算能力差,速度慢(平均指令执行时间为1020s)。
软件主要使用机器语言及简单的汇编语言编写。
◆第二代——中高档8位微处理器
微处理器问世以后,众多公司纷纷研制微处理器,逐渐形成以Intel公司、Motorola公司、Zilog公司产品为代表的三大系列微处理器。
第二代微处理器的典型产品有1973年的Intel公司生产的8080CPU,1974年的Motorola公司生产的MC6800CPU,1975-1976年Zilog公司生产的Z80CPU、以及Intel公司1976年推出的8085CPU。
它们均为8位微处理器,具有16位地址总线。
第二代微处理器采用NMOS工艺,集成度为9000只晶体管/片,指令的平均执行时间为12s。
指令系统相对比较完善,已具有典型的计算机体系结构以及中断、存储器直接存取(DMA)功能。
由第二代微处理器构成的微机系统(如Apple—II等)已经配有单用户操作系统(如CP/M),并可使用汇编语言及BASIC、FORTRAN等高级语言编写程序。
◆第三代——16位微处理器
第三代微处理器的典型产品是1978年Intel公司生产的8086CPU、1979年Zilog公司的Z8000CPU和Motorola公司的MC68000CPU。
它们均为16位微处理器,具有20位地址总线。
用这些芯片组成的微型计算机有丰富的指令系统、多级中断系统、多处理机系统、段式存储器管理以及硬件乘除法器等。
为方便原8位机用户,Intel公司在8086推出后不久便很快推出准16位的8088CPU,其指令系统与8086完全兼容,CPU内部结构仍为16位,但外部数据总线是8位的。
并以8088为CPU组成了IBMPC、PC/XT等准16位微型计算机,由于其性能价格比高,很快占领了市场。
1982年,Intel公司在8086基础上研制出性能更优越的16位微处理器芯片80286。
它具有24位地址总线,并具有多任务系统所必须的任务切换功能、存储器管理功能以及各种保护功能。
以80286为CPU组成IBMPC/AT高档16位微型计算机。
◆第四代——32位高档微处理器
1985年,Intel公司推出了32位微处理器芯片80386,其地址总线也为32位。
80386有两种结构:
80386SX和80386DX。
这两者的关系类似于8088和8086的关系。
80386SX内部结构位32位,外部数据总线为16位,采用80287作为协处理器,指令系统与80286兼容。
80386DX内部结构、外部数据总线皆为32位,采用80387作为协处理器。
1990年,Intel公司在80386基础上研制出新一代32位微处理器芯片80486,其地址总线仍然为32位。
它相当于把80386、80387及8KB高速缓冲存储器(Cache)集成在一块芯片上,性能比80386有较大提高。
◆第五代——64位高档微处理器
第五代微处理器的典型产品是1993年Intel公司推出的Pentium(奔腾,Intel586)以及IBM、Apple和Motorola三家公司联合生产的PowerPC。
Pentium微处理器数据总线为64位,地址总线为36位,有两条超标量流水线,两个并行执行单元及双高速缓冲存储器,工作频率有50MHz、66MHz、133MHz、和166MHz等。
PowerPC是一种精简指令集计算机RISC(ReducedInstructionSetComputer),也是一种性能优异的64位微处理器,其中也采用了先进的超标量流水线技术及双高速缓冲存储器。
精简指令集计算机的特点是指令规整,从而使指令译码电路简单,译码速度快;指令系统中只设置了使用频率较高的指令,因而指令条数少,指挥指令执行的控制逻辑电路简单,执行速度快。
与精简指令集计算机对应的是复杂指令集计算机CISC(ComplexInstructionSetComputer),Intel公司的Pentium微处理器及其以前的微处理器产品都属于CISC。
3.微型计算机的分类
1.1.
按组装形式和系统规模来划分微型计算机系统有这样三类:
单片机、单板机、和个人计算机。
1.2微型计算机的总线结构
前面介绍了微处理器、微型计算机、微型计算机系统,它们都采用总线结构框架连接各个组成部件而构成一个整体。
1.微处理器的典型结构
典型的微处理器的结构见教材P5的图1-1所示。
主要由三个部分组成:
(1)运算器——ALU
(2)控制器——指令寄存器、指令译码器以及定时与控制电路
(3)寄存器阵列——通用和专用寄存器
这三部分之间的信息交换是通过总线来实现。
2.总线构成的微机系统
总线:
是指连接多于两个部件的公共信息通路,或者说是多个部件之间的公共连线。
按照总线上传送信息内容分为:
Ø数据总线DB:
数据总线是CPU用来传送数据信息的信号线(双向、三态)。
数据总线是双向三态总线。
双向:
即数据既可以从CPU送到其它部件,也可以从其它部件传送给CPU,数据总线的位数和处理器的位数相对应。
三态:
指除了输出高、低电平状态外,还可以处于高阻抗状态(浮空状态)。
Ø控制总线CB:
控制总线是用来传送控制信号,确定数据信息的流向的一组总线。
这组信号线比较复杂,由它来实现CPU对外部功能部件(包括存储器和I/O接口)的控制及接收外部传送给CPU的状态信号,不同的微处理器采用不同的控制信号。
Ø地址总线AB:
地址总线是微型计算机用来传送地址信息的信号线。
地址总线的位数决定了CPU可以直接寻址的内存空间的大小。
因为地址总是从CPU发出的,所以地址总线是单向的、三态总线。
单向指信息只能沿一个方向传送。
用这三类系统构成的微机系统如下:
按连接的部件总线分为:
片总线——元件级,内总线——系统总线、微机总线、板极总线,外总线——通信总线。
用这三类总线构成的微机系统如下(教材P6图1-3):
有关总线的知识在后面的章节中将作详细的介绍。
1.3微型计算机的运算基础(补充)
一.数与数制
任何一种数制表示的数都可以写成按位权展开的多项式之和:
N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m
式中:
n——整数的总位数。
m——小数的总位数。
d下标——表示该位的数码。
b——表示进位制的基数。
b上标——表示该位的位权。
1.十进制记数法
在十进制记数中,用0,1,2,…,9这10个符号来表示数量,无论多大的数,都是用这10个符号的组合来表示的。
例:
十进制数3758可用上面的法则来表示:
(3758)10=3×103+7×102+5×101+8×100
根据同样的法则,也可以表示十进制小数,小数点的右边各位的权为10-1,10-2,10-3,…。
例:
十进制数275.368可以用上述法则写成:
(275.368)10=2×102+7×101+5×100+3×10-1+6×10-2+8×10-3
2.二进制记数法
二进制记数法用来表示数量的符号只有两个,就是0和1。
二进制数中的任何一个0或1称为比特(bit)。
例:
二进制数110101可以表示为
(110101)2=1×25+1×24+0×23+1×22+0×21+1×20
3.二进制数与十进制数的相互转换
(1)二进制数转换成十进制数
如上所述,只要将二进制数的每一位乘上它的权然后加起来就可以求得二进制数的十进制数值。
例如,二进制数101101.11换算成十进制数为
(101101.11)2=1×25+0×24+1×23+1×22+0×21+1×20+1×2-1+1×2-2=(45.75)10
(2)十进制数转换成二进制数
十进制数转换为二进制数的方法分两步进行。
例:
欲将十进制数175转换为二进制数,其过程如下:
175÷2=87余数为1
87÷2=431
43÷2=211
21÷2=101
10÷2=50
5÷2=21
2÷2=10
1÷2=01
得到结果:
(175)10=(10101111)2。
例:
将十进制小数0.71875转换成二进制小数,其过程如下:
0.71875×2=1.4375整数部分1
0.4375×2=0.8750
0.875×2=1.751
0.75×2=1.51
0.5×2=1.01
于是,得到结果为:
(0.71875)10=(0.10111)2。
综上所述,一个十进制整数的二进制转换方法就是“除2取余”;而一个十进制小数的二进制转换方法就是“乘2取整”。
若一个十进制数既包含整数部分又包含小数部分,它的二进制转换就是将它的整数部分和小数部分用上述方法分别进行转换,最后将转换好的两部分结合在一起形成要转换的二进制数,例如,(175.71875)10=(10101111.10111)2
4.八进制记数法
例:
八进制数372.01,根据各位的权不同可以写成:
(372.01)8=3×82+7×81+2×80+0×8-1+1×8-2
将上式中各位与其权相乘而后加到一起,就可以得到八进制数372.01的十进制数为
(372.01)8=(250.015625)10
(1)上述过程也表明了八进制数转换为十进制数的过程。
(2)
十进制数转换为八进制数的方法是:
对于十进制整数采用“除8取余”的方法转换为八进制整数;对于十进制小数则采用“乘8取整”的方法转换为八进制小数。
例如,将十进制数194.46875转换成八进制数时,应将整数部分和小数部分分别转换,最后再合到一起就得到要转换的八进制数:
194÷8=24余数为20.46875×8=3.75整数部分3
24÷8=300.75×8=6.06
3÷8=03
所以:
(194.46875)10=(302.36)8
(3)
二进制数转换成八进制数的方法:
就是从小数点起,把二进制数每三位分成一组,然后写出每一组的等值八进制数,顺序排列起来就得到所要求的八进制数。
例如,将二进制数11101111010.1011转换为八进制数:
(011101111010.101100)2
(3572.54)8
依据同样的思想,即一位八进制数用三位二进制数表示,就可以直接将八进制数转换成二进制数。
例如,将八进制数712.46转换为二进制数,其过程如下:
(712.46)8
(111001010.100110)2
5.十六进制记数法
例:
十六进制数E5D7.A3可以表示为
(E5D7.A3)16=E×163+5×162+D×161+7×160+A×16-1+3×16-2
(1)十进制转换成16进制
整数部分:
47632÷16=2977余数0→16进制数0
2977÷16=1861→1
186÷16=1110→A
11÷16=011→B
小数部分:
0.78125×16=12.5整数12→C
0.5×16=8.08→8
最后得到(47632.78125)10=(BA10.C8)16。
(2)十六
进制数与二进制数之间的转换方法:
由于一位十六进制数可以用四位二进制数来表示,因此二进制数与十六进制数的相互转换就比较容易。
二进制数到十六进制数的转换是由小数点开始,每四位二进制数为一组,将每一组用相应的一位十六进制数来表示,即可得到正确的十六进制数,例如:
(11101010010110111.010111101010)2
(1D4B7.5EA)16
二.十进制数与字符的编码表示
1BCD码
转换十进制数为其等值的二进制数称之为编码。
前面所提到的二进制数称为纯二进制码。
微处理器只能识别用高低电平表示的0或1。
根据上述说明,一个十进制数,能够很方便地用BCD码来表示。
例如,十进制数834用BCD码表示为
(834)10=(100000110100)BCD
只要熟记十进制数0~9与BCD码的对应关系,则它们之间的相互转换是十分方便的。
例:
(011010010101.001001111001)BCD=(695.279)10
2ASCII码
ASCII码是美国标准信息交换码的简称,现在为各国所广泛采用。
通常,ASCII码由7位二进制编码来表示,用于微处理机与它的外部设备之间进行数据交换以及通过无线或有线进行数据传送。
代表上述字符或控制功能的ASCII码是由一个4位组和一个3位组构成的,形成7位二进制编码,其格式为
根据ASCII码的构成格式,可以很方便地从ASCII表查出每一个字符或特殊控制功能的编码。
例如,大写英文字母A,从表中查出其3位组为(100)2,4位组为(0001)2,故构成字母A的ASCII编码为(1000001)2或(41)16。
三.二进制算术运算
1二进制加法
二进制加法与十进制加法相类似,所不同的是,二进制加法中是“逢二进一”,其法则为:
0+0=0
1+0=1
0+1=1
1+1=0并进位
例:
两个二进制数相加:
10110101
+10001110
101000011
2二进制减法
在二进制减法中,同样有如下法则:
0-0=0
1-0=1
1-1=0
0-1=1有借位
当不够减时需要借位,高位的1等于下一位的2,即“借一当二”。
例如,两个二进制数相减:
10110100
-01010111
01011101
3二进制乘法
二进制乘法与十进制乘法是一样的。
但因为二进制数只由0和1构成,因此,二进制乘法更简单。
其法则如下:
0×0=0
1×0=0
0×1=0
1×1=1
例:
二进制数1101.1与101.1相乘:
1101.1被乘数(13.5)10
×101.1乘数(5.5)10
11011
11011
00000
+11011
1001010.01乘积(74.25)10
再看下面的例子:
(1011)2×(1101)2。
1011被乘数(11)10
×1101乘数(13)10
1011
0000
1011
+1011
10001111乘积(143)10
4二进制除法
二进制除法是乘法的逆运算,其方法与十进制除法是一样的,而且二进制数仅由0,1构成,做起来更简单。
例如,求二进制数100111除以110的商的方法如下:
110.1
110100111
110
111
110
110
110
0
四.符号数的表示及其运算
1符号数的表示方法
表示一个带符号的二进制数有3种方法。
(1)原码法
例:
8位二进制符号数(+45)10和(-45)10,可以如下写出:
(+45)10=(00101101)2
符号位数值
(-45)10=(10101101)2
符号位数值
(2)反码法
在计算机的早期,曾采用反码法来表示带符号的数。
对于正数,其反码与其原码相同。
例:
(+45)10=(00101101)2
也就是说正数用符号位与数值凑到一起来表示。
对于负数,用相应正数的原码各位取反来表示,包括将符号位取反,取反的含义就是将0变为1,将1变为0。
例:
(-45)10的反码表示就是将上面(+45)10的二进制数各位取反:
(-45)10=(11010010)2
同样,可以写出如下几个数的反码表示,以便对照:
(+4)10=(00000100)2
(-4)10=(11111011)2
(+7)10=(00000111)2
(-7)10=(11111000)2
(+122)10=(01111010)2
(-122)10=(10000101)2
(3)补码法
在微处理机中,符号数是用补码(对2的补码)来表示的。
用补码法表示带符号数的法则是:
正数的表示方法与原码法和反码法一样;负数的表示方法为该负数的反码表示加1。
例如,(+4)10的补码表示为(00000100)2,而(-4)10用补码表示时,可先求其反码表示(11111011)2,而后再在其最低位加1,变为(11111100)2。
这就是(-4)10的补码表示,即
(-4)10=(11111100)2。
同样,我们把前面提到的几个数的补码表示列在下面供参考:
(+7)10=(00000111)2
(-7)10=(11111001)2
(+122)10=(01111010)2
(-122)10=(10000110)2
2.补码的运算
例如,有两个二进制数10000100和00001110,当规定它们是不带符号的数时,则它们分别表示(132)10和(14)10。
将这两个二进制数相加:
10000100
+00001110
10010010
在微处理器中,一般都不设置专门的减法电路。
遇到两个数相减时,处理器就自动地将减数取补,而后将被减数和减数的补码相加来完成减法运算。
例:
两个带符号的数(01000001)2(十进制数+65)与(01000011)2(十进制数+67)相加:
01000001
+01000011
10000100
再来看两个负数(10001000)2和(11101110)2的相加情况。
10001000
+11101110
101110110
此外,在微处理机中还会遇到不带符号数的运算。
例:
两个无符号数(11111101)2和(00000011)2相加:
11111101
+00000011
100000000
3.数的定点表示和浮点表示
(1).数的定点表示法
当小数点固定在最高有效位的前面时,定点数为纯小数,其格式为:
(2)数的浮点表示法
在十进制中,一个数可以写成多种表示形式。
例:
83.125可写成102×0.83125,103×0.083125,104×0.0083125等。
同样,一个二进制数,也可以写成多种表示形式。
例:
二进制数1011.10101可以写成24×0.101110101,25×0.0101110101,26×0.00101110101等。
可以看出,一个二进制数能够用一种普遍的形式来表示:
2E×F
其中E称为阶码,F叫做尾数。
我们把用阶码和尾数表示的数叫做浮点数,这种表示数的方法称为浮点表示法。
在浮点表示法中,阶码通常为带符号的整数,尾数为带符号的纯小数。
浮点数的表示格式如下:
很明显,浮点数的表示不是唯一的。
当小数点的位置改变时,阶码也随着相应改变,可以用多种形式来表示同一数。
可见,若浮点数的表示格式为:
则可以看到,用这种编码所能表示的数的数值范围为
前面的二进制数1011.10101可用包括符号在内的8位阶码,16位尾数的规格化形式表示如下:
本章小结
本章从微型计算机的基本概念、发展、分类作了相应的概述。
通过本章的学习,要了解微型计算机的发展历史,关注当前微型计算机的发展动向,尤其是微处理器芯片的更新换代。
要掌握微型计算机的分类方式,熟悉微型计算机系统组成,理解微型计算机硬件和软件各主要模块的功能和在系统中所处的地位。
介绍了微型计算机运算的基本知识,为后续内容的学习打下一个良好的基础。