首页 > 最新资讯 > 行业新闻

麻省理工科研人员曝光36核处理器

2014-07-08 10:04:58 云思盈科 已读

云思盈科

 

人类在处理器核心数量的道路上越走越远,但这不一定是坏事!今天,麻省理工学院的研究人员曝光了他们已经研制成功、正在实验的 36 核处理器。这枚处理器的设计初衷是使用互联网交流网络的方式让芯片更有效地管理本地内存空间。这难道就是“具备互联网精神”的处理器?

本文来自麻省理工学院官方新闻网站,作者为 Larry Hardesty。

 


 

处理器具备更多核心,或者说具备更多的处理单元,会给核心之间的数据交换带来更大的问题。多年以来,麻省理工学院一位新加坡的电子工程与计算机科学的研究教授 Li-Shiuan Peh 一直认为未来的多核心处理器需要组成一个小型的“网络”,每个核心都有一个关联的“路由器”,数据在核心之间的传递都以固定大小数据包进行。

在本周的计算机架构国际学术研讨会上,Li-Shiuan Peh 的团队展示了他们开发的 36 核处理器,这枚处理器号称具备“片上网络(network-on-chip)”。除了它上面应用了多种团队早期的想法之外,这枚 36 核处理器也结局了“片上网络”处理器的一大问题:维持高速缓存一致性,或确保处理器核心中本地存储的全局数据副本能保持最新。

现在的处理器上所有的核心(一般是 2-6 个核心),都是通过一条单独的线来连接的,即总线。当两颗核心需要通讯的时候,它们会请求独享总线的流量。但是这种方法在多核心的处理器上运行起来不如意:一颗核心在占用总线的时候,其他核心需要等待,而非同步进行计算。

有了“片上网络”,每个核心都可以与其他核心快速地交换数据,麻省理工学院电子工程与计算机科学专业研究生 Bhavya Daya 说:“每个核心都可以与它临近的核心快速通讯,每个核心的数据要走到同一个目的地有多条线路可用。所以说,预期用一条拥挤的总线,不如用多条。”

云思盈科

Snoopy 协议

不过只有一条总线也有好处,那就是可以更容易地保持高速缓存的一致性。处理器上的每个核心都有自己的高速缓存,它可以用来存储最常用的数据。在进行计算的时候,核心会更新缓存内的数据,因为更新频率很高,从高速缓存运输到内存之间的数据运输也是一件很耽误时间的事。

但是如果如果在数据发送出去之前,其他核心需要这个数据怎么办?为了解决这个问题,绝大多数核心都会采用一种名叫“snoopy”的协议,因为这个协议允许处理核心窥视其他核心的数据交换。当一个核心需要某部分特殊的数据时,它会向其他广播请求,有这个数据的核心会把数据运回给这个核心。

如果所有的核心共享一条总线,当一个核心收到数据请求时,它会知道这是最近的一次请求。同样,当请求数据的核心得到数据之后,它也知道这是最新的数据版本。

但是在“片上网络”处理器中,数据可以在各个核心之间传递,数据封包也会以不同的顺序送达不同的核心。这样,snoopy 协议所依赖的排序就被瓦解了。

新等级

Bhavya Daya、Li-Shiuan Peh 和他们的同时通过给芯片配备一个二级网络来解决这个问题。连接网络的线路很简单:网络上的核心在主网络之上(即影子网络)发送数据请求。因为各个核心的数据声明都很简单,这个影子网络上的节点可以将声明汇集在一起,然后在网络上传递,不会遇到总线延迟的问题。

一组一组的声明以离散的间隔频率到达每个核心的“路由器”上,这个频率与影子网络上节点到节点的时间有关。每个路由器可以将本间隔内有多少请求已被发布、由多少核心发布制作成表格来查看。请求可能会过一段时间才能到达,但是将要收到数据的核心知道这个数据请求已经被发布了。

在每次间隔期间,芯片上的 36 个核心都被赋予了不同的优先等级。比如说在第一次间隔内,核心 1 和核心 10 发布了请求,但是核心 1 的优先级更高。不过,核心 32 的路由器可能会比核心 1 更早地接受到核心 10 的请求。但是核心 32 会等待核心 1 的请求到来才处理核心 10 的请求。

这种等级序列模拟了总线发送数据请求的历时顺序,所以多核心处理器的 snoopy 协议依旧有效。每个间隔结束之后,这种等级序列就会更改一次,但是为了让处理器长久运行,每个核心的权重都是平等的。

美国密歇根大学电子工程与计算机科学教授 Todd Austin 表示,多核心处理器的高速缓存一致性“是一个很大的问题,而且问题越来越严重。他们给的贡献很有趣,他们说‘让我们去掉现有的网络太多的复杂内容。’这种做法会给数据交流带来更多通道,处理器中的通讯协议也会梳理出所有的细节。他们的这种方法更简单,更快。的确是聪明的想法。”

Austin 还说:“还有一个挑战就是,学术圈需要说服行业,他们的观点是可行的、有用的。他们在这一方面也做的不错,做出了一个可以工作的芯片。如果他们的芯片无法做成商用产品的话,我会很惊讶的。在确保了原型芯片可以用之后,Daya 已经在 Linux 操作系统上使用了这枚处理器,使系统可以兼容 36 核处理器,测评了实际应用表现,确定团队理论推测的准确性。此外,她还准备发布用 Verilog 语言编写的硬件说明,即这枚芯片的蓝图将以开源的方式发布。”


文章出自云思盈科 http://www.yunthink.com

Copyright © 2014-2017 云思盈科 企业微信

ICP备案:鲁ICP备14007705号-1

山东省潍坊市高新区软件园·光谷工馆A座612室