当前位置: 首页 > 行业动态

思科最新网络处理器采用了192个处理器内核

发布日期:2022-07-14 点击率:25

ay: block;">

基于一个大CPU内核阵列的单片系统正悄然出现在越来越多的应用中。设计团队发现,尽管这些架构远悖传统,但它们也许是可供他们选择的风险最小的方案。思科系统公司最近发表的一款网络处理器(NPU)采用了Tensilica公司的192个处理器内核,就是这一趋势的明证。ARC和picoChip等公司也公开了类似的在单个芯片上的处理器阵列架构。

“我们正在创立一个具有10年寿命跨度的路由平台架构,”思科系统公司路由技术部的工程副总裁Dan Lenoski表示。考虑到通信协议变化之快,Lenoski说:“我们觉得这意味着路由引擎必须是可编程的,而且必须能够提供实用的通用编程工具。我们的目标是实现40Gbps的速率。”

新平台的关键元件是一块以40Gbit的线速率处理分组包并执行包头的解包/封包、前向表查询、分类、统计及与外围排队芯片通信的路由芯片。

思科的设计团队迅速得出结论:没有现成的NPU满足这一要求。而且在一个专有的以类固醇为衬底的NPU或基于可编程逻辑的可重配置计算引擎的基础上创建一个独特架构的方案同样不可行。即使这些架构能满足性能要求,但必须在设备使用中的若干年内保持其可编程性的要求也排除了采用这类方案的可能性。

在方案论证和筛选的过程中,思科的设计团队开始考虑用一个标准的执行基于标准C代码的CPU阵列的方案。但这一方案也为他们提出了一大挑战,即如何组织这些CPU及如何为其分配任务。

管道架构也许是实现高速度及将指令存储器问题减至最小的最明显的方法。不过,Lenoski指出,这种架构会严重限制未来的灵活性。在芯片设计中,为实现更高效率和脱离通用阵列而做出的每一项决策都会将路由算法的假设条件整合进芯片中。思科最新网络处理器采用了192个处理器内核 - 1

所以该团队决定,将每一分组包都发给一小群相同的CPU,这些处理器将负责分组包所需的全部计算,然后,将该包向下传递。所需的CPU群数可根据线速率及估计的最坏处理时间,通过简单的公式求出。这就要求必须在不同CPU的指令缓存中重复运行相同的指令,与流水线设计相比,这种方法要求互连机制具有大得多的常规性。“考虑到对灵活性的需要,复制指令存储器并非难以忍受,”Lenoski说,“我们最终的设计是将一个分组包发给一群12个CPU。包在群内得到分配,然后由1个CPU对包内所有工作进行收尾。每一群都有各自的本地共享存储器。采用了一个十字开关级连构造来连接各处理器以允许分组包的出入,以及支持处理器访问共享的片上资源。”

Lenoski介绍,群内的每一处理器都有各自“非常有限”的缓存,群内有1个共享的2级缓存。思科的这种NPU上共有16个这样的群。此外,另有1个CPU专门用于调试除错,还有1个CPU用作系统接口及维护。有一些共享资源用于像表查找这样的功能。

该设计用到了少量Tensilica的指令集配置功能。“我们几乎是原封不动地照搬了Tensilica核的出厂配置,”Lenoski表示,“我们对非关联操作做了某些扩充,因为对报头内位域的析取和插入操作永远是一项对时间要求紧迫、没有数据关联的任务。还有一些其它改变。但我们增加的最重要的硬件也许是一个我们自己设计的DMA引擎。它负责芯片内大部分数据传输。”

该芯片由IBM用130纳米CMOS工艺制造。阵列内有192个CPU。该设计允许关闭4个CPU,参与路由的工作CPU最少为188个。在构造的顶层是2个负责调试、接口、维护的CPU及共享资源。Lenoski估计,运行于250 MHz的该芯片,其处理能力约是最快“奔腾”处理器的3倍。

思科的设计并非是目前实际使用的唯一阵列架构。虽然不象Tensilica那样专注于采用大的CPU阵列,其竞争对手ARC International也注意到阵列架构正逐渐被接受。“我能想象在我们已参与的设计项目中,也许有多达12个设计采用了6个以上的内核,”架构经理Peter Wells说,“有些设计更高达64个内核。我们参与了有264个内核的理论设计,但其目的只是看一看分组包到底能传递多快,我不认为它真的会实现。”

Wells表示,在大多数情况下,具有许多内核的架构是雷同的,它们一般采用许多相同的内核,而不是很多复杂排列的带不同配置的内核。设计差异性和对一组特定任务的适应性,主要取决于对缓存方案、存储器架构、特别是互连架构的选择。“在考虑互连方案时,似乎每一个人的决策都是不同的,”Wells指出,“这通常体现出设计团队的差别。”

不过,Wells表示,软件常常是转用处理器阵列方案的主要原因。通过构造一个相似处理器的大阵列,应用级的编程与单个CPU的编程变得很相象。所用的语言通常是C或C++。除了处理CPU间数据流动的某些通信算法及一般由阵列外独立CPU负责的监控任务之外,编程模式实际上与单个CPU的编程一样。这就极大地简化了软件开发团队的组建、调试及长期维护事宜。

与此同时,至少一家标准IC产品供应商picoChip Designs报告说,其处理器阵列架构得到越来越多的认同。就picoChip的例子来说,其架构略微有些异样,它多少是专为蜂窝基站应用而设计的。

营销副总裁Rupert Baines认为,WiMAX无线宽带的忧虑和围绕无线城域网标准的不确定性乌云提升了人们对大处理器阵列的兴趣。“现在我们在WiMAX领域已经有2个设计中标了,尽管系统仍在开发之中,但发布日期已确定。”Baines表示。

作者:葛立伟


下一篇: Ember携手Arcom,简化Z

上一篇: 欧姆龙将亮相“工博会