计算机系统结构张晨曦王志英课后习题参考答案Word格式.docx
《计算机系统结构张晨曦王志英课后习题参考答案Word格式.docx》由会员分享,可在线阅读,更多相关《计算机系统结构张晨曦王志英课后习题参考答案Word格式.docx(50页珍藏版)》请在冰豆网上搜索。
程序局部性原理:
程序执行时所访问存储器地址不是随机分布,而是相对地簇聚。
包括时间局部性和空间局部性。
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
求该计算机有效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×
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
30
20
15
操作3
35
3
操作4
(1)改进后,各类操作加速比分别是多少?
(2)各类操作单独改进后,程序获得加速比分别是多少?
(3)4类操作均改进后,整个程序加速比是多少?
根据Amdahl定律可得
各类操作指令条数在程序中所占比例Fi
各类操作加速比Si
各类操作单独改进后,程序获得加速比
11.1%
1.06
33.3%
1.33
1.09
38.9%
3.33
1.37
16.7%
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指令集应满足哪几个基本要求?
对指令集基本要求是:
完整性、规整性、高效率和兼容性。
完整性是指在一个有限可用存储空间内,对于任何可解问题,编制计算程