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

        ?

        嵌入式32位RISC CPU兼容性設(shè)計(jì)概述

        2012-07-25 03:20:26闖,林
        微處理機(jī) 2012年4期
        關(guān)鍵詞:流水線嵌入式指令

        羅 闖,林 楠

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

        1 前言

        目前,嵌入式技術(shù)的發(fā)展越來(lái)越成熟,嵌入式產(chǎn)品也越來(lái)越受到廣大年輕人的青睞。兼容型微處理器設(shè)計(jì)在高等教育領(lǐng)域也越來(lái)越受歡迎。

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

        設(shè)計(jì)兼容型微處理器的好處是可以借鑒ARM、MIPS、Nios II、PowerPC、SPARC、LEON、OR1000、OpenSparcT1/T2等幾大系列嵌入式微處理器的設(shè)計(jì)經(jīng)驗(yàn),其中前五類(lèi)是具有自主知識(shí)產(chǎn)權(quán)的,各種資源比較豐富,學(xué)習(xí)一下是可以的,但是不能用于商業(yè)目的,而后三類(lèi)是開(kāi)源的,獲取GPL后則可以自由使用;因此設(shè)計(jì)思路是從目前主流微處理器的發(fā)展過(guò)程中汲取經(jīng)驗(yàn)。

        3 設(shè)計(jì)過(guò)程概述

        嵌入式32位RISC CPU兼容性設(shè)計(jì)需從硬件和軟件兩個(gè)方面來(lái)考慮。

        3.1 硬件方面

        硬件方面主要包括以下幾個(gè)方面:

        3.1.1 指令集分析

        指令是微處理器的靈魂,也是構(gòu)成指令集的最小單位,可以保證與目標(biāo)微處理器百分之百的二進(jìn)制兼容。

        指令集主要包括:

        ·指令種類(lèi):通常包括運(yùn)算類(lèi),分支類(lèi)、數(shù)據(jù)傳送類(lèi)及其他等。運(yùn)算類(lèi)主要用于算術(shù)運(yùn)算、邏輯運(yùn)算、乘法、除法等操作。分支類(lèi)主要用于實(shí)現(xiàn)程序的跳轉(zhuǎn),靈活控制程序的執(zhí)行過(guò)程,滿足條件控制的需要。數(shù)據(jù)傳送類(lèi)主要用來(lái)與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換。其他是一些雜項(xiàng)指令。

        ·指令編碼格式:指令包括操作碼和操作數(shù)兩部分。操作碼實(shí)現(xiàn)指令的具體操作。操作數(shù)包括立即數(shù)、內(nèi)部寄存器、地址等。指令編碼格式確定操作碼和操作數(shù)在指令編碼表中的位置。

        ·指令助記符:如 MOV、ADD、SUB、MUL、DIV等,縮寫(xiě)簡(jiǎn)明易懂,便于程序員記憶和直接使用指令進(jìn)行匯編語(yǔ)言編寫(xiě)目標(biāo)程序。

        ·指令尋址方式:主要有立即尋址、寄存器尋址、寄存器間接尋址、寄存器變址尋址、相對(duì)尋址等。

        ·指令周期:如指令單周期、指令多周期、指令數(shù)據(jù)相關(guān)周期等,必須與目標(biāo)微處理器一致。

        通過(guò)分析,將所有指令的執(zhí)行過(guò)程進(jìn)行細(xì)化、歸類(lèi)和簡(jiǎn)化,為指令譯碼器、控制單元、ALU等功能模塊的設(shè)計(jì)提供必要的理論依據(jù),尤其是譯碼器輸出信號(hào)的種類(lèi)和數(shù)量,因?yàn)樽g碼器是一大塊組合邏輯,而其占據(jù)流水線的一個(gè)階段,結(jié)構(gòu)設(shè)計(jì)不合理會(huì)直接影響系統(tǒng)性能。表1是以邏輯運(yùn)算指令和算術(shù)運(yùn)算指令為例給出的各階段指令分解動(dòng)作簡(jiǎn)表。

        表1 各階段指令分解動(dòng)作簡(jiǎn)表

        3.1.2 體系架構(gòu)設(shè)計(jì)

        體系架構(gòu)是微處理器設(shè)計(jì)的關(guān)鍵,用來(lái)保證與不同指令集版本的兼容性。體系架構(gòu)中的關(guān)鍵是流水線技術(shù),也是RISC微處理器的一大特點(diǎn)。隨著性能要求的提高,流水線的深度也越來(lái)越深,即級(jí)數(shù)越來(lái)越多,同時(shí)帶來(lái)的流水線問(wèn)題也更加復(fù)雜。

        目前,常用的流水線深度有3級(jí)、5級(jí)、6級(jí)、8級(jí)、十幾級(jí),有的甚至達(dá)到幾十級(jí)。下面以5級(jí)流水線為例,分為取指、譯碼、執(zhí)行、存儲(chǔ)器和回寫(xiě)。取指級(jí)主要完成指令的預(yù)取,即程序計(jì)數(shù)器PC的生成。譯碼級(jí)主要完成指令譯碼、操作數(shù)的讀取和選擇。執(zhí)行級(jí)主要完成操作數(shù)的移位、邏輯運(yùn)算、算術(shù)運(yùn)算、乘法運(yùn)算、除法運(yùn)算、訪問(wèn)數(shù)據(jù)存儲(chǔ)器地址的產(chǎn)生。存儲(chǔ)器級(jí)主要完成數(shù)據(jù)的讀寫(xiě)或是簡(jiǎn)單緩沖一個(gè)周期以保證流水線的完整性,也可以直接將執(zhí)行結(jié)果寄存到回寫(xiě)級(jí),以縮短指令的周期。回寫(xiě)級(jí)主要完成運(yùn)算結(jié)果的寫(xiě)回操作。此外還有一個(gè)更重要的部件是系統(tǒng)控制單元,根據(jù)輸入的數(shù)據(jù)產(chǎn)生對(duì)應(yīng)的流水線控制信號(hào),用來(lái)實(shí)現(xiàn)微處理器的有序工作。一般情況下流水線組織結(jié)構(gòu)如圖2所示。完成流水線所對(duì)應(yīng)的功能需要相應(yīng)的功能模塊。圖2中只是根據(jù)流水線的組織情況,將對(duì)應(yīng)的功能模塊放在流水線中,相當(dāng)于完成了系統(tǒng)的頂層模塊劃分,還沒(méi)有進(jìn)行數(shù)據(jù)通路和控制通路的規(guī)劃。數(shù)據(jù)通路的規(guī)劃是在內(nèi)部各個(gè)主要的功能模塊之間建立起相互之間的聯(lián)系:同級(jí)的模塊可能是串行或是并行,需要根據(jù)指令的功能而定;不同級(jí)之間的模塊需要通過(guò)流水線寄存器進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)通路的規(guī)劃是根據(jù)當(dāng)前流水線中指令的執(zhí)行情況、指令功能和指令周期,由系統(tǒng)控制單元給出對(duì)應(yīng)的控制信號(hào)。系統(tǒng)控制單元是微處理器的核心,主要由一個(gè)有限狀態(tài)機(jī)構(gòu)成,包括系統(tǒng)復(fù)位、正常運(yùn)行、系統(tǒng)調(diào)試和中斷/異常四個(gè)狀態(tài),如圖3所示。

        3.1.3 總線接口設(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)??偩€的基本操作幾乎沒(méi)有區(qū)別,最大的區(qū)別在于提供的特性和規(guī)范的完整性。下面以AMBA AHB為例進(jìn)行簡(jiǎn)要說(shuō)明。圖4為最基本的AHB總線時(shí)序:一個(gè)周期為輸出地址周期,輸出需要訪問(wèn)的地址和對(duì)應(yīng)的控制信號(hào);接下來(lái)一個(gè)周期為數(shù)據(jù)周期,輸出或是讀入上一個(gè)周期對(duì)應(yīng)的數(shù)據(jù)信號(hào)。如果外設(shè)速度較慢,可以在數(shù)據(jù)周期插入等待信號(hào),即將 HREADY置為“低”,從而可以使得總線接口部件的控制邏輯處于等待狀態(tài),以保證得到正確的數(shù)據(jù)。因?yàn)锳HB是一個(gè)比較完整的總線協(xié)議,可以適應(yīng)很多種情況,所以還需要增加更加復(fù)雜的邏輯,同時(shí)再根據(jù)微處理器的具體需要進(jìn)行適當(dāng)裁剪,這樣既可以保證與AHB協(xié)議的兼容性,還可以降低硬件的總體成本。

        3.2 軟件方面

        軟件方面主要是通過(guò)對(duì)應(yīng)軟件開(kāi)發(fā)工具來(lái)進(jìn)行程序設(shè)計(jì),從而提高程序的設(shè)計(jì)效率、質(zhì)量和規(guī)模。每種微處理器都有對(duì)應(yīng)的軟件開(kāi)發(fā)工具。一般情況下,微處理器廠商會(huì)開(kāi)發(fā)自己的專(zhuān)用工具,如ARM的ADS和RealView;也有第三方為某個(gè)微處理器廠商設(shè)計(jì)的兼容性開(kāi)發(fā)工具,如Keil為ARM開(kāi)發(fā)的μVision;還可以使用免費(fèi)的GNU工具鏈,不過(guò)可能需要花一些時(shí)間和精力來(lái)進(jìn)行相應(yīng)的環(huán)境設(shè)置。

        圖4 基本AHB總線時(shí)序

        軟件開(kāi)發(fā)工具是一個(gè)集成開(kāi)發(fā)環(huán)境IDE,可以進(jìn)行匯編語(yǔ)言、C語(yǔ)言、C++等程序的編譯、鏈接、軟件調(diào)試、在線調(diào)試等。對(duì)于嵌入式32位微處理器來(lái)說(shuō),軟件開(kāi)發(fā)工具的在線調(diào)試功能是非常重要的。因此,必須清楚調(diào)試工具的工作原理。目前使用的調(diào)試方式主要有兩種:一種是JTAG調(diào)試,如ARM、MIPS、NiosII、PowerPC等;另一種是串口調(diào)試,如LEON2/3/4、SparcV7/8/9等。下面以JTAG調(diào)試為例進(jìn)行簡(jiǎn)要說(shuō)明。軟件開(kāi)發(fā)工具在PC端運(yùn)行,通過(guò)并口/USB接口與硬件仿真器相連。硬件仿真器通過(guò)內(nèi)部硬件實(shí)現(xiàn)與PC并口協(xié)議/USB協(xié)議到串行JTAG協(xié)議的轉(zhuǎn)換,并與微處理器的調(diào)試部件相連實(shí)現(xiàn)在線調(diào)試功能。圖5為使用JTAG接口調(diào)試的框圖。

        圖5 使用JTAG接口調(diào)試的框圖

        JTAG 接口主要包括 TCK、TMS、TDI、TDO 和TRST五個(gè)信號(hào),使用簡(jiǎn)單,連接方便,是目前采用最多的一種調(diào)試方式。JTAG調(diào)試部件的核心是Test access port(TAP)控制器狀態(tài)機(jī),共有16個(gè)狀態(tài),其狀態(tài)轉(zhuǎn)換過(guò)程如圖6所示。

        圖6 JTAG TAP控制器狀態(tài)轉(zhuǎn)換圖

        工作原理是先運(yùn)行JTAG指令,才能進(jìn)行對(duì)應(yīng)掃描鏈的操作,即在TCK和TMS的共同作用下,實(shí)現(xiàn)不同狀態(tài)之間的轉(zhuǎn)換。如果是進(jìn)行數(shù)據(jù)操作,需要先進(jìn)入到Select-DR-Scan狀態(tài),再進(jìn)入到Capture-DR、Shift-DR、Exit1-DR 和 Update-DR 狀態(tài),最后回到 Run-Test/Idle或是 Select-DRScan狀態(tài),即在中間的*-DR狀態(tài)來(lái)完成對(duì)所有掃描鏈的讀寫(xiě)操作。如果使用JTAG指令,則需要進(jìn)入右邊*-IR狀態(tài)來(lái)完成對(duì)應(yīng)的指令動(dòng)作。

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

        以上只是簡(jiǎn)要概述了嵌入式32位RISC CPU兼容性設(shè)計(jì)的主要方面,若要設(shè)計(jì)一個(gè)完全與之兼容的微處理器,還需要進(jìn)行大量的設(shè)計(jì)工作。

        [1] [英]Steve Furber,著.ARM SoC體系結(jié)構(gòu)[M].田澤,于敦山,盛世敏,譯.北京:航空航天大學(xué)出版社,2002.

        [2] 朱子玉,李亞民.CPU芯片邏輯設(shè)計(jì)技術(shù)[M].北京:清華大學(xué)出版社,2005.

        [3] 孫天澤,袁文菊.嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開(kāi)發(fā)指南-基于ARM9處理器(第2版)[M].北京:電子工業(yè)出版社,2007.

        [4] IEEE.Standard Test Access Port and Boundary-Scan Architecture[M]2001.

        猜你喜歡
        流水線嵌入式指令
        Gen Z Migrant Workers Are Leaving the Assembly Line
        聽(tīng)我指令:大催眠術(shù)
        流水線
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        報(bào)廢汽車(chē)拆解半自動(dòng)流水線研究
        Altera加入嵌入式視覺(jué)聯(lián)盟
        SIMATIC IPC3000 SMART在汽車(chē)流水線領(lǐng)域的應(yīng)用
        精品久久杨幂国产杨幂| 丰满人妻一区二区三区蜜桃| 美女视频黄是免费| 国产一区二区三区免费观看在线 | 亚洲精品成人区在线观看| 亚洲午夜无码AV不卡| 久久精品国产亚洲av热明星| 性感熟妇被我玩弄到高潮| 国产成人自拍高清在线| 一区二区三区乱码在线 | 欧洲| 色一乱一伦一图一区二区精品| 国色天香精品亚洲精品| 国产精品国产三级国产不卡| 亚洲悠悠色综合中文字幕| 久久婷婷五月综合97色一本一本| 亚洲午夜福利在线观看| 日本专区一区二区三区| 漂亮人妻被强中文字幕乱码| 激情在线一区二区三区视频| 亚洲av无码精品国产成人| 精品国产一区二区三区久久狼 | 毛片av在线尤物一区二区| 日本一区二区不卡在线| 精品露脸国产偷人在视频| 欧美最猛性xxxxx免费| 国产免费播放一区二区| 国产精品丝袜美腿诱惑| 日本一级特黄aa大片| 少妇高潮流白浆在线观看| 久久人妻公开中文字幕| 青青草原亚洲在线视频| 国产精品国三级国产a| 国产福利视频一区二区| 精品一区二区三区在线观看| 福利一区二区三区视频在线| 中文字幕乱码亚洲三区| 中文无码伦av中文字幕| 亚洲av日韩av永久无码色欲| 国产精品国产三级国产三不| 91精品国产91综合久久蜜臀| 99精品国产丝袜在线拍国语|