在信息日益成為一種重要資源的今天,強大的市場需求和微電子技術的發展促成了便攜式電子系統的飛速發展。這些便攜式電子設備,不但對速度和面積要求非常高,而且對系統的平均功耗要求也很嚴格,使功耗問題日漸成為制約便攜式電子設備發展的瓶頸。要獲得高性能低功耗的方案,其實質也就是在處理速度、芯片面積和功耗上來權衡如何滿足數字信號處理系統的要求。 本文介紹了一種基于并行流水線的低功耗數字信號處理器(DSP)的系統設計,以改善通用處理器的不足,應用于各種便攜式系統中,以便取得良好的效果。 系統方案中,基于流水線的結構從行為級方面降低了系統的功耗;時鐘管理方案則可以允許系統在不同的工作模式下使用不同的工作頻率,從而使每一個單項任務所消耗的功耗最小;增強型的哈佛結構存儲管理可以大大提高系統的并行性,提高系統效率。 1 流水線結構 流水線結構是芯片行為級降低功耗的主要方法之一,下面簡要分析其原理。在傳統的分析方法中,CMOS電路的功耗可用下面的方程進行 估計: 其中f=1/Ts,Ts是原始時序系統的時鐘周期。若是一個M級流水線系統,其關鍵路徑則縮短為原路經長度的1/M,一個時鐘周期內充放電電容則減小為Ccharge/M(注意總電容并沒有變化)。如果時鐘速度保持不變,則在原來對電容Ccharge充放電的同樣時間內,現在只需要對Ccharge/M進行充放電,這就意味著電源電壓可以降低到βVdd,其中β是一個小于1的常數。這樣,流水線濾波器的功耗將為: 和原始系統相比流水線系統的功耗降低了β2倍。 該DSP處理器采用如圖1所示的4級流水線結構。各級流水線的功能介紹如下: FI:取址階段。由程序地址產生模塊產生指令存儲器地址,并取出指令。 DI:譯碼階段。通過指令譯碼產生相應的微控制信號,送入相應的控制寄存器。 FO:取操作數階段。從寄存器堆或外部存儲器讀出相應的數據,通過數據總線送入運算單元或寄存器堆。 EXE/WB:執行及寫回階段。進行運算或操作,得出相應的結果,并將結果放到寫總線(EB)上。 圖1 4級流水線 2 外圍接口部分 外圍接口部分提供系統內部和外部的各種連接方式,實現各種方式的信息傳輸。本設計把這些接口分為二大部分1)MCU類型的接口,如低速的串行端口(串行外圍接口(SPI)和通用異步收發器(UART))、可編程通信接口(PCI)、通用串行總線(USB)以及一些外圍設備。(2)適于媒體信息收發的高速接口,如異步串行端口和并行外圍接口。 3 數據傳輸的設計 數字信號處理是數據量很大的應用,所以如何高效地傳輸數據是一個影響系統性能的關鍵瓶頸。作為DSP處理器,必須有全面的DMA能力以便對數據在芯片內外進行傳輸。因為在DSP芯片內部集成足夠的存儲空間不大現實,所以必須采用DMA來管理流動數據,將數據傳輸和系統控制過程分開。這樣,一方面可以提高數據傳輸的速度,另一方面可以降低處理器內核的負擔,提高系統運行效率。 系統設計中DMA采用基于描述符的傳送,它在發起DMA傳送序列時,需要一組存儲在存儲器中的參數。這類傳送允許將多個DMA序列鏈接在一起,一個DMA通道可以被編程建立,并且在當前序列完成之后啟動另一個DMA傳送。 4 乘法器和邏輯單元的設計 在數字信號處理應用中,實現高速的數據運算是其突出的特點,所以其結構設計中必須具有單獨的乘法器以實現其性能的提高。乘法器和邏輯單元的結構框圖如圖2所示。 圖2 CALU及乘法器結構框圖 乘法器工作時,用1條LT(Load TR)指令加載TR,由TR提供一個乘數。乘法指令提供另一個操作數,它既可以是來自數據總線,也可以是來自程序總線的立即數。不管在哪種情況下,每個周期都可以獲得穩定的乘積項輸出。 3個移位器(shifter)是桶式移位器,它提供對16位或32位的操作數進行移位操作,可以大大提高乘后累加的速度。 5 地址處理模塊 地址處理模塊是為總線部件計算取指和取數據的地址,也包括處理一些重復指令和跳轉指令。根據指令系統的特點,本文設計的地址處理單元如圖3所示。 圖3 地址處理模塊結構框圖 派生地址可能來自S_BUS,或是上一地址的加1值,也可能是總線輸入數據暫存器DataIn之一;指令指針IC的值可能來自S_BUS或者是自增1的結果;預取指針PreIC可能來自IC或者是自加1的結果。最后的輸出地址是派生地址暫存器AddrTemp、指令指針IC、總線輸入數據暫存器DataIn或預取指針PreIC這4種地址之一。 當執行的指令需要計算有效地址時,輸出地址是派生地址寄存器;當程序跳轉時,輸出地址是指令指針IC;當尋址方式是間接尋址時,輸出地址是DataIn; 當預取指令時,輸出地址是預取指針PreIC。 因為AddrTemp和IC的增量計算在系統中不可能同時出現,所以結構設計中只設計一個增量器供二者共用。 6 存儲器的組織管理 在數字信號處理系統中,數據的吞吐率直接影響系統的性能,傳統的馮·諾曼(Von Neuman)結構是將指令、數據存儲在同一存儲器中統一編址,依靠指令計數器提供的地址來區分指令和數據。取指令和取數據都訪問同一存儲器,數據吞吐率低。而哈佛結構則不同于傳統的馮·諾曼結構的并行系統結構,其主要特點是將程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器是2個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問。系統中設置了程序和數據2條總線,從而使數據的吞吐率提高了1倍。 本文的設計采用如圖4所示的增強型哈佛結構,它包括1個程序代碼存儲器和2個數據存儲器,其中程序代碼存儲器只存放指令,程序數據存儲器存放程序數據,而數據存儲器則存放通用數據。對這些存儲器的訪問是相互獨立的,系統可以在取指令的同時提供2個操作數,因而大大提高了系統的執行效率。 為了使用更大的虛擬地址空間,對存儲器采用分頁管理,幾個不同的頁可以占用同一段地址空間,由各個存儲器的分頁寄存器指明當前所訪問的是哪一頁。 圖4 增強型哈佛結構 7 時鐘管理方案 由公式(1)可以看出,系統的功耗和時鐘頻率呈線性關系,因此,通過降低系統時鐘可以有效地降低功耗。時鐘管理方案為系統提供了在不同工作模式下進行工作的頻率,其結構如圖5所示。由圖可知,外部輸入時鐘 CLKI經過全局輸入緩沖器IBUFG連接到延遲鎖相環DLL,鎖相環原相時鐘經過全局緩沖器BUFG輸出,這樣就可以得到穩定的片內原時鐘;系統在低功耗模式下,可以根據用戶配置的時鐘分頻計數器的值將原時鐘分頻,產生分頻時鐘;如果系統時鐘要停止,可直接將低電平作為時鐘輸出。 圖5 時鐘管理方案結構圖 以上3種時鐘經過多路選擇器輸出,該內部產生的時鐘已經不是穩定的時鐘。因此,將該時鐘輸出到片外,然后將輸入連接到片上時鐘專用線,即經過全局輸入緩沖器連接到延遲鎖相環,鎖相環原相時鐘經過全局緩沖器輸出產生穩定的系統主時鐘。同時,鎖相環二分頻時鐘經過全局緩沖器輸出作為系統狀態時鐘,由它參與系統控制。此外,將該鎖相環的時鐘鎖定標志LOCKED輸出,便于在系統調試時觀察內部時鐘的穩定性。 本文介紹的低功耗DSP處理器的設計,相對于其他處理器的解決方案具有成本低、復雜性小、產品上市時間短等優點,并且能夠以較低的價格實現各種便攜式數字信號處理性能。該設計方法可作為同類設計的參考。 |