文章目录
《计算机系统结构》(第五版)李学干
2020.3.10
1.4 软件、应用、器件的发展对系统结构的影响
1.4.1 软件的发展对系统机构的影响
实现软件移植的技术主要有三种:
-
- 统一高级语言:事半功倍,可以从根本上解决问题,但目前很难做到;
主要有如下四方面的原因:
(1)不同的用途要求语言的语法、语义结构不同;
(2)人们对语言的基本结构看法不一;
(3)即使同一种高级语言在不同厂家的机器上也不能完全通用;
(4)受习惯势力阻挠;
- 统一高级语言:事半功倍,可以从根本上解决问题,但目前很难做到;
下面用自己的话解释上面4条:
(1)各种语言有不同的特点,针对性较强;比如你不愿意用C++去写网页,而去选择JavaScript;
(2)每个人对语言的基本结构看法不一样;比如C语言中我不喜欢三元运算符,嫌麻烦,但有些人觉得用二元运算符写一长串才麻烦;
(3)不同厂家机器底层支持不一样;好像虽然大家都是中国人,但是各说各的方言,还是听不懂;
(4)习惯不一样;你喜欢用Python,我喜欢用C;
-
- 采用系列机:有相同的系统结构,相同的IS(IS是什么我还没有弄明白),软件可以不同;
兼容,有两个方向:
(i) 向上/向下:速度
向上兼容的意思是,某软件不加修改就可以在更高档的机器上;
(ii)向前/向后:时间
注意:系列机尽可能不影响高级语言应用软件的兼容,尤其不能缩小或删除运行已有软件的那部分指令和结构;(只增不删)
- 采用系列机:有相同的系统结构,相同的IS(IS是什么我还没有弄明白),软件可以不同;
-
- 模拟和仿真(TBC 待完善):
1) 模拟 :虚拟机的机器语言虚拟机器级在宿主机对应层的上一层;
模拟方法只适合于移植运行时间短,使用次数少,而且在时间关系上没有受约束和限制的软件;
2) 仿真 :…同一层;
仿真方法可以提高被移植软件的运行速度,但由于微程序机器级结构深深依赖于传统机器级结构,故当两种机器结构差别较大时,就很难仿真,特别是 I/O 系统差别较大时更是如此;
- 模拟和仿真(TBC 待完善):
1.4.2 应用的发展对系统结构影响
抵挡机继承高档机,高档机探索新结构;
1.5 系统结构中的并行性开发及计算机系统的分类
1.5.1 并行性的概念和开发
1. 并行性的含义与级别
并行性:解题中具有可以同时进行运算或操作的特性;
并行性 = 同时性 + 并发性
同时性:两个或多个事件在同一时刻发生;
并发性:两个或多个实践在同一时间间隔内发生;(TBC 我并没有怎么弄明白时间间隔)
并行性可以从不同角度来分等级:
(1)计算机系统执行程序
-
- 指令内部;
-
- 指令之间;
-
- 任务或进程之间;
-
- 作业或程序之间;
(2)计算机系统中处理数据
-
- 位串字串:同时只对 1 个字的 1 位处理;
-
- 位并字串:同时对 1 个字的全部位处理;
-
- 位片串字并:同时对许多字的同一位(称位片)进行处理;
-
- 全并行:同时对许多字的全部或部分位组进行处理;
(3)贯穿于计算机信息加工的各个步骤和阶段的
-
- 存储器操作并行;
-
- 处理器操作步骤并行:像流水线处理机(Pipeline);
-
- 处理器操作并行;
-
- 指令、任务、作业并行;
2. 并行性开发的途径
- (1)时间重叠
引入时间概念,比如流水线操作; - (2)资源重复
引入空间因素, 多个处理单元被分配不同数据,完成指令要求的同一种运算或操作; - (3)资源共享
用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高资源的利用率,相应地也就提高了系统的性能;
3. 计算机系统的并行性发展
3T 性能目标
- 1 TFLOPS 的计算能力(浮点运算);
- 1 TB 的主存容量;
- 1 TB/s 的 I/O 带宽;
4. 多机系统的耦合度
包含了多处理机系统和多计算机系统
多处理机系统:由多台处理机组成的单一系统,它们都受逻辑上统一的的操作系统控制;
多计算机系统:多台独立的计算机组成的系统,各计算机分别在逻辑上独立的操作系统控制下运行;
1.5.2 计算机系统的分类
1. 弗林 Flynn
分类标准:指令流 * 数据流
用的很多,比较传统;
但是第三种的物理机在现实中不存在,而且分类较粗;
2. 库克 Kuck
分类标准:控制流 * 执行流
没有遗漏,无空缺;
3. 冯泽云(美籍华人)冯氏分类法
分类标准:并行度 * 流水线
仅考虑数据的并行性
… …
4. 汉德勒
分类标准:并行度 * 流水线
① 程序级 k
② 操作级 d
③ 逻辑级 w
记录完毕,有问题请不要吝啬你的发言。