第一章微型计算机概论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章微型计算机概论
第一章微型计算机概论
绪论
一、计算机的应用
举一些实际应用的例子
二、学习方法
微机原理是一门技术基础课。

对于每一位学生来说都是全新的课,它与其它的课不同,许多东西都是前人规定好的,不是推导出来的,所以要求学生
1.必须认真听课,积极思考,主动学习。

2.认真理解和记忆每一个概念及其一些芯片的工作原理。

3.认真做作业,通过做作业巩固和加深对基本概念的理解,培养自己的分析问题和解决问题的能力。

4.多看一些参考书,培养自己的自学能力。

三、参考书
1.戴梅萼:微型计算机技术应用,清华大学出版
2.吴秀清:微型计算机原理与接口技术,中国科技大学
3.扬素行:微型计算机原理及应用,清华大学出版
4.姚燕南:微型计算机技术原理,西安电子科技大学出版
四、课时、作业、成绩
1.课时:64学时:(理论课52学时,实验12学时)
2.作业:每章交一次
3.成绩:作业、考勤、实验30%;其末考试70%
第一章微型计算机概论
本章的难点和重点
掌握好带符号数与不带符号数的补码运算.
1.1微型计算机的发展概况
1.1.1微型计算机的发展及应用概述
到今天为止,电子计算机的发展已经历了由第一代电子管计算机、
第二代晶体管计算机、第三代集成电路计算机到第四代大规模集成电路、超大规模集成电路计算机的四代发展过程。

未来的计算机将是半导体技术、光学技术和电子仿生技术相结合的产物。

由于超导器件、集成光学器件、电子仿生器件和纳米技术的迅速发展,将出现超导计算机、光学计算机、纳米计算机、神经计算机和人工智能计算机等。

新一代计算机将着眼于机器的智能化,使之具有逻辑推理、分析、判断和决策的功能。

目前,已经有了第五代“非冯·诺伊曼”计算机和第六代“神经”计算机的研制计划。

计算机按其性能、价格和体积可分为巨型机、大型机、中型机、小型机和微型机。

微型计算机的特点是:1.集成度高,体积小,重量轻,价格低廉;2.部件标准化,易于组装及维修;3.高可靠性及适应性。

在计算机技术中,一般把计算机的核心部件——运算器和控制器——称为中央处理单元,简称CPU(Central Processing Unit)。

微处理器是利用大规模集成电路技术,把计算机中的运算器和控制器集成在一块硅片上的集成电路(包括多个内部寄存器),通常称为微处理器MPU(MicroProcessor Unit)或MP(Micro Processor)。

它是微型机的核心。

1.1.2微型计算机发展概况
第一代微型计算机(1971~1973)——4位和低档8位微处理器。

第二代微型计算机(1974~1977年)——中高档8位微处理器。

第三代微型计算机(1978~1984年)——16位微处理器。

第四代微型计算机(1985~1993年)——32位高档微处理器。

第五代微型计算机(1993年至今)——64位高档微处理器。

1.2计算机及微型计算机的组成
1.2.1微型计算机系统的组成
图1-1 计算机的基本组成
1.2.2微型计算机的硬件系统
1.2.3微型计算机硬件系统的连接结构
图1-2 微机硬件系统的组成
1.一台微型计算机的硬件主要由微处理器、存储器、输入输出设备及其接口电路通过总线连接而成。

2.微处理器、微处理机及其主要功能
微型计算机中用来完成运算和控制功能的部件,称为中央处理部件、或微处理器,亦称微处理机,简称MPU 或CPU。

通常所说的8位CPU、16位CPU、32位CPU是指CPU中参加主要运算的数据分别是8位、16
位和32位。

也就是说CPU数据总线的位数数分别为8位、16位
和32位。

3.存储器
对小型微型计算机而言,如单板机、单片机,存储器是指内存储器,它是位于CPU之外的半导体存储器,包括RAM和ROM。

对系统机而言,如IBM-PC机、286、386、486及586机等,存储器的概念不仅是指内存储器,而且还有外存储器,如软硬磁盘、光盘等,此外,还应包括高速缓冲RAM 等。

4 . I/O接口电路
I/O接口电路是介于CPU 和I/O设备之间的硬件电路,通过控制I/O设备,使其能及时、方便地与CPU 交换信息。

目前,常用的I/O 接口芯片大多为可编程电路。

它们主要包括并行I/O接口电路、串行I/O接口电路、计数/定时电路和直接存储器存取电路。

5.系统总线
用于连接微型计算机各组成部件,并具有逻辑控制功能的一组信号线称为系统总线。

系统总线分为三类:(1)数据总线是双向、三态的系统总线,它的宽度与CPU中大多数操作的操作数字长相同。

