考研408《计算机组成原理》复习笔记,第二章计算机性能

一、计算机各项性能指标

1、计算机系统整体的性能指标:

从宏观上看,整个计算机是由软件硬件共同性能决定的,但是**【最主要的决定性的影响】** 还是来自于**【硬件】**

因为计算机组成原理主要讲【硬件】,那么我们也仅考虑【硬件性能】

2、基本性能指标

1)机器字长(也称 "数据通路宽度")

就是指数据一次所能传输的数据的位数,也就是我前面《第一章计算机概论》讲到的"一个N位计算机"里的【N位】,也就是【机器字长】或【字长】

注意:(CPU的运算器里的【ALU位数】和【通用寄存器宽度】和【CPU定点计算的数据通路宽度】和【机器字长】一样!!!!)

有的地方喜欢说【机器字长】是:

【计算机运算数据的基本单位】

【CPU内部和整数计算有关的寄存器的保存的字长】

【和"运算精密度"有关】

例题:

上一篇:考研408《计算机组成原理》复习笔记,第一章计算机系统概述_计算机组成原理考研知识点总结-CSDN博客

(注意:【数据通路宽度】但也不完全就等于【机器字长】,因为有的计算机也会设计【数据通路宽度】跟【存储字长】一样大)

另外,区分一下【地址总线字长】和【地址码长度】......等等的这些关系

尤其记住:【MAR】不等于【MAR位数】****,这是两个概念

2)主存(内存)容量

这里我们也在前面讲过了,记住:

因为程序是在主存(内存)里运行的,CPU直接访问的是主存,所以当主存容量越大,就越减少访问外存的机会,那么【读、存】内存的速度远大于外存,所以内存越大速度越快

【主存容量】=【有几个存储体】*【一个存储体可存几位二进制数】

=【MAR】*【MDR位数】

=【2^MAR位数】*【MDR位数】

=【地址码长度】*【存储字长】

注意:题目当已给出明确的条件:"主存里包含M个存储单元,每个存储单元可存N个二进制位"

那么【M个存储单元】=【2的MAR位数次方】、【每个存储单元N个位】=【MDR位数】

所以直接【主存容量】= 【N】 * 【M】

例题:

3)吞吐量和响应时间

影响计算机运算速度的因素有很多,包括cpu快慢、显卡图形处理、内存大小、系统总线...等等,那么这些因素主要无非就是决定了这两个主要影响因素:【吞吐量】和【响应时间】

注意:在【用户角度】(即"肉眼可见"的计算机性能指标就是【吞吐量】和【响应时间】)
【吞吐量】 :指的是系统在单位时间 内能够处理的数据量或任务数量。

它取决于信息能多快输入内存、CPU能多快从内存取出,以及结果能多快从内存传给一个外部设备。那么既然每一步都涉及到主存储器,那么吞吐量主要取决于【主存储器的存取周期】


【响应时间】:指用户向计算机发一个请求到系统接收后返回响应结果所需要的时间。

响应时间通常是【CPU时间】+【等待时间】,【CPU时间】就是运行一个程序的时间,【等待时间】就是磁盘、存储器访问、I/O操作等等所要花费的时间。

例题:

3、(这才是重点)CPU的性能指标:

cpu是最主要能决定一个计算机【运算速度】性能的因素

1)运算速度的概念、衡量指标

计算机的运算速度是衡量计算机性能的一个重要指标,它直接反映了计算机在单位时间内能够执行的操作数量。这个指标通常用"MIPS"(每秒百万条指令)来衡量,即每秒处理的机器语言指令数。

(其实计算机的运算速度【主要就是指CPU的性能】 ,虽然还有别的因素,但是CPU是主要,而且MIPS也是衡量CPU速度的一个指标,它代表了CPU在每秒内能够执行的指令数量。)

2)主频(时钟频率)和CPU时间周期(时钟周期)

既然CPU性能是计算机运算速度的主要因素,那么我们就来看看CPU的性能。

平时我们打游戏的时候为了让自己的电脑能玩得顺,或者看视频、干一些复杂的活的时候都会提到CPU,那么选购CPU的时候我们就会看到这些配置属性:3.6Hz、2.9Hz、3.0Hz......这些多少多少HZ是啥?

CPU数字脉冲信号

CPU时钟信号【CPU数字脉冲信号】一段固定频率的数字脉冲信号 】,就像下图这样

