【5分钟+】计算机系统结构:CPU性能公式

简介: 【5分钟+】计算机系统结构:CPU性能公式

基础知识


CPU 时间:一个程序在 CPU 上运行的时间。(不包括I/O时间)

主频、时钟频率:CPU 内部主时钟的频率,表示1秒可以完成多少个周期。

例如,主频为 4.1GHz,表示每秒可以完成 4.1*109 个时钟周期。


时钟周期:时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。

时钟周期 = 1 / 频率,例如 1/ 4.1*109

CPU 的时钟周期越短,CPU 性能越好。

指令周期:取出并执行一条指令的时间。


程序的时钟周期数

CPU时间 = 执行程序所需的时钟周期数 * 时钟周期时间


公式


指令周期:取出并执行一条指令的时间;

指令周期数CPI:平均每条指令耗费的时钟周期数


CPI = 执行程序所需的时钟周期数 / 所执行的指令条数


上面的公式换位置

执行程序所需要的时钟周期数 = CPI * 所执行的指令条数
CPU时间 / 时钟周期时间   =  CPI * 所执行的指令条数
CPU时间       =  CPI * 所执行的指令条数 * 时钟周期时间


我们约定 IC :所执行的指令条数,所以

CPU时间 = CPI * IC * 时钟周期时间


CPU时间 = (CPI * IC) / 时钟频率


CPIi :第 i 种指令所需要的时钟周期数;

ICi :在程序运行过程中,第 i 种指令被运行的次数;

i 表示序号。


因为时间上 CPU 指令集指令很多,我们需要求得每条指令的平均耗时和程序使用到的指令、指令执行的次数。


总CPU时间为各个指令的 CPU时间 之和。

CPUi = (CPIi * ICi ) / 时钟频率

所以,公式总结如下

微信图片_20220503112510.png


(ICi / IC) 反映了第 i 种指令在程序中所占的比例


例题


各位同学,请看大屏幕:

微信图片_20220503112514.png

先求得未改进前的 CPI,目前有 FP指令(25%)、非浮点指令(75%),还知道了各自的 CPI 。

微信图片_20220503112517.png

方案一改进后,提示的程度等于 (改进前CPI - 改进后CPI)。

因为本身也可以求得 FPSQR 在整体的比例,所以方案一不需要加入 FR。

微信图片_20220503112520.png

看不明白的话,笔者讲解一下。


整体的 CPI 为 2
其中改进前, FPSQR 的 CPI 20*2% = 0.4 ,
其它指令CPI + FRSQR的CPI = 2;其它指令CPI=1.6;
改进后,FPSQR 的 CPI 2*2% = 0.04
提升了 0.36。
改进后的 CPI 需要时间 1.6 + 改进后的FRSQR的CPI = 1.64。


微信图片_20220503112520.png


在上一道题目中,主要还是 CPI 相关的比例求解,相对来说比较容易。

但是如果加上频率和运行时间,则可能会有一些迷茫。此时就不能单纯看 CPI 了,要记住公式:


CPU时间 = CPI * IC * 时钟周期时间


1,计算机 A 的时钟频率为 800MHz,在计算机 A 上运行某程序需要 12S。现在硬件设计人员需要使用新技术设计一台计算机 B,希望能够将程序的运行时间缩短到 8S。使用新技术后,B 的 CPU 时钟频率大幅度提高,但是在 计算机 B 上,运行程序所需要的时钟周期数为 A 上的 1.5 倍。求在计算机 B 的 CPU 时钟频率至少为多少 GHz 才能达到所希望的需求。


也就是说,程序在 A、B 计算机上需要执行的指令数(IC)不变,但是时钟周期数变化了,即 CPI 变成了 1.5 倍。


按照 CPU 时间公式,得到在 A、B 计算机上:

1/800MHz * CPI * IC   = 12S


1/nMHz * 1.5*CPI * IC = 10S


所以:

12/(CPI* 1/800) = 10/(CPI * 1.5 * 1/n )


最终可得到 n 为 1800,所以计算机 B 的 CPU 需要 1.8GHz 才能达到需求。


2,机器 M 的时钟频率为 200MHz,程序 P 在机器 M 上执行时间为 12S。将程序中的所有乘4的指令都换成 <<2 左位移两位的指令,得到程序 P'。在 M 中,乘法指令的 CPI 为 102,左移指令的 CPI 为 2,P 的执行时间为 P’ 的1.2 倍。则 P 中的乘法指令条数为?


