字體:小 中 大 | |
|
|
2011/05/27 19:40:35瀏覽17133|回應3|推薦2 | |
本文是回應一個網友關於“CISC之於RISC誰更先進”。作者在原文中認為,以intel為代表的CISC取得巨大的商業成功為據,認為CISC比RISC更加先進。 本人在國外就是專攻計算機CPU Architecture。 RISC是使用R,R,R 模式,就是說,RISC指令集的所有算元和結果都是放在register裡面,因為RISC指令集是固定長度指令,就是所謂的32位元,特別是SUN SPARK機制,使用的是Register Window模式,很多情況下,不需要接觸內存,所有算元和結果都在register裡面完成,當一組算元算完結果以後,下一組算元就是直接利用上一組的計算結果,如果register用完,就彈出另外一組新的register。 CISC指令集,因為是變長度指令,從2到6個byte,現在的新的指令,已經出現8個byte的指令了,Register根本放不下,所以只能使用R,M.M模式,也就是說,使用的是寄存器,內存,內存模式,算元最多只有一個在寄存器中,結果也只能放在內存中。 這裡說說計算機CPU,register和內存的關係。 Register是封裝在CPU內部的儲存單元,內存是通過系統bus連結的儲存單元,形象一點,就像你在車間裡面做事情一樣,register就像你放在桌面的東西,隨時可以拿起來用。內存,就好像是倉庫,要用,必須通過bus尋址再訪問,所以通常CPU訪問register的速度,比訪問內存的速度快12到40倍,現代計算機的bus速度很快,CPU訪問Register的速度也比訪問內存的速度要快9倍。 本人曾經在國外的大學做過一個試驗,這個試驗突破了教授的多年記錄。模擬環境是,寫一段C語言的應用程序,通過同樣版本GCC的編譯器產生執行程序,然後在同主頻的intel PII和SUN SPARK上面運行,我的結果是這段程序在SUN上面的運行速度,比在同主頻的intel上的運行速度快192倍。教授當時的期望值是大約30倍,而我的試驗程序充分地利用了SPARK的Register window機制, 可以把spark的潛能發揮出來. 以RISC為代表的,是蘋果PPC,SUN SPARK, DEC Alpha, MIPS, 以CISC為代表的,是Intel 和AMD。intel流行起來,不是他先進,而是推廣做得好和肯大力投入,利用更加快的CPU主頻來掩蓋Architecture本身的缺陷。中國的CPU龍芯,就是採用MIPS框架,也就是使用的是RISC,精簡指令集。MIPS64,是64位元的指令集,可以直接在寄存器中處理浮點運算,性能非凡。目前流行的多核CPU,其實作用有限,因為幾乎所有計算的下一步運算總是要等待上一個運算的結果,多了一個CPU內核,也是說在處理圖形和多媒體等大量可以並行處理的數據時有效,其他應用,用不上,還是要等。 本人一直用着一款1.5GHz的powerPC的 Apple powerbook G4.運行photoshop一類的大型軟件,絕對不會比3.2GHz的intel慢。 中國科學院的院士們不是傻瓜,他們引進MIPS作為龍芯的基礎,絕對不是因為版權或者是技術封鎖問題,龍芯的主頻不需要那麼快,在實際應用中,就會比intel的CISC跑得快。美國對intel進行技術封鎖,不是因為它先進,而是因為它有好幾款CPU被美軍固化在彈道方程和其他軍事應用裡面。
|
|
( 創作|另類創作 ) |