最早的16位CPU——8086配套的浮点处理器8087就是80位寄存器,不是2的n次方。


纯粹是因为不方便,63位的寄存器为什么不行?当然可以,这不违反当代计算机架构。二进位怎么了?只是这种标新立意没有任何收益,所以大家不用而已。


36-bit computing?

en.wikipedia.org


因为计算机只认识0和1


x位二进位数,所能代表的数是2^x位,如果是其他数位,造成浪费


因为不好设计,也不好玩,这个复制阵列就可以,其他数麻烦,还容易出问题。


因为寄存器最基本的是通过多位0和1这两个硬体底层只能识别的基础数字所构成的排列组合来形成指令或构成存储空间标识。

这个寄存器位数不是你所理解的一般意义上的「位数数量」,你可以理解为这个位数代表的是计算能力或存储能力。计算能力或存储能力如何理解呢?就是多个0和1构成的一个个指令,这些指令一共会有2的n次方种,并且硬体要对应这么多种指令所需能力。

举个例子,一组一共n个盒子,盒子有两种,一种只能装1,一种只能装0,有多少种可能的盒子组合?明白了吧,1与0是成对出现的,故不会出现奇数。当然实际上比这复杂得多,但可以作为理解原理用。

故只可能是2的n次方。

不必纠结于此问题,你继续往后看,慢慢就全都明白了。

本人学过微机原理,因为印象深刻还依稀还记得一些。如有不准确之处,还望其他答主能够指出。


推荐阅读:
相关文章