一種基于功耗管理的DSP處理器設(shè)計(jì)
摘 要:一種具有功耗管理特性的DSP處理器的結(jié)構(gòu)設(shè)計(jì)。該處理器采用4級(jí)流水線和增強(qiáng)型的哈佛并行系統(tǒng)結(jié)構(gòu)及完善的時(shí)鐘管理模塊,提供了一種DSP處理器的集成設(shè)
關(guān)鍵詞:DSP處理器 流水線 哈佛結(jié)構(gòu) 低功耗
在信息日益成為一種重要資源的今天,強(qiáng)大的市場(chǎng)需求和微電子技術(shù)的發(fā)展促成了便攜式電子系統(tǒng)的飛速發(fā)展。這些便攜式電子設(shè)備,不但對(duì)速度和面積要求非常高,而且對(duì)系統(tǒng)的平均功耗要求也很?chē)?yán)格,使功耗問(wèn)題日漸成為制約便攜式電子設(shè)備發(fā)展的瓶頸。要獲得高性能低功耗的方案,其實(shí)質(zhì)也就是在處理速度、芯片面積和功耗上來(lái)權(quán)衡如何滿(mǎn)足數(shù)字信號(hào)處理系統(tǒng)的要求。
本文介紹了一種基于并行流水線的低功耗數(shù)字信號(hào)處理器(DSP)的系統(tǒng)設(shè)計(jì),以改善通用處理器的不足,應(yīng)用于各種便攜式系統(tǒng)中,以便取得良好的效果。
系統(tǒng)方案中,基于流水線的結(jié)構(gòu)從行為級(jí)方面降低了系統(tǒng)的功耗;時(shí)鐘管理方案則可以允許系統(tǒng)在不同的工作模式下使用不同的工作頻率,從而使每一個(gè)單項(xiàng)任務(wù)所消耗的功耗最小;增強(qiáng)型的哈佛結(jié)構(gòu)存儲(chǔ)管理可以大大提高系統(tǒng)的并行性,提高系統(tǒng)效率。
1 流水線結(jié)構(gòu)
流水線結(jié)構(gòu)是芯片行為級(jí)降低功耗的主要方法之一,下面簡(jiǎn)要分析其原理。在傳統(tǒng)的分析方法中,CMOS電路的功耗可用下面的方程進(jìn)行估計(jì):
其中f=1/Ts,Ts是原始時(shí)序系統(tǒng)的時(shí)鐘周期。若是一個(gè)M級(jí)流水線系統(tǒng),其關(guān)鍵路徑則縮短為原路經(jīng)長(zhǎng)度的1/M,一個(gè)時(shí)鐘周期內(nèi)充放電電容則減小為Ccharge/M(注意總電容并沒(méi)有變化)。如果時(shí)鐘速度保持不變,則在原來(lái)對(duì)電容Ccharge充放電的同樣時(shí)間內(nèi),現(xiàn)在只需要對(duì)Ccharge/M進(jìn)行充放電,這就意味著電源電壓可以降低到βVdd,其中β是一個(gè)小于1的常數(shù)。這樣,流水線濾波器的功耗將為:
和原始系統(tǒng)相比流水線系統(tǒng)的功耗降低了β2倍。
該DSP處理器采用如圖1所示的4級(jí)流水線結(jié)構(gòu)。各級(jí)流水線的功能介紹如下:
FI:取址階段。由程序地址產(chǎn)生模塊產(chǎn)生指令存儲(chǔ)器地址,并取出指令。
DI:譯碼階段。通過(guò)指令譯碼產(chǎn)生相應(yīng)的微控制信號(hào),送入相應(yīng)的控制寄存器。
FO:取操作數(shù)階段。從寄存器堆或外部存儲(chǔ)器讀出相應(yīng)的數(shù)據(jù),通過(guò)數(shù)據(jù)總線送入運(yùn)算單元或寄存器堆。
EXE/WB:執(zhí)行及寫(xiě)回階段。進(jìn)行運(yùn)算或操作,得出相應(yīng)的結(jié)果,并將結(jié)果放到寫(xiě)總線(EB)上。
圖1 4級(jí)流水線
2 外圍接口部分
外圍接口部分提供系統(tǒng)內(nèi)部和外部的各種連接方式,實(shí)現(xiàn)各種方式的信息傳輸。本設(shè)計(jì)把這些接口分為二大部分:(1)MCU類(lèi)型的接口,如低速的串行端口(串行外圍接口(SPI)和通用異步收發(fā)器(UART))、可編程通信接口(PCI)、通用串行總線(USB)以及一些外圍設(shè)備。(2)適于媒體信息收發(fā)的高速接口,如異步串行端口和并行外圍接口。
3 數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)
數(shù)字信號(hào)處理是數(shù)據(jù)量很大的應(yīng)用,所以如何高效地傳輸數(shù)據(jù)是一個(gè)影響系統(tǒng)性能的關(guān)鍵瓶頸。作為DSP處理器,必須有全面的DMA能力以便對(duì)數(shù)據(jù)在芯片內(nèi)外進(jìn)行傳輸。因?yàn)樵贒SP芯片內(nèi)部集成足夠的存儲(chǔ)空間不大現(xiàn)實(shí),所以必須采用DMA來(lái)管理流動(dòng)數(shù)據(jù),將數(shù)據(jù)傳輸和系統(tǒng)控制過(guò)程分開(kāi)。這樣,一方面可以提高數(shù)據(jù)傳輸?shù)乃俣?另一方面可以降低處理器內(nèi)核的負(fù)擔(dān),提高系統(tǒng)運(yùn)行效率。
系統(tǒng)設(shè)計(jì)中DMA采用基于描述符的傳送,它在發(fā)起DMA傳送序列時(shí),需要一組存儲(chǔ)在存儲(chǔ)器中的參數(shù)。這類(lèi)傳送允許將多個(gè)DMA序列鏈接在一起,一個(gè)DMA通道可以被編程建立,并且在當(dāng)前序列完成之后啟動(dòng)另一個(gè)DMA傳送。
4 乘法器和邏輯單元的設(shè)計(jì)
在數(shù)字信號(hào)處理應(yīng)用中,實(shí)現(xiàn)高速的數(shù)據(jù)運(yùn)算是其突出的特點(diǎn),所以其結(jié)構(gòu)設(shè)計(jì)中必須具有單獨(dú)的乘法器以實(shí)現(xiàn)其性能的提高。乘法器和邏輯單元的結(jié)構(gòu)框圖如圖2所示。
圖2 CALU及乘法器結(jié)構(gòu)框圖
乘法器工作時(shí),用1條LT(Load TR)指令加載TR,由TR提供一個(gè)乘數(shù)。乘法指令提供另一個(gè)操作數(shù),它既可以是來(lái)自數(shù)據(jù)總線,也可以是來(lái)自程序總線的立即數(shù)。不管在哪種情況下,每個(gè)周期都可以獲得穩(wěn)定的乘積項(xiàng)輸出。
3個(gè)移位器(shifter)是桶式移位器,它提供對(duì)16位或32位的操作數(shù)進(jìn)行移位操作,可以大大提高乘后累加的速度。
5 地址處理模塊
地址處理模塊是為總線部件計(jì)算取指和取數(shù)據(jù)的地址,也包括處理一些重復(fù)指令和跳轉(zhuǎn)指令。根據(jù)指令系統(tǒng)的特點(diǎn),本文設(shè)計(jì)的地址處理單元如圖3所示。
圖3 地址處理模塊結(jié)構(gòu)框圖
派生地址可能來(lái)自S_BUS,或是上一地址的加1值,也可能是總線輸入數(shù)據(jù)暫存器DataIn之一;指令指針I(yè)C的值可能來(lái)自S_BUS或者是自增1的結(jié)果;預(yù)取指針PreIC可能來(lái)自IC或者是自加1的結(jié)果。最后的輸出地址是派生地址暫存器AddrTemp、指令指針I(yè)C、總線輸入數(shù)據(jù)暫存器DataIn或預(yù)取指針PreIC這4種地址之一。
當(dāng)執(zhí)行的指令需要計(jì)算有效地址時(shí),輸出地址是派生地址寄存器;當(dāng)程序跳轉(zhuǎn)時(shí),輸出地址是指令指針I(yè)C;當(dāng)尋址方式是間接尋址時(shí),輸出地址是DataIn; 當(dāng)預(yù)取指令時(shí),輸出地址是預(yù)取指針PreIC。
因?yàn)锳ddrTemp和IC的增量計(jì)算在系統(tǒng)中不可能同時(shí)出現(xiàn),所以結(jié)構(gòu)設(shè)計(jì)中只設(shè)計(jì)一個(gè)增量器供二者共用。
6 存儲(chǔ)器的組織管理
在數(shù)字信號(hào)處理系統(tǒng)中,數(shù)據(jù)的吞吐率直接影響系統(tǒng)的性能,傳統(tǒng)的馮
評(píng)論