自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

終于有人把各個指令集之間的關(guān)系和發(fā)展講清楚了

安全 應(yīng)用安全
RISC-V(讀作“RISC-FIVE”)是一個基于精簡指令集(RISC)原則的開源指令集架構(gòu)(ISA)。與大多數(shù)指令集相比,RISC-V指令集可以自由地用于任何目的,允許任何人設(shè)計、制造和銷售RISC-V芯片和軟件。

 [[265957]]

RISC-V

RISC-V(讀作“RISC-FIVE”)是一個基于精簡指令集(RISC)原則的開源指令集架構(gòu)(ISA)。與大多數(shù)指令集相比,RISC-V指令集可以自由地用于任何目的,允許任何人設(shè)計、制造和銷售RISC-V芯片和軟件。雖然這不是開始的開源指令集,但它具有重要意義,因為其設(shè)計使其適用于現(xiàn)代計算設(shè)備(如倉庫規(guī)模云計算機、高端移動電話和微小嵌入式系統(tǒng))。設(shè)計者考慮到了這些用途中的性能與功率效率。該指令集還具有眾多支持的軟件,這解決了新指令集通常的弱點。

RISC-V 的特點有:

1.完全開源

對指令集使用,RISC-V基金會不收取高額的授權(quán)費。開源采用寬松的BSD協(xié)議,企業(yè)完全自有免費使用,同時也容許企業(yè)添加自有指令集拓展而不必開放共享以實現(xiàn)差異化發(fā)展。

2.架構(gòu)簡單

RISC-V架構(gòu)秉承簡單的設(shè)計哲學(xué)。體現(xiàn)為:

在處理器領(lǐng)域,主流的架構(gòu)為x86與ARM架構(gòu)。x86與ARM架構(gòu)的發(fā)展的過程也伴隨了現(xiàn)代處理器架構(gòu)技術(shù)的不斷發(fā)展成熟,但作為商用的架構(gòu),為了能夠保持架構(gòu)的向后兼容性,其不得不保留許多過時的定義,導(dǎo)致其指令數(shù)目多,指令冗余嚴重,文檔數(shù)量龐大,所以要在這些架構(gòu)上開發(fā)新的操作系統(tǒng)或者直接開發(fā)應(yīng)用門檻很高。而RISC-V架構(gòu)則能完全拋棄包袱,借助計算機體系結(jié)構(gòu)經(jīng)過多年的發(fā)展已經(jīng)成為比較成熟的技術(shù)的優(yōu)勢,從輕上路。RISC-V基礎(chǔ)指令集則只有40多條,加上其他的模塊化擴展指令總共幾十條指令。 RISC-V的規(guī)范文檔僅有145頁,而“特權(quán)架構(gòu)文檔”的篇幅也僅為91頁。

3.易于移植*nix

現(xiàn)代操作系統(tǒng)都做了特權(quán)級指令和用戶級指令的分離,特權(quán)指令只能操作系統(tǒng)調(diào)用,而用戶級指令才能在用戶模式調(diào)用,保障操作系統(tǒng)的穩(wěn)定。RISC-V提供了特權(quán)級指令和用戶級指令,同時提供了詳細的RISC-V特權(quán)級指令規(guī)范和RISC-V用戶級指令規(guī)范的詳細信息,使開發(fā)者能非常方便的移植linux和unix系統(tǒng)到RISC-V平臺。

4.模塊化設(shè)計

RISC-V架構(gòu)不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過一套統(tǒng)一的架構(gòu)滿足各種不同的應(yīng)用場景。用戶能夠靈活選擇不同的模塊組合,來實現(xiàn)自己定制化設(shè)備的需要,比如針對于小面積低功耗嵌入式場景,用戶可以選擇RV32IC組合的指令集,僅使用Machine Mode(計算機模式);而高性能應(yīng)用操作系統(tǒng)場景則可以選擇譬如RV32IMFDC的指令集,使用Machine Mode(計算機模式)與User Mode(用戶模式)兩種模式。

5.完整的工具鏈

