下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、開(kāi)放性 32 位 RISC 處理器 IP 核的比較與分析類(lèi)別: 嵌入式系統(tǒng)隨著 VLSI 設(shè)計(jì)技術(shù)和深亞微米制造技術(shù)的飛速發(fā)展,SOC (System on Chip ) 技術(shù)逐漸成為了集成 電路 設(shè)計(jì)的主流技術(shù)。 SOC 已經(jīng)在便攜式手持設(shè)備、無(wú)線網(wǎng)絡(luò)終端和多媒體娛樂(lè) 設(shè)備等領(lǐng)域得到了廣泛的應(yīng)用。高性能的處理器核是 SOC 設(shè)計(jì)中最為關(guān)鍵和核心的部分。絕大多數(shù)SOC 的處理器都采用了 RISC體系結(jié)構(gòu)。RISC處理器具有指令效率高、 電路面積小和功率消耗低等特點(diǎn),滿足了 SOC 高性能、 低成本和低功耗的設(shè)計(jì)要求。 目前在 SOC 設(shè)計(jì)中廣泛使用的 32bit RISC 處理器, 如 ARM
2、 公司的 ARM 處理器, IBM 的 PowerPC 處理器, MIPS 公司的 MIPS 處 理器, Motorola 的 MCore 處理器, Tensilica 公司的 Xtensa 處理器等均屬于商業(yè)內(nèi)核, 使 用者必須支付相對(duì)昂貴的授權(quán)費(fèi)。近年來(lái)開(kāi)放源代碼運(yùn)動(dòng)迅速發(fā)展, 開(kāi)放性源碼的概念已經(jīng)從軟件領(lǐng)域 (如 Linux , Gcc, MySQL 等)擴(kuò)展到了硬件領(lǐng)域, 出現(xiàn)了像 OpenCores 這樣專(zhuān)門(mén)發(fā)布免費(fèi)的 IP 核源代碼的組 織。本文比較和分析了三種 “免費(fèi) ”的開(kāi)放性 32bit 處理器內(nèi)核: GaislerResearch 公司的 LEON2 , OpenCores
3、 組織公布的 OpenRISC1200 和 Altera 公司的 NiosII 。這三種開(kāi)放性處 理器憑借其高性能、 低成本, 良好的可配置性和完善的開(kāi)發(fā)環(huán)境, 受到了學(xué)術(shù)界和工業(yè)界 的普遍重視。LEON2LEON 系列 32 位 RISC 處理器核的第一個(gè)版本是 EON1 , 它是由歐洲航天局 (European SpaceAgency) 主持設(shè)計(jì)開(kāi)發(fā)的。 LEON1 的設(shè)計(jì)初衷是為了使歐洲能夠擺脫在航 空航天高性能嵌入式處理器上對(duì)美國(guó)的嚴(yán)重依賴。以 Jiri Gaisler 為首的設(shè)計(jì)團(tuán)隊(duì)在完成 LEON1 后從歐洲航天局獨(dú)立出來(lái), 成立了 Gaisler Research 公司, 相繼推
4、出了 LEON2 和 LEON3 處理器。 LEON 系列處理器軟核均以 RTL 級(jí) VHDL 源代碼形式免費(fèi)公布, 使用 者可以在 GNULGPL (Library General Public License ) 下對(duì)其源代碼進(jìn)行使用和研究。 LEON 系列處理器在結(jié)構(gòu)上有很高的一致性和繼承性, 我們選用比較穩(wěn)定的 L EON221.0.222xst 版 本進(jìn)行研究分析。其結(jié)構(gòu)框圖如圖 1 所示:圖 1LEON2 結(jié)構(gòu)框圖LEON2 的整數(shù)處理單元是 5 級(jí)流水線設(shè)計(jì), 采用了 SPARCV8 ( IEEE-1754) 指令和 體系結(jié)構(gòu),具有分離的數(shù)據(jù) Cache和指令Cache丄E0N2
5、的整數(shù)單元包括一個(gè)可選的 16X16 的MAC單元,能夠完成基本的 DSP運(yùn)算,同時(shí)還提供了浮點(diǎn)運(yùn)算單元 (FPU)的接口和協(xié) 處理器(CP)的接口, 可以擴(kuò)展浮點(diǎn)運(yùn)算和 DSP處理。LEON2 選用了 ARM 公司的 AMBA2.0 片上總線標(biāo)準(zhǔn), 用于連接內(nèi)存 控制 器 (MemoryController ) , 定時(shí)器 ( Timers ) , 中斷控制器 ( IrqCtrl) , UART 接口, PCI 接 口, 10/100M 以太網(wǎng)接口等模塊。 L EON 2 同時(shí)還提供了一個(gè)調(diào)試支持單元 (Debug Support Unit) 和一個(gè)調(diào)試串口 (DebugSerial Lin
6、k) ,用于支持片內(nèi)調(diào)試。LEON2 的一個(gè)非常重要的特點(diǎn)就是具有很好的可配置性。 使用者根據(jù)自己的需要, 通 過(guò)一個(gè)用 tcltk 腳本編寫(xiě)的圖形化界面, 對(duì) LEON2 內(nèi)核的絕大多數(shù)模塊進(jìn)行配置, 比如 可以配置 Cache 的大小和訪問(wèn)方式, 是否支持硬件乘 ?除法,是否需要內(nèi)存管理單元 (MMU) , PCI 接口, 以太網(wǎng)接口等。Gaisler Research 公司提供了比較完善的基于 L EON 2 的 GNU 軟件開(kāi)發(fā)環(huán)境。 使用者 可以使用 TSIM 或 GRMON 進(jìn)行 LEON 內(nèi)核的調(diào)試仿真。 ECCS 是專(zhuān)門(mén)針對(duì) LEON 的交 * 編譯系統(tǒng), 可以進(jìn)行 C/C+
7、+ 的編譯和調(diào)試。 SnapGearLinux 是基于 LClinux 的實(shí)時(shí) Linux 內(nèi)核, 它的 LEON 版提供了對(duì) LEON 處理器的全面支持, 可以支持 MMU 和 NOMMU 等不同配置方案。OpenRISC1200OpenRISC1000 系列處理器是開(kāi)放 IP 核源代碼組織 Opencores 公布的 32*64 位處理器 軟核。使用者可以在 GNULGPL下免費(fèi)使用其 RTL級(jí)的Verilog源代碼。OpenRISCIOOO系 列處理器有很多版本, 我們選用了目前最新的 OpenRISC1200 進(jìn)行研究分析, 其結(jié)構(gòu)如 圖 2 所示:圖 2OpenRISC1200 結(jié)構(gòu)
8、框圖Op enRISC1200 采用了自主設(shè)計(jì)的 OpenRISC1000 體系結(jié)構(gòu)和自定義的 ORBIS32 指 令集。 OpenRISC1200 是 Harvard 結(jié)構(gòu)設(shè)計(jì), 擁有一個(gè) 5 級(jí)流水線的整數(shù)單元。OpenRISC1200有一個(gè)32 X32的MAC 單元, 具備基本的 DSP處理功能。OpenRISC1200還可以根據(jù)需要自定義用戶指令。OpenRISC1200具有1K64K可配置大小的數(shù)據(jù) Cache 和指令 Cache 以及可供選擇的內(nèi)存管理單元。 OpenRISC1200 同時(shí)還 提供了一個(gè)用于降低功耗的電源管理單元 (PowerManager) 和一個(gè)支持片內(nèi)調(diào)試的調(diào)
9、試單元 (Debug Unit)。 OpenRISC1200 采用了 Silicore 公司提出的 W ISHBON E 開(kāi)放性總線標(biāo)準(zhǔn), 包括一個(gè)數(shù)據(jù) W ISHBON E 接口和一個(gè)指令 W ISHBON E 接口??偩€管理模塊 (Traffic Cop ) 將內(nèi)存控制器, 調(diào)試單元, UART 接口, PCI 接口, Ethernet 接口等模塊連接在 一起。 OpenRISC1200 具有較好的可配置性, 使用者可以根據(jù)自己的需要配置 Cache 的大 小, 是否使用 MMU ,并可以定制自定義的指令。 不過(guò)目前 OpenRISC1200 還沒(méi)有圖形化 的配置界面, 使用者必須根據(jù)需要
10、修改配置定義文件 or1200 defines.v。OpenRISC1200 有完善的軟件開(kāi)發(fā)環(huán)境 (SDK) 和操作系統(tǒng)的支持。 使用者可以通過(guò)包括 Sourcenavigator , Gcc, Binu tills , Gdb 等在內(nèi)的 GNUToolchian 工具方便的進(jìn)行基于 OpenRISC1200 內(nèi)核的編碼、編譯和調(diào)試。同時(shí), OpenRISC1200 擁有專(zhuān)門(mén)的仿真器 Or1k sim ,可以進(jìn)行 OpenRISC1200 的仿真。 OpenRISC1200 還支持 Linux , LClinux ,RTEMS , RedHaeCos 等多種操作系統(tǒng)。NiosIINios 系
11、列處理器是 Altera 公司推出的基于 RISC 體系結(jié)構(gòu)的通用嵌入式處理器軟核, 它是 Altera 的可編程邏輯和可編程片上系統(tǒng) (SoPC) 設(shè)計(jì)綜合解決方案的核心部分。 Altera 前后推出了兩代 Nios系列處理器:Nios和Nios II。Nios是其第一代產(chǎn)品,是準(zhǔn)32bit的RISC 處理器, 具有 16bit 指令集和 16*32 bit 數(shù)據(jù)通路。 NiosII 是第二代完全 32bitRISC 處 理器, 具有 32bit 的指令集、數(shù)據(jù)通路和地址空間。我們選用了 NiosII 進(jìn)行比較和分析。 圖 3 是典型的基于 NiosII 的系統(tǒng)。圖3典型的基于 NiosII
12、 的系統(tǒng)NiosII 處理器是 5 級(jí)流水線設(shè)計(jì), 采用數(shù)據(jù)和指令分離的 Harvard 結(jié)構(gòu)。 NiosII 擁有 自己專(zhuān)用的體系結(jié)構(gòu)與指令集, 支持 32bit 的硬件乘除法指令,有 32 個(gè)通用寄存器。用 戶還可以根據(jù)自己的需要自定義最多 256 條指令。NiosII 采用了 Altera 公司自己的 Avalon 片內(nèi)總線標(biāo)準(zhǔn), 用于連接定時(shí)器, UART 接 口, LCD 接口,內(nèi)存控制器和以太網(wǎng)接口等片內(nèi)模塊。 NiosII 同時(shí)還提供了一個(gè) Debug 模 塊, 支持 JTAG 在線調(diào)試。 Altera 公司為 NiosII 提供了極為完善的軟硬件開(kāi)發(fā)環(huán)境。 NiosII 處理器
13、方案是基于 HDL 源碼構(gòu)建的, 提供了三種性能和資源消耗不同的基本軟核: NiosII/f (快速型),NiosII/s (標(biāo)準(zhǔn)型)和Niosll/e(經(jīng)濟(jì)型)。通過(guò)Quartusll開(kāi)發(fā)軟件中的 SOPCBuilder 系統(tǒng)開(kāi)發(fā)工具, 使用者可以在任何一種軟核的基礎(chǔ)上方便的配置符合自己的 需要 Niosll 內(nèi)核。Altera 公司同時(shí)為 Niosll 提供了基于 GNUC/C+toolchain 和 EclipselDE 的軟件開(kāi)發(fā) 環(huán)境。用戶可以在這個(gè)開(kāi)發(fā)環(huán)境下方便的完成編碼、仿真和調(diào)試等工作。Niosll 的開(kāi)發(fā)套件內(nèi)免費(fèi)提供了一個(gè)Luc/OS2ll的實(shí)時(shí)操作系統(tǒng)支持,同時(shí)Niosl
14、l還支持LCIinux , NucleusPlus, KROS 等第三方操作系統(tǒng)。和上面所提到的 LEON2 和 OpenRlSC1200 兩種完全開(kāi) 放的處理器內(nèi)核不同, Niosll 內(nèi)核屬于 “半開(kāi)放 ”的內(nèi)核。用戶可以免費(fèi)獲得 Niosll 的開(kāi)發(fā) 平臺(tái),不過(guò) Niosll 只支持 Altera 的 Stratix 和 Cyclone 器件。用戶只能在 Altera 的 FPGA 芯 片上免費(fèi)使用 Niosll ,而且無(wú)法獲得 Niosll 的 HDL 源代碼。 另外設(shè)計(jì)者若要在 ASlC 設(shè)計(jì) 中使用 Niosll 內(nèi)核, 則需要向 Altera 公司支付一定的授權(quán) 費(fèi)用。性能評(píng)測(cè)與
15、比較相同處理器內(nèi)核在不同工藝、不同結(jié)構(gòu)配置下性能會(huì)有較大的差別。為保證評(píng)測(cè)的客 觀性, 我們?cè)谙嗤に嚕?相同結(jié)構(gòu)配置下對(duì)三種處理器內(nèi)核分別在 FPGA 和 ASIC 兩個(gè) 平臺(tái)上, 從性能和面積兩個(gè)角度進(jìn)行了比較和分析。目前嵌入式處理器并沒(méi)有統(tǒng)一的性能測(cè)試標(biāo)準(zhǔn), 我們選擇了當(dāng)前各個(gè)嵌入式處理器提 供廠商廣泛采用的 DhrystoneV2.1 Benchmark 評(píng)測(cè)標(biāo)準(zhǔn)。 DhrystoneV2.1Benchmark 是 Reinhold Weicker 編寫(xiě)的用于測(cè)試系統(tǒng)的整數(shù)處理能力的測(cè)試程序,它有公開(kāi)的源代碼和測(cè) 試結(jié)果。DhrystoneV2.1Benchmark 是由 C 語(yǔ)言編寫(xiě)
16、, 包括各種賦值語(yǔ)句,控制語(yǔ)句, 過(guò)程調(diào)用和參數(shù)傳送, 整數(shù)運(yùn)算及邏輯操作等。在不同的處理器平臺(tái)上運(yùn)行Dhrystone 測(cè)試程序, 得到 Dhrystoneper Second 的參數(shù)值, 并以 VAX-11/780 為參照值, 換算出 Dhrystone 2.1VAXMIPS (DMIPS) 的值。因?yàn)?VAX-11/780 的測(cè)試結(jié)果為 1757 個(gè) Dhrystoneper Second, 將其作為參照, 得出 DMIPS = (Dhrystoneper Second/1757 。因?yàn)樘幚砥鞯男阅芘c工作頻率 密切相關(guān),在不同工作頻率下測(cè)算出的 DMIPS 是不同的, 所以通常使用 DM
17、IPS/MHz 作 為標(biāo)準(zhǔn), 評(píng)估各個(gè)處理器的結(jié)構(gòu)優(yōu)劣和性能高低。我們選用 Altera 的 Cyclone 開(kāi)發(fā)板 (EP1C20F400C7) 作為 FPGA 的硬件測(cè)試平臺(tái),分 別評(píng)測(cè) LEON2 ,OpenRISC1200 和 NiosII 在 FPGA 上的性能。為保證評(píng)測(cè)結(jié)果的準(zhǔn)確性, 我們將三種處理器配置成為大體相當(dāng)?shù)脑u(píng)測(cè)系統(tǒng), 如圖 4 所示。編譯好的 Dh rystone 程序 將被下載到板上的 SRAM中運(yùn)行,運(yùn)行的結(jié)果通UART或JTAG端口輸出到PC終端。定 時(shí)器 (Timer) 是 Dhrystone 程序運(yùn)行所需的計(jì)時(shí)設(shè)備。由于體系結(jié)構(gòu)的差異,各個(gè)處理器在 有些部分
18、的實(shí)現(xiàn)細(xì)節(jié)并不完全和圖 4 相同(比如 L EON 2 使用了兩個(gè) UART , 分別用于調(diào) 試和輸出, 而 OpenRISC1200 和 NiosII 則選擇使用一個(gè) JTAG 接口進(jìn)行調(diào)試 ) , 但其大 體結(jié)構(gòu)都是相同的。同時(shí)我們還在三種處理器核內(nèi)均實(shí)現(xiàn)了32X32bit的硬件乘除法指令。圖 4FPGA 平臺(tái)評(píng)測(cè)系統(tǒng)LEON2 的源代碼中提供了在各種器件如 Xilinx , A ctel 等上的綜合支持。 不過(guò) LEON2 沒(méi)有提供對(duì) Altera 器件和相應(yīng)開(kāi)發(fā)板的支持, 因此必須要首先編寫(xiě)添加 tech_ cyclone. vhd 文件,并修改源代碼中 target.vhd 和 te
19、ch_map.vhd 文件。然后使用 QuartusII 進(jìn)行綜合的結(jié) 果顯示: LEON2 使用了 11702 個(gè)邏輯單元 (Logic Elements) 和 242748 內(nèi)存位 (MemoryBits),其最高頻率可達(dá) 61.95MHz。在25MHz 和50MHz 的FPGA 中,LE0N2 可以分別 達(dá)到 35398.2 和 72289.2 Dhrystoneper Second。即在 25 MHz 下 LEON2 可達(dá)到 20.15DMIPS , 在 50MHz 下為 41.14DMIPS,相當(dāng)于 0.82 DMIPS/MHz。OpenRISC1200 的源代碼中提供了對(duì) Alte
20、ra 器件的支持, 因此只需修改其代碼, 配置 成所需要的系統(tǒng)構(gòu)架。 由于 OpenRISC1200 采用的是 WISHBONE 片上總線, 所以還要專(zhuān)門(mén) 給板上的 SRAM 寫(xiě)一個(gè) W ISHBONE 的接口。 QuartusII 的綜合結(jié)果顯示 OpenRISC1200 共 使用了 9624個(gè)邏輯單元和217344內(nèi)存位,其最高頻率可達(dá) 46. 02MHz。在25MHz的FPGA 中, OpenRISC1200 可達(dá)到 32918.2Dhrystoneper Second , 即 18.74DMIPS 。其性能相當(dāng)于 0.75 DMIPS/MHz。Nios是Altera公司專(zhuān)門(mén)針對(duì) Cyc
21、lone和Stratix器件設(shè)計(jì)的處理器。 Quartus 中的 SOPC Builder 系統(tǒng)開(kāi)發(fā)工具, 可以方便的配置出符合要求的 NiosII 處理器。 Quartus 的綜合結(jié)果顯示 Nios 共消耗了 6615 個(gè)邏輯單元和 181248 內(nèi)存位, 最高頻率為 65.78MHz。在 50MHz 下, 測(cè)得 FPGA 中的 Niosll 為 69915.8 Dhrystoneper Second, 相當(dāng) 39.79DMIPS , 其性能為 0.80DMIPS/MHz 。為了進(jìn)行縱向的對(duì)比,我們還評(píng) 測(cè) Nios 的性 能。 Nios 共需 4535 個(gè)邏輯單元和 231424個(gè)內(nèi)存位,
22、 最高頻率為 61.65MHz 。在 50MHz 下 Nios 可以達(dá)到 18.88 DMIPS , 其性能為 0.37DMIPS/MHz 。顯然 NiosII 比 Nios 在性能上有 了很大的提高。圖 5 給出了幾種處理器的性能對(duì)比圖。 顯然三種 32 位處理器的性能比指令集為 16 位 的準(zhǔn) 32 位 Nios 處理器高出很多。 在三種 32 位處理器中, LEON2 的性能最好為 0.82, 但 其相應(yīng)的所耗的資源也最多。和 LEON2 相比, OpenRISC1200 的性能稍差為 0.75, 但其 所占用的邏輯單元也較少。 N io s 處理器的測(cè)試性能可達(dá) 0.80, 而且其所消耗的邏輯單元 僅為 LEON2 的 57%。這是由于 Nios 針對(duì) Cyclone 器件進(jìn)行過(guò)專(zhuān)門(mén)的優(yōu)化, 導(dǎo)致了 Nios 在 Cyclone 器
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅中醫(yī)藥大學(xué)《安全評(píng)價(jià)理論與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 超市購(gòu)物小學(xué)生課件
- 七年級(jí)生物上冊(cè)第三單元第六章愛(ài)護(hù)植被綠化祖國(guó)教案新版新人教版
- 七年級(jí)道德與法治上冊(cè)第一單元成長(zhǎng)的節(jié)拍第二課學(xué)習(xí)新天地第2框享受學(xué)習(xí)教案新人教版
- 三年級(jí)數(shù)學(xué)上冊(cè)七分?jǐn)?shù)的初步認(rèn)識(shí)一第2課時(shí)認(rèn)識(shí)幾分之幾教案蘇教版
- 三年級(jí)數(shù)學(xué)下冊(cè)一位置與方向第4課時(shí)簡(jiǎn)單的路線圖教案新人教版
- 三年級(jí)科學(xué)下冊(cè)第三單元固體和液體4把液體倒進(jìn)水里去教案蘇教版
- 小學(xué)生安全會(huì)議課件下載
- 《英文歌曲介紹》課件
- 鞋廠培訓(xùn)課件
- 中國(guó)建筑史經(jīng)典題型
- 計(jì)算機(jī)信息系統(tǒng)分級(jí)保護(hù)方案
- 二年級(jí)豎式計(jì)算題720道(打印排版)
- 頂管施工技術(shù)全面詳解
- 公路工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)(交安部分)
- 整式的乘法和因式分解純計(jì)算題100道
- 東北石油大學(xué)學(xué)業(yè)預(yù)警、留級(jí)與退學(xué)制度修訂情況說(shuō)明
- Consent-Letter-for-Children-Travelling-Abroad
- 護(hù)士工作量統(tǒng)計(jì)表
- 中價(jià)協(xié)[2013]35號(hào)造價(jià)取費(fèi)
- 玻璃鱗片施工技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論