亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        通用嵌入式32位RISC CPU設(shè)計(jì)概述

        2012-03-19 13:02:18牛英山
        微處理機(jī) 2012年5期
        關(guān)鍵詞:指令集流水線寄存器

        牛英山,王 爽,楊 光

        (中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽110032)

        1 前言

        通用嵌入式32位RISC CPU具有體積小、功耗少、成本低的優(yōu)點(diǎn),作為控制核心在SoC設(shè)計(jì)領(lǐng)域得到了非常廣泛的應(yīng)用。

        2 通用32位RISC CPU簡(jiǎn)介

        在嵌入式領(lǐng)域,主流的通用32位RISC CPU有ARM、MIPS、LEON、Nios II、PowerPC、SPARC 等幾大系列。

        2.1 ARM系列

        目前主要有 ARM7(ARMv4T)、SecurCore(ARMv4T/v6M/v7M)、ARM9(ARMv4T)、ARM9E(ARMv5TEJ)、 ARM10(ARMv5TE)、 ARM11(ARMv6TE)、ARM Cortex-A/R/M(ARMv7-A/R/M)等幾大系列。ARM采用RISC體系架構(gòu),微處理器一般具有如下特點(diǎn):

        ·體積小、低功耗、低成本、高性能;

        ·支持 Java(8位)/Thumb(16位)/ARM(32位)三套指令集;

        ·大量使用寄存器,指令執(zhí)行速度更快;

        ·大多數(shù)數(shù)據(jù)操作都在寄存器中完成;

        ·尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;

        ·指令長(zhǎng)度固定。

        2.2 MIPS系列

        目前主要有MIPS32K和MIPS64K兩大系列;MIPS處理器主要有以下技術(shù)特點(diǎn):

        ·MIPS的設(shè)計(jì)保持純粹的RISC風(fēng)格;

        ·占用更小的芯片面積,功耗方面稍大一些;

        ·具有32位和64位兩種架構(gòu)的指令集;

        ·核內(nèi)包含大量寄存器、指令數(shù)和字符;

        ·可視的流水線延遲間隙;

        ·多發(fā)射核技術(shù);

        ·MIPS是開放式的架構(gòu),用戶可以在開發(fā)的內(nèi)核中加入自己的指令。

        2.3 LEON系列

        目前主要有LEON2、LEON3、LEON4三大系列。LEON軟核是一個(gè)與SPARC V8兼容的整數(shù)處理單元IU(Integer Unit),LEON2是5級(jí)流水線,LEON3和LEON4是7級(jí)流水線。LEON微處理器具有以下特點(diǎn):

        ·流水線結(jié)構(gòu);

        ·具有硬件乘法/除法和MAC功能;

        ·獨(dú)立的指令和數(shù)據(jù)Cache(哈佛結(jié)構(gòu));

        ·可根據(jù)需求靈活配置Cache的容量;

        ·片上總線使用AMBA2.0規(guī)范,支持APB和AHB標(biāo)準(zhǔn);

        ·具備一些片上常用外設(shè)(如UART、中斷控制、I/O接口、實(shí)時(shí)時(shí)鐘、看門狗等)。

        2.4 Nios系列

        目前主要有Nios、Nios II兩大系列。

        Nios II處理器是一個(gè)通用的32位RISC處理器內(nèi)核,其主要特點(diǎn)如下。

        ·完全的32位指令集、數(shù)據(jù)通道和地址空間;

        ·可配置的指令和數(shù)據(jù)Cache;

        ·32個(gè)通用寄存器;

        ·32個(gè)有優(yōu)先級(jí)的外部中斷源;

        ·單指令的32×32乘除法,產(chǎn)生32位結(jié)果;

        ·多種片上外設(shè),并能夠與片外存儲(chǔ)器和外設(shè)接口;

        ·具有硬件協(xié)助的調(diào)試模塊,可以在IDE中控制處理器完成各種調(diào)試工作,如開始、停止、單步和跟蹤等;

        ·在不同的Nios II系統(tǒng)中,指令集結(jié)構(gòu)(ISA)完全兼容;

        ·性能達(dá)到150DMIPS以上。

        2.5 PowerPC系列

        目前主要有 PowerPC 40x、60x、70x、90x 四大系列;

        PowerPC架構(gòu)具有以下特點(diǎn):

        ·32個(gè)integer/float registers組;

        ·指令load/store在GPRS與FPRS之間存取數(shù)據(jù);

        ·統(tǒng)一定長(zhǎng)的精簡(jiǎn)指令格式易于實(shí)現(xiàn)超標(biāo)量流水線;

        ·最多支持4個(gè)operands,運(yùn)算結(jié)果典型存放在first operand;

        ·IEEE-754標(biāo)準(zhǔn)浮點(diǎn)數(shù),單精度(singlefloat)和雙精度(double-float)指令運(yùn)算;

        ·PowerPC架構(gòu)允許實(shí)現(xiàn)某一功能為特定的硬件平臺(tái);

        ·用戶層指令的存取缺省在caches執(zhí)行。特殊指令跨越caches存取;

        ·支持big-endian和little-endian模式;

        ·支持64-bit地址模式。

        2.6 SPARC系列

        目前主要有v7、v8、v9三大系列。SPARC微處理器特點(diǎn):

        ·SPARC微處理器具備精簡(jiǎn)指令集;

        ·支持32位/64位數(shù)據(jù)精度;

        ·架構(gòu)運(yùn)行穩(wěn)定;

        ·可擴(kuò)展性優(yōu)良;

        ·體系標(biāo)準(zhǔn)開放;

        ·環(huán)形結(jié)構(gòu)的寄存器窗口技術(shù)。

        3 設(shè)計(jì)思路

        通用嵌入式32位RISC CPU設(shè)計(jì)主要包括以下幾大方面。

        3.1 設(shè)計(jì)規(guī)格定義

        首先是與用戶進(jìn)行溝通,了解用戶的具體需求,并盡可能將所有的內(nèi)容寫入文檔。其中關(guān)鍵的部分主要是產(chǎn)品的系列規(guī)劃(如1代、2代、3代等)、性能指標(biāo)(如頻率、面積、功耗等)、編程模型(如調(diào)試模式、正常模式、特權(quán)模式等)、指令集(如指令種類、指令編碼格式、指令助記符、指令尋址方式、版本規(guī)劃、內(nèi)部寄存器數(shù)量、功能定義和名稱、可擴(kuò)展性說明、是否支持浮點(diǎn)預(yù)算等)、存儲(chǔ)器體系架構(gòu)(哈佛體系架構(gòu)或是馮·諾依曼)、總線接口協(xié)議、硬件調(diào)試方式(如串口調(diào)試、JTAG調(diào)試等)、存儲(chǔ)器管理單元、存儲(chǔ)器保護(hù)單元、高速緩存CACHE、緊耦合存儲(chǔ)器接口、寫緩沖器、片上協(xié)處理器定義、片外協(xié)處理器接口、中斷處理方式(硬件接口、同步還是異步、使能與禁止、優(yōu)先級(jí)、響應(yīng)過程和時(shí)間)、復(fù)位模式及行為、片外協(xié)處理器功能定義、片外協(xié)處理器指令集等。

        3.2 指令集設(shè)計(jì)

        指令集是微處理器的核心,主要包括指令種類(如算術(shù)運(yùn)算類、邏輯運(yùn)算類、乘法類、除法類、浮點(diǎn)預(yù)算類、數(shù)據(jù)傳送類、比較類、散轉(zhuǎn)類、其他等)、指令編碼格式(操作碼、操作數(shù)1、操作數(shù)2等)、指令助記符定義(MOV、ADD、SUB、MUL、DIV 等)和指令尋址方式(立即尋址、寄存器尋址、寄存器間接尋址、寄存器變址尋址、相對(duì)尋址等)、指令周期(哪些指令單周期、哪些指令多周期、指令數(shù)據(jù)相關(guān)周期)。通過設(shè)計(jì),將所有指令的執(zhí)行過程進(jìn)行細(xì)化、歸類和簡(jiǎn)化,為指令譯碼器的設(shè)計(jì)提供必要的理論依據(jù),尤其是譯碼器輸出信號(hào)的種類和數(shù)量。

        3.3 系統(tǒng)架構(gòu)設(shè)計(jì)

        體系架構(gòu)是實(shí)現(xiàn)微處理器的框架,尤其是對(duì)于不同指令集版本的實(shí)現(xiàn)更為重要。體系架構(gòu)設(shè)計(jì)主要是數(shù)據(jù)通路和控制通路的規(guī)劃。數(shù)據(jù)通路規(guī)劃的重點(diǎn)是流水線組織,如采用流水線的級(jí)數(shù)(如5級(jí)、7級(jí)、8級(jí)等)、每級(jí)實(shí)現(xiàn)的功能(如取指、譯碼、發(fā)射、移位、執(zhí)行、存儲(chǔ)器、回寫等)、流水線的結(jié)構(gòu)相關(guān)(如數(shù)據(jù)前推、互鎖、延遲槽等)、關(guān)鍵部件(如系統(tǒng)控制單元、指令譯碼器、ALU、寄存器組、乘法器等)在流水線中的位置等。控制通路規(guī)劃的重點(diǎn)是根據(jù)指令的執(zhí)行周期來設(shè)計(jì)控制狀態(tài)機(jī)、解決流水線的數(shù)據(jù)相關(guān)和控制相關(guān)、中斷和異常的處理等。

        3.4 總線接口選擇/設(shè)計(jì)

        目前,在SoC設(shè)計(jì)中使用的片上總線主要有ARM的32位總線AMBA 2.0(AHB、APB)和64位總線 AXI 1.0/2.0,MIPS 的OCP 2.1,Nios II的 Avalon-Bus(Avalon-MM、Avalon-TRI、Avalon-MM、Avalon-MM)、PowePC 的 CoreConnect(PLB、OPB、DCR)以及Silicore的Wishbone總線。四種總線都是同步總線,使用時(shí)鐘沿驅(qū)動(dòng)和采樣信號(hào)??偩€的基本操作幾乎沒有區(qū)別,最大的區(qū)別在于提供的特性和規(guī)范的完整性。

        總線接口可以選擇當(dāng)前的主流片上總線,并獲取授權(quán),同時(shí)也決定了整個(gè)SoC系統(tǒng)的總線規(guī)范以及與之配套使用的各種外圍IP模塊;還可以設(shè)計(jì)自己的總線規(guī)范,但必須有別于現(xiàn)有的總線協(xié)議,否則會(huì)侵權(quán),并且要比現(xiàn)有的協(xié)議更好,否則也沒有意義。因?yàn)楝F(xiàn)有的總線協(xié)議比較成熟,而且使用該協(xié)議的IP也有很多,新協(xié)議的完備性和正確性需要花費(fèi)很長(zhǎng)時(shí)間、投入大量的人力、物力和財(cái)力才會(huì)使之達(dá)到一定的實(shí)用化程度。

        3.5 模塊化分、子模塊設(shè)計(jì)和驗(yàn)證

        根據(jù)體系架構(gòu)進(jìn)行頂層模塊劃分,規(guī)定各個(gè)主要模塊的功能以及主要的接口信號(hào)和時(shí)序關(guān)系,再將各主要模塊進(jìn)行細(xì)化,為子模塊的RTL設(shè)計(jì)提供依據(jù)。

        在進(jìn)行子模塊的RTL設(shè)計(jì)之前,先規(guī)定RTL的代碼風(fēng)格,以約束代碼工程師的行為,并保證設(shè)計(jì)風(fēng)格的一致性,便于設(shè)計(jì)的更新、修改和管理。

        在進(jìn)行子模塊的RTL設(shè)計(jì)時(shí),依據(jù)子模塊的功能定義和接口定義,選取合適的邏輯結(jié)構(gòu),如加法器、減法器、乘法器、除法器、譯碼器等,同時(shí)在子模塊中插入調(diào)試語句以便于查找出現(xiàn)的問題,再搭建對(duì)應(yīng)的驗(yàn)證平臺(tái)來進(jìn)行子模塊測(cè)試。整個(gè)過程采用的是自頂向下的設(shè)計(jì)方式,并使用自下向上的驗(yàn)證方式來保證設(shè)計(jì)的正確性。

        3.6 系統(tǒng)整合與調(diào)試

        根據(jù)微處理器的體系架構(gòu),將所有的功能模塊整合在一起,構(gòu)成一個(gè)功能比較完整的微處理器軟核,并搭建一個(gè)測(cè)試平臺(tái)進(jìn)行系統(tǒng)整體的連接調(diào)試,主要是針對(duì)各個(gè)模塊的基本功能以及系統(tǒng)的整體運(yùn)作進(jìn)行測(cè)試,從而保證系統(tǒng)的正確性。雖然在設(shè)計(jì)時(shí)已經(jīng)進(jìn)行了很詳細(xì)的規(guī)劃,但在系統(tǒng)整合后仍然會(huì)有很多問題出現(xiàn),如信號(hào)數(shù)量、名稱及時(shí)序定義不一致的情況。

        3.7 系統(tǒng)級(jí)驗(yàn)證

        在進(jìn)行系統(tǒng)整合與調(diào)試之后,搭建以微處理器為核心的系統(tǒng)級(jí)驗(yàn)證平臺(tái)。系統(tǒng)級(jí)驗(yàn)證平臺(tái)實(shí)際上是一個(gè)模擬微處理器使用環(huán)境的SoC,包括硬件和軟件兩部分。硬件部分由微處理器以及與之配套的IP模塊組成,構(gòu)成SoC/MCU的主體。軟件部分由測(cè)試程序以及結(jié)果分析、比較和處理模塊構(gòu)成,便于對(duì)微處理器進(jìn)行調(diào)試。

        3.8 FPGA原型驗(yàn)證

        經(jīng)過系統(tǒng)級(jí)驗(yàn)證的微處理器可以進(jìn)行FPGA原型驗(yàn)證,兩種驗(yàn)證也可以同時(shí)進(jìn)行。原型驗(yàn)證的調(diào)試過程比較簡(jiǎn)單,而且沒有系統(tǒng)級(jí)驗(yàn)證的調(diào)試方式便利,可以觀察部分信號(hào)。FPGA原型驗(yàn)證的目的是加速驗(yàn)證過程,并通過模擬真實(shí)使用環(huán)境來發(fā)現(xiàn)設(shè)計(jì)中存在的缺陷,以此來完善微處理器的設(shè)計(jì)。搭建以微處理器為核心,且有外圍IP的SoPC,并進(jìn)行功能仿真,再將其使用FPGA開發(fā)工具(如Quartus II、ISE、Libero、SynplifyPro 等)進(jìn)行綜合、自動(dòng)布局布線、生成位流文件,并下載到FPGA上運(yùn)行。

        經(jīng)過基本調(diào)試后,可以調(diào)用對(duì)應(yīng)IP的驅(qū)動(dòng)程序來進(jìn)行測(cè)試,之后將BootLoader(如Uboot、VIVI等)移植到系統(tǒng)上,為RTOS的移植做準(zhǔn)備,再將嵌入式實(shí)時(shí)操作系統(tǒng) RTOS(如 Linux、VxWork、UCOS-II/III、SymbianOS等)移植到系統(tǒng)上調(diào)試,最后再將應(yīng)用程序添加到系統(tǒng)上運(yùn)行。經(jīng)過以上一系列驗(yàn)證后,微處理器的實(shí)用化程度將會(huì)大大增強(qiáng),同時(shí)也會(huì)提高用戶使用微處理器的信心和興趣。

        3.9 軟件開發(fā)環(huán)境設(shè)計(jì)

        軟件開發(fā)環(huán)境是嵌入式微處理器使用過程中很重要的一部分,基本要求是具有支持匯編語言、C語言、C++等程序的編譯、鏈接、軟件仿真、調(diào)試方便(尤其是在線進(jìn)行目標(biāo)軟件的調(diào)試)、軟件界面友好、簡(jiǎn)單方便、靈活易用等特點(diǎn),而且最好是提供與現(xiàn)有其它工具一樣的調(diào)試功能。軟件開發(fā)環(huán)境可以自行開發(fā),周期可能較長(zhǎng),投入較大,維護(hù)成本較高;也可以在GNU提供的gcc等工具鏈的基礎(chǔ)上進(jìn)行二次開發(fā),周期會(huì)縮短,投入較小,維護(hù)成本較低;還可以使用ACE提供的專業(yè)編譯工具CoSy進(jìn)行開發(fā),周期會(huì)大幅度縮短,投入較大,維護(hù)成本較低,質(zhì)量較高,更有利于產(chǎn)品的系列化發(fā)展。

        4 結(jié)束語

        以上只是對(duì)嵌入式微處理器的設(shè)計(jì)過程進(jìn)行了簡(jiǎn)明扼要的描述,而且涵蓋了主要方面,具體設(shè)計(jì)時(shí)還需要把每一過程進(jìn)一步細(xì)化,才能達(dá)到設(shè)計(jì)目標(biāo)。

        [1] 楊碩.32位嵌入式微處理器一覽[DB/OL].http://epson.eefocus.com/ayayayaya/blog/10-08/193975_00ab0.html.

        [2] 田澤,張怡浩,于敦山,盛世敏,仇玉林.SoC片上總線綜述[J].半導(dǎo)體技術(shù),2003,28(11):11-15.

        猜你喜歡
        指令集流水線寄存器
        Gen Z Migrant Workers Are Leaving the Assembly Line
        3DNow指令集被Linux淘汰
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        流水線
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        實(shí)時(shí)微測(cè)量系統(tǒng)指令集及解析算法
        報(bào)廢汽車拆解半自動(dòng)流水線研究
        什么是AMD64
        SIMATIC IPC3000 SMART在汽車流水線領(lǐng)域的應(yīng)用
        基于覆蓋率驅(qū)動(dòng)的高性能DSP指令集驗(yàn)證方法
        国产亚洲av一线观看| 欧美亚洲色综久久精品国产| 吃奶摸下激烈床震视频试看| 比比资源先锋影音网| 456亚洲人成在线播放网站| 人妻色中文字幕免费视频| 蜜乳一区二区三区亚洲国产| 精品人妻伦一二三区久久| 国产激情久久久久久熟女老人av| 久久精品国产第一区二区三区| 人伦片无码中文字幕| 夫妻一起自拍内射小视频| 国产夫妻自偷自拍第一页| 亚洲一区二区三区中国| 国产亚洲一本大道中文在线| 亚洲精品无码不卡av| 国产真实伦视频在线视频| 久久99免费精品国产| 国产精品国产三级国产av品爱| 日韩欧美成人免费观看| 国产精品 高清 尿 小便 嘘嘘| 杨幂国产精品一区二区| 宅男视频一区二区三区在线观看| 老太婆性杂交视频| 九九精品国产亚洲av日韩| 久久天堂av色综合| 日韩av在线免费观看不卡| 国产自拍偷拍精品视频在线观看| 国产成人精品a视频| 77777亚洲午夜久久多人| 自拍视频国产在线观看| 青青草视频是针对华人| 国产va免费精品观看精品| 国产精品麻豆欧美日韩ww| 欧美亚洲国产精品久久久久| 国产精品日韩亚洲一区二区| 国产精品久久久久一区二区三区 | 天天躁夜夜躁狠狠躁2021a2| 日日碰狠狠躁久久躁96avv| 粉嫩国产白浆在线播放| 日本少妇熟女一区二区|