《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種超低功耗的RISC-V處理器流水線結構
一種超低功耗的RISC-V處理器流水線結構
2019年電子技術應用第6期
鄧天傳1,2,胡振波2
1.武漢大學 物理科學與技術學院,湖北 武漢430071;2.芯來科技有限公司,湖北 武漢430072
摘要: 隨著通信、芯片技術的高速發(fā)展,物聯(lián)網將會是未來新一代信息技術的重要組成部分,也是促進生活智能化過程的強大動力。在IoT的終端設備應用中,超低功耗的微控制器扮演著不可或缺的角色?;诔凸那度胧綉玫脑O計目標,提出了一種基于RISC-V指令集架構的處理器流水線結構,考慮到功耗和性能的折中要求,采用了以兩級按序流水線為主體,輔以其他組件流水線長度可變的流水線結構。并在VCS環(huán)境下驗證了微控制器的邏輯功能,同時通過SMIC180工藝庫在DC環(huán)境下完成了綜合仿真,得到了微控制器的面積占比報告。最后通過運行跑分程序測試,并與ARM Cortex-M微控制器比較,比較結果表明本作品同樣可應用于IoT的低功耗場景。
中圖分類號: TN47;TP332.3
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182563
中文引用格式: 鄧天傳,胡振波. 一種超低功耗的RISC-V處理器流水線結構[J].電子技術應用,2019,45(6):50-53.
英文引用格式: Deng Tianchuan,Hu Zhenbo. An ultra-low-power processor pipeline-structure[J]. Application of Electronic Technique,2019,45(6):50-53.
An ultra-low-power processor pipeline-structure
Deng Tianchuan1,2,Hu Zhenbo2
1.School of Physics and Technology,Wuhan University,Wuhan 430072,China; 2.Nuclei System Technology Co.,Ltd.,Wuhan 430072,China
Abstract: With the rapid development of communication and chip technology, IoT will be an important part of the next generation of information technology, a powerful driving force to promote the intelligent process of our lives. Among the IoT terminal applications, ultra-low-power microcontroller plays an indispensable role. Based on the design goal of ultra-low-power embedded applications, this paper proposes a pipeline structure of a processor based on RISC-V instruction set architecture. Taking into account the compromise between power consumption and performance, the main body uses a two-stage pipeline, and was supplemented by a pipeline structure with variable length of other components. The logic function of the microcontroller is verified in the VCS environment. At the same time, the area ratio report of the microcontroller is obtained by using the SMIC180 process library to complete the simulation in the DC environment. Finally, by running the running subroutine test and comparing it with the ARM Cortex-M microcontroller, the comparison results show that this work can also be applied to the low-power scene of IoT.
Key words : pipeline-structure;ultra-low-power;RISC-V architecture;RISC-V processor

0 引言

    經過幾十年的處理器設計技術的演變和大規(guī)模集成電路設計技術的發(fā)展,高性能處理器的硬件調度能力已經非常強,主頻率已經非常高,所以硬件設計師希望指令集能夠結構化和簡單化,以便來設計更高頻率和更低功耗的處理器。另一方面,對于應用于可穿戴系統(tǒng)和醫(yī)療保健[1-2]等IoT(Internet of Thing)應用和其他IoT應用如智能城市[3]、智能交通[4]的處理器對低功耗和小面積的要求更高。然而,由于商業(yè)原因以及知識產權保護,傳統(tǒng)的指令集架構如ARM和X86架構需要高昂的授權費。開源的指令集架構RISC-V[5]架構是一種新的指令集架構,是活的、無專利的、無歷史的指令集架構,并且是在BSD許可下發(fā)布的。RISC-V指令集架構具備極簡、模塊化和可定制擴展等優(yōu)點。這也使得RISC-V指令集架構可以通過組合或擴展指令集在幾乎所有領域都可以構建微處理器,比如云計算、存儲、并行計算、虛擬化/容器、MCUs、應用處理器和DSP處理器。

1 蜂鳥E203的總體結構設計

    E203處理器核的結構示意圖如圖1所示,流水線的第一級為“取指”(由IFU完成)?!白g碼”(由EXU完成)、“執(zhí)行”(由EXU完成)和“寫回”(由WB完成)均處于同一個時鐘周期,位于流水線的第二級。而“訪問”(由LSU完成)階段處于EXU之后的第三級流水線,但是LSU寫回的結果仍然需要通過WB模塊寫回通用寄存器組(Register File,Regfile)。因此,嚴格來說,蜂鳥E203是一個變長的流水線結構。但是蜂鳥E203處理器核的按序主體是位于第一級的“取指”和位于第二級的“執(zhí)行”及“寫回”,因此本文非嚴謹地定義蜂鳥E203處理器核的流水線長度為二級。

