
每个寄存器的长度是多少?
谢谢.

您将始终需要两者. 程序计数器(PC)保存要执行的下一条指令的地址,而指令寄存器(IR)保存编码的指令. 提取指令后,程序计数器将增加一个“地址值”(到下一条指令的位置). 然后解码指令并适当执行.
同时需要两者的原因是,如果只有一个程序计数器并将其用于两个目的,则会得到以下麻烦的系统:

[程序执行开始]
PC包含0x00000000(例如,这是程序在内存中的起始地址),已编码的指令从内存中取出并放入PC中. 指令被解码并执行. 现在是时候转到下一条指令了,让我们回到PC上,看看下一条指令的地址是什么. 但是,我们遇到了一个问题,因为PC的最后一个地址已被删除,所以我们不知道下一条指令在哪里.

因此,我们需要另一个寄存器来保存从内存中获取的实际指令. 一旦获得内存,便会添加PC,以便我们知道从何处获得下一条指令.
后记寄存器的宽度根据体系结构的字长而变化. 例如,对于32位处理器,字长为32位. 因此,CPU上的寄存器为32位. 指令寄存器的大小没有改变. 区别在于行为和解释. 指令以各种形式编码,但是它们仍然占用32位寄存器. 例如,Altera的Nios II处理器包含3种不同的指令类型,每种指令具有不同的编码方法. 参见ftp: ///up/pub/Tutorials/DE2/Computer_Organization/tut_nios2_introduction.pdf的第6页.

您还可以从上面的链接中进一步了解Nios II处理器的结构. 这是一个简单的IP CPU. 当然,英特尔具有自己的规格/设计,并且会有所不同.
如前所述,程序计数器(PC)保留要执行的下一条指令的地址,而指令寄存器(IR)存储要执行的实际指令(但不存储其地址).
与这些寄存器的长度有关,当前的机器具有64位PC.
IR的长度(从逻辑角度来看)取决于体系结构:
由于这些机器每个周期可以获取,解码和执行几条指令,因此IR的物理实现很难用几行来描述.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-291059-1.html
预售地址在哪里