克服嵌入式CPU性能瓶颈
芯片的传输延时
限制晶体管密度提高和芯片工作频率增加的另外一个主要因素是走线的传输延时。现代处理器中使用的GHz数量级高频时钟意味着一个时钟周期不到一个纳秒。这么短的周期时间正在成为影响信号传播的一个问题。
减小芯片的特征尺寸将造成栅极长度和晶体管电容减小,从而有利于提高时钟速率,克服容量范围限制。但芯片上的走线由于更高的电阻和电容而变得越来越慢。走线的宽度和高度变小是走线面积缩小的根本原因,并导致更高的电阻。
由于走线表面积变小,与表面积有关的电容跟着降低,但相邻走线之间的距离也在缩小,最终形成更高的耦合电容。耦合电容增加的速度大于表面电容减小的速度,因此抵消了表面电容减少效应,并形成了更高总体走线电容的组合效应。
走线传输延时直接正比于电阻与电容的乘积:Rw×Cw,因此随着每一代缩小特征尺寸的新技术的推出,走线延时变得越来越长。随着时钟速率的加快和走线传输速度的变慢,信号可以传输的距离以及一个时钟周期内可以到达的芯片面积将变小,最终导致通信范围成为约束条件的新情况。
对于具体的微架构来说,这不会成为大问题,因为电路尺寸将以二次方的比例缩小。但为了充分利用更小的晶体管尺寸并获得更高的IPC,设计师正在开发更为复杂的微架构,生成更深的流水线,增加更多的执行单元,并使用大的微架构化结构。现在,芯片上更高的通信延时将对尺寸甚至这些结构的布局和最大工作频率造成实际的限制。
举个例子,Intel Pentium 4中使用的错误预测流水线设计要求的级数是PentiumⅢ流水线的两倍。由于具有更高的时钟速率和走线延时,流水线必须划分为更小的段,并且在每级流水线中做更少的工作。但走线延时变得如此之大,以致于Pentium 4流水线中有两级是额外增加的,用于将信号从一级驱动到下一级,以便有足够的时间去执行要求的运算,因为有很多的时钟周期时间用在了信号抵达下一级上。
在ARM公司发布的高级微控制器总线架构(AMBA)规范中,可以看到走线延时如何影响设计的另一个类似例子。在第一版AMBA规范中引入、设计用于互连高性能系统模块的高级系统总线(ASB)使用了双向总线和主/从架构。
在第二版AMBA规范中,引入了高级高性能总线(AHB),用于改善对更高性能的支持,并替代ASB.在这个新的总线规范中,独立于其它功能的双向总线被替换为复用总线机制。这种修改初看起来似乎增加了不必要的走线和电路复杂性。但在很高性能系统中的走线延时效应使得有必要引入中继驱动器(与Pentium 4例子中看到的一样)。这在形成组合式复用总线的单向总线中是可行的,但在双向总线中很难实现。
面临的挑战
我们已经看到有两个主要的技术性限制在不断影响摩尔定律和和处理器性能的持续改进。但技术在不断发展。缩小特征尺寸有助于提高晶体管密度和频率,而设计师也仍在设法缩小晶体管尺寸,单颗芯片上的晶体管数量有望超过10亿个。
业界预测,半导体技术工艺将在2014年达到35nm栅极长度,但实际上从2011年开始就已经有人在用22nm工艺制造产品了。功耗和传输延时问题激励着业界每个人去研究制造晶体管的新材料,而在现代处理器中已经在应用新的组织化和架构化解决方案。高k值氧化栅(k指的是材料的介电常数)正在替代用了几十年的二氧化硅栅极电介质,它能实现更薄的绝缘层并更好地控制漏电流。
新的低k值电介质的使用使得减小耦合电容以及传输延时成为可能。实现单个大型单片内核的传统微架构正在演变为更简单的多内核微架构,后者允许占大部分的局部通信,从而避免了大的延时。
最近一些芯片制造商,如Intel公司,发布了三维集成电路。Intel最新的Ivy Bridge系列处理器作为Sandy Bridge系列的后继产品,采用了新的三栅极(tri-gate)晶体管技术,在提升处理能力的同时可以降低所需的能耗。
使用3D晶体管替代以前的平面结构晶体管后,各级流水线可以彼此垂直堆叠,从而能够有效地缩短块与块之间的距离,消除走线延时效应。据Intel介绍,公司的22nm 3D Tri-Gate晶体管功耗在相同时钟频率下不到32nm芯片上的平面晶体管的一半,超过了从一代工艺升级到下一代时通常所取得的效果。
多内核架构的发展非常迅速。例如,Tilera公司已经在单颗芯片上成功开发出首个100内核的处理器。为了达到这种集成度,Tilera将处理器与他们的设计师称之为"瓦片(tile)"的通信开关组合在一起。通过组合这些瓦片,Tilera公司能够搭建出一个形成网状网的硅片。处理器一般通过总线互相连接,但随着处理器数量的增加,这种总线很快变成了瓶颈。借助Tilera用瓦片平铺出的网,每个处理器连接一个开关,它们可以像点到点网络那样相互通信。除此之外,每个瓦片可以独立运行一个实时操作系统。或者你也可以将多个瓦片组合在一起,运行像SMP Linux那样的操作系统。
目前业内正在研究开发令人称奇的石墨烯晶体管,每个晶体管都是用一片仅一个原子厚度的碳制造的。理论上,这些晶体管支持非常高的工作频率,可以高达1THz(1000GHz),甚至可以在柔性基板上制造这些晶体管。不过这种技术还面临许多挑战,我们可能还要等几年才能看到这些先进技术实用化。
本文小结
目前业界面临的问题是如何充分发挥这种巨大的并行处理能力。但嵌入式软件行业已经在开发强大的工具来帮助构建新的、复杂的许多内核应用世界。
针对共享和分布式存储架构的OpenMP和MPI建议、以及针对不同种类系统的并行编程制定的开放标准OpenCL(开放计算语言)都非常有前途。利用OpenGL可以为混合有多内核CPU、GPU甚至DSP的系统开发出合适的软件。但最大的挑战可能是改变编程人员的想法,使他们学会如何编写出适合在这些系统运行的高度并行和可靠的软件。
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)