多核革命 AMD首席技术官帮你解密CPU
AMD首席技术官Phil Hester
本文旨在深入讨论微处理器设计领域中“平衡”与“优化”的含义。
● 首先介绍一下处理器术语
◎多核处理器出现之前,技术领域是什么状况?
在试图介绍多核计算发展之前,我们有必要先在术语和目标方面达成共识。令人讶异的是,这一领域中的很多常用词汇用在计算产品的生产方、采购方和用户方,涵义迥然不同。若针对这些不同的涵义进行研究,将显著增加复杂度和权衡取舍的难度,而它们对于工程设计流程却是至关重要的。
“平衡”的概念:
对于“平衡”,韦氏在线辞典共列出了 12 个定义,其中与本文关系最为密切的定义有两个:
第5项
a:由于在垂直轴的两端分布等量的重量而产生的稳定性。
b:在对比、对立或交互元素间的均衡性。
c:账目两端的总值相等。
第6项
a:在美学意义上多个元素的完美整合
在计算机系统中,人们对于“平衡”的理解多是这两种概念。前者是定量、分析性的,但却试图迅速将这一定义结合到各种复杂因素之中。计算机系统应该在哪些属性上体现出“对称分布”?我们认为,这些重要的属性包括:成本、价格、功耗、物理尺寸、可靠性以及众多相对独立的性能属性的任意主体。在选择哪些属性实现“平衡”,或如何将多种属性比较整合成单一的“平衡”标准时,将不会存在显而易见的“正确答案”。
当考虑计算机系统的多维设计/配置空间时,“平衡”的美学定义带有设计者强烈的个人色彩,但应用到工程和业务空间上时,如果忽略定量因素,则会使整个 “平衡”概念失去效用。
这些标准定义的缺乏表明了一种不容忽视的微妙关系。在本文中,我们很高兴能够继续使用“平衡”一词,但需要指出,在清晰定义的定量环境中(包括如何将它们组成单一的优化问题),该词只具有数量含义。
“优化”的概念
对于“优化”,韦氏在线辞典中仅列出 1 个定义:使事物(例如一个设计、系统或决策)尽可能完美、起作用或有效的一种行动、流程或方法;具体指参与其中的数学程序(例如找到函数的最大值)。
对于此术语,计算机用户最常见的使用错误,是错误地将编译器理解为“优化器”,在此情况下,往往只将“优化”用作“改进”的同义词。虽然词意相近,但优化(在其数学含义中)指的是在存在约束的条件下(也可能只是由目标功能自身产生的约束限制),将特定的目标功能最小化或最大化。与之对照,“改进”是指“使事物变得更好”,并不具有“优化”概念中至关重要的“权衡”的意义。
计算机系统设计中的优化是指,选择使特定目标功能最大化或最小化的参数,同时,还通常为其他目标功能提供“次级优化”解决方案。在普遍使用的目标功能中,有很多参数相互矛盾,例如,低成本与高性能、低功耗与高性能等。设计参数一旦相互抵触,就将根据具体目标功能的量化公式找到“最优”设计点——例如明确要求,提升10%的性能(或把功耗降低 10%)对其他设计目标会产生怎样的影响?
【文章导航】
●首先介绍一下处理器术语
◎多核处理器出现之前,技术领域是什么状况?
核心概念:考查到处理器设计的“平衡和优化”
如何做才能达到性价比的平衡
我们先来假设几种设计方案,以此来看CPU的成本核算
●回顾在多核心芯片设计中最初开发遇到的问题
◎生产更小的芯片
◎提升缓存来提升整体的性能
◎增加CPU内核心数量
◎反思这样做究竟能带来性能提升有多少?
◎补充说明
●多核心处理器当前和短期内需要面对的问题
◎功耗问题
◎功耗与吞吐量及核心和核心数量的矛盾
◎市场需求问题
与操作系统的不兼容
价格趋势
“杀手级”处理器的诞生
●未来多核心处理器的发展方向
◎SoC(SMP on a Chip)的发展
◎设计空间爆炸式增长
◎处理器核心异构化
◎CPU未来会有多少个核心?
◎内存带宽的挑战?
●总结AMD技术发展趋势