wdz1-t1.gif

2 蜂鳥E203的單元設計

2.1 取指(IFU)單元的設計思路

    IFU微架構如圖2所示,Mini-Decode模塊主要用于對取回的指令進行譯碼。Simple-BPU模塊主要用于對取回的指令通過Mini-Decode模塊進行譯碼后發(fā)現(xiàn)的分支跳轉指令進行分支預測。PC生成邏輯用于產生下一個待取指令的PC。地址判斷和ICB總線控制會根據PC的地址訪問ITCM或BIU。ITCM作為指令存儲,而如果取指令的地址不落在ITCM所在的區(qū)間,IFU則會通過BIU訪問外部的存儲器。

wdz1-t2.gif

    IFU在取出指令后,會將其放置于和EXU單元接口的IR(Instruction Register)寄存器中。該指令的PC值也會被放置于和EXU單元接口的PC寄存器中,EXU單元將使用此IR和PC進行后續(xù)的執(zhí)行操作。

2.2 執(zhí)行(EXU)單元的設計思路

    EXU微架構如圖3所示,EXU單元的功能主要有:將IFU通過寄存器發(fā)送給EXU的指令進行譯碼和派遣;通過譯碼出的操作數寄存器索引讀取Regfile;維護指令的數據相關性;將指令派遣給不同的運算單元;將指令交付;將指令運算的結果寫回Regfile。

wdz1-t3.gif

2.2.1 譯碼與派遣模塊

    譯碼(Decode)模塊主要用于將IFU通過IR寄存器發(fā)送給EXU的指令進行譯碼。譯碼模塊完全由組合邏輯組成,其主要邏輯即根據RISC-V指令的編碼規(guī)則進行譯碼,產生不同的指令類型信息、操作數寄存器索引等。

    蜂鳥E203是簡單的兩級流水線架構,派遣(Dispatch)發(fā)生在流水線的執(zhí)行階段,表示指令經過譯碼且從寄存器組中讀取了操作數之后被派遣到不同的運算單元(ALU、Long Pipes、LSU和EAI)執(zhí)行的過程。

2.2.2 整數通用寄存器模塊

    整數通用寄存器組(Integer Register File,簡稱Integer-Regfile)模塊主要用于實現(xiàn)RISC-V架構定義的整數通用寄存器組,其微架構如圖4所示。RISC-V的整數指令都是單操作數或兩操作數指令,且蜂鳥E203屬于單發(fā)射(一次發(fā)射派遣一條指令)的微架構,因此Integer-Regfile模塊只需要支持最多兩個讀端口。同時,蜂鳥E203的寫回策略是按順序每次寫回一條指令的微架構,因此Integer-Regfile模塊只用支持一個端口。

wdz1-t4.gif

2.2.3 ALU模塊

    如圖5所示,蜂鳥E203的ALU單元包括5個功能子單元。普通ALU運算主要負責普通的ALU指令(邏輯運算、加減法移位等指令)的執(zhí)行;訪問地址生成主要負責Load、Store和“A”擴展指令的地址生成;分支預測解析主要負責Branch和Jump指令的結果解析和執(zhí)行;CSR讀寫控制主要負責CSR指令的執(zhí)行;多周期乘除法器主要負責乘法和除法指令的執(zhí)行。以上5個功能子單元只負責具體指令執(zhí)行的控制,它們均共享一份實際的運算數據通路,因此主要數據通路的面積開銷只有一份,這也是蜂鳥E203追求低功耗和小面積的一大亮點。

wdz1-t5.gif

2.2.4 狀態(tài)寄存器(CSR)模塊

    RISC-V架構中定義了一些控制和狀態(tài)寄存器(Control and Status Register,CSR),用于配置或記錄一些運行的狀態(tài)。CSR寄存器是處理器核的內部寄存器,使用其自己的地址編碼空間,與存儲器尋址的地址區(qū)間完全無關系。蜂鳥E203的EXU單元中的CSR寄存器模塊主要用于實現(xiàn)蜂鳥E203所支持的寄存器功能。如在ALU模塊中的CSR讀寫寄存器模塊會產生CSR讀寫控制信號。

