处理器的设计正在从提高频率向降低功耗的方向转变,为满足更高性能的要求并使功耗不超过许多应用所能承受的范围,微处理器的一个明显变化是从频率越来越高向多内核架构转变。本文分析这种转变对嵌入式系统设计的性能带来哪些改善。
双内核微处理器是当前计算设计关注的焦点,为满足更高性能要求并使功耗不超过许多应用所能承受的范围,微处理器正在从频率越来越高的发展趋势向多内核架构转变。
其它的一些重要进展也专注于提供更高的单位功耗上完成的指令数量的指标上,例如片上存储器控制器、更先进的动态功率管理(DFM)以及单指令多数据(SIMD)引擎。
在过去几年,改善工艺和晶体管技术是提高处理器性能的主要方法,而更高频率则是获得更高性能的驱动力。然而,最近关注焦点从频率转移到功耗上。
是什么促使关注焦点发生变化?一直以来,设计工程师主要考虑的功率问题是由门电路充放电引起的AC分量。半导体技术向90nm和更小工艺尺寸的转移,引入了重要的DC功率分量(又称漏功率或者静态功率)。实际上,相同电压下90nm设计的典型漏电流大约为130nm设计的2到3倍,漏电流引起的功耗可能占到某些90nm器件总功耗的一半以上。
更低功率的产品采用低功率工艺制造,例如绝缘硅(SOI)技术。SOI能减少寄生电容,使开关频率提高25%或者使功耗降低20%。将功率更低、介电常数k值更高的介质材料用作栅极绝缘体(gate insulator)的相关工作也在进行中,这将获得比目前使用的二氧化硅层更易于制造且更厚的层。
更高频率的器件需要更高的电源电压,因而其功耗也呈指数增长。更高频率的处理器还会增加中断等待时间,这对实时应用来说非常关键,并需要给内核提供更深的管线。当处理器执行一条未曾预设的指令时,管线将会拥塞造成执行停止,这会对性能造成严重影响。
还有其它因素迫使芯片设计工程师通过新方法提高性能。更高的频率需要额外的时钟开销,处理器需要在时钟边沿附近建立一定的安全裕量以确保正确运行。因为安全裕量近似保持不变,所以随着频率的增加,在一个时钟周期内可用的时间实际上会更少。因此,增加频率并没有使性能得到相应提高。
这样以来,系统设计工程师转向多内核处理器架构而不是更高频率的器件来实现系统性能的提高,并使功耗的增加最小。双内核微处理器最初设计用于服务器等计算密集型应用,现在则用于广泛的嵌入式应用中。
存储器控制器和桥接芯片也与多个内核一起集成在单个硅片上。存储器子系统一直以来就是高性能处理系统的一个瓶颈,存储器技术的最新发展,包括引入第2代双倍数据速率(DDR2)接口,已使性能有了显著提高。相比单倍数据速率(SDR)技术133MHz的传输速率,DDR2的传输速率高达667MHz。但是,因为处理器时钟速率增加得更快,所以人们已开始更多地关注存储器的响应时间。
直到最近,包括存储器控制器在内的许多系统逻辑都以北桥和南桥芯片的形式存在于处理器外部。将存储器控制器和桥接芯片集成到同一个硅片内作为微处理器内核,可减少带宽和响应时间的瓶颈。例如,片上存储器控制器将使处理器到存储器的等待时间减少2/3到3/4。
某些时候更重要的是,这样的集成可节省电路板空间。更高的集成对在像高级夹层卡(Advanced Mezzanine Cards, AMC)这样小的尺寸内提供更强处理能力来说尤其重要。更好的存储器控制可节省功率。当没有数据要处理以及不需要进行刷新时,更智能的存储器控制器可以使时钟使能信号无效,这样避免产生不必要存储器时钟,一般可以降低高达20%的存储器功耗。
另外一个可用来减少存储器芯片及其终结电阻功耗的系统设计技术是,当它们以集束形式(clustered arrangement)连接在一起时,利用处理器进行远端引导和控制。高速互连/网络方案,比如RapidIO技术,能通过处理器节点到架构的连接,完全控制处理器节点。这样可消除用于引导程序的闪存,以及用来驱动复位和中断的各种可编程逻辑器件,从而节省功率和电路板面积。
像以太网控制器这样的传统装置现在似乎具有这样的基本功能,即在没有额外闪存的情况下启动基于FTP的引导程序。在数字用户线接入复用器(DSLAM)应用中,消除每个线卡上的闪存对32线的DSLAM来说可节省大约3W的功率。
处理器的数据输入和输出是提高系统性能的另外一个关注焦点。先进通信计算架构(AdvancedTCA)等新规范也推动着片上高带宽管线的发展,支持通过背板上几个高性能互连的能力是AdvancedTCA的关键优势。到目前为止,每个这样的互连都需要外部芯片。
现在设计用于AdvancedTCA的处理器具有片上高带宽管线,无需外部器件就可实现从背板到处理器的千兆位以太网、串行RapidIO和PCI-Express的直接连接,这在功率、电路板面积、开发时间和系统成本方面提供了最佳解决方案。
在芯片上集成这样的接口还允许优化内核和接口之间的处理。例如在千兆以太网模块中,接口硬件可以以线速执行一些早期的分析和分类,将不同类型的帧送到不同的缓冲池,并将头帧传输到2级缓存以便更快地被微处理器内核处理。这种方法通过在接口和内核之间建立一个处理管线,大大减轻了内核的负担。
嵌入式设计工程师可利用各种节省处理器功率的机会。例如,动态频率切换(DFS)允许软件在一个时钟周期内显著地改变处理器运行时的内核频率,它无需插入空周期或者对器件进行复位,且处理器仍保持完整功能。这样一般可节省45%的功率。
嵌入式应用推动了另外一些减少发热特性的产生。一些新型处理器具有集成的DPM功能,当执行单元没有使用的时候,该功能可以自动停止向它们提供功率。另外一个实例是指令缓存节流,这种技术通过降低最高的指令执行速率,使DPM的影响最大化。
低功率模式经常被忽视而没有得到利用。有了现在的高性能嵌入式处理器,“开”或“关”不再是一个问题。新的处理器可有多个状态,如运行、打盹、小睡、睡眠以及深度睡眠模式等,每种状态下对处理器时钟、PLL以及是否响应监听和中断都有相关设置。例如,在睡眠模式下,通常PLL处于开通状态,而内部时钟则完全关闭。尽管中断能使处理器转换到完全开通的状态,但处理器经常对监听不响应。这些模式可使处理器处于对外部时间反应的不同灵敏度和功耗级别,通过正确应用这些模式可实现主要的功率节省。充分利用这些可用特性的经过优化的软件设计,将会实现额外的功率节省。
嵌入式微处理器基准协会(EEMBC)自1997年建立以来,已成功地重新定义了嵌入式处理器的基准,EEMBC认为功率是嵌入式系统设计的首要关注点,并正在考虑定义评价能耗的基准。
直到现在,设计工程师还不得不依赖处理器提供商,以及他们自己在各种状态下测试“典型功率”的技术,一种可靠、一致、可理解的功耗基准将对设计工程师非常有好处。EEMBC期望在运行现有的基准套件同时测量能耗,然后将结果以焦耳值的形式给出,或者用一个累计的"PowerMark"分数来概括。
SIMD引擎能实现高度并行的运算,允许依靠指令级执行单元在单个时钟周期里同时执行多个运算,这些指令级执行单元可并行运行现有的整数和浮点单元。EEMBC认证结果表明,其运算速度比电信基准的标量处理(scalar processing)速度高12倍。这些包括用在无线基站基带处理中的维特比解码算法和卷积编码等算法。这些结果是通过用C语言编码获得的,尽量减少了对手工代码汇编的需求。设计工程师在任何可能的情况下都避免汇编,而是通过他们自己的C编码和处理器供应商提供的汇编优化库来获得性能。重要的是,获得这些SIMD引擎性能增量仅只需增加5-10%的处理器功率。
SIMD引擎也可给软件投资带来可观回报,在对功率影响最小的情况下获得重大的性能提升。
低功率嵌入式系统在其它方面带来系统设计新的挑战,例如电源管理。不断缩小的处理器尺寸增加了电流并降低了电压。容量更大、速度更快的存储器其瞬变过程也更快,这需要电源具有更好的吸收和输出电流的能力。传统用于限制大电流和瞬态电流的PCB上的电阻和电容器件可能导致负载调节能力欠佳,使电路板上的电压发生波动。此外,电路板上不同电压的数量也在增加,增加了电源布线的复杂程度。
一种称为负载点(PoL)的新兴架构标准通过提供更高的电压精度、更少的纹波和更快的瞬态响应,可解决很多这些挑战。它还能提供更多的设计灵活性,因为来自多个供应商的产品的互操作性可得到保障。
系统架构师现在采用新的方法来处理嵌入式应用中的发热和功率问题。一种方法是构建能承受和发散更多热量的物理尺寸更大的系统,用于电信基础设施的AdvancedTCA规范就是这样的例子。作为一个概念验证平台,AdvancedTCA规范受到运营商、设备制造商和器件供应商的欢迎。多个供应商和产品都可使用的通用外形尺寸的问世,显著减少了原型开发时间和成本。
然而,AdvancedTCA在制造基础设施上应用的广泛程度仍然是个未知数,功率、体积和成本是主要考虑因素。设计工程师采纳的替代方法利用了集成的双内核微处理器中的最新技术,使它们每毫瓦的处理能力最大。与其被迫采用一种基础设施系统来处理产生的热量,设计工程师更愿意在第一阶段中避免产生热量。
对称多处理器(SMP)双处理器应用是双内核器件明显的应用目标。在这些应用中,处理器共享相同的操作系统(OS)和存储器。两个分离的处理器和它们的系统逻辑可以全部集成在一个器件里。
一个常见的误解是认为双内核器件仅限于SMP应用。采用智能设计,设计工程师可增加必要的hook函数和功能性,以允许不仅支持在每个内核上具有相同操作系统的非SMP处理器,还支持每个内核不同的操作系统。设计工程师利用这种灵活性衔接现有操作系统(通常是专用的)与新兴操作系统,如Linux。操作系统供应商通过定义标准化的通信方法进行合作,以实现双内核器件中操作系统之间的这种“协同不对称多处理”功能。
灵活利用集成的多内核处理器特性和技术,可为许多嵌入式应用实现外形尺寸小、成本低、性能可靠的系统。很明显,集成的双内核微处理器正在改变架构现状。专门为嵌入式应用而设计的新型处理器,可实现在特定功率预算内大大提高计算密度的高性能系统设计。