architecture - 为什么位数总是(?)2的幂?

标签 architecture hardware theory bit

我们有8位、16位、32位和64位硬件架构和操作系统。但不是 42 位或 69 位的。

为什么?是否有一些基本因素使 2^n 位成为更好的选择,或者只是与现有系统兼容? (一个64位寄存器可以容纳两个32位指针,或者一个32位数据单元可以容纳4个字节,显然很方便。)

最佳答案

这主要是一个传统问题。这甚至并不总是正确的。例如,处理器(甚至是现代处理器)中的浮点单元具有 80 位寄存器。并且没有什么会强制我们使用 8 位字节而不是 13 位字节。

有时这有数学推理。例如,如果您决定使用 N 位字节并想要进行整数乘法,则需要 2N 位来存储结果。然后,您还需要对这些 2N 位整数进行加/减/乘,现在您需要 2N 位通用寄存器来存储加/减结果,以及 4N 位寄存器来存储乘法结果。

关于architecture - 为什么位数总是(?)2的幂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606827/

相关文章:

API设计: HTTP Basic Authentication vs API Token

java - 我应该让业务流程管理应用程序在 Google App Engine 上运行,还是切换到更正常的平台

java - 如何获取 PC 主板的温度(以及其他硬件统计数据)?

android - 如何将蓝牙数据发送到未知设备?

security - 如何编写利用英特尔 IPT 硬件的应用程序?

php - SHA-1 哈希可以是纯数字吗?

javascript - while 循环中的异步函数

.net - 如何将位图存储在.NET的内存中?

database - 将业务规则建模到数据库中

python - 模逆计算卡住了