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