在 Randall Hyde 的组装艺术中,它说 8088 CPU 是 8 位,而 8086 是 16 位,这仅仅是因为数据总线的宽度。
我一直认为地址大小决定了CPU的大小。
请对这个问题有所了解。
然而,16 位寄存器和 1 兆字节的地址范围没有改变。事实上,根据英特尔的文档,8086 和 8088 具有相同的执行单元 (EU)——只是总线接口单元 (BIU) 不同。
所以处理器在功能上是相同的,但内存总线更小。主要目的是为了与 8 位接口兼容。如果需要 16 位接口,则需要 2 个 CPU 周期来完成 8086 可以在一个内完成的任务。
当时有更多的 8 位芯片可供使用。
我找不到属性“x-bit cpu”的任何官方定义,我想它不存在。
我会说“x-bit cpu”属性表明cpu可以一次操作“x-bits”大小的数据(在芯片内部)。更具体地说,它具有“x”位大小的所谓通用寄存器。因此它可以一次添加(减、除、乘、异或等)“x 位”长度的数据。
8086 has 16-bit general registers = 16-bit cpu
8088 has 16-bit general registers = 16-bit cpu
80510 has 32-bit general registers = 32-bit cpu
同样,该属性的官方定义是未知的。
关于ia-32的 wiki 说 =
IA-32 的主要定义特征是 32 位通用处理器寄存器(例如,EAX 和 EBX)、32 位整数算术和逻辑运算、保护模式下段内的 32 位偏移的可用性,以及将分段地址转换为 32 位线性地址。
我更倾向于认为通用寄存器的bitnes足以确定x位cpu属性。
有趣的是,英特尔本身不时使用不同的标准来定义 CPU 位数。如果您查看官方的英特尔文档,它会说
8088是8位hmos微处理器
(我想他们基于 8 位数据总线接口定义了 8 位 CPU。记住这个标准)。同时他们在同一份文件中说cpu有
16位内部架构
这很有趣.. 8 位 cpu 和 16 位内部架构。
好的。让我们看另一个例子 Intel pentium 510。
他们说是
32位微处理器
cpu 具有 64 位数据总线,因此根据前面的示例,我们需要说 intel 510 是 64 位 cpu,但这是错误的。
结论 - 要确定 CPU 位数,请查看通用寄存器的大小。