总线的区别与存储器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
80x86/Pentium微处理器
8086和8088两种CPU的执行单元是完全相同的,而总线接口单元有些不同。8086CPU数据总线16位,指令队列6个字节;而8088CPU数据总线8位,指令队列4个字节。
⏹1.功能结构
⏹执行单元EU有8个16位的通用寄存器、1个16位的
标志寄存器(即PSW寄存器)、暂存器、16位的算术
逻辑单元ALU及EU控制电路组成。
⏹执行单元EU有8个16位的通用寄存器、1个16位的
标志寄存器(即PSW寄存器)、暂存器、16位的算术
逻辑单元ALU及EU控制电路组成。
⏹EU的功能是执行指令。EU从指令队列取出指令代码。
将其译码,发出相应的控制信息。控制数据在ALU中
进行运算,运算结果的特征保留在标志寄存器
(FLAGS,即PSW)中。
⏹总线接口单元BIU包括4个16位段寄存器,1个16
位的指令指针寄存器IP、1个与EU通讯的内部寄存器、先入先出的指令队列(8088的指令队列为4个字节,
8086的指令队列为6个字节)、总线控制逻辑及计算20
位物理地址的地址加法器∑。
⏹BIU的功能是负责与存储器、I/O端口传送信息。当
EU从指令队列中取走指令,指令队列出现空字节时,
BIU即从内存中取出后续的指令代码放入队列中;当EU需要数据时,BIU根据EU给出的地址,从指定的内存单元或外设中取出数据供EU使用;
⏹当运算结束时,BIU将运算结果送入指定的内存单元或
外设。当队列空时,EU就等待,直到有指令为止。当8088队列空出1个字节,8086空出2个字节时,BIU 就自动执行一次取指令周期,将新指令送入队列。若BIU正在取指令,EU发出访问总线的请求,则必须等BIU取指令完毕后,该请求才能得到响应。
⏹一般情况下。程序执行,当遇到转移指令时,BIU就使
指令队列复位,从新地址开始取出指令,并立即传送给EU去执行。其后续指令取来填入指令队列。
⏹指令队列的存在使8086/8088的EU和BIU并行工作,
从而减少CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度,另外也降低了对存储器存取速度的要求,这种技术叫并行技术。在整个程序运行期间,BIU总是忙碌的,充分利用了总线,效率很高。如图所示。
2.8086/8088的内部寄存器
如果一个处理器中没有通用寄存器,那么在指令执行的过程中要用到操作数时,必须到存储器中去取,运算的结果也必须立即送到存储器中保留起来。从存储器存取数据要占用总线周期。如果在指令执行的过程中,只要碰到操作数的存取就进行存储器操作,则势必要加长指令的执行时间。
⏹如果在处理器中设有一些寄存器,这些寄存器可用来暂
时存放参加运算的操作数和运算过程中的中间结果,则
在程序执行的过程中就不必每时每刻都要取到存储器
中存取数据。
⏹在处理器中,用通用寄存器暂时存放操作数可以提高程
序执行速度。一般来说,处理器中包含的寄存器越多,处理器使用就越灵活,处理器执行程序的速度也就越
快。
⏹8086/8088内部有14个16位寄存器,按其功能可
分为三大类(P20、P14,
⑴通用寄存器
共8个,根据使用情况可分为三种。
①数据寄存器AX,BX,CX,DX
数据寄存器一般用于存放参于运算的数据或运算的结果。每一个数据寄存器都是16位寄存器,但又可将高、低8位分别作为两个独立的8位寄存器使用,
⏹它们的高8位记作AH,BH,CH,DH,低8位记作
AL,BL,CL,DL。这给编程带来很大方便。
⏹上述4个寄存器一般作为通用寄存器使用,但它们又有
各自的习惯用法。见表1.7(P20、P14)。
⏹②地址指针寄存器SP、BP
SP:堆栈指针寄存器BP:基址指针寄存器
⏹作为通用寄存器的一种,它们可以存放数据,但实际上
更经常更重要的用途是存放内存单元的偏移地址。
⏹③变址寄存器SI 、DI
SI—称源变址寄存器DI—称目的变址寄存器
⏹常常用于寻址。