Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

建構具有DSP增強特性的RISC核心

上網時間: 2005年12月23日     打印版  Bookmark and Share  字型大小:  

關鍵字:RISC  DSP Enhancement  TLB  RISC  instruction set 

引言:如今的嵌入式設備在很多情況下既需要通用處理器來執行作業系統,又需要DSP來高效地執行數位訊號處理應用。傳統的做法是使用兩個單獨的處理器來實現。MIPS24KE核心卻很好地實現了RISC處理器和DSP的相互融合。本文主要分析了帶DSP增強特性的MIPS核心的一些優勢和設計挑戰,並給出了詳細的測試數據來說明實現DSP增強的MIPS24KEc核心相對於沒有DSP指令的MIPS24Kc核心所獲得的性能提升。

嵌入式消費性設備包括視訊轉換盒、DVD播放器和錄影機、VoIP電話,MP3播放器等。如MP3播放器既需要通用處理器來執行作業系統又需要數位訊號處理來解碼音樂串流。傳統的做法是用兩個單獨的處理器來實現。但是事實上,RISC處理器已經能執行某些DSP運算,隨著RISC處理器不斷增加速度,它們可以包含更多的DSP應用。根據Forward Concepts總裁和首席分析師Will Strauss的說法“至少30%的RISC處理器適合於‘真正’的DSP應用”。這些應用包括音訊編解碼、封包協議處理和JPEG處理。因此這種趨勢即使不會加速,也會持續下去。

圖1:RISC處理器和DSP的特性正融合。

圖2:24K核心系列具有8級管線,這8級管線被分成4部份。

圖3:第二個週期用於轉發DSP指令的通用暫存器結果。

圖4:點-積-累加指令執行兩個乘法和兩個加法。

在同一個核心上結合通用處理和數位訊號處理具有一些挑戰和優勢。一個很大的優勢就是更高效率的硬體架構。在核心中實現DSP增強的額外晶片面積與可程式DSP所佔空間相較要小的多。一個原因就是DSP增強可以共享核心中存在的很多硬體。還有,這種組合架構消除了處理器核心和DSP之間的外部匯流排。這也能減少功耗,因為數據不需要在那樣的外部匯流排之間被來回驅動。

另外一個優勢是軟體開發者只需要使用一個單一的工具鏈來寫通用程式碼和DSP程式碼。不需要處理多個工具鏈,可以降低開發成本和加速開發。

上面討論的這些很重要,但是必須克服三個關鍵挑戰以便能將兩者在單個核心中結合起來。首先,核心必須提供足夠的性能以滿足DSP任務的即時執行。其次,DSP增強特性必須添加到RISC核心中,而對頻率不會有負面的影響,頻率的影響會對通用處理器和DSP性能帶來影響。第三,被增強的核心在晶片尺寸上的增加必須盡量小。這些挑戰是本文關注的焦點。

RISC處理器具有很多優勢能使它們獲得高性能。例如快取記憶體和轉換後備緩衝器(TLB)可幫助提高軟體性能。RISC指令集和管線通常針對相對較高時脈頻率進行設計。當然,RISC指令集能實現很好的編譯性能。RISC架構中的一個顯著特徵是能執行幾種已經針對這種架構移植的不同作業系統。例如MIPS32 24K核心系列中的MIPS處理器,它們的優勢是可被嵌入式系統常用的幾種作業系統所支援。

DSP通常提供特殊的功能,例如小數演算法、飽和演算以及單指令多數據(SIMD)運算。它們也執行特殊的複雜指令來增強數位處理性能。這些指令不遵從RISC範例,因為它們執行高成本的功能,例如直接在記憶體作業數上作業。其結果是,它們產生了很多關鍵路徑,這些路徑限制了DSP的時脈頻率。

具有DSP增強的RISC核心能繼承所有RISC架構的好處(圖1)。如果它還結合了類RISC模式的DSP支援,將能避免為實現複雜指令而增加時脈週期的問題。這使其獲得更高的時脈頻率和比DSP更好的程式碼編譯性能。

MIPS32 24K核心系列

圖5:DSP增強對時脈頻率和晶片面積影響可以忽略不計。

MIPS32 24K核心系列由一些針對嵌入式市場的高性能32位元可合成核心組成。作為這個系列的基本核心,24Kc核心能在130奈米CMOS製程條件下獲得400MHz到625MHz的性能,能達到576到900Dhrystone MIPS(圖2)。

MIPS32 DSP ASE

