【计算机架构】计算 CPU 动态功耗 | 集成电路成本 | SPEC 基准测试 | Amdahl 定律 | MIPS 性能指标

简介: 【计算机架构】计算 CPU 动态功耗 | 集成电路成本 | SPEC 基准测试 | Amdahl 定律 | MIPS 性能指标

 

  本篇博客全站热榜排名:8



0x00 动态功耗(Dynamic Power)

电力趋势(Power Trends)

芯片在工作时晶体管处于跳变状态所产生的功耗,我们称之为 动态功耗 (Dynamic Power)。

在 CMOS 集成电路技术方中,动态功耗计算:功率 = 电容性负载 × 电压^2 × 频率

Capacitive load 为电容性负载,当 Frequency 增大时,可以减少 Voltage 降低功耗。

然而,当 Voltage 持续减小到一定程度,再减小将会导致静态功耗增大,无法有效散热。

The power wall:我们无法进一步降低电压,我们无法消除更多的热量。

⚡ 简化记忆:

Reducing Power:我们假设一个新的 CPU ,比旧 CPU 的 85% 的电容性负载 (capacitive load),

电压 (voltage) 降低15%,频率 (frequency) 降低 15。那么 根据公式

Suppose a new CPU has 80% of capacitive load of old CPU and 10% valtage reduction. How much power reduction with new CPU?

Old CPU  Voltage: 5.3V    ClockRate 1GHz

New CPU Voltage: 3V      ClockRate 2GHz

动态功耗主要包括两部分,即动态开关功耗()和短路功耗()。

动态开关功耗是在逻辑门进行开关事件时产生的功耗,即在 CMOS 逻辑门输出节点电压在逻辑转换过程中由于充电和放电引起的功耗。

在充电过程中,输出节点电压从 0 到 完全转换,其中一半的能量会以热的形式在 PMOS 管导通时被消耗,从而形成动态开关功耗。因此,动态功耗主要由逻辑门的输出电容引起。

另一方面,当 CMOS 逻辑门在有限的上升沿和下降沿(slew)输入电压的驱动下进行开关时,PMOS 和 NMOS 晶体管会在短时间内同步导通,从而在电源和地之间形成一条直流通路,产生短路功耗,这部分功耗被称为短路功耗(PSC)。

需要注意的是,这只是计算 CPU 动态功耗的一个简化公式,实际情况可能会更加复杂,因为现代CPU在设计上会包含更多的功耗管理技术和优化措施,例如动态电压频率调整(DVFS)、体系结构层面的功耗优化等。因此,在实际应用中,需要考虑更多因素来准确估计 CPU 的动态功耗。

0x01 集成电路成本(Integrated Circuit Cost)

与面积和缺陷率的非线性关系:晶片成本和面积是固定的,缺陷率由制造工艺决定,晶片面积由结构和电路设计决定。

0x02 基准测试(SPEC CPU Benchmark)

用来衡量性能的程序,是实际工作负荷的典型代表。标准性能评估公司(SPEC):开发CPU、I/O、网络等方面的基准。SPEC CPU2006:

  • 执行部分程序所需的时间
  • 可忽略I/O,因此重点关注CPU性能
  • 相对于参考机器进行归一化
  • 总结为性能比的几何平均值
  • CINT2006(整数)和CFP2006(浮点)

用于 Opteron X4 2356 的 CINT2006:

0x03 SPEC功率基准测试(SPEC Power Benchmark)

不同工作负荷水平下的服务器耗电量,性能:ssj_ops / sec,功率: 瓦特 (焦耳/秒)

X4 的 SPEC power_ssj2008:

0x04 Pitfall:Amdahl’s 定律

Amdahl's Law(阿姆达尔定律)是一种计算性能的定律,用于衡量在提升计算系统性能时,对某一部分进行优化的效果。它由计算机科学家 Gene Amdahl 在1967年提出,被广泛应用于计算系统的设计和性能优化。

改进计算机的一个方面,并期望在整体性能上有相应的改善:

💬 例子:multiply accounts for 80s/100s,How much improvement in multiply performance to get 5× overall?

Can't be done!

谬误: 闲置时的低功率

回顾一下X4的功率基准:在100%的负载下: 295W,在50%的负载下: 246W (83%),在10%的负载下: 180W (61%)。

谷歌数据中心:大多在10%-50%的负载下运行,在100%的负载下,不到1%的时间。

考虑设计处理器以使功率与负载成正比

0x05 Pitfall:将 MIPS 作为性能指标

