本帖最后由 嵌入式公社 于 2009-9-24 17:12 編輯 1.引言 說到要求超高性能的前沿應用,就不得不提起ADI公司的SHARC處理器。隨著更高動態范圍、更高性能和更低成本等市場壓力的與日俱增,各種應用對浮點處理器的需求也在不斷增加。本文將介紹第一款SHARC處理器背后的歷史,并討論其架構的創新,這使得這款處理器在18年的數字信號處理歷史中一直處于領先的地位。 2.SHARC處理器的歷史——第一步 “SHARC”是超級哈佛架構(SuperHarvard ARChitecture)的縮寫,是ADI公司為他們的浮點處理器起的名字。SHARC處理器在標準哈佛架構基礎上作了改進,不僅方便了PM(程序存儲器)總線上的數據傳送,并通過增加一個指令緩存優化了基于緊密循環的計算過程的吞吐性能。改進后的架構能夠同時存取數據和系數,并同時從指令緩存執行所選的指令,從而高效地實現了處理器的三總線操作模式。 大家知道,SHARC處理器最早起源于ADSP-21020。這個浮點單指令單數據(SISD)DSP實際上是一個不帶嵌入式存儲器或外設的獨立計算內核。PM和DM(數據存儲器)存儲空間是通過連接到SRAM芯片的外部總線進行訪問的,通過JTAG接口對處理器進行編程和調試。 ADSP-21020可以在33MHz時鐘頻率下工作,執行單周期指令。ADSP-21020可以利用80位累加器完成32位或40位浮點和32位定點運算,是ADI公司在1991年推向市場的突破性產品。這種內核技術是ADI公司對浮點性能和創新做出承諾的起始點。 ADSP-21020架構 ADSP-21020評估系統:注意用于PM和DM空間的外部DIPSRAM組。 集成與創新:SHARC的誕生 第一款真正的SHARC處理器是ADSP-21060。ADI公司在ADSP-21020內核產品的基礎上開發出了一個完全集成的處理器,其中包括了用于控制集成外設的DMA流量的片上SRAM和I/O處理器。 ADSP-21060浮點處理器是1994年進入市場的,當時被認為是DSP性能和創新方面的頂尖水平。 SHARC內核能夠在一個周期內以高達40MHz的速度執行計算,并且增加了I/O處理器,能夠在不增加任何內核開銷的條件下,在外設和雙端口4MbSRAM存儲器之間高速傳輸數據。 為了進一步提高最終用戶的系統性能和可擴展性,ADI設計團隊著手創建允許多處理器系統能共享數據并且開銷很小的機制。在外部端口邏輯中增加了一個簇總線控制器,可以無縫地進行處理器間的并行數據通信,每個簇最多可以有6個處理器。這種突破性技術允許系統架構師以高達240MBps的帶寬從主處理器向指定從處理器的內存直接傳送大量數據,或使用廣播模式向簇中的所有從器件直接發送數據。 使用ADI的鏈路端口專利技術還能實現處理器間的高速通信。每個ADSP-21060集成了6個獨立的鏈路端口用于點到點通信,因此可以實現額外的240MBps的I/O帶寬。 第一代SHARC ADSP-21062評估平臺 由于具有這種真正平衡的架構和擴展功能,SHARC處理器被廣泛用于運算強度大的應用,如醫療成像、軍事雷達和電子游戲機。 也許讓人不敢相信,具有這種功能的處理器在15年前就推向市場了,但讓許多人更加驚奇的是,這種處理器目前還在繼續為用戶所用!這是SHARC架構性能的良好擴展性以及ADI公司對質量和用戶滿意做出承諾的最好證明。 第二代SHARC處理器將處理性能提升到了新的層次,它將內核架構擴展為單指令多數據(SIMD)系統,并將內核時鐘頻率提高到100MHz。ADSP-2116x系列處理器保持了與ADSP-2106x SISD處理器的源代碼的完全兼容性,而且經過少量代碼修改就能讓用戶發揮新增加的并行運算單元(寄存器文件+乘法器+ALU+桶式移位器)的作用,與上一代SHARC相比可以將周期性能指標提高一倍。 為了在不降低周期性能的條件下方便到這個新增加的運算單元的數據傳送,內部的PM和DM數據總線寬度都增加到了64位,同時在ADSP-21161上集成了48位寬100MHz SDRAM控制器來增加I/O數據傳送帶寬,從而能夠實現高達600MBps帶寬的數據傳送能力。 就像上一代SISD SHARC一樣,第二代SHARC保留了支持簇總線系統架構的多處理器無膠合連接,以及通過鏈路端口的點到點連接,使性能升級路線圖更加簡單清晰。 就像上一代SISD SHARC一樣,第二代SHARC系列器件被醫療、工業和軍事應用所廣泛采用,而且由于額外集成了支持時分復用(TDM)和I2S格式的串行端口(SPORT),專業音響和高端消費/汽車音響設備很快地利用到了該處理器的浮點運算提供的大動態范圍優勢。 第三代SHARC處理器開始跳出多處理器應用空間,主動迎接新的挑戰。由于在音頻應用中具有明顯的浮點處理優勢,SHARC技術開發的重點開始轉向以最低系統成本努力增加片上處理功能。 以這個目標開發并推向市場的第一批處理器是ADSP-2126x系列。就像ADSP-2116x一樣,ADSP-2126x采用SIMD架構使運算性能最大化。除了將內核性能翻倍達到200MHz外,ADSP-21266處理器還是SHARC系列中首個內置片上掩膜ROM的產品。集成4MbROM降低了系統復雜性和成本,將曾經給人們留下“高成本”印象的浮點型DSP推向了消費類音頻領域。 為了進一步降低硬件系統設計的復雜性,ADI公司開發出了名為“數字應用接口”(DAI)的創新性外設。與以前的SHARC和同類競爭性產品將引腳功能固定下來不同,DAI允許用戶將任何外設功能分配到他們想要的任意一個外部引腳。對于音頻系統來說,這意味著當系統輸入輸出要求發生改變時,音頻時鐘域可以隨時通過軟件分配到引腳并路由到串行端口。這種靈活性可以顯著減少為了支持特殊系統規范所需的外部引腳數量,有助于硬件設計的簡化,幫助用戶進一步降低成本。 第三代SHARC中引入的DAI能顯著減少引腳數量和降低成本的例子。 ADSP-2136x繼承了ADSP-2126x節省成本的優點,并增加了先進的音頻信號鏈集成方法。內核性能提高了60%以上,達到333MHz,內部SRAM可增加到3Mb。另外還集成了許多針對音頻的外設,如高性能異步采樣率轉換器(ASRC)、SPDIF收發器和DTCP加密引擎,從而進一步優化了可編程性能和音頻系統BOM成本,鞏固了ADI在音頻市場中的領導地位。在這一系列的高性能產品中還集成了工作頻率高達166MHz的32位SDRAM接口,以增加I/O帶寬,同時有利于數據密集應用使用批量生產的存儲器。 基于這種突破性的音頻系統集成和性價比領先優勢,第三代SHARC系列不僅在專業音頻領域,而且在消費音頻應用(如家庭影院系統、AV放大器)中得到了廣泛應用,為新一代高清音頻標準(DTS Master Audio和Dolby Tru-HD)推向市場發揮了重要作用。 基于第三代SHARC ADSP-21369的通用音頻處理器模塊插件 第四代SHARC系列——ADSP-2146x 第四代SHARC:ADSP-2146x架構框圖 第三代SHARC處理器在優化性價比方面取得了成功,推動浮點處理器進入了對成本敏感的消費類應用,而這類應用曾被人們認為是不可能使用昂貴的浮點處理器的。 ADI公司現在面臨著一個有意思的挑戰:如何進一步改進具備優異性價比的浮點處理器? 在定義第四代處理器時,產品開發團隊注重的是核心價值,正是它們使得SHARC一直處于浮點DSP技術的前沿: l 市場領先性能 l 架構平衡 l 性能可擴展性 l 智能集成 下面將詳細介紹上述每個關鍵的方面。 ADSP-2146x性能增強 在ADSP-2136x系列內核改進的基礎上,ADI的SHARC開發團隊制定了更高的性能目標,并采用臺積電(TSMC)的65nm硅工藝繼續優化性能和成本平衡。通過仔細的工程設計和規劃,ADI在2008年11月正式發布了ADSP-2146x系列處理器,其內核性能可達450MHz,與最接近的競爭產品相比幾乎高出30%。然而,ADI設計團隊并不滿足于僅僅增強性能,開始尋求創新的方式來大幅度提高運算性能,同時對功耗和成本的影響降至最小。 許多工程師利用浮點處理器提供的寬動態范圍實現各種算法,如圖案檢測、數據壓縮/解壓縮、加密/解密和自適應濾波。在其中的許多運算密集型算法中,快速傅里葉變換(FFT)、有限沖擊響應(FIR)濾波器和無限沖激響應(IIR)濾波器等一些基本的信號處理單元得到了廣泛使用,并作為大多數數字信號處理應用的基礎。專注于這些內核信號處理構建模塊的ADI公司開始將這些功能集成進2146x DMA架構中,以便進一步增強SHARC內核的450MHz性能。 在簡單的編程模型基礎上,DSP工程師可以將這些“加速器”的每個看作是一個簡單的外設。每個加速器配置有自己的本地存儲器用于數據和系數存儲,從而不會增加內核處理器的開銷。另外,還有一組加速器專用寄存器用于設置加速器,包括主存儲器中的系數起始地址、計數器等信息。當設置完成后,程序就開始按順序運行,用戶只需簡單地等待表示處理結束的中斷。 下圖是其中一種加速器的例子。 ADSP-2146x系列中的有限沖激響應濾波器加速器 FIR加速器包含一個1K字的本地存儲器用于存儲系數,另外1K字的存儲器用于存儲延時線數據。FIR運算單元包括4個并行的MAC(乘法累加)單元,每個單元的工作頻率是內核時鐘頻率的一半。運算單元都能夠利用80位精確累加器執行32位浮點或32位定點處理。理論上,除了內核提供的2.7GFlops性能外,這個引擎還能提供1.8Gflops的處理能力。因此與第三代產品相比,第四代產品大體上將可用浮點性能增加了一倍。 FIR加速器可以用于單次迭代模式,這意味著完整的濾波器實現可以適配進本地存儲器(濾波器長度<=1024),或者也可以設置FIR加速器以支持多次迭代模式。在多次迭代模式,支持的最大FIR濾波器長度是4096個抽頭。為了提高靈活性,用戶可用的窗口尺寸變化范圍可從1到1024個樣本,而針對多速率濾波器(插值/抽取)和多通道濾波器(最多32個信道)的附加模式組成了完整的功能規范。 這種FIR加速器和額外的IIR/FFT加速器為各種信號處理應用提供了創新的低性價比提升方式,再次突出了ADI做出的以最小成本開銷實現領先性能的承諾。 ADSP-2146x架構平衡考慮 由于ADSP-2146x系列處理器可以提供2.7GFlops的內核運算性能,存儲器密集系統的設計師面臨的主要挑戰是管理來去各種存儲器和外設子系統的數據傳送。如果在設計階段沒有考慮這些要求,內核可能由于較慢的大容量存儲器而被迫等待新的數據進行處理,或由于多個系統資源存取相同存儲區域而導致內核死機。為了盡量減小這些潛在的瓶頸,ADSP-2146x系列內置了最多達67個直接存儲器存取(DMA)通道用于外設和內存之間的數據傳送。同時集成了工作頻率達內核時鐘頻率一半的16位DDR2接口,使得用于存儲密集型應用時的性能最大。這種內核與外部存儲器之間的1:1時鐘比例極大地促進了數據的快速傳送,并且開銷很小,還能支持其它功能,比如從外部存儲器中直接執行代碼。 內部SRAM資源增加到了5Mb,這是所有SHARC處理器中最大的存儲器容量。連接內核的帶寬仍是7.2GBps,因此保證了內部運算任務的高速執行。這種存儲器在架構上被劃分為4個不連續模塊(模塊0-模塊3),允許從多個系統資源同時進行零開銷訪問。 為了進一步優化存儲器的使用,ADI開發出了名為VISA(可變指令集架構)的內核增強特性。到第三代處理器為止的所有SHARC用的都是48位的固定指令長度。對于經常使用的指令來說,這會導致非最優的PM代碼存儲器使用。這些指令經過優化,去除了操作碼中的冗余位,產生了新的16位和32位寬指令。程序序列發生器經過更新以識別這些新的優化指令,從而使PM代碼效率提高近20%。為了實現后向兼容,VISA模式是源代碼編譯器的一個選項,這意味著希望保持二進制代碼兼容性的用戶可以繼續使用原來的48位方法學。 所有上述架構增強特性都使系統開發人員能以最佳的、用戶友好的方式充分利用ADSP-2146x的高性能資源。 性能可擴展性 ADSP-2146x系列處理器能為系統開發人員選擇滿足系統成本和性能要求的處理器提供最大的靈活性。這個系列中的所有成員采用相同大小的內部SRAM存儲器,允許開發人員保持單一的軟件架構,但可以通過選擇較少外設或較低性能指標的處理器來優化系統成本。 對于要求的性能超出單個處理器的系統,ADI公司再次引入了鏈路口技術,以支持可擴展的多處理器平臺開發。共有兩個鏈路口可用于處理器間通信,每個端口8位寬,工作頻率可達166MHz。這些雙向端口可以被編程為發送或接收,不需要外部邏輯,還能用作處理器的引導結構。 智能集成 隨著信號處理系統越來越復雜和成本壓力的不斷增加,處理器開發團隊一直在努力利用創新的外設和加速器集成方法提高DSP內核子系統的性能。 如前所述,ADSP-2146x采用領先的創新集成進一步增強了性能,包括FIR/IIR/FFT加速器、高帶寬DDR2接口和鏈路口。 除了已經成為最新SHARC處理器上標準配置的8信道ASRC、SPDIF收發器和串行通信接口(SPORT、UART、SPI、TWI)外,市場關注的一些增強功能也增加進了ADSP-2146x系列產品中。 針對汽車應用,SHARC外設功能組中新增加了媒體局部總線(MLB)接口,以支持汽車下一代的多媒體應用。ADSP-2146x結合了數字傳輸內容保護(DTCP)協議加速器,可以從MOST系統中的MLB總線接收和發送加密的數字多媒體內容。 針對工業應用,第四代SHARC中還增加了16通道的脈寬調制(PWM)輸出。這些PWM模塊被安排為4×4輸出,可以通過在軟件中進行模式編程來支持邊緣和中心對齊的波形,并且完全支持停滯時間控制。 第四代SHARCADSP-2146x評估平臺 對于要求在惡劣環境中工作的系統,ADI公司集成了一個熱敏二極管以幫助系統設計師直接監視SHARC處理器的硅片溫度。通過熱敏二極管與ADSP-2146x的可編程PLL功能的配合使用,系統控制器可以監視處理器的溫度特性,并且根據要求動態控制處理器的內核時鐘頻率,從而保持系統規定的溫度。 未來的SHARC和浮點處理 在性價比上, SHARC處理器在過去的18年中一直是浮點技術的市場領導者,而ADI公司還在繼續投資未來。隨著采納浮點運算的成本門檻的不斷降低,上市時間壓力的不斷增加,浮點的優勢(增大的動態范圍,自動調整)將繼續推動SHARC進軍曾經是定點處理器獨占的應用市場。 這張表突出表明了SHARC系列處理器的性能和集成演變。 第四代SHARC處理器在不斷提升這種成熟架構的性能極限,也充分體現了超級哈佛架構比其它競爭性產品架構更加優越。 作者:PaulWheeler,GP-DSP部日本區域總監。 |