【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI

简介: 【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI

   



0x00 响应时间和吞吐量(Response Time and Throughput)

响应时间 (Response time):完成任务所需的时间

吞吐量 (Throughput):每个单位时间内完成的总工作量 (比如: tasks/transactions... per hours)

存在多种因素可以对响应时间和吞吐量造成影响,包括但不限于:

  • 处理能力:通过升级到更快的处理器或添加更多处理器,可以减少响应时间并增加吞吐量。这是因为更快或更强大的处理器可以在更短的时间内处理更多的任务。
  • 系统负载:如果系统过载,处理过多的任务或用户,将会对响应时间和吞吐量产生负面影响。这是因为系统可能无法处理工作负荷,导致响应时间更长,吞吐量降低。
  • 网络延迟:如果网络延迟较高,响应时间和吞吐量可能会受到影响。这是因为数据传输需要更长的时间,从而导致响应时间变长和吞吐量降低。

换更快的处理器?添加更多的处理器?本章我们更关注的是 响应时间 (Response time) 。

0x01 相对性能(Relative Performance)

📚 定义:性能 =  1 / 执行时间

倍:

💭 举个例子:运行程序所需时间,在 机器上为 10s,在 机器上为 15s

因此, 快 1.5 倍。

0x02 执行时间测量(Measuring Execution Time)

执行时间测量 (Measuring Execution Time) 指的是在计算机程序中测量代码执行所需的时间。这通常是通过在代码开始和结束时记录时间戳来实现的,然后计算时间戳之间的差异来计算程序执行所需的时间。

执行时间测量通常是性能优化和调试代码的重要工具。通过测量程序中不同部分的执行时间,开发人员可以确定哪些部分需要进行优化,以使程序更加高效。

在实际应用中,执行时间测量可以使用多种不同的技术和工具来实现,例如内置的计时器函数、性能分析工具、代码覆盖率工具等等。不同的方法适用于不同的场景和需求。

总的反应时间 (Elapsed time):

  • 总响应时间,包括所有方面 (Processing, I/O, OS overhead, idle time)
  • 确定系统性能

CPU 时间 (CPU time):

  • 用于处理给定作业的时间 (Discounts I/O time, other jobs’ shares)
  • 包括用户 CPU 时间和系统 CPU 时间
  • 不同的程序受 CPU 和系统性能的影响不同

0x03 CPU 时钟(Clocking)

CPU Clocking(CPU 时钟)指的是计算机 CPU 内部的时钟系统。这个时钟系统会以固定的速率来发出脉冲信号,这些信号会让 CPU 的不同部件在每个时钟周期内执行相应的操作。

数字硬件的操作受到固定速率时钟的控制:

时钟周期 (Clock period):时钟信号一个完整的循环所需要的时间。

时钟频率 (Clock Rate):每秒钟时钟信号产生的周期数。

0x04 计算CPU时间(T=CC/CR)

性能可以通过减少时钟周期数、增加时钟速度来改善。

硬件设计人员通常需要在时钟速度和时钟周期数量之间进行权衡。

🔺 CPU Time 计算公式如下:

CPU 时间 =CPU 时钟周期数 × 时钟周期

                =CPU 时钟周期数 ÷ 时钟频率

📜 简化记忆:

  • 求 CPU 时间:
  • 求时钟频率 (Clock Rate) :
  • 求时钟周期 (Clock Cycle) :

💭 举个例子:

计算机 A 有 2GHz 的时钟, 10s 的CPU 时间,请设计计算机 B,目标达到 10s 的 CPU 时间。可以使用更快的时钟,但会导致 1.2 × 时钟周期,问计算机 B 的时钟应该多快?

💡 解答:已知 计算

* 根据上述公式 那么

根据题意,使用更快时钟导致 ,并且目标 CPU 时间 ,可列出公式:

此时我们需要计算 A 的时钟周期,根据公式 ,那么时钟周期

此时我们已经得到了 ,带入即可计算出

0x05 指令计数 IC 和 每条指令所需的时钟周期数 CPI

(Instruction Count),指的是 指令计数

(Cycle Per Instrution),指的是 每条指令所需的时钟周期数。即 平均执行周期数

是指在一个程序中,每个时钟周期所执行的平均指令数。这两个概念都是计算机性能评估中的关键指标。通过减少指令计数或降低 CPI,可以提高计算机系统的性能。

📃 简化记忆:

Execution time = (Instruction count * CPI) / Clock rate

程序的指令计数是由程序本身、指令集架构 (ISA) 和编译器所决定的。每个指令的平均时钟周期数取决于CPU硬件。如果不同的指令具有不同的CPI,则平均 CPI 受指令组合的影响。

💭 CPI 计算例子:

计算机 A 的周期时间 = 250ps,CPI = 2.0,计算机 B 的周期时间 为 500ps,CPI = 1.2

ISA 相同,哪台计算机更快?快多少?

💡 题解:根据题意得知:

既然要比谁更快,那么我们分别计算出 A, B 的 CPU Time:

,因此 A 速度更快。

下面计算快多少:

0x06 关于CPI 的更多细节

