计算机组成与系统结构课后答案全
- 格式:doc
- 大小:579.50 KB
- 文档页数:61
计算机系统结构课后习题答案计算机系统结构课后习题答案计算机系统结构是计算机科学与技术领域中的一门重要课程,它主要研究计算机硬件和软件之间的关系,以及计算机系统的组成和工作原理。
在学习这门课程的过程中,我们经常会遇到一些习题,下面我将为大家提供一些计算机系统结构课后习题的答案,希望对大家的学习有所帮助。
1. 什么是计算机系统结构?计算机系统结构是指计算机硬件和软件之间的关系,以及计算机系统的组成和工作原理。
它包括计算机的组成部分、数据的存储和传输方式、指令的执行过程等内容。
2. 计算机系统结构有哪些主要组成部分?计算机系统结构主要包括中央处理器(CPU)、存储器、输入输出设备和总线等组成部分。
其中,中央处理器负责执行计算机指令,存储器用于存储程序和数据,输入输出设备用于与外部环境进行信息交换,而总线则负责连接各个组件。
3. 什么是指令集架构?指令集架构是计算机系统结构中的一个重要概念,它描述了计算机硬件支持的指令集和指令的执行方式。
常见的指令集架构有精简指令集(RISC)和复杂指令集(CISC)两种。
4. 什么是冯·诺依曼体系结构?冯·诺依曼体系结构是计算机系统结构的一种经典模型,它由冯·诺依曼于1945年提出。
冯·诺依曼体系结构的特点是将存储器和处理器分开,通过总线进行数据传输,程序和数据以二进制形式存储在存储器中,按照顺序执行。
5. 什么是存储器层次结构?存储器层次结构是计算机系统结构中的一个重要概念,它描述了计算机系统中不同层次的存储器之间的关系。
存储器层次结构一般由高速缓存、主存和辅助存储器等多级存储器组成,不同级别的存储器速度和容量各不相同。
6. 什么是流水线技术?流水线技术是一种提高计算机指令执行效率的方法,它将指令执行过程划分为多个子任务,并通过流水线的方式进行并行处理。
流水线技术可以提高指令的吞吐量,但也会引入一定的延迟。
7. 什么是指令级并行?指令级并行是一种提高计算机指令执行效率的方法,它通过同时执行多条指令来提高指令的吞吐量。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序.把计算机系统按功能划分成多级层次结构.每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级.传统机器语言机器级.汇编语言机器级.高级语言机器级.应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序.然后再在这低一级机器上运行.实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令.都是转去执行低一级机器上的一段等效程序。
执行完后.再去高一级机器取下一条语句或指令.再进行解释执行.如此反复.直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性.即概念性结构与功能特性。
在计算机技术中.把这种本来存在的事物或属性.但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现.包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现.包括处理机、主存等部件的物理结构.器件的集成度和速度.模块、插件、底板的划分与连接.信号传输.电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时.改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后.所能获得的整个系统性能的提高.受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的.而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序.用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中.机器一旦启动.就能按照程序指定的逻辑顺序执行这些程序.自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
第 1 章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。
(2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。
对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。
从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。
(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。
在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。
(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。
故性价比R为:R=1/(执行时间×价格)R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。
因为10×5000 > 5×8000,所以,M2的性价比高。
习题参考答案习题1参考答案1.6、计算题,解:假设某机器指令系统按指令周期长短分为4种,t 1=10ns ,t 2=15ns ,t 3=16ns ,t 4=20ns ,这4种指令在程序中出现的概率分别为ƒ1=20%,ƒ2=16%,ƒ3=40%,ƒ4=24%,计算出平均运算速度是多少MIPS ?解:由式(1.1)先计算出T m 。
m T =ini t fi ⨯∑=1=10×0.2+15×0.16+16×0.4+20×0.24=15.6 ns由式(1.2)求得平均运算速度为V m =1/T m =1/(15.6×10-9)=64.10(MIPS )习题2参考答案2、11010111,327,D73、12.5,28.875,205.43754、原码:-127~+127;补码:-128~+127;反码:-127~+127。
7、0.1110,1.00101,1.01110 8、0.1101,-0.0001,-0.1111 9、10101101,00010011 10、[x]补 =a 0.a 1a 2…a 6 解法一、(1)若a 0=0, 则x>0, 满足x>-0.5,此时a 1…a 6可任意 (2)若a 0=1, 则x<=0,要满足x>-0.5, 需a 1=1 即a 0=1, a 1=1, a 2…a 6有一个不为0 解法二、-0.5=-0.1(2)=-0.100000=1,100000 (1)若x>=0, 则a 0=0, a 1…a 6任意即可 [x]补=x=a 0.a 1a 2…a 6 (2)若x<0,则x>-0.5只需-x<0.5,-x>0[x]补=-x,[0.5]补=01000000 即[-x]补<01000000即a 0a 1=11,a 2…a 6不全为0或至少有一个为1(但不是“其余取0”)11.字长32位浮点数,阶码10位,用移码表示,尾数22位,用补码表示,基为2,(1)最大的二进制数表示 E=111111111Ms = 0, M = 11…1(全1) 表示为: 11…1 011…1 10个 21个即:(2)最小的二进制数E=111111111Ms=1,M=00…0(全0)(注意:用10….0来表示尾数-1)表示为: 11...1 100 010个 21个即:(3)规格化范围正数最大 E = 11…1,M = 11…1,Ms = 010个 21个即:正数最小 E = 00…0,M=100…0, Ms = 010个 20个即:负数最大 E = 00…0,M = 011…1, Ms = 110个 20个(最接近0的负数)即:负数最小 E = 11…1, M = 00…0, Ms =1,即:10个 21个规格化所表示的范围用集合表示为:[ , ][,](4)最接近于0的正规格化数、负规格化数(由上题可得出)正规格化数 E = 00…0, M = 100…0, Ms = 0,即10个 20个负规格化数 E = 00…0, M = 011…1, Ms = 1,即10个20个12、假设浮点数格式如下:(1)阶码补码: 1 11尾数补码:0 1101 1000机器数:1110 1101 1000(2)阶码补码: 1 11尾数补码: 1 0010 1000机器数:1110 0010 100013、(1) 1 (2) 014、需5个检验位。
第 1 章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。
请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。
(2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。
对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。
从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。
(3)在M1上执行P1时的平均时钟周期数CPI 为:10×800M/(200×106)=40。
在M2上执行P1时的平均时钟周期数CPI 为:5×1.2G/(150×106)=40。
(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。
故性价比R为:R=1/(执行时间×价格)R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。
第1章计算机系统结构的基本概念1.1解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
计算机组成原理与系统结构课后答案包健【篇一:计算机组成原理课后作业答案(包健第二版)完整】(设机器数长度为8位)[x]补=0.1101000 [-x]补=1.0011000 [2x]补=溢出 [-2x]补=溢出[x/2]补=0.0110100 [-x/2]补=1.1001100 [y]补=1.1010000 [-y]补=0.0110000 [2y]补=1.0100000 [-2y]补=0.1100000 [y/2]补=1.1101000 [-y/2]补=0.0011000 [-y/4] 补=0.0001100p156:2、(1)(2)p156:4-4原码恢复余数算法6-1【篇二:11级教材包健习题答案】征是什么?略。
1.2 你学习计算机知识后,准备做哪方面的应用?略。
1.3 试举一个你所熟悉的计算机应用例子。
略。
1.4 计算机通常有哪些分类方法?你比较了解的有哪些类型的计算机?略。
1.5 计算机硬件系统的主要指标有哪些?答:机器字长、存储容量、运算速度、可配置外设等。
答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。
1.6 什么是机器字长?它对计算机性能有哪些影响?答:指cpu一次能处理的数据位数。
它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。
1.7 什么是存储容量?什么是主存?什么是辅存?答:存储容量指的是存储器可以存放数据的数量(如字节数)。
它包括主存容量和辅存容量。
主存指的是cpu能够通过地址线直接访问的存储器。
如内存等。
辅存指的是cpu不能直接访问,必须通过i/o接口和地址变换等方法才能访问的存储器,如硬盘,u盘等。
用一次。
(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。
(2)计算机中的核心部件,它执行程序中的指令。
它具有加法、测试和控制其他部件的功能。
(3)计算机的一个组成部分,运行态的程序和相关数据置于其中。
(4)处理器中根据程序的指令指示运算器、存储器和i/o设备做什么的部件。
第 1 章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。
请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHz和,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。
(2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/=100MIPS。
对于M2,P1的速度为:150M/5=30MIPS;P2为420k/=70MIPS。
从执行速度来看,对于P2,因为100/70=倍,所以M1比M2快倍。
(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。
在M2上执行P1时的平均时钟周期数CPI为:5×(150×106)=40。
(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。
故性价比R为:R=1/(执行时间×价格)R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。
因为10×5000 > 5×8000,所以,M2的性价比高。
应选择M2。
(5)P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。
若用算术平均方式,则:因为(10+/2×5000 > (5+/2×8000,所以M2的性价比高,应选择M2。
若用几何平均方式,则:因为sqrt(10× ×5000 < sqrt(5××8000,所以M1的性价比高,应选择M1。
6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和。
在指令集中有五种不同类型的指令请回答下列问题:(1)M1和M2的峰值MIPS各是多少?(2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快?快多少?在M1和M2上执行程序P时的平均时钟周期数CPI各是多少?参考答案:(1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为1000MIPS。
M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。
(2)5类指令具有完全相同的指令条数,所以各占20%。
在M1和M2上执行程序P时的平均时钟周期数CPI分别为:M1:20%×(1+2+2+3+4)= ×12 =M2:20%×(2+2+4+5+6)= ×19 =假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:× N×1/1G = (ns)M2:×N×1/ = N (ns)M1执行P的速度更快,每条指令平均快,也即M1比M2快×100%≈5%。
(思考:如果说程序P在M1上执行比M2上快–/×100%= %,那么,这个结论显然是错误的。
请问错在什么地方?)7.假设同一套指令集用不同的方法设计了两种机器M1和M2。
机器M1的时钟周期为,机器M2的时钟周期为。
某个程序P在机器M1上运行时的CPI为4,在M2上的CPI为2。
对于程序P来说,哪台机器的执行速度更快?快多少?参考答案:假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:4 N× = (ns)M2:2 N× = N (ns)所以,M2执行P的速度更快,每条指令平均快,比M1快×100%=25%。
8.假设某机器M的时钟频率为4GHz,用户程序P在M上的指令条数为8×109,其CPI为,则P在M上的执行时间是多少?若在机器M上从程序P开始启动到执行结束所需的时间是4秒,则P占用的CPU时间的百分比是多少?参考答案:程序P在M上的执行时间为:×8×109×1/4G = s,从启动P执行开始到执行结束的总时间为4秒,其中秒是P在CPU上真正的执行时间,其他时间可能执行操作系统程序或其他用户程序。
程序P占用的CPU时间的百分比为:4 = %。
9.假定某编译器对某段高级语言程序编译生成两种不同的指令序列S1和S2,在时钟频率为500MHz的机器M上运行,目标指令序列中用到的指令类型有A、B、C和D四类。
四类指令在M上的CPI和两个指令序列所用的各类指令条数如下表所示。
请问:S1和S2各有多少条指令?CPI各为多少?所含的时钟周期数各为多少?执行时间各为多少?参考答案:S1有10条指令,CPI为 (5×1+2×2+2×3+1×4)/10=, 所含的时钟周期数为10×=19,执行时间为19/500M = 38ns。
S2有8条指令,CPI为 (1×1+1×2+1×3+5×4)/8 =, 所含的时钟周期数为8×=26,执行时间为26/500M = 52ns。
(注:从上述结果来看,对于同一个高级语言源程序,在同一台机器上所生成的目标程序不同,其执行时间可能不同,而且,并不是指令条数少的目标程序执行时间就一定少。
)10.假定机器M的时钟频率为,某程序P在机器M上的执行时间为12秒钟。
对P优化时,将其所有的乘4指令都换成了一条左移2位的指令,得到优化后的程序P’。
已知在M上乘法指令的CPI为5,左移指令的CPI为2,P的执行时间是P’执行时间的倍,则P中有多少条乘法指令被替换成了左移指令被执行?参考答案:显然,P’的执行时间为10秒,因此,P比P’多花了2秒钟,因此,执行时被换成左移指令的乘法指令的条数为×2/(5–2) = 800M。
第二章习题答案3.实现下列各数的转换。
(1)10= (?)2= (?) 8= (?) 16(2) 2 = (?)10= (?) 8= (?) 16= (?) 8421(3)(0101 1001 8421 = (?)10= (?) 2= (?) 16(4)16 = (?)10= (?) 2参考答案:(1)10 = (1 2 = 8 = 16(2)2 = 10 = 8 = 16 = (0100 0111 0101) 8421(3)(0101 1001 8421 = 10 = …) 2 = …) 16(4)16 = 10 = (0100 24.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码和补码表示。
+,–,+,–,+,–,+0,–0参考答案:原码补码+:–:+:溢出溢出–:溢出+:–:+0:–0:5.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。
+1001,–1001,+1,–1,+10100,–10100,+0,–0参考答案:移码补码+1001: 00001001–1001:01110111+1:00000001–1:0+10100:00010100–10100:01101100+0:00000000–0:000000006.已知 [x]补,求x(1)[x]补= (2)[x]补=(3)[x]补= (4)[x]补=参考答案:(1)[x]补= x = –(2)[x]补= x = –B = –128(3)[x]补= x = +(4)[x]补= x = – 101101B = – 457.假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。
不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。
假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少?(1)无符号数加法指令(2)带符号整数乘法指令(3)单精度浮点数减法指令参考答案:R1 = 0000108BH = 0000 0000 0000 0000 0001 0000 1000 1011bR2 = 8080108BH = 1000 0000 1000 0000 0001 0000 1000 1011b(1)对于无符号数加法指令,R1和R2中是操作数的无符号数表示,因此,其真值分别为R1:108BH, R2:8080108BH。
(2)对于带符号整数乘法指令,R1和R2中是操作数的带符号整数补码表示,由最高位可知, R1为正数, R2为负数。
R1的真值为+108BH, R2的真值为–(0111 1111 0111 1111 1110 1111 0111 0100b + 1b) = –7F7FEF75H。
(3)对于单精度浮点数减法指令,R1和R2中是操作数的IEEE754单精度浮点数表示。
在IEEE 754 标准中,单精度浮点数的位数为32位,其中包含1位符号位,8位阶码,23位尾数。
由R1中的内容可知,其符号位为0,表示其为正数,阶码为0000 0000,尾数部分为000 0000 0001 0000 1000 1011,故其为非规格化浮点数,指数为–126,尾数中没有隐藏的1,用十六进制表示尾数为+,故R1表示的真值为+ × 10-126。
由R2中的内容可知,其符号位为1,表示其为负数,阶码为0000 0001,尾数部分为000 0000 0001 0000 1000 1011,故其为规格化浮点数,指数为1–127 = –126,尾数中有隐藏的1,用十六进制表示尾数为–,故R2表示的真值为–× 10-1268.假定机器M的字长为32位,用补码表示带符号整数。
下表第一列给出了在机器M上执行的C语言程9.以下是一个C语言程序,用来计算一个数组a中每个元素的和。
当参数len为0时,返回值应该是0,但是在机器上执行时,却发生了存储器访问异常。