美国麻省理工学院(MIT)的研究人员们最近利用“芯片上网络”(NoC)技术,期望打造出一款具有缓存一致性且能够扩展至任何核心数的多核心架构。截至目前为止,研究人员们已经开发出一款36核心的处理器芯片原型了。
MIT开发的36核原型采用类似“铺砖”(tile)的实体布局,每一个tile中包含一颗核心以及一个路由器,用于将固定大小的讯息封包传送到相邻核 心,最后传送到目标核心。为了维持缓存一致性,MIT研究人员透过主网络采用Snoopy协议的二级“影子”网格方式,从而实现更具扩展性的架构,此外,速度也比传统分布式目录缓存一致性更快24%,比AMD的HyperTransport总线更快12%。
MIT连结32颗核心(tile)以及2个NoC,透过协议保持核心之间的缓存一致性。(来源:MIT)
MIT电子工程与计算机科学系教授Li-Shiuan Peh表示:“影子网是一种无需缓冲、免竞争的2D网格网络,能够保持Snoopy协议的一致性。它可确保所有的节点都知道将会到达主网络的数据请求来 源。所有的节点都将始终如一地执行优先排序──这对于Snoopy协议的一致性至关重要。”
由于略过L2快取,发出的请求被传送至主要网络上。接着在影子网上发出一项通知给所有的核心告知来源核心的请求即将到达。由于采用单一位传送,来自其他核心所发出的通知可合并传送,从而加速在影子网上的传送速度。
目前针对多核心芯片的开发可采用多种不同的互连拓扑。一般来说,在8颗核心以下的芯片可直接使用总线轮流连接各核心。另一方面,MIT的36颗心处理器架 构采用芯片上网格网络的方式,让人联想到英特尔(Intel)在2007年发表的Teraflop Research Chip(代号Polaris),它采用的就是相邻芯片之间的直接互连方式,传送至远程核心的数据同样经由核心之间逐次传送的方式,直到到达目的为止。然 而,英特尔的50核心 Xeon Phi 则改以多个高速路径的方式分别传送数据与地址,取代了网格网络的传送方式。
另一方面,MIT建议使用双网格网络??─个用于传送数据,另一个则用于Snoop协议,以 确保由一颗核心发出的数据请求是最新的。每颗核心都有其快取来保持经常使用中的数据,只需偶而传送回主存储器以取得更新。 Snoop协议采用二级影子网格以确保请求的数据来自于最近更新来源,以及指定优先层级,让每颗核心都能以正确的顺序接收到所需的数据,从而执行平行运算。
在原型芯片通过功能验证后,包括Li-Shiuan Peh与Bhavya Daya等研究人员们还将以Linux平行版本展开SCORPIO协议测试。一旦经验证可行,Li-Shiuan Peh 计划发布以 Verilog硬件述语言(HDL)编写的芯片微架构。
本信息转自芯片网,如有侵权,请联络我们会及时核实清理!