国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的RISC微處理器設(shè)計(jì)

2022-05-26 15:52陳劍鋒學(xué)江煜郭湘津
機(jī)電信息 2022年10期
關(guān)鍵詞:流水線嵌入式

陳劍鋒 學(xué)江煜 郭湘津

摘 要:針對(duì)傳統(tǒng)CISC指令集復(fù)雜、硬件開(kāi)發(fā)難度大、運(yùn)行效率低、體系架構(gòu)復(fù)雜等關(guān)鍵技術(shù)問(wèn)題,設(shè)計(jì)了一種基于FPGA的32位RISC微處理器。通過(guò)分析微處理器的基本架構(gòu)和流水線數(shù)據(jù)處理方法,基于VIVADO軟件對(duì)所設(shè)計(jì)的RISC微處理器的軟核進(jìn)行了功能仿真驗(yàn)證,采用XC7A75T芯片為控制核心,完成了RISC處理器系統(tǒng)硬件搭建。仿真結(jié)果表明,所設(shè)計(jì)的RISC-CPU運(yùn)行穩(wěn)定,效率高,層次合理,能實(shí)現(xiàn)各種指令的預(yù)期功能,指令執(zhí)行速度快,達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。

關(guān)鍵詞:FPGA;RISC-CPU;MIPS指令集;流水線;嵌入式

中圖分類號(hào):TP302.2? ? 文獻(xiàn)標(biāo)志碼:A? ? 文章編號(hào):1671-0797(2022)10-0022-05

DOI:10.19514/j.cnki.cn32-1628/tm.2022.10.007

0? ? 引言

近年來(lái),精簡(jiǎn)指令集計(jì)算機(jī)RISC(Reduced Instruction

Set Computer,RISC)技術(shù)不斷成熟,其應(yīng)用范圍也越來(lái)越廣泛,如手持電子設(shè)備、家用電器、工業(yè)控制、機(jī)器人等領(lǐng)域。以往的復(fù)雜指令集計(jì)算機(jī)CISC(Complex Instruction Set Computer,CISC)其復(fù)雜指令的使用率低,運(yùn)算速度慢,硬件架構(gòu)龐大,開(kāi)發(fā)周期長(zhǎng),導(dǎo)致微處理器的總體性能下降,無(wú)法滿足處理速度快的高性能要求。RISC采用簡(jiǎn)單的指令集系統(tǒng),嵌入式處理,架構(gòu)簡(jiǎn)潔,集成度高,不僅優(yōu)化了微處理器的內(nèi)部結(jié)構(gòu),而且縮小了體積,提高了性能,便于片上系統(tǒng)開(kāi)發(fā),靈活方便。因此,RISC微處理器的研究具有理論和實(shí)際意義。

目前,針對(duì)RISC微處理器的系統(tǒng)設(shè)計(jì)方案研究成為眾多學(xué)者關(guān)注的熱點(diǎn)。

郝振和等人[1]提出了一種基于AHB總線的RISC-V微處理器,采用嵌入式系統(tǒng)設(shè)計(jì),在功耗和性能上與Cortex-M0處理器相當(dāng)。

雷少波等人[2]采用4級(jí)流水線的數(shù)據(jù)處理結(jié)構(gòu)設(shè)計(jì)了一款16位RISC嵌入式微處理器,解決了硬件結(jié)構(gòu)在指令執(zhí)行過(guò)程中延遲的問(wèn)題。

劉覽等人[3]提出了一種8級(jí)流水線的32位微處理器,解決了微處理器分支冒險(xiǎn)問(wèn)題,并在FPGA硬件平臺(tái)和Quartus Ⅱ軟件平臺(tái)上進(jìn)行驗(yàn)證。

黃旺華等人[4]基于FPGA流水線設(shè)計(jì)了一種RISC微處理器,針對(duì)數(shù)據(jù)相關(guān)性的寫后讀問(wèn)題,采用“旁路”技術(shù)來(lái)解決,提高了處理速度,其最高時(shí)鐘頻率達(dá)到74.59 MHz。

趙坤等人[5]基于FPGA實(shí)現(xiàn)一個(gè)完整的SoC-FPGA平臺(tái),采用精簡(jiǎn)3級(jí)流水線數(shù)據(jù)處理結(jié)構(gòu),帶有靜態(tài)分支預(yù)測(cè)功能,該SoC的工作頻率為50 MHz。

基于現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)的32位RISC微處理器的設(shè)計(jì),其目的在于簡(jiǎn)化硬件電路結(jié)構(gòu),提高計(jì)算機(jī)數(shù)據(jù)處理速度和系統(tǒng)運(yùn)行效率,將中央處理器(Central Processing Unit,CPU)擅長(zhǎng)復(fù)雜流程控制和FPGA并行數(shù)據(jù)處理的特點(diǎn)相結(jié)合,使得微處理器架構(gòu)簡(jiǎn)潔,指令集系統(tǒng)簡(jiǎn)單,縮短硬件開(kāi)發(fā)周期,降低硬件開(kāi)發(fā)難度,提高CPU整體性能。

