4

在 Randall Hyde 的组装艺术中,它说 8088 CPU 是 8 位,而 8086 是 16 位,这仅仅是因为数据总线的宽度。

我一直认为地址大小决定了CPU的大小。

请对这个问题有所了解。

4

2 回答 2

3

来自维基百科

然而,16 位寄存器和 1 兆字节的地址范围没有改变。事实上,根据英特尔的文档,8086 和 8088 具有相同的执行单元 (EU)——只是总线接口单元 (BIU) 不同。

所以处理器在功能上是相同的,但内存总线更小。主要目的是为了与 8 位接口兼容。如果需要 16 位接口,则需要 2 个 CPU 周期来完成 8086 可以在一个内完成的任务。

当时有更多的 8 位芯片可供使用。

于 2013-08-12T15:39:20.630 回答
0

我找不到属性“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 位数,请查看通用寄存器的大小。

于 2022-02-06T09:53:48.340 回答