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