作者:貿(mào)澤電子Mark Patrick
摘要:全新的指令集體系架構(gòu)(ISA)在半導(dǎo)體處理器行業(yè)并不經(jīng)常出現(xiàn)。業(yè)界最后一次重大變化是Arm開發(fā)了內(nèi)核,并將其作為IP許可證出售,從而迅速改變了那個(gè)時(shí)代領(lǐng)先供應(yīng)商設(shè)計(jì)處理器的方式。目前,在貿(mào)易戰(zhàn)和新冠大流行時(shí)期,市場提供的開放源代碼、免版稅、可擴(kuò)展ISA被證明是一種變革和顛覆性力量。
簡介:指令集體系架構(gòu)在過去40年中變化不大,但是開源,免版稅,可擴(kuò)展的RISC-V正在撼動(dòng)整個(gè)行業(yè)。
SEO關(guān)鍵詞:x86,MIPS,ISA,指令集體系架構(gòu),RISC,CISC,RISC-V,Microchip,AVR,Atmel,Atmel AVR,Arm,Intel,SoC,FPGA,SparkFun,SEEED
40年以來幾乎未變的處理器ISA
幾十年來,英特爾和Arm一直主導(dǎo)著處理器架構(gòu)。英特爾及其x86架構(gòu)一直在統(tǒng)治著計(jì)算機(jī)工作站、臺式機(jī)和服務(wù)器市場。同時(shí),Arm在物聯(lián)網(wǎng)設(shè)備、消費(fèi)電子產(chǎn)品和工業(yè)自動(dòng)化系統(tǒng)等領(lǐng)域拓展了更廣闊的市場空間。市場中也有其他嵌入式處理器和微控制器架構(gòu),例如Atmel的AVR和Microchip的PIC / MIPS,它們都有自己的利基市場,但并未達(dá)到主導(dǎo)地位。在嵌入式系統(tǒng)環(huán)境中,大多數(shù)MCU和MPU供應(yīng)商已廣泛采用Arm的IP授權(quán)模式。但是,顛覆性,變革性變化正在迅速獲得強(qiáng)大發(fā)展勢頭,并開始挑戰(zhàn)處理器市場現(xiàn)有體系。隨著客戶越來越多地接受開源技術(shù)帶來的商業(yè)和技術(shù)利益,領(lǐng)先供應(yīng)商正在迅速轉(zhuǎn)向開源RISC-V指令集體系架構(gòu)。在本文中,我們將介紹RISC-V的誕生,并重點(diǎn)討論使其具有更大吸引力的一些因素。我們也將提供一些產(chǎn)品示例,重點(diǎn)關(guān)注評估板、開發(fā)資源以及不斷發(fā)展的軟件工具鏈生態(tài)系統(tǒng)。
ISA:處理器硬件和軟件之間的真正連結(jié)
指令集體系架構(gòu)能夠提供軟件世界和處理器硬件之間的界面,它定義了一個(gè)程序如何與可用硬件之間交互的各個(gè)層面,包括算術(shù)邏輯單元(ALU)、寄存器、存儲器和控制邏輯。它還能夠確定字長、支持的數(shù)據(jù)類型以及寄存器和存儲器的尋址方式。簡而言之,ISA是處理器的抽象。
ISA有許多不同類型,但是出于大多數(shù)實(shí)用目的,兩個(gè)最重要類型是復(fù)雜指令集計(jì)算機(jī)(CISC)和精簡指令集計(jì)算機(jī)(RISC)。顧名思義,CISC包含許多針對各種應(yīng)用的復(fù)雜且專門的指令,其中一些功能可能很少出現(xiàn)。 CISC處理器可以具有許多不同的尋址方式,并使用可變長度指令。基于CISC的處理器設(shè)計(jì)成本高昂,需要更復(fù)雜的軟件和編程工具,并且設(shè)計(jì)時(shí)間也更長。 CISC ISA的一個(gè)示例是Intel x86。
相比之下,基于RISC的處理器要簡單得多,并且具有一組有限的常用指令,幾種不同的尋址方式以及一個(gè)固定的指令大小。使用指令流水線技術(shù)能夠支持更快的執(zhí)行吞吐量。與CISC處理器將操作數(shù)(數(shù)據(jù)值)移出內(nèi)存來執(zhí)行計(jì)算不同,RISC處理器使用內(nèi)部寄存器。基于RISC的ISA應(yīng)用示例包括Arm、AVR、PIC和MIPS。
?
圖1:Microchip AVR微控制器RISC架構(gòu)示例。
ISA – 成功的關(guān)鍵要素是什么?
在本文余下部分,我們將只討論基于RISC的處理器。在提到處理器時(shí),本文上下文中是指任何處理設(shè)備,例如微控制器和微處理器。市場中流行的RISC ISA具有8位、16位和32位字長,還有64位和128位ISA通常用于要求更高的專業(yè)應(yīng)用。字長對硬件設(shè)計(jì)、處理器可運(yùn)行的速度以及可用的內(nèi)存大小有重要影響。從最基本層面考慮,ISA至少需要包括算術(shù)邏輯單元、存儲器和控制邏輯。算術(shù)邏輯單元執(zhí)行基本的算術(shù)計(jì)算功能,例如使用寄存器或自身內(nèi)部的“立即”方式進(jìn)行加法、比較和減法等運(yùn)算。內(nèi)存尋址可以是絕對或索引方式。控制邏輯則執(zhí)行有條件和無條件分支以及其他尋址任務(wù)。
ISA指令集由操作碼(機(jī)器碼)組成,這些操作碼通常在一個(gè)操作數(shù)上指定要執(zhí)行的任務(wù)。例如,在Atmel / Microchip AVR ISA中,模數(shù)轉(zhuǎn)換器(ADC)定義將兩個(gè)寄存器中保存的操作數(shù)與進(jìn)位標(biāo)志加在一起,并將結(jié)果存入目標(biāo)寄存器中。 ISA文檔將確定每條指令執(zhí)行多少個(gè)時(shí)鐘周期或程序計(jì)數(shù)器迭代。在RISC處理器中,大多數(shù)指令將是單周期。
對于微控制器(MCU)和微處理器(MPU)供應(yīng)商,開發(fā)ISA是設(shè)計(jì)其產(chǎn)品的核心組成部分。通過這種方式,ISA已成為用于一系列特定設(shè)備的專有技術(shù),例如Atmel / Microchip的AVR(8、16、32位)、Microchip的PIC(8、16、32位)和MIPS(32和64位)。
Arm在1990年代初從Acorn剝離出來時(shí)就打破了傳統(tǒng)MCU/MPU商業(yè)模式。Arm方式采用了IP許可路線,從特許權(quán)使用費(fèi)中創(chuàng)造了收入來源,而不是依靠制造和銷售器件。 Arm商業(yè)模式得以迅速取得成功,使半導(dǎo)體供應(yīng)商擺脫了開發(fā)和移植ISA的任務(wù)。如今,大多數(shù)半導(dǎo)體供應(yīng)商都提供基于Arm ISA的處理器,有些還提供基于其自身ISA的設(shè)備。出售的每個(gè)設(shè)備都要向Arm支付版稅。Arm實(shí)際上在控制著ISA的生命周期和持續(xù)發(fā)展。
盡管各個(gè)ISA都有其優(yōu)缺點(diǎn),但是任何特定處理器體系架構(gòu)的成功不僅取決于其技術(shù)優(yōu)勢,還取決于市場中其軟件開發(fā)工具生態(tài)系統(tǒng)的完善。工具鏈、集成開發(fā)環(huán)境、編譯器、調(diào)試器和專用中間件(application-specific middleware)在促進(jìn)處理器及其ISA的普及程度方面起著至關(guān)重要作用。
開源指令集架構(gòu)
由于Arm可提供標(biāo)準(zhǔn)ISA,對于半導(dǎo)體供應(yīng)商而言,他們可以在標(biāo)準(zhǔn)ISA基礎(chǔ)上來適應(yīng)和增強(qiáng)設(shè)備的外圍接口選項(xiàng),以滿足特定應(yīng)用需求。與使用Arm IP的其他競爭半導(dǎo)體廠商相比,這種方法還可以在一定程度上促進(jìn)產(chǎn)品的差異化。對于AVR、PIC等已有ISA,Arm的廣泛采用已降低了它們在市場中的總體份額。
但是,對于處理器客戶來說,由于存在多個(gè)處理器供應(yīng)商,因此在架構(gòu)上做出決定來采用Arm ISA時(shí)非常明智,由此可以方便地選擇購買選項(xiàng)和再次采購相似部件。采用特定工具鏈進(jìn)行標(biāo)準(zhǔn)化開發(fā)也具有很大的商業(yè)意義。
在一個(gè)包含許多開放源代碼概念的行業(yè)中,處理器指令集體系架構(gòu)領(lǐng)域看起來專有性很強(qiáng),直到RISC-V ISA于2010年問世,一直是這種情況。RISC-V ISA最初是在加利福尼亞大學(xué)伯克利分校開發(fā),是出于學(xué)術(shù)目的而開發(fā)的ISA,其發(fā)展理念使ISA開源迅速立足生根。之所以將其開源是因?yàn)镮SA設(shè)計(jì)在過去40年中變化不大。使其開源將鼓勵(lì)更多的相互交流和軟件重用,并由此希望得到工具鏈供應(yīng)商的長期支持。作為一種開源ISA,廠商無需支付任何特許權(quán)使用費(fèi),并且可以做出新的指令集和擴(kuò)展指令。
基本RISC-V ISA及其相關(guān)擴(kuò)展指令是由于學(xué)術(shù)研究團(tuán)體和行業(yè)之間的共同努力而開發(fā)和管理。RISC-V ISA支持32位,64位和128位字長。
2015年,在半導(dǎo)體公司合作建立RISC-V基金會(huì)(RISC-V Foundation)后,RISC-V的發(fā)展邁出了重要一步。不支付特許權(quán)使用費(fèi)和可擴(kuò)展性的優(yōu)勢吸引了廣大廠商注意。Arm授權(quán)許可用戶雖不能調(diào)整指令集以適合如低功耗等特定應(yīng)用要求,但RISC-V被授權(quán)方則完全可以。RISC-V基金會(huì)現(xiàn)有750多個(gè)行業(yè)成員。
隨著許多主要的處理器供應(yīng)商開始對RISC-V表現(xiàn)出興趣,軟件工具社區(qū)也不甘心落后,開始在集成開發(fā)環(huán)境和工具鏈中擴(kuò)展對RISC-V的支持。
用RISC-V啟動(dòng)設(shè)計(jì)
SiFive 的Freedom E31 SoC是最早可用的基于RISC-V的32位處理器之一。SiFive由RISC-V ISA創(chuàng)始人創(chuàng)立,之后迅速尋求將其專業(yè)技術(shù)推向市場。為了鼓勵(lì)原型開發(fā),SiFive眾籌了一個(gè)低成本Arduino尺寸開發(fā)板HiFive1。SiFive的 HiFive1 B包含有Wi-Fi連接和32Mb閃存。
圖2:SiFive 的HiFive1 B開發(fā)板。。
SEEED也可以提供一個(gè)Feather/MKR格式開發(fā)板Sipeed Longan Nano,它配備有0.96英寸LCD,采用GigaDevice 32位RISC-V內(nèi)核。
SparkFun同樣提供類似于HiFive1 B的開發(fā)板。SparkFun的RED-V RedBoard還使用Arduino UNO-R3尺寸規(guī)格和SiFive E310 RISC-V SoC。
針對專業(yè)工程師的更全面RISC-V平臺是Microchip的PolarFire SoC FPGA Icicle開發(fā)板。
PolarFire SoC旨在為具有Linux功能的五核RISC-V RV64內(nèi)核提供評估平臺,還配備有256k邏輯單元和784單元的數(shù)學(xué)模塊。 Icicle套件包括HDMI、PCIe、USB、CAN、SPI和I2C等在內(nèi)的全面外圍接口連接,是從物聯(lián)網(wǎng)傳感器到機(jī)器學(xué)習(xí)等應(yīng)用所需實(shí)時(shí)、低功耗設(shè)計(jì)原型的理想選擇,其外部擴(kuò)展接口選項(xiàng)包括一個(gè)mikroBUS插槽和一個(gè)Raspberry Pi 40引腳連接器。
?
圖3:Microchip RISC-V PolarFire SoC評估套件功能框圖。
RISC-V未來前景
在相對較短的時(shí)間內(nèi),RISC-V指令集架構(gòu)就已經(jīng)獲得了巨大產(chǎn)業(yè)動(dòng)力。RISC-V基金會(huì)在2020年7月慶祝了RISC-V最初開發(fā)的十周年紀(jì)念。根據(jù)基金會(huì)網(wǎng)站的數(shù)據(jù),現(xiàn)在已經(jīng)有12款基于RISC-V的SoC開始商用,并且有86個(gè)內(nèi)核。
與其它ISA相比,RISC-V憑借具有競爭力的可擴(kuò)展且免版稅替代方案,已迅速在市場中確立自己的強(qiáng)有力地位。
評論
查看更多