多媒體應用處理器的單晶片系統開發設計趨勢 智慧應用 影音
hotspot
member

多媒體應用處理器的單晶片系統開發設計趨勢

  • DIGITIMES企劃

從SD標準的MPEG1、MPEG2、HD的MPEG4、H.264/AVC邁向開發中的UHD的HEVC,日趨細膩的影像畫質帶來日趨複雜的演算法,系統業者需考量SoC晶片性價比與可撓性,從中選擇一個又快且可長可久的多媒體應用架構…

國立成功大學多媒體單晶片系統實驗室教授李國君,9年前回台灣於成功大學任教之前,曾任職於飛利浦數位電視開發小組,他體察當前多媒體應用主要在Video的情況下,台灣業界在硬體設計製造的功力較強,在軟體工程如演算法方面則偏弱,這對於開發具可撓性多媒體應用SoC晶片的工作來說是處於較不利的地位。他指出,當初提出計算機架構的凡紐曼(Von Neumann),曾在1975提出程式設計就是演算法(Algorithm)加上資料結構(Data Structure)的說法,李教授認為設計就是找出適當演算法加上選擇架構(Architecture),要檢視一個系統,你不僅要看其演算法,也要看它的架構,也因此演算法╱架構共構設計(Algorithm/Architecture Co-exploration;AAC)成為未來系統開發業者設計時不可避免的研發新趨勢。

成功大學多媒體單晶片系統實驗室教授 李國君

成功大學多媒體單晶片系統實驗室教授 李國君

多年來身為Motion Picture規格的台灣ISO代表,李國君一路看到在視訊編碼標準的不斷提升下,相關的演算法日趨複雜:從SD標準解析度的MPEG1(CIF)、MPEG2(MP@ML)的Motion Adaptive Format Converter演算法;到進入HD時代的MPEG-4 (SP@L1),及採Motion Compensated /content Adaptive Format Converter演算法的H.264/AVC HP@L4.0、結合ISO/IEC MPEG與ITU VCEG所誕生的JCT的High Efficiency Video Coding (HEVC,Ultra HD標準)、Video segmentation (HD)以及Free viewpoint TV(HD)等;顏色位元數從以往原色色階8bit到超越人眼能分辨的10bit;另外在電腦圖形部分像是構圖、動畫與著色等演算法,這牽扯到GPU技術。目前台灣仍持續開發GPU的IC廠家僅剩下威盛,而10年前的泰鼎(Trident)已先後被台灣矽統以及ATI所購併,而ATI又被超微(AMD)所購併。

從 ASIC、FPGA、ASIP、DSP、CPU到可重組態化架構的演進

當日本NHK與其他家電業者已著手進行4Kx2K甚至8Kx4K的顯示螢幕時,勢必還會有劇烈的顯示規格變動,以及伴隨更多更複雜的演算法。因此系統業者必須選擇一個可因應未來各種不同視訊演算法,可長可久的可撓式架構。他指出,整個業界設計架構光譜,若以可撓性為Y軸,功耗為X軸,效能價格比為Z軸將所有可移植的架構一路攤開,就是ASIC、FPGA、ASIP、DSP、CPU到可重組態化架構。

過去業界最喜歡使用最具效能價格比的ASIC,效能可以push到極端但其可撓度最差,演算法一旦改變就無法修改使用,其次像Embedded Reconfigurable Logic /FPGA(內嵌可重組態╱可程式化邏輯閘)、Reconfigurable Processor/FPGA (可重組態處理器╱可程式化邏輯閘)的可撓性程度稍高。目前業者大多使用介於半軟半硬架構的Application Specific Instruction Set Processor(ASIP,特定應用指令集處理器)、以及早期較常見的Instruction Set DSP(指令集化DSP ),當然也有業者選擇成本較高的Embedded multicore processor(內嵌式多核心處理器)與Embedded general purpose instruction set processor(內嵌式通用指令集處理器),以純軟體的方式實作演算法,並以多核心架構來達成效能加速的需求。

另外像是可重組態運算架構(Reconfigurable Computing),這類處理器架構可撓性程度相當大,可以因應演算法做彈性化改變,同時能兼顧效能與低功耗的需求。而海外學術機構甚至開發出可針對多種處理器做跨平台編譯的可重設目標編譯器技術(Retargetable Compiler),甚至是可重組態的微碼(Reconfigurable microcode)的處理器架構也正在開發中。

