《微型计算机原理与接口技术》教案.docx
- 文档编号:11410304
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:236
- 大小:222.73KB
《微型计算机原理与接口技术》教案.docx
《《微型计算机原理与接口技术》教案.docx》由会员分享,可在线阅读,更多相关《《微型计算机原理与接口技术》教案.docx(236页珍藏版)》请在冰豆网上搜索。
《微型计算机原理与接口技术》教案
第1章基础知识
1.1概述
1946年,世界上第一台计算机ENIAC在美国问世以来,计算机技术的发展日新月异,在五十多年的历史中,先后经历了电子管计算机、晶体管计算机、集成电路计算机,到大规模、超大规模集成电路计算机这样四代的更替。
目前已有了第五代“非冯·诺依曼”计算机和第六代“神经”计算机的研制计划。
所谓“非冯·诺依曼”计算机,是将现有的计算机系统结构进行改革,把电脑仿真为人脑的结构。
每个人的脑体只有900克左右,但它能存储和处理及其大量的信息,并具有分析和综合的能力,这就是人的智能。
计算机研究有一个分支,叫人工智能,就是所谓第五代的人工智能计算机。
生物大脑神经网络可看成一个大规模并行处理的、紧密耦合的、能自行重组的计算机网络。
神经网络使人能有效地组织和处理信息,对神经网络研究,并从大脑工作的模型中抽取计算机设计的模型,这就是所谓第六代的神经网络计算机。
计算机按其性能、价格、体积、规模不同可分为巨型机、大型机、中型机、小型机、微型机和单片机六类。
其中微型计算机诞生于20世纪70年代。
由于其体积小、价格低,在各行各业的得到了广泛的应用。
微型计算机的发展历史是和大规模集成电路的发展密不可分的。
1963年、1964年研制出了小规模集成电路SSI(SmallScaleIntegration)。
到60年代后期,在一个几平方毫米大的硅片上,已可集成数千个晶体管,这就出现了大规模集成电路LSI(LargeScaleIntegration),为微型计算机的核心部件微处理器的生产打下了基础。
现代最新型的集成电路已可在单个芯片上集成上千万个晶体管,线宽小于0.13μm,工作频率已超过2GHz。
到目前为止,微型计算机的核心部件微处理器(说明)的发展过程大致可分为六代(参见P.4表1-1):
1.第一代4位或低档8位微处理器(说明“位”的概念)
其发展大约从1971年到1973年。
1971年美国Intel公司研制成功世界上第一个微处理器Intel4004,并于次年推出低档8位微处理器Intel8008。
第一代微处理器指令系统较简单,运算能力较弱,速度也较慢,执行一条指令需10~20μS,即0.05MIPS(millioninstructionpersecond),软件主要用机器语言(说明)和汇编语言(说明),它主要用于计算器及各种家用电器上。
2.第二代高档8位微处理器
1973年至1978年,各公司相继推出了第二代高档8位微处理器。
1973年,美国Intel公司率先推出了Intel8080,这是一个划时代的产品,它是第一个真正实用于微型计算机的微处理器。
它的存储器寻址空间(说明)增加到64K字节,并扩充了指令集,指令执行速度达0.5MIPS。
软件方面,除使用汇编语言外,还可使用BASIC、FORTRAN等高级语言,后期产品,如以8085A、Z80及MC6502等CPU为核心的具有磁盘和各种外设的微型计算机,还可用简单的操作系统,如CP/M(ControlProgram/Monitor)。
这个时期推出的微处理器除Intel公司的产品(8080、8085)外,还有Zilog公司的Z80及Motorola公司的M6800等。
3.第三代16位微处理器
1977年前后,超大规模集成电路(VLSI)研制成功,在一块芯片上可集成上万个晶体管,为研制16位微机创造了条件。
1978年,Intel公司率先推出8086,为与原8位机兼容,又同时推出了准16位的微处理器8088。
它的内部结构是16位,但外部数据总线是8位,其指令系统与8086完全兼容。
以8088芯片为核心的IBMPC及PC/XT等准16位微型计算机很快占领了市场。
在此同时,Zilog及Motorola公司也相继推出了同一级别的产品Z8000及MC68000等。
16位微处理器比8位微处理器集成度提高了一个数量级,功能大大增强。
主要表现在以下各个方面:
△数据总线的位数由8位增加到16位,大幅度提高数据处理能力(举例说明)。
△地址总线由16位增加到20位,扩大了寻址范围。
△时钟频率达5~40MHz,基本指令执行时间约0.15μS。
系统运算速度大大提高,同时内部结构也作了改进。
采用“流水线”结构(简单说明),处理速度明显加快。
另外内部通用寄存器增多,减少对存储器访问(说明),且大多数通用寄存器都可作累加器使用。
△扩充了指令系统,指令功能大大加强,寻址方式(说明)也较为丰富。
由于指令系统指令数量多,复杂程度高,故这类计算机称为复杂指令系统计算机CISC(ComplexInstructionSetComputer).
△可处理多种数据类型。
如二进制位、压缩BCD码、非压缩BCD码、字节、字、双字、字串等(说明)。
△中断(说明)功能增强。
△具有构成多微处理器系统能力。
△配有较强的系统软件。
1982年,Intel公司又推出16位高级微处理器80286,它具有多任务系统所必需的任
务转换功能。
同年Motorola公司也推出了同类型的MC68010。
这两种微处理器的数据总线虽仍是16位的,但地址总线增加到24位,使存储器直接寻址能力达到16MB,在20世纪80年代中、后期及90年代初期,80286成为个人计算机的主流CPU。
4.第四代32位高档微处理器
1985年,Intel公司推出第四代微处理器80386,它是一种与8086向上兼容的超级微处理器,具有32位数据线,32位地址线,存储器直接寻址能力达4GB,其执行速度达3~4MIPS。
同时推出的还有Motorola公司的MC68020等产品。
32位微处理器无论从结构、功能、应用范围等各个方面看,可以说是小型机的微型化,已接近同时期小型机的水平。
随着大规模集成电路工艺水平的进一步提高,1989年,Intel公司又推出了性能更高的32位微处理器80486,它在芯片上集成120万个晶体管,是80386的4倍。
80486时在微处理器80386的基础上集成数字协处理器80387及8KB容量的高速缓冲存储器而构成的。
它采用了RISC(ReductionInstructionSetComputer精简指令系统计算机)技术,与RAM进行高速数据交换的突发总线等先进技术。
这些新技术的采用,使80486在同等时钟频率下,处理速度要比80386快2到4倍。
同期推出的产品还有Motorola公司的MC68030及其后继产品MC68040等。
5.第五代32位高档微处理器
1993年,Intel公司又推出了新的32位微处理器Pentium(奔腾),它集成了330万个晶体管,数据线64位,地址线36位,工作频率为60/66MHz,处理速度达110MIPS。
1994年又推出了第二代Pentium(以P54C代称),工艺更先进,工作频率达90/100MHz。
在体系结构上,Pentium在内核中采用更先进的RISC技术,它汇集了CISC和RISC技术的优点。
同时采用超标量结构,拥有两条“流水线”,使之每个时钟周期内最多可执行两条指令。
同时内置高性能的浮点运算部件及两个8K字节的超高速的缓冲存储器,使整个微处理器的性能大大提高。
同时推出第五代微处理器的还有IBM、Apple和Motorola三家联盟的PowerPC及AMD公司的K5等产品。
6.第六代Pentium微处理器
1996年,Intel公司推出了PentiumPro,该微处理器采用了0.35μm的工艺,时钟频率为200MHz,运算速度达200MIPS。
1998年到2001年,Intel公司又先后推出了PentiumPro的改进型产品PentiumⅡ和PentiumⅢ。
CPU的集成度已高达1千万个晶体管,时钟频率达1GHz以上,其他公司类似产品还有AMD公司的K7等产品。
近年来,市场上已推出PentiumⅣ系列,其CPU集成度已达2千5百万个晶体管,工作频率达到2GHz。
1.2计算机中的数制
日常生活中,人们惯于用十进制来计数,但计算机只能识别由“0”和“1”构成的二进制代码(说明为什么),而用二进制表示的数又显得冗长,为阅读和书写方便,往往采用十六进制数。
为此,首先要掌握这三种数制及其之间的转换关系。
1.2.1常用计数制
1.十进制数
1)十进制数中有0~9共十个数字符号。
2)逢10进1(10为基数)。
3)各位数的“权”为10i。
例:
(3256.87)10=3×103+2×102+5×101+6×100+8×10-1+7×10-2=3256.87
即:
(D)10=Dn-1×10n-1+Dn-2×10n-2+…+D1×101+D0×100+D-1×10-1+…+D-m×10-m
=
式中n表示小数点左边的位数(自0开始),m表示小数点右边的位数(自1开始)。
2.二进制数
1)二进制数中只有0、1两个数字符号。
2)逢2进1(2为基数)。
3)各位数的“权”为2i。
例:
(1010.11)2=1×23+0×22+1×21+0×20+1×2-1+1×2-2=10.75
即:
(B)2=Bn-1×2n-1+Bn-2×2n-2+…+B1×21+B0×20+B-1×2-1+…+B-m×2-m
=
3.十六进制数
1)十六进制数共有十六个数字符号0~9及A~F。
2)逢16进1。
3)各位数的“权”为16i.
例:
(2AE.4)16=2×162+10×161+14×160+4×16-1=586.25
即:
(H)10=Hn-1×16n-1+Hn-2×16n-2+…+H1×161+H0×160+H-1×16-1+…+H-m×16-m
=
4.其他进制数(略)
需要指出的是,除了用基数作下标来表示数的进制外,还可再数的后面加上字母B(Binary)、H(Hexadecimal)、D(Decimal)来分别表示二进制数、十六进制数和十进制数,而十进制数后面的D往往可以省略。
1.2.2各种数制之间的转换
由于人们习惯使用十进制数,计算机只能识别二进制数,而人们编程又多采用十六进制数,因此必然会产生不同进位制之间的转换问题。
1.非十进制数转换为十进制数
按“权”展开,例见P7例1-5。
2.十进制数转换为非十进制数
(1)十进制数转换为二进制数
整数部分与小数部分分别转换。
整数部分:
“除2取余”。
小数部分:
“乘2取整”。
例:
将十进制数112.25转换为二进制数。
整数部分:
2112
2560
2280
2140
270
231
211
01
小数部分:
0.25
×2
0.50
0.5
×2
1.01
从而得:
(112.25)10=(1110000.01)2
或写作:
112.25=1110000.01B
(2)十进制数转换为十六进制数
同样整数部分与小数部分分别转换。
整数部分:
“除16取余”。
小数部分:
“乘16取整”。
例:
将十进制数301.6875转换为十六进制数。
整数部分:
16301
1618D
1612
01
小数部分:
0.6875
×16
4.1250
+6.875
11.0000B
从而得到(301.6875)10=(12D.B)16
或写作:
301.6875=12D.BH
需要指出的是,如要将十进制数转换为二进制数,为避免除2次数过多出现差错,往往先将之变为十六进制数,后再变为二进制数,而后者的转换是非常方便的。
3.二进制数与十六进制数之间的转换
(1)二进制数转换为十六进制数
“四位一撇”法:
例:
将二进制数110100110.101101B转换为十六进制数
1,1010,0110.1011,01=1A6.B4H(注意:
首尾要补零)
(2)十六进制数转换为二进制数
“以四代一”法:
例:
将十六进制数2A8F.6DH转换为二进制数
2A8F.6DH=10,1010,1000,1111.0110,1101B
1.3无符号二进制数的算术运算和逻辑运算
1.3.1二进制数的算术运算(略)
1.3.2无符号数的表示范围
1.无符号二进制数的表示范围
8位二进制数的表示范围为OOH~FFH(0~255),16位二进制数的表示范围为0000H~FFFFH(0~65535),一个n位的无符号数,它可表示数的范围为0~2n-1。
如运算结果超出数的表示范围,将产生溢出,结果将出错。
例见P.11例1-13。
2.无符号二进制数的溢出判断
两个无符号数相加(或相减),如最高位有进位(或错位),则产生溢出。
这在计算机运算中很容易以C标志来进行判断(以后展开讲)。
1.3.3二进制数的逻辑运算
逻辑运算包括“与”、“或”、“非”及“异或”四种运算,与算术运算不同的是它对二进制数按位进行操作,因之不存在进位(或借位)问题。
1.“与”运算
“与”运算的规则为“见0为0,见1不变”。
例见P.12例1-14。
2.“或”运算
“或”运算的规则为“见0不变,见1为1,”。
例见P.12例1-15。
3.“非”运算
“非”运算的规则为按位取反。
例见P.12例1-16。
4.“异或”运算
“异或”运算的规则为“同则为0,异则为1”。
例见P.12例1-17。
1.3.4基本逻辑门及常用逻辑部件(略)
1.4带符号二进制数的表示及运算
计算机只能识别“0”和“1”这两个代码,因之,在计算机中,数的正负号也只能由“0”和“1”来表示。
通常规定,一个有符号数的最高位代表符号,该位为0代表正,该位为1代表负。
习惯上把符号数值化了的数,称为机器数,而把其原来的数值称为真值。
1.4.1带符号数的表示方法
在计算机中,带符号的数有三种表示方法,即原码、补码和反码。
不管是哪一种表示方法,其最高位均为符号位,用“0”表示正数,用“1”表示负数。
下面以8位二进制数位例加以说明。
1.原码
一个带符号数的原码记作[X]原。
在原码表示法中,数值部分为该数的绝对值,以符号位表示该数的正负。
例见P.16例1-19。
需要指出的是在原码表示法中,0的原码有两种不同的表示形式,即+0和-0。
[+0]原=00000000
[-0]原=10000000
原码表示法的优点是简单,易于理解。
它的缺点是不便于运算(举例说明)。
2.反码
一个带符号数的反码记作[X]反。
在反码表示法中,对于正数,数值部分即为该数的原值;而对于负数,其数值部分为该数的绝对值各位取反。
同样,以符号位表示该数的正负。
例见P.17例1-20。
在反码表示法中,0的反码也有两种表示形式:
[+0]反=00000000
[-0]反=11111111
由上可知,由于在原码和反码表示法中,数值0的表示法不是唯一的,必然对运算带来不利(缺乏唯一性)。
为此,引入补码的概念。
3.补码
一个带符号数的补码记作[X]补。
在补码表示法中,对于正数,其数值部分仍为该数的原值;对于负数,其数值部分为该数的绝对值各位取反再加1。
也仍以符号位表示该数的正负。
(即[X]补=[X]反+1)。
例见P.18例1-21。
特别需要指出的是,与原码和反码不同,在补码表示法中,0的表示法是唯一的。
[+0]补=[+0]原=[+0]反=00000000
[-0]补=[-0]反+1=11111111+1=00000000
∴[+0]补=[-0]补=00000000
另需指出的是,对于机器数,10000000在补码表示法中定义为-128(同样,对于16位的机器数1000000000000000,在补码表示法中定义为-32768)。
1.4.2真值与补码之间的转换
要把一个用补码表示的二进制数转换为带符号的二进制数,可分两种情况来处理。
如该数为正数,则除符号位外,其余7位即是此数的二进制数值,转换很为简单。
例:
已知[X]补=00101110,求X的真值。
解:
X=00101110=+46
如该数为负数,则可将该数补码数值部分再求一次补,即可得到该数绝对值。
例:
已知[X]补=11010010,求X的真值。
=
+1=00101110
∴X=-46
为什么要引进补码的概念呢?
这是因为引进补码后,在计算机运算时,可将减法运算演变为加法运算。
例:
求Y=99-58=99+(-58)=41
[99]补=01100011
[-58]补=1100011000111010(58的二进制代码)
求反:
11000101
求补:
11000110
01100011
+11000110
100101001即为[41]
由于计算机中求反很易实现,故上述运算过程在计算机上较简单。
而众所周知,对于二进制数的算术运算,乘法运算可转换为左移和加法运算,而除法运算可转换为右移和减法运算。
由此得到,在计算机中,加、减、乘、除,均可由加法和移位两种操作得以实现,这就是引入补码的最终目的!
1.4.3补码的运算
补码运算具有如下规律:
1)[X+Y]补=[X]补+[Y]补
2)[X-Y]补=[X]补-[Y]补
3)[X-Y]补=[X]补+[-Y]补
这里[-Y]补称为对补码数[Y]补的变补。
变补规则为对[Y]补的各位(包括字符位)按位取反加1,结果即为[-Y]补(当然也可直接对-Y求补码,结果相同)。
例见P.19例1-24及例1-25。
需要强调的是上述三个公式的成立是有条件的。
其条件是:
式中X、Y、-Y、X+Y及X-Y都必须在补码的表示范围内,倘若超出补码的表示范围,等式便不再成立,详见下节。
1.4.4带符号数运算时的溢出问题
1.带符号数的表示范围
(1)8位二进制数,原码、反码和补码的表示范围
△原码11111111~01111111(-127~+127)
△反码10000000~01111111(-127~+127)
△补码10000000~01111111(-128~+127)(数的状态和数的个数对应)
当运算结果超出上述范围时就会产生溢出。
(2)16位二进制数,原码、反码和补码的表示范围
△原码FFFFH~7FFFH(-32767~+32767)
△反码8000H~7FFFH(-32767~+32767)
△补码8000H~7FFFH(-32768~+32767)
同样,当运算结果超出上述范围时就会产生溢出。
2.带符号数运算时的溢出判断
带符号数运算时的溢出判断的规则是:
在运算中,当最高位和次高位同有进位或同无进位,则无溢出。
如两者一个有进位,一个无进位,则有溢出。
例见P.21例1-26、例1-27及P22例1-28、1-29。
1.5二进制编码
计算机除处理数值领域的问题外,还被大量用于处理非数值领域的问题,这要求计算机能识别文字、字符和各种符号(例见P.22)。
而所有字符符号及十进制数都必须转换为二进制代码才能为计算机所识别。
1.二进制编码的十进制数(BCD码数)
用二进制编码来表示十进制简称BCD码(BinaryCodedDecimal)。
BCD码的编码方式有多种,最常用的是8421码。
(1)8421码
BCD码与二进制码的对应关系如P.23表1-9所示。
其特点为:
①用4位二进制数表示1位十进制数。
②BCD码是十进制数,逢10进1。
(2)BCD码与十进制数、二进制数的转换。
十进制数用BCD码表示十分简单,只要对十进制数每位按表1-9进行转换即可。
例见P.23例1-30。
显而易见,如要将BCD码转换为其对应的十进制数也十分简单,只要将每4位二进制代码变成其对应的十进制数即可。
BCD码与二进制数之间的变化要稍麻烦些,一般要以十进制数为桥梁进行转换。
例见P23例1-31及例1-32。
为避免与二进制数混淆,BCD码书写时通常将每位BCD码(4位二进制码)写成一组,中间留一空格,且加下标BCD。
(3)计算机中BCD码的存储方式
在存储单元为8位的情况下,BCD码有两种表示方法。
一种是压缩BCD码表示方法,例10010010表示十进制数92(即一个字节表示2个十进制数),另一种表示方法为非压缩BCD码(也称扩展BCD码),同样是十进制数92,用非压缩BCD码就表示为:
0000100100000010。
2.字符的编码
为能让计算机识别,各种字符也必须用特定的二进制代码编写,目前在计算机中普遍采用的是ASCII码(AmericanStandardCodeforInformationInterchange美国标准信息交换码)。
ASCII字符编码表见附录A,它是用7位二进制代码来表示128个字符和符号。
一般规定一个ASCII码存放在字节的低7位,字节的最高位在通信中常用作奇偶校验位(简单说明什么是奇偶校验)。
1.6常用术语解释
1.6.1数据单位
1.位(bit)、兆位(Mb)、千兆位(Gb)和兆兆位(Tb)
位是计算机处理的最小数据单位,它只有“0”、“1”两种状态。
Bit通常缩写为b。
Mb(Megabit)代表1024×1024位,也即220位。
Gb(Gigabit)代表1024Mb,也即230位。
Tb(Terabit)代表1024Gb,也即240位。
2.字节(byte)、KB、MB、GB和TB
1个字节包含8个二进制位,Byte通常缩写为B。
字节是计算机中存储容量的基本单位。
在计算机中,1K为1024,即210,所以1KB=1024Byte。
以此类推,1MB=1024KB,1GB=1024MB,1TB=1024GB。
3.字(word)
字在不同场合有不同意义。
它是数据总线的宽度。
一个字代表两个字节,在8086系列
的机型中为16位。
1.6.2计算机通信速率单位(略,待到有关章节再讲)
1.6.3兼容性
Δ系统兼容:
若在一个系统上开发的硬件和软件能在另一个系统上成功运行,则称两个系统兼容。
Δ向上兼容:
若兼容性是旧系统到新系统的单向发展,则称为向上兼容(举例说明)。
第2章微型计算机基础
2.1微型计算机基本结构
微型计算机是计算机的一种。
它体积小,重量轻,一般供个人使用。
所以通常称个人计算机(PersonalComputerPC)。
微型计算机由硬件系统和软件系统两大部分组成,称之为微型计算机系统,其组成如P.27图2-1所示(作解释)。
2.2.1微型计算机的概念结构
各种微型计算机从概念结构上来说都由运算器、控制器、存储器和输入输出设备等部分组成。
这些组成部分往往合并和分解为若干个功能模块,分别由不同的部件予以实现。
从大的功能部件来看,微型计算机的硬件主要由CPU、存储器、I/O接口和I/O设备组成,各部分之间通过数据总线(databusDB)、地址总线(addressbusAB)、控制总线(controlbusCB)连接在一起。
DB、AB、CB这三总线通常为系统总线,它是计算机各部件间传送信息的公共通道。
这种总线结构形式的优点是设计简单、灵活性强、易于扩展、便于故障诊断和维修。
故所有微型计算机系统都采用了总线结构形式。
P.28图2-2为微型计算机的结构框图。
1.硬件系统
1)微处理器(或称中央处理单元,CPU)
CPU是微型计算机的核心部件,是整个系统的运算和控制中心。
微机性能、档次不同主要取决于CPU。
各种CPU均有其特定的指令系统。
然而无论哪种CPU,其内部组成总是大同小异的,一般都有运算器、控制器和寄存器三个主要部分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机原理与接口技术 微型计算机 原理 接口 技术 教案