8位MCU(微控制器)體系架構(gòu)特征及設(shè)計(jì)原則
在指令中固定寄存器地址的位數(shù)必然限制寄存器的數(shù)量,但是引入高端處理器的分段、分頁的設(shè)計(jì)思想就可以擴(kuò)展尋址的范圍。分段、分頁的設(shè)計(jì)思想的根本出發(fā)點(diǎn)在于將存儲(chǔ)器的線性地址分解成二維或多維地址;在指令中只表達(dá)最低維地址,而使用其它設(shè)施(如段號(hào)寄存器、頁號(hào)寄存器)用來存放高維地址。一般將寄存器堆分成若干個(gè)頁,每個(gè)頁有固定的大小,在指令中只使用寄存器的頁內(nèi)地址。在系統(tǒng)專用寄存器中設(shè)置一個(gè)頁號(hào)寄存器,通過改變其內(nèi)容來切換對(duì)不同頁寄存器的訪問。
為克服單純分頁機(jī)制中的各種缺陷,通常采用具有共享區(qū)的分頁設(shè)計(jì),這樣不僅減少了指令中寄存器邏輯地址的位數(shù),而且在任何時(shí)候都能夠訪問系統(tǒng)寄存器,同時(shí)便于不同頁寄存器之間通過共享區(qū)中的通用寄存器交換信息。當(dāng)然還得有相應(yīng)的邏輯地址到物理地址的映射的方法措施。
4.3 程序空間的分頁設(shè)計(jì)
由于和寄存器堆同樣的原因,在指令中若采用完整的程序空間地址,也會(huì)局限程序空間的大小,所以對(duì)程序空間通常也采用了分頁的設(shè)計(jì)思想,同時(shí)在不同頁內(nèi)設(shè)置了公共程序區(qū)(若指令長(zhǎng)度完全符合程序空間地址的要求,則無需此思想),其設(shè)計(jì)思想類同于具有共享區(qū)的寄存器分頁設(shè)計(jì),在此不再贅述。唯一與寄存器公共區(qū)不同的是:程序公共區(qū)是為程序在不同頁之間跳轉(zhuǎn)提供平臺(tái)。
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)爭(zhēng)用同一功能部件, 一般為同時(shí)訪問存儲(chǔ)器, 這就需要停頓一拍流水線; 其二為數(shù)據(jù)相關(guān)沖突, 有三種類型: RAW、WAR、WAW , 解決該沖突使用內(nèi)部直通結(jié)構(gòu)或者延遲一拍流水線; 其三為控制轉(zhuǎn)移沖突, 即對(duì)于條件跳轉(zhuǎn)指令, 根據(jù)運(yùn)算結(jié)果判斷是否跳轉(zhuǎn), 才能確定新的PC值, 運(yùn)算結(jié)果是在執(zhí)行階段后獲得, 這使流水線喪失很多的性能, 一般采用增加硬件預(yù)先獲得運(yùn)算結(jié)果解決該沖突。
越是長(zhǎng)的流水線,相關(guān)和轉(zhuǎn)移兩大問題也越嚴(yán)重:一方面導(dǎo)致硬件控制電路復(fù)雜程度大大增加, 另一方面, 由于流水線節(jié)拍的停頓, 導(dǎo)致CPI值的增大及系統(tǒng)性能的下降。所以,流水線并不是越長(zhǎng)越好,找到一個(gè)速度與效率的平衡點(diǎn)才是最重要的。
在8位RISC微控制器的流水線設(shè)計(jì)中,存在很多種方案。不同方案所對(duì)應(yīng)的面積、速度與功耗各不相同。具體的選用則應(yīng)該從多個(gè)方面融合考慮。首先應(yīng)該由系統(tǒng)的工作速率要求和流水線級(jí)數(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é)果差別會(huì)很大。因此整個(gè)體系架構(gòu)的確定無疑是低功耗問題應(yīng)該考慮的首要問題,主要體現(xiàn)以下幾個(gè)方面:1)盡可能根據(jù)功能需求優(yōu)化指令集,簡(jiǎn)化系統(tǒng)的譯碼單元和執(zhí)行單元;2)通過開發(fā)硬件的并行性以及功能單元的流水執(zhí)行來實(shí)現(xiàn)低功耗的結(jié)構(gòu);3)合理設(shè)置確定存儲(chǔ)器、寄存器的容量,減少所需的總線數(shù)目;4)系統(tǒng)硬件的各個(gè)子模塊劃分以及軟件上設(shè)置不同的工作狀態(tài)對(duì)功耗的優(yōu)化非常重要。
5.結(jié)束語
在微控制器應(yīng)用領(lǐng)域日益廣泛的今天,對(duì)微控制器提出了更高要求,希望速度更快、功耗更低、價(jià)格低廉、易學(xué)易用以及組成系統(tǒng)時(shí)的外圍器件更少。因此,對(duì)目前應(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)行的。本文就此對(duì)8位RISC體系架構(gòu)中采用的關(guān)鍵技術(shù)所應(yīng)該考慮的問題進(jìn)行了分析和探討,具有一定的研究?jī)r(jià)值和意義。
評(píng)論