關(guān)于我們

在線客服

幫助

24小時(shí)客服:010-82326699 400-810-5999

建設(shè)工程教育網(wǎng) > 建筑文苑 > 結(jié)構(gòu)設(shè)計(jì) > 正文

8位微控制器體系架構(gòu)的設(shè)計(jì)研究

2008-09-02 09:41    【  【打印】【我要糾錯(cuò)】

  1.引言

  微控制器(Microcontroller)自上世紀(jì)70年代出現(xiàn)以來,在將近30年的時(shí)間里得到了迅猛的發(fā)展和廣泛的應(yīng)用。隨著微電子技術(shù)的飛速發(fā)展,微控制器以其性能好、體積小、價(jià)格優(yōu)、功能齊全等突出優(yōu)點(diǎn)被廣泛應(yīng)用于家用電器、計(jì)算和外設(shè)、通訊、工業(yè)控制、自動(dòng)化生產(chǎn)、智能化設(shè)備以及儀器儀表等領(lǐng)域,成為科研、教學(xué)、工業(yè)技術(shù)改造最得力的工具。從最初采用普林斯頓結(jié)構(gòu)的簡單微控制器到現(xiàn)在普遍采用哈佛總線結(jié)構(gòu)的RISC微控制器,微控制器取得了飛速的發(fā)展。

  8位微控制器目前應(yīng)用數(shù)量最大的微控制器,也是目前最多公司致力耕耘的市場;其市場及價(jià)格競爭都極為激烈,各種多功能需求以及不同規(guī)格的產(chǎn)品推陳出新的速度也極為快速。隨著集成電路和半導(dǎo)體工藝技術(shù)的快速發(fā)展,F(xiàn)PGA和SOC技術(shù)的不斷競爭和融合,電子產(chǎn)品的設(shè)計(jì)逐漸向系統(tǒng)性能更好、功耗更小、成本更低、可靠性更高、開發(fā)更容易的方向發(fā)展。因此,迅速推出符合市場需求的高性價(jià)比、低功耗、高經(jīng)濟(jì)效益的8位微控制器芯片或IP Core成為了現(xiàn)今不少公司競爭相逐的熱點(diǎn)。

  2.目前8位微控制器的更新和設(shè)計(jì)趨勢

  對于不同的微控制器(MCU)產(chǎn)品應(yīng)用,不僅需要考慮不同廠家MCU的性價(jià)比,而且還需要考慮不同指令系統(tǒng)下MCU應(yīng)用特點(diǎn)。針對不斷涌現(xiàn)出來的新的智能化電子產(chǎn)品,們一直在開發(fā)適合于不同嵌入式系統(tǒng)應(yīng)用的MCU新產(chǎn)品[2].不同廠家的MCU產(chǎn)品其指令集各不相同,特別是指令集系統(tǒng)架構(gòu)的不同,如市場上廣泛應(yīng)用的MCS51系列和PIC系列微控制器則分別采用CISC指令系統(tǒng)和RISC指令系統(tǒng)。

  微控制器按照指令系統(tǒng)可以分為CISC、RISC、類RISC(RISC-LIKE)等幾種。傳統(tǒng)的MCS51控制器屬于CISC型,其代碼密度高,但大多數(shù)指令需要多個(gè)時(shí)鐘周期完成。RISC型一般指令密度較低,但指令效率很高。類RISC型則兼有CISC和RISC的優(yōu)點(diǎn)。RISC和類RISC之所以有如此高的指令效率,得益于小指令集帶來的硬布線結(jié)構(gòu)和流水線結(jié)構(gòu)。簡單的指令集可以用硬布線進(jìn)行指令譯碼,而不需要用微碼控制的方式,提高了譯碼的效率。流水線結(jié)構(gòu)將指令分成幾步完成,在流水線填滿工作時(shí),每條指令的平均執(zhí)行時(shí)間(CPI)在1個(gè)時(shí)鐘周期左右[3].一般來說,RISC比同等的CISC要快50%——70%,同時(shí)更容易設(shè)計(jì)和糾錯(cuò)。

  因此,目前對8位微控制器的產(chǎn)品開發(fā)和研究設(shè)計(jì)主要是以兼容市場上已被客戶廣泛采用的產(chǎn)品為前提,不斷提高性能并降低功耗以適應(yīng)市場競爭和技術(shù)發(fā)展。對于原先為CISC指令系統(tǒng)的微控制器產(chǎn)品,在層出不窮的更新系列中已經(jīng)漸漸的融合進(jìn)了RISC思想;對于采用RISC指令系統(tǒng)的微控制器來說,更多的做法仍然是針對高性能低功耗的需求對其整個(gè)體系架構(gòu)不斷地進(jìn)行優(yōu)化和改善,尤其是流水線結(jié)構(gòu)的改進(jìn)最為多見。本文正是在種形勢下提出的,主要討論RISC體系架構(gòu)的8位微控制器產(chǎn)品的設(shè)計(jì)技術(shù)。

  3.RISC微處理器的結(jié)構(gòu)特征和設(shè)計(jì)原則

  雖然現(xiàn)在業(yè)界對RISC 處理器應(yīng)該具有什么特征還有不同的看法,但是各種RISC結(jié)構(gòu)都有一些共性:(1)采用哈佛總線結(jié)構(gòu),大多數(shù)指令在一個(gè)時(shí)鐘周期內(nèi)完成以便于實(shí)現(xiàn)結(jié)構(gòu)流水化;(2)采用獨(dú)立且簡單的裝載/存儲結(jié)構(gòu);(3)指令解碼通常都是硬連線實(shí)現(xiàn)而不是微解碼,以便加快執(zhí)行速度;(4)多數(shù)指令具有固定格式,以簡化指令編碼和譯碼;(5)較小的指令集和少數(shù)幾種尋址模式;(6)數(shù)據(jù)通道流水線化,使處理過程高度并行;(7)采用大容量高速寄存器堆(或稱為寄存器文件),盡量避免與速度較低的系統(tǒng)RAM交換數(shù)據(jù)。盡量將運(yùn)算數(shù)據(jù)存放在寄存器中,從而減少訪問內(nèi)存的次數(shù)。根據(jù)以上的討論,下文重點(diǎn)從體系架構(gòu)的角度出發(fā),就高性能、低功耗兩方面對8位RISC微控制器在設(shè)計(jì)中的關(guān)鍵技術(shù)進(jìn)行了探討研究。

  4.關(guān)鍵技術(shù)

  4.1 RISC指令集的選取

  控制器系統(tǒng)的使用跟軟件編程與硬件設(shè)計(jì)之間的規(guī)格接口密切相關(guān),這個(gè)接口就是微控制器的指令集。指令體系結(jié)構(gòu)(ISA)是進(jìn)行微處理器軟硬件協(xié)同設(shè)計(jì)的前提。指令集必須完備,使所有可計(jì)算的功能都在合理的程序空間內(nèi)得以實(shí)現(xiàn);而且指令集又必須是高效的,以便使常用的功能可以用相對少的指令實(shí)現(xiàn)。因此,提供給應(yīng)用軟件開發(fā)的微控制器系統(tǒng)必須有一個(gè)完備而高效的指令集。

  指令集直接決定微控制器的內(nèi)部硬件結(jié)構(gòu),同時(shí)也是用戶程序編譯生成目標(biāo)代碼的依據(jù)。指令集的最終確定與整個(gè)系統(tǒng)所需的程序存儲器、數(shù)據(jù)存儲器、寄存器變量及存儲器尋址方式密切相關(guān)且相互制約。各個(gè)部件乃至具體的字節(jié)都應(yīng)該有唯一的地址,以便指令集能夠正確對各個(gè)部件或字節(jié)進(jìn)行辨認(rèn)操作。因此也就有了相應(yīng)的一系列針對不同產(chǎn)品的不同措施: 1)從所需要的地址度和相應(yīng)增加的寄存器來權(quán)衡指令的長度;2)對指令進(jìn)行分類并分別確定各類的指令字節(jié)格式,以簡化操作控制信號的譯碼邏輯;3)增加相應(yīng)的寄存器以彌補(bǔ)指令字節(jié)長度的不足;4)指令字節(jié)格式分配應(yīng)考慮到相應(yīng)部件的結(jié)構(gòu)復(fù)雜度及對應(yīng)的尋址方式;5)存儲器、寄存器、I/O口是否統(tǒng)一尋址。以上所列舉的并不詳盡也無先后順序之分,應(yīng)該同時(shí)進(jìn)行分析。相應(yīng)的措施所對應(yīng)的性能、功耗、設(shè)計(jì)復(fù)雜度各不一樣,應(yīng)統(tǒng)一考慮。

  對ISA進(jìn)行功耗分析應(yīng)該從指令代碼容量和指令執(zhí)行效率兩方面考慮。指令集大小、寄存器變量、存儲器尋址方式、流水線結(jié)構(gòu)等技術(shù)的選定都和指令代碼密度有緊密聯(lián)系。研究發(fā)現(xiàn),在RISC的精簡指令集中適當(dāng)增加一些特定的復(fù)雜指令不失為提高代碼密度、保證處理器高性能、低功耗的可行方法。因此能夠產(chǎn)生高指令代碼密度的指令集無疑是RISC低功耗設(shè)計(jì)的首選。

  4.2 具有共享區(qū)的寄存器堆的分頁設(shè)計(jì)

  RISC設(shè)計(jì)思想的最主要特點(diǎn)是所有的操作都是面向寄存器的。利用寄存器——寄存器操作的指令進(jìn)行數(shù)據(jù)傳送,加快了速度,而且還簡化了指令控制邏輯,縮小了硬布線邏輯構(gòu)成的控制部件的芯片面積。

  在指令中固定寄存器地址的位數(shù)必然限制寄存器的數(shù)量,但是引入高端處理器的分段、分頁的設(shè)計(jì)思想就可以擴(kuò)展尋址的范圍。分段、分頁的設(shè)計(jì)思想的根本出發(fā)點(diǎn)在于將存儲器的線性地址分解成二維或多維地址;在指令中只表達(dá)最低維地址,而使用其它設(shè)施(如段號寄存器、頁號寄存器)用來存放高維地址。一般將寄存器堆分成若干個(gè)頁,每個(gè)頁有固定的大小,在指令中只使用寄存器的頁內(nèi)地址。在系統(tǒng)專用寄存器中設(shè)置一個(gè)頁號寄存器,通過改變其內(nèi)容來切換對不同頁寄存器的訪問。

  為克服單純分頁機(jī)制中的各種缺陷,通常采用具有共享區(qū)的分頁設(shè)計(jì),這樣不僅減少了指令中寄存器邏輯地址的位數(shù),而且在任何時(shí)候都能夠訪問系統(tǒng)寄存器,同時(shí)便于不同頁寄存器之間通過共享區(qū)中的通用寄存器交換信息。當(dāng)然還得有相應(yīng)的邏輯地址到物理地址的映射的方法措施。

  4.3 程序空間的分頁設(shè)計(jì)

  由于和寄存器堆同樣的原因,在指令中若采用完整的程序空間地址,也會局限程序空間的大小,所以對程序空間通常也采用了分頁的設(shè)計(jì)思想,同時(shí)在不同頁內(nèi)設(shè)置了公共程序區(qū)(若指令長度完全符合程序空間地址的要求,則無需此思想),其設(shè)計(jì)思想類同于具有共享區(qū)的寄存器分頁設(shè)計(jì),在此不再贅述。唯一與寄存器公共區(qū)不同的是:程序公共區(qū)是為程序在不同頁之間跳轉(zhuǎn)提供平臺。

  4.4 流水線技術(shù)

  流水線設(shè)計(jì)與8位RISC微控制器體系架構(gòu)密不可分,是整個(gè)系統(tǒng)的設(shè)計(jì)核心,它的選用優(yōu)劣直接影響到系統(tǒng)的性能和功耗。

  流水線技術(shù)能最大限度地利用了微控制器資源,使每個(gè)部件在每個(gè)時(shí)鐘周期都工作,大大提高了效率,但由于流水線的各個(gè)段之間存在很強(qiáng)的依賴關(guān)系。如果處理不當(dāng), 指令的運(yùn)行將達(dá)不到預(yù)期的結(jié)果,因此必須熟知流水線的相關(guān)和轉(zhuǎn)移問題。其一為資源沖突, 即同一時(shí)間內(nèi)爭用同一功能部件, 一般為同時(shí)訪問存儲器, 這就需要停頓一拍流水線; 其二為數(shù)據(jù)相關(guān)沖突, 有三種類型: RAW、WAR、WAW , 解決該沖突使用內(nèi)部直通結(jié)構(gòu)或者延遲一拍流水線; 其三為控制轉(zhuǎn)移沖突, 即對于條件跳轉(zhuǎn)指令, 根據(jù)運(yùn)算結(jié)果判斷是否跳轉(zhuǎn), 才能確定新的PC值, 運(yùn)算結(jié)果是在執(zhí)行階段后獲得, 這使流水線喪失很多的性能, 一般采用增加硬件預(yù)先獲得運(yùn)算結(jié)果解決該沖突。

  越是長的流水線,相關(guān)和轉(zhuǎn)移兩大問題也越嚴(yán)重:一方面導(dǎo)致硬件控制電路復(fù)雜程度大大增加, 另一方面, 由于流水線節(jié)拍的停頓, 導(dǎo)致CPI值的增大及系統(tǒng)性能的下降。所以,流水線并不是越長越好,找到一個(gè)速度與效率的平衡點(diǎn)才是最重要的。

  在8位RISC微控制器的流水線設(shè)計(jì)中,存在很多種方案。不同方案所對應(yīng)的面積、速度與功耗各不相同。具體的選用則應(yīng)該從多個(gè)方面融合考慮。首先應(yīng)該由系統(tǒng)的工作速率要求和流水線級數(shù)、深度推導(dǎo)出多種具體的流水線結(jié)構(gòu)方案及其所需要的嚴(yán)格時(shí)序;然后從系統(tǒng)的功耗、面積、性能及由流水線相關(guān)和轉(zhuǎn)移問題引起的設(shè)計(jì)復(fù)雜度等方面考慮出發(fā),判斷各方案的優(yōu)劣;最后折衷選擇符合的最優(yōu)方案。

  4.5 低功耗技術(shù)

  隨著半導(dǎo)體工業(yè)的迅猛發(fā)展,集成電路進(jìn)入深亞微米階段,微處理器的時(shí)鐘頻率和芯片集成度不斷提高,功耗已在很多設(shè)計(jì)領(lǐng)域成為了首要關(guān)注的問題,這點(diǎn)最為突出的即是高性能微處理器和便攜電子設(shè)備產(chǎn)品。

  在根據(jù)系統(tǒng)功能說明進(jìn)行軟硬件協(xié)同設(shè)計(jì)、確定指令體系結(jié)構(gòu)時(shí),不同的設(shè)計(jì)出發(fā)點(diǎn)所導(dǎo)致的設(shè)計(jì)功耗結(jié)果差別會很大。因此整個(gè)體系架構(gòu)的確定無疑是低功耗問題應(yīng)該考慮的首要問題,主要體現(xiàn)以下幾個(gè)方面:1)盡可能根據(jù)功能需求優(yōu)化指令集,簡化系統(tǒng)的譯碼單元和執(zhí)行單元;2)通過開發(fā)硬件的并行性以及功能單元的流水執(zhí)行來實(shí)現(xiàn)低功耗的結(jié)構(gòu);3)合理設(shè)置確定存儲器、寄存器的容量,減少所需的總線數(shù)目;4)系統(tǒng)硬件的各個(gè)子模塊劃分以及軟件上設(shè)置不同的工作狀態(tài)對功耗的優(yōu)化非常重要。

  5.結(jié)束語

  在微控制器應(yīng)用領(lǐng)域日益廣泛的今天,對微控制器提出了更高要求,希望速度更快、功耗更低、價(jià)格低廉、易學(xué)易用以及組成系統(tǒng)時(shí)的外圍器件更少。因此,對目前應(yīng)用數(shù)量最廣的8位微控制器的產(chǎn)品開發(fā)和設(shè)計(jì)研究顯得尤為重要。又體系結(jié)構(gòu)設(shè)計(jì)是整個(gè)設(shè)計(jì)關(guān)鍵之關(guān)鍵,其后的所有工作,都是依賴于所設(shè)計(jì)的體系結(jié)構(gòu)來進(jìn)行的。本文就此對8位RISC體系架構(gòu)中采用的關(guān)鍵技術(shù)所應(yīng)該考慮的問題進(jìn)行了分析和探討,具有一定的研究價(jià)值和意義。

