资源预览内容
第1页 / 共96页
第2页 / 共96页
第3页 / 共96页
第4页 / 共96页
第5页 / 共96页
第6页 / 共96页
第7页 / 共96页
第8页 / 共96页
第9页 / 共96页
第10页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
微型计算机原理 与接口技术,21世纪高等学校计算机规划教材,人民邮电出版社,总 目 录,第1章 微型计算机与微处理器 第2章 存储器 第3章 汇编语言基础 第4章 汇编语言程序设计 第5章 微型计算机输入输出接口 第6章 中断与DMA传输 第7章 可编程接口芯片 第8章 数/模与模/数转换 第9章 现代微型计算机 第10章 微型计算机总线,第1章 微型计算机与微处理器,1.1 微型计算机 1.2 8086/8088微处理器结构 1.3 8086/8088微处理器子系统 1.4 8086/8088 微处理器的工作时序,1.1 微型计算机,1.1.1 电子计算机的基本组成 电子计算机的基本结构特点: 存储程序原理:把程序事先存储在计算机内部,计算机通过执行程序实现高速数据处理。 五大功能模块:电子数字计算机由运算器、控制器、存储器、输入设备、输出设备这些功能模块组成。,1.1.1 电子计算机的基本组成,图1-1 计算机的基本组成,存储器 运算器 控制器 输入设备 输出设备,中央处理器 (CPU),主机,外部设备,电子计算机,1.1.2 微型计算机 微型计算机在基本结构和基本功能上与计算机大致相同。 由于微型计算机采用了大规模和超大规模集成电路组成的功能部件,使微型计算机在系统结构上有着简单、规范和易于扩展的特点。 微型计算机由微处理器、存储器、输入输出接口电路组成。 连接这些功能部件的是三组总线:数据总线、地址总线和控制总线。,图1-2 微型计算机的基本结构,1 微处理器 微处理器(MPU):微型计算机的中央处理器,亦称CPU。 2 存储器 微型计算机的存储器采用集成度高、容量大、体积小、功耗低的半导体存储器芯片构成。 根据能否写入信息,存储器分为RAM和ROM。,随机存取存储器(RAM)又称读写存储器: 随机存取:可以根据需要读写任意位置上的内容,而不像磁盘一样必须成块地顺序读写。 可读可写:随机存储器中的信息可以读出,也可以写入。 易失性:断电后储存的信息自动消失,是易失性存储器。 用途:用于存放当前正在使用的程序和数据。 只读存储器(ROM): 只读:信息在一般情况下只能读出,不能写入和修改 非易失性:断电后原信息不会丢失,是非易失性存储器, 用途:用来存放固定的程序和数据表格。,3 输入输出接口电路 介于计算机和外部设备之间的电路称为输入输出接口电路。 微型计算机的接口普遍采用大规模集成电路芯片,大多数接口芯片是可编程的。 4 总线 总线是一组公共的信号传输线,用于连接计算机各个部件。 位于芯片内部的总线称为内部总线。 连接微处理器与存储器、输入输出接口,用以构成完整的微型计算机的总线称为系统总线(有时也称外部总线)。 微型计算机的系统总线分为数据总线、地址总线和控制总线三组。,数据总线:用于传送数据信息,数据总线是双向总线。 地址总线:用于发送内存地址和I/O接口的地址。 控制总线:传送各种控制信号和状态信号,使微型计算机各部件协调工作。 微型计算机采用标准总线结构,提高了微机系统的通用性和可扩展性。,1.2 8086/8088微处理器结构,1.2.1 8088/8086微处理器内部结构 8086 CPU由 指令执行部件EU 总线接口部件BIU 两个部份组成。 指令执行部件EU主要功能是执行指令。 总线接口部件BIU主要功能是连接CPU内部总线和外部系统总线,访问存储器和外部接口。,图1-3 8086微处理器内部结构,指令执行部件EU EU的功能是执行指令。一般情况下, 指令按照它存放的先后次序顺序执行,EU从指令队列中源源不断地取得指令代码,满负荷地连续执行指令。 EU中的算术逻辑运算单元ALU可完成16位或8位的二进制运算,运算结果通过内部总线送到通用寄存器,或者送往BIU的内部寄存器中,等待写入存储器。 EU控制器负责从BIU的指令队列中取出指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令以实现各条指令的功能。,总线接口部件BIU BIU的功能: 形成访问存储器的物理地址(由地址加法器完成); 访问存储器取得指令,暂存到指令队列中等待执行; 访问存储器或I/O端口以读取操作数参与EU运算,或存放运算结果等; 产生外部总线的各种控制信号。 BIU内部有一个6字节的指令队列。一旦指令队列中空出2个字节,BIU将自动进行读指令的操作以填满指令队列。 BIU内部总线控制电路将CPU的内部总线与CPU引脚所连接的外部总线相连。,物理地址 访问存储器的实际地址称为物理地址,用20位二进制表示。 物理地址的位数由地址总线的位数决定 物理地址的位数决定了该计算机能够连接的存储器的数量: 例如:16根地址线最多能连接216=64KB内存储器; 20根地址线最多能连接220=1MB内存储器.,逻辑地址 EU送来的存储器地址称为逻辑地址,由16位“段基址”和 16位 “偏移地址”(段内地址)组成。 段基址表示一个段的起始地址的高16位。 偏移地址表示段内的一个单元距离段开始位置的距离。因此,偏移地址也称为段内地址。 例如,2345H1100H表示: 段基址为2345H(这个段的起始地址是23450H), 段内偏移地址为1100H的存储单元地址。,地址转换 地址加法器用来完成逻辑地址向物理地址的变换: 物理地址段基址16 + 偏移地址 上例中,逻辑地址2345H:1100H对应的物理地址是24550H。 反之,物理地址24550H,它对应的逻辑地址可以是2455H:0000H,也可以是2400H:0550H等。 这说明一个存储单元的物理地址是惟一的,而它对应的逻辑地址是不惟一的。,图1-4 地址加法器,8088 CPU与8086 CPU的区别: (1)8088与外部交换数据的数据总线宽度是8位,而EU内部总线和寄存器仍是16位,所以把8088称为准16位微处理器。 (2)8088 BIU中指令队列长度只有4字节,只要队列中出现一个空闲字节,BIU就会自动地访问存储器,取指令来填满指令队列。,1.2.2 8086/8088 微处理器的寄存器 8086/8088 CPU的内部寄存器如图1-5 通用数据寄存器:存放运算原始/中间结果 指针和变址寄存器:存放存储器地址 控制寄存器:存放程序地址和其他控制信息 段寄存器:存放各段的信息,图1-5 8086/8088 CPU内部寄存器,1. 通用寄存器组 8个16位通用寄存器可分成两组: 通用数据寄存器:由AX、BX、CX和DX构成,用来存放16位的数据或地址。也可当作8个8位寄存器使用。8位寄存器只能存放数据。 AX 称为累加器 BX 称为基址寄存器 CX 称为计数寄存器 DX 称为数据寄存器,另一组4个16位寄存器,主要用来存放操作数的偏移地址(即操作数的段内地址) SP 称为堆栈指针寄存器 BP 称为基址指针寄存器 SI 称为源变址寄存器 DI 称为目的变址寄存器 (变址寄存器内存放的地址在数据传送完成后,具有自动修改的功能。例如:传送1字节数据后把地址加1,为下次传送做好准备,变址寄存器因此得名。),2 段寄存器 8086/8088 CPU总线接口部件BIU中设置有4个16位段寄存器:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。 代码段:存放程序指令。CS中存放的是现在正在执行的程序段的段基址。程序代码超过64K时,需要分成几个段存放。 数据段用于存放当前使用的数据。需要第二个数据段时可以使用附加段。 堆栈段是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数,返回地址等,这些数据都按照“先进后出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。,3 标志寄存器FLAGS 8086/8088 CPU中设置了一个16位标志寄存器FLAGS,用来存放运算结果的特征和控制标志,其格式如下:,FLAGS中存放的9个标志位可分成两类: 一类叫状态标志,用来表示运算结果的特征,包括CF、PF、AF、ZF、SF和OF; 另一类叫控制标志,用来控制CPU的操作,包括IF、DF和TF。,状态标志位(1) (1)ZF(Zero Flag) 零标志位。 (2)SF(Sign Flag) 符号标志位。 (3)PF(Parity Flag) 奇偶标志位。PF=1,表示本次运算结果的低八位中有偶数个“1”;PF=0,表示有奇数“1”。PF可以用来进行奇偶校验,或者用来生成奇偶校验位。 (4)AF(Auxiliary Carry Flag) 辅助进位标志位。这个标志位只在BCD数运算中起作用。,状态标志位(2) (5)CF(Carry Flag) 进位标志位。 进行二个无符号数加法或减法运算后,如果CF=1,表示运算的结果超出了该字长能够表示的数据范围。例如,执行8位数据运算后,CF=1表示加法结果超过了255,或者是减法得到的差小于零。 进行有符号数运算时,CF对运算结果没有直接意义。 (6)OF(Overflow Flag) 溢出标志位。例如,进行8位运算时,OF=1表示运算结果大于+127 或小于128。OF标志对无符号数的运算结果没有意义。,上述运算后: CF = C7 (D7位上的进位)= 0 (无进位); AF = C3 (D3位上的进位) = 1(有辅助进位); PF = 1(运算结果有4个1); SF = D7 = 1(运算结果符号位为1); OF = C7C6 = 01 = 1 (有溢出); ZF = 0 (运算结果不为0)。,(1)(AL)+( AH),上述运算后: CF = 1 (有借位); AF = 1 (有辅助进位); PF = 1 (运算结果中有6个1); SF = 1 (符号位为1); OF = 0 (无溢出); ZF = 0 (运算结果不为0)。,(2)(AL)-( AH),运算产生的标志位由程序员根据需要选择使用: 如果参加运算的两个数是有符号数(用补码表示),可以用OF判断结果是否产生溢出,这时不必关心CF的状态; 如果参加运算的两个数是无符号数,可以用CF判断结果是否超出范围,无需关心OF的状态。,控制标志 (1)IF(Interrupt Flag) 中断允许标志位。IF=1,表示允许CPU响应可屏蔽中断。 IF标志可通过STI指令置位(置1),通过CLI指令复位(清零)。 (2)DF(Direction Flag) 方向标志位。在串操作指令中,若DF=0,表示串操作指令执行后地址指针自动增量,串操作由低地址向高地址进行;DF=1,表示地址指针自动减量,串操作由高地址向低地址进行。 DF标志位可通过STD指令置位,通过CLD指令复位。 (3)TF(Trap Flag) 单步标志位。TF=1,每条指令执行结束都会发生“单步”中断,用于程序调试。,4 指令指针寄存器IP 8086/8088 CPU中有一个16位指令指针寄存器IP,用来存放将要执行的下一条指令在代码段中的偏移地址。 程序运行过程中,BIU自动修改IP中的内容,使它始终指向将要执行的下一条指令。 程序不能直接访问IP,但是可通过某些指令修改IP的内容。例如, 执行转移指令时,会将转移的目标地址送入IP中,实现程序的转移。,四种段的寻址方式,1.3 8086/8088 微处理器子系统,1.3.1 8086/8088 微处理器的引脚及功能 8086/8088 CPU是十六位的微处理器,它向外的信号包含16条数据线,20条地址线,以及若干控制信号。 为了减少芯片引脚数量,部分引脚采用分时复用的方式,构成40条引脚的双列直插式封装。,图1-7 8086微处理器的封装外形,GND,AD,14,AD,13,AD,12,AD,11,AD,10,AD,9,AD,8,AD,7,AD,6,AD,5,AD,4,AD,3,AD,2,AD,1,AD,0,NMI,INTR,CLK,GND,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号