如何在提高精簡指令集處理器集成度和性能的同時,滿足該類處理器指令盡量少的要求是芯片設計工程師的一個重要挑戰。本文從MIPS處理器的發展過程闡述了采用緩存、64位處理器架構以及超標量技術應對這種挑戰的方法,以及技術發展趨勢。
摩爾定律給IC設計工程師提出了極大的挑戰,而對于精簡指令集(RISC)處理器芯片的設計工程師來說尤其如此。他們在盡量集成更多的晶體管的同時,還必須滿足該類處理器要求指令盡量少的特點。在最初定義MIPS處理器R2000及R3000的下一代產品時,我們力求在集成盡可能多的晶體管的同時,保持RISC的基本原則。以下的一些問題和趨勢為實現這種目標指明了有效的方法,并在R4000處理器的設計中得到有效的應用。
采用緩存器降低CPI
第一個問題是大型緩存對降低每條指令平均執行周期(CPI)很重要,由緩存丟失引起的處理器停滯(stall)嚴重降低了
CPI性能。由于允許的最小緩存為指令和數據各8KB,因此在R2000和R3000處理器中必須采用外部緩存。然而CPI并非唯一決定因素,因為總的計算吞吐量由IPC(1/CPI)和頻率的乘積決定,而在R2000和R3000中,處理器頻率同樣受到外部緩存的存取速度限制。針對內部和外部緩存,描繪出最大頻率和最大緩存尺寸所對應的頻率和IPC的乘積圖,便可以迅速進行處理器性能評估。由于超過約32KB后CPI性能不再提高,而隨著頻率增加性能提升卻幾乎保持線性增長,因此集成緩存十分有利。對于采用1.0微米的R4000處理器而言,我們最高采用了8KB的指令和數據緩存。
在集成緩存條件下,通過對緩存的訪問可以實現流水線操作(pipelining),進一步提高頻率。如果需要,還可以在地址解碼和陣列存取間增加流水線寄存器。對于R4000處理器來說,兩個周期的緩存訪問需要8級流水線,而在R2000和R3000處理器中則為5級流水線的單周期緩存存取。RISC架構開創了一種稱為超流水線操作的精細流水線粒度的技術,這種技術在x86架構中得到最好的利用。增加流水線級數也會使用更多的晶體管,同時流水線長度也呈線性增長。控制邏輯及數據路徑邏輯也遵循這種線性增長原理。
64位尋址浮點運算將成為發展趨勢
由于業界廣泛采用IEEE754浮點運算標準,以及在CAD、打印和影像市場中的大范圍應用,浮點運算的發展獲得更大的推動。一個可以支持除法及平方根運算的完全流水線結構浮點乘法累加器的復雜度近似于整數單元的復雜度,浮點運算單元的主要數據類型是雙精度或64位浮點數,它需要一個64位寬的數據通道進行快速執行。為了滿足64位浮點單元所需的數據要求,數據緩存也必須是64位。因此,必須有一個64位浮點單元和一個64位的數據緩存。
處理器的尋址位數增長很快,業界已使用過4、8和16位尋址,并迅速發展到32位,目前64位的MMU架構和指令集擴展已經應用在R4000處理器上,并將成為以后所有64位MIPS的實現基礎。而采用64位尋址并不意味著要使用64位整數單元。
目前64位尋址越來越普及,近年來英特爾和AMD公司相繼推出 64位處理器便是即是這種趨勢的明證。此外,64位數據操作也對逐漸崛起的高性能網絡市場帶來沖擊。綜合考慮,對64位尋址、滿足64位浮點單元的64位數據緩存、易于擴展成向后兼容的64位架構的32位RISC架構的需要,以及對這種架構會持續數十年的看法正在成為一種大的趨勢。在這種趨勢下,64位R4000處理器推向了市場。
在這種背景下,QED公司開發了采用MIPS架構的處理器--R4600。這種處理器專門面對嵌入式市場,并得到多家網絡設備公司的大量應用。R4600繼承了RISC的傳統,擴展了緩存容量以增強CPI性能,并采用指令集相關性(set associativity)來提高緩存效率。R4600采用了微軟為嵌入式系統應用開發的Windows CE操作系統,可應用于機頂盒等產品中。
繼R4600和R4300處理器后,QED開發出了R5000處理器。R5000處理器在R4600上增加了工作站級浮點運算,并將緩存大小增加到原來的兩倍。無論是網絡或打印市場,這款處理器都是第二代產品的設計基礎。
在處理器電路的設計中,采用先進的工藝可以集成更多的晶體管。正如前面的分析,當緩存增大到一定程度性能便難以明顯提高,顯然停滯時間的長短影響這一臨界點的位置。由于在處理器工作時,停滯時間長短會保持為一個常量,因此,如果DRAM的速度增長能與處理器速度增長保持一致則并不成問題。但是由于各種原因,DRAM的速率與處理器的速率并不一致,僅僅是其位數與處理速度增長保持一致。
由于DRAM的速率不能與處理器速度匹配,工程師采用構建處理器的二級外部緩存來降低處理器與DRAM的速率差異。采用0.25微米工藝,可以經濟地構建一個帶有16KB指令和數據一級緩存以及256KB二級緩存的處理器。這些也是QED的RM7000的規范,RM7000是商用市場首個集成了二級緩存的微處理器。
超級標量技術
除了集成了二級
緩存外,RM7000還采用了超標量(Superscalar)技術,可集成更多的晶體管。在1990-1995年間,超標量技術已經過廣泛測試,其各級并行指令處理的性價比都相當好。對于注重功耗和成本的的應用中,在增加相同的硬件和復雜性的條件下,采用一種簡單的雙向超標量流水線可以獲得25-30%的性能提升。
最新的64位RM9000x2處理器基于MIPS架構,該處理器集成了兩個64位處理器,每個都集成了二級緩存。RM9000x2主要面向網絡基礎設施市場,帶有集成的DDR存儲器控制器以及高速HyperTransport I/O接口。處理器、存儲器及I/O全都通過一個封裝的交叉點陣(crossbar)連接,以實現高性能、與緩存完全一致的硅系統。
除了通過并行處理提供增強的系統性能外,RM9000x2還通過結合超標量及超流水線技術增強了單個處理器的性能。采用超流水線技術和0.13微米工藝,RM9000x2每個內核運行速度可達1GHz。由于過去十年內不斷降低超流水線的電壓,該處理器可以在功率敏感的嵌入式市場中得到應用。CMOS集成電路的功率計算公式為P = kCV2f,其中V是電源電壓,f是工作頻率,因此即使流水線結構提升了頻率,由于電壓降低,功耗仍然可以大大降低。x2型64位處理器內核將被廣泛用于要求高性能處理的解決方案。例如,RM7000系列獨立處理器的擴展系列,以及網絡、打印機及消費類專用標準產品(ASSP)和CSSP