對于設(shè)計CPU來說,工具鏈是軟件開發(fā)人員和cpu交互的窗口,沒有工具鏈,對軟件開發(fā)人員開發(fā)軟件要求很高,甚至軟件開發(fā)者無法讓cpu工作起來。在cpu設(shè)計中,工具鏈的開發(fā)是一個需要巨大工作的。如果用RISC-V來設(shè)計芯片,芯片設(shè)計公司不再擔心工具鏈問題,只需專注于芯片設(shè)計,RISC-V社區(qū)已經(jīng)提供了完整的工具鏈,并且RISC-V基金會持續(xù)維護該工具鏈。當前RISC-V的支持已經(jīng)合并到主要的工具中,比如編譯工具鏈gcc, 仿真工具qemu等。

6.開源實現(xiàn)

加入RISC-V陣營更多是因為商業(yè)因素

目前,伯克利研究團隊已經(jīng)完成了基于RISC-V指令集的順序執(zhí)行的64位處理器核心(代號為Rocket),并前后基于45nm與28nm工藝進行了12次流片。Rocket芯片主頻1GHz,與ARM Cortex-A5相比,實測性能較之高10%,面積效率高49%,單位頻率動態(tài)功耗僅為Cortex-A5的43%。在嵌入式領(lǐng)域,Rocket已經(jīng)可以和ARM爭市場了。目前全球上百家科技公司加入RISC-V陣營,更多的還是因為商業(yè)原因。雖然在很多報道中,都將ARM的成功歸咎于開放,但實際上,ARM只是在商業(yè)模式上開放,在技術(shù)上是卡的很死的。

迄今為止,獲得ARM32授權(quán)的公司一只手都能數(shù)的過來,ARM64授權(quán)雖然多一些,但授權(quán)費卻異常昂貴,法國創(chuàng)業(yè)公司Greenwave表示,他們?nèi)绻褂肁RM架構(gòu),要花掉1500萬美元的授權(quán)費。而且授權(quán)到期后,是否繼續(xù)授權(quán)和授權(quán)費用都要重新談判。

雖然對高通、蘋果、華為這些大公司而言,上億元人民幣的授權(quán)費不算什么,但對創(chuàng)業(yè)公司來說,這是不可承受之重。

為了深入挖掘RISC-V,我們應(yīng)該研究一些不同類型的指令集架構(gòu)。

目前的指令集架構(gòu)有哪些類型?

最常見的是通過它們的復(fù)雜性來描述和分類:

精簡指令集(RISC)和復(fù)雜指令系統(tǒng)計算機(CISC)

這僅實現(xiàn)了經(jīng)常使用的指令,不常見的操作則會以子程序?qū)崿F(xiàn)。通過使用子程序,可以權(quán)衡性能,但它僅適用于最不常見的操作。

RISC使用加載或存儲架構(gòu),這意味著它將指令劃分為訪問存儲器的指令和執(zhí)行算術(shù)邏輯單元(ALU)操作的指令。

RISC的英文全稱是Reduced Instruction Set Computer,中文是精簡指令集。特點是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水線技術(shù)。在中高檔服務(wù)器中采用RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、MIPS公司的MIPS和SUN公司的Sparc。

在計算機指令系統(tǒng)的優(yōu)化發(fā)展過程中,出現(xiàn)過兩個截然不同的優(yōu)化方向:CISC技術(shù)和RISC技術(shù)。CISC是指復(fù)雜指令系統(tǒng)計算機(Complex Instruction Set Computer);RISC是指精簡指令系統(tǒng)計算機(Reduced Instruction Set Computer)。這里的計算機指令系統(tǒng)指的是計算機的底層的計算機指令,也就是CPU能夠直接識別的指令。隨著計算機系統(tǒng)的復(fù)雜,要求計算機指令系統(tǒng)的構(gòu)造能使計算機的整體性能更快更穩(wěn)定。最初,人們采用的優(yōu)化方法是通過設(shè)置一些功能復(fù)雜的指令,把一些原來由軟件實現(xiàn)的、常用的功能改用硬件的指令系統(tǒng)實現(xiàn),以此來提高計算機的執(zhí)行速度,這種計算機系統(tǒng)就被稱為復(fù)雜指令系統(tǒng)計算機,即Complex Instruction Set Computer,簡稱CISC。另一種優(yōu)化方法是在20世紀80年代才發(fā)展起來的,其基本思想是盡量簡化計算機指令功能,只保留那些功能簡單、能在一個節(jié)拍內(nèi)執(zhí)行完成的指令,而把較復(fù)雜的功能用一段子程序來實現(xiàn),這種計算機系統(tǒng)就被稱為精簡指令系統(tǒng)計算機.即Reduced Instruction Set Computer,簡稱RISC。RISC技術(shù)的精華就是通過簡化計算機指令功能,使指令的平均執(zhí)行周期減少,從而提高計算機的工作主頻,同時大量使用通用寄存器來提高子程序執(zhí)行的速度。

