什么是X索引寄存器?

时间:2019-03-11 14:47:37

标签: assembly cpu-architecture

我总体上问。由于我必须创建虚拟微控制器,因此我通常试图了解任何微控制器中X索引寄存器的用途。该寄存器的MAR和PC有什么区别?感谢所有答复。

1 个答案:

答案 0 :(得分:3)

MAR是一个实现细节。流水线CPU本身可能没有MAR,也可能没有一个MAR,尤其是当它具有可以在同一周期内读写的多端口高速缓存时。

在具有名为X的寄存器的体系结构中, X是一个体系结构寄存器,无论其他访问内存的内容如何,​​它都保留其值。

例如绝对的非索引负载将使用MAR驱动地址总线,但是CPU仍需要为X保持相同的值。此外,MAR必须与机器中的物理地址一样宽,但是X只是6502中的8位寄存器。(因此,您只能从给定的基址索引256个字节)。

通常不能直接访问程序计数器,除非是PC相对寻址模式,否则调用指令会将返回地址存储在某个地方。并跳写PC。但是在某些方面,它也是实现细节。流水线CPU不一定必须具有单个PC寄存器。但是标量顺序管道将有效地使PC处于访存阶段。 (或者非流水线CPU当然将只有一台PC。)

大概是通过代码提取将PC复制到MAR ,这是为下一条指令加载机器代码的一部分。


寄存器为X的建筑包括

8080具有HL,而不是X。