【问题标题】:Size of microprocessor微处理器尺寸
【发布时间】:2011-04-18 04:20:26
【问题描述】:

我读到微处理器由几个组件组成,每个组件都有相同/不同的“大小”。但真正让我感到困惑的是,是什么决定了微处理器的规定尺寸是 16 位、32 位还是 64 位...

是吗:

  1. ALU 的容量?
  2. 数据总线的大小?
  3. 地址总线的大小?
  4. 上述“最小公分母”?
  5. 或其他一些我至今不知道的因素?

【问题讨论】:

    标签: microprocessors


    【解决方案1】:

    通常,处理器的位大小是其通用寄存器的大小。这通常对应于内存总线的大小,也可能对应于地址总线,但不一定。

    例如,英特尔出售了一个名为 386SX (http://en.wikipedia.org/wiki/Intel_80386#The_i386SX_variant) 的 386 芯片版本,它在内部是具有 32 位寄存器的 386,但只有 16 位数据总线。我想大多数人会认为该芯片仍然是 32 位处理器,而不是 16 位处理器。

    【讨论】:

      【解决方案2】:

      我想我会去的。传统上,我认为“大小”是指寄存器集中的宽度(位数)。在“我的”第一台计算机上,DEC PDP-8/E 可用的单个寄存器 - 累加器 - 是 12 位宽,它是一个 12 位计算机,在 PDP-11 上,寄存器是 16 位宽,它是一个 16位计算机。 IBM 370 和 VAX 有 32 位寄存器,是 32 位计算机。

      从 80386 开始,事情变得很困难。根据操作模式,它可以显示为实模式 8086、保护模式 (PM) 80286 或 PM 80386。对于使用 AMD64 或 x86-64 的 64 位处理器,您拥有上述所有内容以及 64 位下午。那么它们是什么?它应该取决于在其上运行的操作系统的基本操作模式。 Windows NT 2000、Windows XP-32、Vista-32 7-32 使处理器为 32 位。带有“64”的操作系统使处理器成为 64 位。

      至于公共汽车和其他东西。 x86 处理器地址+数据上有两条物理总线,内存+i/o 有两条逻辑总线。处理器上的特殊引脚决定了操作是内存还是 i/o,读还是写等等。在 8086/8088 上,数据和地址总线与 D0-D15/A0-A7 和 D0-D7 共享相同的引脚 A0-A15,其中位 A16-A19/A8-A19 是严格地址。在 80286 上它们是分开的,不确定 80186/80188。在 80286 上有 24 条地址线和 16 条数据线。在 80386 和 80486 上,地址和数据各有 32 个。 80386SX 的外部配置与 80286 相同。

      在这之后总线变得复杂。处理器在内部运行得如此之快,以至于它们或多或少地不断等待它们的缓存,而这些缓存又或多或少地不断地等待外部 RAM。为了满足高速缓存对数据的贪得无厌的需求,外部存储器开始以 64 位宽的块的形式提供数据,从 Pentium 和 Pentium MMX 开始,它们都是具有 32 个地址线但具有 64 个数据线的 32 位处理器。

      使用后来的处理器,地址线的数量增加到 36 条,允许总可寻址外部存储器为 64 GB。处理器内部保持 32 位。

      在多核处理器上,对数据的渴望更加明显,因此它们可能有几组地址和数据总线,以方便将数据塞进处理器。台式机处理器可能有两个或三个,服务器处理器可能有三到四个。我不确定,但我相信有些人已经切换到 128 位宽的数据总线。

      对于现代 64 位处理器,同时拥有 64 条地址线是不可行的,因为这将允许高达 160 亿千兆字节的内存,而这在今天是不可能的。一些主板允许 128 GB,这意味着处理器至少需要 37 个地址线。

      如您所见,地址和数据总线不再真正可用于确定处理器大小。他们实际上在过去 25 年(80386 模式)中没有。

      在 C 中,int 类型应该等同于寄存器宽度。在 AMD64 上,这并不是因为对 64 位整数的需求不是很大:在大多数情况下,32 位整数就很好。 AMD64 上 C 中的指针宽度是 64 位。

      【讨论】:

        【解决方案3】:

        通常这是指 CPU 可寻址的内存 (2^n) 字节的数量。通常它与数据总线相同,但硬件可能会进行多次访问以检索该数量,因此不能 100% 保证。有时它也对应于 CPU 寄存器大小,但也可能不同。

        【讨论】:

        • 嗯?最初的 IBM PC 使用 8088,有 20 个地址引脚,可以寻址 2^20 字节(约 1 兆字节)。虽然有人讨论过它是“8 位”还是“16 位”,但我不记得有人曾暗示 8088 是 20 位处理器。
        猜你喜欢
        • 1970-01-01
        • 2011-08-08
        • 2014-11-06
        • 2015-12-18
        • 2019-05-20
        • 2012-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多