它是用来控制指令指令规律执行的频率的,就像你听歌时不能前几秒匀速放歌,然后后几秒突然停住,然后突然加速放几百首歌吧?

那【CPU数字脉冲信号】就是像广播体操的口令"一二三四、二二三四、三二三四......"一样控制节奏的玩意,让计算机有规律的执行【每一个指令】

CPU的主频

一段时钟信号(数字脉冲信号)里的频率、有多少Hz,就是【CPU的主频】,它的单位就是Hz(赫兹),他代表CPU数字脉冲信号振荡的频率。

因为同类型计算机的同一指令所需的CPU时钟周期数量是一样的,所以【CPU频率】越高,执行指令速度越快

CPU的时钟周期

那可以看到【CPU数字脉冲信号】每隔一小段有一个"节点",就像一段音频波律的律动点一样,这就是CPU工作的最小时间单位,也就是【CPU的时钟周期】

  • 【CPU时钟周期】 又是【CPU时钟频率的倒数】,单位是ns(纳秒),1000ns = 1s,当然有的时候基本单位也会用s(秒)来表示

提示:

这也说明,【一个指令需要几个时钟周期】只和【时钟周期】有关,而【时钟周期】只和这个计算机的【计算机组织、体系结构、指令集...】等这些有关,跟【时钟频率】是没关系

你这个计算机的结构决定了某个指令是5个时钟周期就只能是5个时钟周期,频率的快慢只能决定这个指令执行的快慢。

打个比方:部队队列要求方队跑步前进听到"立定"之后,只能走4步来停止、立定。而频率是你这四步走得有多快有多慢,听到指令后走四步停下这个规矩是国家军队条令条例规定的,你去印度可能是走一步就停、去阿拉伯可能是走100步停。

例题:

CPU的主频】计算公式:

CPU的主频 】就是【1秒 内有多少个时间周期 】,或者说【1秒 内有多少个振荡周期 】,或者说【1秒 内有多少个脉冲信号

那么可得:【CPU的主频 】= 【1秒 】/ 【有几个时间周期

打比方上面那个图,1s里有12个时间周期,那【CPU的主频】= 1 / 12 Hz,每秒有12个脉冲信号

反推,【1个时间周期 】=【1 】/【CPU的主频】,二者互为倒数

3)CPI(Circle Per Instruction)

CPI 】是执行一条指令所需要的时间周期数

(不同的指令执行所需要的时间周期数、也就是CPI,是不一样的;即使相同的指令,CPI也会有所变化)

【执行一条指令的时间】=【CPI】*【CPU时钟周期】

【CPU执行时间】=【程序总指令条数】*【CPI】*【时钟周期】

(因为一个程序包含多条指令嘛)


CPI例题:

某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3,那么该程序在该CPU上执行需要多久?

已知CPI=3,也就是1条指令需要3个时钟周期完成,那么有100指令就需要 ------> 100 * 3 = 300个时钟周期

那么因为【1个时间周期 】=【1 】/【CPU的主频 】,所以300个时间周期就需要 ------> 300 * 1/1000 = 3/10 s,也就是0.3 s

;

;

4)IPS(Instruction Per Second)

就是指****每1秒执行多少条指令

既然是每秒执行多少指令,而【CPI 】是执行一条指令所需要的时间周期数,而【CPU主频 】是1秒 内有多少个时间周期

那么【IPS 】=【CPU主频 】/【CPI

打个比方:【CPU主频 】是1秒内有4个时间周期,然后【CPI 】是一条指令需要2个时间周期,那么【IPS 】不就是是【CPU主频 】/【CPI】= 4 / 2 = 2,也就是每一秒执行2个指令嘛

那么还有两个数量单位【KIPS】【MIPS】

  • 【KIPS】表示每秒执行几千条指令?
  • 【MIPS】表示每秒执行几百万指令?

例如:2 MIPS = 每秒执行2000000条指令,2 KIPS就是每秒执行2000条指令

;

;

IPS例题:

【FLOPS】

指【每秒能执行多少次浮点数运算】

注意:

1、单纯指代浮点数计算次数的能力,不涉及别的性能。