RISC和CISC是設(shè)計制造微處理器的兩種典型技術(shù),雖然它們都是試圖在體系結(jié)構(gòu)、操作運行、軟件硬件、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但采用的方法不同,因此,在很多方面差異很大,它們主要有:

1.指令系統(tǒng):RISC設(shè)計者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效。對不常用的功能,常通過組合指令來完成。因此,在RISC計算機上實現(xiàn)特殊功能時,效率可能較低。但可以利用流水技術(shù)和超標量技術(shù)加以改進和彌補。而CISC計算機的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務(wù)效率較高。

2.存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC計算機的存儲器操作指令多,操作直接。

3.程序:CISC匯編語言程序一般需要較大的內(nèi)存空間,實現(xiàn)特殊功能時程序復(fù)雜,不易設(shè)計;而RISC匯編語言程序編程相對簡單,科學(xué)計算及復(fù)雜操作的程序設(shè)計相對容易,效率較高。

4.中斷:RISC計算機在一條指令執(zhí)行的適當?shù)胤娇梢皂憫?yīng)中斷,但是相比CISC指令執(zhí)行的時間短,所以中斷響應(yīng)及時;而CISC計算機是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。

5.CPU:RISC CPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強、面積大、功耗大。

6.設(shè)計周期:RISC微處理器結(jié)構(gòu)簡單,布局緊湊,設(shè)計周期短,且易于采用新技術(shù);CISC微處理器結(jié)構(gòu)復(fù)雜,設(shè)計周期長。

7.用戶使用:RISC微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握,易學(xué)易用;CISC微處理器結(jié)構(gòu)復(fù)雜,功能強大,實現(xiàn)特殊功能容易。

8.應(yīng)用范圍:由于CISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故CISC計算機更適合于專用機;而RISC計算機則更適合于通用機。

超長指令字(VLIW)和顯式并行指令計算(EPIC)

VLIW是一種非常長的指令組合,它把許多條指令連在一起,增加了運算的速度。 超長指令字(VLIW)是指令級并行,超線程(Hyper-Threading)是線程級并行,而多內(nèi)核則是芯片級并行。這三種方式都是提高并行計算性能的有效途徑。其中,VLIW(超長指令字)體系結(jié)構(gòu)是美國Multiflow和Cydrome公司于20世紀80年代設(shè)計的體系結(jié)構(gòu),EPIC體系結(jié)構(gòu)就是從VLIW中衍生出來的。

上述方法通過要求硬件執(zhí)行所有這些邏輯來使硬件復(fù)雜化。相比之下,VLIW將這種復(fù)雜性留給了程序。作為權(quán)衡,編譯器變得更加復(fù)雜,同時硬件被簡化并且仍然在計算上表現(xiàn)良好。

VLIW最常見于嵌入式媒體處理器和圖形處理單元(GPU)中。但是,Nvidia和AMD已經(jīng)轉(zhuǎn)向RISC架構(gòu),以提高非圖形工作負載的性能。

為了開拓64位處理器的高端應(yīng)用市場,1994年6月Intel和HP公司簽署合作協(xié)議,共同開發(fā)以服務(wù)器和T作站為主要應(yīng)用目標的全新64位架構(gòu)高性能微處理器。1997年11月,Intel和HP公司發(fā)布基于EPIC(Explicitly Parallel Instruction Computing,顯式并行指令計算)的Itanium系統(tǒng)結(jié)構(gòu)。

