網路城邦
上一篇 回創作列表 下一篇   字體:
RISC(精簡指令集) vs CISC(複雜指令集) ,誰更好
2011/05/27 19:40:35瀏覽17133|回應3|推薦2
本文是回應一個網友關於“CISC之於RISC誰更先進”。作者在原文中認為,以intel為代表的CISC取得巨大的商業成功為據,認為CISC比RISC更加先進。

RISC和CISC指令集,是一個流行的問題,CISC流行起來,並不是表示CISC先進,從CPU Architecture來說,任何時候都是RISC Architecture 比CISC指令集先進。

本人在國外就是專攻計算機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被美軍固化在彈道方程和其他軍事應用裡面。
( 創作另類創作 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=weiyi65&aid=5260959

 回應文章

Zeitgeist
等級:2
留言加入好友
2015/08/24 05:44
博主寫得很好~~~Linux和Wintel根本不一樣大笑


等級:
留言加入好友
再补一个链接吧
2011/11/29 15:34

http://www.barefeats.com/quad06.html

四核2.5GHz Power G5相比几年前的四核3GHz Xeon已经全面落败了



等級:
留言加入好友
不能同意
2011/11/29 15:14

 
偶然搜索到博主的文章,看完之后有些评论想说,专门注册了账号

1、CISC和RISC只是适应不同环境下的需求罢了,CISC出现是因为储存器价格高昂,RISC出现是因为储存器的瓶颈解决了,非要说一个比另一个先进我觉得不太有道理。CISC一个周期可以进行RISC多个周期的操作,如果合理利用同样可以产生性能优势

2、谁说CISC的寄存器放不下指令的,寄存器大小从来都是跟指令大小相匹配,这也算是常识吧。比如x86-64有16个64位通用寄存器,何来放不下8byte指令一说?且不说RISC不同架构寄存器数量不尽相同,再怎么强大的处理器数据还是来自内存的,而Cache跟处理器架构并无关系。

3、异构同主频比较意义不大,架构都不一样,如果没记错P2连乱序执行都没有,跟今天的处理器性能差距大了

4、基于Power4的PowerPC处理器不是什么强大的东西,无论是实机体验还是评测都能看出明显差距,无论整数还是浮点都差当今Intel处理器一大截http://www.primatelabs.ca/geekbench/mac-benchmarks/
Photoshop在Intel平台和IBM平台上的性能差距也能找到评测,所谓.15GHz Power比3.2GHz Intel处理器性能好的说法是非常站不住脚的(也许1.5GHz双核 PowerPC G5比P4 3.06可以吧)

5、相对于CISC落后,更合理的说法是x86架构比较落后,原因是为了保持向后兼容性。但是通过其它技术的进步以及解码编码micro ops,x86在性能上并无很大劣势,并且在HPC占有率越来越高。而使用“先进”的RISC架构的安腾处理器性能相当可怜,MIPS几乎已死,靠着小众市场生存。ARM主打低功耗,性能离x86很远。