16位寄存器对是否使机器成为16位?

时间:2012-12-05 01:38:50

标签: assembly machine-instruction vm-implementation

我从1月开始为xbox制作一个虚构的复古虚拟机(我根本没有复制0x10c,事实上我的项目已经过时了。只是把它放在那里,只有一些缺口的粉丝读过这个)它有6个通用的目的寄存器。这些是8位但是所有都可以组合成3个16位寄存器,存储器地址虽然是16位,程序计数器也是如此。我知道这是一个愚蠢的问题,但我无法弄清楚这一点,是16位还是8位? z80使用16位地址,为8位

3 个答案:

答案 0 :(得分:1)

据我所知和经验,处理器的通用寄存器的位宽决定了它,因为所有的计算都依赖于时钟速度,并且它只能处理通用寄存器的数量。

例如,在32位处理器中,它可以通过寄存器串联进行64位计算,但不能将其称为64位处理器。当然在32位处理器中有一些64位扩展指令,但它们消耗双时钟,两步。

我认为您的处理器设计者只想扩展内存地址空间以支持更大的内存。

所以,我的结论是8位处理器。

答案 1 :(得分:0)

您的处理器可以一次处理16位数据,还是在幕后使用两个独立的8位操作?如果是前者,那就是16位。如果是后者,那就是8位。

根据您的描述,它听起来像是16位,因为它使用16位进行数据寻址。

答案 2 :(得分:-1)

构成16位处理器的最常见定义是处理器可以使用本机指令处理的最长整数类型的大小。如果您的虚拟机具有对16位寄存器进行操作并提供16位输入的算术指令,则它可以作为16位计算机。

另一个常见的定义是地址空间的大小。由于您的虚拟机具有16位地址,因此它也有资格为16位。

相关问题