C1计算机系统结构概述
1 计算机系统的多级层级结构
- 计算机系统的层级特性是研究计算机体系结构的基础
- 多级层次结构是从使用语言的角度,基于程序员与计算机系统对话中所采用的语言结构和语义划分
- 现代计算机系统的层级结构分为六级👇
第5级(虚拟机器) | 应用语言机器M5,具有L5机器语言(应用语言) | 应用语言经应用程序包翻译成高级语言程序 |
---|---|---|
第4级(虚拟机器) | 高级语言机器M4,具有L4机器语言(高级语言) | 高级语言程序经编译程序翻译成汇编语言 |
第3级(虚拟机器) | 汇编语言机器M3,具有L3机器语言(汇编语言) | 汇编语言程序经汇编程序翻译成机器语言程序 |
第2级(实际机器) | 操作系统机器M2,具有L2机器语言(作业控制语言等) | 一般用机器语言程序解释作业控制语句 |
第1级(实际机器) | 传统机器M1,具有L1机器语言(机器指令系统) | 由微指令程序解释机器指令 |
第0级(实际机器) | 微程序机器M0,具有L0机器语言(微指令系统) | 微指令由硬件直接执行 |
- 👆小tips:M0用硬件,M1用固件,其他用软件;计算机系统作为一个整体,包括软、硬件,之间无固定界面
- 从设计人员看到的层次👇
应用程序级(6) 应用软件 | 用户 |
---|---|
高级语言级(5) 系统软件 | 高级语言程序员 |
汇编语言级(4) 系统软件 | 汇编语言程序员 |
操作系统级(3) 系统软件 | 操作员 |
机器语言级(2) 软硬件分界 | 机器语言程序员 |
微程序控制级(1)硬件 | 逻辑设计员 |
硬联逻辑级(0) 硬件 | 硬件设计员 |
- 编译与解释的区别
编译 | 解释 |
---|---|
全部N+1级指令 --> N级指令 | 一条N+1级指令–> 一串N级指令 |
整体行为,可以优化,效率高,与平台无关 | 局部行为,不优化,效率低,与平台无关 |
C、C++、Fortran | Basic、Shell、Perl |
2 计算机系统结构、组成与实现
- 计算机系统结构主要研究软件、硬件功能的分配和对软件、硬件界面的确定
- 计算机系统结构的两个特性👇
外特性 | 内特性 |
---|---|
是计算机系统的概念性结构和功能特性 | 是外特性的逻辑实现 |
指令系统的外特性是最关键的 | 主要是研究如何合理地实现分配给硬件的功能 |
- 透明性👇
本来存在的事务或属性,从某个角度上看不到,称为透明
在一个计算机系统中,底层机器的属性往往对高层机器的程序员是透明的
-
系统结构、系统组成、系统实现三者的相互关系👇
- 相同系统结构的计算机可以采用不同组成
- 一种计算机组成可以采用不同的计算机实现
- 不同的系统结构会使可采用的系统组成技术产生差异
- 计算机组成也会影响系统结构
-
一种计算机系统结构,可以采用不同的组成👇
一种计算机系统结构 | 采用不同的组成 | 性能与价格 | 考虑因素 |
---|---|---|---|
设计指令系统 | 1.指令间顺序执行 | 速度慢、价格低 | 性能价格比 |
2.指令间重叠执行 | 速度快、价格高 | ||
乘法指令 | 1.用加法器、移位器 | 速度慢、价格低 | 性能价格比、乘法指令使用频度 |
2.用专门乘法器 | 速度快、价格高 |
3 计算机系统的软硬件取舍、性能评测及定量设计原理
- 控制流程的三种实现方法:全硬件、软硬件结合、全软件
- 软硬件实现的优缺点👇
项目 | 软件 | 硬件 |
---|---|---|
速度 | 慢 | 快 |
系统灵活性、适应性 | 强 | 弱 |
成本 | 低 | 高 |
- 软件成本在上升、硬件成本在下降
- 软硬取舍的基本原则:
- 很高的性能价格比
- 不要过多或不合理的限制组成技术使用
- 不仅从“硬”的角度考虑,还要从“软”的角度考虑
- 考虑用户的应用领域
- 设计周期长的硬件不宜采用
- 常用的功能尽量采用硬件实现
- 实现功能的成本性能比要低
- 尽量采用新技术实现超前技术
- 例👇
某一计算机用于商业外贸的事务处理,有大量字符串操作。由于这种事务处理很普遍,有较大的市场,故而设计人员决定在下一代此类计算机的CPU中加入字符串操作的功能。经测试用软件调查发现,字符串操作的使用占整个程序运行时间的50%,而增加此功能如用软件(如微程序实现,则快5倍,增加C門U成本1/5倍;如果用硬件实现,则快100倍,CPU成本增加到5倍问设计人员提出增加此功能是否恰当?是否用软件还是硬件?
设CPU成本占整机成本的1/3解:
软件实现:
T n e w = T o l d ( 1 − 50 % ) + 50 % T o l d 5 T_{new}=T_{old}(1-50\%) + {\frac {50\%T_{old}} 5} Tnew=Told(1−50%)+550%Told
性能变化 = Told /Tnew = 1.66
成 本 增 加 = 2 3 ∗ 1 + 1 3 ∗ ( 1 + 1 5 ) = 1.07 倍 成本增加= \frac 2 3 *1+\frac 1 3 *(1+\frac 1 5)=1.07倍 成本增加=32∗1+31∗(1+51)=1.07倍成 本 性 能 比 = 1.07 1.66 = 0.64 倍 成本性能比 = \frac {1.07}{1.66} = 0.64倍 成本性能比=1.661.07=0.64倍
硬件实现:
T n e w = T o l d ( 1 − 50 % ) + 50 % T o l d 100 T_{new}=T_{old}(1-50\%) + {\frac {50\%T_{old}} {100}} Tnew=Told(1−50%)+10050%Told
性能变化 = Told /Tnew = 1.98
成 本 增 加 = 2 3 ∗ 1 + 1 3 ∗ 5 = 2.33 倍 成本增加 = \frac 23*1+\frac 13*5= 2.33倍 成本增加=32∗1+31∗5=2.33倍成 本 性 能 比 = 2.33 1.98 = 1.18 倍 成本性能比 = \frac {2.33}{1.98}=1.18倍 成本性能比=1.982.33=1.18倍
综上,恰当,应用软件实现
-
计算机系统的性能评价
-
时钟频率
-
指令的执行速度
M I P S = 指 令 条 数 执 行 时 间 ∗ 1 0 6 = F z C P I = I P C ∗ F z MIPS = \frac {指令条数}{执行时间*10^6}=\frac {Fz}{CPI}=IPC*Fz MIPS=执行时间∗106指令条数=CPIFz=IPC∗FzFz为处理机的工作主频,表示1秒可以完成多少个周期
CPI为每条指令所需的平均时钟周期数
IPC为每个时钟周期平均执行的指令条数
例子👇
计算PentiunIV 3GHz处理机的速度
解:
由于PentiumIV3GHz处理机的IPC=4,Fz=3000MHz
M I P S = F z ∗ I P C = 3000 ∗ 4 =
-