当几年前可配置处理器第一次成为SoC领域人人讨论的术语时,它的用途似乎简截明了。通过利用本地缓存器、额外的专用寄存器或定制执行单元配置一个CPU内核,你可以加速数值密集型应用的内部循环。这反过来允许你取消SoC上的硬连线功能模块,在某些情况下,达到提高芯片整体性能的目的。
正如Tensilica公司所证明的,这种扩展CPU内核的大型阵列能够在某一特定应用中提供巨大的性能,同时保留部分的软件可编程性。
但那是过去的事情。今天的环境是:设计周期越来越短,而且市场不确定;即使是成功产品也没有多大的利润空间来支持冒险行为。成功的关键是从一个小市场跳到另一个小市场,以尽可能少的资金进行冒险,以及尽可能压缩成本。这种环境不鼓励改变架构的尝试。
但这并不意味着现在可配置处理器的境遇糟糕。ARC International公司的CEO Carl Schlachte最近透露,在分析该公司近期的设计中标后,他惊讶地发现,客户对可配置性的持续兴趣并不是来自性能,而是来自更小的面积和功耗。“对于许多客户,可配置性并不意味着扩展内核,相反是减小内核,”他说。
在当前残酷的市场环境中,这个论调令人有些沮丧。如果设计团队想对现有的SoC做进一步的改变,以瞄准短暂的市场机会,那么架构的剧变也许是不可能考虑的。因此,请抛掉把内核的主要功能从硬件移植到软件的想法,这里的硬件指的是早已设计好并通过验证、而且降低了成本的硬件。我们所要做的应该是尽可能使所有器件的价格更便宜。
如果你正在使用一套相对静态的代码集进行工作,特别是如果你保持关键的内部循环不变,那么那些渐进的变化只能来自于控制或异常路径代码。因此,你有机会通过精简代码,削减缓存器大小、寄存器及执行单元数量等手段来节省芯片面积。
在ARC和Tensilica的内核中,这样做可以使面积发生改变,而这又使一切变得不同。
Ron Wilson 是EETimes的编辑,研究领域涉及微处理器、可编程/可重配置逻辑以及芯片设计工艺。
作者: Ron Wilson
京公网安备 11011202001138号
