如何構(gòu)成理想的CPU內(nèi)核
多CPU設(shè)計(jì)中的調(diào)試可能是一個(gè)挑戰(zhàn)。多處理器之間的互動(dòng)可能產(chǎn)生難以發(fā)現(xiàn)和解決的問(wèn)題,除非調(diào)試工具可以在所有內(nèi)核上同時(shí)執(zhí)行。
M4K內(nèi)核的基于EJTAG的調(diào)試邏輯可以應(yīng)對(duì)這一挑戰(zhàn)。首先,M4K內(nèi)核上的EJTAG接口可與一個(gè)SoC上的所有內(nèi)核進(jìn)行菊鏈?zhǔn)?daisy-chained)連接,以保證同時(shí)對(duì)單個(gè)調(diào)試器和所有內(nèi)核進(jìn)行調(diào)試。這樣還可以支持獨(dú)立或同步啟動(dòng)、停止或單步控制。
另外一個(gè)很好的功能是M4K支持的多CPU調(diào)試是跨CPU的斷點(diǎn)的。該內(nèi)核具有支持CPU斷點(diǎn)的能力,可在幾個(gè)時(shí)鐘周期內(nèi)在一個(gè)CPU或幾個(gè)CPU中形成一個(gè)斷點(diǎn)。該功能是通過(guò)一個(gè)小型邏輯塊由軟件控制的,它決定哪個(gè)CPU可以穿過(guò)另一個(gè)CPU。這種能力對(duì)于解決CPU互動(dòng)相關(guān)的調(diào)試問(wèn)題非常有用。
M4K內(nèi)核上的這些調(diào)試功能可賦予使用者充分的支持,以及針對(duì)多CPU SoC設(shè)計(jì)的易用調(diào)試環(huán)境,從而減少設(shè)計(jì)時(shí)間和風(fēng)險(xiǎn)。
可配置性
由于多CPU系統(tǒng)中的效率至關(guān)重要,執(zhí)行的靈活性和可配置性對(duì)構(gòu)建解決特定應(yīng)用問(wèn)題的最佳解決方案也非常重要。
M4K內(nèi)核是MIPS科技開發(fā)的最具可配置性的內(nèi)核。如圖4所示,大多數(shù)CPU模塊是可選擇或可配置的。
乘法器可以實(shí)現(xiàn)高性能或最小的面積。如前所述,寄存器上下文的數(shù)量可以進(jìn)行配置。如果不需要MIPS 16e內(nèi)核代碼壓縮解碼器,可以將它去掉。調(diào)試支持中的多折衷能力只需要最少的支持,就可確定不同數(shù)量的硬件斷點(diǎn),甚至還可以使用TAP控制器。
對(duì)于程序和數(shù)據(jù)跟蹤,可以使用或不使用片上捕捉緩沖器,跟蹤支持可以進(jìn)行配置。協(xié)處理器接口邏輯可內(nèi)置或外置。如前所述,自定義的定制化指令擴(kuò)展可以增加,也可以使用時(shí)鐘選通(為了減少功耗)。
除了內(nèi)部?jī)?nèi)核的配置性,M4K內(nèi)核還具有存儲(chǔ)器系統(tǒng)設(shè)計(jì)的相當(dāng)大的靈活性。它可以使用單獨(dú)指令和數(shù)據(jù)存儲(chǔ)空間來(lái)支持哈佛系統(tǒng),后者采用針對(duì)高效存儲(chǔ)器存取的極低延遲的同步SRAM型接口。該接口支持單一循環(huán)或多循環(huán)處理,并支持8位、16位和32位外圍設(shè)備的連接。該接口也可使用相同的低延遲接口針對(duì)結(jié)合指令和數(shù)據(jù)空間的分享內(nèi)存系統(tǒng)建立。
此外,從SRAM型接口到基于EC系統(tǒng)邏輯的橋接可支持現(xiàn)有的基于MIPS32 4K、4KE或MIPS64 5K內(nèi)核系統(tǒng)的外圍設(shè)備應(yīng)用。
該橋接支持低延遲存儲(chǔ)器,以保證本地存儲(chǔ)器存取的高性能,同時(shí)可連接傳統(tǒng)的MIPS-based CPU子系統(tǒng)。
多CPU系統(tǒng)
系統(tǒng)可以用多CPU內(nèi)核做什么呢?如圖5所示,網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)可以使用多核從主處理器卸載特定的功能,就像MIPS64 20Kc那樣。通過(guò)在網(wǎng)絡(luò)接口添加一個(gè)CPU,可以通過(guò)外圍設(shè)備在本地實(shí)現(xiàn)如過(guò)濾、L2或L3協(xié)議響應(yīng)和分段與重組等更高級(jí)的功能,使主CPU可以處理更高級(jí)的協(xié)議或管理功能。
同樣,利用加速器(如這個(gè)例子中的TCP卸載)中的一個(gè)或多個(gè)M4K內(nèi)核,可以將特殊高性能功能的與主處理器分開,同時(shí)仍然保持標(biāo)準(zhǔn)可重復(fù)編程器件的優(yōu)勢(shì)。
另一個(gè)多CPU系統(tǒng)設(shè)計(jì)的常見例子是線卡。它可能是一個(gè)網(wǎng)絡(luò)路由器,也可能是DSLAM或無(wú)線基站。在這些例子中,平行的CPU子系統(tǒng),也叫微型引擎,可用來(lái)為高度平行的應(yīng)用提供巨大的總體性能,如level2處理、信息包分類、過(guò)濾或標(biāo)記管理。在這個(gè)例子中,主處理器主要用于異常處理。這種方法有許多變化,不僅可用于平行處理,而且可用于處理器流水線或平行處理器流水線。
多CPU設(shè)計(jì)在芯片設(shè)計(jì)師中日漸流行,因?yàn)樗梢蕴峁┛蓴U(kuò)展和可編程性能,并可滿足許多網(wǎng)絡(luò)和其他嵌入式系統(tǒng)設(shè)計(jì)的自然分區(qū)。對(duì)于現(xiàn)在大多數(shù)SoC設(shè)計(jì)來(lái)說(shuō),多CPU設(shè)計(jì)不是沒(méi)有挑戰(zhàn),而是這些挑戰(zhàn)可以通過(guò)使用CPU內(nèi)核來(lái)解決,MIPS32 M4K正是優(yōu)化處理工作的解決方案之一。
評(píng)論