1971年11月,英特尔推出了世界上第一款单芯片微处理器,Intel 4004。它拥有2300个晶体管,运行频率高达740 KHz,每秒可执行60,000条指令,功耗为0.5瓦。随后的四十年见证了计算能力的指数级增长,这一趋势促成了气候建模、蛋白质折叠以及计算愤怒的小鸟的实时弹道轨迹等各种应用。今天的微处理器芯片采用数十亿个晶体管,在单个硅芯片上包含多个处理器核心,运行频率以千兆赫兹为单位,性能是原始 4004 的 400 多万倍。
这些令人难以置信的进步来自哪里?本文通过介绍 CPU DB (cpudb.stanford.edu) 来阐明这个问题,CPU DB 是斯坦福大学的 VLSI(超大规模集成)研究小组在几代处理器(和学生)中收集的一个开放且可扩展的数据库。我们收集了来自 17 家制造商的商业处理器的信息,并将其放入 CPU DB 中,该数据库现在包含过去 40 年中 790 个处理器的数据。
此外,我们提供了一种方法,将技术扩展的影响与其他领域(例如,架构和软件)的改进区分开来,从而可以比较使用不同技术构建的机器。为了展示此数据和分析的实用性,我们使用它将处理器改进分解为来自器件物理尺寸缩小以及微架构、编译器和软件技术改进的贡献。
虽然关于当前处理器的信息很容易找到,但很少以对研究社区有用的方式排列。例如,数据表可能包含处理器的功率、电压、频率和缓存大小,但不包含流水线深度或技术最小特征尺寸。即便如此,这些规格通常也无法讲述完整的故事:笔记本电脑处理器在一定频率和电压范围内运行,而不仅仅是包装盒标签上显示的 2 GHz。
毫不奇怪,规格数据变得越来越难找到,处理器越旧就越难找到,特别是对于那些不再制造的处理器,或者更糟糕的是,其制造商已不复存在的处理器。我们收集这类数据已有三十年了,现在以处理器规格的开放式存储库的形式发布。CPU DB 的目标是将详细的处理器规格汇总成方便的形式,并鼓励社区参与,既可以利用这些信息,又可以保持其准确性和时效性。CPU DB (cpudb. stanford.edu) 填充了台式机、笔记本电脑和服务器处理器的数据,我们使用 SPEC13 作为性能测量工具。此外,该数据库还包含有关嵌入式内核的有限数据,我们正在使用 CoreMark 基准测试来衡量其性能。5 随着时间的推移和社区的帮助,我们希望扩大数据库中嵌入式处理器的覆盖范围。
为了方便用户分析不同的处理器特性,CPU DB 包含每个 CPU 的许多数据条目,从物理参数(如金属层数)到总体性能指标(如 SPEC 分数)。为了更轻松地查看相关数据,数据库包含摘要字段,例如标称时钟频率,这些字段试图表示更详细的缩放数据。表 1 显示了 CPU DB 参数的当前列表。表 2 总结了“微架构”规格。
如今,所有高性能处理器都会在允许的值范围内告诉系统它们需要的供电电压。这使得跟踪电源电压随时间的变化变得困难。研究人员无需依赖指定的worst-case行为,而是可以自由地分析处理器在运行应用程序时实际使用的功率、频率和电压,然后将其添加到 CPU DB 存储库中。表 3 总结了 CPU DB 中跟踪的测量参数。
虽然 CPU DB 包含大量处理器数据字段,但架构社区的某些成员可能希望探索我们未曾考虑包含的数据字段。为了处理这种情况,鼓励用户建议新的数据列。这些建议将被审查,然后输入到数据库中。
类似的系统有助于保持 CPU DB 的准确性和最新性。用户可以提交新处理器和架构的数据,并建议更正数据条目。我们理解用户可能没有所有规格的数据,我们鼓励用户提交任何数据字段的子集。新数据和更正将在应用于数据库之前进行审查。
通过这些添加和审查数据的机制,CPU DB 将成为希望将处理器数据纳入其研究的架构师的强大工具。由于许多数据库用户可能希望对原始 CPU DB 数据执行分析,因此可以以逗号分隔值格式下载完整的数据库。
CPU DB 允许并排访问相对简单的按序处理器(直到 20 世纪 90 年代中期)和现代乱序处理器的性能数据。人们可能会问,以较低性能为代价,旧设计的简单性是否赋予了效率优势。不幸的是,使用原始数据进行直接比较很困难,因为多年来,制造技术得到了显着改进。如果两个处理器都使用相同的工艺制造,则可以进行公平的比较;但是由于将所有这些旧处理器移植到现代技术是不可行的,我们需要另一种方法。为了实现此类比较,我们改为估计处理器性能和功耗将如何随技术扩展。
我们的主要性能指标基于行业标准 SPEC CPU2006 分数。13 不幸的是,大多数旧处理器没有运行 SPEC 2006,而是以 MIPS(每秒百万条指令)以及后来的 SPEC 1989、SPEC 1992、SPEC 1995 和 SPEC 2000 来衡量性能。在这些情况下,我们通过使用转换因子将旧分数转换为SPEC 2006 等效分数来估算 SPEC 2006 数字。转换值是通过检查具有两个 SPEC 版本分数的系统,然后取重叠分数之间比率集合的几何平均值来确定的。此方法用于创建数据库中的摘要性能分数。我们还提供原始分数,以便用户可以随着时间的推移开发更好的转换方法。
为了估计处理器如果使用更新的工艺制造的性能,我们使用门延迟数据计算该技术中的时钟频率。虽然处理器上缓存存储器的速度随技术扩展,但到主存储器的延迟随时间推移仅缓慢扩展。因此,将时钟频率加倍通常不会使处理器的性能加倍。我们以微处理器行业相同的方式巧妙地解决了这个问题:通过扩展片上缓存,使内存停顿时间百分比保持不变。使用未命中率与缓存大小的平方根成正比的经验法则,9,14 对于时钟频率的每次加倍,我们将最后一级缓存扩大四倍。因此,我们假设处理器性能随时钟频率扩展,但我们通过增加其缓存来惩罚处理器的能量和面积。
对于时钟周期时间估计,我们需要知道门和导线的延迟将如何扩展。幸运的是,不同逻辑门的延迟缩放是相似的,因此测量单个门的延迟缩放就足够了。我们的分析使用驱动四个等效反相器(扇出为 4,或 FO4)的反相器的延迟作为门速度度量。反相器是最常见的门类型,其延迟通常在技术论文中公布。对于导线延迟,重要的是要记住,设计的面积会随着缩放而缩小,因此其导线延迟通常会缓慢降低,或者最坏的情况是保持不变。它对周期时间的影响取决于内部电路设计。设计人员通常对长导线进行流水线处理,因此它们往往不会限制关键路径。因此,我们忽略导线延迟,并做出稍微乐观的假设,即新技术中处理器的频率将比旧技术到新技术的 FO4 比率更大
使用 FO4 作为基本指标还有一个额外的优势:它可以清晰地涵盖因改变电源电压而产生的性能/能量变化。两个处理器,即使采用相同的技术制造,也可能在不同的电源电压下运行。两者之间的能量差异可以直接从电源电压计算出来,但电压对性能的影响更难估计。使用两种不同电压下这些设计的 FO4 数据提供了所需的所有信息。
在考虑了缩放内存系统的影响后,我们发现估计具有缩放技术的处理器的功耗相当简单。处理器功耗有两个组成部分:动态功耗和泄漏功耗。在优化的设计中,泄漏功耗约为动态功耗的 30%,泄漏功耗将随着动态功耗的扩展而扩展。16
动态功耗由处理器的平均活动因子 (节点在每个周期切换的概率)、处理器频率和切换晶体管的能量的乘积给出
处理器的平均活动因子取决于逻辑而不是技术,因此它随缩放而保持不变。由于单位长度的电容随缩放大致恒定,因此 C 应与特征尺寸 λ 成正比。我们已经估算了频率将如何缩放,因此技术的估计功率和性能缩放为
为了分析处理器效率,最好查看每操作能量而不是功率。能量/操作系数分解了性能和功率与频率(FO4)的线性关系。降低频率会改变功率,但不会改变每操作能量。由于每操作能量与功率与性能的比率成正比,因此我们通过将前两个方程相除来导出下一个方程
使用这些表达式,可以将 CPU DB 处理器的性能和能量标准化为单一工艺技术。虽然英特尔的 Shekhar Borkar et al. 粗略地概述了技术扩展和架构改进如何多年来为处理器性能做出贡献,2 我们的数据和标准化方法可用于生成实际的散点图,显示两个因素之间的分解:更快的晶体管(来自技术扩展)和架构改进。如图 1 所示,工艺扩展和微架构扩展对处理器性能提升的贡献几乎相同。
作为对我们的标准化结果的快速健全性检查,我们在图 2 和图 3 中绘制了标准化性能与晶体管数量和标准化面积的关系图。这些图着眼于 Pollack 定律,该定律指出性能与设计复杂度的平方根成正比。1 Pollack 定律已在许多已发表的研究中用于比较性能与处理器芯片资源使用情况。2,4,10,15 图 2 和图 3 表明,我们的标准化数据与 Pollack 定律非常吻合,这表明我们的标准化方法准确地代表了设计性能。
收集此数据库的不错的附带好处之一是,它可以让人了解芯片复杂性、电压和功率如何随时间扩展,以及扩展预测与现实的比较情况。特征尺寸缩小的速度近年来有所加快(图 4)。直到 130 纳米(纳米)工艺世代,特征尺寸缩小了
大约每两到三年缩小一个系数。然而,自 90 纳米世代以来,大约每两年推出一种新工艺。英特尔似乎正在推动这一紧张的日程安排,并且自 180 纳米世代以来一直是每种工艺的首批上市厂商之一。
由于这种指数级缩放,自英特尔 80386 发布以来的 25 年中,晶体管面积缩小了近 4,000 倍。如果特征尺寸缩小是驱动处理器密度的全部因素,那么晶体管数量的扩展速度将相同。然而,对商业微处理器的分析表明,晶体管数量实际上增长了 16,000 倍。
晶体管增长速度超过特征尺寸的一个简单原因是处理器芯片尺寸增加了。虽然 80386 微处理器的芯片尺寸为 103 mm2,但现代英特尔酷睿 i7 芯片的面积高达 296 mm2。然而,这并不是晶体管扩展背后的全部故事。图 5 显示了与技术无关的晶体管密度,方法是绘制平均处理器晶体管占据的最小特征正方形的数量。我们通过取芯片面积、除以特征尺寸的平方,然后除以晶体管数量来生成此数据。从 1985 年到 2005 年,增加的金属层和更大的缓存结构(及其高晶体管密度)使晶体管的平均尺寸缩小了四倍。有趣的是,自 2005 年以来,晶体管密度实际上下降了大约两倍。虽然我们的数据没有表明这种变化的原因,但我们怀疑这可能是亚波长光刻更严格的设计规则、处理器中使用更强大的逻辑样式以及芯片多处理器中用于缓存的处理器面积百分比缩小的综合结果。
我们的数据还提供了一些有趣的见解,了解电源电压如何随时间扩展。大多数人都知道电压随技术特征尺寸扩展,因此许多人认为这种扩展与特征尺寸成正比,正如 Robert Dennard 在 1974 年的文章中最初提出的那样。6 正如他和其他人所指出的那样,以及如图 6 所示,电压的扩展速度与特征尺寸不同步。3,12 直到大约 0.6 微米节点,处理器都保持 5 伏的工作电压,因为那是当时流行的逻辑系列的常用电源电压,并且处理器功耗不是问题。直到制造商在 0.6 微米世代转为 3.3 伏电压后,电压才开始随特征尺寸扩展。将曲线拟合到从半微米到 0.13 微米工艺世代的电压数据,我们的数据表明,即使在电压扩展时,其扩展速度也大约为特征尺寸的平方根。这种较慢的扩展速度归因于以更高的芯片功率密度为代价,获得更快的门和更好的抗噪声和工艺变化的双重好处。
从 0.13 微米世代开始,电压扩展似乎已经放缓。然而,与此同时,从我们的数据中估计电压趋势变得更加困难。如前所述,如今几乎所有处理器都定义了自己的工作电压。数据表只有工作范围。图 6 绘制了最大指定电压。更多用户数据应提供有关电源电压实际扩展方式的见解。
电路设计人员和微架构师不满足于随门速度扩展频率——如果他们满足于此,那么今天的微处理器将仅以大约 500 MHz 的速度运行。如图 7 所示,频率的扩展速度远快于简单的门速度。造成这种差异的原因很大程度上是由于架构决策减少了每个处理器流水线阶段的逻辑深度,并增加了阶段数量。从 1985 年到 2000 年左右,由于更快、更并行地实现加法器、分支单元和缓存的电路,以及积极的流水线的使用,频率迅速增加。这些趋势在英特尔 80386 的两级提取/执行流水线与 Prescott 奔腾 IV 中的 30 多个流水线阶段之间的对比中显而易见。
自 2000 年以来,处理器频率停滞不前,但这并不是全部情况。我们的数据证实,门速度随着技术进步而持续提高。然而,现在不同的是,行业已经远离深度流水线机器,现在正在设计每个流水线阶段完成更多工作的机器。这种改变的原因很简单:功率。虽然短周期机器是可能的,并且从性能角度来看可能是最佳的,7,11,14 但它们并非节能高效。8
鉴于电压扩展速度较慢,频率扩展速度较快,处理器功率随时间推移而增加也就不足为奇了。如图 8 所示,从 80386 发布到 2005 年,处理器功率密度增加了 32 倍以上,尽管最近随着节能计算重要性的提高,处理器功率密度已开始下降。
有趣的是,扩展规则表明功率应该更差。从英特尔 80386 到奔腾 4,特征尺寸缩小了 16 倍,电源电压缩小了约 4 倍,频率提高了 200 倍。这意味着功率密度应该增加 16 · 200/42 = 200 倍,远大于图 8 中显示的 32 倍功率密度增加。图 9 将观察到的功率与如果我们只是扩展英特尔 386 架构以匹配新处理器的性能,功率应该如何扩展进行了比较。八倍的节省代表了在此期间为控制功率而进行的电路和微架构优化(例如时钟门控)。这些技术的节能效果最初一直在增长,但不幸的是,最近似乎已稳定在八倍左右。如果我们希望继续扩展性能,这不是一个好兆头,因为能量的技术扩展正在放缓。
在工艺技术人员寻找扩展晶体管的方法的同时,处理器架构师也在微架构层面努力工作,不断进步和创新。事实上,这种效果可以在 CPU DB 中看到,在对技术进行标准化之后,我们观察到自英特尔 80386 时代以来,微架构/软件性能提高了 100 倍。从历史上看,随着每个芯片的晶体管数量随着技术扩展而增加,架构师找到了利用这些晶体管来创建更快、更先进的单处理器的方法。除了积极的时钟扩展之外,架构师还实现了推测执行、并行指令发布、乱序处理和更大的缓存等功能——所有这些都有助于提高单线程性能。
到 2005 年左右,日益复杂的处理器,加上放缓的电压扩展,导致处理器遇到了新的约束:功率墙。这导致了行业的重大转变。摩尔定律意味着处理器设计人员仍然可以期待越来越多的晶体管,但他们必须以节能的方式使用这些晶体管;现在提高性能意味着降低每条指令的能量,以保持功率恒定。为了应对这一挑战,行业转向 CMP(芯片多处理器)设计,该设计使用许多简单的处理器来提高芯片的总性能。
图 10 绘制了技术标准化能量/操作与标准化性能的关系图。对于此图,我们假设扩展缓存大小所需的功率与处理器功率相比很小,这为这些早期机器的效率提供了乐观的假设。此图表明,对于早期的处理器设计,每操作能量保持相对恒定,而性能则向上扩展。
然而,我们从该图中注意到,一些早期处理器(例如,奔腾)似乎比现代处理器设计更节能。为了更公平地估计这些处理器的缩放能量,我们按频率改进的平方来缩放缓存,以保持内存停顿百分比恒定,并且我们估计 45 纳米低功耗 SRAM 的功耗约为 0.5 瓦/兆字节。包括此缓存能量校正因子会产生图 11 中的结果。比较这两个图表明内存系统对于低能量处理器有多么重要。对于简单的处理器,我们估计的大型片上缓存的泄漏功率使每条指令的能量成本增加了四到八倍。
然而,令人惊讶的是,最初的奔腾设计仍然比图中的其他设计更节能。显然,需要进行更多分析才能了解这种明显的效率是否可以在未来的机器中加以利用。
近年来,台式机处理器已转向高吞吐量并行机器。随着这种转变,处理器设计人员是否能够扩展单核性能尚不清楚。对图 12 中数据的简要分析表明,单核性能继续随着每个新架构而扩展。在架构内部,性能很大程度上取决于部件的频率和缓存大小。图 13 通过绘制几种现代处理器设计的性能与频率和缓存大小的关系图来说明了这一点。每个新架构的频率扩展速度都比以前慢,并且峰值频率现在通常仅在其他处理器核心空闲时才使用。图 14 绘制了以门延迟测量的周期时间,并显示了处理器时钟频率似乎已停滞的原因:处理器转向了更短的流水线,而由此产生的较慢频率花费了一些时间才赶上旧的超流水线速率。
更有趣的是,即使在控制频率和缓存大小的影响时,单核微架构性能仍在随着每一代芯片而提高(图 13)。片上内存控制器和额外的执行单元等改进都在决定整体系统效率方面发挥作用,并且架构师仍在寻找可以进行的改进。
然而,我们的结果带有一个警告,即现代单核性能的部分性能提升来自编译器优化。图 15 显示了 SPEC 2006 基准测试 Libquantum 在英特尔 Bloomfield 架构上的性能如何随时间扩展。Libquantum 将大量计算集中在一个可以优化的内部 for 循环中。因此,Libquantum 分数提高了 18 倍,而底层硬件没有任何改进。此外,许多现代处理器的 SPEC 分数都是在开启 Auto Parallel 标志的情况下测量的,这表明测量的“单核”性能可能仍受益于多核计算。
在过去的 40 年里,VLSI 设计人员运用了大量的工程专业知识来创造和改进我们称之为微处理器的这些神奇设备。因此,性能得到了提高,每操作能量降低了多个数量级,使这些设备成为我们信息技术基础设施的动力引擎。CPU DB 旨在帮助探索该领域。使用 CPU DB 中的数据和一些简单的扩展规则,我们进行了一些初步研究,以展示可能进行的分析类型。我们鼓励读者探索 CPU DB 中的处理器数据并为其做出贡献,并且我们期待从他们开发的见解中了解更多关于处理器的信息。
有关在线 CPU 数据库以及如何贡献数据的更多信息,请访问 http://cpudb.stanford.edu
Omid Azizi (Hicamp Systems, Inc.)
John S. Brunhaver II (斯坦福大学)
Ron Ho (Oracle)
Stephen Richardson (斯坦福大学)
Ofer Shacham (斯坦福大学)
Alex Solomatnikov (Hicamp Systems, Inc.)
1. Borkar, S. 2007. 千核芯片:技术视角。载于第 44 届年度设计自动化会议论文集:746-749; http://doi.acm.org/10.1145/1278480.1278667。
2. Borkar, S., Chien, A. A. 2011. 微处理器的未来。《美国计算机协会通讯》54(5): 67-77; http://doi.acm.org/10.1145/1941487.1941507。
3. Chang, L., Frank, D., Montoye, R., Koester, S., Ji, B., Coteus, P., Dennard, R., Haensch, W. 2010. 高效节能计算技术的实用策略。《IEEE 汇刊》98(2): 215-236。
4. Chung, E. S., Milder, P. A., Hoe, J. C., Mai, K. 2010. 单芯片异构计算:未来是否包括定制逻辑、FPGA 和 GPGPU?载于第 43 届年度 IEEE/ 国际微架构研讨会论文集:225-236; http://dx.doi.org/10.1109/MICRO.2010.36。
5. CoreMark,EEMBC 基准测试。嵌入式和台式 CPU 的 CoreMark 分数; http://www.coremark.org/home.php。
6. Dennard, R., Gaensslen, F., Yu, H., Rideout, V., Bassous, E., LeBlanc, A. 1999. 具有极小物理尺寸的离子注入 MOSFET 的设计。《IEEE 汇刊》87(4): 668-678(转载自 IEEE 固态电路杂志,1974 年)。
7. Hartstein, A., Puzak, T. 2002. 微处理器的最佳流水线深度。第 29 届年度国际计算机架构研讨会论文集:7-13。
8. Hartstein, A., Puzak, T. 2003. 最佳功率/性能流水线深度。第 36 届年度 IEEE/ 国际微架构研讨会论文集(12 月):117-125。
9. Hartstein, A., Srinivasan, V., Puzak, T. R., Emma, P. G. 2006. 缓存未命中行为:是 √2 吗?第三届计算前沿会议论文集:313-320; http://doi.acm.org/10.1145/1128022.1128064。
10. Hill, M., Marty, M. 2008. 多核时代下的阿姆达尔定律。《计算机》41(7): 33-38。
11. Hrishikesh, M., Jouppi, N., Farkas, K., Burger, D., Keckler, S., Shivakumar, P. 2002. 每个流水线阶段的最佳逻辑深度为 6 到 8 个 FO4 反相器延迟。第 29 届年度国际计算机架构研讨会论文集:14-24。
12. Nowak, E. J. 2002. 当扩展停滞时,保持 CMOS 扩展的优势。《IBM 研究与开发杂志》46(2.3):169-180。
13. SPEC(标准性能评估公司)。2006. SPEC CPU2006 结果; http://www.spec.org/cpu2006/results/。
14. Sprangle, E., Carmean, D. 2002. 通过实施更深的流水线来提高处理器性能。第 29 届年度国际计算机架构研讨会论文集:25-34。
15. Woo, D. H., Lee, H.-H. 2008. 多核时代能源高效计算的阿姆达尔定律扩展。《计算机》41(12): 24-31。
16. Zhang, X. 2003. 使用功率编译器和多 Vt 库的高性能低泄漏设计。SNUG(Synopsys 用户组)欧洲。
喜欢或讨厌?请告诉我们
Andrew Danowitz 获得了哈维穆德学院的通用工程学士学位和斯坦福大学的电气工程硕士学位,目前是斯坦福大学电气工程博士候选人。Andrew 的研究重点是可重构硬件设计方法和节能高效架构。
Kyle Kelley 是斯坦福大学电气工程博士候选人。他的研究兴趣包括节能高效 VLSI 设计和并行计算。Kelley 拥有哈维穆德学院的工程学士学位和经济学文学学士学位,以及斯坦福大学的电气工程硕士学位。
James Mao 是斯坦福大学 VLSI 研究小组的博士候选人,致力于混合信号设计的验证工具。他拥有加州理工学院的电气工程学士学位和斯坦福大学的电气工程硕士学位。
John P. Stevenson 毕业于美国海军学院,曾在USS 洛杉矶号 (SSN-688) 担任军官,之后进入斯坦福大学的博士课程。他的兴趣包括计算机架构和数字电路设计。他正在研究新型存储系统架构。不工作时,他喜欢冲浪。
Mark Horowitz 是斯坦福大学电气工程系主任和雅虎创始人教授,也是 Rambus, Inc. 的创始人。他是 IEEE 和 会士,并且是美国国家工程院和美国艺术与科学院院士。Horowitz 博士的研究兴趣非常广泛,从将 EE 和 CS 分析方法应用于分子生物学问题到为模拟和数字 VLSI 电路创建新的设计方法。
© 2012 1542-7730/12/0400 $10.00
最初发表于 Queue vol. 10, no. 4—
在 数字图书馆 中评论本文
Michael Mattioli - 客户端计算硬件中的 FPGA
FPGA(现场可编程门阵列)非常通用。它们广泛应用于各种应用和行业,在这些应用和行业中,使用 ASIC(专用集成电路)在经济上不太可行。尽管设计人员在将 FPGA 集成到设备中时面临面积、成本和功耗方面的挑战,但它们提供了显着的安全性和性能优势。其中许多优势可以在客户端计算硬件(如笔记本电脑、平板电脑和智能手机)中实现。
Christoph Lameter - NUMA(非统一内存访问):概述
NUMA (非一致性内存访问) 是一种现象,即处理器地址空间中不同位置的内存具有不同的性能特征。在当前的处理器速度下,从处理器到内存的信号路径长度起着重要的作用。信号路径长度的增加不仅增加了内存的延迟,而且如果信号路径被多个处理器共享,还会迅速成为吞吐量瓶颈。内存的性能差异首先在大型系统中变得明显,在这些系统中,数据路径跨越了主板或机箱。这些系统需要修改后的操作系统内核,并支持 NUMA,这些内核明确理解系统内存的拓扑属性(例如,内存区域所在的机箱),以避免过长的信号路径长度。
Bill Hsu, Marc Sosnick-Pérez - 实时 GPU 音频
如今的 CPU 能够为许多流行的应用程序支持实时音频,但是,一些计算密集型音频应用需要硬件加速。本文着眼于一些实时声音合成应用,并分享了作者在 GPU(图形处理单元)上实现这些应用的经验。
David Bacon, Rodric Rabbah, Sunil Shukla - 面向大众的 FPGA 编程
当考察硬件如何影响计算性能时,我们看到,通用处理器 (GPP) 位于频谱的一端,而专用集成电路 (ASIC) 则位于另一端。处理器具有很高的可编程性,但在功耗和性能方面通常效率低下。ASIC 实现专用且固定的功能,并提供最佳的功耗和性能特性,但任何功能上的更改都需要对电路进行完全(且极其昂贵)的重新设计。