2. 8086⼀8088CPU的执行部件EU与总线接口部件BIU是如何协调工作的

2024-12-22 14:01:15
推荐回答(1个)
回答1:

协调工作过程:
总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理:


每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。


每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。
但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。


当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。


在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不
再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情
况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一
个程序段中的指令。