微型计算机原理与接口技术张荣标课件第二章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章80x86微处理器2.1微处理器的发展1、80862、802863、803864、804865、奔腾(Pentium)6、PentiumPro7、奔腾II8、奔腾III9、IntelPentium42.28086微处理器2.2.18086CPU内部功能结构编程结构:就是指从程序员和使用者的角度应该看到的结构。这种结构与CPU内部的物理结构和实际布局是有区别的。从功能上分:总线接口部件BIU(BusInterfaceUnit)执行部件EU(ExecutionUnit)。状态标志寄存器EU控制器暂存寄存器123456(16位)总线控制逻辑地址总线地址加法器(20位)数据总线AHAHALBHBLCHCLDHDLSPBPDISIAXBXCXDXAHCSDSESSSIP内部通讯寄存器ALU数据总线(16位)Q(总线)(8位)执行部件(EU)总线接口部件(BIU)ALU(队列)8086总线图2.18086CPU的内部结构1、总线接口部件BIU总线接口部件的功能:与CPU外部(存储器、I/O端口)传送指令代码或数据。CPU执行指令的工作分为两个阶段:取指令和执行指令过程。(1)BIU的组成4个16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指针寄存器IP、20位的地址加法器、6字节的指令队列缓冲器、16位的内部暂存器和总线逻辑控制器(2)BIU各部件的作用⑴段地址寄存器CS:16位代码段寄存器,寄存程序代码段首地址的高16位。DS:16位数据段寄存器,寄存数据段首地址的高16位。ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。SS:16位堆栈段寄存器,寄存堆栈区数据段首地址的高16位。⑵16位的指令指针寄存器IP:指出当前指令在程序代码段中的16位偏移量。⑶20位的地址加法器:用来产生20位物理地址。段基址:段寄存器提供的16位信息,左移4位。偏移地址:EU提供的16位信息或者IP提供的16位信息。⑷6字节的指令队列缓冲器:用来存放预取指令的指令队列。⑸16位的内部暂存器:暂存输入/输出信息的寄存器。⑹总线逻辑控制器:以逻辑控制方式实现总线上的信息传送,如信息分时传送等。2、执行部件EU执行部件的功能就是负责指令的执行。(一)EU的组成:执行部件由4个通用寄存器(AX、BX、CX、DX)、4个专用寄存器(BP、SP、SI、DI)、算术逻辑单元、EU控制器和标志寄存器组成。(二)EU各部件的作用⑴4个通用寄存器AX:16位的累加器BX:16位的基数寄存器CX:16位的计数寄存器DX:16位的数据寄存器⑵4个专用寄存器BP:16位的基数指针寄存器SP:16位的堆栈指针寄存器堆栈:一组寄存器或一个存储区域,用来存放调用子程序或响应中断时的主程序断点地址,以及暂存其它寄存器的内容。当信息存入堆栈或从堆栈中取出信息时,都必须严格按照“先进后出”的规则进行。SI:16位的源变址寄存器DI:16位的目的变址寄存器⑶算术逻辑部件ALU:功能有两个:一是进行算术/逻辑运算,二是按指令的寻址方式计算出所寻址的16位偏移地址。⑷EU控制器:是执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等。⑸标志寄存器:16位状态标志寄存器(7位未用)存放操作后的状态特征和人为设置的控制标志。所用的各位含义如下:8086的标志分两类:状态标志,控制标志。状态标志表示前面的操作执行后,算术逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面的操作。控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除,每个控制标志都对某一种特定的功能起控制作用。1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志有6个,即SF、ZF、PF、CF、AF和OF。符号标志SF(SignFlag)零标志ZF(ZeroFlag)奇/偶标志PF(ParityFlag)进位标志CF(CarryFlag)辅助进位标志AF(AuxiliaryCarryFlag)溢出标志OF(OverflowFlag)。什么是溢出?例2.1计算机在进行2345H+3219H运算后,试求状态标志SF、ZF、PF、CF、AF、OF的值。0010001101000101十00110010000110010101010101011110SF=0,ZF=0,PF=0,CF=0,AF=0,OF=0。例2.2计算机在进行5439H+456AH运算后,试求状态标志SF、ZF、PF、CF、AF、OF的值。0101010000111001+01000101011010101001100110100011SF=1,ZF=0,PF=1,CF=0,AF=1,OF=1。控制标志有3个,即DF、IF、TF。方向标志DF(DirectionFlag):这是控制串操作指令用的标志。中断标志IF(InterruptEnableFlag):这是控制可屏蔽中断的标志。跟踪标志TF(TrapFlag):也称单步陷阱取指令1译码1取数1执行1存结果1取指令2译码2执行2…CPU时间(a)指令的串行处理取指令1取指令2取数1取指令3存结果1取指令4…BIU等待译码1执行1译码2执行2…EU时间(b)指令的并行处理图2.2串行处理和流水处理工作原理2.2.28086CPU内部流水线管理工作原理①开始执行程序,EU等待BIU提取指令,当BIU使队列不空时,EU和BIU就开始独立进行工作。②当BIU的指令队列中出现2个空字节时,BIU又会自动把后面的指令从存储器取到指令队列中,直到指令队列满为止。③当EU在执行指令过程中必须访问存储器或I/O,端口时,EU会请求BIU去完成访问外部的操作。④当指令队列已满,而且EU又无访问请求时,BIU便进入空闲状态。⑤当EU执行转移指令、调用指令和返回指令时,指令队列中的内容自动清除。⑥当遇到程序的执行需要转移,或者某条指令的执行过程中需要访问内存的次数过于频繁,使BIU没有空闲进行指令的提取时,EU处于等待状态,直到BIU取出指令为止。2.2.38086CPU的存储器组织地址空间:1MB(20位)逻辑段:最大64kB,CS,DS,ES,SS。浮动、连续、分开重叠。1、存储器分段和段寄存器段首址:各逻辑段的第一个单元的地址。段基址:段首址的高16位。段基址根据段的性质存放在相应的段寄存器DS、ES、SS或CS中。偏移地址:段内存储单元距离段首地址的偏移量。段基址和偏移地址都是无符号的16位二进制数,这两部分构成了存储单元的逻辑地址。采用分段结构的存储器中,任何一个20位物理地址都是由它的逻辑地址变换得到的:物理地址=段基址×16+偏移地址段寄存器150000016位偏移地址1500000加法器20位物理地址190图2.48086物理地址的形成段寄存器CSSSDSES基址及指针寄存器CSBPSPSIBXDI图2.5段寄存器与其它寄存器的组合2、存储器组织8086的1MB存储器,分成了两个512KB存储区,分别叫奇地址区(奇区)和偶地址区(偶区)。CSA18~A0512K字节奇区存贮体D7~D0CSA18~A0512K字节偶区存贮体D7~D0D8~D15D0~D7A1~A19A0BHE图2.68086存储器的偶区和奇区字节分为奇字节和偶字节。字分为奇字、偶字。对于奇字节、偶字节、奇字、偶字的读/写操作,奇字节、偶字节和偶字操作均可用一个总线周期完成,而奇字操作需二个总线周期,分别用奇字节和偶字节操作来完成。2.2.48086CPU总线周期的概念BIU通过系统总线完成对外界(存储器或I/O端口)的一次访问所需的时间称作一个总线周期。在计算机中时间的最小单位是时钟周期(一个时钟脉冲的时间长度)。在8086CPU中,一个最基本的总线周期由4个时钟周期组成。4个时钟周期分别称为4个状态,即T1状态、T2状态、T3状态和T4状态。除了上述四个状态外,还有等待状态Tw和空闲状态TI。图2.7典型的8086总线周期序列①在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。②在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。③在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据④在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。⑤在T4状态,总线周期结束。2.2.58086CPU的引脚信号及工作模式最小模式:在系统中只有一个8086处理器。最大模式:在系统中有两个或两个以上的处理器1、8086CPU的引脚信号GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221VCC(+5v)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET图2.88086CPU的引脚信号排列1、最小模式1~40脚的功能定义(一)双向引脚信号AD15~AD0地址/数据复用线(双向,三态)。第2~16引脚分别为AD14~AD0,第39引脚为AD15。作为功能复用引脚。(二)输入引脚信号(1)MN/最小/最大模式设定(输入,高、低电平均有效)。MN/=1,8086系统工作方式设置为最小模式。MN/=0,8086设置为最大模式工作方式。(2)地线和电源线(输入)8086的GND有两条(1,20脚),Vcc接入的电压为+5V±10%。(3)CLK系统时钟(输入)。通常与8284A(时钟发生器)的时钟输出端CLK相连接。(4)RESET复位信号(输入,高电平有效)。(5)READY“准备好”信号(输入,高电平有效)。(6)等待测试信号(输入,低电平有效)。(7)NMI非屏蔽中断请求信号(输入,上升沿触发)。(8)INTR可屏蔽中断请求信号(输入,高电平有效)。(9)HOLD总线保持请求信号(输入,高电平有效)。(三)输出引脚信号(1)A19~A16/S6~S3地址/状态复用线(输出,三态)。S4S3状态00110101指示附加段寄存器在使用(可修改数据)指示堆栈段寄存器在使用指示代码段寄存器在使用(或未用任何段寄存器)指示数据段寄存器在使用表2.1S4、S3代码指示正在使用的段寄存器(2)/S7数据线高8位开放/状态复用线(输出,三态)。表2.2、A0代码表示的相应操作A0操作所用数据引脚00从偶地址读/写一个字AD15~AD010从偶地址读/写一个字节AD7~AD001从奇地址读/写一个字节AD15~AD80110从奇地址读/写一个字(分两个总线周期实现,首先作奇字节读/写,然后作偶字节读/写)AD15~AD8AD7~AD0(3)读控制信号(输出,低电平有效,三态)。(4)写控制信号(输出,低电平有效,三态)。(5)M/存储器和I/O控制信号(输出,三态)。(6)中断响应信号(输出。低电平有效)。(7)HLDA总线保持响应信号(输出,高电平有效)。(8)ALE地址锁存信号(输出,高电平有效)(9)DT/数据收/发控制信号(输出,三态)。(10)数据允许信号(输出,低电平有效,三态)。二、最大模式24~31脚的功能定义(l)~总线周期状态信号(输出,三态)。总线周期8288控制命令000001010011100101110111INTA周期I/O读周期I/O写周期暂停取指令周期读存储器周期写存储器周期无源状态无无表2.3~对应的总线周期及8288的控制命令(2)QS1、QS0指令队列状态信号(输出)。表2.4QS1、QS0与队列状态QS1QS0队列状态00110101无操作从队列缓冲器中取出指

1 / 85
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功