A. 精簡指令集的發展背景
在早期的計算機業中,編譯器技術尚未出現。程序是以機器語言或匯編語言完成的。為了便於編寫程序,計算機架構師造出越來越復雜的指令,可以高階程序語言直接陳述高階功能。當時的看法是硬體比編譯器更易設計,所以復雜的東西就加進硬體了。
加速復雜化的其它因素是缺乏大內存。內存小的環境中,具有極高訊息密度的程序較有利。當內存中的每一位元組如此珍貴,例如儲存某個完整系統只需幾千位元組,它使產業移向高度編碼的指令、長度不等的指令、執行多個操作的指令,和執行數據傳輸與計算的指令。當時指令封包問題遠比易解的指令重要。
那時使用磁性技術,內存不僅小,而且很慢。這是維持極高訊息密度的其它原因。借著具有極高訊息密度封包,當必須存取慢速資源時可以降低頻率。
CPU只有少數緩存器的兩個原因︰
CPU內部緩存器遠貴於外部內存。以當時的集成電路技術水準,大緩存器集對晶元或電路板區域只是多餘的浪費。
具有大數量的緩存器將需要大數量的指令位(使用珍貴的RAM)以做為緩存器指定器。
基於上述原因,CPU設計師試著令指令盡可能做更多的工作。這導致一個指令將做全部的工作︰讀入兩個數字,相加,並且直接在內存儲存計算結果。其它版本將從內存讀取兩個數字,但計算結果儲存在緩存器。另一個版本將從內存和緩存器各讀一個數字,並再次存入內存。以此類推。這種處理器設計原理最終成為復雜指令集(CISC)。
當時的目標是給所有的指令提供所有的定址模式,此稱為「正交性」。這在 CPU 上導致了一些復雜性,但就理論上每個可能的命令都可以單獨的調試(調用,be tuned),這樣使得程序員能夠比用簡單的命令來得更快速。
這類的設計最終可以由光譜的兩端來表達, 6502 在光譜的一端,而 VAX 在光譜的另一端。單價25美元的 1MHz 6502 晶元只有單一的通用緩存器, 但它的極精簡的單周期內存界面(single-cycle memory interface)讓一個位的操作效能和更高頻率設計幾乎相同,例如 4MHz Zilog Z80 在使用相同慢速的記憶晶元下(大約近似 300ns)。 IBM公司設在紐約Yorktown的JhomasI.Wason研究中心於1975年組織力量研究指令系統的合理性問題.因為當時已感到,日趨龐雜的指令系統不但不易實現.而且還可能降低系統性能.1979年以帕特遜教授為首的一批科學家也開始在美國加州大學伯克萊分校開展這一研究.結果表明,CISC存在許多缺點.首先.在這種計算機中.各種指令的使用率相差懸殊:一個典型程序的運算過程所使用的80%指令.只佔一個處理器指令系統的20%.事實上最頻繁使用的指令是取、存和加這些最簡單的指令.這樣-來,長期致力於復雜指令系統的設計,實際上是在設計一種難得在實踐中用得上的指令系統的處理器.同時.復雜的指令系統必然帶來結構的復雜性.這不但增加了設計的時間與成本還容易造成設計失誤.此外.盡管VLSI技術現在已達到很高的水平,但也很難把CISC的全部硬體做在一個晶元上,這也妨礙單片計算機的發展.在CISC中,許多復雜指令需要極復雜的操作,這類指令多數是某種高級語言的直接翻版,因而通用性差.由於採用二級的微碼執行方式,它也降低那些被頻繁調用的簡單指令系統的運行速度.因而.針對CISC的這些弊病.帕特遜等人提出了精簡指令的設想即指令系統應當只包含那些使用頻率很高的少量指令.並提供一些必要的指令以支持操作系統和高級語言.按照這個原則發展而成的計算機被稱為精簡指令集計算機(RecedInstructionSetComputer-RISC)結構.簡稱RISC.

