版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章 嵌入式處理器5.1嵌入式處理器的概述5.3嵌入式處理器的架構(gòu)5.2ARM嵌入式處理器指令集5.1嵌入式處理器的概述
嵌入式處理器是嵌入式系統(tǒng)最核心的部分,是控制、輔助系統(tǒng)運(yùn)行的硬件單元,直接關(guān)系到整個(gè)嵌入式系統(tǒng)的性能。通常情況下嵌入式處理器被認(rèn)為是對(duì)嵌入式系統(tǒng)中運(yùn)算和控制核心器件的稱謂,其范圍十分廣闊,從最早的4位處理器,到目前仍在大規(guī)模應(yīng)用的8位單片機(jī),到最新的高性能、低功耗的32位、64位嵌入式CPU,每一種處理器都有其適合的應(yīng)用場(chǎng)景。世界上具有嵌入式功能特點(diǎn)的處理器已經(jīng)超過(guò)1000種,流行體系結(jié)構(gòu)包括MCU、MPU等30多個(gè)系列。鑒于嵌入式系統(tǒng)廣闊的發(fā)展前景,很多半導(dǎo)體制造商都大規(guī)模的生產(chǎn)嵌入式處理器,并且公司自主設(shè)計(jì)處理器也已經(jīng)成為了未來(lái)嵌入式領(lǐng)域的一大趨勢(shì),其中單片機(jī)、DSP到FPGA有著各式各樣的品種。速度越來(lái)越快,性能越來(lái)越強(qiáng),價(jià)格也越來(lái)越低,嵌入式處理器的尋址空間可以從64KB到16MB,處理器速度也可以達(dá)到2000MIPS,封裝從8個(gè)引腳到144個(gè)引腳不等。5.1.1嵌入式處理器的物理結(jié)構(gòu)
嵌入式處理器的物理結(jié)構(gòu)是處理器的底層基礎(chǔ),決定著處理器的上層架構(gòu)及性能發(fā)揮。1.馮·諾依曼體系結(jié)構(gòu)1945年,馮·諾依曼首先提出了“存儲(chǔ)程序”的概念和二進(jìn)制原理,后來(lái)人們把利用這種概念和原理設(shè)計(jì)的電子計(jì)算機(jī)系統(tǒng)統(tǒng)稱為“馮·諾依曼`型結(jié)構(gòu)”計(jì)算機(jī)。馮·諾曼結(jié)構(gòu)處理器是一種將指令存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合并在一起的存儲(chǔ)器結(jié)構(gòu),如圖5-1所示。它具有以下幾個(gè)特點(diǎn):必須有一個(gè)存儲(chǔ)器;必須有一個(gè)控制器;必須有一個(gè)運(yùn)算器,用于完成算術(shù)運(yùn)算和邏輯運(yùn)算;必須有輸入和輸出設(shè)備,用于進(jìn)行人機(jī)通信。另外,程序和數(shù)據(jù)統(tǒng)一存儲(chǔ)并在程序控制下自動(dòng)工作。5.1.1嵌入式處理器的物理結(jié)構(gòu)
因?yàn)橹噶畲鎯?chǔ)地址和數(shù)據(jù)存儲(chǔ)地址均指向同一個(gè)存儲(chǔ)器的不同物理位置,因此程序指令與數(shù)據(jù)寬度相同。通常情況下,馮·諾依曼結(jié)構(gòu)設(shè)計(jì)會(huì)較為簡(jiǎn)單,但執(zhí)行指令的速度較慢,在實(shí)際應(yīng)用中,往往需要在處理器中增加高速緩存以減少數(shù)據(jù)傳輸速度與CPU時(shí)鐘頻率的差距。將CPU與內(nèi)存分開(kāi)并非十全十美,反而會(huì)導(dǎo)致所謂的馮·諾伊曼瓶頸。在CPU與內(nèi)存之間的流量與內(nèi)存的容量相比起來(lái)相當(dāng)小。在某些情況下,如當(dāng)CPU需要在巨大的存儲(chǔ)器上執(zhí)行一些簡(jiǎn)單指令時(shí),存儲(chǔ)器就成了整體效率非常嚴(yán)重的限制。CPU將會(huì)在讀寫存儲(chǔ)器時(shí)閑置。由于CPU速度以及內(nèi)存容量的成長(zhǎng)速率遠(yuǎn)大于雙方之間的流量,因此瓶頸問(wèn)題越來(lái)越嚴(yán)重。5.1.1嵌入式處理器的物理結(jié)構(gòu)2.哈佛體系結(jié)構(gòu)與馮·諾依曼結(jié)構(gòu)相比較,哈佛體系結(jié)構(gòu)是一種將程序指令儲(chǔ)存和數(shù)據(jù)儲(chǔ)存分開(kāi)的存儲(chǔ)器結(jié)構(gòu)。哈佛結(jié)構(gòu)處理器的突出特征有:(1)使用兩個(gè)獨(dú)立的存儲(chǔ)器模塊,分別存儲(chǔ)指令與數(shù)據(jù),每個(gè)存儲(chǔ)器模塊都不允許指令與數(shù)據(jù)并存;(2)每個(gè)存儲(chǔ)器模塊都使用獨(dú)立的兩條總線,分別作為CPU與每個(gè)存儲(chǔ)器之間的專用通信路徑,而這兩條總線之間毫無(wú)關(guān)聯(lián),如圖5.2所示。5.1.1嵌入式處理器的物理結(jié)構(gòu)
在典型情況下,完成一條指令需要3個(gè)步驟:取指令、指令譯碼和執(zhí)行指令。由于取指令和存取數(shù)據(jù)分別經(jīng)過(guò)不同的存儲(chǔ)模塊和不同的總線,使得各條指令可以重疊執(zhí)行,從而克服馮·諾依曼結(jié)構(gòu)下數(shù)據(jù)流傳輸?shù)钠款i,提高運(yùn)算速度。程序指令儲(chǔ)存和數(shù)據(jù)儲(chǔ)存分開(kāi),數(shù)據(jù)和指令的儲(chǔ)存可以同時(shí)進(jìn)行,可以使指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數(shù)據(jù)是8位寬度。目前使用哈佛結(jié)構(gòu)的中央處理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,還有摩托羅拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安謀公司的ARM9、ARM10和ARM11。3.兩者區(qū)別根據(jù)馮·諾依曼體系結(jié)構(gòu)構(gòu)成的計(jì)算機(jī),必須具有如下功能:把需要的程序和數(shù)據(jù)送至計(jì)算機(jī)中;必須具有長(zhǎng)期記憶程序、數(shù)據(jù)、中間結(jié)果及最終運(yùn)算結(jié)果的能力;能夠完成各種算術(shù)、邏輯運(yùn)算和數(shù)據(jù)傳送等數(shù)據(jù)加工處理的能力;能夠根據(jù)需要控制程序走向,并能根據(jù)指令控制機(jī)器的各部件協(xié)調(diào)操作;能夠按照要求將處理結(jié)果輸出給用戶。哈佛體系結(jié)構(gòu)則是為了高速數(shù)據(jù)處理而采用的,因?yàn)榭梢酝瑫r(shí)讀取指令和數(shù)據(jù)(分開(kāi)存儲(chǔ)的),大大提高了數(shù)據(jù)吞吐率。缺點(diǎn)是結(jié)構(gòu)復(fù)雜。通用微機(jī)指令和數(shù)據(jù)是混合存儲(chǔ)的,結(jié)構(gòu)上簡(jiǎn)單,成本低。假設(shè)是哈佛結(jié)構(gòu):你就得在電腦安裝兩塊硬盤,一塊裝程序,一塊裝數(shù)據(jù),內(nèi)存裝兩根,一根儲(chǔ)存指令,一根存儲(chǔ)數(shù)據(jù)……5.1.2嵌入式處理器的特點(diǎn)1)對(duì)實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核的執(zhí)行時(shí)間減少到最低限度。2)具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷。3)可擴(kuò)展的處理器結(jié)構(gòu),以能最迅速地開(kāi)展出滿足應(yīng)用的最高性能的嵌入式微處理器。4)嵌入式微處理器必須功耗很低,尤其是用于便攜式的無(wú)線及移動(dòng)的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,需要功耗只有mW甚至μW級(jí)。5.1.3嵌入式處理器的種類1.MPU微處理器(MicroProcessorUnit,MPU),由通用計(jì)算機(jī)中的CPU演變而來(lái),在嵌入式系統(tǒng)中,可以實(shí)現(xiàn)多個(gè)MPU同時(shí)工作,目前大多合并成2顆,即南橋(SouthBridge)芯片和北橋(NorthBridge)芯片。2.MCU嵌入式微控制器(MicrocontrollerUnit,MCU),其中典型代表是單片機(jī),從70年代末單片機(jī)出現(xiàn)到今天,雖然已經(jīng)經(jīng)過(guò)了40多年的歷史,其架構(gòu)也沒(méi)有較大的變化,但這種8位的電子器件在嵌入式設(shè)備中仍然有著極其廣泛的應(yīng)用。3.DSP嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP),是專門用于信號(hào)處理方面的處理器,其在系統(tǒng)結(jié)構(gòu)和指令算法方面進(jìn)行了特殊設(shè)計(jì),具有很高的編譯效率和指令的執(zhí)行速度。在數(shù)字濾波、FFT、譜分析等各種儀器上DSP獲得了大規(guī)模的應(yīng)用。4.SoC嵌入式片上系統(tǒng)(SystemOnChip),也稱為系統(tǒng)級(jí)芯片。SoC是追求產(chǎn)品系統(tǒng)最大包容的集成器件,是集成電路發(fā)展的必然趨勢(shì)。SoC最大的特點(diǎn)是成功實(shí)現(xiàn)了軟硬件無(wú)縫結(jié)合,直接在處理器片內(nèi)嵌入操作系統(tǒng)的代碼模塊。5.1.4嵌入式處理器的發(fā)展
事實(shí)證明,幾十年來(lái)嵌入式微處理器正是按照這樣的規(guī)律向前發(fā)展的,其間經(jīng)歷了SCM、MCU、軟件硬化和網(wǎng)絡(luò)化四個(gè)階段。第一階段:SCM階段,即單片微型計(jì)算機(jī)(SingleChipMicrocomputer)階段,此階段也被稱為單片機(jī)時(shí)代。主要是單片微型計(jì)算機(jī)的體系結(jié)構(gòu)探索階段,這一階段的嵌入式處理器是單片機(jī),嵌入式軟件還停留在無(wú)操作系統(tǒng)階段,采用匯編語(yǔ)言或底層開(kāi)發(fā)語(yǔ)言實(shí)現(xiàn)系統(tǒng)的功能。第二階段:MCU階段,即嵌入式微控制器(Micro-ControllerUnit)大發(fā)展階段。它是由通用計(jì)算機(jī)的CPU發(fā)展而來(lái),它通常具有32位及以上的處理器,性能較高,在實(shí)際應(yīng)用過(guò)程中,只保留與應(yīng)用系統(tǒng)緊密相關(guān)的硬件,去除其他的功能,以最低的功耗和資源實(shí)現(xiàn)應(yīng)用的需求。第三階段:軟件硬化階段。隨著市場(chǎng)對(duì)CPU芯片產(chǎn)品的使用面越來(lái)越廣,對(duì)速度、性能等方面的要求越來(lái)越高,同時(shí)要求的產(chǎn)品開(kāi)發(fā)的時(shí)間越來(lái)越短,而軟件功能和系統(tǒng)卻越來(lái)越復(fù)雜,要求實(shí)時(shí)處理的多媒體等大型文件的處理要求越來(lái)越多(如MP3、MP4播放器、GPS導(dǎo)航儀等),以及手持型數(shù)字電視飛速發(fā)展的需要,有的還需要實(shí)時(shí)在線快速改變邏輯功能,尤其是對(duì)低功耗的需要越來(lái)越嚴(yán),僅僅采用軟件的方式已遠(yuǎn)遠(yuǎn)不能滿足這些市場(chǎng)發(fā)展的實(shí)際需要。同時(shí),隨著半導(dǎo)體設(shè)計(jì)和加工技術(shù)的飛速發(fā)展以及設(shè)計(jì)水平的自動(dòng)化程度的提高,極大地降低了嵌入式微處理器芯片的設(shè)計(jì)難度。為軟件硬化的普及發(fā)展帶來(lái)了極大的促進(jìn)作用。第四階段:網(wǎng)絡(luò)化階段,以Internet為標(biāo)志的嵌入式系統(tǒng)。隨著互聯(lián)網(wǎng)的高速發(fā)展,各個(gè)系統(tǒng),不論是手持型還是固定式的嵌入式電子產(chǎn)品都希望能聯(lián)接互聯(lián)網(wǎng)。5.1.5嵌入式處理器和通用CPU的分析比較
1.應(yīng)用領(lǐng)域嵌入式處理器的應(yīng)用領(lǐng)域通常是較專一的。DSP主要用于數(shù)字信號(hào)的采集、變換、濾波、壓縮、識(shí)別等處理。強(qiáng)大的處理能力使它廣泛應(yīng)用于視頻編解碼領(lǐng)域,我們?nèi)粘K玫降腗P3、MP4、手機(jī)、DVD等數(shù)碼產(chǎn)品都是以它為核心的。而MCU主要用于工業(yè)控制領(lǐng)域,俗稱為單片機(jī),它的處理能力通常較差,但可靠性較高。而MPU則是在提供一定通用性的情況下追求比MCU更好的性能。與嵌入式處理器不同,通用CPU則是要求能從事很多任務(wù),比如電腦可以用來(lái)看電影、打游戲、上網(wǎng)等,而且要能使用不同的操作系統(tǒng)和硬件外設(shè)等,這就對(duì)CPU的處理能力和兼容性提出了很高的要求。什么都能做,必然什么都不精。看電影它不如DVD,打游戲它不如PS2。當(dāng)然隨著電腦性能不斷的提高,這些情況會(huì)改善。但是噪音和發(fā)熱量大這兩個(gè)弊端估計(jì)在近期不會(huì)有大的改善。2.處理器硬件結(jié)構(gòu)由于應(yīng)用領(lǐng)域的不同,這兩種處理器的結(jié)構(gòu)也不同。作為嵌入式處理器的代表,DSP主要采用了改進(jìn)的哈佛結(jié)構(gòu)(指令和數(shù)據(jù)分開(kāi)存儲(chǔ),獨(dú)立編址,獨(dú)立訪問(wèn)),多總線結(jié)構(gòu)(如TI的TMS320C54×內(nèi)部有8條總線、四條地址、三條數(shù)據(jù)、一條程序),多級(jí)流水線技術(shù)(如TI的TMS320C54x有2~6級(jí)不等的流水線??梢约涌焯幚硭俣龋瑢S糜布朔ㄆ?,特殊的DSP指令等。底層指令分為采用精簡(jiǎn)指令集(CISC)和復(fù)雜指令集(RISC)兩類,前者使用了X86架構(gòu),后者則有如ARM、MIPS、POWERPC等多種架構(gòu)。5.1.5嵌入式處理器和通用CPU的分析比較
通用CPU沿用了X86架構(gòu),除早期產(chǎn)品外也采用了哈佛結(jié)構(gòu),當(dāng)然也有多級(jí)流水(P4的流水線達(dá)到了驚人的3l級(jí),理論上流水線越多主頻越容易提高。但它所帶來(lái)的性能提升遠(yuǎn)不如發(fā)熱和耗能大得多。所以現(xiàn)在INTEL放棄了這個(gè)被稱為NETBURST的架構(gòu)。而是在P-M架構(gòu)的基礎(chǔ)上改進(jìn)產(chǎn)生了酷睿微架構(gòu)。流水線減少為15級(jí),主頻和功耗下降了。但性能卻提高了),還有很多特性如HT超線程、硬件防毒、SSE指令集、L1和L2兩級(jí)緩存等,但沒(méi)有專用的硬件乘法器使它在做FFT等特殊運(yùn)算時(shí)要比DSP慢得多,當(dāng)然通用CPU能支持更多的指令集,但它畢竟是通用的,所以效率一定比專用DSP差很多。近年來(lái)INTEL和AMD都推出了雙核、四核等多核處理器。即將兩個(gè)或多個(gè)處理器內(nèi)核封裝在一片硅片上,提升了處理器性能。而嵌入式處理器則更容易多核集成,甚至可以將十多個(gè)完成不同功能的內(nèi)核集成在一起。有大的改善。3.實(shí)際使用在實(shí)際使用方面,嵌入式處理器要求:1)更低的功耗。你肯定無(wú)法想象如果MP4依靠電池只能工作很短時(shí)間,這產(chǎn)品是否還有存在價(jià)值。2)嚴(yán)格控制發(fā)熱量,否則它無(wú)法應(yīng)用于手持設(shè)備,這直接影響用戶的使用體驗(yàn)。3)強(qiáng)大的安全性和可靠性。特別是工業(yè)控制領(lǐng)域,如果你的處理器出現(xiàn)死機(jī)的話,會(huì)造成多大損失。4)低成本。5)低空間占有。6)電磁兼容性好。5.1.5嵌入式處理器和通用CPU的分析比較
而通用CPU則更重視強(qiáng)大的運(yùn)算能力。對(duì)不同軟硬件的兼容性、可擴(kuò)展性、任務(wù)的并行處理能力、可升級(jí)空間等,當(dāng)然對(duì)功耗、發(fā)熱也不是沒(méi)要求,只是相對(duì)于嵌入式處理器要小些。但是在能源緊缺的今天,通用CPU也更加重視功耗和發(fā)熱,比如INTEL公司最新發(fā)布的酷睿雙核桌面處理器功耗為同主頻奔騰D雙核處理器的60%,但處理能力卻為它的1.5倍。移動(dòng)版的處理器功耗更低。所以現(xiàn)在有一些對(duì)性能要求較高的手持設(shè)備(如掌上電腦)采用了INTEL的超低電壓版處理器,并搭載微軟的WINDOWS操作系統(tǒng)。當(dāng)然DSP在這方面也毫不示弱,目前最新的ARM11MPCore處理器的主頻已超過(guò)300MHz,但功耗卻只有600mW,顯然它更適合一些小型以視頻播放為主的手持設(shè)備。在行業(yè)的準(zhǔn)則內(nèi),通用與效率總是一對(duì)矛盾。顯然,DSP等嵌入式處理器走的是專一高效路線,而通用CPU走的是多用途多功能路線。他們的并存使我們的生活變得多姿多彩。使生產(chǎn)的自動(dòng)化進(jìn)程越來(lái)越快。5.2ARM嵌入式處理器指令集
指令集是存儲(chǔ)在CPU內(nèi)部,對(duì)CPU運(yùn)算進(jìn)行指導(dǎo)和優(yōu)化的硬程序。擁有這些指令集,CPU就可以更高效的運(yùn)行。在介紹ARM嵌入式處理器的指令集之前,先介紹一下指令集體系的建立與發(fā)展歷程。5.2.1指令集
上世紀(jì)70年代末,計(jì)算機(jī)剛開(kāi)始起步,那是的人們采用最底層的機(jī)器語(yǔ)言寫命令以控制計(jì)算機(jī)。但無(wú)論是最早的機(jī)器語(yǔ)言還是后來(lái)發(fā)展的匯編語(yǔ)言,在使用過(guò)程中都十分繁瑣,可讀性差、難以維護(hù)。此外,對(duì)于復(fù)雜的操作,每次計(jì)算都需要重新編寫程序。為了提高易用性,人們開(kāi)始將一些經(jīng)常使用的操作,例如積分、微分、乘除法等封裝成一套標(biāo)準(zhǔn)的程序,并預(yù)留對(duì)外的接口。這種方法可以大幅的降低編程難度,提高編程效率。這一類標(biāo)準(zhǔn)程序的集合被稱為指令集。指令集中包含了大量的基礎(chǔ)運(yùn)算的程序,全部封裝成模塊以供調(diào)用。由于模塊化指令的出現(xiàn),計(jì)算機(jī)軟件的運(yùn)行效率得到了極大的提升。對(duì)處理器硬件來(lái)說(shuō),專用模塊的效率要高于通用模塊,因此隨著計(jì)算機(jī)技術(shù)的發(fā)展,逐步發(fā)展成4類指令集架構(gòu):復(fù)雜指令集(CISC)、精簡(jiǎn)指令集(RISC)、顯式并行指令集(EPIC)、超長(zhǎng)指令字指令集(VLIW)。由于EPIC與VLIM不能很好的適應(yīng)當(dāng)今半導(dǎo)體發(fā)展趨勢(shì),所以目前廣泛應(yīng)用的只有兩種截然相反的指令集,復(fù)雜指令集與精簡(jiǎn)指令集。5.2ARM嵌入式處理器指令集1.CISC指令集復(fù)雜指令系統(tǒng)計(jì)算機(jī)(ComplexInstructionSetComputer,CISC),也稱為復(fù)雜指令集。CISC初步發(fā)展的時(shí)期,世界半導(dǎo)體產(chǎn)業(yè)規(guī)模較小,此時(shí)計(jì)算機(jī)部件價(jià)格昂貴、主頻低。為了提高處理器運(yùn)算速度,不斷將復(fù)雜指令加入指令系統(tǒng),以提高計(jì)算機(jī)的處理效率,這就逐步形成了CISC指令集計(jì)算機(jī)。2.RISC指令集針對(duì)CISC的缺陷,帕特遜等人提出并推動(dòng)了RISC(ReducedInstructionSetComputer)指令系統(tǒng)計(jì)算機(jī)的發(fā)展,也稱為精簡(jiǎn)指令集。RISC指令集為等長(zhǎng)精簡(jiǎn)指令集,指令位數(shù)較短,內(nèi)部還有快速處理指令的電路,使得指令的譯碼與數(shù)據(jù)的處理較快,所以執(zhí)行效率比CISC高。不過(guò)必須經(jīng)過(guò)編譯程序的處理,才能發(fā)揮它的效率。它的體積更小、功耗低,但對(duì)應(yīng)的程序體積會(huì)較大一些。3.兩者分析對(duì)比我們經(jīng)常談?wù)撚嘘P(guān)”PC”與”Macintosh”的話題,但是又有多少人知道以Intel公司X86為核心的PC系列正是基于CISC體系結(jié)構(gòu),而Apple公司早期生產(chǎn)的Macintosh則是基于RISC體系結(jié)構(gòu),那么CISC與RISC到底有何區(qū)別?從硬件角度來(lái)看,CISC處理的是不等長(zhǎng)指令集,它必須對(duì)不等長(zhǎng)指令進(jìn)行分割,因此在執(zhí)行單一指令的時(shí)候需要進(jìn)行較多的處理工作。而RISC執(zhí)行的是等長(zhǎng)精簡(jiǎn)指令集,CPU在執(zhí)行指令的時(shí)候速度較快且性能穩(wěn)定。因此在并行處理方面RISC明顯優(yōu)于CISC,RISC可同時(shí)執(zhí)行多條指令,它可將一條指令分割成若干個(gè)進(jìn)程或線程,交由多個(gè)處理器同時(shí)執(zhí)行。由于RISC執(zhí)行的是精簡(jiǎn)指令集,所以它的制造工藝簡(jiǎn)單且成本低廉。5.2ARM嵌入式處理器指令集從軟件角度來(lái)看,CISC運(yùn)行的則是我們所熟識(shí)的DOS、Windows操作系統(tǒng)。而且它擁有大量的應(yīng)用程序。因?yàn)槿澜缬?5%以上的軟件廠商都理為基于CISC體系結(jié)構(gòu)的PC及其兼容機(jī)服務(wù)的,像赫赫有名的Microsoft就是其中的一家。而RISC在此方面卻顯得有些勢(shì)單力薄。雖然在RISC上也可運(yùn)行DOS、Windows,但是需要一個(gè)翻譯過(guò)程,所以運(yùn)行速度要慢許多。具體特征對(duì)比可見(jiàn)表5.1。5.2ARM嵌入式處理器指令集
目前CISC與RISC正在逐步走向融合,生活中常見(jiàn)到的PC中的CPU,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6就是一些最明顯的例子,它們的內(nèi)核都是基于RISC體系結(jié)構(gòu)的。他們接收CISC指令后將其分解分類成RISC指令以便在同一時(shí)間內(nèi)能夠并行執(zhí)行多條指令,有效提高系統(tǒng)的運(yùn)行效率。由此可見(jiàn),下一代的CPU將融合CISC與RISC兩種技術(shù),從軟件與硬件方面看二者會(huì)取長(zhǎng)補(bǔ)短。5.2.2ARM指令集最新的ARM處理器還引入了新的指令集Thumb-2,它提供了32位和16位的混合指令,在增強(qiáng)靈活性的同時(shí)保持了代碼高密度。另外,某些型號(hào)的ARM處理器對(duì)Java程序的高性能運(yùn)行提供支持,通過(guò)Jazelle技術(shù)提供的8位指令,可以更快速地執(zhí)行Java字節(jié)碼。ARM指令集主要包括6大類指令:1)數(shù)據(jù)處理指令:如ADD、SUB、AND等。2)加載-存儲(chǔ)(load-store)指令:如LDR等。3)分支指令:如B、BL等。4)狀態(tài)寄存器訪問(wèn)指令:如MRS、MSR等。5)協(xié)處理器指令:如LDC、STC等。6)異常處理指令:如SWI等。ARM指令集具有如下特點(diǎn):1)所有ARM指令都是32位定長(zhǎng)的,在內(nèi)存中的地址以4字節(jié)邊界對(duì)齊,因此ARM指令的有效地址的最后兩位總是為0,這樣能夠方便譯碼電路和流水線的實(shí)現(xiàn)。2)加載-存儲(chǔ)架構(gòu)。由于ARM指令集屬于RISC體系,因此具備RISC體系典型特征,即除了專門的加載-存儲(chǔ)類型的指令能夠訪問(wèn)內(nèi)存外,其余的指令都只能把內(nèi)部寄存器或立即數(shù)作為操作數(shù),因此如果需要在內(nèi)存和寄存器之間轉(zhuǎn)移數(shù)據(jù),只能使用加載存儲(chǔ)指令。5.2ARM嵌入式處理器指令集3)提供功能強(qiáng)大的一次加載和存儲(chǔ)(load-store)多個(gè)寄存器的指令:LDM和STM。這樣,當(dāng)發(fā)生過(guò)程調(diào)用或中斷處理時(shí),只用一條指令就能把當(dāng)前多個(gè)寄存器的內(nèi)容保存到內(nèi)存堆棧中。4)CPU內(nèi)核硬件中提供了桶型移位器,移位操作可以內(nèi)嵌在其他指令中,因此可以在一條指令中用一個(gè)指令周期完成一個(gè)移位操作和一個(gè)ALU(算術(shù)邏輯)操作。5)所有的ARM指令都是可以條件執(zhí)行的,這是由其指令格式?jīng)Q定的,任何ARM指令的高4位都是條件指示位,根據(jù)CPSR寄存器中的N、Z、C、V決定該指令是否執(zhí)行。這樣可以方便高級(jí)語(yǔ)言的編譯器設(shè)計(jì),很容易實(shí)現(xiàn)分支和循環(huán)。5.2ARM嵌入式處理器指令集5.2.3Thumb指令集Thumb指令集是16位的指令集,它對(duì)C代碼的密度進(jìn)行了優(yōu)化,平均達(dá)到約ARM代碼大小的65%。為了盡量降低指令編碼長(zhǎng)度,Thumb指令集具體采用了如下約束:1)不能使用條件執(zhí)行,而對(duì)于標(biāo)志則一直都是根據(jù)指令結(jié)果進(jìn)行設(shè)置的。2)源寄存器和目標(biāo)寄存器是相同的。3)只使用低端寄存器,即不使用寄存器R8-Rl2。4)對(duì)指令中出現(xiàn)的常扯有大小的限制。5)不能在指令中使用內(nèi)嵌的桶型移位器(inlinebarrelshifter)。Thumb-2指令集主要是對(duì)Thumb指令集架構(gòu)的擴(kuò)展,其設(shè)計(jì)目標(biāo)是以Thumb的指令密度達(dá)到ARM的性能。它具有如下特性:1)增加了32位的指令,因而實(shí)現(xiàn)了幾乎ARM指令集架構(gòu)的所有功能。2)完整保留了16位的Thumb指令集。3)編譯器可以自動(dòng)地選擇16位和32位指令的混合。4)具有ARM態(tài)的行為,包括可以直接處理異常、訪問(wèn)協(xié)處理器以及完成v5TE的高級(jí)數(shù)據(jù)處理功能。5)通過(guò)If-Then(IT)指令,1-4條緊鄰的指令可以條件執(zhí)行。在ARM系列的微處理器核中,ARM1156T2-S和Cortex系列支持Thumb-2,而Cortex-M3只支持Thumb-2,實(shí)現(xiàn)的成本極低,因而也具備了非常的價(jià)格競(jìng)爭(zhēng)優(yōu)勢(shì)。5.2ARM嵌入式處理器指令集5.2.4Jazelle指令集Jazelle技術(shù)是ARM結(jié)構(gòu)體系中的一種特殊的指令集。Jazelle技術(shù)使得ARM核可以直接執(zhí)行8位的Java字節(jié)碼,約95%的Java字節(jié)碼可以由硬件執(zhí)行,從而使執(zhí)行效率顯著提高,當(dāng)然這是以增加處理器內(nèi)核的復(fù)雜度為代價(jià)的。支持Jazelle指令集的處理器比普通ARM處理器多了一種Jazelle狀態(tài),如圖5.3所示。當(dāng)處理器在Jazelle態(tài)執(zhí)行時(shí),由于所有的指令都是8位寬,因此處理器對(duì)內(nèi)存進(jìn)行字訪問(wèn)時(shí)一次可以讀進(jìn)4條指令。這極大的提高了系統(tǒng)執(zhí)行速度。
首顆具備Jazelle技術(shù)的處理器是ARM926EJ-S:Jazelle以一個(gè)英文字母J標(biāo)示于CPU名稱中。它用來(lái)讓手機(jī)制造商能夠加速執(zhí)行JavaME的游戲和應(yīng)用程式,也因此促使了這項(xiàng)技術(shù)不斷地發(fā)展。5.3嵌入式處理器的架構(gòu)
嵌入式系統(tǒng)的架構(gòu)有專有架構(gòu)和標(biāo)準(zhǔn)架構(gòu)之分,在MCU(微控制器)產(chǎn)品上,像瑞薩(Renesas)、飛思卡爾(Freescale)、NEC都擁有自己得專有IP核,而其他嵌入式處理器都是基于標(biāo)準(zhǔn)架構(gòu)。標(biāo)準(zhǔn)的嵌入式系統(tǒng)架構(gòu)有兩大體系,目前占主要地位的是RISC處理器。RISC體系的陣營(yíng)非常廣泛,從ARM、MIPS、PowerPC、ARC、Tensilica等等,這些都是屬于RISC處理器的范疇。不過(guò)這些處理器雖然同樣是屬于RISC體系,但是在指令集設(shè)計(jì)與處理單元的結(jié)構(gòu)上都各有不同,因此彼此完全不能兼容,在特定平臺(tái)上所開(kāi)發(fā)的軟件無(wú)法直接為另一硬件平臺(tái)所用,而必須經(jīng)過(guò)重新編譯。其次是CISC處理器體系,我們所熟知的Intel的X86處理器就屬于CISC體系,CISC體系其實(shí)是非常低效率的體系,其指令集結(jié)構(gòu)上背負(fù)了太多包袱,貪大求全,導(dǎo)致芯片結(jié)構(gòu)的復(fù)雜度被極大的提升。過(guò)去被應(yīng)用在嵌入式系統(tǒng)的X86處理器,多為舊世代的產(chǎn)品,比如說(shuō),工業(yè)計(jì)算機(jī)中仍可常見(jiàn)數(shù)年前早已退出個(gè)人計(jì)算機(jī)市場(chǎng)的Pentium3處理器。由于此世代的產(chǎn)品效能與功耗比可以說(shuō)是過(guò)去X86體系的甜蜜點(diǎn),加上已經(jīng)被市場(chǎng)長(zhǎng)久驗(yàn)證,穩(wěn)定性高,故常被應(yīng)用于效能需求不高,但穩(wěn)定性要求高的應(yīng)用中,如工控設(shè)備等產(chǎn)品。5.2ARM嵌入式處理器指令集5.3.1ARM處理器
早在21世紀(jì)初,ARM就已經(jīng)成為嵌入式技術(shù)中應(yīng)用最廣泛的一種。在市場(chǎng)需求的推動(dòng)下,ARM嵌入式技術(shù)更是得到了飛速的發(fā)展。ARM,英文全稱為“AdvancedRISCMachine”,高級(jí)精簡(jiǎn)指令集機(jī)器,這既是這家公司的名稱,也是此公司開(kāi)發(fā)的系列芯片的名稱。因此,在業(yè)界,ARM一詞可以被認(rèn)為是一家公司的名稱,或是一類微處理器的通稱,亦或是一種技術(shù)。ARM公司于1991年成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。采用ARM技術(shù)(IP)核心的處理器,即我們通常所說(shuō)的ARM處理器,已遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線系統(tǒng)等各類產(chǎn)品市場(chǎng)?;贏RM技術(shù)的處理器應(yīng)用約占據(jù)了32位RISC微處理器75%以上的市場(chǎng),ARM技術(shù)不止逐步滲入到我們生活的各個(gè)方面,我們甚至可以說(shuō),ARM于人類的生活環(huán)境中,已經(jīng)是不可或缺的一環(huán)。5.2ARM嵌入式處理器指令集5.3.2MIPS處理器MIPS的意思是“無(wú)內(nèi)部互鎖流水級(jí)的微處理器”(MicroprocessorwithoutInterlockedpipedstages),其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問(wèn)題。MIPS架構(gòu)80年代由斯坦福大學(xué)開(kāi)發(fā),是一種簡(jiǎn)潔、優(yōu)化、具有高度擴(kuò)展性的RISC架構(gòu)。它的基本特點(diǎn)是:包含大量的寄存器、指令數(shù)和字符、可視的管道延時(shí)時(shí)隙,這些特性使MIPS架構(gòu)能夠提供最高的每平方毫米性能和當(dāng)今SoC設(shè)計(jì)中最低的能耗。5.3.2.1MIPS的流水線MIPS采用一條經(jīng)典的5段流水線,每一個(gè)周期作為一個(gè)流水段,且在各段之間加上鎖存器(流水寄存器)。流水寄存器保證了流水線中不同段的指令不會(huì)相互影響。每個(gè)時(shí)鐘周期結(jié)束之后,該段的所有執(zhí)行結(jié)果都保存在流水段寄存器中,在下一個(gè)時(shí)鐘周期開(kāi)始作為下一個(gè)段的輸入。而且,流水寄存器與非流水通路中使用的臨時(shí)寄存器不一樣,它在兩個(gè)相鄰的流水段之間既傳遞數(shù)據(jù)也傳遞控制信息。后面流水段需要的數(shù)據(jù),必須能從一個(gè)流水寄存器復(fù)制到下一個(gè)流水寄存器,直到不再需要為止。5.2ARM嵌入式處理器指令集
要保證不會(huì)在同一時(shí)鐘周期要求同一個(gè)功能段做兩件不同的工作,比如不能要求ALU同時(shí)做有效地址計(jì)算和算術(shù)運(yùn)算;要避免IF段的訪存(取指令)與MEM段的訪存(讀/寫數(shù)據(jù))發(fā)生沖突。如圖5-7所示,讓一條指令從ID段到EX段的操作稱為發(fā)射指令。對(duì)于MIPS定點(diǎn)流水線,所有的數(shù)據(jù)沖突均可以在ID段檢測(cè)到。如果存在數(shù)據(jù)沖突,就在相應(yīng)的指令流出ID段之前(也就是發(fā)射前)將之暫停。完成該工作的硬件稱為流水線的互鎖機(jī)制。另外,采用分離的指令Cache和數(shù)據(jù)Cache來(lái)解決ID段和WB段對(duì)同一寄存器的訪問(wèn)沖突,且把寫操作安排在時(shí)鐘周期的前半拍完成,把讀操作安排在后半拍完成。5.3.2.2MIPS的發(fā)展MIPS是出現(xiàn)最早的商業(yè)RISC架構(gòu)芯片之一,新的架構(gòu)集成了所有原來(lái)MIPS指令集,并增加了許多更強(qiáng)大的功能。MIPS的指令系統(tǒng)經(jīng)過(guò)通用處理器指令體系MIPSI、MIPSII、MIPSIII、MIPSIV到MIPSV,嵌入式指令體系MIPS16、MIPS32到MIPS64的發(fā)展已經(jīng)十分成熟。在MIPS芯片的發(fā)展過(guò)程中,SGI公司在1992年收購(gòu)了MIPS計(jì)算機(jī)公司,1998年,MIPS公司又脫離了SGI,成為MIPS技術(shù)公司。MIPS324KcTM處理器是采用MIPS技術(shù)特定為片上系統(tǒng)(System-On-a-Chip)而設(shè)計(jì)的高性能、低電壓32位MIPSRISC內(nèi)核。采用MIPS32TM體系結(jié)構(gòu),并且具有R4000存儲(chǔ)器管理單元(MMU)以及擴(kuò)展的優(yōu)先級(jí)模式,使得這個(gè)處理器與目前嵌入式領(lǐng)域廣泛應(yīng)用的R3000和R4000系列(32位)微處理器完全兼容。5.2ARM嵌入式處理器指令集5.3.3PowerPC處理器PowerPC處理器是RISC嵌入式應(yīng)用的理想基礎(chǔ)平臺(tái),IBM于1990年推出基于RISC系統(tǒng)、運(yùn)行AIXV3的產(chǎn)品線RS/6000。該系統(tǒng)架構(gòu)后來(lái)被稱為POWER,意為增強(qiáng)RISC性能優(yōu)化(PerformanceOptimizationWithEnhancedRISC)架構(gòu),PowerPC中的PC代表performancecomputing。PowerPC是早期Motorola和IBM聯(lián)合為Apple的MAC機(jī)開(kāi)發(fā)的CPU芯片,商標(biāo)權(quán)同時(shí)屬于IBM和Motorola,并成為他們的主導(dǎo)成品。IBM主要的PowerPC產(chǎn)品有PowerPC604s(深藍(lán)內(nèi)部的CPU)、PowerPC750、PowerPCG3(1.1GHz)、PowerPC970。Motorola主要有MC和MPC系列。盡管他們產(chǎn)品不一樣,但都采用PowerPC的內(nèi)核。這些產(chǎn)品大都用在嵌入式系統(tǒng)中。當(dāng)前,PowerPC體系結(jié)構(gòu)家族樹有兩個(gè)活躍的分支,分別是PowerPCAS體系結(jié)構(gòu)和PowerPCBookE體系結(jié)構(gòu)。PowerPCAS體系結(jié)構(gòu)是IBM為了滿足它的eServerpSeriesUNIX和Linux服務(wù)器產(chǎn)品家族及它的eServeriSeries企業(yè)服務(wù)器產(chǎn)品家族的具體需要而定義的。PowerPCBookE體系結(jié)構(gòu),也被稱為BookE,是IBM和Motorola為滿足嵌入式市場(chǎng)的特定需求而合作推出的。PowerPC740/750是世界上第一組基于銅的微處理器,當(dāng)它用于Apple計(jì)算機(jī)時(shí),通常稱為G3,工作頻率為400MHz。由于使用了銅芯片技術(shù),處理性能提高了近1/3。32位的PowerPC750FX在2002年發(fā)布時(shí)其速度就達(dá)到了1GHz。IBM隨之在2003年又發(fā)布了750GX,它帶有1MB的L2緩存,速度是1GHz,功耗大約是7瓦。5.2ARM嵌入式處理器指令集5.3.3PowerPC處理器隨著中央處理單元(CPU)研發(fā)技術(shù)的飛速發(fā)展,越來(lái)越多的廠商在通用型CPU中加入DSP指令,使得CPU也具有了時(shí)間確定性以及數(shù)據(jù)處理能力強(qiáng)的優(yōu)點(diǎn)。PowerPC的G4系列處理器通過(guò)加入AltiVec技術(shù)(也就是后來(lái)的VelocityEngine/極速引擎),已經(jīng)具有了4GFLOPS的處理能力,大大超過(guò)了普通DSP芯片的處理能力。圖5.8是IBM生產(chǎn)的PowerPC970處理器(也就是被蘋果稱為G5的64bit處理器),右邊的PowerPC970FX是XServeG5使用的處理器,左邊的則是PowerMac使用的,主頻從1.6GHz到2GHz。64位的PowerPC970,是POWER4的一個(gè)單核心版本,可以同時(shí)處理200條指令,其速度可以超過(guò)2GHz,而功耗不過(guò)幾十瓦。PowerPC970一共具有12個(gè)執(zhí)行單元,包括兩個(gè)載入/存儲(chǔ)單元,兩個(gè)FXU單元,兩個(gè)單/雙精度浮點(diǎn)單元,兩個(gè)整數(shù)單元和一個(gè)SIMD矢量引擎。5.2ARM嵌入式處理器指令集5.3.4ARC處理器ARC處理器是新思科技(Synopsys)設(shè)計(jì)開(kāi)發(fā)的系列32位RISC微處理器。與其它RISC處理器技術(shù)相較起來(lái),得益于可調(diào)整式(Configurable)架構(gòu),ARC處理器具有獨(dú)特的可配置和可擴(kuò)展特性,可以在不同的應(yīng)用場(chǎng)景發(fā)揮不同的功能表現(xiàn)。固定式的芯片架構(gòu)或許可以面面俱到,但是在將其設(shè)計(jì)進(jìn)入產(chǎn)品之后,某些部分的功能可能完全沒(méi)有使用到的機(jī)會(huì),即使沒(méi)有使用,開(kāi)發(fā)商仍需支付這些多余部分的成本,這就形成了浪費(fèi)。由于制程技術(shù)的進(jìn)步,芯片體積的微縮化,讓半導(dǎo)體廠商可以利用相同尺寸的晶圓切割出更多芯片,通過(guò)標(biāo)準(zhǔn)化,則是有助于降低芯片設(shè)計(jì)流程,單一通用IP所設(shè)計(jì)出來(lái)的處理器即可應(yīng)用于各種用途,不需要另辟產(chǎn)能來(lái)生產(chǎn)特定型號(hào)或功能的產(chǎn)品,大量生產(chǎn)也有助于降低單一芯片的成本,而這也是目前嵌入式處理器的共通現(xiàn)象。因此,在ARC的設(shè)計(jì)概念中,是追求單一芯片成本的最小化,量體裁衣,這需要在設(shè)計(jì)階段依靠特定EDA軟件才能做到。ARC處理器的可配置性極其豐富,不僅可以配置處理器總線接口類型、數(shù)據(jù)位寬、尋址位寬、指令類型等外部屬性,處理器內(nèi)部的各功能模塊也支持自定義配置,例如配置高速緩存的容量及結(jié)構(gòu)、中斷處理單元支持的中斷數(shù)目和中斷級(jí)數(shù)、乘法器等等。此外,ARC處理器支持添加定制指令、寄存器、硬件模塊甚至是協(xié)處理器,添加方式也簡(jiǎn)單快捷,只需通過(guò)處理器的APEX擴(kuò)展接口自行添加即可。這種獨(dú)特的特性使得工程師可以在性能、面積、功耗之間進(jìn)行合理分配,以實(shí)現(xiàn)最佳的內(nèi)核PPA(Performance/Power/Area)。5.2ARM嵌入式處理器指令集5.3.4ARC處理器1.ARC架構(gòu)指令集ARC處理器采用了高效的16/32位混合指令集體系結(jié)構(gòu)。其中,16位指令包含最常用的指令操作類型,有助于提高代碼密度。ARC處理器的存儲(chǔ)系統(tǒng)支持配置片上存儲(chǔ)器CCM(CloselyCoupledMemory,緊耦合存儲(chǔ)器),便于以固定延遲(1~2個(gè)時(shí)鐘周期)訪問(wèn)應(yīng)用中性能關(guān)鍵的代碼和數(shù)據(jù),不僅有利于緩解片外總線訪存壓力,降低系統(tǒng)訪存延遲,提高處理性能,還有助于提高系統(tǒng)集成度,降低系統(tǒng)成本。ARC處理器具有強(qiáng)大的中斷/異常處理能力,支持快速中斷響應(yīng)和中斷處理優(yōu)先級(jí)動(dòng)態(tài)編程,可以精確定位異常原因和類型。同時(shí),ARC處理器提供了豐富的調(diào)試接口和調(diào)試指令,便于程序員實(shí)時(shí)監(jiān)測(cè)處理器內(nèi)部的運(yùn)行狀態(tài)和調(diào)試應(yīng)用程序,使得ARC處理器可以很好地適用于可靠性要求較高的應(yīng)用場(chǎng)合。ARC處理器的研發(fā)經(jīng)歷了ARCv1和ARCv2兩種指令集體系結(jié)構(gòu),得到了充分的市場(chǎng)驗(yàn)證及系統(tǒng)應(yīng)用。目前,全球已有超過(guò)200家廠商獲得了ARC處理器的生產(chǎn)授權(quán),基于ARC處理器的芯片年出貨量超過(guò)17億片。2.ARC處理器系列為了滿足嵌入式領(lǐng)域不同應(yīng)用的需求,ARC處理器已經(jīng)開(kāi)發(fā)出了豐富的產(chǎn)品系列,有面向高端嵌入式應(yīng)用的HS系列和700系列,針對(duì)低功耗控制或數(shù)字信號(hào)處理的EM系列、600系列,以及適用于音頻處理的AS200系列。下面對(duì)常用的ARC處理器系列進(jìn)行簡(jiǎn)要介紹。5.2ARM嵌入式處理器指令集5.3.4ARC處理器(1)HS產(chǎn)品系列(HS34、HS36、HS38)是目前性能最高的ARC處理器內(nèi)核,采用了十級(jí)流水線技術(shù),支持指令亂序執(zhí)行和L2Cache,可配置成雙核或四核SMP(SymmetricMulti-Processor,對(duì)稱多處理器)系統(tǒng),并支持運(yùn)行Linux操作系統(tǒng)??商峁└哌_(dá)1.6GHz的主頻和1.9DMIPS/MHz的性能,內(nèi)核功耗為60mW,面積約0.15mm2。HS產(chǎn)品系列主要面向高端的嵌入式應(yīng)用,如固態(tài)硬盤、聯(lián)網(wǎng)設(shè)備、汽車控制器、媒體播放器、數(shù)字電視、機(jī)頂盒和家庭聯(lián)網(wǎng)產(chǎn)品等。(2)EM系列產(chǎn)品(EM4、EM6、EMSEP、EM5D、EM7D)是功耗最低、面積最精簡(jiǎn)的ARC處理器內(nèi)核,采用三級(jí)流水線技術(shù)??商峁┘s900MHz的主頻和1.77DMIPS/MHz的性能,能耗效率可達(dá)3W/MHz,內(nèi)核面積僅為0.01mm2。主要面向深嵌入式超低功耗應(yīng)用領(lǐng)域以及數(shù)字信號(hào)處理領(lǐng)域,如IoT(InternetofThings,物聯(lián)網(wǎng))、工業(yè)微控制器、機(jī)頂盒、汽車電子等。(3)AS200系列產(chǎn)品(AS211SFX、AS221BD)是專門用于數(shù)字電視、數(shù)碼相機(jī)、音頻播放和視頻播放等音頻處理應(yīng)用領(lǐng)域。(4)600系列產(chǎn)品(601、605、610D、625D)采用了五級(jí)流水線技術(shù),可提供約900MHz的主頻。主要面向通用嵌入式領(lǐng)域,如工業(yè)控制、帶寬調(diào)制解調(diào)、VoIP、音頻處理等。此外,600系列處理器具備特有的XY存儲(chǔ)器結(jié)構(gòu),特別針對(duì)數(shù)字信號(hào)處理進(jìn)行優(yōu)化,可以很好地應(yīng)用于嵌入式DSP(DigitalSignalProcessing)領(lǐng)域。5.2ARM嵌入式處理器指令集5.3.4ARC處理器(5)700系列產(chǎn)品(710D、725D、770D)采用了七級(jí)流水線技術(shù),支持動(dòng)態(tài)分支預(yù)測(cè),可提供高達(dá)1.1GHz的主頻。主要面向中、高端的嵌入式應(yīng)用領(lǐng)域,如固態(tài)硬盤、圖像處理、信號(hào)處理、聯(lián)網(wǎng)設(shè)備等。近期ARC又推出了基于700系列的多媒體應(yīng)用加速處理器,整合了ARC700通用處理核心,以及高速SIMD處理單元,可以在低時(shí)鐘下輕松進(jìn)行諸如藍(lán)光光盤的H.264編譯碼處理,此架構(gòu)稱為VideoSubsystem,基本上該應(yīng)用處理器就可以擔(dān)任通用運(yùn)算工作,不過(guò)也可以與其它諸如ARM或MIPS體系進(jìn)行連結(jié),以滿足應(yīng)用程序的兼容性與影音數(shù)據(jù)流的加速。此外,為了能更有效地針對(duì)特定應(yīng)用進(jìn)行開(kāi)發(fā),降低設(shè)計(jì)風(fēng)險(xiǎn),縮短產(chǎn)品設(shè)計(jì)周期,基于ARC處理器的軟件開(kāi)發(fā)工具、中間軟件以及操作系統(tǒng)部署等也都趨于完善和成熟,建立了完整的生態(tài)系統(tǒng),能夠給工程技術(shù)人員提供一套完整的解決方案。3.ARC處理器的特點(diǎn)ARC處理器的主要特點(diǎn)可歸納如下:1)以功耗效率(DMIPS/mW)和面積效率(DMIPS/mm2)最優(yōu)化為目標(biāo),滿足嵌入式市場(chǎng)對(duì)微處理器產(chǎn)品日益提高的效能要求。2)成熟、統(tǒng)一的ISA指令集體系結(jié)構(gòu)不僅便于開(kāi)發(fā)不同產(chǎn)品系列,也便于開(kāi)發(fā)同一系列下的不同產(chǎn)品,具有非常好的延展性和兼容性。5.2ARM嵌入式處理器指令集5.3.4ARC處理器3)高度可配置性,以便“量體裁衣”,可通過(guò)增加或刪除功能模塊,滿足不同應(yīng)用需求,通過(guò)配置不同屬性實(shí)現(xiàn)快速系統(tǒng)集成。4)靈活的可擴(kuò)展性,支持用戶自定義指令、外圍接口和硬件邏輯,進(jìn)一步優(yōu)化處理器性能和功耗。5)強(qiáng)大的實(shí)時(shí)處理能力,中斷響應(yīng)快速且動(dòng)態(tài)可編程。6)優(yōu)異的節(jié)能特性,支持從體系結(jié)構(gòu)(SLEEP指令)、硬件設(shè)計(jì)(門控時(shí)鐘)到設(shè)計(jì)實(shí)現(xiàn)(門級(jí)功耗優(yōu)化)等不同粒度的低功耗控制。7)豐富的調(diào)試功能,協(xié)助編程人員快速查詢處理器狀態(tài)。8)成熟的開(kāi)發(fā)套件和完整的生態(tài)系統(tǒng),幫助工程設(shè)計(jì)人員快速完成從產(chǎn)品設(shè)計(jì)、實(shí)現(xiàn)到驗(yàn)證等嵌入式開(kāi)發(fā)過(guò)程。5.2ARM嵌入式處理器指令集5.3.5Xtensa處理器當(dāng)遇到神經(jīng)網(wǎng)絡(luò)處理、信息加密、圖像處理、基帶數(shù)據(jù)包處理等復(fù)雜的大數(shù)據(jù)處理時(shí),大多處理器固有的結(jié)構(gòu)、帶寬就限制了性能的發(fā)揮,只能通過(guò)提升頻率來(lái)提高性能,但效果甚微。而Tensilica公司設(shè)計(jì)的Xtensa處理器則是進(jìn)行復(fù)雜密集型數(shù)字信號(hào)處理應(yīng)用的理想之選。Xtensa是第一個(gè)專為嵌入式單芯片系統(tǒng)而設(shè)計(jì)的微處理器,可以自由配置、彈性擴(kuò)張,并自動(dòng)合成。為了讓系統(tǒng)設(shè)計(jì)工程師能夠彈性規(guī)劃、執(zhí)行單芯片系統(tǒng)的各種應(yīng)用功能,Xtensa在研發(fā)初期就已鎖定成一個(gè)可以自由裝組的架構(gòu),因此也將其架構(gòu)定義為可調(diào)式設(shè)計(jì)?;诳烧{(diào)式的架構(gòu)設(shè)計(jì),Xtensa處理器有大量的可重構(gòu)選項(xiàng),可以讓使用者自由獲取實(shí)現(xiàn)所需的功能和性能。Xtensa處理器使用了精簡(jiǎn)且效能表現(xiàn)不錯(cuò)的16與24位指令集,其基本結(jié)構(gòu)擁有80個(gè)RISC指令,其中包括32位ALU,6個(gè)管理特殊功能的緩存器,32或64個(gè)普通功能32位緩存器,這些緩存器都設(shè)有加速運(yùn)行功能的信道。同時(shí)使用者還可以自定義指令集中各指令的長(zhǎng)度(4-16Bytes的任意值),這有助于使內(nèi)存長(zhǎng)度和性能達(dá)到最佳狀態(tài)。為了提高應(yīng)對(duì)密集數(shù)據(jù)處理的能力,Xtensa處理器的可選隊(duì)列(FIFO)、端口(GPIO)和查找接口都擁有近乎無(wú)限的I/O帶寬來(lái)進(jìn)行數(shù)據(jù)傳輸,不受系統(tǒng)帶寬的影響。還可以通過(guò)硬件預(yù)取的方式來(lái)降低內(nèi)存延遲。5.2ARM嵌入式處理器指令集5.3.5Xtensa處理器
對(duì)可重構(gòu)的嵌入式處理器來(lái)說(shuō),兼容性是第一要義,只有強(qiáng)大的兼容性才能更好的應(yīng)用到第三方應(yīng)用軟件和開(kāi)發(fā)工具上去。所有的Xtensa處理器都對(duì)主要的應(yīng)用操作系統(tǒng)、調(diào)試工具以及輸入校驗(yàn)設(shè)備兼容,同時(shí)所有版本的處理器均支持向上兼容,用戶自定義的指令也可以重復(fù)使用。Xtensa處理器實(shí)現(xiàn)了對(duì)硬件和軟件的共同設(shè)計(jì),一方面通過(guò)對(duì)硬件的重構(gòu)進(jìn)行高性能的計(jì)算,另一方面通過(guò)對(duì)軟件的編程進(jìn)行高效率的控制。而且,Xtensa處理器始終保持先進(jìn)的技術(shù)結(jié)構(gòu)、精簡(jiǎn)的指令,可以幫助使用者根據(jù)應(yīng)用需求合理調(diào)整編碼長(zhǎng)度、提高指令密集度、降低功耗。Xtensa的指令集構(gòu)架包括有效的分支指令,例如:經(jīng)合成的比較-分歧循環(huán)、零開(kāi)銷循環(huán)和二進(jìn)制處理,包括漏斗切換和字段抽段操作等。浮點(diǎn)運(yùn)算單元與向量DSP單元是Xtensa結(jié)構(gòu)上兩個(gè)可以加選的處理單元,可以加強(qiáng)在特定應(yīng)用的效能表現(xiàn)。5.2ARM嵌入式處理器指令集5.3.6X86系列處理器X86是一個(gè)Intel通用計(jì)算機(jī)系列的標(biāo)準(zhǔn)編號(hào)縮寫,也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合,X與處理器沒(méi)有任何關(guān)系,它是一個(gè)對(duì)所有*86系統(tǒng)的簡(jiǎn)單的通配符定義,例如:i386,586,奔騰(Pentium)。由于早期Intel的CPU編號(hào)都是如8086,80286來(lái)編號(hào),由于這整個(gè)系列的CPU都是指令兼容的,所以都用X86來(lái)標(biāo)識(shí)所使用的指令集合如今的奔騰,P2,P4,賽揚(yáng)系列都是支持X86指令系統(tǒng)的,所以都屬于X86家族。在處理器發(fā)展早期,當(dāng)時(shí)ARM處理器還未發(fā)展成熟,在嵌入式領(lǐng)域只能使用X86處理器,但對(duì)于大多應(yīng)用在特定場(chǎng)合的嵌入式系統(tǒng)來(lái)說(shuō),X86處理器過(guò)高的功耗嚴(yán)重影響了嵌入式系統(tǒng)的穩(wěn)定性,而且X86處理器核心需要南橋和北橋來(lái)擴(kuò)展內(nèi)存控制器、PCI控制器、AGP控制器、USB控制器、ATA控制器等,雖然擴(kuò)展性很好,但系統(tǒng)結(jié)構(gòu)復(fù)雜,不適合專用設(shè)備。因此,雖然X86處理器很早就進(jìn)入了嵌入式領(lǐng)域,但依然沒(méi)有得到廣泛的應(yīng)用1.IntelX86處理器應(yīng)用在嵌入式系統(tǒng)的歷史相當(dāng)悠久,以Intel為例,其Pentium3時(shí)代的處理器與芯片組,至今仍活躍在許多工控電腦產(chǎn)業(yè)中。而隨著兩大X86廠商放棄RISC產(chǎn)品線,并積極規(guī)劃移動(dòng)應(yīng)用產(chǎn)品,X86進(jìn)入到消費(fèi)性電子嵌入式市場(chǎng)就不再只是傳言。當(dāng)然,X86
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 液壓課程設(shè)計(jì)速度負(fù)載圖
- 特色長(zhǎng)幅畫卷課程設(shè)計(jì)
- 火柴數(shù)學(xué)課程設(shè)計(jì)
- 法律生活課程設(shè)計(jì)
- 2024年度數(shù)字貨幣交易平臺(tái)運(yùn)營(yíng)管理勞務(wù)聘用合同2篇
- 技術(shù)服務(wù)智能算法優(yōu)化考核試卷
- 2024年幼兒園保育員家園共育與教育資源共享協(xié)議3篇
- 2024年度循環(huán)借款擔(dān)保及資金監(jiān)管專項(xiàng)合同3篇
- 摩托車消聲器聲學(xué)性能檢測(cè)考核試卷
- 《LPS對(duì)巨噬細(xì)胞抗結(jié)核自噬和細(xì)胞因子產(chǎn)生的促進(jìn)作用》
- 輸液導(dǎo)管相關(guān)靜脈血栓形成中國(guó)專家共識(shí)護(hù)理課件
- 選煤廠安全規(guī)程
- 《婦科腫瘤化療方案》課件
- 關(guān)于二十四節(jié)氣的常識(shí)
- 微積分第一學(xué)期期末試卷匯總
- 《幼兒園家長(zhǎng)工作指導(dǎo)》 課件 模塊三 項(xiàng)目2 幼兒園家長(zhǎng)工作特殊指導(dǎo)
- 體育學(xué)科2022版新課程標(biāo)準(zhǔn)測(cè)試題含答案
- 部門王者榮耀比賽策劃方案
- 傳統(tǒng)村落景觀風(fēng)貌保護(hù)與復(fù)興研究以傳統(tǒng)村落王硇村為例
- 安徽省蕪湖市鏡湖區(qū)蕪湖市師范學(xué)校附屬小學(xué)2023-2024學(xué)年五年級(jí)上學(xué)期期末語(yǔ)文試題
- 文旅企業(yè)消防安全培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論