如果不同的指令类别需要不同的时钟周期数:

加权平均 CPI (Avg):

💭 例子:Alternative compiled code sequences using instructions in classes A, B, C:

💡 解读:Sequence 1 中  

根据公式:

再根据图表给出的 IC, CPI 即可计算出 Clock Cycles:

然后通过公式计算平均:

0x07 性能摘要(Performance Summary)

性能摘要 (Performance Summary) 是指对计算机系统、软件或应用程序性能进行评估、分析和总结的过程。在性能摘要中,可以考虑多种性能指标,如执行时间、吞吐量、响应时间、负载等。通常,性能摘要的目的是发现瓶颈、评估系统的优化潜力、指导系统设计和优化、以及进行比较评估等。在实践中,性能摘要是计算机系统开发和维护中非常重要的一环,可以帮助提高系统的性能、可靠性和稳定性。

性能取决于 算法 (影响 IC,可能影响 CPI)、编程语言 (影响 IC,CPI)、编译器(影响 IC,CPI)、指令集架构(影响 IC,CPI,Tc)。

🔺 计算公式总结:

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

📜 参考资料 

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

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

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

相关文章
|
3月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族详细介绍:计算型c9i、经济型e和通用算力u1实例CPU参数说明
阿里云ECS实例规格族包括计算型c9i、经济型e和通用算力型u1等,各自针对不同场景优化。不同规格族在CPU型号、主频、网络性能、云盘IOPS等方面存在差异,即使CPU内存相同,性能和价格也不同。
327 0
|
5月前
|
存储 缓存 程序员
软考软件评测师——计算机组成与体系结构(CPU指令系统)
本内容详细解析了计算机中央处理器(CPU)的核心架构及其关键组件的工作原理。首先介绍了CPU的四大核心模块:运算单元、控制单元、寄存器阵列和内部总线,并阐述其在数据处理中的核心职责。接着深入探讨了算术逻辑部件(ALU)的功能与专用寄存器的作用,以及通用寄存器对性能提升的意义。随后分析了控制单元的指令处理流程及特殊寄存器的功能。此外,还解析了寄存器系统的分类与设计特点,并对比了不同内存访问模式的特点与应用场景。最后,通过历年真题巩固相关知识点,帮助理解CPU各组件的协同工作及优化策略。
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
385 3
|
8月前
|
存储 智能硬件
CPU的定义与功能与架构
CPU(中央处理器)是计算机的核心部件,负责执行程序指令、控制数据传输和进行运算。它能处理算术与逻辑运算,并协调其他硬件协同工作。x86架构源于英特尔,适用于PC和服务器,采用复杂指令集;ARM架构则由Acorn等公司开发,广泛用于移动设备和嵌入式系统,采用精简指令集,功耗低且能效比高。
913 5
|
11月前
|
人工智能 缓存 并行计算
转载:【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,讲解了CPU算力的计算方法、算力与数据加载之间的平衡,以及如何通过算力敏感度分析优化计算系统性能。同时,文章还考察了服务器、GPU和超级计算机等平台的性能发展,揭示了这些变化如何塑造我们对CPU性能的理解和期待。
转载:【AI系统】CPU 计算本质
|
12月前
|
存储 人工智能 编译器
【AI系统】CPU 指令集架构
本文介绍了指令集架构(ISA)的基本概念,探讨了CISC与RISC两种主要的指令集架构设计思路,分析了它们的优缺点及应用场景。文章还简述了ISA的历史发展,包括x86、ARM、MIPS、Alpha和RISC-V等常见架构的特点。最后,文章讨论了CPU的并行处理架构,如SISD、SIMD、MISD、MIMD和SIMT,并概述了这些架构在服务器、PC及嵌入式领域的应用情况。
916 5
|
12月前
|
人工智能 缓存 并行计算
【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,解释了算力计算方法、数据加载与计算的平衡点,以及如何通过算力敏感度分析优化性能瓶颈。同时,文章还讨论了服务器、GPU和超级计算机等不同计算平台的性能发展趋势,强调了优化数据传输速率和加载策略的重要性。
524 4
|
12月前
|
缓存 人工智能 算法
【AI系统】CPU 计算时延
CPU(中央处理器)是计算机系统的核心,其计算时延(从指令发出到完成所需时间)对系统性能至关重要。本文探讨了CPU计算时延的组成,包括指令提取、解码、执行、存储器访问及写回时延,以及影响时延的因素,如时钟频率、流水线技术、并行处理、缓存命中率和内存带宽。通过优化这些方面,可以有效降低计算时延,提升系统性能。文中还通过具体示例解析了时延产生的原因,强调了内存时延对计算速度的关键影响。
293 0
|
存储 缓存 开发者
CPU的架构涵盖哪些方面
CPU(中央处理单元)的架构指的是CPU的设计和组织方式,包括其内部结构、数据通路、指令集、寄存器配置、存储器管理和输入输出等一系列设计原则和技术的综合体现。
355 1
|
算法 C++
如何精确计算出一个算法的CPU运行时间?
如何精确计算出一个算法的CPU运行时间?

热门文章

最新文章