收藏分享:論壇
分享到:
相關(guān)新聞
  • 特色班
    4大班次+2-3套全真模擬題
    提升學(xué)習(xí)效果
  • 精品班
    4大班次+2-3套全真模擬題+1套預(yù)測試題
  • 實(shí)驗(yàn)班
    3套全真模擬題+2套預(yù)測試題+考前沖關(guān)寶典
  • 定制班
    3套模擬題+3套預(yù)測題+考前沖關(guān)寶典+考前重點(diǎn)
  • 移動(dòng)班
    以知識點(diǎn)為單元授課練習(xí),
    強(qiáng)化重點(diǎn)、難點(diǎn)、考點(diǎn)
版權(quán)聲明

  1、凡本網(wǎng)注明“來源:建設(shè)工程教育網(wǎng)”的所有作品,版權(quán)均屬建設(shè)工程教育網(wǎng)所有,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式使用;已經(jīng)本網(wǎng)授權(quán)的,應(yīng)在授權(quán)范圍內(nèi)使用,且必須注明“來源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責(zé)任。
  2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對于本網(wǎng)刊載作品涉及版權(quán)等問題的,請作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實(shí)確認(rèn)后會盡快予以處理。
  本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實(shí)性。如其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用,請與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
  3、本網(wǎng)站歡迎積極投稿。