發布日期:2022-07-15 點擊率:32
這個豐富多彩、激動人心的嶄新應用給人們帶來了新的挑戰。尤其是對處理器設計師們而言,他們正面臨著以往從未遇到過的難題。一直以來,處理器的設計者們慣于用“重拳出擊”的辦式來解決所有問題——即設計處理速度越來越快的處理器,各種問題便隨之迎刃而解了。然而對于這個新的應用環境,速度已不再是唯一的因素了,而是需要更高的性能,因為多媒體應用對各方面的性能的要求都將是非常苛刻的。
已有的體系架構和解決方案并不能經濟有效地解決多媒體應用中一些其它的需求。這些需求包括持久的高吞吐率,確定性的處理能力,并發應用管理能力,更高的安全性,最優性價比和實時操作系統。隨著在網絡上應用的這些改變,促生了專門滿足上述媒體播放所引起的挑戰的新一代處理器,這就是眾所周知的通訊和媒體處理器(CMP),這類處理器完全能夠滿足網絡上提供多媒體內容的各種苛刻要求。
基于精簡指令集(RISC)設計的處理器的缺陷
傳統的處理器(基于RISC)體系架構最初是為了滿足標準的網絡應用需求而設計的。在這類應用中,網絡中數據量的增加是突發性的——即只是階段性需要一個高吞吐率,隨即相對平靜。而對于多媒體(如音、視頻流)的應用,需要一個在極低的抖動情況下的穩定高帶寬數據包處理。傳統的基于RISC架構的處理器是采用很繁雜的關聯交換體系,基于中斷的處理方法,然而這個體系架構在面對需要持久的高帶寬,低抖動及具有QoS要求的應用時就顯得束手無策了。傳統的處理器在別的一些方面也存在根深蒂固的缺陷,比如體系架構的低效率,較長的存儲器潛伏時間及使用通用目的的操作系統。
圖1:傳統的處理器具有繁雜的關聯交換中斷驅動進程
體系架構的效率是指完成一個特定任務或者標準任務所需的指令數。對于指令數量相對較少的指令集,在時鐘周期相同的情況下,能很快完成任務。基于RISC設計的處理器具有載入(load)/存儲(store)指令集,因此數據在使用前必須存放在寄存器中,將數據從一個位置移動到另一個位置需要兩條指令:一條載入,一條存儲。對于服務器來說這類處理器是很好的選擇,因為最初就是專門為它們的使用而設計的。但是如果用于通信和多媒體所需的數據處理就不是最佳的選擇了。一個數據包在存儲器中是按一系列的字節存放的。當處理一個數據包時,CPU先對其進行掃描,在做少量的調整后,可能對其復制。對于數據包處理來說,存儲器存儲指令集的體系架構具有最好的效率,但是用傳統的處理器無法實現。
所有管線型CPU都具有管道延遲時間,因為后面指令所要的數據不能從前面一個的指令中得到,當出現這種情況,管道必須等待,從而降低了性能。選用的或者被錯估的分支具有最大的潛伏時間,該潛伏時間也是頻率的函數。高頻所需的深管道會增加該潛伏時間。當使用LOAD指令調用數據時,如果在使用前不能得到,精簡指令集(RISC)的CPU就會發生等待。
存儲器等待時間指的是處理器等待指令或者從片外存儲器獲取數據時每條指令所耗費掉的時間。基于RISC的處理器使用片外存儲器降低了處理能力,不能滿足多媒體應用的苛刻要求。同時也增加了成本和功耗。隨著CPU核的頻率越來越快,訪問DRAM所需時鐘更多了,存儲器損耗也相應增加了。
CMP滿足多媒體應用新挑戰
與基于RISC的處理器相比CMP在體系架構上有很多優勢:包括片內存儲器,多線程和專用操作系統。除了速度上的優勢,這些系統架構上的優勢使CMP還能提供持續的高吞吐率,確定性處理能力,并發應用管理能力,安全加速,最優的性價比和實時操作系統。
圖2:CMP采用存儲器存儲體系架構和多線程來實現高效處理能力
滿足多媒體應用最有效的設計方案是多線程與存儲器存儲架構相結合的體系架構。得益于片內存儲器,數據包可以直接存入片內存儲器中,可以由任何一個獨立的線程來處理完成(每個線程可以作為一個獨立的處理器來運行),然后再發送出去。這種架構與傳統架構相比,能維持持久的高吞吐率,而且抖動減少95%。相反,傳統的處理器通過高速緩存從片外DRAM獲取數據,而等待時間中有30-60%是用于等待高速緩存。
多媒體應用對傳輸中的抖動很敏感。抖動影響系統的響應和用戶的感受。確定性處理能力能以固定的時間處理每個數據包,從而將抖動從毫秒級降低到微秒級。再加上多線程極低的延遲,就可以提供具有最好的QoS和用戶體驗的多媒體應用。
如今數字環境提供的應用琳瑯滿目,這就意味著需要能夠并行處理多種多樣的不同的應用,而且都要求抖動很小。存儲器存儲和多線程處理器的優勢是顯而易見的,因為它能夠獨立處理多個應用,而且抖動很小。
圖3:CMP具有顯著的優勢——其相對性能大約是基于RISC處理器的2倍
一個專用的硬件安全引擎從核心處理器上卸載安全處理功能,增加了安全性和提供最可靠的網絡保護。這個引擎將加密功能和認證改進結合在一起,像一個有國界又像一個無國界的專業級防火墻,防止外部黑客的入侵和偷襲,避免數字財產被非法盜用。
CMP和RISC處理器在每個時鐘峰值執行一條指令,所以通常的理解是它們的行為完全由時鐘周期決定。然而,事實并非如此。正如上面所述,其它的因素諸如:體系架構的效率,潛伏時間,存儲器等待時間和操作系統的類型都直接影響處理器的處理能力。因此對于相同的時鐘頻率,CMP本質上比傳統的處理器更具優勢,也具有更好的性/價比。
一個效率較高的軟件指的是使用較少的指令來完成相同的工作量。很多基于RISC的處理器采用的是像Linux這樣的通用操作系統。因為這些操作系統大多數是為計算方面的應用而設計的,并沒有為了通信和多媒體方面的應用而做相應的優化,所以它們速度慢、效率低、延遲時間較長和抖動較大也就不令人感到驚奇了。另外這些操作系統還缺乏與新出現的多媒體應用的兼容性。相反,CMP采用專用操作系統,所以在降低抖動、實時操作性上具有很多優勢,效率比基于RISC的處理器高3倍。
作者:Ali Simnad
產品部高級經理
Ubicom公司