第一三章
分层
| 解释 | 翻译 |
|---|---|
| 微程序级 - 传统机器语言级 - 操作系统级 | ==汇编语言级== - 高级语言级 - 应用语言级 |
- 翻译:用转换程序把高一级机器上的程序转换为低一级机器上的等效程序,然后再在这低一级机器上运行。速度快、占用空间大。
- 解释:对于高一级机器上程序中的每一条语句或指令,转换为低级语言的一段等效程序执行,执行完后再去高一级机器取下一条语句或指令。速度慢、占用空间小。
定义
计算机系统结构的定义:
- 计算机系统结构是指传统机器程序员所看到的计算机属性,即==概念性结构、功能特性。==
- 计算机系统结构的实质:确定计算机系统中软硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。
- 透明性:一种本来存在的事物或属性,从某种角度看好像不存在或看不到。低层机器的属性对高层机器程序员来说通常是透明的。
- 广义系统结构定义:包括指令系统结构、组成、硬件。
指令集
ARM:RISC(精简指令集) X86:CISC(复杂指令集)
Flynn分类法
按照指令流和数据流的多倍性
冯氏分类法
(字,位) x (串,并)
Handler分类法
三元组:控制器(乘流水部件数)、ALU/PE(乘流水部件)、字长(乘流水部件)
系统结构的发展
- 冯诺依曼结构:输入设备、输出设备、控制器、运算器、存储器。指令与数据同等对待(一条总线)。
- 冯诺伊曼以==运算器==为中心,核心思想是==存储器==
- 哈佛结构:冯诺依曼基础上,指令与数据分离。现代计算机都是哈佛结构。
系统结构设计
- 方向(中间:传统机器级 - 操作系统级)
- 兼容性
- 模拟(实现==虚拟机的指令集==)
- 仿真(用宿主机的==微程序去解释实现另一台机器的指令集==)
- 并行性从低到高:
- 指令内部
- 指令见
- 线程间
- 任务/过程级(子程序/进程为调度单元)
- 作业/程序级
- 提高并行性的途径:
- 时间重叠:==轮流使用==同一套硬件的==各个部分==。
- 资源重复:重复设置硬件资源。
- 资源共享:按顺序轮流使用==同一套硬件==设备。
原理和公式
局部性原理:
- 时间、空间相对地簇集
Amdahl定律
![[Pasted image 20260413161910.png]] 扩展Amdahl:分母为单个部件提升之和,分子不变
CPU性能公式
| 符号 | 含义 |
|---|---|
| IC | 指令时钟周期数 |
| MIPS | 百万指令每秒 |
| CPI | CLOCK per Instruction |
- CPU时间:时钟周期数 * 时钟周期时间==(越小越好,衡量CPU性能)==
- CPI越小性能越高
- MIPS = 主频(每秒时钟周期数)/ CPI(每条指令时钟周期数) ==(百万单位)==
- 程序执行时间 = 指令数 / 主频 ==(MHz -> 单位毫秒)==