一、导论
1. 冯诺依曼机
1.1. 计算机系统的组成
硬件:计算机实体,如主机,外设等;
软件:具有各类特殊功能的信息(程序)组成;
ℹ️1.2. 冯诺依曼计算机特点(记忆)
计算机由五大部件组成;
指令和数据地位同等,都存储在存储器中;
指令和数据用二进制表示;
指令由操作码和地址码组成;
**(核心思想)**存储程序、控制指令;
(早期)以运算器为中心;
- 现代冯诺依曼机是以存储器为中心;
控制流驱动的工作方式;
按地址寻访,寻址有数据寻址和指令寻址两种;
1.3. 冯诺依曼机硬件框图

运算器:完成算术运算和逻辑运算并将的中间结果暂存在运算器内;
存储器:用来存放数据和程序;
控制器:用来控制,指挥程序和数据的输入,运行以及处理运行结果;
输入设备:用来将人们熟悉的信息转换为机器识别的信息;
输出设备:将机器运算结果转为人熟悉的信息形式
2. 计算机性能指标
2.1. 性能指标
主频
:CPU 工作主时钟震动的频率。是计算机硬件的固有属性; 时钟周期
: ,表示 CPU 主时钟震荡一次经过的时间; CPI:CPU 执行一条指令所需的时钟周期数;
CPU 执行时间
:CPU 执行一个程序所需的总时间。 ; :程序包含的指令数; CPI:一条指令平均时钟周期数;
MIPS (millions instructions per second) :CPU 每秒能执行多少百万条指令;
。CPI 为平均值 衡量定点运算速度;
适用于标量机(运算结果为单个数而不是多维数组);
MFLOPS (million floating point operations) :CPU 每秒能执行多少百万条浮点运算指令;
衡量浮点运算速度;
适用于科学计算,向量机;
吉普森法:指令执行时间的加权平均;
。 为第 种指令占比, 为其执行时间;
2.2. 技术指标
指令字长:一条指令的长度;
机器字长:CPU 一次能处理数据的位数(和寄存器相关);
存储字长:存储单元的二进制位数;
MAR:存储器地址寄存器,对应存储单元数量;
MDR:存储器数据寄存器,对应存储字长;
访存速度:存取时间,存取周期,主存带宽;
存取时间
:存储器从启动一次操作(读 or 写)到完成操作所需时间; 存取周期
:连续两次访问存储器所需的最小间隔时间; 存取周期 = 存取时间 + 存储器复位操作等所需时间;
一般情况下,
,即周期 写时间 读时间;
主存带宽
:每秒钟从存储器传输的数据量,Bm = 传输的数据量 / 传输时间,单位 B/s,KB/s 等;
3. 多核处理器和 SMP 体系结构
3.1. Flynn 分类法
根据指令和数据流的关系将计算机划分为四种基本类型:SISD,MIMD,SIMD,MISD
SISD:单指令流,单数据流,早期计算机居多;
SIMD:单指令流,多数据流,现代单核计算机;
MISD:多指令流,单数据流,仅存在于理论中;
MIMD:多指令流,多数据流,现代多核计算机;
3.2. SMP 体系结构
SMP(Symmetry Multi-Processor,对称多处理器):指的是现代多核处理器通常是对称的结构,且共享相同的内存;
单核 + 多线程:只能并发,不能并行;
多核 + 多线程:可以并发和并行;
SMP 也称为一致存储器访问结构(UMA,Uniform Memory Access);
SMP 的主要瓶颈在于内存,导致 SMP 扩展性较差;
实验证明,SMP 服务器的最佳配置是 2 至 4 个 CPU(CPU 过多会导致访存冲突增加,降低 CPU 工作效率);
4. 多处理技术
4.1. 松耦合技术
概念:不同的系统通过网络通信技术进行互联;
不同的系统被称为节点,可以互相共享文件存储;
不同系统不共享 CPU 和内存,通过专用高速网络进行节点间通信;利用软件控制任务分发和并行处理。
例:IBM 的 SP 系统;
4.2. 紧耦合技术
概念:多个 CPU 之间共享部分内存,但每个 CPU都有自己的独立内存和总线结构;
通过一个操作系统控制不同处理器之间协同工作;
一般有一个主处理器,管理其他从处理器,如果此主处理器不能工作,则由第二候选处理器升级为主处理器;
4.3. 对称多处理技术
概念:多个CPU之间没有区别,平等地访问内存、外设、使用一个操作系统;
操作系统管理着一个队列,每个处理器依次处理队列中的进程;
如果两个处理器同时请求访问一个资源(例如同一段内存地址),由硬件、软件的锁机制去解决资源争用问题;
习题
- 某计算机主频 1.2GHz,其指令分为 4 类,在基准程序中,各个指令占比及 CPI 如下表所示,则该计算机 MIPS 指标为()

答案:400
解析:
,该题 CPI 直接加权平均即可 注:CPI(Cycle Per Instruction):平均指令周期数
- 某机器的主频 8MHz,平均指令执行速度 0.8 MIPS,平均每个机器周期包含 4 个时钟周期,求:该机器的平均指令周期,平均每个指令周期包含多少个机器周期?
答案:1/0.8M s,2.5 个
注意区分 CPI 和平均指令周期,前者是周期的个数,后者是时间量,CPI 和 MIPS 关系见第 1 题,平均指令周期 T = 1/平均指令执行速度;
- 下面叙述中,错误的是()
A. 操作系统既能进行多任务处理,又能进行多重处理;
B. 多重处理是多任务处理的子集;
C. 多任务是指同一时间内在同一系统中同时运行多个进程;
D. 一个CPU的计算机上也可以进行多重处理;
答案:D
解析:区分多任务和多重处理
多任务:指系统中同一时间允许多个任务(进程)处于运行状态;
多重处理:指有多个 CPU 的计算机,同时在每一个 CPU 上运行任务(进程);
ℹ️4. 冯诺依曼结构计算机中数据采用二进制编码表示,其主要原因是()
(1)二进制的运算规则简单,(2)制造两个稳态的物理器件比较容易,(3)便于用逻辑门电路实现算术运算;
A. (1), (2);
B. (1), (3);
C. (2), (3);
D. 全部;
答案:D