超標量和VLIW是開發(fā)指令級并行的兩種極端結(jié)構(gòu),前者完全依賴流水線硬件動態(tài)識別出可并行的指令,并將它們分發(fā)給相應(yīng)的功能單元執(zhí)行,后者則將指令級并行的開發(fā)工作全部交給編譯器完成,在編譯時靜態(tài)確定每條指令的流出時刻和執(zhí)行延遲,僅依賴簡單的流水線硬件確保在指令實際執(zhí)行延遲與編譯器假定的延遲不一致時,程序的執(zhí)行結(jié)果依然正確。在這兩種結(jié)構(gòu)中,單一的指令級并行開發(fā)機制使得它們都存在著嚴重的固有缺陷:超標量結(jié)構(gòu)硬件復(fù)雜度太高,學(xué)術(shù)界和工業(yè)界一致認為,同時流出并執(zhí)行8條指令將達到這種結(jié)構(gòu)的極限;VLIW則面臨著嚴重的代碼兼容問題,而且目前VLIW編譯器的智能程度遠遠無法滿足人們的要求。顯式并行指令計算(Explicitly Parallel Instruction Computing,EPIC)技術(shù)正是為了解決這兩種結(jié)構(gòu)的本質(zhì)缺陷而提出的,它是在VLIW的基礎(chǔ)上融合了超標量結(jié)構(gòu)的一些優(yōu)點而設(shè)計得到的,以期用有限的硬件開銷為代價開發(fā)出更多的指令級并行。

最小指令集(MISC)

MISC比RISC更小,它包括非常少量的基本操作和相應(yīng)的操作碼。如果它們是基于堆棧而不是基于寄存器,則這些被歸類為MISC,但是也可以由指令的數(shù)量(少于32條但大于1條)來定義。

單一指令集(OISC)

這描述了一個只使用一條指令的抽象計算機,它消除了對計算機語言操作碼的需求。例如,“mov”是圖靈完成,這意味著它能夠成為一個OISC,以及其他使用減法的指令。據(jù)我所知,OISC還沒有商業(yè)化。

在很多媒體的報道中,定義一套指令集被描述為黑科技,但事實上,實現(xiàn)一款高性能的CPU和圍繞指令集構(gòu)建軟件生態(tài)才是真正具有挑戰(zhàn)性的工作,定義一套指令集的難度并不大,伯克利的研究團隊4名成員僅用了3個月就完成了RISC-V的指令集開發(fā)。由于伯克利研究團隊缺人缺錢,于是決定將RISC-V開源,成為CPU中的Linux,在獲得各方支援后,又相繼開發(fā)了一些產(chǎn)品。

責(zé)任編輯:武曉燕 來源: 嘶吼
相關(guān)推薦

2020-07-29 09:21:34

Docker集群部署隔離環(huán)境

2021-04-10 10:37:04

OSITCP互聯(lián)網(wǎng)

2024-04-01 10:09:23

AutowiredSpring容器

2021-07-05 22:22:24

協(xié)議MQTT

2019-07-07 08:18:10

MySQL索引數(shù)據(jù)庫

2020-12-24 15:18:27

大數(shù)據(jù)數(shù)據(jù)分析

2024-02-23 08:08:21

2023-08-14 11:35:16

流程式轉(zhuǎn)化率數(shù)據(jù)指標

2022-01-05 09:27:24

讀擴散寫擴散feed

2020-10-16 17:20:21

索引MySQL數(shù)據(jù)庫

2021-01-29 10:50:04

數(shù)據(jù)中臺數(shù)據(jù)數(shù)據(jù)管理

2024-02-27 14:27:16

2019-06-19 14:58:38

服務(wù)器負載均衡客戶端

2024-07-01 13:45:18

2020-04-23 10:21:57

Linux 網(wǎng)絡(luò)編程 數(shù)據(jù)

2020-03-02 15:17:37

云原生CNCF容器

2019-07-04 09:13:04

中臺百度團隊

2021-02-25 08:21:38

高可用風(fēng)險故障

2020-10-29 10:35:53

Nginx架構(gòu)服務(wù)器

2020-01-13 15:34:10

超融合邊緣計算架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號