-
计算机组成原理(三)
性能究竟是什么
什么是性能?
- 对于计算机的性能,我们需要有个标准来衡量,这个标准中主要有两个指标。
- 响应时间(Response time)或者叫执行时间(Execution time)。
- 想要提升响应时间这个性能指标,可以理解为让计算机“跑得更快”。
- 响应时间指的就是,我们执行一个程序,到底需要花多少时间。
- 花的时间越少,自然性能就越好。
- 吞吐率(Throughput)或者带宽(Bandwidth)。
- 想要提升这个指标,可以理解为让计算机“搬得更多”。
- 吞吐率是指我们在一定的时间范围内,到底能处理多少事情。
- 这里的“事情”,在计算机里就是处理的数据或者执行的程序指令。
计算机的计时单位:CPU 时钟
- 我们需要对“时间”这个我们可以感知的指标进行拆解,把程序的 CPU 执行时间变成 CPU 时钟周期数(CPU Cycles)和时钟周期时间(Clock Cycle)的乘积。
- 程序的 CPU 执行时间 = CPU 时钟周期数 × 时钟周期时间。
- 在 CPU 内部,有一个叫晶体振荡器(Oscillator Crystal)的东西,简称为晶振。
- 晶振带来的每一次“滴答”,就是时钟周期时间。
- 比如电脑的主频(Frequency/Clock Rate)为 2.8GHz 的 CPU 上,时钟周期时间就是 1/2.8G。
- CPU 是按照这个“时钟”提示的时间来进行自己的操作。
- 主频越高,意味着这个表走得越快,CPU 也就“被逼”着走得越快。
- 超频说的其实就相当于把买回来的 CPU 内部的钟给调快了,于是 CPU 的计算跟着这个时钟的节奏,也就自然变快了。当然这个快不是没有代价的,CPU 跑得越快,散热的压力也就越大。
- 最简单的提升性能方案,自然缩短时钟周期时间,也就是提升主频。
- 如果能够减少程序需要的CPU时钟周期数量,一样能够提升程序性能。
- 对于 CPU 时钟周期数,我们可以再做一个分解,把它变成“指令数×每条指令的平均时钟周期数(Cycles Per Instruction,简称 CPI)”。
- 程序的 CPU 执行时间=指令数×CPI×Clock Cycle Time,因此,如果我们想要解决性能问题,其实就是要优化这三者。
- 时钟周期时间,就是计算机主频,这个取决于计算机硬件。
- 每条指令的平均时钟周期数 CPI,就是一条指令到底需要多少 CPU Cycle。
- 现代的 CPU 通过流水线技术(Pipeline),让一条指令需要的 CPU Cycle 尽可能地少。
- 因此,对于 CPI 的优化,也是计算机组成和体系结构中的重要一环。
- 指令数,代表执行我们的程序到底需要多少条指令、用哪些指令。
- 这个很多时候就把挑战交给了编译器。
- 同样的代码,编译成计算机指令时候,就有各种不同的表示方式。
-
相关阅读:
无涯教程-JavaScript - SUMIFS函数
数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(6)2022 紫光展锐数字芯片提前批笔试
算法提升(一)二分法
c++并发锁的操作
ch1_系统启动_setup.S
spring源码解析:元注解功能的实现
【前端笔记】Ant Design Form组件 resetFields() 与 setFieldsValue() 之比较
CentOS 7 源码安装 Zabbix 6.0
高数笔记03:几何、物理应用
LeetCode 2347. 最好的扑克手牌
-
原文地址:https://blog.csdn.net/fangzhan666/article/details/125427419