在计算机体系结构和处理器设计中,MIPS(Million Instructions Per Second)是一种常用的性能指标,用于衡量处理器的性能。MIPS表示在一秒钟内能够执行的百万条指令数,因此MIPS值越高,表示处理器在单位时间内执行的指令越多,性能越高。

MIPS: 百万条指令每秒(Millions of Instructions Per Second)

不考虑:计算机之间ISA的差异、指令之间的复杂性差异。

(在一个特定的 CPU 上,不同的程序的 CPI 是不同的)

然而,需要注意的是,MIPS并不是唯一的性能指标,它只关注处理器执行指令的速度,而忽略了其他因素,如处理器的微架构、流水线深度、缓存层次结构、并行度等对性能的影响。因此,在实际应用中,综合考虑多个性能指标,如 IPC(Instructions Per Cycle)、CPI(Cycles Per Instruction)、时钟频率、功耗等,可以更全面地评估处理器的性能。

📌 [ 笔者 ]   王亦优
📃 [ 更新 ]   2022.4.25
❌ [ 勘误 ]   /* 暂无 */
📜 [ 声明 ]   由于作者水平有限,本文有错误和不准确之处在所难免,
              本人也很想知道这些错误,恳望读者批评指正!

📜 参考资料 

C++reference[EB/OL]. []. http://www.cplusplus.com/reference/.

Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. .

百度百科[EB/OL]. []. https://baike.baidu.com/.

相关文章
|
3月前
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
114 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
10天前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。
|
5月前
深挖计算机的根:汇编语言与计算机架构之间不可告人的秘密
【8月更文挑战第31天】本文深入探讨了汇编语言与计算机架构之间的重要联系。通过解析汇编语言的基本概念及其与硬件的直接映射关系,文章展示了它在计算机体系中的独特地位。以一个简单的“Hello, World!”汇编程序为例,详细说明了汇编语言如何操作底层硬件。尽管现代软件开发中较少使用汇编语言,但掌握它有助于理解计算机工作原理,对于性能优化和系统编程至关重要。
66 2
|
2月前
|
存储 人工智能 编译器
【AI系统】CPU 指令集架构
本文介绍了指令集架构(ISA)的基本概念,探讨了CISC与RISC两种主要的指令集架构设计思路,分析了它们的优缺点及应用场景。文章还简述了ISA的历史发展,包括x86、ARM、MIPS、Alpha和RISC-V等常见架构的特点。最后,文章讨论了CPU的并行处理架构,如SISD、SIMD、MISD、MIMD和SIMT,并概述了这些架构在服务器、PC及嵌入式领域的应用情况。
132 4
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
95 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
存储 消息中间件 运维
架构升级的救星!流量回放自动化测试的必备指南
大家好,我是小米,一名29岁的技术宅。今天分享一个物联网领域的实用技能——流量回放自动化测试。系统重构后,测试工作量巨大,本文介绍如何通过日志收集和数据回放进行自动化测试,包括离线、实时和并行回放模式,帮助快速定位Bug,提升测试效率和系统稳定性。欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
81 3
|
3月前
|
存储 缓存 数据处理
简述计算机X86架构
【10月更文挑战第3天】本文介绍了计算机的基本工作原理,重点阐述了CPU(中央处理器)及其组成部分:运算单元、数据单元和控制单元的功能。文中解释了CPU通过总线与内存等设备通信的过程,并详细描述了指令执行的步骤,包括指令获取、数据处理和结果存储。此外,还介绍了地址总线和数据总线的作用,以及段寄存器在内存管理中的应用。最后,提供了一些基本的CPU指令示例。文中配有多幅插图帮助理解。
|
4月前
|
网络协议 安全 中间件
系统架构设计师【第2章】: 计算机系统基础知识 (核心总结)
本文全面介绍了计算机系统及其相关技术,涵盖计算机系统概述、硬件、软件等内容。计算机系统由硬件(如处理器、存储器、输入输出设备)和软件(系统软件、应用软件)组成,旨在高效处理和管理数据。硬件核心为处理器,历经从4位到64位的发展,软件则分为系统软件和应用软件,满足不同需求。此外,深入探讨了计算机网络、嵌入式系统、多媒体技术、系统工程及性能评估等多个领域,强调了各组件和技术在现代信息技术中的重要作用与应用。
212 4
|
5月前
|
运维 安全 Linux
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
|
4月前
|
缓存
计算机X86架构
【9月更文挑战第7天】计算机的基本工作原理,重点阐述了CPU(中央处理器)及其内部结构,包括运算单元、数据单元和控制单元的功能。文中还解释了内存、总线(地址总线和数据总线)的作用,并简述了x86架构与操作系统交互的关键部分及基本指令集。

热门文章

最新文章