【5分钟+】计算机系统结构:CPU性能公式
计算机系统结构: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 ) / 时钟频率
所以,公式总结如下

(ICi / IC) 反映了第 i 种指令在程序中所占的比例。
例题
各位同学,请看大屏幕:

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

方案一改进后,提示的程度等于 (改进前CPI - 改进后CPI)。
因为本身也可以求得 FPSQR 在整体的比例,所以方案一不需要加入 FR。

看不明白的话,笔者讲解一下。
整体的 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。

处理器性能优化的策略
影响CPU性能的三个方面:时钟频率、CPI、指令的条数。
减少指令的条数可以使得CPU更加简洁、使用较少的寄存器,系统代码也会别的更加简洁。例如 RISC-V。底层的指令减少,上层例如操作系统、汇编程序需要编写的代码亦会变多。
但是因为各种指令使用到的频率和周期内不同信息的访问次数,设计CPU是要考虑到优化指令的执行速度,优化高频访问的指令,分配更多的资源。例如X86。
【5分钟+】计算机系统结构:CPU性能公式的更多相关文章
- linux查看CPU性能及工作状态的指令
http://www.aikaiyuan.com/9347.html http://blog.csdn.net/jk110333/article/details/8683478 http://www. ...
- (转)linux查看CPU性能及工作状态的指令mpstat,vmstat,iostat,sar,top
衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:用于I/O管理:中断和驱动用于内存管理:页面交换 ...
- CPU性能分析
CPU性能分析工具 lscpu:查看CPU硬件信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Litt ...
- linux查看CPU性能及工作状态的指令mpstat,vmstat,iostat,sar,top
转载:http://www.cnblogs.com/xianghang123/archive/2011/08/25/2153591.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运 ...
- [转帖]超能课堂(210) 笔记本中常说的PL1、PL2到底如何影响CPU性能?
超能课堂(210)笔记本中常说的PL1.PL2到底如何影响CPU性能? https://www.expreview.com/71943.html 本文约 4070 字,需 7 分钟阅读 (切换至标准版 ...
- 计算机组成原理 — CPU 中央处理器
目录 文章目录 目录 前文列表 逻辑电路部件 组合逻辑电路 时序逻辑电路 阵列逻辑电路 中央处理器(CPU) 控制单元(控制器) 运算单元(运算器) 存储单元(寄存器组和片内缓存) CPU 的工作原理 ...
- 快速分析CPU性能问题
Linux的CPU性能问题,相信在工作中很容易遇到.这篇文章会总结出一个大概的套路,相信能够解决工作中90%以上的CPU性能问题! 会告诉大家在不同的场景下,cpu性能指标工具如何选择,性能瓶颈怎么找 ...
- CPU性能监测介绍
CPU的性能监测包含以下部分: * 检查系统运行队列并确保每个核心上不超过3个可运行进程* 确保CPU利用率的用户时间和系统时间在70/30之间* 当CPU花费更多的时间在system mode上时, ...
- 如何利用火焰图定位 Java 的 CPU 性能问题
常见 CPU 性能问题 你所负责的服务(下称:服务)是否遇到过以下现象: 休息的时候,手机突然收到大量告警短信,提示服务的 99.9 line 从 20ms 飙升至 10s: 正在敲代码实现业务功能 ...
随机推荐
- 「SP1716」GSS3 - Can you answer these queries III
传送门 Luogu 解题思路 区间最大子段和板子题. 考虑用线段树来做. 对于一个线段树节点所包含区间,它的最大子段和有两种情况,包含中点与不包含. 不包含的情况直接从左右子树转移. 对于包含的情况: ...
- 简单看看ReentrantLock
前面我们分析了AQS的基本原理,然后也试着基于AQS实现了一个可重入的锁了,现在我们再来看看官方的ReentrantLock锁,这个锁是可重入的独占锁,也就是说同时只有一个线程可以获取该锁,而且这个线 ...
- 禁用UpdateOrchestrator重新启动任务
LTSC2019 联网下载更新后,总是用户不使用电脑的时候重启更新系统. 搜索发现是计划任务中\Microsoft\Windows\UpdateOrachestrator重新任务的导致的. 查看这个任 ...
- Vue3中的Proxy作用在哪里?
目录 前言 Vue没有Proxy会怎么样? proxy开始 前言 在讲解Proxy之前,我们有些前置知识点是必要掌握的: Object相关静态函数 Reflect相关静态函数 简单说明知识盲点 名称 ...
- P1061 判断题
P1061 判断题 转跳点:
- php 文件缓存 include vs serialize vs json_encode
大神:http://techblog.procurios.nl/k/news/view/34972/14863/cache-a-large-array-json-serialize-or-var_ex ...
- PHP时间格式
date 用法: date(格式,[时间]); 如果没有时间参数,则使用当前时间.格式是一个字符串,其中以下字符有特殊意义: Y - 年,四位数字; 如: "1999" y - 年 ...
- mysql DDL语言
- Service总结
Service Service的应用场景,以及和Thread区别 开启Service的两种方式以及区别 Service基础 Service是什么? Service(服务)是一个可以在后台长时间运行而没 ...
- Django(四) 后台管理:创建管理员、注册模型类、自定义管理页面显示内容
后台管理 第1步.本地化:设置语言.时区 修改project1/settings.py #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-hans' #设置语言 ...