李國君也提出一套Algorithm/Architecture Co-exploration(AAC)在資料流程與演算法的分析模式。先從視覺運算的應用端,如手機、平板、筆電等行動裝置,個人電腦或消費性電子,然後往下選擇所需實作的演算法,接下來定義出從規格、演算法、架構、操作時脈模型、淨合成線路列表與實體電路設計等各抽離層的資料流量模型,並同時考量各種演算法的特性與複雜度,再往下去做演算法的實體對映、移植與執行;而架構延展性部分就看當初是否選擇具備可重組態的處理器,能夠因應演算法改變後再重新修改組態,模擬執行後反推回來,視其是否有效能上再調升的空間。

當前業界的處理器架構與應用設計類型

李國君列舉當前產業界的處理器架構。首先在目前當紅的多核心處理器部分,有下列4種類型:

1.同質通用多核心處理器。為一般筆記型電腦、桌上型電腦、工作站所使用,它的特性是配置合宜的Cache與記憶體分享架構,讓核心可以相互溝通。像Intel 80核心的Tera-scale處理器,可以做高達1 Teraflops浮點操作。另外像AMD代號Interlagos伺服器處理器,目前已經做到12核心,2011年8月將推出16核心的Interlagos處理器。另外已購併昇陽(SPARC)的甲骨文(Oracle) SPARC處理器,時脈達1.65GHz,內建16核心,以6MB共享L2快取記憶體存取,每個核心可以執行8個線緒(8 Threads),因此可同時執行最多128個執行緒。還有德儀TMS32C6678的8核心處理器,每個核心內建64KB L1快取與512KB L2快取,可作160GFLOPS運算。

2.同質特定用途/可程式化多核心處理器:有限的Cache,但有非常大的記憶體頻寬支援重量的串流資料負載。像是眾所皆知的GPU,如NVIDIA的GeForce GTX590 GPU,具備1,024個CUDA核心,記憶體頻寬327.7GB/s,可做2.4883 TeraFlops;AMD的ATI Radeon HD6990 GPU,具備3,072個串流處理器核心,記憶體頻寬320GB/s,運算效能達5.1TeraFlops。而安謀ARM Cortex-A15 MPcore處理器也是屬於這一類。採ARM v7指令集架構,採4核心設計,每個核心為64KB L1快取,以及外接共享的4MB L2快取。

3.異質通用多核心處理器:像Sony PSP3遊戲機內所使用的CELL處理器,由Sony、Toshiba、IBM聯合開發。CELL具備1個Power Processor Element(PPE)核心加上8個Synergistic Processing Element(SPE)核心。工研院也有開發中的平行化架構(parallel architecture core;PAC)計畫。還有由瑞薩、日立、早稻田大學與東京工業大學合作的處理器架構,內建2組8核心SH-4A SuperH處理器、4個Flexibe Engine可撓處理引擎與2個MX-2處理器的異質核心設計,運算效能為37.3GOPS/W。

4.異質特定用途多核心處理器:如Toshiba的SpursEngine。

在特定應用指令處理器(ASIP)部分,像Target這家公司所開發的Target Compiler技術,藉由可重設目標的設計套件IP Designer,用戶可以輸入各種演算法的程式碼以及架構參數,經過Target Compiler編譯出對照的ASM Code組合語言碼,然後再由相關的電路設計工具規劃出最適合的架構與其核心的機器碼,再進一步產生所需要的實體電路IP,造出針對該演算法與特定用途的最適用處理器。目前已有運用Target Compiler技術開發、設計專門走西洋棋對奕系統的ASIP特定應用指令處理器。

另外像tensilica的Xtensa LX4處理器,可以做16/24位元的ISA或32/64/128位元FLIX指令集架構的重新組態。以及Xilinx的MicroBlaze處理器、Synopsys的DesignWare ARC 601可組態處理器核心,與瑞薩(Renesas) SuperH RISC處理器等。

李國君針對多媒體應用處理器的設計趨勢做總結,能領先業界的設計範例、設計空間、方法取決於是否能在早期演算法與架構上的最佳化搭配,這將成為多媒體系統設計的主流趨勢。新的趨勢將朝向著重在硬體與軟體方面的平衡,強調可撓性、效能與低功耗,依照特定應用的需求,選擇最適切的架構來對映演算法到系統平台上。