|
如今的SoC越來(lái)越復(fù)雜,往往包含多種功能模塊,如CPU、GPU、DSP、FPGA等等。這樣的SoC設(shè)計(jì)不太可能全部由一個(gè)公司獨(dú)立完成,參考、購(gòu)買(mǎi)其他公司IP的情況非常普遍。有些公司非常精通某些領(lǐng)域的設(shè)計(jì),比如我們今天將要介紹的Arteris,它在片上互連方面具有獨(dú)到的造詣。 Arteris成立于2003年,總部位于美國(guó)加州Campbell市。2005年該公司推出第一款片上互連(Network-on-Chip,NoC)產(chǎn)品,之后又相繼推出FlexNoC、FlexPSI、FlexNoC Resilience Package和FlexNoC Physical等IP。 您可能從未聽(tīng)說(shuō)過(guò)Arteris,但很多知名的大公司都已經(jīng)采用了Arteris的SoC架構(gòu),其中包括手機(jī)應(yīng)用的三星、高通、海思、展訊,汽車(chē)應(yīng)用的德州儀器、NXP,以及SSD應(yīng)用的Altera。這些半導(dǎo)體巨頭在SoC設(shè)計(jì)方面實(shí)力雄厚,但仍要引進(jìn)Arteris的架構(gòu),這足以說(shuō)明Arteris的價(jià)值。 Arteris最新推出的IP產(chǎn)品叫作NCore,這是一種在異構(gòu)多核SoC設(shè)計(jì)中保證緩存一致性的互連方案。 緩存與處理單元緊密匹配。與片外DRAM相比,緩存的延遲低、帶寬大、功耗小,設(shè)置緩存可以大幅提升芯片性能。緩存產(chǎn)生多個(gè)數(shù)據(jù)拷貝,硬件緩存可實(shí)現(xiàn)扁平、共享的存儲(chǔ)數(shù)據(jù)。這些數(shù)據(jù)拷貝必須保持一致,對(duì)軟件不產(chǎn)生任何影響。但如何管理這些硬件拷貝是個(gè)挑戰(zhàn),需要大量的通信才能完成。解決這個(gè)問(wèn)題的方法是探聽(tīng)(snoop):探聽(tīng)過(guò)濾器通過(guò)跟蹤緩存內(nèi)容來(lái)降低通信壓力。 NCore在整個(gè)系統(tǒng)中的作用如圖1所示,它連接各種一致性端口(如CPU、GPU)、非一致性端口(如圖像處理、顯示處理、子系統(tǒng)和外設(shè)等)和存儲(chǔ)端口。其內(nèi)部結(jié)構(gòu)如圖2所示,它包含了一致性端口的接口,而且為非一致性端口配置了代理緩存,使得非一致性單元的性能得到提升。最重要的部分是探聽(tīng)過(guò)濾器目錄,它支持多種一致性模型,多個(gè)可配置的探聽(tīng)過(guò)濾器為管理各種不同的緩存提供了方便。
圖1:NCore在多核異構(gòu)系統(tǒng)中的作用
圖2:NCore內(nèi)部結(jié)構(gòu) NCore讓每一個(gè)一致性端口的行為和特性適應(yīng)統(tǒng)一的模型。不僅如此,NCore采用一種獨(dú)特的方式,把具有相同特性的端口歸在一起,這樣比傳統(tǒng)的單片探聽(tīng)過(guò)濾器所占的空間更小。
圖3:多個(gè)snoop filter設(shè)計(jì)所占的硅面積更小 除了多個(gè)可配置探聽(tīng)過(guò)濾器、多個(gè)可配置代理緩存,NCore還具有模塊化分布式架構(gòu)。這些特征帶來(lái)的好處是,系統(tǒng)的可擴(kuò)展性強(qiáng),空間效率更高,可實(shí)現(xiàn)高性能,而且功耗得以?xún)?yōu)化。 |