是否由地址总线的大小决定;如果是,那么 8086 是 20 位处理器吗?如果不是,为处理器分配位数(例如 8 位、16 位、32 位)的标准是什么?

有帮助吗?

解决方案

它没有明确定义。从广义上讲,正如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位的物理地址。

其他提示

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

关于CPU,我会说它是寄存器的宽度。您只能在 8位上执行操作, 16位 32位,等等。

据我所知,处理器的位宽由内部数据处理电路一次接受的位数决定。就像ALU中的加法器,乘法器等接受16位操作数一样,CPU是16位,如果它接受32位,那么它是32位。数据总线或地址总线的宽度无关紧要。通常,累加器的位长度将决定处理器的位长度。

微处理器的位大小(8位,16位,32位)由硬件决定,特别是数据总线的宽度。 Intel 8086是一个16位处理器,因为它可以通过数据总线一次移动16位。 Intel 8088是一个8位处理器,即使它具有相同的指令集。这类似于Motorola 68000和68008处理器。位大小不是由程序员的视图(寄存器宽度和地址范围)决定的。

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

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

  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 A

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位IE它可以一次持有16位数据。在这种情况下...?”

此类处理器的示例是 intel 8088 和 Moto 68000

按照总线宽度分类,Intel 8088微处理器是一个8位处理器,因为它使用8位数据总线,尽管它的CPU寄存器实际上是16位寄存器。同样,Motorola 68000 被归类为 16 位处理器,尽管其 CPU 寄存器是 32 位寄存器。有时会使用两种分类的组合,其中 8088 可能被描述为 8/16 位处理器,而 Motorola 68000 可能被描述为 16/32 位处理器。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top