- 118.00 KB
- 2022-08-30 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
教材《微型计算机系统原理及应用》(第2版)2004杨素行等编著清华大学出版社内容共分为6章《计算机原理及应用习题实验》清华大学自动化系,2006,2007,2008年2月版8/17/20211自动化系计算机原理与应用\n课程简介1.内容:计算机基本原理及系统构成80×86指令系统,汇编语言程序设计,系统功能调用,通用可编程接口电路及应用。2.特点:硬件和软件知识相结合、多动手做题、做实验8/17/20212自动化系计算机原理与应用\n第一章微型计算机基础数字电子计算机的发展与分代按器件分代:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971--8/17/20213自动化系计算机原理与应用\n世上第一台电子计算机名称:电子数字积分器及计算器(ElectronicNumericalIntegratorCalculator,ENIAC)时间:1946年用途:弹道设计制造者:美国宾夕法尼亚大学运算速度:每秒5,000次加法运算其它:使用了18,800个电子管和1,500个继电器,占地150平米,重30,000kg,造价超$1,000,0008/17/20214自动化系计算机原理与应用\n微型计算机.微型计算机是第四代计算机的典型代表。它的特点是将中央处理器、主存储器和输入输出接口集中在一小块硅片上。按字长分代:4位、8位、16位、32位、64位8/17/20215自动化系计算机原理与应用\n§1.2数制及编码基:数制所使用的数码的个数权:数制每一位所具有的值一.无符号数1、无符号数的表示1)十进制D:0~9数符,10n位权(基为“10”,权为以10为底的幂)2)二进制B:0、1数符,2n位权3)十六进制H:0~9,A、B、C、D、E、F数符,16n位权8/17/20216自动化系计算机原理与应用\n2,数制转换(1)二进制→十进制:按2n幂展开求和…23222120.2-12-22-32-4…Ex.101011.101B=32+0+8+0+2+1+0.5+0.25+0.125=43.625D8/17/20217自动化系计算机原理与应用\n(2)十进制→二进制:整数和小数方法不同①整数:连续除以2,取余数,先得低位,后得高位,直至商零为止例:13D=1101B②小数:连续乘以2,取向整数的进位,先得高位,后得低位,直至足够位数即可:例0.625D=0.101B③整数带小数时分别转换,然后合并结果8/17/20218自动化系计算机原理与应用\n(3)二进制→十六进制:每4位二进制一段,对应1位十六进制。例:0101﹒1010B=5﹒AH十六进制是二进制的缩写形式(简化书写、便于记忆)8/17/20219自动化系计算机原理与应用\n(两个)多位二进制数的算术运算位(bit):一个二进制位,是计算机中信息表示的最小单位而多位二进制数的算术运算则是从低位往高位顺序计算,考虑进位(二进制)。1+1=0(进位1);0-1=1(有借位)字节(Byte):8个二进制位,一个存储器单元的容量D7D6D5D4D3D2D1D0字(Word)=2B=16b双字(DW)=4B=32b8/17/202110自动化系计算机原理与应用\n4,多位二进制数的逻辑运算拆开成一位对一位运算,没有进位。与运算(AND):1∧1=1,0∧x=0例A=11110101BB=00000011BA∧B=00000001B该例运算结果描述:保留A中D1D0位,其余位清零8/17/202111自动化系计算机原理与应用\n或运算及非运算或运算(OR):0∨0=0,1∨x=1例A=11110101BB=00000011BA∨B=11110111B该例运算结果描述:保证A中D1D0位为1,其余位不变。非(NOT):Ā=00001010B运算结果描述:A中各位取反8/17/202112自动化系计算机原理与应用\n异或运算(XOR)1∨1=0,0∨0=0,1∨0=1,0∨1=1例:A=11110101BB=00000011BA∨B=11110110B该例运算结果描述:A中D1D0取反,其余位不变。故当B=11111111B,A∨B的运算结果为对A各位取反,也与11111111(=28-1)-A的算术运算结果同8/17/202113自动化系计算机原理与应用\n二.带符号二进制数(一)带符号二进制数的表示方法1、原码:最高位表示正负,后续位表示数值(以8位为例)D7D6D5D4D3D2D1D0符号位:正为0,负为1数值部分:原数绝对值的二进制形式。Ex.4位带符号二进制数的+2=0010B,-3=1011B优点:直观缺点:减法运算复杂8/17/202114自动化系计算机原理与应用\n简化减法运算的编码方式的探讨对一位的十进制(基为10=M)数有:3-4=3+(10-4)=9,3-2=3+(10-2)=1故如对负数编码为M-|x|,即:对0(x0),1(x1),2(x3),….,9(x9)的10个状态资源编码为0→x0(0),1→x1(1),2→x2(2),3→x3(3),4→x4(4)-5→x5(5),-4→x6(6),-3→x7(7),-2→x8(8),-1→x9(9)则对操作数及结果均在可表示范围内(-5~4)时,总有:A-B=A+(M-B)(上例9=-1)8/17/202115自动化系计算机原理与应用\n2、补码:正数与原码相同,负数的补码为2n_|x|(即对其绝对值做求补运算)。对于8位二进制数n=8(即M=2n),x表示原数。计算机中带符号数默认用补码形式。2n-1=11…1B,则2n-1-|x|为|x|的取反8/17/202116自动化系计算机原理与应用\n3、反码:正数与原码相同,负数的反码为2n-1-|x|,对于8位二进制数n=8,x表示原数。从而有:负数的反码加1得该负数的补码(一般都正确)8/17/202117自动化系计算机原理与应用\n正负数原,反,补码例:4位二进制带符号数+2的原,反,补码是0010B-2的原码:1010B-2的反码:1101B-2的补码:1110B该三种编码的最高位均起到符号位的作用,即当为0时得正数,为1时得负数。8/17/202118自动化系计算机原理与应用\n教材P9表1.18位二进制数值有256种形式,用来表示无符号数时,数值为0~255。当表示带符号数时,表的上面一半是正数,三种码相同;下面一半是负数,原、反、补码不同。原码和反码各有负零,补码没有负零,且多出-128。8/17/202119自动化系计算机原理与应用\n二)带符号数的形式转换1、原码→反、补码:按定义进行,先区分正负数,正数不变,负数才变2、反、补码→原码:正数不变,负数才变对[负数反码]求反,置符号位为1。Ex:对-2,1101→0010(绝对值)→1010对[负数补码]求补(求反加1),置符号位为1。Ex:对-2,1110→0001→0010(绝对值)→10108/17/202120自动化系计算机原理与应用\n3、真值真值:写符号的数值,常用十进制形式(1)原码求真值先写符号,再将数值变十进制。(2)反、补码求真值先变成原码,再求真值。例:求补码11110111B的十进制真值:先确定是负数,变为原码10001001B,再变成十进制-9D。8/17/202121自动化系计算机原理与应用\n(三)补码的运算1、补码相加减补码的符号位和数值位一样运算例:-3+5=2-3-6=-91111110111111101+)00000101-)0000011000000010111101118/17/202122自动化系计算机原理与应用\n减一个数等于加相反数的补码例3-2=13+(-2)补00110011-)0010+)1110000110001进位带符号数运算不关心最高位产生的进位,因此认为结果正确8/17/202123自动化系计算机原理与应用\n2、补码的溢出(1)溢出:补码运算结果超出当前表示范围造成的错误.例如8位补码表示范围–128~+127+126+2=+128-127+(-2)=-1290111111010000001+)00000010+)111111101000000001111111读出负128读出正1278/17/202124自动化系计算机原理与应用\n(2)判断溢出的方法异号相加(同号相减)不可能溢出,其它情况下须判断是否溢出:①用十进制计算,检查结果是否超范围;②用二进制计算检查结果的符号位是否变反(因为同号相加不能变号)③用二进制计算检查进位:溢出标志OF=CY7∨CY6;(最高进位异或次高进位)8/17/202125自动化系计算机原理与应用\n三.编码计算机内的二进制码除了直接表示数值,还可以表示其它信息(一)压缩BCD码和非压缩BCD码(P12表1.2)压缩BCD码也是4位二进制一段,这一点和十六进制类似,但是每段内只有十种编码,段与段之间是十进位.非压缩BCD码以一字节(8位二进制)为一段,高4位总为0.8/17/202126自动化系计算机原理与应用\n例.对于压缩BCD码数的运算,20-1=19:(00100000)BCD-1=(00011001)BCD对于十六进制数的运算,20H-1=1FH(二)ASCII码标准的ASCII码有5位和7位两种,IBM的8位ASCII码表见P409,附录1.1.8/17/202127自动化系计算机原理与应用\n(二)ASCII码键盘输入的都是ASCII码,十六进制数计算前应转变成其对应数值,例如:‘0’=48=30H,30H-30H=0‘1’=49=31H,31H-30=1‘9’=57=39H,39H-30H=9以上规律可用于数字0—9的ASCII码转变成其对应数值。8/17/202128自动化系计算机原理与应用\n‘A’=65=41H,41H-37H=0AH‘F’=70=46H,46H-37H=0FH以上规律可用于大写字母A--F的ASCII码转变成其对应数值。‘a’=97=61H,61H-20H=41H=‘A’以上规律可用于小写字母a--f的ASCII码转变成其对应大写字母A--F8/17/202129自动化系计算机原理与应用\n几个常用控制符的ASCII码换行符‘LF’=0AH,回车符‘CR’=0DH,空格符=20H8/17/202130自动化系计算机原理与应用\n一、系统的组成(P14图1.5)硬件(主机+外部设备)、软件1.主机①微处理器(CPU)逐条取指令、译码、发控制信号执行指令②存储器(内存)以二进制储存指令和数据,字节为单位,用地址管理.210B=1KB,220B=1MB,230B=1GB§1.3微型计算机系统8/17/202131自动化系计算机原理与应用\n③I/O接口计算机通过接口和外部设备连接8/17/202132自动化系计算机原理与应用\n微型计算机系统硬件结构存储器I/O接口输入设备I/O接口数据总线DB控制总线CB地址总线AB输出设备CPU8/17/202133自动化系计算机原理与应用\n2.总线(BUS)传输信号的公共导线。①总线的形成:各个三态器件输出接在一起。②总线上的信号:各器件分时输出逻辑信号“0”/“1”。AB:地址信号,例如某储存器字节的地址DB:数据信号,例如CPU发送到总线上的数据CB:控制信号,例如“写储存器”,或“读I/O接口”8/17/202134自动化系计算机原理与应用\n冯.诺依曼(JohuVonNeumann)存储程序型计算机模型计算机由运算器、控制器、存储器、输入设备及输出设备组成数据和程序以二进制代码混合存放在存储器中,存放位置由地址指定控制器用程序计数器(PC)的值,当地址取存储器中的一条指令代码执行,pc+1自动指向下一条指令指令。指令序列逐条的执行即程序的完成。控制器是根据存放在存储器中的程序来工作的。即:计算机工作的过程是运行程序的过程,而程序必须预先存放在存储器中(存储程序的概念)。8/17/202135自动化系计算机原理与应用\n软件系统软件操作系统、诊断程序、计算机语言处理程序、等应用软件通用软件(如word等)、自己编写的应用软件、等8/17/202136自动化系计算机原理与应用\n1.4微处理器一.功能结构P19图1.9右边是总线接口单元BIU,通过芯片引脚从外部取指令排入指令队列,并根据指令执行在引脚上产生相应信号.左边是执行单元EU,从指令队列中逐条取指令译码加以执行.算术逻辑单元的运算结果影响标志寄存器.8/17/202137自动化系计算机原理与应用\n一.寄存器结构P20图1.10CPU面向程序的是各寄存器.四个段寄存器对计算机的内存进行分段管理,其内容各指明对应段的起始位置.通用寄存器供用户在程序中使用。其中4个16位的数据寄存器都可拆成8位分别使用。8/17/202138自动化系计算机原理与应用\n指针寄存器SP/BP用于堆段中寻址。变址寄存器SI/DI用于数据段或附加段中寻址,16位的段内偏移地址分别存入以上4个寄存器之中.指令指针IP也存放16位偏移地址,它指明代码段中下一条将被执行指令的地址.每执行一条指令时它会自动增量指向再下一条指令。8/17/202139自动化系计算机原理与应用\n标志指令执行的结果会影响标寄存器中的特定位,后续指令将根据这些标志来做不同的执行CF:进位,存放加减运算时产生的进位.PF:偶标志,逻辑运算结果中有偶数个1时PF=1AF:半进位,加减时最低半字节D3向D4产生的进位8/17/202140自动化系计算机原理与应用\n标志ZF:零标志,运算结果全零时ZF=1,否则ZF=0SF:符号标志,等于运算结果的最高位。OF:溢出标志,补码运算产生溢出时OF=1TF:单步跟踪,TF=1时,单条执行IF:中断标志,IF=1时允许可屏蔽中断DF:方向标志,DF=0时增量串操作,DF=1时减量串操作8/17/202141自动化系计算机原理与应用\n引脚信号P22图1.121.数据线D7~D0,双向,和A7~A0分时复用。2.地址线A19~A0,输出,寻找1MB地址空间。3.控制线:根据指令的执行产生各种控制信号。8/17/202142自动化系计算机原理与应用\n控制信号INTR:输入,可屏蔽中断请求,IF=1时被屏蔽NMI:输入,非屏蔽中断请求,不受IF控制RESET:输入,复位,复位后CPU状态见P23表1.48/17/202143自动化系计算机原理与应用\n存储器的分段管理1MB空间分成几段段寄存器指出段基址段内再用16位偏移地址每段最大64KB物理地址=段基址×16+偏移例如:8915H∶0100H=89250H段基:偏移物理8/17/202144自动化系计算机原理与应用\n存储器的分段管理存储器空间00000FFFFFHDSESSSCS数据段附加数据段堆栈段代码段8/17/202145自动化系计算机原理与应用