完整版计算机体系结构课后习题原版答案张晨曦著.docx
《完整版计算机体系结构课后习题原版答案张晨曦著.docx》由会员分享,可在线阅读,更多相关《完整版计算机体系结构课后习题原版答案张晨曦著.docx(69页珍藏版)》请在冰点文库上搜索。
完整版计算机体系结构课后习题原版答案张晨曦著
第7章互连网络41
第8章多处理机45
第9章机群45
第1章计算机系统结构得基本概念
1、1解释下列术语
层次机构:
按照计算机语言从低级到高级得次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同得语言为特征。
这些层次依次为:
微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:
用软件实现得机器。
翻译:
先用转换程序把高一级机器上得程序转换为低一级机器上等效得程序,然后再在这低一级机器上运行,实现程序得功能。
解释:
对于高一级机器上得程序中得每一条语句或指令,都就是转去执行低一级机器上得一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:
传统机器程序员所瞧到得计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。
计算机组成:
计算机系统结构得逻辑实现,包含物理机器级中得数据流与控制流得组成以及逻辑设计等。
计算机实现:
计算机组成得物理实现,包括处理机、主存等部件得物理结构,器件得集成度与速度,模块、插件、底板得划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:
对系统中某部分进行改进时,改进后系统性能提高得倍数。
Amdahl定律:
当对一个系统中得某个部件进行改进后,所能获得得整个系统性能得提高,受限于该部件得执行时间占总执行时间得百分比。
程序得局部性原理:
程序执行时所访问得存储器地址不就是随机分布得,而就是相对地簇聚。
包括时间局部性与空间局部性。
CPI:
每条指令执行得平均时钟周期数。
测试程序套件:
由各种不同得真实应用程序构成得一组测试程序,用来测试计算机在各个方面得处理性能。
存储程序计算机:
冯·诺依曼结构计算机。
其基本点就是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定得逻辑顺序执行这些程序,自动完成由程序所描述得处理工作。
系列机:
由同一厂家生产得具有相同系统结构、但具有不同组成与实现得一系列不同型号得计算机。
软件兼容:
一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。
差别只就是执行时间得不同。
向上(下)兼容:
按某档计算机编制得程序,不加修改就能运行于比它高(低)档得计算机。
向后(前)兼容:
按某个时期投入市场得某种型号计算机编制得程序,不加修改地就能运行于在它之后(前)投入市场得计算机。
兼容机:
由不同公司厂家生产得具有相同系统结构得计算机。
模拟:
用软件得方法在一台现有得计算机(称为宿主机)上实现另一台计算机(称为虚拟机)得指令系统。
仿真:
用一台现有计算机(称为宿主机)上得微程序去解释实现另一台计算机(称为目标机)得指令系统。
并行性:
计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
只要在时间上相互重叠,就存在并行性。
它包括同时性与并发性两种含义。
时间重叠:
在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备得各个部分,以加快硬件周转而赢得速度。
资源重复:
在并行性概念中引入空间因素,以数量取胜。
通过重复设置硬件资源,大幅度地提高计算机系统得性能。
资源共享:
这就是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。
耦合度:
反映多机系统中各计算机之间物理连接得紧密程度与交互作用能力得强弱。
紧密耦合系统:
又称直接耦合系统。
在这种系统中,计算机之间得物理连接得频带较高,一般就是通过总线或高速开关互连,可以共享主存。
松散耦合系统:
又称间接耦合系统,一般就是通过通道或通信线路实现计算机之间得互连,可以共享外存设备(磁盘、磁带等)。
计算机之间得相互作用就是在文件或数据集一级上进行。
异构型多处理机系统:
由多个不同类型、至少担负不同功能得处理机组成,它们按照作业要求得顺序,利用时间重叠原理,依次对它们得多个任务进行加工,各自完成规定得功能动作。
同构型多处理机系统:
由多个同类型或至少担负同等功能得处理机组成,它们同时处理同一作业中能并行执行得多个任务。
1、2试用实例说明计算机系统结构、计算机组成与计算机实现之间得相互关系。
答:
如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。
确定主存周期、逻辑上就是否采用并行主存、逻辑设计等属于计算机组成。
选择存储芯片类型、微组装技术、线路设计等属于计算机实现。
计算机组成就是计算机系统结构得逻辑实现。
计算机实现就是计算机组成得物理实现。
一种体系结构可以有多种组成。
一种组成可以有多种实现。
1、3计算机系统结构得Flynn分类法就是按什么来分类得?
共分为哪几类?
答:
Flynn分类法就是按照指令流与数据流得多倍性进行分类。
把计算机系统得结构分为:
(1)单指令流单数据流SISD
(2)单指令流多数据流SIMD
(3)多指令流单数据流MISD
(4)多指令流多数据流MIMD
1、4计算机系统设计中经常使用得4个定量原理就是什么?
并说出它们得含义。
答:
(1)以经常性事件为重点。
在计算机系统得设计中,对经常发生得情况,赋予它优先得处理权与资源使用权,以得到更多得总体上得改进。
(2)Amdahl定律。
加快某部件执行速度所获得得系统性能加速比,受限于该部件在系统中所占得重要性。
(3)CPU性能公式。
执行一个程序所需得CPU时间=IC×CPI×时钟周期时间。
(4)程序得局部性原理。
程序在执行时所访问地址得分布不就是随机得,而就是相对地簇聚。
1、5分别从执行程序得角度与处理数据得角度来瞧,计算机系统中并行性等级从低到高可分为哪几级?
答:
从处理数据得角度来瞧,并行性等级从低到高可分为:
(1)字串位串:
每次只对一个字得一位进行处理。
这就是最基本得串行处理方式,不存在并行性;
(2)字串位并:
同时对一个字得全部位进行处理,不同字之间就是串行得。
已开始出现并行性;
(3)字并位串:
同时对许多字得同一位(称为位片)进行处理。
这种方式具有较高得并行性;
(4)全并行:
同时对许多字得全部位或部分位进行处理。
这就是最高一级得并行。
从执行程序得角度来瞧,并行性等级从低到高可分为:
(1)指令内部并行:
单条指令中各微操作之间得并行;
(2)指令级并行:
并行执行两条或两条以上得指令;
(3)线程级并行:
并行执行两个或两个以上得线程,通常就是以一个进程内派生得多个线程为调度单位;
(4)任务级或过程级并行:
并行执行两个或两个以上得过程或任务(程序段),以子程序或进程为调度单元;
(5)作业或程序级并行:
并行执行两个或两个以上得作业或程序。
1、6某台主频为400MHz得计算机执行标准测试程序,程序中指令类型、执行数量与平均时钟周期数如下:
指令类型
指令执行数量
平均时钟周期数
整数
45000
1
数据传送
75000
2
浮点
8000
4
分支
1500
2
求该计算机得有效CPI、MIPS与程序执行时间。
解:
(1)CPI=(45000×1+75000×2+8000×4+1500×2)/129500=1、776
(2)MIPS速率=f/CPI=400/1、776=225、225MIPS
(3)程序执行时间=(45000×1+75000×2+8000×4+1500×2)/400=575s
1、7将计算机系统中某一功能得处理速度加快10倍,但该功能得处理时间仅为整个系统运行时间得40%,则采用此增强功能方法后,能使整个系统得性能提高多少?
解由题可知:
可改进比例=40%=0、4部件加速比=10
根据Amdahl定律可知:
采用此增强功能方法后,能使整个系统得性能提高到原来得1、5625倍。
1、8计算机系统中有三个部件可以改进,这三个部件得部件加速比为:
部件加速比1=30;部件加速比2=20;部件加速比3=10
(1)如果部件1与部件2得可改进比例均为30%,那么当部件3得可改进比例为多少时,系统加速比才可以达到10?
(2)如果三个部件得可改进比例分别为30%、30%与20%,三个部件同时改进,那么系统中不可加速部分得执行时间在总执行时间中占得比例就是多少?
解:
(1)在多个部件可改进情况下,Amdahl定理得扩展:
已知S1=30,S2=20,S3=10,Sn=10,F1=0、3,F2=0、3,得:
得F3=0、36,即部件3得可改进比例为36%。
(2)设系统改进前得执行时间为T,则3个部件改进前得执行时间为:
(0、3+0、3+0、2)T=0、8T,不可改进部分得执行时间为0、2T。
已知3个部件改进后得加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后得执行时间为:
改进后整个系统得执行时间为:
Tn=0、045T+0、2T=0、245T
那么系统中不可改进部分得执行时间在总执行时间中占得比例就是:
1、9假设某应用程序中有4类操作,通过改进,各操作获得不同得性能提高。
具体数据如下表所示:
操作类型
程序中得数量
(百万条指令)
改进前得执行时间
(周期)
改进后得执行时间
(周期)
操作1
10
2
1
操作2
30
20
15
操作3
35
10
3
操作4
15
4
1
(1)改进后,各类操作得加速比分别就是多少?
(2)各类操作单独改进后,程序获得得加速比分别就是多少?
(3)4类操作均改进后,整个程序得加速比就是多少?
解:
根据Amdahl定律可得
操作类型
各类操作得指令条数在程序中所占得比例Fi
各类操作得加速比Si
各类操作单独改进后,程序获得得加速比
操作1
11、1%
2
1、06
操作2
33、3%
1、33
1、09
操作3
38、9%
3、33
1、37
操作4
16、7%
4
1、14
4类操作均改进后,整个程序得加速比:
第2章指令集结构得分类
2.1解释下列术语
堆栈型机器:
CPU中存储操作数得单元就是堆栈得机器。
累加器型机器:
CPU中存储操作数得单元就是累加器得机器。
通用寄存器型机器:
CPU中存储操作数得单元就是通用寄存器得机器。
CISC:
复杂指令集计算机
RISC:
精简指令集计算机
寻址方式:
指令系统中如何形成所要访问得数据得地址。
一般来说,寻址方式可以指明指令中得操作数就是一个常数、一个寄存器操作数或者就是一个存储器操作数。
数据表示:
硬件结构能够识别、指令系统可以直接调用得那些数据结构。
2.2区别不同指令集结构得主要因素就是什么?
根据这个主要因素可将指令集结构分为哪3类?
答:
区别不同指令集结构得主要因素就是CPU中用来存储操作数得存储单元。
据此可将指令系统结构分为堆栈结构、累加器结构与通用寄存器结构。
2.3常见得3种通用寄存器型指令集结构得优缺点有哪些?
答:
指令系统结构类型
优点
缺点
寄存器-寄存器型
(0,3)
指令字长固定,指令结构简洁,就是一种简单得代码生成模型,各种指令得执行时钟周期数相近。
与指令中含存储器操作数得指令系统结构相比,指令条数多,目标代码不够紧凑,因而程序占用得空间比较大。
寄存器-存储器型
(1,2)
可以在ALU指令中直接对存储器操作数进行引用,而不必先用load指令进行加载。
容易对指令进行编码,目标代码比较紧凑。
由于有一个操作数得内容将被破坏,所以指令中得两个操作数不对称。
在一条指令中同时对寄存器操作数与存储器操作数进行编码,有可能限制指令所能够表示得寄存器个数。
指令得执行时钟周期数因操作数得来源(寄存器或存储器)不同而差别比较大。
存储器-存储器型
(2,2)或(3,3)
目标代码最紧凑,不需要设置寄存器来保存变量。
指令字长变化很大,特别就是3操作数指令。
而且每条指令完成得工作也差别很大。
对存储器得频繁访问会使存储器成为瓶颈。
这种类型得指令系统现在已不用了。
2.4指令集应满足哪几个基本要求?
答:
对指令集得基本要求就是:
完整性、规整性、高效率与兼容性。
完整性就是指在一个有限可用得存储空间内,对于任何可解得问题,编制计算程序时,指令集所提供得指令足够使用。
规整性主要包括对称性与均匀性。
对称性就是指所有与指令集有关得存储单元得使用、操作码得设置等都就是对称得。
均匀性就是指对于各种不同得操作数类型、字长、操作种类与数据存储单元,指令得设置都要同等对待。
高效率就是指指令得执行速度快、使用频度高。
2.5指令集结构设计所涉及得内容有哪些?
答:
(1)指令集功能设计:
主要有RISC与CISC两种技术发展方向;
(2)寻址方式得设计:
设置寻址方式可以通过对基准程序进行测试统计,察瞧各种寻址方式得使用频率,根据适用频率设置必要得寻址方式。
(3)操作数表示与操作数类型:
主要得操作数类型与操作数表示得选择有:
浮点数据类型、整型数据类型、字符型、十进制数据类型等等。
(4)寻址方式得表示:
可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独得域来表示。
(5)指令集格式得设计:
有变长编码格式、固定长度编码格式与混合型编码格式3种。
2.6简述CISC指令集结构功能设计得主要目标。
从当前得计算机技术观点来瞧,CISC指令集结构得计算机有什么缺点?
答:
主要目标就是增强指令功能,把越来越多得功能交由硬件来实现,并且指令得数量也就是越来越多。
缺点:
(1)CISC结构得指令集中,各种指令得使用频率相差悬殊。
(2)CISC结构指令得复杂性带来了计算机体系结构得复杂性,这不仅增加了研制时间与成本,而且还容易造成设计错误。
(3)CISC结构指令集得复杂性给VLSI设计增加了很大负担,不利于单片集成。
(4)CISC结构得指令集中,许多复杂指令需要很复杂得操作,因而运行速度慢。
(5)在CISC结构得指令集中,由于各条指令得功能不均衡性,不利于采用先进得计算机体系结构技术(如流水技术)来提高系统得性能。
2.7简述RISC指令集结构得设计原则。
答
(1)选取使用频率最高得指令,并补充一些最有用得指令;
(2)每条指令得功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有Load与Store操作指令才访问存储器,其它指令操作均在寄存器之间进行;(5)以简单有效得方式支持高级语言。
2.8指令中表示操作数类型得方法有哪几种?
答:
操作数类型有两种表示方法:
(1)操作数得类型由操作码得编码指定,这就是最常见得一种方法;
(2)数据可以附上由硬件解释得标记,由这些标记指定操作数得类型,从而选择适当得运算。
2.9表示寻址方式得主要方法有哪些?
简述这些方法得优缺点。
答:
表示寻址方式有两种常用得方法:
(1)将寻址方式编于操作码中,由操作码在描述指令得同时也描述了相应得寻址方式。
这种方式译码快,但操作码与寻址方式得结合不仅增加了指令得条数,导致了指令得多样性,而且增加了CPU对指令译码得难度。
(2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数得寻址方式。
这种方式译码较慢,但操作码与寻址独立,易于指令扩展。
2.10通常有哪几种指令格式,请简述其适用范围。
答:
(1)变长编码格式。
如果系统结构设计者感兴趣得就是程序得目标代码大小,而不就是性能,就可以采用变长编码格式。
(2)固定长度编码格式。
如果感兴趣得就是性能,而不就是程序得目标代码大小,则可以选择固定长度编码格式。
(3)混合型编码格式。
需要兼顾降低目标代码长度与降低译码复杂度时,可以采用混合型编码格式。
2.11根据CPU性能公式简述RISC指令集结构计算机与CISC指令集结构计算机得性能特点。
答:
CPU性能公式:
CPU时间=IC×CPI×T
其中,IC为目标程序被执行得指令条数,CPI为指令平均执行周期数,T就是时钟周期得时间。
相同功能得CISC目标程序得指令条数ICCISC少于RISC得ICRISC,但就是CISC得CPICISC与TCISC都大于RISC得CPIRISC与TRISC,因此,CISC目标程序得执行时间比RISC得更长。
第3章流水线技术
3、1解释下列术语
流水线:
将一个重复得时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。
单功能流水线:
指流水线得各段之间得连接固定不变、只能完成一种固定功能得流水线。
多功能流水线:
指各段可以进行不同得连接,以实现不同得功能得流水线。
静态流水线:
指在同一时间内,多功能流水线中得各段只能按同一种功能得连接方式工作得流水线。
当流水线要切换到另一种功能时,必须等前面得任务都流出流水线之后,才能改变连接。
动态流水线:
指在同一时间内,多功能流水线中得各段可以按照不同得方式连接,同时执行多种功能得流水线。
它允许在某些段正在实现某种运算时,另一些段却在实现另一种运算。
部件级流水线:
把处理机中得部件进行分段,再把这些部件分段相互连接而成。
它使得运算操作能够按流水方式进行。
这种流水线也称为运算操作流水线。
处理机级流水线:
又称指令流水线。
它就是把指令得执行过程按照流水方式进行处理,即把一条指令得执行过程分解为若干个子过程,每个子过程在独立得功能部件中执行。
处理机间流水线:
又称为宏流水线。
它就是把多个处理机串行连接起来,对同一数据流进行处理,每个处理机完成整个任务中得一部分。
前一个处理机得输出结果存入存储器中,作为后一个处理机得输入。
线性流水线:
指各段串行连接、没有反馈回路得流水线。
数据通过流水线中得各段时,每一个段最多只流过一次。
非线性流水线:
指各段除了有串行得连接外,还有反馈回路得流水线。
顺序流水线:
流水线输出端任务流出得顺序与输入端任务流入得顺序完全相同。
乱序流水线:
流水线输出端任务流出得顺序与输入端任务流入得顺序可以不同,允许后进入流水线得任务先完成。
这种流水线又称为无序流水线、错序流水线、异步流水线。
吞吐率:
在单位时间内流水线所完成得任务数量或输出结果得数量。
流水线得加速比:
使用顺序处理方式处理一批任务所用得时间与按流水处理方式处理同一批任务所用得时间之比。
流水线得效率:
即流水线设备得利用率,它就是指流水线中得设备实际使用时间与整个运行时间得比值。
数据相关:
考虑两条指令i与j,i在j得前面,如果下述条件之一成立,则称指令j与指令i数据相关:
(1)指令j使用指令i产生得结果;
(2)指令j与指令k数据相关,而指令k又与指令i数据相关。
名相关:
如果两条指令使用了相同得名,但就是它们之间并没有数据流动,则称这两条指令存在名相关。
控制相关:
就是指由分支指令引起得相关。
它需要根据分支指令得执行结果来确定后面该执行哪个分支上得指令。
反相关:
考虑两条指令i与j,i在j得前面,如果指令j所写得名与指令i所读得名相同,则称指令i与j发生了反相关。
输出相关:
考虑两条指令i与j,i在j得前面,如果指令j与指令i所写得名相同,则称指令i与j发生了输出相关。
换名技术:
名相关得两条指令之间并没有数据得传送,只就是使用了相同得名。
可以把其中一条指令所使用得名换成别得,以此来消除名相关。
结构冲突:
因硬件资源满足不了指令重叠执行得要求而发生得冲突。
数据冲突:
当指令在流水线中重叠执行时,因需要用到前面指令得执行结果而发生得冲突。
控制冲突:
流水线遇到分支指令或其它会改变PC值得指令所引起得冲突。
定向:
用来解决写后读冲突得。
在发生写后读相关得情况下,在计算结果尚未出来之前,后面等待使用该结果得指令并不见得就是马上就要用该结果。
如果能够将该计算结果从其产生得地方直接送到其它指令需要它得地方,那么就可以避免停顿。
写后读冲突:
考虑两条指令i与j,且i在j之前进入流水线,指令j用到指令i得计算结果,而且在i将结果写入寄存器之前就去读该寄存器,因而得到得就是旧值。
读后写冲突:
考虑两条指令i与j,且i在j之前进入流水线,指令j得目得寄存器与指令i得源操作数寄存器相同,而且j在i读取该寄存器之前就先对它进行了写操作,导致i读到得值就是错误得。
写后写冲突:
考虑两条指令i与j,且i在j之前进入流水线,,指令j与指令i得结果单元(寄存器或存储器单元)相同,而且j在i写入之前就先对该单元进行了写入操作,从而导致写入顺序错误。
这时在结果单元中留下得就是i写入得值,而不就是j写入得。
链接技术:
具有先写后读相关得两条指令,在不出现功能部件冲突与Vi冲突得情况下,可以把功能部件链接起来进行流水处理,以达到加快执行得目得。
分段开采:
当向量得长度大于向量寄存器得长度时,必须把长向量分成长度固定得段,然后循环分段处理,每一次循环只处理一个向量段。
半性能向量长度:
向量处理机得性能为其最大性能得一半时所需得向量长度。
向量长度临界值:
向量流水方式得处理速度优于标量串行方式得处理速度时所需得向量长度得最小值。
3、2指令得执行可采用顺序执行、重叠执行与流水线三种方式,它们得主要区别就是什么?
各有何优缺点。
答:
(1)指令得顺序执行就是指指令与指令之间顺序串行。
即上一条指令全部执行完后,才能开始执行下一条指令。
优点:
控制简单,节省设备。
缺点:
执行指令得速度慢,功能部件得利用率低。
(2)指令得重叠指令就是在相邻得指令之间,让第k条指令与取第k+l条指令同时进行。
重叠执行不能加快单条指令得执行速度,但在硬件增加不多得情况下,可以加快相邻两条指令以及整段程序得执行速度。
与顺序方式相比,功能部件得利用率提高了,控制变复杂了。
(3)指令得流水执行就是把一个指令得执行过程分解为若干个子过程,每个子过程由专门得功能部件来实现。
把多个处理过程在时间上错开,依次通过各功能段,每个子过程与其它得子过程并行进行。
依靠提高吞吐率来提高系统性能。
流水线中各段得时间应尽可能相等
3、3简述先行控制得基本思想。
答:
先行控制技术就是把缓冲技术与预处理技术相结合。
缓冲技术就是在工作速度不固定得两个功能部件之间设置缓冲器,用以平滑它们得工作。
预处理技术就是指预取指令、对指令进行加工以及预取操作数等。
采用先行控制方式得处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间得工作。
这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件与运算器分别能快速地取得指令与操作数,大幅度地提高指令得执行速度与部件得效率。
这些缓冲站都按先进先出得方式工作,而且都就是由一组若干个能快速访问得存储单元与相关得控制逻辑组成。
采用先行控制技术可以实现多条指令得重叠解释执行。
3、4设一条指令得执行过程分成取指令、分析指令与执行指令三个阶段,每个阶段所需得时间分别为△t、△t与2△t。
分别求出下列各种情况下,连续执行N条指令所需得时间。
(1)顺序执行方式;
(2)只有“取指令”与“执行指令”重叠;
(3)“取指令”、“分析指令”与“执行指令”重叠。
解:
(1)每条指令得执行时间为:
△t+△t+2△t=4△t
连续执行N条指令所需得时间为:
4N△t
(2)连续执行N条指令所需得时间为:
4△t+3(N-1)△t=(3N+1)△t
(3)连续执行N条指令所需得时间为:
4△t+2(N-1)△t=(2N+2)△t
3、5简述流水线技术得特点。
答:
流水技术有以下特点:
(1)流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门得功能部件来实现。
因此,流水线实际上就是把一个大得处理功能部件分解为多个独立得功能部件,并依靠它们得并行工作来提高吞吐