计算机系统=硬件/固件+软件
虚拟机器和实际机器:
完全由软件实现的机器为虚拟机器,由硬件或固件实现的机器为实际机器。
仿真:由微程序解释指令集。
翻译技术是先把L+1级程序全部变换成L级程序后,再去执行新产生的L级程序,在执行过程中L+1级程序不再被访问。
解释技术是每当一条L+1级指令被译码后,就直接去执行一串等效的L级指令,然后再去取下一条L+1级的指令,依此重复进行。
经典计算机体系结构概念的实质是计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。
计算机实现:计算机组成的物理实现,包括处理机,和主存等物理结构器件的集成度速度,着眼器件技术和微组装技术。
着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联
①指令系统
指令系统的确定----系统结构
指令的实现----------组成
具体电路、器件设计及装配技术---实现
②乘法指令
是否设乘法指令---系统结构
用高速乘法器还是加法器移位器实现---组成
器件的类型、数量及组装技术的确定---实现
系统结构主要考虑的是计算机系统软、硬件界面的划分;计算机组成是系统结构的逻辑实现;计算机实现是计算机组成的物理实现。
2.具有相同系统结构的计算机可以采用不同的组成,一种计算机组成可以采用多种不同的计算机实现(数据通路宽度8位,16位,32位);
3.不同的系统结构使采用的组成技术产生差异,计算机组成也会影响系统结构;
按照系统的最大并行程度进行分类。
最大并行度:计算机系统在单位时间内能够处理的最大的二进制位数。
用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字),m×n就表示了并行度.
即:Pm=位片宽×字宽
指令流:机器执行的指令序列。
数据流:指令流调用的数据序列,包括输入数据和中间结果。
多倍性:是指在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。
SISD 单指令流单数据流
传统的单处理机属于SISD计算机,顺序处理计算机。
SIMD 单指令流多数据流
阵列处理机是SIMD计算机的典型代表
我国的YH-I型是此类计算机型
MISD 多指令流单数据流
这类系统没有实际的计算机。
MIMD 多指令流多数据流
包括了大多数多处理机及多计算机系统
我国的YH-II型计算机是这种类型的计算机
冯·诺依曼结构
存储程序原理的基本点:指令驱动,1.以运算器为中心:I/O设备与存储器之间的数据传送以及机器各种联系都要经过它。
2.在存储器中,指令和数据同等对待。指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。
3.存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。
4.指令的执行是顺序的。
一般是按照指令在存储器中存放的顺序执行。
程序的分支由转移指令实现。
指令计数器PC指明当前正在执行的指令在存储器中的地址。
5.指令由操作码和地址码组成。
指令格式:
操作码:指明操作类型。地址码:指明操作数和运算结果地址。
三地址、二地址、一地址、零地址
6.指令和数据均以二进制编码表示,采用二进制运算。
冯·诺依曼型计算机明显有3个缺点:
① 存在两个瓶颈:
CPU访问存储器;
指令串行执行;
严重影响计算机系统性能提高,
② 机器语言与高级语言间语义差别较大;
③ 数据表示简单,应用中常用到的栈、树、图、多维数组等数据结构必须经过地址映像存放,使软件复杂,运行速度慢。
软件对系统结构的影响 .可移植性
系列机:
由同一厂家生产的具有相同系统结构、但具有
不同组成和实现的一系列不同型号的计算机。
例如,IBM公司的IBM 370系列,Intel公司的x86系列等。
模拟:用软件方法在A机上模拟执行B机的指令系统, A机称为宿主机, B机称为虚拟机,
仿真:用一台现有机器(宿主机)上的微程序去解释实现
另一台机器(目标机)的指令集。
统一高级语言 :用统一的高级语言编写系统软件和应用程序
摩尔定律
计算机的分代主要以器件作为划分标准。SMP:对称式共享存储器多处理机
MPP:大规模并行处理机
只要在时间上相互重叠,就存在并行性。
同时性:两个或两个以上的事件在同一时刻发生。
并发性:两个或两个以上的事件在同一时间间隔内发生。
指令内部并行:单条指令中各微操作之间的并行。
指令级并行:并行执行两条或两条以上的指令。
线程级并行:并行执行两个或两个以上的线程。
通常是以一个进程内派生的多个线程为调度单位。
任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)
以子程序或进程为调度单元。
作业或程序级并行:并行执行两个或两个以上的
作业或程序。
三种途径:时间重叠、资源重复、资源共享。
大概率事件优先原则
Amdahl定律
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
1
Speedup = -----------------
(1-F) + F/S
F ----可改进比例(系统加速度比)
S ---- 部件加速比
程序的局部性原理
计算机性能的评测:执行时间和吞吐率 基准测试程序
响应时间:计算机完成某一任务所花费的全部时间。
流量:单位时间内系统所能完成的任务量。
CPU时间:表示CPU为某个任务工作的时间。
用户CPU时间:用户程序所花费的CPU时间。
系统CPU时间:用户程序运行期间操作系统花费的CPU时间。
CPU的性能
(1)CPU时间=总时钟周期数/时钟频率
(2)每条指令时钟数CPI,指令数IC
CPI=总时钟周期数/IC
(3)CPU时间=CPI×IC/时钟频率
时钟周期时间:取决于硬件实现技术和计算机组成。
CPI:取决于计算机组成和指令集结构。
IC:取决于指令集结构和编译技术。