截至目前,我们正在使用32位和64位类型的CPU。我知道这些架构的概念。但为什么它分别设计为16,32或64。为什么我们不能设计像10,20,30或任何其他数字的架构。如果我们这样设计,我们将面临的问题是什么?
答案 0 :(得分:2)
这与两个人的权力没什么关系 它主要是一种历史人工制品。
例如,我们拥有/ 36-bit,24-bit的架构 维基百科有一个whole table的架构及其字大小。
在主流处理器中使用16,32和64这样的数量来自于它们是8的倍数的倍数。
8位是字节采用的大小之一,字节通常是足以容纳字符的最小量,并且必须由处理器有效处理。
18,24,36位等数量的出现是因为在20世纪中期计算机每个字符使用6位并且为了节省一些电线,设计人员使用了更少但更宽的寄存器。
每个寄存器都与字符大小的倍数一样宽,今天在字符大小为8位时仍然如此(由于当时EB的EBCDIC的扩散)。
将寄存器大小加倍的趋势(如果以2的幂开始产生2的幂)是由于集成过程的进步,允许更密集的芯片。
它的优点是最大量(比如64)总是每最小量的整数倍(例如64 = 2 * 32 = 4 * 16 = 8 * 8)。
在并行/矢量处理方面,这一点特别好 例如,128位寄存器可以看作是保持16个字节或4个32位单精度浮点数,如果寄存器大小为120位,那么它仍将保持整数个字节(15)但只有3个FP浪费了24位。
如果IBM坚持使用6位字节,那么今天我们将拥有6,12,24,48位架构。
两个人的权力在CS中非常方便,但在这种情况下,它们只是副作用。