1  ? RISC-CPU體系結(jié)構(gòu)

1.1? ? RISC-CPU的基本架構(gòu)

本文采用馮·諾依曼結(jié)構(gòu)來(lái)實(shí)現(xiàn)RISC微處理器設(shè)計(jì)[6]。如圖1所示,所設(shè)計(jì)的RISC微處理器主要由指令寄存器、程序計(jì)數(shù)器、地址多路器、狀態(tài)控制器、累加器、算術(shù)邏輯運(yùn)算單元、數(shù)據(jù)控制器、時(shí)鐘分頻器八大基本部件組成。其中,時(shí)鐘分頻器可為CPU各個(gè)部件提供時(shí)鐘源信號(hào),保證系統(tǒng)的正常運(yùn)行。累加器用于存儲(chǔ)RAM傳輸來(lái)的數(shù)據(jù)信息和當(dāng)前的運(yùn)行結(jié)果。程序計(jì)數(shù)器在當(dāng)前的指令結(jié)束后,立即提供下一條指令的地址,保證指令有序執(zhí)行。

地址多路器中的每個(gè)指令周期共有8個(gè)時(shí)鐘,前面4個(gè)時(shí)鐘從ROM中讀取指令,后面4個(gè)時(shí)鐘則從RAM中讀取指令。算術(shù)邏輯運(yùn)算單元主要用于處理操作碼信息,進(jìn)行基本邏輯運(yùn)算。

1.2? ? MIPS指令集

MIPS[7](Million Instructions Per Second)是一種高效的指令架構(gòu),其最大特點(diǎn)在于簡(jiǎn)化了CISC的龐大指令集,在指令數(shù)目和格式上進(jìn)行了優(yōu)化,極大地提高了微處理器的數(shù)據(jù)處理效率。MIPS指令集的指令數(shù)量比較少,格式固定且整齊,縮短了指令的執(zhí)行時(shí)間,更易于在硬件上實(shí)現(xiàn)數(shù)據(jù)的流水線處理。如圖2所示,MIPS32有三種指令機(jī)器碼格式,分別為R型(寄存器類型)、I型(立即數(shù)類型)和J型(跳轉(zhuǎn)類型)。MIPS架構(gòu)設(shè)計(jì)非常簡(jiǎn)潔、合理,內(nèi)核中可以加入自定義的指令,數(shù)據(jù)處理量大的任務(wù)由編譯器完成,從而保證了處理的高效性。

1.3? ? 流水線技術(shù)

本文設(shè)計(jì)的RISC微處理器采用5級(jí)流水線的技術(shù)方案,能實(shí)現(xiàn)多條指令并行處理,提高了指令的執(zhí)行速度。5級(jí)流水線結(jié)構(gòu)圖如圖3所示,所謂“5級(jí)流水線”是指在執(zhí)行指令過(guò)程中需要經(jīng)過(guò)5個(gè)流水段,每個(gè)流水段完成不同的任務(wù),分別為取指、譯碼、執(zhí)行、訪存和寫回。假設(shè),執(zhí)行5條指令,采用單時(shí)鐘周期執(zhí)行單條指令,則需要15T;若采用流水線技術(shù),僅需9T就能完成。因此,相同時(shí)間內(nèi),流水線技術(shù)提高了微處理器指令的執(zhí)行速度,可作為優(yōu)化微處理器性能的關(guān)鍵技術(shù)。

2? ? RISC-CPU系統(tǒng)的硬件實(shí)現(xiàn)

本設(shè)計(jì)中的FPGA芯片采用的是Xilinx公司開(kāi)發(fā)的Artix-7芯片,型號(hào)為XC7A75T,該芯片邏輯單元豐富、數(shù)字運(yùn)算處理能力強(qiáng)、集成度高。如圖4所示,RISC-CPU的硬件系統(tǒng)以FPGA為控制核心,系統(tǒng)工作時(shí),F(xiàn)PGA芯片負(fù)責(zé)協(xié)調(diào)、管理系統(tǒng)各個(gè)模塊的工作任務(wù),保證系統(tǒng)有序運(yùn)行。SDRAM存儲(chǔ)器模塊是FPGA芯片的數(shù)據(jù)存儲(chǔ)中心,其具有容量大、功耗低、讀/寫速度快的特點(diǎn),在嵌入式系統(tǒng)的開(kāi)發(fā)中應(yīng)用廣泛;系統(tǒng)的運(yùn)行狀態(tài)由LED指示燈模塊顯示;斷電保護(hù)采用EPCS接口模塊;JTAG接口模塊用于FPGA的程序下載、仿真和調(diào)試。

3? ? RISC-CPU系統(tǒng)的仿真測(cè)試