8位机、16位机、32位机数据总线的宽度分别为8位、16位和32位。

(2)地址总线是单向、三态的系统总线。

地址总线的宽度决定了CPU可直接访问的存储器容量的大小。

如16位和20位地址总线可访间的存储器容量分别为64K和1M。

(3)控制总线共有两类:一类用来由CPU向其它部件传送控制信号;另一类用来由其它部件向CPU传送状态信号和请求信号。

1.2.4微型计算机的软件系统
依据功能的不同,软件可分为系统软件和应用软件两大类。

为使用和管理计算机而编制的各种软件统称为系统软件,它通常是厂商作为机器产品与硬件同时提供给用户的。

系统软件包括操作系统(DOS及WINDOWS、UNIX、LINUX等)和系统应用程序。

系统应用程序包括各种语言的汇编、编译程序、自诊断程序、文字处理程序、各种工具软件、数据库管理系统等,这些软件不是用来解决具体应用问题的,而是利用计算机自身的功能,合理地组织解题流程,管理计算机
软硬件各种资源,提供人机间的接口,从而简化或代替各环节中人所承担的工作。

还可为用户使用机器提供方便,扩大机器功能,提高工作效率。

有了系统软件,才能发挥微型机系统的硬件功能,并为用户使用计算机提供方便。

1.3微型计算机的分类
简称为MC(或μC)。

以微处理器为核心,通过总线(BUS)把I/O接口电路、CPU和半导体存储器(ROM、RAM)有机地组合在一起,即构成一台微型计算机。

微型计算机按字长分类,可分为1位、4位、8位、16位、32位和64位机。

按组装的结构不同,微机可分为:单扳机、单片机、多板机、个人计算机(PC机)。

1.3.1微型计算机(MicroComputer)
微机可分为:单扳机、单片机、多板机、个人计算机(PC机)。

1.3.2微型计算机系统(MicroComputerSystem)
简称为MCS(或μCS),或称为系统机。

微型计算机配上外部设备和各种丰富的系统软件,就构成一个微机系统。

1.4微型计算机的基础知识
1.4.1二进制编码与机器数
一般地说,用文字、符号或数码串表示特定对象、信号和状态的过程,都可称为编码。

数字系统中数的最高位的进位值(或借位值)称为该数字系统的模数,简称模。

将数的真值形式中的正负号拥戴码0或1 来表示是叫做数的原码形式,简称原码。

1.4.2逻辑量的编码
在计算机中,机器数的位数是确定的,它所能表示的数的个数是有限的,数的范围也一定有限,任何参于运算的数及运算结果都不应超出这个范围,如果超出这个范围,计算机就无法正确地表示了,这时,机器数表示的数与实际的正确结果就会不一致,我们就说发生了溢出。

1.4.3符号数的真值
数据在计算机内的表示形式称为机器数,被机器数表示的原来的数称为机器数的真值。

1.4.4数的定点和浮点表示
定点数:指存数装置小数点的位置固定不变。

用这种定点装置表示的数,称为定点数。

浮点数,指存数装置小数点的位置补是固定不变的,其实际位置将随阶码而浮动。

用这种装置表示的数称为浮点数。

1.4.5计算机中数的表示
几种常用码制的优缺.点比较(l)原码的主要优点是直观。

但用原码作加减运算时,类似于笔算,处理过程非常萦琐,要求计算机的结构也极为复杂,因而,计算机中加减法运算不采用原码进行。

原码表示法有时可用于乘除法运算。

(2)补码的主要优缺点。

补码的优点有二:①进行加减运算时,符号位可当作普通数字,与数值部分一起进行运算(若符号位有进位,则丢掉),结果仍为补码形式。

②两个补码数相减时,可以用减数(补码)变补(包括符号位在内变反加1)与被减数相加来实现。

这就是说,采用补
码作加减法运算,计算机内部只要一个加法器即可,线路结构最简单。

补码的主要缺点是负数的表示形式不直观,与人们的习惯不一致,很容易判断出错。

( 3)反码表示法由于加减运算处理方法复杂,已不被采用。

它多用来进行逻辑运算,以便完成一定的计算或控制功能。

( 4)移码克服了补码表示形式与人们习惯不一致的缺点,常用作A/D 和D/A 转换器的双极性编码,也可用在浮点数的阶码表示中。

将数的真值形式中的正负号拥戴码0或1 来表示是叫做数的原码形式,简称原码。

为了克服原码运算的缺点,采用另外的两种符号数的表示法,即补码和反码。

使用补码和反码,可以用加法来代替减法,完全消除了加法和减法的界限,这就是设备大大简化,另一方面符号为业和数值部分一起参加运算,不再需要专门处理符号的附加设备了。