MIPS32 DSP ASE主要是由新指令組成,這些新指令在處理器的整數和乘法管線中執行。ASE包括所有的典型DSP功能,例如可以執行加、減、移位或者乘法的基於暫存器的SIMD指令。SIMD指令可以同時對最多4個作業數同時進行處理,並支援8、16和32位元的作業數。ASE還提供具有飽和和循環的小數演算法。還能進行幾種乘法-累加運算,包括點-積-累加(dot-product-accumulate)。精密度擴展和縮減實現了可伸縮運算。絕對值、位元反轉和其它指令使一般的DSP運算能更有效地執行。ASE對這個架構增加了三個新的累加器,使得總累加器達到4個。

除了所有這些常見的運算,ASE還增加了一些先進的特性,因而能在不需要複雜的實現條件下獲得額外的性能。例如,變量位元擷取方法能有效地從一個輸入串流中獲取數據位元。另外一個特性可以高效地處理複雜的數字。ASE還包含一種支援虛擬循環緩衝器的新穎且高效的方法。

為使得實現成本最小化,新狀態單元僅限於DSP控制暫存器和前面提到的三個新累加器。

設計挑戰

很明確,設計目標是在對核心晶片面積和速度不造成大的影響情況下實現DSP增強。

為避免大幅增加週期時間,我們增加了第二個週期來在現有的ALU結果和新的DSP資源中選擇,如圖3所顯示。注意現有的ALU運算並沒有受到影響,它們的結果仍然傳遞到一個相關的指令以執行下一個週期。因此,如果一個緊連的指令序列的第一個指令不是DSP指令,仍然能產生結果傳遞。

如果第一個指令是一個DSP指令,在傳遞結果之前需要一個額外的週期。這種單週期的延遲通常可以因為DSP程式碼的向量化特性而被屏蔽。通常,一個指令,例如數據加載,可以填充這兩個相關的指令之間的這種延遲間隙。

另外一個設計挑戰是在乘法除法單元(MDU)應用中實現點-積-累加指令。對於這個指令,每個源通用暫存器(GPR)的一半包含一個Q15作業數(Q15是一個小數的16位元表示)。

這種指令先執行兩個同步的乘法,即來自兩個源通用暫存器(即GPR)相對應的半個作業數分別相乘。這兩個積再相加來完成點-積運算。然後,將結果加到指定的累加器中。如圖4所示,這個指令執行兩個乘法和兩個加法。

獲得的結果

圖6:24KEc核心DSP函數程式碼的執行速度高達24Kc核心程式碼速度的2倍。

採用台積電130奈米技術的24KEc核心的關鍵特性顯示在圖5中。圖中也包含了24Kc核心的數值以作比較。兩種核心採用高速庫在最壞的情況下工作頻率都可以達到400MHz。24Kc核心能獲得稍高一些的速度,但是我們將合成目標定在400MHz。額外的DSP邏輯大約為核心邏輯的9%。這對應於整個具有32KB快取記憶體的晶片面積僅增加2.7%。因此,DSP邏輯對晶片面積和處理器核心速度的影響可以忽略。

在400MHz下,24KEc核心每秒可以達到8億次乘法-累加運算,或者16位元寬數據下達到每秒MMAC(百萬次乘法累加)。圖6中顯示了很多的DSP性能測試結果。

為說明24KEc核心的增強,圖6顯示了使用新DSP指令和狀態的一系列DSP函數和它們的速度增加情況。這些測量大多數是針對函數的內部循環,因此整體應用速度增加的情況將取決於這些循環佔整個應用的時間百分比。當然,MIPS架構可以在應用其餘部份中以固有的優良性能執行通用程式碼,如圖中所示,速度提升在1.3倍到3倍之間。注意速度提升的數值是對24Kc核心(沒有使用DSP指令)和24KEc核心(使用DSP指令)上手動最佳化的MIPS32匯編程式碼進行比較而得到的。這些實驗執行於24Kc和24KEc核心模擬器上。

本文小結

24KE核心系列以可忽略不計的代價提供加速的DSP性能。模擬結果顯示24KEc核心相對於24Kc核心大幅地提升了DSP性能。24KEc核心顯示了這樣富有意義的DSP增強特性能在RISC處理器上實現,而對時脈速度和晶片面積的影響可以忽略。成功克服實現24KEc核心的設計挑戰進一步證明了將數位訊號處理遷移到主處理器核心上的可行性。

在主處理器上融合數位訊號處理還提供了其它一些好處:這產生了一個更有效率的系統架構,帶來了更小的面積和功耗。通用程式碼和DSP程式碼共用的工具鏈降低了軟體開發成本並縮短了軟體開發時間。所有這些因素使24KE核心系列非常適合用於需要高性能、低成本、可合成微處理器(具有加速的DSP性能)的嵌入式應用。

作者: Chinh Tran

Kevin McDermott

MIPS Technologies公司




投票數:   加入我的最愛
我來評論 - 建構具有DSP增強特性的RISC核心
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首