上個世紀70年代,記憶體又慢又貴, 程式員得想盡一切辦法節省記憶體,
那個時代的編譯器也比較差勁
所以,70年代的程式員幾乎都寫得一手好匯編,
為了幫助程式員寫好匯編,這個時候的CPU也有意把指令集做了增強,
80年代初,Intel 的x86 CPU和微軟的DOS被IBM選中,成為了IBM PC兼容機的處理器和作業系統,
在摩爾定律的支配下, x86 CPU 變得越來越復雜,
最后,連編譯器都受不了了,
IBM研究院的John Cocke發現,處理器提供的大量指令集和尋址方式并不會被編譯器生成的代碼用到,
既然如此,為什么不設計一個新的指令集,保留這最常用的20%的指令呢?
這樣CPU的設計和實作豈不更加簡單?
這就是著名的精簡指令集(RISC)的思路,
當時,IBM,加州大學伯克利分校的David Patterson,斯坦福大學的John Hennessy是RISC研究的先驅,
RISC可不僅僅把指令做了精簡,還有其他一些非常重要的提升,
新理論的誕生從來都不是一帆風順的,當時CICS的一些設計大師就持不同意見,
David Patterson憋著一口氣,帶領自己的學生,設計出了一款RISC處理器, 1982年, RISC-I處理器發布了,
看到RISC有如此表現,一大批公司開始采用RISC的思路來設計處理器,RISC如同星火燎原之勢,迅速攻占了服務器端市場,
雖然牢牢統治者PC市場,但RISC的發展讓Intel 感受到了巨大的壓力,Intel決定兩條腿走路,
但是PC是x86架構,所有的作業系統和軟體都圍繞它來構建,
i860連兼容的作業系統和軟體都沒有,根本就發展不下去,
既然RISC發展不起來,Intel 下定決心,拋棄RISC, 一條道走到黑,
到了1995年,Intel終于找到了辦法,那就是把x86的指令集,解碼成類似于RISC的微操作(uops),執行的時候采用RISC內核,
Intel利用從PC市場賺取的巨額利潤,不斷投入,隨著體系結構和微電子技術的進步,CICS在結構上的劣勢逐漸消失,
在Intel 的進攻下, RISC在服務器CPU市場節節敗退,時至今日,被Intel占據了95%的市場,
再加上桌面市場, x86幾乎完成了壟斷,
RISC就此失敗了嗎?
在90年代和21世紀初,PC占據了主導地位,但是一顆新星正在蟄伏,等待爆發,
但是很遺憾,Newton技術過于超前,用戶體驗糟糕,未被市場接受,以失敗告終,
但ARM積累了經驗,繼續改進技術,沒過多久,便在諾基亞等功能機上獲得了成功,
2007年, ARM終于迎來了自己的黃金時代,
后面的故事大家都比較清楚了, ARM 踏上了移動時代的浪潮,統治了手機市場,
不僅如此,統治了移動市場的ARM,開始反攻服務器和臺式機了!
2007年,David Patterson和John Hennessy由于在RISC領域的卓越貢獻獲得圖靈獎
實際上,回顧CPU過去40年的發展,Intel曾經向RISC學習,搞出了RISC內核,
而ARM也引入了代碼密度更高的新指令集,向CISC取經,
CISC與RISC在指令集架構層面上的差異已經被彌合,
更多精彩技術漫畫,盡在碼農翻身
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/255891.html
標籤:其他