假设北京时间是6点整,手表确是8点,比北京时间快了2小时,
校准的方法有两种,一种是倒拨2小时,一种正拨10小时,若规定倒拨是做减法,正拨是作加法,那么对手表来讲,减2与加10是等价的,也就是说减2可以用加10来实现。

这是因为8加10等于18,然而,手表最大只能指示12,当大于12时,12自然丢失,10减2就只剩下6个,者说明减法在一定条件下,是可以用加法代替的,这里“12”称为模,10称为“-2”对模(12)的补数,将他们用数学表达式则为:8-2=(8+10)-12=6
10
+ 8
16
式中“模”12可以看作是向高位的进位。

由此得出,求两个正整数8-2之差,可以用加上减数(2)的补数(10),然后舍去进位来实现,补数(10)就是模(12)与减数(2)的负数之和。

推广到一般则有
A- B=A+(-B+M) =A+(-B)
可见,在模为M的条件下,A减B,可以用A加上-B的补数来实现。

这里模可视为计数器的容量。

计算机中的部件都有固定的位数,设定位数为N,则计数数值为2n ,计数器容量为,因此计算机中的补码是以“”为模。

(1)补码定义
[X]=
是以为模得补码,也称为对2得补码。

补码有如下几个简单性质:
(a)当X为正数时,补码和原码相同,当X为负数时,负数的补码等于+X=-|X|
(b)[+0]补和[-0] 补是相同的,所以在补码表示中,“0”的表示是唯一的。

(c)字长为n位得补码,可以表示的数X的范围为:
-≤X<0
(2)求补码的方法
正数得补码就是它本身,等于原码,只有负数在有求补的问题。

(a)根据定义求:X=+X=-|X| X<0
即负数X的补码等于模加上其真值。

(或减去其真值的绝对值)如:X=-1010111 (n=8)
[X]补=+[-1010111]
= -|-1010111|=10000000-1010111=10101001
这种方法因为要做一次减法,很不方便。

(b)利用原码求:
负数的原码按位求反(符号位除外),再加1就是负数的补码。

计算机通常是将原码数值部分按位求反,即“1”变“0”,“0”变“1”,在最底位加1,来求补码,而符号位不变。

例1.3X=-1010101,[x]原=-110010101
则[X]补=[1]0101011,
即[-1010101]原=[1]1010101
[1]0101010 求反
+ 1
[X]补=[1]0101011
如果将[X]补再求补一次,即将[X]补除符号位以外求反再加1,就得到[[x]原,
如果已知道[X]补=XnXn-1Xn-2Xn-3……X,那么对[X]补的每一位(包括符号位)都按为求反,然后再加1,结果即为[-X]补,由[X]补求[-X]补,通常算变补。

3、补码运算:
带符号数的运算的基本原则如下:
(a)数的最后位是符号位,0表正数,1表负数,把符号位也看成数一起参与运算;
(b)参与运算的数都用补码表示,正数是它本身,负数用补码表
示为:
(c)对于补码的加减法可用公式表示
[X]补+[±Y]补=[X±Y]补
即两数相加减法可用两数补码加减法来实现,结果以补码表示,0表示正数,1表示负数
负数的原码按位求反(符号位除外),再加1就是负数的补码。

1.5 微型计算机中常用数制及其转换
1.5.1数与数制
数:衡量事物的多少的一种表示方法。

数制:按一定规律计数的规则。

系数:表示一个数的一组数字或符号中,各位数上的数字。

权:用数字或符号表示一个数时,它所具有的位值。

1.5.2 十进制与十六进制、八进制的互相转换
二进制数转换成十进制数用加权法。

不论八进制或十六进制转换为十进制数,只要按权展开并相加,就是所要转换的十进制数。

1.6十进制数与字符的编码表示
1.6.1BCD码(Binary-Coded Decimal)
BCD码分为:1)压缩BCD码(4位二进制表示一位十进制数);
2 )非压缩BCD码(8位二进制表示一位十进制数)。

编码:一般来讲,用数字或某种文字和符号来表示某一对应数字或信号的过程,称为编码,(如名字,包括符号)
计算机中采用的是二进制数,因此,在计算机中表示的数,字母,符号等都是以特定的二进制数码来表示,这就是二进制编码。

ASCII码用七位二进制代码进行编码时,可以得到128个字符,其中26个大写的英文字母和26个小写的英文字母,公用取52个码字,数码用取10个字符,文字符用取34个码字,其余码字则分配给各种标点和运算符等,在各种计算机装置中已足够使用。

ASCII码目前已成为许多国家通用的一种国际标准码。

1.6.2二进制算术运算
一.二进制加法:
规则:0+0=0
0+1=1
1+0=1
1+1=0(进位1)
二.减法:
规则:0-0=0
1-0=1
1-1=0
0-1=1(有借位)
三.乘法:
规则:0*0=1*0=0*1=0
1*1=1
四.除法:
二进制除法是乘法的逆运算。

本章的难点和重点
掌握好带符号数与不带符号数的补码运算.
1 . [ y ]补、[- Y 〕补及〔〔Y 〕补〕补
[Y]补的求法是将[Y]原的符号位不变,其余各位变反加1 。

〔- Y〕补=[〔Y〕补]变补,它的求法是将[Y]补的各位(包括符号位在内)变反加1。

或先求出[-Y] , ,再求[- Y]补。

〔[Y补〕补=〔Y〕原
例 1 设Y =- 18 ,则
[ Y]原= 10010010B
[ Y]补=11101110B
[- Y]补=00010010B ([- Y]原=00010010B ,
∴[-Y]补= 00010010B )
[[Y]补]补=[11101110B]补=10010010B = [Y]原
可见,[[ Y ]补]补≠[ [Y]补]变补
2 .补码的加减法运算
采用补码表示法进行加减运算,不仅减法可变为加法运算,而且还可将带符号位数运算和不带符号位数运算统一起来。

这就是说,不管参加运算的两个n位二进制数是带符号的补码形式,还是不带符号的数,对计算机来说,处理方法都是一样的。

作加
法时,直接相加即可,作减法时,用减数变补与被减数相加来实现。

只不过两种情况下,运算结果的溢出判别和正负判别方法不同而已。

对带符号位数来说,运算结果的溢出与否采用双高位判别法,正负情况采用最高位(符号位)来判别。

对不带符号位数来说,只有加法才有可能发生溢出,以最高位是否有进位来判别。

同时,对不带符号位数来说,只有减法结果才有正负之分,依是否有借位来判别。

例2 设x = 1000000lB , y = 0100llllB
若将该两数视为不带符号位数,则X=129 , Y=79。

X-Y及Y -X的运算过程如下:
(1) X-Y=129-79=50
X =1000000lB
Y= 01001111B
[-Y]补= 10110001B
10000001B X
+ 10110001B [-Y]补
0 10011010 B [x-Y]补
由于减数变补与被减数相加时,最高位有进位,表示原码相减时.最高位无借位,结果为正,故
[X-Y]原=[X-Y]补=00110010B = 50
因为是两个正整数相减,不可能发生溢出。

( 2 ) Y-X=79-129=-50
Y=01001111B
X=10000001B
[-X]补= 01111111B
01001111B Y
+ 01111111B [X]补
0 11001110B [Y-X]补
由于减数变补与被减数相加时,最高位无进位,表示原码相减时最高位有借位,结果为负。

故对[Y-X]补再求补,得
[Y-X]原=10110010B=-50
同样,对两个不带符号位的正整数相减,不可能发生溢出
例3 若将例2中X=1000000Lb,Y=01001111B 理解为带符号位的补码数,则[X]原=1111111B=-127,Y=79。

X-Y及Y-X的运算过程如下:
(l) X-Y=-127-79=-206,其绝对值>128,应有溢出发生。

X=10000001B
Y=01001111 B
[-Y]补=1011000Lb
10000001B X
+ 10110001B [-Y]补
100110010B [X-Y]补
Cs=0,Cp=0,负溢出
根据双高位判别法,知该运算结果产生负溢出,结果不正确。

(2) Y-X=79-(-127)=206,其绝对值大于127,应有溢出发生。

Y=01001111B
X=10000001B
[-X]补=01111111B
01001111B Y
+ 01111111B [-X]补
011001110B [Y-X]补
Cs=0,Cp=1,正溢出
由双高位判别法知运算结果产生正溢出,结果不正确。

比较例2及例3可看出对两个二进制数来说,不管它们表示的是不带符号位的数,还是带符号位的二进制补码数,其运算过程完全一样,即计算机将一视同仁,同样处理。

只是结果的分析和处理不同而已。

而这种对运算结果的不同分析和处理是由用户
用程序来实现的。

例4对例2的两个数X=10000001B及Y=0100111B进行加法运算,且分析该两个数为不带符号位数和带符号位的补码数两种情况下的运算结果。

解:X=10000001B
Y=01001111B
10000001B X
+ 01001111B Y
011010000B [X+Y]补
(l)当X、Y均为不带符号位的正整数时,X+Y=129+79=206,最高位无进位,故无溢出,事实上206 < 256,确无溢出发生。

(2)当X、Y均为带符号位的二进制补码数时,X+Y=-127+79=48。

对运算结果采用双高位判别法进行判断,由于Cs=0,Cp=0,故
无溢出发生。

同时,运算结果的最高位(符号位)为1,表示和为负数的补码,故对[X+Y]补再求补得
[X+Y]原=10110000B=-48。

相关文档
最新文档