2.2.5 OITF模塊

    OITF本身只是一個先進先出的FIFO,F(xiàn)IFO的默認深度是2個表項。如圖6所示,每條指令在派遣時,都會將本指令的源操作數寄存器索引和結果寄存器索引與OITF中的各個表項進行對比,從而判斷本指令是否已經派遣出以及檢查其是否與尚未寫回的長指令產生RAW和WAW相關性。在整個過程中,由于蜂鳥E203主要側重于低功耗和小面積,因此只采用了阻塞流水線而未使用快速旁路的方法。

wdz1-t6.gif

2.2.6 交付(Commit)模塊

    RISC-V指令集架構具有指令沒有條件碼和所有的運算指令都不會產生異常這兩個顯著的特點,因此可以大幅度簡化“交付”的硬件實現(xiàn)。無論是單周期指令還是多周期指令,在蜂鳥E203處理器中都將“交付”安排在“執(zhí)行”階段。

2.2.7 寫回仲裁(WB-Arb)模塊

    蜂鳥E203處理器的寫回策略是一種因地制宜的混合策略。其核心思想是將指令劃分為單周期指令和長指令兩大類;以及將長指令的“交付”和“寫回”分開,使得即便執(zhí)行了多周期指令,仍然不會阻塞流水線,讓后續(xù)的單周期指令仍然能夠順利地寫回和交付。

    如圖3所示,蜂鳥E203處理器有兩級寫回仲裁模塊,其一是最終寫回仲裁,主要用于仲裁所有單周期指令的寫回(來自ALU模塊)和所有長指令的寫回(來自長指令寫回仲裁模塊),仲裁采用優(yōu)先級仲裁的方式。在沒有長指令寫回的空閑周期,單周期指令可以隨便寫回。而對于長指令的寫回,則由OITF和長指令寫回仲裁模塊協(xié)同完成所有長指令的寫回操作。

3 綜合仿真分析與跑分測試

    表1為蜂鳥E203 CPU的面積分布占比報告,其中CPU核的面積為233 329.695 5 μm2,占整個CPU面積的93.5%,CPU的其他部分的面積為16 334.17 μm2,占整個CPU的6.5%。

wdz1-b1.gif

    表2為CPU核的面積分布占比報告,BIU單元、EXU單元、IFU單元和LSU單元的面積占比分別為6.2%、73.2%、9.8%和4.3%,合計為CPU核的面積占比即93.5%。

wdz1-b2.gif

    表3為EXU單元的面積占比報告,譯碼、整數通用寄存器組、狀態(tài)寄存器、派遣、ALU、交付、OITF、長指令寫會仲裁、最終寫回仲裁模塊的面積占比分別為1.5%、36.5%、11.8%、0.6%、16.6%、2.5%、2.9%、0.4%和0.3%,合計為EXU單元的面積占比即73.2%。

wdz1-b3.gif

    對表1、2、3中的數據分析可以得出,蜂鳥E203在滿足一定性能的情況下達到了小面積的設計目的。

    另外,為了衡量蜂鳥E203處理器的性能,本文通過跑分程序(Benchmarks)對其進行了跑分測試,并與ARM Cotex-M0+處理器進行比較。從表4可以看出,蜂鳥E203性能均不遜色于ARM的Cotex-M0+處理器(M0+是ARM面積最小的處理器核)。

wdz1-b4.gif

4 結論

    本文介紹了一種RISC-V處理器流水線架構,綜合仿真和跑分測試結果表明蜂鳥E203可面向極低功耗與極小面積的場景,非常適合于替代傳統(tǒng)的8051內核或者Cortex-M系列內核應用于IoT或其他低功耗場景。

參考文獻

[1] ISLAM S M R,KWAK D,KABIR M H,et al.The Internet of Things for health care: a comprehensive survey[J].IEEE Access,2017,3:678-708.

[2] LAPLANTE P A,LAPLANTE N.The Internet of Things in healthcare: potential applications and challenges[J].IT Professional,2016,18(3):2-4.

[3] ZANELLA A,BUI N,CASTELLANI A,et al.Internet of Things for smart cities[J].IEEE Internet of Things Journal,2014,1(1):22-32.

[4] LU N,CHENG N,ZHANG N,et al.Connected vehicles:solutions and challenges[J].IEEE Internet of Things Journal,2014,1(4):289-299.

[5] WATERMAN A,LEE Y,PATTERSON D A,et al.The RISC-V instruction set manual, volume I:base user-level ISA[J].Eecs Department,2011,7(9):475.



作者信息:

鄧天傳1,2,胡振波2

(1.武漢大學 物理科學與技術學院,湖北 武漢430071;2.芯來科技有限公司,湖北 武漢430072)

此內容為AET網站原創(chuàng),未經授權禁止轉載。