目录
- 一. 计算机系统的层次结构
- 二. 计算机性能指标
- 2.1. 存储器的性能指标
- 2.2 CPU的性能指标
- 2.3 系统整体的性能指标
- 2.4 系统整体的性能指标(动态测试)
\quad
一. 计算机系统的层次结构
\quad
\quad
虚拟机器的意思是看起来像是机器直接就能执行程序员所写的代码, 其实是需要通过翻译的
LOAD是取数的意思, 000001代表取数的机器语言
显然汇编语言和机器语言没有太大区别, 只是便于人们理解, 所以汇编语言也是低级语言
高级语言有三种方式转换为机器语言
高级语言 -> 汇编语言 -> 机器语言 \quad (用到编译器,汇编器)
高级语言 -> 机器语言 \quad \quad (用到编译器)
高级语言(解释型语言如 JavaScript, python, Shell) -> 机器语言 \quad (用到解释器)
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序只需翻译一次
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译下一句逐条翻译
所以编译型的语言比解释型的语言效率更高
计算机体系结构与计算机组成原理的区别
计算机体系结构 (如何设计硬件与软件之间的接口)
计算机体系结构是程序员所看到的计算机的属性,它是研究计算机体系的概念性结构和功能特性。
指令系统即机器语言,指机器所具有的全部指令的集合,反映了计算机所拥有的基本功能。
计算机组成原理 (如何用硬件实现所定义的接口)
计算机组成指的是系统结构的实现(对程序员透明,不可见)。主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备
计算机组成的任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,以实现机器指令集的各种功能和特性
比如: 有两个指令集,都有乘法指令,其中一个指令系统的乘法指令的实现通过专门的乘法运算的部件,另外一个指令系统的乘法指令的实现通过加法器累加,则这两个指令集就是体系结构相同,但组成原理不同
\quad
二. 计算机性能指标
\quad
2.1. 存储器的性能指标
\quad
MAR相当于行
MDR相当于列
\quad
\quad
这里的K,M,G,T表示的是文件或存储大小
1K=1KB=1024B
我们通常把M称为兆
\quad
2.2 CPU的性能指标
\quad
CPU主频(单位Hz): CPU内数字脉冲信号振荡的频率
相当于广播体操的节奏, 节奏喊得越快, 动作也就越快
同样的,主频越高执行指令也就越快
主频等于10Hz的意思是每秒有10个脉冲信号(时钟周期)
\quad
\quad
CPU时钟周期(单位微秒或纳秒): 时钟信号(CLK)的单位时间
时钟周期是计算机中最基本的、最小的时间单位
C P U 时钟周期 = 1 C P U 主频 CPU时钟周期=\frac{1}{CPU主频} CPU时钟周期=CPU主频1
分母调换一下结果也是一样
C P U 主频 = 1 C P U 时钟周期 CPU主频=\frac{1}{CPU时钟周期} CPU主频=CPU时钟周期1
\quad
\quad
CPI: 执行一条指令所需的时钟周期数
不同的指令, CPI不同, 甚至相同的指令, CPI也有可能不同
因为执行命令的过程不只是CPU的性能在起作用, 主存的负荷状态也有关系, 主存的负荷大, 取数就会比较慢,从而就会影响CPI
\quad
\quad
执行一条指令的耗时 = CPI×CPU时钟周期
很常考
\quad
\quad
CPU执行时间也就是(整个程序的耗时) 要注意这种说法
\quad
\quad
ISP: 每秒执行多少条指令
主频的意思是每秒会有多少个时钟周期
CPI: 执行一条指令所需的时钟周期数
I S P = 主频 C P I ISP=\frac{主频}{CPI} ISP=CPI主频
所以上面这个ISP为5
\quad
\quad
FLOPS, 如果我们的计算机经常要做科学处理那么浮点运算的这个指标显然更合适
k是千, M就是百万
如果告诉你这个CPU为2MIPS的意思是每秒这个CPU可以处理2百万条指令
这里的K,M,G,T是描述处理速度
\quad
2.3 系统整体的性能指标
\quad
数据通路带宽: 数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
比如说我们的通路带宽是8bit, MDR要传输16bit的数据就需要传输2次
吞吐量: 指系统在单位时间内处理请求的数量。
它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。
响应时间: 指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。
通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/o操作、操作系统开销等时间)。
\quad
2.4 系统整体的性能指标(动态测试)
\quad
基准程序(其实就是跑分软件)是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其它计算机性能进行比较。
问:主频高的CPU一定比主频低的CPU快吗?
不一定,如两个CPU,A的主频为2GHz。平均CPl=10; B的主频1GHz,平均CPl=1
A的IPS为0.2G, B的IPS为1G
这里的1G是109(是处理速度), 不是230(不是容量大小)
\quad
\quad
问:若A、B两个CPU的平均CPI相同,那么A一定更快吗?
也不一定,还要看指令系统,如A不支持乘法指令,只能用多次加法实现乘法;而B支持乘法指令。
\quad
\quad
问:基准程序执行得越快说明机器性能越好吗?
基准程序中的语句存在频度差异,运行结果也不能完全说明问题
比如说你的基准程序是用于测试显卡的, 那用它来说明图像比较科学, 用他来测试其他的就不合适
\quad
\quad
多做题就会记住了, 不用刻意去记公式