概要
学习课程来自华东科技大学的mook公开课《计算机组成原理》
该课程主要是对冯诺依曼提出的计算机工作原理从概述到详解,最后使学生对计算机的组成和工作原理有深入的了解。
学习总结
第一天主要学习了第一章节,计算机系统概论。
冯诺依曼结构计算机工作原理及层次结构分析
“计算机之父”冯诺依曼提出了计算机工作的原理包括 存储程序 和 程序控制两方面。
- 存储程序:将程序存放在计算机的存储器中
- 程序控制:按照指令地址访问存储器,并取出指令,经编译码依次产生指令执行所需的控制信号,实现对计算机的控制,完成指令的功能。
计算机的组成包括硬件系统 和软件系统
-
硬件系统:包括外设,主机和总线组成。其中主机由CPU(运算器和控制器),内存储器;主机主要有输入设备,输出设备,外存储器组成。总线包括地址线,数据线和控制线。
-
软件系统:是可运行的思想和内容的数字化,表现形式是程序和数据,核心是算法。软件系统包括系统软件(操作系统,网络系统,编译系统),支持软件(开发工具,界面工具),应用软件(字处理软件,游戏软件)
计算机的性能评价
非时间指标
- 机器字长:由加法器,寄存器的位数决定,一般与内部寄存器的位数相等。字长越长,数据范围越大,精确度越高。目前一般为32位和64位。
- 总线宽度:一般指运算器和寄存器之间的数据总线位数。有些计算器内部和外部总线宽度不一致。
- 主存容量:一台计算机主存所包含的存储单元总数。
- 存储宽带:单位时间内与主存交换的二进制信息量。常用单位B/s。影响指标包括数据位宽和数据传输速率。
时间指标
主频/时钟周期/外频/倍频
- 主频f:CPU内核工作的时钟频率,即CPU内数字脉冲震荡的速率,与CPU实际运算之间不是唯一的,直接的关系。
- 时钟周期T:也称节拍周期,是计算机中最基本的,最小的时间单位。在一个时钟周期内CPU仅完成一个最基本的动作。
- f和T的关系:互为倒数,f越高,T越小(f=100Mhz,T=10ns,f=1Ghz,T=1ns)
- 外频:CPU与主板之间同步的频率,系统总线的工作频率。
- 倍频:CPU主频与外频之间的倍数。
CPI (Clock cycle Per Instruction)
- CPI定义: 执行一条指令(平均)需要的时钟周期数(即T周期的个数)
- CPI=程序中所有指令的时钟周期数之和/程序指令总数
=Σ(程序中各类指令的CPIx程序中该类指令的比例) - IPC(Instruction per Clock):每个时钟周期内执行的指令条数(并行)
- CPU性能=IPCx频率(Mhz时钟速度)
MIPS(Million Instructions Per Second)
每秒钟CPU能执行的指令总数(单位:百万条/秒)
MIPS=
指
令
条
数
指
令
时
间
×
1
0
6
\frac{指令条数}{指令时间\times 10^6}
指令时间×106指令条数=
指
令
条
数
(
所
有
指
令
C
P
U
时
钟
周
期
数
之
和
/
f
)
×
1
0
6
\frac{指令条数}{(所有指令CPU时钟周期数之和/f)\times 10^6}
(所有指令CPU时钟周期数之和/f)×106指令条数=
f
C
P
I
×
1
0
6
\frac{f}{CPI\times 10^6}
CPI×106f(全性能公式)
CPU时间
执行一段程序所需要的时间
(CPU时间+I/O时间+存储访问时间+各类排队时延等)
CPU时间=程序中所有指令的时钟周期数之和
×
\times
×T
=程序中所有指令的时钟周期数之和/f
CPU时间=总指令数
×
∑
i
=
1
n
(
C
P
I
×
I
C
i
总
指
令
数
×
时
钟
周
期
时
间
)
\times\sum_{i=1}^{n} {(CPI\times\frac{IC_i}{总指令数}\times时钟周期时间)}
×∑i=1n(CPI×总指令数ICi×时钟周期时间)
=总指令数
×
\times
×CPI
×
\times
×T
CPU时间=
指
令
数
量
M
I
P
S
×
1
0
6
\frac{指令数量}{MIPS\times 10^6}
MIPS×106指令数量
时间指标的应用
硬件或软件指标 | 影响什么 | 如何影响 |
---|---|---|
算法 | CPI, MIPS, CUP时间 | 影响指令数量和指令类型 |
编程语言 | CPI, MIPS, CUP时间 | 影响指令数量和指令类型 |
编译程序 | CPI, MIPS, CUP时间 | 影响指令数量和指令类型 |
指令集体系结构 | f/T CPI, MIPS, CUP时间 | 全面 影响 |