隨著人們對(duì)現(xiàn)代通信系統(tǒng)要求的不斷提高,對(duì)處理器的性能要求也在不斷增加。以往滿足不斷增長(zhǎng)的系統(tǒng)性能要求的方法是提高時(shí)鐘速度。然而,高速設(shè)計(jì)的壓力和熱問(wèn)題復(fù)雜性的增加意味著這種方法已經(jīng)接近微處理供應(yīng)商的能力極限。即使近年來(lái)工藝技術(shù)有了大幅提高,硅片面積因此也有了顯著縮小,運(yùn)行速度明顯加快,但也無(wú)法跟上性能要求提高的步伐。
一種趨勢(shì)是增加額外的處理器。然而,使用額外的處理器會(huì)造成架構(gòu)復(fù)雜性增加、系統(tǒng)功耗上升,更不用說(shuō)價(jià)格更高的PCB。越來(lái)越多的芯片供應(yīng)商開(kāi)始采用在單塊硅片上集成多個(gè)處理內(nèi)核的設(shè)計(jì)方法。
發(fā)展趨勢(shì)
向高級(jí)電信計(jì)算架構(gòu)(ATCA)和微電信計(jì)算架構(gòu)(uTCA)等業(yè)界標(biāo)準(zhǔn)發(fā)展的趨勢(shì)允許復(fù)用機(jī)箱、機(jī)架和風(fēng)扇組件,從而不僅可以降低總的系統(tǒng)成本(因?yàn)樵试S使用常用組件),而且能夠通過(guò)減輕設(shè)計(jì)師的設(shè)計(jì)負(fù)擔(dān)來(lái)縮短產(chǎn)品的上市時(shí)間,設(shè)計(jì)公司也因而能集中精力于更高層的任務(wù),例如系統(tǒng)架構(gòu)的開(kāi)發(fā)。
這一趨勢(shì)的形成原因部分是由于串行/解串器(SERDES)技術(shù)即高速串行接口的出現(xiàn)。SERDES不僅極大地提高了承載卡和背板的數(shù)據(jù)傳輸速度,而且通過(guò)取代并行總線架構(gòu)而簡(jiǎn)化了設(shè)計(jì)工作,避免了并行總線布線、數(shù)據(jù)扭曲(data skew)、時(shí)鐘負(fù)載等問(wèn)題。
工業(yè)標(biāo)準(zhǔn)架構(gòu)允許原始設(shè)備制造商(OEM)快速轉(zhuǎn)向更加模塊化的設(shè)計(jì)。AdvancedMC(AMC)的“即插即用”特性能讓處理單元迅速得到替換和/或升級(jí)(至少就硬件來(lái)看是這樣)。
當(dāng)然,AMC規(guī)范的這種模塊化特性也是有代價(jià)的,AMC規(guī)范在電路板面積、元件高度和模塊電源方面作的限制給電路板設(shè)計(jì)師提出了新的挑戰(zhàn)。硅片制造商通過(guò)努力使這些硅片是AMC“友好的”來(lái)應(yīng)對(duì)這些挑戰(zhàn),如使處理器的功耗更低、封裝體積更小,并集成進(jìn)更多的功能,不再需要外圍橋接芯片。
存儲(chǔ)器交錯(cuò)處理技術(shù)
對(duì)于大多數(shù)高性能系統(tǒng)來(lái)說(shuō),高性能存儲(chǔ)器接口對(duì)保證高吞吐量甚為關(guān)鍵。通常,在較差的系統(tǒng)設(shè)計(jì)中,具有極高性能的處理器常常處于一種無(wú)數(shù)據(jù)處理的“饑餓”狀態(tài)。
提高總吞吐量的一種方法是采用存儲(chǔ)器交錯(cuò)處理(memory interleaving)。存儲(chǔ)器交錯(cuò)處理能使處理器在指定時(shí)間內(nèi)讀寫更多的信息,從而有助于減少潛在的瓶頸問(wèn)題。
交錯(cuò)處理的原理是將系統(tǒng)存儲(chǔ)器劃分成多個(gè)塊。通常存儲(chǔ)器被劃分成2個(gè)或4個(gè)塊。這些系統(tǒng)也被稱為雙路或四路交錯(cuò)系統(tǒng)。即使有兩個(gè)物理上獨(dú)立的存儲(chǔ)器庫(kù),軟件也視之為一個(gè)存儲(chǔ)器塊。
為了實(shí)現(xiàn)存儲(chǔ)器交錯(cuò)處理,必須能夠使用一組單獨(dú)的控制線訪問(wèn)每個(gè)存儲(chǔ)器塊。一旦開(kāi)始對(duì)第一個(gè)存儲(chǔ)器塊的訪問(wèn),對(duì)第二個(gè)塊的訪問(wèn)也能同時(shí)進(jìn)行。
在交錯(cuò)處理的存儲(chǔ)器系統(tǒng)中,仍有兩個(gè)DRAM物理庫(kù)。然而,處理器在邏輯上只看到一個(gè)存儲(chǔ)器庫(kù)。對(duì)存儲(chǔ)器的訪問(wèn)是輪流進(jìn)行的,先是庫(kù)1的數(shù)據(jù),然后是庫(kù)2的數(shù)據(jù),然后又再是庫(kù)1的數(shù)據(jù)。邏輯庫(kù)的所有偶數(shù)長(zhǎng)字存放在物理庫(kù)1中,所有奇數(shù)長(zhǎng)字存放在物理庫(kù)2中(見(jiàn)圖1)。這樣做具有明顯的速度優(yōu)勢(shì),因?yàn)閷?duì)這些存儲(chǔ)器的存取采用的是獨(dú)立的總線,時(shí)間上可以同時(shí)進(jìn)行。
圖1:存儲(chǔ)器交錯(cuò)處理時(shí)序
千萬(wàn)不要把存儲(chǔ)器交錯(cuò)與傳統(tǒng)系統(tǒng)中使用多個(gè)存儲(chǔ)器庫(kù)相混淆。這些“傳統(tǒng)”系統(tǒng)只是簡(jiǎn)單地通過(guò)增加存儲(chǔ)器庫(kù)來(lái)提高存儲(chǔ)器容量,通常插入雙列直插存儲(chǔ)器模塊(DIMM)。雖然新增的庫(kù)可能被賦予獨(dú)立的片選線,但它們一般都共享控制線,比如行地址選通(RAS)和列地址選通(CAS),因此不允許同時(shí)訪問(wèn)。兩個(gè)存儲(chǔ)器控制器之間的交錯(cuò)能力可以為系統(tǒng)設(shè)計(jì)師提供兩大好處:首先,它不需要處理器利用軟件去平衡對(duì)兩個(gè)存儲(chǔ)庫(kù)的訪問(wèn),而是可以自動(dòng)平衡,因此能讓處理器充分發(fā)揮存儲(chǔ)器控制器的帶寬優(yōu)勢(shì);其次,它允許一次打開(kāi)兩倍具有空間方位性的DRAM頁(yè),這樣可以顯著提高打開(kāi)頁(yè)被訪問(wèn)到的概率,從而減小延遲。
存儲(chǔ)器交錯(cuò)處理過(guò)去一直沒(méi)有用于嵌入式系統(tǒng),因?yàn)樾略龃鎯?chǔ)器和支持這種架構(gòu)所需的復(fù)雜芯片組成本都非常高。然而,隨著存儲(chǔ)器成本的不斷下降,PC機(jī)市場(chǎng)的大力推動(dòng)以及大量處理器中集成具有交錯(cuò)處理能力的存儲(chǔ)器控制器,這種技術(shù)現(xiàn)在已經(jīng)走向應(yīng)用。
例如,MPC8641D Power處理器能通過(guò)存儲(chǔ)交錯(cuò)技術(shù)訪問(wèn)集成在內(nèi)部的DDRII DRAM控制器。該處理器支持兩個(gè)DDRII存儲(chǔ)器控制器,存儲(chǔ)器事務(wù)可以根據(jù)地址分派給DDRII控制器1或DDRII控制器2。另外,控制器也可以經(jīng)過(guò)配置支持兩個(gè)存儲(chǔ)器控制器之間的交錯(cuò)事務(wù)。兩個(gè)存儲(chǔ)器控制器之間的交錯(cuò)處理可以以緩存線(cache line)或頁(yè)為基礎(chǔ)進(jìn)行。
AMC參考平臺(tái)
在仔細(xì)考慮了對(duì)多內(nèi)核AMC卡的要求后,我們會(huì)發(fā)現(xiàn)各種要求之間似乎有矛盾或不一致的地方。初看起來(lái)確實(shí)是這樣,例如:高處理器性能但要最小化功耗;雙存儲(chǔ)器庫(kù),要支持交錯(cuò),但只有有限的電路板面積;不存在系統(tǒng)瓶頸的高速SERDES接口;除了“寬管(Fat Pipe)”外,還要支持“普通選項(xiàng)(common option)”接口。
下面讓以飛思卡爾半導(dǎo)體公司推出的MPC8641D AMC參考平臺(tái)為例(見(jiàn)圖2),揭示此類架構(gòu)如何克服上述“問(wèn)題”的。
圖2:MPC8641D AMC卡功能結(jié)構(gòu)框圖
MPC8641D的兩個(gè)內(nèi)核都以1,500MHz速率運(yùn)行時(shí)的處理器典型功耗為32W,也即這款處理器僅需32W功耗就能提供3GHz的Power處理能力。因此給整體設(shè)計(jì)帶來(lái)了很大的好處:
1. 功耗的減少可以簡(jiǎn)化電源設(shè)計(jì);
2. 由于需要散發(fā)的熱量少,所以可以用較小的散熱器,同時(shí)由于減少了對(duì)昂貴的專用工具解決方案的需求,設(shè)計(jì)將更簡(jiǎn)單、成本也更低;
3. 較小的散熱器能使電路板輕易滿足對(duì)AMC卡的機(jī)械要求;
4. 由于是“較冷”的解決方案,整體可靠性提高了。
MPC8641D支持兩個(gè)獨(dú)立的64位DDRII控制器。這些存儲(chǔ)器控制器是集成在內(nèi)部的,因此不僅簡(jiǎn)化了設(shè)計(jì),而且不再需要使用外部的橋接芯片,從而節(jié)省了寶貴的電路板面積??ㄉ系腄DRII庫(kù)在物理上是用分立器件實(shí)現(xiàn)的。這種實(shí)現(xiàn)方法有兩大優(yōu)點(diǎn):首先,整體解決方案在體積上要小于用DIMM實(shí)現(xiàn)的解決方案;其次,由于分立器件不高,因此可以把這些器件放在AMC卡的反面,并保持在高度范圍之內(nèi)。在MPC8641D AMC卡上,兩個(gè)庫(kù)都放在正面,并與處理器相鄰(如圖3所示)。
圖3:MPC8641D AMC卡
由于分立DDRII實(shí)現(xiàn)的高度低,因此需要時(shí)可以安裝較大的散熱器。例如,當(dāng)卡需要在較高溫度或空氣流動(dòng)不暢的環(huán)境下工作時(shí)就需要用較大的散熱器。因此,這種實(shí)現(xiàn)方法具有很大的靈活性。
AMC規(guī)范開(kāi)發(fā)背后的源動(dòng)力是背板通過(guò)SERDES接口可以獲得較高的數(shù)據(jù)速率。像串行RapidIO或PCI Express等高速互連總線就是這樣的接口。通常這些接口需要用專門的橋接芯片或FPGA實(shí)現(xiàn)。這些額外接口芯片可能導(dǎo)致系統(tǒng)中的瓶頸、額外的成本和更大電路板面積等問(wèn)題。
MPC8641D集成了支持串行RapidIO和PCI Express的兩個(gè)SERDES接口。這種集成式模塊不僅取消了外部芯片,而且避免了潛在的瓶頸問(wèn)題。由于內(nèi)部集成了這些接口,可以用內(nèi)部DMA引擎直接將數(shù)據(jù)從I/O移動(dòng)到系統(tǒng)內(nèi)存。因此不僅去除了瓶頸,而且無(wú)需處理器介入就能實(shí)現(xiàn)數(shù)據(jù)傳送。
除了“寬管”外,AMC規(guī)范要求在邊沿連接器上提供“普通選項(xiàng)”區(qū)域。該區(qū)域一般用作兩個(gè)千兆位以太網(wǎng)、SERDES接口。就像"寬管"接口一樣,處理器芯片中也集成了千兆位以太網(wǎng)接口。同樣,這樣做能帶來(lái)更小電路板面積、更簡(jiǎn)單的設(shè)計(jì)和消除潛在瓶頸等好處。事實(shí)上,MPC8641D支持4個(gè)千兆位以太網(wǎng)端口。在AMC卡上,兩個(gè)千兆位以太網(wǎng)在通用功能區(qū)使用,另外兩個(gè)通過(guò)前面板上的RJ45連接器接出來(lái)。
當(dāng)然,硬件只是整個(gè)解決方案的一部分。毫無(wú)疑問(wèn),設(shè)計(jì)最復(fù)雜的部分,事實(shí)上也是最難的架構(gòu)決策需要根據(jù)軟件結(jié)構(gòu)實(shí)現(xiàn)。
在多重處理系統(tǒng)中,軟件可歸結(jié)為兩種基本選擇,即對(duì)稱多重處理或非對(duì)稱多重處理。采用哪種系統(tǒng)很大程度上取決于總體系統(tǒng)要求,基本上是系統(tǒng)想在輸入/輸出、任務(wù)處理、系統(tǒng)延時(shí)等方面達(dá)到的要求。每種方法都有自己獨(dú)特的優(yōu)勢(shì)。
對(duì)稱多重處理方法認(rèn)為只有一個(gè)操作系統(tǒng)高效地?fù)碛邢到y(tǒng)中的所有資源。例如在MPC8641D雙核處理器上,操作系統(tǒng)將每個(gè)內(nèi)核看作一個(gè)資源。對(duì)于非對(duì)稱多重處理,每個(gè)內(nèi)核運(yùn)行一個(gè)獨(dú)立的操作系統(tǒng)。資源一般在各個(gè)處理單元之間分配。
每種方法都允許用戶充分利用設(shè)計(jì)的雙核特性以最大化性能。例如,一個(gè)內(nèi)核處理數(shù)據(jù)任務(wù),而另外一個(gè)內(nèi)核處理控制任務(wù)?;蛘撸谝粋€(gè)內(nèi)核將各種任務(wù)卸載給第二個(gè)內(nèi)核。
MPC8641D內(nèi)部支持這些架構(gòu)。例如,針對(duì)數(shù)據(jù)緩存的硬件增強(qiáng)型的、改進(jìn)的/排它/共享/無(wú)效(MESI)的緩存協(xié)議可確保緩存一致性。
本文小結(jié)
電信產(chǎn)業(yè)的發(fā)展趨勢(shì)是采用能夠最大化電路板面積和功耗等方面的投資回報(bào)的解決方案,因此硅片制造商和電路設(shè)計(jì)師的壓力正在與日俱增,他們不僅需要提高M(jìn)IPS性能,還要最小化功耗和整機(jī)外形。
在硅片供應(yīng)商努力滿足這些要求的同時(shí),他們開(kāi)發(fā)的處理器也越來(lái)越復(fù)雜,從而給板級(jí)設(shè)計(jì)師帶來(lái)了更多的潛在性挑戰(zhàn)??雌饋?lái),設(shè)計(jì)多內(nèi)核處理器以滿足AMC規(guī)范要求對(duì)一個(gè)公司來(lái)說(shuō)似乎是個(gè)艱巨的任務(wù),在外形、熱要求和板級(jí)功能等方面的嚴(yán)格規(guī)范給板極設(shè)計(jì)師和設(shè)備制造商造成了很大的困難。然而,有硅片供應(yīng)商提供的參考平臺(tái)和設(shè)計(jì)保證,這些問(wèn)題可以迎刃而解。用戶為了縮短產(chǎn)品上市時(shí)間,紛紛利用硅片制造商提供的參考設(shè)計(jì)。這些設(shè)計(jì)可以是實(shí)際電路板,也可以是經(jīng)過(guò)驗(yàn)證的詳細(xì)設(shè)計(jì),用戶可以在此基礎(chǔ)上開(kāi)展他們自己的工作。