删减掉无用的逻辑门 为处理器瘦身
2017-07-26
工程师可以通过删掉通用微控制器中未使用的逻辑门,将尺寸和功率削减一半。
伊利诺伊大学电气和计算机工程副教授Rakesh Kumar表示:“处理器对于大多数应用来说是过度设计的。一个众所周知且必要的事实是:为了具有可编程性和灵活性,处理器上的内容要比任何应用所使用的内容更多。对于驱动最新的嵌入式计算平台(如可穿戴设备和物联网传感器)的超低功耗微控制器而言,情况尤其如此。它们通常运行一个非常简单的应用程序,没有别的东西(甚至连操作系统都没有),这意味着芯片中的大部分电路完全没看到半点数据。”
Kumar、明尼苏达大学助理教授John Sartori(曾经是Kumar的学生),以及他们的学生决定设法解决这种浪费问题。他们的解决方案从研究通用微控制器的设计开始。他们想出了一个快速的方法来确定哪些逻辑门从未参与到需要运行的应用程序中,然后删去这些多余的门。其结果就是Kumar所说的“定制处理器”,这是一种体积更小、复杂度更低版本的原微控制器,旨在仅执行所需的应用程序。6月,在多伦多举行的第44届计算机体系结构国际研讨会上,Kumar和Sartori详细介绍了定制处理器项目。
Kumar说:“我们的方法是找出应用程序保证不使用的所有硬件,而不考虑输入。剩下的是一个并集或超集,是数据可以使用的所有可能的路径。然后我们移除没有触及到的硬件。”
他们从MSP430微控制器开始,制作定制的设计,用于执行诸如快速傅里叶变换、自相关函数和插值滤波等应用程序。这些设计中只有不到一半的逻辑门是原微控制器设计的一部分。事实上,他们研究的15个常见的微控制器应用程序中,没有一个需要超过60%的门。平均而言,设计出的芯片体积缩小62%,功耗降低50%。通过利用较短距离信号传输所节省的时间,平均节能高达65%。
Sartori说:“真让人大吃一惊。大多数人认为,在这样一个小而简单的处理器中,几乎所有的东西都被使用了;但是对于一个给定的应用程序,实际上有很多逻辑门可以完全删除,而且软件仍然工作得非常完美。”
如果您希望处理器执行两个或更多的应用程序,这种方法依然有效;它甚至可以处理操作系统外加应用程序。他们用实时操作系统FreeRTOS进行了测试,当它单独运行时,57%的门完全未被触及。如果FreeRTOS和上述15个应用程序中的任何一个一起运行时,都只剩下不足27%的门未使用,但是Kumar指出,这些应用程序通常“裸机”运行——它们不需要操作系统。
为什么不订购ASIC(专用集成电路)呢?一句话:成本。Kumar表示,嵌入式微控制器适用于低容量、低成本的用途,从头设计并测试ASIC的成本太高。通过从标准的微控制器设计入手,这个过程简化了,而且更便宜。
库马尔说,这就像个“黑盒子”。“输入应用程序,它输出处理器设计。”
市场研究公司IHS的嵌入式处理器首席分析师Tom Hackenberg表示,事情可能不是那么简单。测试、验证以及在开发新的应用程序芯片过程中遇到的其他成本仍然存在。如果这项技术不能降低设计过程的成本,廉价的微控制器(平均约为1美元,但可以低至25美分)仍然是成功的解决方案。
然而,Hackenberg说:“如果这个概念具备他们所说的那些功能,那么设计一个面向具体应用的处理器可能是一个更简单的过程。”
英国剑桥市ARM公司的研究工程师们希望事情可以变得如此简单。他们一直在努力开发一个名为“Plastic ARM”的项目,该项目是使用印刷电子技术在塑料上构建1美分的一次性微控制器。 他们的第一次尝试占用了7.5平方厘米。 项目负责人James Myers说,经过了整整一年的艰苦设计工作,终于完成了将其缩小到1平方厘米的目标,并可以根据应用程序定制它。今年夏天,在Sartori的一名学生的帮助下,他们计划使用定制处理器技术,看看他们能否达到同样或更好的结果。
他说,“利用印刷电子技术,设计芯片的门槛应该比硅片低。对于面向具体应用的设计,应该有更多的机会,但如果设计成本保持不变,则不应如此。我想要的是降低设计成本和制造成本。如果能够自动生成一个定制版本的处理器的话,则大有益处。”