X86 8086体系结构中指令的提取

X86 8086体系结构中指令的提取,x86,cpu-architecture,x86-16,X86,Cpu Architecture,X86 16,我知道8086体系结构有一个6字节的预取队列 我的问题是,当一条指令移动到执行单元并且队列中的空间空闲时,总线接口单元是否会获取另一条字节大小的指令?还是等待释放特定数量的字节后再开始抓取 BIU被编程为在队列有空间容纳一个(8088)或两个(8086)额外字节时获取新指令 资料来源:做了一些研究,找到了答案。找不到任何与我的问题相关的东西,所以回答我自己的问题。这很有意义。大多数8086指令是4字节或更短的,因此让它降到该大小不太可能立即停止下一次解码。主动启动1字节的提取是不好的,因为内存本

我知道8086体系结构有一个6字节的预取队列

我的问题是,当一条指令移动到执行单元并且队列中的空间空闲时,总线接口单元是否会获取另一条字节大小的指令?还是等待释放特定数量的字节后再开始抓取

BIU被编程为在队列有空间容纳一个(8088)或两个(8086)额外字节时获取新指令


资料来源:

做了一些研究,找到了答案。找不到任何与我的问题相关的东西,所以回答我自己的问题。这很有意义。大多数8086指令是4字节或更短的,因此让它降到该大小不太可能立即停止下一次解码。主动启动1字节的提取是不好的,因为内存本身没有流水线,在提取完成之前可能会有超过1字节的空间,浪费了提取带宽(这是8086上的瓶颈,但显然没有8088那么多)。还增加了数据访问的竞争,push/pop/ret是常见的1字节指令。