B. 簡述精簡指令risc和復雜指令cisc的區別
RISC(精簡指令集計算機)和CISC(復雜指令集計算機)是當前CPU的兩種架構。它們的區別在於不同的CPU設計理念和方法。
早期的CPU全部是CISC架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。比如對於乘法運算,在CISC架構的CPU上,您可能需要這樣一條指令:MUL ADDRA, ADDRB就可以將ADDRA和ADDRB中的數相乘並將結果儲存在ADDRA中。將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作全部依賴於CPU中設計的邏輯來實現。這種架構會增加CPU結構的復雜性和對CPU工藝的要求,但對於編譯器的開發十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。今天只有Intel及其兼容CPU還在使用CISC架構。
RISC架構要求軟體來指定各個操作步驟。上面的例子如果要在RISC架構上實現,將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作都必須由軟體來實現,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。這種架構可以降低CPU的復雜性以及允許在同樣的工藝水平下生產出功能更強大的CPU,但對於編譯器的設計有更高的要求。
C. 精簡指令和完全指令
應該是精簡指令集和復雜指令集,他們各有千秋,不能一概而論。
復雜指令集(如X86指令集)每條指令功能很強,對於編程人員來說會簡化編程。但是硬體上實現復雜,所以容易功耗大。
精簡指令集是最常用的功能做成指令,每條指令完成的任務相對簡單,所以容易實現,尤其是容易做流水和超標量處理器。但對於軟體人員來說,寫程序就啰嗦點,因為每條指令簡單,所以同樣的功能,用精簡指令集寫,可能要更多的指令才能完成。
D. 精簡指令集和復雜指令集在指令系統方面的主要區別
不知道各位是不是程序員,下面以程序員的角度分析一下:
程序員視角:
CISC指令相當於粗粒度的介面,一次能做很多事情,且性能高
RISC指令相當於細粒度的介面,只能做通用的操作,且調用方需要發送更多指令
軟體設計師視角:
CISC指令相當於faced模式,組合了更多的操作
RISC指令相當於抽出的通用方法,組合方式更多,更靈活
其他我知道的知識:
RISC(精簡指令集計算機)
能耗低:不太確定原因,不瞎說了(可以參考上面的老哥的回復).想不通具體原因.
可執行代碼長(佔用空間大):編譯出的可執行代碼很啰嗦,就像上面的老哥回復的一樣.
可用指令少:只實現了常用的指令,精簡指令集
指令長度與執行時間整齊:由於精簡指令,故指令長度設計成整齊的長度,指令執行時間也幾乎都是1個時鍾周期.
CISC(復雜指令集計算機)
能耗高:不確定原因.(猜測可能與寄存器數量有關)
可執行代碼短:可執行代碼很短,因為有粗粒度命令.也就是說,同一段程序,若編譯成RISC和CISC,那CISC的編譯後文件會小很多
可用指令多:實現了更多命令
指令長度與執行時間不整齊:由於指令很多,粒度粗細的都有,(以下 是猜猜)故設計時應將常用的指令設計成短指令,不常用的指令設計成長指令.且由於有粗粒度指令,所以執行的長短無法都規范到一個時鍾周期,有些指令可能會執行很久.
E. 我國具有自主知識產權的CPU的名稱是
龍芯。
「龍芯」是我國最早研製的高性能通用處理器系列,於2001年在中科院計算所開始研發,得到了中科院、863、973、核高基等項目大力支持,完成了十年的核心技術積累。2010年,中國科學院和北京市政府共同牽頭出資,龍芯中科技術有限公司正式成立,開始市場化運作,旨在將龍芯處理器的研發成果產業化。
來自中國科學院計算技術研究所的胡偉武表示,十八大以來,龍芯邁出了關鍵的一步,就是從科學院的「象牙塔」走向了市場,包括國家戰略安全的市場以及開放的市場。龍芯已經應用於包括北斗衛星在內的十幾種國家重器中,以及應用於黨政辦公等信息系統中,還走到了國外,首先實現了從基本可用到可用的跨越。

