[工学]微机原理与接口技术.ppt
2022-7-72lCPU(8086)的结构)的结构lCPU(8086)的引脚信号和工作模)的引脚信号和工作模式式l8086系统存储器的组织和分类系统存储器的组织和分类lCPU(8086)的操作和时序)的操作和时序2022-7-73 熟悉熟悉8086CPU的内部结构及引脚功能和系的内部结构及引脚功能和系统配置;统配置; 掌握掌握8086CPU的寄存器结构、功能和使用的寄存器结构、功能和使用方法;方法; 掌握标志寄存器中各标志位的定义;掌握标志寄存器中各标志位的定义; 掌握存储器的分段表示,熟悉其分体结构和掌握存储器的分段表示,熟悉其分体结构和堆栈堆栈 熟悉总线周期与指令周期、时钟周期的关系;熟悉总线周期与指令周期、时钟周期的关系; 了解总线时序。了解总线时序。2022-7-74 由于当时制造工艺和生产成本的原因,微处理器的结构由于当时制造工艺和生产成本的原因,微处理器的结构受到引脚数目、芯片面积和器件速度的限制。受到引脚数目、芯片面积和器件速度的限制。8086 CPU的特点的特点q引脚功能复用q单总线、累加器结构q可控三态电路q总线分时复用lIntel 8088准准16位处理器,内部寄存器及内部位处理器,内部寄存器及内部操作均为操作均为16位,外部数据总线位,外部数据总线8位。位。l8088与与8086指令系统完全相同,芯片内部逻辑结指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。构、芯片引脚有个别差异。2022-7-758086概况:概况:l1979年推出,第一代超大规模集成电路(年推出,第一代超大规模集成电路(VLSI)微处理器,采用微处理器,采用HMOS工艺制造,内含工艺制造,内含2.9万晶体管。万晶体管。l数据总线宽度数据总线宽度16位,地址总线宽度位,地址总线宽度20位;可直接寻位;可直接寻址空间址空间2201M字节单元;字节单元;16位数据总线与地址总位数据总线与地址总线复用。线复用。l采用单一的采用单一的+5V电源,一相时钟,时钟频率为电源,一相时钟,时钟频率为 5MHz(8086),),10MHz(80861),),8MHz(80862)。)。l133条指令,指令长度条指令,指令长度16字节,指令最短执行时字节,指令最短执行时间为间为0.4s(平均(平均0.5s)。)。2022-7-76一、一、8086CPU的内部结构的内部结构总线接口部件总线接口部件BIU(Bus Interface Unit)16位段地址寄存器位段地址寄存器16位指令指针寄存器位指令指针寄存器IP存放下一条要执行指令的偏移地址存放下一条要执行指令的偏移地址3) 20位物理地址加法器位物理地址加法器完成完成16为逻辑地址为逻辑地址20位物理地位物理地址的转换址的转换4) 6字节指令队列字节指令队列预放六字节的指令代码预放六字节的指令代码5) 总线控制逻辑总线控制逻辑指令执行部件指令执行部件EU(Execution Unit)算术逻辑运算单元算术逻辑运算单元ALU完成完成8位或位或16位二进制运算位二进制运算2)标志寄存器)标志寄存器PSW存放存放ALU运算结果特征运算结果特征3) 寄存器组寄存器组4个通用个通用1616位寄存器;位寄存器;4 4个专用个专用1616位位寄存器寄存器4) EU控制器控制器取指令控制和时序控制部件取指令控制和时序控制部件2022-7-772022-7-782022-7-792022-7-7102022-7-7112022-7-7122022-7-713二、二、8086CPU的寄存器结构的寄存器结构Stack Pointer Base PointerSource IndexDestination IndexCode SegmentData SegmentStack SegmentExtra SegmentInstruction PointerAccumulator X Base XCounter X Data X2022-7-7142022-7-7152022-7-716l指针与变址寄存器指针与变址寄存器qBP和SP称为 指针寄存器 常与SS联用,来确定堆栈段中的某一存储单元的地址.qSI和DI称为 变址寄存器 常与DS联用,来确定数据段中的某一存储单元的地址.q在串指令中,SI与DS联用; DI与ES联用.2022-7-7172022-7-7182022-7-7191514131211109876543210OFDFIFTFSFZFAFPFCF方向标志方向标志中断标志中断标志跟踪标志跟踪标志Trace Flag控制标志控制标志进位标志进位标志奇偶标志奇偶标志半进位标志半进位标志零标志零标志符号标志符号标志溢出标志溢出标志状态标志状态标志n标志寄存器的格式及各位的含义标志寄存器的格式及各位的含义2022-7-7201. 状态标志:表示前面的操作执行后,算术逻辑部件处于怎样一种状态。状态标志:表示前面的操作执行后,算术逻辑部件处于怎样一种状态。例如,是否产生了进位,是否发生了溢出等等。程序中,可以通过对某例如,是否产生了进位,是否发生了溢出等等。程序中,可以通过对某个状态标志的测试,决定后面的走向及操作。个状态标志的测试,决定后面的走向及操作。 例如:例如: qSTATE: IN AL, 0DAH;q TEST AL, 02H;q JZ STATEl全零标志全零标志ZF(Zero Flag):若运算结果为):若运算结果为0,则,则ZF1;否则;否则ZF0。q例1:MOV AL, 4q SUB AL, 4q例2:XOR AX, AXq 执行后,ZF=?q 执行后,ZF=12022-7-721l进位标志进位标志CF(Carry Flag):):它反映:它反映:q加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。q减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。 例如:例如: q MOV AL, 3;q SUB AL, 4;q执行后,CF1。qCF可以表示无符号数的溢出.l奇偶校验标志奇偶校验标志PF(Parity Flag):若运算结果低):若运算结果低8位中位中“1”的个数为的个数为偶数,则偶数,则PF1;否则;否则PF0。q例:MOV AL, 2q ADD AL, 1q 执行后,PF位为1。2022-7-722l 辅助进位标志辅助进位标志AF(Auxiliary carrry Flag):也称也称“半进位标志半进位标志”,它反映:,它反映:q加法时,第3位向第4位有进位;q减法时,第3位向第4位有借位。 l溢出标志溢出标志OF(Overflow Flag):若运算过程中发生了):若运算过程中发生了“溢出溢出”,则,则OF1。定义:运算结果超出计算装置所能表示的范围,称为溢出。定义:运算结果超出计算装置所能表示的范围,称为溢出。lOF为是根据操作数的符号及其变化情况来设置的为是根据操作数的符号及其变化情况来设置的:q若两个操作数的符号相同,而结果的符号与之相反时,OF=1;q否则,OF=0.l它是用来表示带符号数的溢出的它是用来表示带符号数的溢出的.2022-7-723l例题例题 将将 5394H 与与 777FH 两数相加两数相加,并说明其标志位状态并说明其标志位状态. 0101 001110010100+10001000100000011101110000010101l运算结果为运算结果为23EBH,并置标志位为并置标志位为:进位标志进位标志 CF=0; 奇偶校验奇偶校验 PF=0; 辅助进位辅助进位 AF=0; 全零标志全零标志 ZF=0; 符号标志符号标志 SF=1; 溢出标志溢出标志 OF=0.2022-7-7242. 控制标志控制标志(3位位):每一位控制标志都对一种特定的功能起:每一位控制标志都对一种特定的功能起控制作用。可以通过专门的指令对其进行控制作用。可以通过专门的指令对其进行“置位置位”(Set)或或“复位复位”(Reset)。)。l中断标志中断标志IF(Interrupt Enable Flag):如果):如果IF置置“1”,则,则CPU可以可以接受可屏蔽中断请求;反之,则接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。不能接受可屏蔽中断请求。 指令系统中有两条专门的指令可以置指令系统中有两条专门的指令可以置“1”或置或置“0” IF标志位:标志位: STI 使使IF置置“1”,即开放中断。,即开放中断。 CLI 使使IF清清“0”,即关闭中断,即关闭中断l方向标志方向标志DF(Direction Flag):用于串操作指令中的地址增量修改:用于串操作指令中的地址增量修改(DF0)还是减量修改()还是减量修改(DF1)。)。 STD (SeT Direction) , CLD (Clear Direction)。l跟踪标志跟踪标志TF(Trap Flag):若):若TF1,则,则CPU按跟踪方式(单步方按跟踪方式(单步方式)执行程序。式)执行程序。2022-7-7252022-7-726lINTR:可屏蔽(:可屏蔽(Maskable)中断请求信号,输入,高电平有)中断请求信号,输入,高电平有效。外设向效。外设向CPU发出中断请求。发出中断请求。lINTA:中断响应信号,输出,低电平有效。:中断响应信号,输出,低电平有效。CPU对中断请求对中断请求的响应。的响应。lCPU在每条指令的最后一个时钟周期采样在每条指令的最后一个时钟周期采样INTR信号,若发现信号,若发现INTR信号有效(为高电平),并且中断允许标志信号有效(为高电平),并且中断允许标志IF=1时,时,CPU就会在结束当前指令后,响应中断请求,进入中断响应周就会在结束当前指令后,响应中断请求,进入中断响应周期。其间,将通过期。其间,将通过INTA引脚向发出请求信号的设备(中断源)引脚向发出请求信号的设备(中断源)发出中断响应信号。发出中断响应信号。lNMI(Non-Maskable Interrupt request):非屏蔽中断请求非屏蔽中断请求信号,输入,正跳变有效。信号,输入,正跳变有效。“不受不受IF的影响的影响”。2022-7-727lBHE/S7:高:高8位数据允许位数据允许/状态(状态(BUS High Enable/Status)复用引脚)复用引脚 8086有有16条数据线,可用低条数据线,可用低8位传送一个字节,也可用高位传送一个字节,也可用高8位传送一个字节,还可用高位传送一个字节,还可用高8位和低位和低8位一起传送一个字位一起传送一个字(16位)。位)。BHE就是用来区分这几类传输的。就是用来区分这几类传输的。l WR:写信号,输出,三态,低电平有效;写信号,输出,三态,低电平有效;l RD: 读信号,输出,三态,低电平有效。读信号,输出,三态,低电平有效。 当读信号(或写信号)有效时,表示当读信号(或写信号)有效时,表示CPU正在进行读正在进行读(或或写写)存储器或存储器或IO端口的操作。究竟是读端口的操作。究竟是读(或写或写)存储器还是存储器还是IO端端口,由口,由CPU输出的另一个专门信号输出的另一个专门信号M/IO决定。决定。lM/IO(Memory / IO):访问存储器或访问存储器或IO端口信号,输出,三端口信号,输出,三态。为高电平时,表示态。为高电平时,表示CPU当前正在访问存储器当前正在访问存储器 2022-7-728lALE(Address latch Enable):地址锁存允许信号,输出,高地址锁存允许信号,输出,高电平有效。电平有效。 由于由于8086/8088的一部分地址线和数据线的一部分地址线和数据线采用分时复采用分时复用用。在一个总线周期内总线上先传送地址,接着传送数据。在一个总线周期内总线上先传送地址,接着传送数据。但在一般情况下,存储器或但在一般情况下,存储器或I/O接口电路,要求在整个总线周接口电路,要求在整个总线周期内保持稳定的地址信息。期内保持稳定的地址信息。这样,就需要将这些地址信息保这样,就需要将这些地址信息保存起来。存起来。 与与8086/8088配套的配套的锁存器电路锁存器电路为为8282/8283,用用ALE做锁存允许信号。做锁存允许信号。lDEN(Data Enable):数据允许,输出,三态,低电平有效。数据允许,输出,三态,低电平有效。作为总线收发器作为总线收发器(8286/8287数据总线驱动器数据总线驱动器)的控制信的控制信号。号。lDT/R(Data Transmit/Receive):数据发送:数据发送/接收控制,输接收控制,输出,三态。出,三态。lREADY(Ready)准备就绪信号,输入,高电平有效。由存)准备就绪信号,输入,高电平有效。由存储器或储器或I/O端口发来的响应信号,表示外部设备已经准备就绪。端口发来的响应信号,表示外部设备已经准备就绪。2022-7-729 锁存器的应用锁存器的应用t0t1t2 锁存器工作时间图锁存器工作时间图输入输入D选通选通输出输出QQ跟随跟随D保持保持t2时时D的锁的锁存值存值D0D1D n-1Q n-1Q1Q0选通n位数据总线位数据总线ALE(Address latch Enable):地址锁存允许信号地址锁存允许信号2022-7-730lHOLD(Hold request):总线请求,输入,高电平有效。总线请求,输入,高电平有效。lHLDA(Hold Acknowledge):总线请求响应,输出,高电总线请求响应,输出,高电平有效。平有效。 T1 T2 T3 T4CLKHOLDHODAAD15AD0 , A19/S6A16/S3CPU放弃三态WR,RD,总线控制权lMN/MX:最小最小/最大模式控制信号最大模式控制信号2022-7-731lCPU在每个时钟周期的上升沿采样在每个时钟周期的上升沿采样HOLD,如果允,如果允许让出总线,就在当前总线周期完成时许让出总线,就在当前总线周期完成时(T4状态状态),从从HLDA引脚发出一个回答信号,对引脚发出一个回答信号,对HOLD请求发出请求发出响应。同时,响应。同时,CPU使地址使地址/数据总线和有关控制信号数据总线和有关控制信号线进入高阻状态线进入高阻状态(第三态第三态)放弃总线控制权。放弃总线控制权。l另一方面,总线请求部件另一方面,总线请求部件(如如DMAC)收到有效收到有效HLDA信号后,就获得了总线控制权。在此期间,信号后,就获得了总线控制权。在此期间,HOLD和和HLDA都保持高电平,在总线占有部件都保持高电平,在总线占有部件(当前总线主当前总线主)用完总线之后,将把用完总线之后,将把HOLD信号变为低电平,表示现信号变为低电平,表示现在放弃对总线的占用。在放弃对总线的占用。lCPU收到低电平的收到低电平的HOLD之后,它将之后,它将HLDA变为低变为低电平。电平。从此,从此,CPU又获得了总线控制权又获得了总线控制权。 2022-7-732l最小模式和最大模式最小模式和最大模式q最小模式,也称“单处理器系统”,即在系统中只有一个8086处理器,全部的系统总线信号均由8086直接产生。总线控制逻辑减到最少,故称最小模式。q最大模式,也称“多处理器系统”,即系统中包含两个或多个处理器,其中一个为主处理器(8086),其他的处理器为“协处理器”(COProcessor)。通常,和8086配合使用的协处理器有两个:一个是数值运算协处理器8087,一个是输入/输出协处理器8089。q两种工作模式选择不是由程序控制的,而是由硬件设定的。CPU的引脚 MN/MX端接高电平5V时,构成最小模式,接低电平时构成最大模式。 2022-7-7332022-7-734指令周期(指令周期(Instruction Cycle):执行一条指令所需的时间称为指令周期。一个指令周期由几个总线周期组成。总线周期(总线周期(Bus Cycle):):BIU完成一次访问存储器或I/O端口操作所需的时间。一个总线周期至少包含4个时钟周期(T1-T4)。时钟周期(时钟周期(Clock Cycle):CPU的时钟频率的倒数,也称T状态。总线周期 总线周期总线周期指令周期M1(Machine Cycle) (取指)M2(读存储器) M3(写存储器) 时钟周期(T状态)2022-7-7358086的主要操作时序:的主要操作时序:l系统的复位和启动系统的复位和启动l最小模式下的总线操作(读写空操作)最小模式下的总线操作(读写空操作)l最小模式下的总线保持最小模式下的总线保持l最大模式下的总线操作最大模式下的总线操作l最大模式下的总线请求允许最大模式下的总线请求允许2022-7-736l系统的复位和启动系统的复位和启动复位时各内部寄存器的值参见教材复位时各内部寄存器的值参见教材P49 表表2-13CLK不作用状态浮空三态门输出信号内部RESETRESET输入2022-7-737l最小模式下的总线操作(读总线周期)最小模式下的总线操作(读总线周期) T1 T2 T3 Tw T4M/IOREADYCLK地址状态输出地址数 据 输 入A19/S6-A16/S3BHE/S7AD15-AD0ALERDDT/RDEN2022-7-7382022-7-739总线空操作总线空操作l只有在只有在CPU和存储器或和存储器或I/O端口交换数据端口交换数据时时,CPU才执行总线周期才执行总线周期,否则就进入了总线否则就进入了总线空闲周期空闲周期 Ti。l但此时但此时CPU内部操作仍在进行。如内部操作仍在进行。如 ALU执执行运算,内部寄存器之间数据传输等。行运算,内部寄存器之间数据传输等。l总线空操作是总线接口部件总线空操作是总线接口部件BIU对总线执行对总线执行部件部件EU的等待。的等待。2022-7-740l最小模式下的总线保持最小模式下的总线保持CLKHLDAHOLD2022-7-7412022-7-742l整个存储空间可分为整个存储空间可分为 16个逻辑段个逻辑段,可以是连续分开或可以是连续分开或重叠的重叠的.l凡能被凡能被16或或10H整除的地址处均可分段整除的地址处均可分段. 也就是说最也就是说最末一个为末一个为16进制数字为进制数字为0H的地址单元处均可开始分的地址单元处均可开始分段。段。2022-7-743l逻辑地址:用来表示存储器逻辑单元的地址,由段基址逻辑地址:用来表示存储器逻辑单元的地址,由段基址和偏移地址组成,程序设计时采用逻辑地址。和偏移地址组成,程序设计时采用逻辑地址。l物理地址:存储器的绝对地址,从物理地址:存储器的绝对地址,从00000FFFFFH,CPU访问存储器的实际寻址地址访问存储器的实际寻址地址,由逻辑地址变换而来。由逻辑地址变换而来。物理地址的形成2022-7-7442022-7-7452022-7-746逻辑地址的来源教材P36 图表2022-7-7472022-7-748偶奇2022-7-7492022-7-750l习题习题 P551、2、5、6、9(b)、10(c)、12、15、20 2022-7-751l补充题补充题2.1l(1)CPU按内部结构按功能可分为(按内部结构按功能可分为( )和)和( )。)。l(2)某地址线为)某地址线为16根,则其决定的最大内存容量根,则其决定的最大内存容量为(为( )。(其中)。(其中1M1024K)l(3)微型计算机内部各部件之间通过三组不同的)微型计算机内部各部件之间通过三组不同的总线相连,分别是(总线相连,分别是( )、()、( )、()、( )。)。l补充题补充题2.2lCPU由哪两部分组成?它们的主要功能是什么?由哪两部分组成?它们的主要功能是什么? 熟悉熟悉8086CPU的内部结构及引脚功能和系统配的内部结构及引脚功能和系统配置;置; 掌握掌握8086CPU的寄存器结构、功能和使用方法;的寄存器结构、功能和使用方法; 掌握标志寄存器中各标志位的定义;掌握标志寄存器中各标志位的定义; 掌握存储器的分段表示,熟悉其分体结构和堆栈掌握存储器的分段表示,熟悉其分体结构和堆栈 熟悉总线周期与指令周期、时钟周期的关系;熟悉总线周期与指令周期、时钟周期的关系; 了解总线时序。了解总线时序。2022-7-753Thank You!结束结束