您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第3章8086-8088微处理器及其体系结构
8086/8088微处理器及其体系结构1第3章8086/8088微处理器及其体系结构本章主要教学内容8086/8088微处理器的编程结构8086/8088CPU的存储器和I/O组织8086/8088的引脚功能和工作方式8086/8088的操作及其时序高档微处理器技术简介8086/8088微处理器及其体系结构2第3章8086/8088微处理器及其体系结构本章教学目的及要求掌握8086/8088微处理器组成及其寄存器结构熟悉8086/8088微处理器的存储器和I/O组织熟悉8086/8088CPU的引脚功能和工作方式掌握8086/8088CPU的操作及其时序了解高档微处理器的相关技术8086/8088微处理器及其体系结构3第3章8086/8088微处理器及其体系结构3.18086/8088微处理器的编程结构3.28086/8088的存储器和I/O组织3.38086/8088CPU的引脚功能和工作方式3.48086/8088CPU的操作时序3.5高性能微处理器先进技术简介8086/8088微处理器及其体系结构43.18086/8088微处理器的编程结构掌握任何一个功能部件的工作性能和使用方法,首先应该了解它的编程结构。编程结构,就是指从程序员和使用者的角度看到的结构。编程结构与功能部件内部的物理结构和实际布局是有区别的。8086/8088微处理器及其体系结构53.1.18086/8088CPU的基本性能指标典型的16位微处理器;采用高速运算性能的MOS工艺制造,芯片上集成了几万只晶体管;使用单一的+5V电源,40条引脚双列直插式封装;时钟频率为5MHz~10MHz,基本指令执行时间为0.3ms~0.6ms;16根数据线和20根地址线,可寻址的存储器或I/O地址空间为1MB;可以和浮点运算器、I/O处理器或其他的处理器组成多处理器系统,具有较高的数据吞吐和处理能力。8086/8088微处理器及其体系结构63.1.28086/8088CPU的内部结构8086CPU内部结构框图8086/8088微处理器及其体系结构78086/8088CPU内部结构基本相同,均由两个独立的工作部件组成,即执行单元(EU)和总线接口单元(BIU);两种CPU的执行部件EU完全相同,但总线接口部件BIU有些差别:8086外部数据总线16位,指令队列6个字节;8088外部数据总线为8位(故称为准16位微处理器),指令队列为4个字节;16位的ALU数据总线和8位指令队列总线用于EU内部和EU与BIU之间的通信。8086/8088微处理器及其体系结构81.执行部件EU组成:1个16位的算术逻辑单元(ALU)8个16位的通用寄存器1个16位的状态标志寄存器1个数据暂存寄存器执行部件的控制电路功能:从BIU的指令队列中取出指令代码指令译码器译码后,根据指令要求向EU内部各部件发出控制命令以完成指令的功能执行指令所得结果或执行指令所需的数据,必须由EU向BIU发出命令,然后再对存储器或I/O接口进行读/写操作8086/8088微处理器及其体系结构92.总线接口部件BIU组成:4个16位段地址寄存器1个16位指令指针寄存器IP1个6/4字节指令队列缓冲器1个20位地址加法器总线控制电路功能:根据执行部件EU的请求,负责完成CPU与存储器或I/O设备之间的数据传送。取指令时,从存储器指定位置取出指令送入指令队列排队执行指令时,根据EU命令对指定存储单元和I/O端口存取数据8086/8088微处理器及其体系结构103.CPU内部工作过程对于EU:取指令、译码、执行指令必须访问内存和I/O设备时,请求BIU进入总线周期全部的算术和逻辑运算按指令寻址方式计算16位偏移地址并送入BIU中形成20位实际地址若取指时指令队列为空,进入等待一旦有指令,EU立即取出执行8086/8088微处理器及其体系结构11对于BIU:一旦指令队列中出现2/1个空字节且EU没有要求访问总线,则BIU自动执行总线操作,填满队列为止当EU执行转移、调用和返回指令时,BIU清除原队列内容并从新地址重新开始取指令,获取的第一条指令将直接送EU执行,随后取来的指令填充队列当队列已满且EU无访问总线操作,BIU进入空闲状态8086/8088微处理器及其体系结构12CPU的EU和BIU操作是分开执行的,且按并行方式重叠操作,EU执行的指令已由BIU预先取出,实现了流水线操作技术,提高了CPU的利用率,同时降低了CPU对存储器速度的要求。EU和BIU之间是通过指令队列相互联系的。指令队列可以被看成一个RAM区,EU对其执行读操作,BIU对其执行写操作。8086/8088微处理器及其体系结构133.1.38086/8088CPU的寄存器结构8086/8088CPU中可供编程使用的有14个16位寄存器,按其用途可分为3类:通用寄存器、段寄存器和控制寄存器组。累加器AHALBHBLCLDHDLCHSPSIDIIPFLAGSCSDSSSESBP基址寄存器计数寄存器数据寄存器堆栈指针寄存器基址指针寄存器源变址寄存器目的变址寄存器指令指针寄存器标志寄存器代码段寄存器段寄存器附加段寄存器堆栈段寄存器数据寄存器地址指针和变址寄存器控制寄存器通用寄存器数据段寄存器8086/8088微处理器及其体系结构141.通用寄存器组通用寄存器分为数据寄存器与指针和变址寄存器两组。数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一般用来存放16位数据,其中每一个又可根据需要将高8位和低8位分成独立的两个8位寄存器来使用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8位数据,它们均可独立寻址、独立使用。指针和变址寄存器包括指针寄存器SP、BP和变址寄存器SI、DI,都是16位的寄存器且整体使用,一般用来存放逻辑地址的偏移量,在任何情况下,都不能独立地形成访问内存的地址码。这8个16位通用寄存器都具有通用性,从而提高了指令系统的灵活性。在有些指令中,这些通用寄存器还各自有其特定的用法。8086/8088微处理器及其体系结构15寄存器操作寄存器操作AX字乘,字除,字I/OCL变量移位,循环移位AL字节乘,字节除,字节I/O,查表转换,十进制运算DX字乘,字除,间接I/OAH字节乘,字节除SP堆栈操作BX查表转换SI数据串操作指令CX数据串操作指令,循环指令DI数据串操作指令通用寄存器的隐含用法8086/8088微处理器及其体系结构162.段寄存器组利用段寄存器实现存储空间的分段结构,每段长最大为64K,而段寄存器提供段基址。CS代码段寄存器:存放当前被执行程序所在段的段基址SS堆栈段寄存器:存放当前堆栈段的段基址。堆栈是内存中的一个特别存储区,主要用于在调用子程序和中断时,保留返回主程序的地址CS:IP以及保存进入子程序将要改变其值的寄存器的内容DS数据段寄存器:存放当前使用的数据段的段基址ES附加数据段寄存器:存放附加数据段的段基址其中,DS、ES的初值都要由用户程序设置。8086/8088微处理器及其体系结构173.控制寄存器组指令指针寄存器IP:是一个16位的寄存器,总是存放着下一条要取出指令的偏移地址,用以控制程序中指令的执行顺序。用户程序中不能直接使用该寄存器。IP通常由BIU自动修改,某些指令如转移、过程调用和返回指令等将改变其内容。标志寄存器Flag:是一个16位的寄存器,用其中9位作标志位,其中有6个是反映前一次涉及ALU操作结果的状态标志,其余3个是控制CPU操作特征的控制标志。----OFDFIFTFSFZF-AF-PF-CF15141312111098765432108086/8088微处理器及其体系结构18(1)状态标志状态标志用来反映ALU执行算术和逻辑运算以后的结果特征。CF进位标志:加法时最高位产生进位和减法时最高位产生借位,则CF=1;另外,移位和循环操作也会影响CFPF奇偶标志:操作结果的低8位中含偶数个1,则PF=1AF辅助进位标志:加法时D3位有进位或减法时D3位有借位,则AF=1:该标志只供BCD码运算时使用ZF零标志:运算结果各位都为零,则ZF=1SF符号标志:运算结果为负数即结果的最高位为1,则SF=1OF溢出标志:带符号数在进行算术运算时,其结果超过8位或16位带符号数所能表示的数值范围,产生溢出,则OF=18086/8088微处理器及其体系结构19(2)控制标志控制标志是用来控制CPU的操作特征。TF陷阱标志:是为方便程序调试而设置的。当TF=1时,单步中断,使操作员能够逐条指令检查一个程序的执行情况IF中断允许标志:IF为1时开中断,CPU可以响应可屏蔽中断要求DF方向标志:控制数据串操作指令的步进方向。DF=1时,串操作指令将以地址递减顺序对数据串中的数据进行处理;DF=0时,数据串指令则从低地址到高地址作自动递增处理8086/8088微处理器及其体系结构203.28086/8088CPU的存储器和I/O组织3.2.18086/8088的存储器组织1.存储器基本特征8086/8088系统中的存储器是按字节进行组织的,20条地址线对应可寻址存储空间1MB,每个字节对应有唯一的20位物理地址。向存储器存放的数据是1个字节(8位)时,按顺序排列存放;若存放的数据为一个字(16位)时,则将低字节(低8位)存放在低地址中,高字节(高8位)存放在高地址中,并以低地址作为该字的地址;字允许从任何位置开始存放,偶数地址开始的字称为“规则字”,奇地址开始为“非规则字”。8086/8088微处理器及其体系结构21在组成与8086CPU连接的存储器时,1M字节的存储空间实际上被分成两个512K字节的存储体,分别叫高位库和低位库。低位库固定与8086CPU的低位字节数据线D7~D0相连,因此又可称它为低字节存储体,该存储体中的每个地址均为偶地址。高位库与8086CPU的高位字节数据线D15~D8相连,因此又称它为高字节存储体,该存储体中的每个地址均为奇地址。SELA19~A1高位(奇数)库512K×8D15~D8SELA19~A1低位(偶数)库512K×8D7~D0A19~A1A0BHED15~D8D7~D08086/8088微处理器及其体系结构228086数据总线16位,对规则字存取,需要一个总线周期;而非规则字需两个总线周期;操作BHEA0使用的数据线存取规则字00AD15-AD0传送偶地址的一个字节10AD7-AD0传送奇地址的一个字节01AD15-AD8存取非规则字01AD15-AD8(第一个总线周期)10AD7-AD0(第二个总线周期)8086CPU存储器操作8086/8088微处理器及其体系结构238088CPU对应1MB存储空间是单一的存储体;8088数据总线8位,无论是对16位的字数据还是对8位的字节数据操作,也无论是规则字还是非规则字,每一个总线周期只能完成一个字节的存取,对字数据所组织的连续两个总线周期是由CPU自动完成的。A19~A0存储体1M×8D7~D0A19~A0D7~D08086/8088微处理器及其体系结构242.存储器的分段CPU内部存放地址信息的地址寄存器BX、IP、SP、SI和DI以及ALU都是16位的,不能直接寻址1MB的内存空间;8086/8088将1MB空间分成若干逻辑段,每段最多为64KB长:起始地址称为基址,是一个能被16整除的20位地址,即低4位二进制码必须是0,高16位地址由软件设置于段寄存器中;段内任一存储单元的地址,用相对于段起始地址的偏移量来表示,称为段内偏移地址,通常存放于IP,SP,SI,DI中,偏移地址是16位的,对应一个段最大包含64KB存储空间;段的位置不受任何约束,段和段之间可以是连续的、分开的、部分重叠或完全重叠;8086/8088微处理器及其体系结构25段的基址由段寄存器CS、DS、SS和ES提供,程序可以从这四个段寄存器规定的逻辑段中存储指令和数据;C
本文标题:第3章8086-8088微处理器及其体系结构
链接地址:https://www.777doc.com/doc-4313781 .html