最早的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次方。

不必糾結於此問題,你繼續往後看,慢慢就全都明白了。

本人學過微機原理,因為印象深刻還依稀還記得一些。如有不準確之處,還望其他答主能夠指出。


推薦閱讀:
相关文章