新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 克服嵌入式CPU性能瓶颈

克服嵌入式CPU性能瓶颈

作者:时间:2013-10-31来源:网络收藏

过去几年,采用多线程或多内核CPU的微处理器架构有了长足的发展。现在它们已经成为台式电脑的标准配置,并且在高端嵌入式市场的CPU中也已非常普及。这种发展是想要获得更高性能的处理器设计师推动的结果。但硅片技术已经达到性能极限。满足不断提高的处理能力需求的解决方案,高度依赖于像在基于微处理器的系统级芯片(SoC)中复制内核处理器这样的架构化解决方案。

戈登·摩尔在1965年提出的摩尔定律指出,随着尺寸的缩小,每平方英寸硅片面积上可以集成的数量每两年会翻一番。当然,这个“定律”并不是一种物理规律,而是根据60年代和70年代对技术的观察经验得出的一个猜想。但它从第一次被提出到现在都非常准确——并且至少在下一个十年中有望延续其正确性。

摩尔定律一直能保持正确性的原因是,缩小芯片上元件尺寸的能力使得设计师能够不断提高处理器、存储器等器件中的密度。由于晶体管越来越小,设计师可以在处理器中增加更多的功能单元,并在相同面积上实现更加复杂的架构。

由于这种更高的密度,像分支预测或乱序执行等技术在现代处理器中已经很普及,虽然它们非常耗用资源。这些技术提高了每周期执行指令数(IPC),即提高了指令吞吐量,这是影响处理器总体性能的两大基本根源之一。更小的晶体管尺寸还可以支持更高的时钟速率。当晶体管的栅极长度缩短1/k时,电路延时也可以减少同样的量。随着电路延时的减少,晶体管开关时间也相应缩短,因此时钟速率可以提高k倍。处理器工作在更高频率可以提供更高的性能,但需要付出一定的代价。

然而,现在设计遇到了一些实际的限制。随着晶体管尺寸的进一步缩小,晶体管密度和芯片频率的提高显得非常有限,而影响越来越大。其中更高的和更大的传输延时是最令人担心的两大因素,也是影响进一步发展的主要障碍。

芯片

芯片和相关的散热问题正在成为硬件设计师面临的一个巨大障碍。随着晶体管数量的不断增加,当前处理器在很小的面积上就需要相当大的能量。这意味着需要散发很高的功率密度。问题不仅在于晶体管的数量,高的工作频率对功耗也有很大的影响,下面还会讨论到。

为了对过去几十年中这些参数的演变有一个印象,图1显示了在20年时间内Intel的x86架构中晶体管数量和工作频率的增加情况,最早的数据来自80386架构——第一个32位x86处理器。

克服嵌入式CPU性能瓶颈
图1:X86架构中的晶体管数量和频率演变。

注意,上述两个参数都是用对数刻度标示的,这也表明了它们进步幅度之大。在功耗方面,图2显示了这些处理器的典型功耗演变情况,这次采用的是线性刻度。

克服嵌入式CPU性能瓶颈
图2:不同代X86处理器的功耗演变。

晶体管数量在持续增加,一些最新的Intel Core i7处理器中的晶体管数量已经超过22亿个。功耗也在缓慢增加,高的可达130W,当然这取决于具体型号。然而,这些新处理器的却不再增加,保持在3.5GHz左右。

停滞不前的原因之一是目前的集成电路已经达到功率密度的物理极限,产生的热量已经达到芯片封装能够散发的极限,因此硬件设计师必须限制频率的提高。Intel的确从未为功效而牺牲性能,但如今的物理限制使得他们只能在功耗上面做文章。

一些公式可以更好地展示频率和晶体管数量是如何影响芯片功耗的。一些简单的数学关系可以让我们清楚地看出为什么这些参数在当前设计中是如此重要。

下列公式显示了芯片功耗与工作频率和其它系数的关系。

克服嵌入式CPU性能瓶颈
这是用于当前集成电路的主流半导体技术——CMOS技术的功耗表达式。公式的第一部分(加数)是芯片的动态功耗(也就是晶体管开关时由容性负载充放电引起的功耗),代表芯片执行的有用工作。A是活跃系数,代表每个时钟周期中进行开关的晶体管比例(因为每个时钟周期中并不是所有晶体管都必须开关);C是晶体管的容性负载;V是电压;f是频率。

公式中的第2个加数是由于短时间短路电流(ISC)引起的少量动态功耗,这个电流是在有限的上升或下降时间t内从晶体管电压源流到地的电流。最后一个加数是静态功耗,即由于(Ileak)引起的功耗,这也是唯一在加电,但不活动的电路中存在的功耗。这种功耗适用于整个电路,与晶体管状态无关,因此该项中没有活跃系数。

从公式的第一项可以看出为何功耗只是呈线性增加,而频率呈对数增加,这是因为电压是二次方的关系。

工程师能够将这个电压从5V减小到1V以下,从而帮助他们控制住功耗同时不降低性能。遗憾的是,许多因素是相互影响的,工程师必须不断进行折衷。例如,想象一下我们想要通过降低最初设置在2V的电源电压来减小芯片的动态功耗(只考虑公式中的第一项)。如果我们能够将电源电压降低到1.7V,虽然电压只下降了15%,但功耗可以显著下降28%。然而,降低电源电压对电路的最大频率和晶体管的阈值电压(晶体管的导通电压)有副作用。

克服嵌入式CPU性能瓶颈

在我们这个例子中,如果阈值电压为0.5V,电路工作频率为4GHz,那么为了保持相同的工作频率,必须将阈值电压降低到大约0.32V。然而,这样做也许是不可行的,因为阈值电压依赖于一些技术参数,当超出一定的范围时,不改变半导体制造工艺是不可能继续减小的。如果不改变阈值电压,最大频率将降低到3GHz,降幅为25%。

另一方面,即使你能够降低电源电压和阈值电压并且不影响性能,但与阈值电压呈指数依赖关系:

克服嵌入式CPU性能瓶颈

电压VT是热电压,取决于绝对温度T。k是玻尔兹曼常数,q是电子上的电荷量。在常温时热电压值大约为30mV。当相比于热电压有较大的阈值电压时,效应可以忽略,但当阈值电压较小——大约在100mV左右时,漏电流效应就变得突出了。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