10

它是由地址总线的大小决定的吗?如果是,那么 8086 是 20 位处理器吗?如果没有,为处理器分配 8 位、16 位、32 位等位数的标准是什么?

4

8 回答 8

17

它没有很好的定义。从广义上讲,正如 xtofl 指出的那样,它是计算的原子单元的大小(在早期的计算机中,这并不总是与“寄存器”同义)。所以 PDP-10 是 36 位机器,8080 是 8 位机器,IBM 360 或 Intel 80386 是“32 位”。

但也有例外。摩托罗拉 68000 和 68010 CPU 实现了 32 位寄存器集,但通过微代码在大部分 16 位内部架构之上实现。当时它们通常以“16 位”CPU 的形式销售。

地址总线的大小几乎从来都不是决定因素。例如,所有成功的“8 位”CPU 都实现了 16 位寻址(通常通过奇怪的技巧来弥补单个地址寄存器的不足,参见 6502 的间接寻址模式或 Z80 的 H/L 寄存器)。正如您所提到的,8086 使用其段寄存器寻址来获得 20 个地址线工作(80286 将此技巧扩展到 24 位物理地址)。在另一个方向上,许多“32 位”CPU 具有较小的地址总线来保存不会在内存永远不会超过几兆字节的机器上使用的逻辑:68000 将寻址限制为 24 位,即使指针本身是 32。同样,现代 64 位 CPU 普遍实现少于 64 位的物理地址。

于 2009-09-16T18:22:16.543 回答
2

我想通常你用它的累加器/寄存器的大小来标记它。

于 2009-09-16T18:13:18.997 回答
2

对于 CPU,我会说它是寄存器的宽度。您一次只能对8 bits16-bits32-bits等进行操作。

于 2009-09-16T18:14:41.363 回答
2

据我所知,处理器的位宽取决于内部数据处理电路一次接受多少位。就像如果 ALU 中的加法器、乘法器等接受 16 位操作数,那么 CPU 就是 16 位,如果它接受 32 位,那么它就是 32 位。数据总线或地址总线的宽度是多少并不重要。一般来说,累加器的位长将决定处理器的位长。

于 2011-05-05T03:16:31.063 回答
0

微处理器的位大小(8位、16位、32位)由硬件决定,特别是数据总线的宽度。Intel 8086 是一个 16 位处理器,因为它可以在数据总线上一次移动 16 位。Intel 8088 是一个 8 位处理器,尽管它具有相同的指令集。这类似于摩托罗拉 68000 和 68008 处理器。位大小不是由程序员的观点决定的(寄存器宽度和地址范围)。

于 2009-11-15T02:34:48.923 回答
0

我认为集成芯片的第一个数字是指处理器的类型。如果是 IC 8085,则表示它是 8 位处理器。

于 2010-01-18T12:27:04.743 回答
0

任何处理器都可以通过它的两个属性来指定

  1. 指令集架构 &
  2. 不。它可以在单个时钟周期内处理的位数。

以 Intel 的 IA-32 架构为例,也称为 x86-32 ,这里 x86 表示架构,32 表示 32 位处理器

X架构

有许多架构

x86 之前的 x86

-Intel的IA-32架构,也叫x86-32 -x86-64 - -与AMD的AMD64和Intel的Intel 64版本的它 - 摩托罗拉的6800和68000一个

架构ARM7

Y位处理器

:简单地说,它是 cpu/处理器在单个时钟周期内的数据处理能力。假设它是一个 8 位处理器,那么在一个时钟周期内,ALU 只能对 8 位数据执行操作。(请注意,此操作可能是内部操作,如 add/sub 以及将数据传输到其他 IO 设备)

classification Based on Registers-

除了 ALU 和 CU 之外,处理器还包含一些内存位置,称为寄存器。根据处理器的不同,寄存器通常可以存储 8、16、32 或 64 位。特定处理器的寄存器大小允许我们对处理器进行分类。寄存器大小为 n 位的处理器称为 n 位处理器,因此具有 8 位寄存器的处理器称为 8 位处理器。

classification Based on databus width-

由于 alu 只能在单个时钟周期内处理 8 位数据,因此数据总线宽度超过该宽度是没有意义的,并且 8 位处理器将具有 8 位宽数据总线,因此数据总线宽度也可以是另一种查找方法输出处理器的位处理能力。对于具有 n 位数据总线的处理器,意味着 CPU 可以在一次操作中将 n 位传输到另一个设备。

对于这个问题:

“假设我们有一个 32 位 ALU,即一次可以占用 32 位,而我们的数据总线大小为 16 位,即一次可以保存 16 位数据,那么答案将是什么。在这种情况下......? "

这种处理器的例子是 intel 8088 & Moto 68000

使用总线宽度分类,英特尔 8088 微处理器是 8 位处理器,因为它使用 8 位数据总线,尽管它的 CPU 寄存器实际上是 16 位寄存器。同样,摩托罗拉 68000 被归类为 16 位处理器,尽管它的 CPU 寄存器是 32 位寄存器。有时使用这两种分类的组合,其中 8088 可能被描述为 8/16 位处理器,而摩托罗拉 68000 可能被描述为 16/32 位处理器。

于 2014-09-03T17:03:44.393 回答
0

微处理器的字长(8 位、16 位或 32 位)是执行单元中数据路径的大小。通常,这是累加器的大小。这是执行单元大小。一个重要的例子是 8088,它是一台在 8 位总线上运行的 16 位计算机。8085 是 8 位的。8086/8088 是 16 位的。80386 是 32 位的。现代英特尔处理器是 64 位的。

于 2017-01-05T09:28:22.367 回答