2、凡是涉及"科学计算"的性能评估,必是跟FLOPS有关,因为科学计算要求计算精度高,所以必要用到浮点数。

  • KFLOPS】表示每秒执行几千次浮点数运算?
  • MFLOPS】表示每秒执行几百万次浮点数运算?
  • GFLOPS】表示每秒执行几十亿次浮点数运算?
  • TFLOPS】表示每秒执行几万亿次浮点数运算?
  • PFLOPS】表示每秒执行千万亿次浮点数计算?
  • FLOPS】表述每秒执行几亿亿次浮点数计算?
  • EFLOPS】表述每秒执行几百京次浮点数计算?
  • ZFLOPS】表示每秒执行几十万京次浮点数计算?

这里K、M、G、T......等的数量单位:

  • K == 10的3次方
  • M = 百万 = 10的6次方
  • G = 10亿 = 10的9次方
  • T = 万亿 = 10的12次方
  • P = 千万亿 = 10的15次方
  • = 1亿亿 = 10的16次方
  • E = 百京 = 10的18次方
  • Z= 十万京 = 10的21次方
  • 记忆:"KMGT,P京EZ " = "千米干他,普京移宅"

例题:

4、基准程序 和 其他专业术语

1)基准程序

是用来测量计算机处理速度的一种实用程序,以便与被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较。(翻译人话:就是像鲁大师那样的测电脑性能的程序)

2)系列机

简言之就是:"具有相同体系结构、使用相同基本指令系统的多个不同型号的计算机的产品系列"

重点是【同一系列不同型号是通用的】(比如Windows 的 X86计算机的一些软件和硬件,也可以放到Windows 的 X64计算机上用)

3)兼容

软件或硬件的通用性,即运行在某个型号计算机系统的硬/软件也可以应用于另一型号的计算机系统时,称这两计算机兼容。

重点是【同一系列不同型号的计算机间通用

4)固件

就是将程序固化在ROM中组成的部件就叫固件。

重点是【既有软件也有硬件,速度比软件快、灵活性比硬件强,典型的就是BIOS固件

虽然不是重点,但是建议有兴趣的可以看看这个科普视频,会加深一下印象

【科普】驱动装的好,电脑问题少!驱动和固件,到底是个什么玩意?_哔哩哔哩_bilibili

5)触发器

也不是重点,王道书出过一题,就是一种寄存器的电路,有了这种特殊电路,就可以把一些电荷状态保存到寄存器,达到 "存储数据"、"电脑有了记忆" 的效果

重点就是【寄存器是由触发器构成的

虽然不是重点,但是建议有兴趣的可以看看这个科普视频,会加深一下印象

CPU中寄存器的原理_哔哩哔哩_bilibili

例题:

6)CPU的寄存器对于用户是否可访问的分类

这个记一下,CPU里的寄存器有两类,一个是对于用户而言"可见"的,一种是"透明不可见"的

|----------------|--------------------|
| 用户"可见"的寄存器 | 用户"不可见、透明"的寄存器 |
| 通用寄存器GDP | 指令寄存器IR |
| 程序计数器PC | 存储地址寄存器MAR |
| 状态寄存器PSW | 存储数据寄存器MDR |
| 累加寄存器ACC | 暂存寄存器 |

例题

注意:



相关推荐
星火撩猿2 小时前
OpenCv实战笔记(1)在win11搭建opencv4.11.1 + qt5.15.2 + vs2019_x64开发环境
笔记·qt·opencv
蓝莓味柯基3 小时前
Python 学习路线与笔记跳转(持续更新笔记链接)
笔记·python·学习
star_up5 小时前
opencv-python基础知识
笔记
这个家伙很笨6 小时前
了解Android studio 初学者零基础推荐(1)
android·笔记·android studio
珊瑚里的鱼6 小时前
LeetCode 102题解 | 二叉树的层序遍历
开发语言·c++·笔记·算法·leetcode·职场和发展·stl
264玫瑰资源库7 小时前
网狐旗舰大联盟组件源码私测笔记:结构分层、UI重构与本地实操全流程
java·前端·数据库·笔记·ui·重构
science怪兽9 小时前
【进阶】C# 委托(Delegate)知识点总结归纳
开发语言·笔记·c#
love530love10 小时前
修复笔记:获取 torch._dynamo 的详细日志信息
运维·人工智能·pytorch·笔记·python·深度学习·virtualenv
ZeroOne电平浪客11 小时前
AUTOSAR_BSW_从入门到精通学习笔记系列_EcuM
笔记·mcu·学习·汽车·autosar·普华小满