為什麼計算機的底層不用八進位、十進位、十六進位等等?
cs學生一枚,在學計組原理,感覺理論上是可以實現的呀~比如說將電平分為多個層次,這樣子的話一個比特就可以表示8個或10個或16個數據了,這樣的話不就可以增加存儲器的容量了?(合理討論,理性探討)
可以是可以,但不光得表示數據,還得傳輸、處理數據,這就是麻煩了,得增加多少電路啊。
你知道SSD的MLC,TLC,QLC嘛,就是靠多電平,完全可以當四進位,八進位,十六進位來理解,但帶來的影響是速度慢了。
沒記錯的話,蘇聯那幫人搞出過三進位的門電路,沒有詳細研究過。
三進位的門電路沒有顯著優勢
存儲上:
mos管上放電阻就很麻煩,非常麻煩。
單位元件的存儲密度可能變大了,但是單位面積的存儲密度不見得會更大。
信號傳遞上:
你以為的高電平是一個完美的高電平,我要5V就是5V 實際上的高電平,有可能是4.6±0.4V跳舞
你以為的低電平就是0,實際上可能是1V左右跳舞
為了分好多層,只有兩個辦法
1、讓跳舞的電平消停點。
2、電壓升高,差分大法好
所以做好了以上兩點以後,我們發現,只要把頻率提高,就能更快了。沒有必要再引入其他進位。
(從信息的角度來說,e進位是效率最高的。)
理論上應該是可以實現的,但是在工程技術實現要考慮介質(材質、價格)、容錯(多層次電平對技術要求要格,容錯率低)、編碼格式(二進位目前使用補碼格式,如果是多進位,需要找到合適的編碼格式)等等,只要把這些問題都解決了,才能使用多進位吧,而不僅僅是理論上的。
因為計算機的發明者先賢所處的時代的局限性使然,在那個時候,人對電的各種屬性的操控性並沒有達到隨心所欲的地步(現在好多了),利用電的某些屬性作為信息的載體並操控這些屬性時困難重重。而且也不是所有的先賢都一上來就二進位,比如ENIAC的工程師一上來還想用十進位呢,並有部分電路確實用的是十進位。馮諾依曼後期作為顧問發現這個問題其實可以用世界上最簡單的二進位來解決對電信息載體處理手段複雜的狀況(只處理兩種狀態還不簡單),於是乎寫了備忘錄,指出了方向,於是以後數字式計算機就沒有其它進位的事了。也許人類對電物理載體遊刃有餘的時代到來後,回歸十進位或者你說的其它進位未嘗不是不可能的。
將電平分為許多層次會導致非常不穩定。存儲器由DRAM組成,電容的電會流失,二進位都需要不斷的刷新,八進位很難得到穩定的輸出。也沒有相應的八進位邏輯電路。
多電平不好分辨吧,萬一有個干擾就錯了
不好糾錯啊…
二進位的情況下有一個bit反轉了 我們把它翻回去就好了
八進位下有一個bit錯了,即便你知道他不對你也不知道他之前的值是多少
沒有糾錯能力cpu就基本上沒發工作
能用0 1 表示為什麼還用別的呢 這不浪費資源么
推薦閱讀: