第一章计算机体系结构的基本概念 1.1名词解释 1.层次结构一一计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语 言为特征。 第6级:应用语言虚拟机 第5级:高级语言虚拟机 第4级:汇编语言虚拟机 第3级:操作系统虚拟机 第2级:机器语言(传统机器级) 第1级:微程序机器级 2.翻译一—(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N 级程序,在执行过程中,N+1级程序不再被访问。 3.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后 再去取下一条N+1级指令,依此重复执行。 4.体系结构—一程序员所看到的计算机的属性,即概念性结构与功能特性。 5.透明性一一在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存 在的概念称为透明性 6.系列机一一在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系 列不同型号的机器。 7.软件兼容一一同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它 们所获得的结果一样,差别只在于运行的时间不同 8.兼容机一一不同厂家生产的、具有相同体系结构的计算机。 9.计算机组成——计算机体系结构的逻辑实现。 10.计算机实现一一计算机组成的物理实现。 11.存储程序计算机(冯·诺依曼结构)—一—采用存储程序原理,将程序和数据存放在同 存储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的 单元地址。 12.并行性一一在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工 作 13.时间重叠一一在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重 叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度 14.资源重复一一在并行性中引入空间因素,是根据“以数量取胜”的原则,通过重复设 计算机体系结构·第一章·第1页
计算机体系结构 • 第一章 • 第1页 第一章 计算机体系结构的基本概念 1.1 名词解释: 1. 层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语 言为特征。 第 6 级:应用语言虚拟机 第 5 级:高级语言虚拟机 第 4 级:汇编语言虚拟机 第 3 级:操作系统虚拟机 第 2 级:机器语言(传统机器级) 第 1 级:微程序机器级 2. 翻译——(基于层次结构)先把 N+1 级程序全部变换成 N 级程序之后,再去执行 N 级程序,在执行过程中,N+1 级程序不再被访问。 3. 解释——每当一条 N+1 级指令被译码后,就直接去执行一串等效的 N 级指令,然后 再去取下一条 N+1 级指令,依此重复执行。 4. 体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。 5. 透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存 在的概念称为透明性。 6. 系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系 列不同型号的机器。 7. 软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它 们所获得的结果一样,差别只在于运行的时间不同。 8. 兼容机——不同厂家生产的、具有相同体系结构的计算机。 9. 计算机组成——计算机体系结构的逻辑实现。 10. 计算机实现——计算机组成的物理实现。 11. 存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同 一存储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的 单元地址。 12. 并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工 作。 13. 时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重 叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 14. 资源重复——在并行性中引入空间因素,是根据“以数量取胜”的原则,通过重复设
置资源,尤其是硬件资源,大幅度提高计算机系统的性能。 5.资源共享—一是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件 设备。 16.同构型多处理机一一由多个同种类型、至少同等功能的处理机组成、同时处理同一作 业中能并行执行的多个任务的机器 17.异构型多处理机一一由多个不同类型、功能不同的处理机组成、串行完成同一作业中 不同任务的机器。 18.最低耦合—一是耦合度最低的系统,除通过某种中间存储介质之外,各计算机之间没 有物理连接、也无共享的联机硬件资源。 19.松散耦合——一般是通过通道或通信线路实现计算机之间连接、共享某些外围设备 例如磁盘、磁带),机器间的相互作用是在文件或数据集一级进行 20.紧密耦合一—一般是指机间物理连接的频带较高,它们往往通过总线或高速开关实现 互连,可以共享主存。 21.响应时间一一从事件开始到结束之间的时间,也称执行时间。 22.测试程序—一用于测试计算机性能的程序,可分为四类:真实程序、核心程序、小测 试程序、合成测试程序 23.测试程序组件一一选择一个各个方面有代表性的测试程序,组成一个通用的测试程序 集合。这个通用的测试程序集合称为测试程序组件。 24.大概率事件优先一一此原则是计算机体系结构中最重要和最常用的原则。对于大概率 事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果 5.系统加速比一一系统改进前与改进后总执行时间之比 26. Amdahl定律—一加快某部件执行速度所获得的系统性能加速比,受限于该部件在系 统中的所占的重要性 27.程序的局部性原理一一程序在执行时所访问的地址不是随机的,而是相对簇聚:这种 簇聚包括指令和数据两部分 28.CPl——指令时钟数( Cycles per Instruction) 12假设有一个计算机系统分为四级,每一级指令都比它下一级指令在功能上强M倍,即 一条r+1级指令能够完成M条r指令的工作,且一条r+1级指令需要N条r级指令解 释。对于一段在第一级执行时间为K的程序,在第二、第三、第四级上的一段等效程 序需要执行多少时间? 解 假设在第一级上用时间K执行了该级IC条指令 对第二级而言,为了完成C条指令的功能,第二级指令的条数为:IC.为了执 行第二级_条指令,需要执行—N条第一级的指令对其进行解释,所以对于第二级 而言,等效程序的执行时间是: IC IC 72 MM+EN/i M C M 计算机体系结构·第一章·第2页
计算机体系结构 • 第一章 • 第2页 置资源,尤其是硬件资源,大幅度提高计算机系统的性能。 15. 资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件 设备。 16. 同构型多处理机——由多个同种类型、至少同等功能的处理机组成、同时处理同一作 业中能并行执行的多个任务的机器。 17. 异构型多处理机——由多个不同类型、功能不同的处理机组成、串行完成同一作业中 不同任务的机器。 18. 最低耦合——是耦合度最低的系统,除通过某种中间存储介质之外,各计算机之间没 有物理连接、也无共享的联机硬件资源。 19. 松散耦合——一般是通过通道或通信线路实现计算机之间连接、共享某些外围设备 (例如磁盘、磁带),机器间的相互作用是在文件或数据集一级进行。 20. 紧密耦合——一般是指机间物理连接的频带较高,它们往往通过总线或高速开关实现 互连,可以共享主存。 21. 响应时间——从事件开始到结束之间的时间,也称执行时间。 22. 测试程序——用于测试计算机性能的程序,可分为四类:真实程序、核心程序、小测 试程序、合成测试程序。 23. 测试程序组件——选择一个各个方面有代表性的测试程序,组成一个通用的测试程序 集合。这个通用的测试程序集合称为测试程序组件。 24. 大概率事件优先——此原则是计算机体系结构中最重要和最常用的原则。对于大概率 事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。 25. 系统加速比——系统改进前与改进后总执行时间之比。 26. Amdahl 定律——加快某部件执行速度所获得的系统性能加速比,受限于该部件在系 统中的所占的重要性。 27. 程序的局部性原理——程序在执行时所访问的地址不是随机的,而是相对簇聚;这种 簇聚包括指令和数据两部分。 28. CPI——指令时钟数(Cycles per Instruction)。 1.2 假设有一个计算机系统分为四级,每一级指令都比它下一级指令在功能上强 M 倍,即 一条 r+1 级指令能够完成 M 条 r 指令的工作,且一条 r+1 级指令需要 N 条 r 级指令解 释。对于一段在第一级执行时间为 K 的程序,在第二、第三、第四级上的一段等效程 序需要执行多少时间? 解: 假设在第一级上用时间 K 执行了该级 IC 条指令。 对第二级而言,为了完成 IC 条指令的功能,第二级指令的条数为: M IC 。为了执 行第二级 M IC 条指令,需要执行 N M IC 条第一级的指令对其进行解释,所以对于第二级 而言,等效程序的执行时间是: K M N IC K N M IC M M IC T = + = + 1 2
对于第三级而言,为了完成C条指令的功能,第三级指令的条数为C_。为了 执行第三级C条指令,需要执行CN条第二级的指令对其进行解释。那么对第二级 而言,总的指令条数为: M2 M2 而第二级 C N等效于第一级 IC +CxNM条指令,同时还需要 IC C +NN条第一级指令进行解释,所以第三级等效程序的执行时间是: IC. C M M2 SM+ININ/K IC K 按照同样的逐层递推关系,不难求得第四级等效程序的总的执行时间为: T=1 N 12传统存储程序计算机的主要特征是什么?存在的主要问题是什么?目前的计算机系统 是如何改进的? 存储程序计算机在体系结构上的主要特点 (1)机器以运算器为中心。 (2)采用存储程序原理。程序(指令)和数据放在同一存储器中,并且没有对两者加 以区分。指令和数据一样可以送到运算器进行运算,即由指令组成的程序自身 是可以修改的。 (3)存储器是按地址访问的、线性编址的空间 (4)控制流由指令流产生 (5)指令由操作码和地址码组成。操作码指明本指令的操作类型,地址码指明操作 数和操作结果的地址。 (6)数据以二进制编码表示,采用二进制运算 传统存储程序计算机体系结构存在的主要问题及其改进: (1)分布的IO处理能力 存储程序计算机以运算器为中心、所有部件的操作都由控制器集中控制,这一特 点带来了慢速输入输出操作占用快速运算器的矛盾。为了克服这一缺点,人们先后提出 各种输入/输出方式 (2)保护的存储器空间 把指令和数据放在同一存储器中有优缺点。现在绝大多数计算机都规定:在执行 过程中不准修改程序 (3)存储器组织结构的发展 按地址访问的存储器具有结构简单、价格便宜、存取速度快等优点。但是在数据 计算机体系结构·第一章·第3页
计算机体系结构 • 第一章 • 第3页 对于第三级而言,为了完成 IC 条指令的功能,第三级指令的条数为: 2 M IC 。为了 执行第三级 2 M IC 条指令,需要执行 N M IC 2 条第二级的指令对其进行解释。那么对第二级 而言,总的指令条数为: N M IC M IC 2 2 + 而第二级 N M IC M IC 2 2 + 等效于第一级 N M M IC M IC + 2 2 条 指 令 , 同 时 还 需 要 N N M IC M IC + 2 2 条第一级指令进行解释,所以第三级等效程序的执行时间是: K M N IC K N N M IC M M IC N M M IC M M IC T 2 3 2 2 2 2 1 = + + + = + 按照同样的逐层递推关系,不难求得第四级等效程序的总的执行时间为: K M N T 3 4 1 = + 1.2 传统存储程序计算机的主要特征是什么?存在的主要问题是什么?目前的计算机系统 是如何改进的? 存储程序计算机在体系结构上的主要特点: (1) 机器以运算器为中心。 (2) 采用存储程序原理。程序(指令)和数据放在同一存储器中,并且没有对两者加 以区分。指令和数据一样可以送到运算器进行运算,即由指令组成的程序自身 是可以修改的。 (3) 存储器是按地址访问的、线性编址的空间。 (4) 控制流由指令流产生。 (5) 指令由操作码和地址码组成。操作码指明本指令的操作类型,地址码指明操作 数和操作结果的地址。 (6) 数据以二进制编码表示,采用二进制运算。 传统存储程序计算机体系结构存在的主要问题及其改进: (1)分布的 I/O 处理能力 存储程序计算机以运算器为中心、所有部件的操作都由控制器集中控制,这一特 点带来了慢速输入输出操作占用快速运算器的矛盾。为了克服这一缺点,人们先后提出 各种输入/输出方式。 (2)保护的存储器空间 把指令和数据放在同一存储器中有优缺点。现在绝大多数计算机都规定:在执行 过程中不准修改程序。 (3)存储器组织结构的发展 按地址访问的存储器具有结构简单、价格便宜、存取速度快等优点。但是在数据
处理时,往往要求查找具有某种内容特点的信息。但由于访问存储器的次数较多而影响 计算机系统的性能。 采用了通用寄存器的概念、设置高速缓冲存储器 Cache、构成了以相联存储器为 核心的相联处理机。 4)并行处理技术 传统的存储程序计算机解题算法是顺序型的,即使问题本身可以并行处理,由于 程序的执行受程序计数器控制,故只能是串行、顺序地执行。 如何挖掘传统机器中的并行性? 改进CPU的组成 在体系结构上使本来可以并行计算的题目能并行计算 多机并行处理系统 (5)指令集的发展 计算机系统指令的种类愈来愈多,这种计算机称为复杂指令集计算机CISC。日趋 庞杂的指令集不但不容易实现,而且还可能降低计算机系统的性能。 把指令集设计成只包含那些使用频率高的少量指令,并提供一些必要的指令以支持 操作系统和高级语言。按照这个原则而构成的计算机称为精简指令集计算机RISC 14对于一台400MHz计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟 周期数如下: 指令类型 指令执行数量平均时钟周期数 整数 45000 数据传送 分支 1500 求该计算机的有效CPI、MPS和程序执行时间 解:CP=∑CxCP)C CP1=4500041+008004+1502-176 129500 M∥PS速率=—400×10 =225.225MPS 程序执行时间=(45000×1+75000×2+8000×4+1500×2)/400=575s 1.5计算机系统有三个部件可以改进,这三个部件的加速比如下: 部件加速比1=30;部件加速比2=20:部件加速比3=10 (1)如果部件1和部件2的可改进比例为30%,那么当部件3的可改进比例为多少时, 系统的加速比才可以达到10? (2)如果三个部件的可改进比例为30%、30%和20%,三个部件同时改进,那么系统 中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:在多个部件可改进情况下 Adah定理的扩展: 计算机体系结构·第一章·第4页
计算机体系结构 • 第一章 • 第4页 处理时,往往要求查找具有某种内容特点的信息。但由于访问存储器的次数较多而影响 计算机系统的性能。 采用了通用寄存器的概念、设置高速缓冲存储器 Cache、构成了以相联存储器为 核心的相联处理机。 (4)并行处理技术 传统的存储程序计算机解题算法是顺序型的,即使问题本身可以并行处理,由于 程序的执行受程序计数器控制,故只能是串行、顺序地执行。 如何挖掘传统机器中的并行性? 改进 CPU 的组成 在体系结构上使本来可以并行计算的题目能并行计算 多机并行处理系统 (5)指令集的发展 计算机系统指令的种类愈来愈多,这种计算机称为复杂指令集计算机 CISC。日趋 庞杂的指令集不但不容易实现,而且还可能降低计算机系统的性能。 把指令集设计成只包含那些使用频率高的少量指令,并提供一些必要的指令以支持 操作系统和高级语言。按照这个原则而构成的计算机称为精简指令集计算机 RISC。 1.4 对于一台 400MHz 计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟 周期数如下: 指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效 CPI、MIPS 和程序执行时间。 解: CPI =(ICi CPIi )/ IC 1.776 129500 45000 1 75000 2 8000 4 1500 2 = + + + CPI = MIPS CPI f MIPS 225.225 1.776 10 400 10 10 6 6 6 = = 速率 = 程序执行时间=( 450001+ 750002+80004+15002 )/400=575s 1.5 计算机系统有三个部件可以改进,这三个部件的加速比如下: 部件加速比 1=30; 部件加速比 2=20; 部件加速比 3=10; (1) 如果部件 1 和部件 2 的可改进比例为 30%,那么当部件 3 的可改进比例为多少时, 系统的加速比才可以达到 10? (2) 如果三个部件的可改进比例为 30%、30%和 20%,三个部件同时改进,那么系统 中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:在多个部件可改进情况下 Amdahl 定理的扩展:
T=T(1-f) 式中,f为可加速部件i在未优化系统中所占的比例:;Si是部件i的加速比 S-(++月+++ 10={1-(03+03+f)++0+ 0.36 -(0.3+0.3+0.2)T 0.3T0.370.2T 302010 +0.2 302010 0. 0.60.91212 0 计算机体系结构·第一章·第5页
计算机体系结构 • 第一章 • 第5页 = − + e e e o e S f T T (1 f ) e e e S f f S − + = (1 ) 1 − + = i i i i i S f f S (1 ) 1 式中,fi 为可加速部件 i 在未优化系统中所占的比例;Si 是部件 i 的加速比。 1 3 3 2 2 1 1 1 2 3 [1 ( )] − = − + + + + + S f S f S f S f f f 1 3 3 20 30 0.3 30 0.3 10 [1 (0.3 0.3 )] − = − + + + + + f f 0.36 180 65 f 3 = = 0.82 14.7 12 60 12 60 1.2 60 0.9 60 0.6 0.2 0.2 10 0.2 20 0.3 30 0.3 0.2 0.2 10 0.2 20 0.3 30 0.3 [1 (0.3 0.3 0.2)] = = + + + = + + + = + + + − + + = T T T T T p