善用現有關於各種數位訊號處理器(DSP)應用的軟體,以將產品更快上市變得越來越重要。不論您的設計是應用在成本敏感度高的消費性產品,或是講究成效、多管道的基礎建置(infrastructure)產品,若能將低等級的應用軟體再次運用到高等級,便可節省原來設備製造商(OEM)開發者的時間和金錢。為了達到這一點,DSP結構必須被定義在功能、電力消耗和反應成本的需求,均為可擴充式(Scalable)的前提之下。
可擴充性觀點
在本文中,可擴充性將由兩個觀點探討。首先,我們將討論一個單一核心之所以能達到可擴充的條件,並且能因應多重應用物件的DSP結構學的主要特質;這將包括探討數位訊號處理器核心本身,以及它無須犧牲電力消耗及成本(程式編碼密集度)即能達到高成效的能力。
除此之外,還有其他考量,像是支援協同處理器、加速裝置或可延伸的指令,都可以達到可擴充性。再者,我們將從促進核心相容群組的觀點來觀察結構學以達到不同的成效、電力,和成本需求。這部份的討論將集中在發展數位訊號處理器結構學,以迅速而有效率地增加或減少媒體存取控制(MACs)/算數邏輯單元(ALUs),以在維持相容性的同時產生新核心。
DSP技術趨勢
開發使用數位訊號產品的問題之一,就是要選擇適當的DSP。第三代行動電話(3G)無線標準、完成更高級無線資料速率的能力,以及它在無線聽筒上的效果即是這項挑戰最好的證明。
3G推動
在某些方面,這些電話的最終功能將仍然是語音專用,優先考慮低電力與低成本DSP能力,以分別延長電池壽命和消費者購買力。但是,第三代行動電話標準所提供的較高速率,將使電話適合數據專用,以便簡單的文字瀏覽;或媒體專用,以使靜止畫面或電視影像成為可能。
由於這些功能傾向於更複雜的應用,施加於DSP核心上的必要條件變得更多。而且這些額外的成效,必須以極低的電力消耗來達成,降低其對電話電池壽命的影響。對這項挑戰而言,最符合成本效益的解答,是推出一個單一數位訊號處理器結構能因應各種不同成效、電力消耗,以及成本需求而擴充。其功能可滿足全範圍之成效、電力消耗和成本需求即為本文中的定義,就可以說是「可擴充式結構」,此功能仰賴其是能否於多方展現靈活性。
DSP效率分析
對提供可擴充性而言,數位訊號處理器的核心有關處理低成本、低電力與高成效應用的能力,是十分重要的問題。為了達到這項目的,必須開發一個數位訊號處理器核心,以達到下列四個重要特質。
- 1.高效率轉化程式語言的能力:以"C"語言編寫所有產品的能力,縮短推出市場的時間。
- 2.成效:高水準的平行處理(parallelism)和時脈率(clock rates)以滿足密集試算應用。
- 3.低電力:使用於電池操作設備時,設計符合成效需求,而耗電率低。
- 4.緊密的程式編碼密集度:傳送少量的編碼印跡(small code footprint),特別是對控制碼(control code),以減少所需記憶體量,進而減少整體系統成本。
矩形結構應用
過去DSP在設計時,並不能完全顧及上述四項考量,工程師因此必須做出策略性的犧牲。舉例而言,試圖達到高成效而不考慮電力消耗和編碼密集度(成本),反之亦然。
業界目前正為了周延這些需求而努力,StarCore SC100機種正是為滿足全部四項特質而開發(圖一)。為達到這點,SC100結構是根據16位元指令設定,以期望能用最低的耗電和系統成本來維持最高的成效。矩形結構之應用,以及有效的五段式傳輸(five-stage pipeline)使SC100為最好的轉化目標。
《圖一 SC140能因應顧客和基礎架構的應用物件〈資料來源:Source:摩托羅拉〉》 |
|
SC100之成效是由可變長度執行設定(VLES)結構來達成。執行設定能視核心來源和進行編碼時的平行處理來編組分類多重指令語言。舉例而言,SC140的執行單元(SC100最早衍生結構,有四個資料算數邏輯單元(DALU)和兩個位址計算單元 (AAU)等),可編組分類有最多六個執行指令,以滿足所有的功能單元。
字首指令譯碼
第二個衍生的核心SC110,也是一個資料算數邏輯單元版本,能平行地執行多達三個指令。執行設定也能選擇性地包含不可執行的指令;此類指令稱做字首。字首提供了一個額外的譯碼的方式,超出基本的16位元指令,以容許出入高階資料和位址登錄庫,控制有條件的執行和硬體迴路的操作。
這個方法讓SC100結構學能利用DSP發揮平行處理的最大成效,同時藉由使用16位元指令,來維持緊密的編碼密集度。在需要用字首來增加譯碼時,它會被分攤在執行設定內的多重指令上,因而能產生功效,而且規避32位元指令的缺點。
低耗電策略
低耗電率亦是可擴充式結構工程團隊,針對手持無線器材市場的嚴格要求所做的因應。SC140 在0.9伏特每百萬媒體存取控制(MMAC)下耗電0.06毫瓦,SC110在0.9伏特每百萬媒體存取控制下耗電0.14毫瓦即是此效能之明證。
運用分配結構
除了可暫時中止計時活動之傳統調節計時迴路(gated clock circuitry)和省電休眠狀態(暫緩及停止指令),SC100傳輸和分配結構以達到低耗能指令解碼和執行,關鍵就是將指令解碼延遲至最久。只有執行單元在需特定指令時,方才稍後以執行單元在導管(pipeline)內分配編碼器,並記錄特定編碼器的時間。
對於具有電力效益的十六位元指令可能被擴充(譯碼)到超過一百個內部「控制線」而言,我們可以立刻看到電力的有利條件。導管的迅速處理階段必須預先譯碼幾個16位元的指令,以決定路線程序以及記錄哪個譯碼器的時間。與全程控制線路譯碼相較,這本來就是低電力。最小化並暫緩控制資訊的擴張有助SC100結構達到低電力消耗。(圖二)
《圖二 SC100結構被設計為易於增減執行單元數量》 |
|
結構之可擴充性
處理此四個數位訊號處理器核心的特質即可使單一特質夠靈活地符合多方面的應用成效,特別是電力消耗和成本需要。然而,新的結構仍有機會致使一整個群組的執行解決方案配合總體應用空間的需要。此結構當發展為允許相容性世代核心,視其特定應用空間所需之平行處理(效果)或增或減功能性單元。
以StarCore SC100世代核心的第一個完成品SC140為例,擁有四個資料算數邏輯單元來利用數位訊號處理器的平行處理以提供最大效能。於300兆赫的頻寬下,SC140提供如多頻道基礎架構設備所需的DSP功能,每秒12億(1.2 billion)媒體存取控制。有些客戶端(client)的應用物件也是如此。例如,在3G無線手持終端上,數位訊號處理器需處理新功能,如MPEG4影像、MP3音訊、網路電話(VoIP),和JPEG2000靜態畫面。
可擴充性建構考量
然而,不是每一個等級的應用物件並都要求擁有四個資料算數邏輯單元機械的平行功能,此類物件通常是因應功能性低於高檔產品的低成本市場。這相對地代表晶片系統(System-on-Chip, SoC)需要較少的程式總和,自然地,較少的記憶體,致使數位訊號處理器核心成為晶片系統矽質面積的絕大部份。正因如此,縮減執行單元的數量(意即資料算數邏輯單元)有利於縮小核心大小及符合低成本物件之需求。在SC100世代中,SC110,單一資料算數邏輯單元衍生,做到了上述要求。SC110是SC140指令群組的獨有附屬群組,並使用同樣的程式模型以確保百分之百二進位相容性升級至C140。SC110和SC140的組合是一個藉由多重核心,不同層次之平行處理的結構以滿足整個數位訊號處理器市場之多樣需求的一個例證。
執行期微調策略
在DSP核心中間另外一個提供擴充性的機會,是在同樣的處理技術範圍內,使不同的目標(兆赫、電力消耗,以及/或核心矽範圍)達到最佳化,以使核心最適合於末端應用程式。舉例而言,對中等的第三代行動電話聽筒而言,成效的要求可能落在SC110所提供的300M媒體存取控制以及SC140所提供的1200M媒體存取控制之間。
在這個情形下,於設計合成期間,為使電晶體達到最佳化、電力消耗達到最小和核心的範圍變得緊密,而犧牲核心最大兆赫數是有利的,這仍會提供該應用程序所需的成效,但有助於使成本達到最小化,並延長電話電池的使用壽命。以ASIC提供如訂製般最佳化的效果,像是推出市場的時間,能細微調整DSP核心以達到特定的成效,電力消耗或成本需求。
這項功能已長期存在於特製設計流程,藉以使DSP核心達到最佳化。問題是在使用處理最佳化以擴充數位訊號處理器核心時,推到市場上的時間。典型的設計小組,將一個特製的核心再次最佳化以重新定位,可能需要三到四個月,包括選擇新的細胞格以及手工使其達到最佳化。重新定位一個核心的時間,在目前短暫的產品市場生命周期(product market window)內是不被接受的。
定義設計流程
滿足這個可擴充性觀點的一個方式,是定義一個新設計的方法來「自動化」特製設計流程。StarCore設計系統(SCDS)即可達到這一點。SCDS的關鍵是簡化細胞資料庫。藉由依強度順序使用可調整的參數資料庫,SCDS減少了特製流程中(原本數以千計的)細胞數量。
這個參數資料庫是用自動調節來訂做電晶體大小。貫穿整個流程的不同階段,資料庫呈現三種形式。
初期階段原本很小,即細胞少於一百個,而且沒有兩個細胞具有相同的功能。
在下一個階段,參數資料庫看起來更像典型標準的細胞資料庫。它有數以百計不連接的細胞,因為電晶體指狀物(fingers)數量的增減以達到多樣化的長度裝置,始致驅動強度有所不同。對任何設計或塊狀(block)而言,前兩種形式並不明確,但通常是由製造過程驅動。
在最後階段中,會在核心依特定例證特製每個細胞,結果是核心中數以千計個細胞。使用 SCDS,設計人員可用兩到四個星期的開發週期以重新定位一個核心,視其過程最佳化的時間長短而定。
結語
可擴充式數位訊號處理器核心可藉由編碼再利用,符合電力消耗以及成本要求能有助於縮短軟體的開發時間和成本。它也有助於原來設備製造商將它們的開發集中在數位訊號處理器結構上,而且有一組工具能支援整個核心群組增加整體的結構相似度。
要讓一組工具的投資達到最大化,對所有的應用開發成果提供同樣的外觀和感覺,以確保最大的使用者利益。這在新興範圍內,像第三代無線行動電話,是特別顯而易見的,我們會看到語音專用,數據專用與媒體專用電話,以及高密集度的基地臺。
開發一個數位訊號處理器核心結構以符合各階層的不同需要(從用戶/顧客到基礎架構/伺服器)是可能的。
擅長於主要核心量化分析、提高應用程式成效、低電力消耗以及緊密的編碼密集度是必須彈性提供的訴求。提供減少或增加實用單元的能力,可符合不同的平行處理(成效)需求。在進行特定過程技術期間,能迅速細微調整核心以達到特定應用需求的能力。(作者任職於Motorola半導體事業部Atlanta Office)