在许多习题讲解中,是这样解答的:


P'的执行时间为10s,P的执行时间为P'的1.2倍,即为12s,多了2s,即多了200M×2=4×108个时钟周期,每条乘法指令比左移指令多100个时钟周期,即乘法指令数目为4×108/100=4×106

笔者看了半天还是看不懂。


处理器性能优化的策略


影响CPU性能的三个方面:时钟频率、CPI、指令的条数。

减少指令的条数可以使得CPU更加简洁、使用较少的寄存器,系统代码也会别的更加简洁。例如 RISC-V。底层的指令减少,上层例如操作系统、汇编程序需要编写的代码亦会变多。


但是因为各种指令使用到的频率和周期内不同信息的访问次数,设计CPU是要考虑到优化指令的执行速度,优化高频访问的指令,分配更多的资源。例如X86。

相关文章
|
3月前
|
存储 缓存 程序员
软考软件评测师——计算机组成与体系结构(CPU指令系统)
本内容详细解析了计算机中央处理器(CPU)的核心架构及其关键组件的工作原理。首先介绍了CPU的四大核心模块:运算单元、控制单元、寄存器阵列和内部总线,并阐述其在数据处理中的核心职责。接着深入探讨了算术逻辑部件(ALU)的功能与专用寄存器的作用,以及通用寄存器对性能提升的意义。随后分析了控制单元的指令处理流程及特殊寄存器的功能。此外,还解析了寄存器系统的分类与设计特点,并对比了不同内存访问模式的特点与应用场景。最后,通过历年真题巩固相关知识点,帮助理解CPU各组件的协同工作及优化策略。
|
11月前
|
存储 缓存
CPU运算器的工作原理基于其内部结构,通过执行算术和逻辑操作来完成各种任务
CPU运算器的工作原理基于其内部结构,通过执行算术和逻辑操作来完成各种任务
515 3
|
11月前
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
300 3
|
6月前
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
740 8
|
8月前
|
Windows
【Azure App Service】对App Service中CPU指标数据中系统占用部分(System CPU)的解释
在Azure App Service中,CPU占比可在App Service Plan级别查看整个实例的资源使用情况。具体应用中仅能查看CPU时间,需通过公式【CPU Time / (CPU核数 * 60)】估算占比。CPU百分比适用于可横向扩展的计划(Basic、Standard、Premium),而CPU时间适用于Free或Shared计划。然而,CPU Percentage包含所有应用及系统占用的CPU,高CPU指标可能由系统而非应用请求引起。详细分析每个进程的CPU占用需抓取Windows Performance Trace数据。
190 40
|
8月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
1520 23
|
9月前
|
存储 人工智能 vr&ar
转载:【AI系统】CPU 基础
CPU,即中央处理器,是计算机的核心部件,负责执行指令和控制所有组件。本文从CPU的发展史入手,介绍了从ENIAC到现代CPU的演变,重点讲述了冯·诺依曼架构的形成及其对CPU设计的影响。文章还详细解析了CPU的基本构成,包括算术逻辑单元(ALU)、存储单元(MU)和控制单元(CU),以及它们如何协同工作完成指令的取指、解码、执行和写回过程。此外,文章探讨了CPU的局限性及并行处理架构的引入。
转载:【AI系统】CPU 基础
|
9月前
|
人工智能 缓存 并行计算
转载:【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,讲解了CPU算力的计算方法、算力与数据加载之间的平衡,以及如何通过算力敏感度分析优化计算系统性能。同时,文章还考察了服务器、GPU和超级计算机等平台的性能发展,揭示了这些变化如何塑造我们对CPU性能的理解和期待。
转载:【AI系统】CPU 计算本质
|
9月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
901 7
|
10月前
|
存储 人工智能 编译器
【AI系统】CPU 指令集架构
本文介绍了指令集架构(ISA)的基本概念,探讨了CISC与RISC两种主要的指令集架构设计思路,分析了它们的优缺点及应用场景。文章还简述了ISA的历史发展,包括x86、ARM、MIPS、Alpha和RISC-V等常见架构的特点。最后,文章讨论了CPU的并行处理架构,如SISD、SIMD、MISD、MIMD和SIMT,并概述了这些架构在服务器、PC及嵌入式领域的应用情况。
694 5