采用VIVADO 2014.3對(duì)所設(shè)計(jì)的RISC-CPU系統(tǒng)進(jìn)行仿真測(cè)試,由兩部分組成,其中cpu_top.v模塊為所設(shè)計(jì)的RISC-CPU,memoRy.v模塊為存儲(chǔ)模塊。

(1)R類型指令:圖5和圖6展示了為寄存器R0賦值立即數(shù)1 010和為寄存器R1賦值立即數(shù)1的過(guò)程。可以看出RISC-CPU讀取到對(duì)應(yīng)指令,經(jīng)過(guò)一個(gè)時(shí)鐘周期后,對(duì)應(yīng)寄存器的值變?yōu)橛脩糁付ㄖ怠?/p>

圖7和圖8為寄存器之間數(shù)值的計(jì)算過(guò)程,圖7為將R0和R1寄存器的值累加送給R2,圖8為將R2寄存器的值和自身累加再送給R2(即R2的值翻倍)。從圖7中可以發(fā)現(xiàn)讀取到加法命令后,R2的值變?yōu)镽0當(dāng)前值(1 010)加上R1當(dāng)前值(1)的結(jié)果,即1 011。從圖8中可以發(fā)現(xiàn)讀取到加法指令后,R2的值從1 011翻倍為2 022。

(2)I類型指令:圖9和圖10展示了寄存器和存儲(chǔ)器之間交換數(shù)據(jù)的過(guò)程,圖9展示了將R0寄存器的值(1 011)送到存儲(chǔ)器地址4中,圖10展示了將存儲(chǔ)器地址4中的值讀出送給R1,再將R0和R1的值累加送給R2的過(guò)程。

(3)J類型指令:圖11和圖12展示了利用J類型指令實(shí)現(xiàn)當(dāng)R0=1時(shí),給R2賦值2 021,否則賦值2 022的功能。圖11中,R0為1,利用J類型指令跳過(guò)了第四條指令的執(zhí)行,最終運(yùn)行結(jié)果R2=2 021。圖12中,R0為2,因此第四條指令照常運(yùn)行,最終運(yùn)行結(jié)果R2=2 022。

編譯結(jié)果顯示所設(shè)計(jì)的RISC-CPU層次合理,可以實(shí)現(xiàn)R類型、I類型和J類型指令的功能,CPU能正常運(yùn)行,指令執(zhí)行速度快。

4? ? 結(jié)語(yǔ)

本文設(shè)計(jì)了一套基于FPGA的RISC微處理器控制系統(tǒng),采用MIPS32指令集和5級(jí)流水線技術(shù)簡(jiǎn)化了硬件設(shè)計(jì),整個(gè)系統(tǒng)運(yùn)行速度快、性能高、可移植性強(qiáng)、穩(wěn)定性好。并且在VIVADO軟件上對(duì)設(shè)計(jì)的功能和關(guān)鍵模塊進(jìn)行仿真、調(diào)試、驗(yàn)證,以保證系統(tǒng)設(shè)計(jì)的合理性和正確性。

測(cè)試結(jié)果表明,設(shè)計(jì)的RISC微處理器功能正常,主頻性能優(yōu)良,能實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)、指令執(zhí)行、算術(shù)和邏輯運(yùn)算、與存儲(chǔ)器/外設(shè)交換數(shù)據(jù)等功能,滿足設(shè)計(jì)要求。

[參考文獻(xiàn)]

[1] 郝振和,焦繼業(yè),李雨倩.基于AHB總線的RISC-V微處理器設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2020,56(20):52-58.

[2] 雷少波,黃民.16位嵌入式RISC微處理器設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2013,32(7):13-15.

[3] 劉覽,鄭步生,施慧彬.基于FPGA的32位RISC微處理器設(shè)計(jì)[J].數(shù)據(jù)采集與處理,2011,26(3):367-373.

[4] 黃旺華,李振坤,劉怡俊,等.基于FPGA流水線RISC微處理器的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008(14):187-189.

[5] 趙坤.基于RISC-V架構(gòu)的SoC設(shè)計(jì)與實(shí)現(xiàn)[D].??冢汉D洗髮W(xué),2021.

[6] 楊培森.第五代計(jì)算機(jī)的結(jié)構(gòu)及其相關(guān)技術(shù)[J].系統(tǒng)工程與電子技術(shù),1985(11):1-7.

[7] 嚴(yán)浦洲.基于Verilog HDL的多周期CPU設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)碼世界,2020(12):31-32.

收稿日期:2022-02-23

作者簡(jiǎn)介:陳劍鋒(1995—),男,福建泉州人,助教,研究方向:電路設(shè)計(jì)、信號(hào)處理、機(jī)械工程。

猜你喜歡
流水線嵌入式
熨燙女工
奇思妙想
流水線
流水線上的神奇轉(zhuǎn)換
嵌入式LINUX操作系統(tǒng)的研究
嵌入式組件技術(shù)的研究及應(yīng)用
“嵌入式系統(tǒng)概論”課程設(shè)計(jì)
電子設(shè)計(jì)應(yīng)用(2004年7期)2004-09-02