(5)中國精簡指令版權擴展閱讀:
代表著國際IT頂尖技術的CPU晶元一直被英特爾等國外巨頭所壟斷,中國企業及消費者為之付出了巨額版權費。龍芯先後推出了「龍芯1號」、「龍芯2號」,打破了中國無「芯」的歷史。「龍芯」的誕生被業內人士譽為民族科技產業化道路上的一個里程碑。
商品化的「龍芯」1號CPU的研製成功標志著中國已打破國外壟斷,初步掌握了當代CPU設計的關鍵技術,為改變中國信息產業「無芯」的局面邁出了重要的步伐,對中國形成有自主知識產權的計算機產業有重要的推動作用,對中國的CPU核心技術、國家安全、經濟發展都有舉足輕重的作用。
F. arm用的精簡指令集和x86相比是把什麼精簡掉了
精簡了指令數目,是相對整體指令而言。RISC微處理器不僅精簡了指令系統,採用超標量和超流水線結構;它們的指令數目只有幾十條,卻大大增強了並行處理能力。
G. 精簡指令集計算機和復雜指令集計算機有什麼區別
指令的條數不一樣:精簡指令集一般少於100條,而復雜指令集是100條往上,多達二三百條,像奔騰的一般在191條。
我們老師是這么講的:精簡指令系統計算機,選取使用頻率最高的一些簡單指令,指令條數少;指令長度固定,指令格式種類少;只有取數/存數訪問存儲器,其餘指令的操作都在寄存器間進行。
復雜指令系統計算機:指令系統復雜全面,常用指令僅僅占總指令系統的20%,使用頻率佔80%。
H. 中國民用CPU為什麼發展不來 ,加構指令有復雜指令Alpha 和精簡指令的MIPS 可以選擇或兩
你先查查windows市場佔有率
你再查查瓦森納條約
沒有市場,沒有資金。一個企業不可能一輩子靠國家
瓦森納條約禁售你高端設計,光刻機。台灣台積電能買到最新機器,而中國就是不賣你,等你研發28nm,馬上開放28nm,讓本土企業研發企業不賺錢,不賺錢如何研發下一代。
系統軟體環境,是你一天能解決的?這高佔有率,基本你要世界決裂,學朝鮮啊?
I. 為什麼電腦不用精簡指令集
計算機發展分兩個方向,一個是朝海量存儲和高性能方向發展。另一個是向低功耗,微型化發展(手機也可以算作是一種計算機)。這是兩個完全相反的發展趨勢,海量存儲和高性能必然帶來大功耗,而低功耗必然限制其性能的提升。
在電腦(傳統PC)上,使用的是X86或者X64架構的處理器,使用復雜指令集。手機(包括平板)上,使用的是ARM架構(V7,A9,A15之類),使用精簡指令集。ARM的處理能力不能跟PC處理器的處理能力相提並論。32位PC的定址能力可以達到4G,64位的定址能力很更強。而ARM的定址能力理論上最多隻有64K,實際上我們最多隻用十幾K。
手機的浮點運算能力非常弱,但整數運算尚可,一般都用來做定點運算,(為浮點專門設計的除外),如果是必須進行少量的浮點運算的話,可以用定點來模擬浮點運算,給出的結果是一樣的,不過過程其實是用定點來做的,速度比不上浮點專用處理器,但是也是效率蠻高的,在對實時性要求不高的場合可以代替浮點專用處理器使用。intel和AMD為x86復雜指令集,在流水線和緩存技術上大幅超越手機CPU。
給大家提供兩個對比數據來看下:
1.3G左右的ARM處理器浮點能力在10MFLOPs/s左右;2.5G的intel四核Q8300在25GFLOPs/s左右,差了2500倍,就算精簡到單核1.3G,也有將近4GFLOPs/s,相信可以看出兩者之間的差距了。
至於圖形處理能力,跟專用圖形處理晶元比,兩者一般都不出眾,他們一般都把圖形處理任務分離出去(交由GPU進行處理),減輕CPU的負擔,節約出CPU資源做其它用途。
J. 精簡指令集和復雜指令集的幾個疑問手機我們精簡指令集是因為精簡指令集對機器硬體性能要求相對較低還是
用到精簡指令是因為當年的CPU沒錯非常小,只能夠不斷減少他的一些功能而又能夠實用,所以才有精簡指令這回事