NCore来了!异构多核SoC的cache一致性有了新解
扫描二维码
随时随地手机看文章
这是一家专门做SoC内连IP的公司,它与你通常所了解到的ARM、Power、X86等有所不同。这并不是一个微控制器的IP,而是一个将各种IP连接在一起的IP。是不是有点拗口呢!
目前伴随着高度集成的需求,异构多核SoC的应用十分广泛。在一个SoC中,可能存在CPU、GPU、I/O、DSP等等多个不同的IP,而如何实现这些多个IP之间的高速通信,这就是Arteris所关注的问题。Arteris所提供的异构多核SoC之间IP互联解决方案,就是互连IP。
Arteris此次在京召开了新的内连IP——NCore Cache Coherent Interconnect IP的发布会,公司所有高层均到场进行了精彩的演讲。
Arteris CTO Craig Forrest
在异构多核SoC中,存在着几个设计难题。其中一个是如何在多个不同IP之间实现高速互连,这个问题Arteris之前发布的产品FlexNoc就可以帮助你免除这个烦恼。而另一个棘手的问题就是如何保证SoC中的Cache一致性。异构多核SoC中存在着多种不同类型的IP,其每个IP内所包含的Cache的大小也并不相同,因此对于SoC的设计人员来说,如何保证高效低耗的保证Cache一致性直接导致了最后SoC的表现如何。
如何保证Cache一致性,目前有两种解决方法,一种是从软件层面上对Cache进行一致性配置;另一种是从硬件层面进行解决。对于SoC的设计者而言,大家更加倾向于使用硬件方式保证Cache一致性。因此如果采用软件配置的方法,势必会增加功耗,另外软件的编写难度也比硬件设计的难度更好,而且可靠性也不如硬件更加可靠。
NCore是一种全新设计的Cache一致性解决方案,具有诸多别的Cache一致性方案所不能比拟的优势。下面一张图是Arteris所展示的Ncore的架构。
Ncore Interconnect Architecture
整个IP分为如上图所示的5部分,Directory在整个Ncore中类似于心脏角色,在其中可以配置多个Snoop Filter。这也是Ncore区别于其它cache一致性方案的重要特色之一。多个Snoop Filter比一个Snoop Filter的设计能够缩小所需电路面积。Snoop Filter的配置个数也是设计者自定义,这也体现了Ncore的高度可配置性。Non-coherent Bridge是另一个Ncore十分具有特色的部分。据Arteris的硬件总设计师David Kruckemyer介绍,许多SoC的设计公司中会存在许多比较老的IP,而这些IP有的并没有内置Cache。这些IP可以通过Non-coherent Bridge中的Proxy Cache来与Ncore进行连接。因此在你的SoC设计中,老的IP也可以通过Proxy Coche来实现与其它IP的Cache一致性。Coherent Agent Interface用于连接SoC内各个IP的Cache,这部分数量也是可以依据设计师需求进行自定义。Coherent Memory Interfice用于与外部存储单元进行通信。CCTI是用于Ncore内部不同部分之间的高速通信。
所以你可以看出来,凭借着可以自定义的snoop filters和proxy chache,Ncore的可配置度很高,这是Ncore的一个优势所在。而另一个优势则在于其可以完全打散的布局,可以在很大程度上节省SoC的面积。
在上文中所介绍的Ncore中的所有的部分都可以在SoC中任意安置其位置,这样不仅可以将SoC的面积做到足够小,而且可以将某些部分安置到与相连部分较近的位置,提高SoC的性能。其中CCTI部分也是可以打散了进行自定义的分布式布置的。
在中国市场方面,Arteris也是十分地重视。耐心的读者可以从下图Arteris的全部主要客户中找到不少中国的SoC设计名厂,它们都采用了Alteris的互连IP。而在未来,Arteris也将会继续在不断开发新产品的同时加大在中国市场的投入。