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