NCore來了!異構(gòu)多核SoC的cache一致性有了新解
這是一家專門做SoC內(nèi)連IP的公司,它與你通常所了解到的ARM、Power、X86等有所不同。這并不是一個微控制器的IP,而是一個將各種IP連接在一起的IP。是不是有點拗口呢!
目前伴隨著高度集成的需求,異構(gòu)多核SoC的應(yīng)用十分廣泛。在一個SoC中,可能存在CPU、GPU、I/O、DSP等等多個不同的IP,而如何實現(xiàn)這些多個IP之間的高速通信,這就是Arteris所關(guān)注的問題。Arteris所提供的異構(gòu)多核SoC之間IP互聯(lián)解決方案,就是互連IP。
Arteris此次在京召開了新的內(nèi)連IP——NCore Cache Coherent Interconnect IP的發(fā)布會,公司所有高層均到場進行了精彩的演講。
Arteris CTO Craig Forrest
在異構(gòu)多核SoC中,存在著幾個設(shè)計難題。其中一個是如何在多個不同IP之間實現(xiàn)高速互連,這個問題Arteris之前發(fā)布的產(chǎn)品FlexNoc就可以幫助你免除這個煩惱。而另一個棘手的問題就是如何保證SoC中的Cache一致性。異構(gòu)多核SoC中存在著多種不同類型的IP,其每個IP內(nèi)所包含的Cache的大小也并不相同,因此對于SoC的設(shè)計人員來說,如何保證高效低耗的保證Cache一致性直接導(dǎo)致了最后SoC的表現(xiàn)如何。
如何保證Cache一致性,目前有兩種解決方法,一種是從軟件層面上對Cache進行一致性配置;另一種是從硬件層面進行解決。對于SoC的設(shè)計者而言,大家更加傾向于使用硬件方式保證Cache一致性。因此如果采用軟件配置的方法,勢必會增加功耗,另外軟件的編寫難度也比硬件設(shè)計的難度更好,而且可靠性也不如硬件更加可靠。
NCore是一種全新設(shè)計的Cache一致性解決方案,具有諸多別的Cache一致性方案所不能比擬的優(yōu)勢。下面一張圖是Arteris所展示的Ncore的架構(gòu)。
Ncore Interconnect Architecture
整個IP分為如上圖所示的5部分,Directory在整個Ncore中類似于心臟角色,在其中可以配置多個Snoop Filter。這也是Ncore區(qū)別于其它cache一致性方案的重要特色之一。多個Snoop Filter比一個Snoop Filter的設(shè)計能夠縮小所需電路面積。Snoop Filter的配置個數(shù)也是設(shè)計者自定義,這也體現(xiàn)了Ncore的高度可配置性。Non-coherent Bridge是另一個Ncore十分具有特色的部分。據(jù)Arteris的硬件總設(shè)計師David Kruckemyer介紹,許多SoC的設(shè)計公司中會存在許多比較老的IP,而這些IP有的并沒有內(nèi)置Cache。這些IP可以通過Non-coherent Bridge中的Proxy Cache來與Ncore進行連接。因此在你的SoC設(shè)計中,老的IP也可以通過Proxy Coche來實現(xiàn)與其它IP的Cache一致性。Coherent Agent Interface用于連接SoC內(nèi)各個IP的Cache,這部分數(shù)量也是可以依據(jù)設(shè)計師需求進行自定義。Coherent Memory Interfice用于與外部存儲單元進行通信。CCTI是用于Ncore內(nèi)部不同部分之間的高速通信。
所以你可以看出來,憑借著可以自定義的snoop filters和proxy chache,Ncore的可配置度很高,這是Ncore的一個優(yōu)勢所在。而另一個優(yōu)勢則在于其可以完全打散的布局,可以在很大程度上節(jié)省SoC的面積。
在上文中所介紹的Ncore中的所有的部分都可以在SoC中任意安置其位置,這樣不僅可以將SoC的面積做到足夠小,而且可以將某些部分安置到與相連部分較近的位置,提高SoC的性能。其中CCTI部分也是可以打散了進行自定義的分布式布置的。
在中國市場方面,Arteris也是十分地重視。耐心的讀者可以從下圖Arteris的全部主要客戶中找到不少中國的SoC設(shè)計名廠,它們都采用了Alteris的互連IP。而在未來,Arteris也將會繼續(xù)在不斷開發(fā)新產(chǎn)品的同時加大在中國市場的投入。