计算机体系结构张晨曦版本第四章解答-new

合集下载

最新计算机体系结构课后习题原版答案-张晨曦著

最新计算机体系结构课后习题原版答案-张晨曦著

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

存储程序计算机:冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。

系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。

计算机体系结构课后习题原版答案_张晨曦著

计算机体系结构课后习题原版答案_张晨曦著

第1章计算机系统结构的基本概念.......................... 错误!未定义书签。

第2章指令集结构的分类.................................. 错误!未定义书签。

第3章流水线技术........................................ 错误!未定义书签。

第4章指令级并行........................................ 错误!未定义书签。

第5章存储层次.......................................... 错误!未定义书签。

第6章输入输出系统....................................... 错误!未定义书签。

第1章计算机系统结构的基本概念解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

最新计算机体系结构课后习题原版答案-张晨曦著

最新计算机体系结构课后习题原版答案-张晨曦著

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

存储程序计算机:冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。

系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。

《计算机系统结构》张晨曦 问答题 第4章

《计算机系统结构》张晨曦 问答题 第4章

第4章指令级并行动态调度的优点。

(1)能够处理一些编译时情况不明的相关(比如涉及存储器访问的相关),并简化了编译器。

(2)能够使本来是面向某一流水线优化编译的代码在其他的流水线(动态调度)上也能高效地执行。

当然,动态调度的这些优点是以硬件复杂性的显著增加为代价的。

2.为了支持乱序执行,将教材第3章的5段流水线的译码(ID)段细分为哪两个段?(1)流出:指令译码,并检查是否存在结构冲突。

如果不存在结构冲突,就将指令流出。

(2)读操作数:等待数据冲突消失(如果有的话),然后读操作数。

3.论述Tomasulo算法的基本思想。

Tomasulo算法的基本思想是只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。

指令的执行结果也是直接送到等待数据的其他保留站中去。

因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。

一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。

指令流出逻辑和保留站相结合实现寄存器换名,从而完全消除了数据写后写和先读后写相关这类名相关。

4.Tomasulo算法采用分布的保留站,具有什么特点?(1)冲突检测和指令执行控制是分布的。

每个功能部件的保留站中的信息决定了什么时候指令可以在该功能部件开始执行。

(2)计算结果通过CDB直接从产生它的保留站传送到所有需要它的功能部件,而不用经过寄存器。

5.在Tomasulo算法中,进入“流出”段的条件是什么?对于浮点操作来说,要进行哪些动作和记录工作?进入“流出”段的条件:有空闲保留站r动作和记录工作:写出算法或者文字描述均可。

要点:(1)判断第一操作数是否就绪;如果是,就把操作数读到保留站,否则就把寄存器状态表中的标识送给保留站。

(2)判断第二操作数是否就绪;如果是,就把操作数读到保留站,否则就把寄存器状态表中的标识送给保留站。

计算机体系结构张晨曦版本第四章解答-new

计算机体系结构张晨曦版本第四章解答-new

计算机体系结构张晨曦版本第四章解答-new第四章习题四4.1解释下列术语:指令级并⾏:指令序列中存在的潜在的并⾏性称为指令级并⾏。

指令调度:指令调度是⼀种⽤以避免冲突的⽅法,但并不改变相关。

通过改变指令在程序中的位置,将相关指令间的距离加⼤到不⼩于指令执⾏延迟的时钟数,以此消除相关指令造成的流⽔线冲突。

指令的动态调度:在程序执⾏过程中,依靠专门的硬件对代码进⾏调度,重新安排指令的执⾏顺序,来调整相关指令实际执⾏时的关系,减少可能的冲突。

指令的静态调度:在程序的编译期间,由编译器进⾏代码调度和优化,重新安排指令的执⾏顺序,把相关的指令拉开距离,以减少可能产⽣的冲突。

保留站:在Tomasulo算法实现结构中,保留站设置在运算部件的⼊⼝,每个保留站中保存⼀条已经流出并等待到本功能部件执⾏的指令的相关信息,包括操作码、操作数以及⽤于检测和解决冲突的信息。

在⼀条指令流出到保留站的时候,如果该指令的操作数已经在寄存器中就绪,则将之取到该保留站中。

如果操作数还没有计算出来,则在该保留站中记录将产⽣这个操作数的保留站的标识。

CDB:公共数据总线,是Tomasulo算法实现结构中的⼀条重要的数据通路,所有功能部件的计算结果都要送到CDB上,由它把这些结果直接送到各个需要该结果的地⽅。

动态分⽀预测技术:⽤硬件动态地进⾏分⽀处理的⽅法。

这些⽅法是在程序运⾏时,根据分⽀指令过去的表现来预测其将来的⾏为。

如果分⽀⾏为发⽣了变化,预测结果也随之改变。

其⽬的有两个:预测分⽀是否成功和尽快找到分⽀⽬标地址(或指令),从⽽避免控制相关造成流⽔线停顿。

BHT:分⽀历史表,也称之为分⽀预测缓冲器,⽤来记录分⽀指令最近⼀次或⼏次的执⾏情况(成功或不成功),并根据此进⾏预测。

分⽀⽬标缓冲:将分⽀成功的分⽀指令的地址和它的分⽀⽬标地址都放到⼀个缓冲区中保存起来,缓冲区以分⽀指令的地址作为标识,取指令阶段,所有指令地址都与保存的标⽰作⽐较,⼀旦相同,就认为本指令是分⽀指令,且认为它转移成功,并且它的分⽀⽬标地址就是保存在缓冲区的分⽀⽬标地址。

计算机系统结构--《张晨曦、王志英》课后习题参考答案

计算机系统结构--《张晨曦、王志英》课后习题参考答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。

这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。

虚拟机: 用软件实现的机器。

翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。

解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。

执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。

计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。

在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。

计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。

系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。

Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。

包括时间局部性和空间局部性。

CPI: 每条指令执行的平均时钟周期数。

测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。

存储程序计算机: 冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。

计算机系统结构 第四章(习题解答)

计算机系统结构 第四章(习题解答)

1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。

在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。

⑴ 顺序执行方式。

⑵ 仅“取指令”和“执行”重叠。

⑶ “取指令”、“分析”和“执行”重叠。

答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。

开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。

求流水线的实际吞吐率、加速比和效率。

答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。

完全版计算机体系结构课后知识题原版答案解析-张晨曦著

完全版计算机体系结构课后知识题原版答案解析-张晨曦著

第1章计算机系统结构的基本概念 (1)第2章指令集结构的分类 (10)第3章流水线技术 (15)第4章指令级并行 (36)第5章存储层次 (55)第6章输入输出系统 (70)第7章互连网络 (41)第8章多处理机 (45)第9章机群 (45)第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

完整版计算机体系结构课后习题原版答案-张晨曦著培训讲学

完整版计算机体系结构课后习题原版答案-张晨曦著培训讲学

完整版计算机体系结构课后习题原版答案-张晨曦著第1章计算机系统结构的基本概念 (2)第2章指令集结构的分类 (10)第3章流水线技术 (15)第4章指令级并行 (35)第5章存储层次 (48)第6章输入输出系统 (62)第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

计算机体系结构第四~六章习题参考答案

计算机体系结构第四~六章习题参考答案
① ② ③ ④ ① ② ③ ④
⑤ ⑥


④ ⑤ ⑤ 5 6 7 8
⑤ ⑥ ⑥ 9 10 11 12 13 ⑦ 15

⑦ 18 21t(Δ t)
1
2 3
4
3)吞吐率: TP=7/21 =1/3(个 /Δ t) 效率:η =(7*6 Δ t )/(21Δ t*6)=1/3
பைடு நூலகம்
长度为4向量A和B的点积为 A· B=a1*b1+a2*b2+a3*b3+a4*b4 共需做4乘法和3加法: c1=a1*b1, c2=a2*b2, c3=a3*b3, c4=a4*b4 d1=c1+c2, d2=c3+c4, d3=d1+d2= A· B (1)乘法部件和加法部件不能同时工作,部件内也只能顺序 方式工作如下图所示。 由向量点积A· B运算的时空图可知,完成全部运算最少为 4× 5十3 × 5=35(拍) 部件 3.解
1 ⑤ 3# ⑤ 1 3# 2 3# ①# ⑤
1# 5 ② 5 1# ② 2 3# 5
1# 5 2 5 1# 2 2 3 5#
③ 5 5# 15 2 5# 6 ③ 15 2 2 9 3 15 5#
5 解:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 地址流A: 2 1 3 1 4 2 5 3 2 1 2 3 4 1 5
栈顶→
t
n=3栈底 n=4栈底 n=5栈底
2 1 3 1 4 2 5 2 1 3 1 4 2 2 2 3 1 4 2 3 1
3 5 2 4
2 3 5 4
1 2 3 5
2 1 3 5
3 2 1 5
4 3 2 1

计算机系统结构第四章(习题解答)

计算机系统结构第四章(习题解答)

1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。

在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。

⑴ 顺序执行方式。

⑵ 仅“取指令”和“执行”重叠。

⑶ “取指令”、“分析”和“执行”重叠。

答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。

开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。

求流水线的实际吞吐率、加速比和效率。

答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。

完整版计算机体系结构课后习题原版答案-张晨曦著

完整版计算机体系结构课后习题原版答案-张晨曦著

第1章计算机系统结构的基本概念1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。

答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。

确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。

选择存储芯片类型、微组装技术、线路设计等属于计算机实现。

计算机组成是计算机系统结构的逻辑实现。

计算机实现是计算机组成的物理实现。

一种体系结构可以有多种组成。

一种组成可以有多种实现。

1.3 计算机系统结构的Flynn分类法是按什么来分类的?共分为哪几类?答:Flynn分类法是按照指令流和数据流的多倍性进行分类。

把计算机系统的结构分为:(1)单指令流单数据流SISD(2)单指令流多数据流SIMD(3)多指令流单数据流MISD(4)多指令流多数据流MIMD1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。

答:(1)以经常性事件为重点。

在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。

(2)Amdahl定律。

加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。

(3)CPU性能公式。

执行一个程序所需的CPU时间= IC×CPI×时钟周期时间。

(4)程序的局部性原理。

程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。

1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级?答:从处理数据的角度来看,并行性等级从低到高可分为:(1)字串位串:每次只对一个字的一位进行处理。

这是最基本的串行处理方式,不存在并行性;(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。

已开始出现并行性;(3)字并位串:同时对许多字的同一位(称为位片)进行处理。

这种方式具有较高的并行性;(4)全并行:同时对许多字的全部位或部分位进行处理。

最新计算机体系结构课后习题原版答案-张晨曦著

最新计算机体系结构课后习题原版答案-张晨曦著

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

存储程序计算机:冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。

系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。

计算机体系结构第四章练习题参考解答

计算机体系结构第四章练习题参考解答

计算机体系结构第四章练习题参考解答第四章4.52 浮点数系统使⽤的阶码基值r e =2,阶值位数q=2,尾数基值r m =10,尾数位数p ′=1,即按照使⽤的⼆进制位数来说,等价于p=4。

计算在⾮负阶、正尾数、规格化情况下的最⼩尾数值、最⼤尾数值、最⼤阶值、可表⽰的最⼩值和最⼤值及可表⽰数的个数。

解: 最⼩尾数值:r m -1 = 10-1 = 0.1最⼤尾数值:1- r m -p ′ =1-10-1 = 0.9 最⼤阶值:2q -1=3可表⽰数的最⼩值:1×r m -1 = 10-1 = 0.1 可表⽰数的最⼤值:r m 2q-1×(1- r m -p ′)=103(1-10-1)= 900可表⽰数的个数:2q ×r m p ′(r m -1)/r m = 22×101(10-1)/10 = 364.53 ⼀台机器要求浮点数的字长的精度不低于10-7.2,表数的范围正数不⼩于1038,且正负对称。

尾数⽤原码、纯⼩数表⽰,阶码⽤移码、整数表⽰。

设计这种浮点数的格式。

解依题意,取表数范围N =1038,表数精度δ=10-7.2。

由式(4-4)得:37log(log10log 21)log 2q +> = 6.99,上取整,得到阶码字长q=7。

由式(4-5)得:16log1053.2log 2p -->=,上取整,得到尾数字长p=24。

从⽽加上⼀个尾数符号位和⼀个阶码符号位,浮点数的总字长为:p+q+2=24+7+2=33。

实际浮点数总字长应为8的倍数,故取浮点数总字长为40位。

多出的7位可以加到尾数字长p 中⽤于提⾼浮点数的表数精度,也可以加到阶码字长q 中来扩⼤浮点数的表数范围。

暂且让p 增加6位,q 增加1位,即p=30,q=8。

如图4-8所⽰是设计出来的浮点数格式。

图4-8 例4.2浮点数的设计格式4.58 ⽤于⽂字处理的某专⽤机,每个⽂字符⽤4位⼗进制数字(0~9)编码表⽰,空格⽤︼表⽰。

【课后习题及答案】计算机体系结构课后习题原版答案-张晨曦著

【课后习题及答案】计算机体系结构课后习题原版答案-张晨曦著

答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属 于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑 设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计 等属于计算机实现。 计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成 的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实 现。 1.3 计算机系统结构的 Flynn 分类法是按什么来分类的?共分为哪几 类? 答:Flynn 分类法是按照指令流和数据流的多倍性进行分类。把计算 机系统的结构分为: 单指令流单数据流 SISD 单指令流多数据流 SIMD 多指令流单数据流 MISD 多指令流多数据流 MIMD 1.4 计算机系统设计中经常使用的 4 个定量原理是什么?并说出它们 的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生 的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的 改进。(2)Amdahl 定律。加快某部件执行速度所获得的系统性能加 速比,受限于该部件在系统中所占的重要性。(3)CPU 性能公式。 执行一个程序所需的 CPU 时间 = IC ×CPI ×时钟周期时间。(4) 程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而 是相对地簇聚。 1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并
精品课程
课后习题答案Байду номын сангаас
计算机体系结构-张晨曦著 课后习题及答案
第 1 章 计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功 能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次 依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高 级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效 的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执 行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一 条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程 序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结 构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种 角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据 流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物 理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信 号传输,电源、冷却及整机装配技术等。

[完整版]计算机体系结构课后习题原版答案解析_张晨曦著

[完整版]计算机体系结构课后习题原版答案解析_张晨曦著

第1章计算机系统结构的基本概念 (1)第2章指令集结构的分类 (6)第3章流水线技术 (8)第4章指令级并行 (21)第5章存储层次 (30)第6章输入输出系统 (38)第7章互连网络 (41)第8章多处理机 (45)第9章机群 (45)第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

计算机系统结构张晨曦版课后答案之欧阳术创编

计算机系统结构张晨曦版课后答案之欧阳术创编

第1章计算机系统结构的基本概念1.1 解释下列术语条理机构:依照计算机语言从初级到高级的次第,把计算机系统按功能划分红多级条理结构,每一层以一种不合的语言为特征。

这些条理依次为:微法度机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换法度把高一级机器上的法度转换为低一级机器上等效的法度,然后再在这低一级机器上运行,实现法度的功能。

解释:对高一级机器上的法度中的每一条语句或指令,都是转去执行低一级机器上的一段等效法度。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此频频,直到解释执行完整个法度。

计算机系统结构:传统机器法度员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种原本存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包含处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

法度的局部性原理:法度执行时所拜访的存储器地址不是随机散布的,而是相对地簇聚。

包含时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试法度套件:由各种不合的真实应用法度构成的一组测试法度,用来测试计算机在各个方面的处理性能。

存储法度计算机:冯•诺依曼结构计算机。

其基本点是指令驱动。

法度预先寄存在计算机存储器中,机器一旦启动,就能依照法度指定的逻辑顺序执行这些法度,自动完成由法度所描述的处理工作。

系列机:由同一厂家生产的具有相同系统结构、但具有不合组成和实现的一系列不合型号的计算机。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章习题四4.1解释下列术语:指令级并行:指令序列中存在的潜在的并行性称为指令级并行。

指令调度:指令调度是一种用以避免冲突的方法,但并不改变相关。

通过改变指令在程序中的位置,将相关指令间的距离加大到不小于指令执行延迟的时钟数,以此消除相关指令造成的流水线冲突。

指令的动态调度:在程序执行过程中,依靠专门的硬件对代码进行调度,重新安排指令的执行顺序,来调整相关指令实际执行时的关系,减少可能的冲突。

指令的静态调度:在程序的编译期间,由编译器进行代码调度和优化,重新安排指令的执行顺序,把相关的指令拉开距离,以减少可能产生的冲突。

保留站:在Tomasulo算法实现结构中,保留站设置在运算部件的入口,每个保留站中保存一条已经流出并等待到本功能部件执行的指令的相关信息,包括操作码、操作数以及用于检测和解决冲突的信息。

在一条指令流出到保留站的时候,如果该指令的操作数已经在寄存器中就绪,则将之取到该保留站中。

如果操作数还没有计算出来,则在该保留站中记录将产生这个操作数的保留站的标识。

CDB:公共数据总线,是Tomasulo算法实现结构中的一条重要的数据通路,所有功能部件的计算结果都要送到CDB上,由它把这些结果直接送到各个需要该结果的地方。

动态分支预测技术:用硬件动态地进行分支处理的方法。

这些方法是在程序运行时,根据分支指令过去的表现来预测其将来的行为。

如果分支行为发生了变化,预测结果也随之改变。

其目的有两个:预测分支是否成功和尽快找到分支目标地址(或指令),从而避免控制相关造成流水线停顿。

BHT:分支历史表,也称之为分支预测缓冲器,用来记录分支指令最近一次或几次的执行情况(成功或不成功),并根据此进行预测。

分支目标缓冲:将分支成功的分支指令的地址和它的分支目标地址都放到一个缓冲区中保存起来,缓冲区以分支指令的地址作为标识,取指令阶段,所有指令地址都与保存的标示作比较,一旦相同,就认为本指令是分支指令,且认为它转移成功,并且它的分支目标地址就是保存在缓冲区的分支目标地址。

前瞻执行:基于硬件的前瞻执行结合了以下三种思想:(1)动态分支预测。

用来选择后续执行的指令。

(2)在控制相关的结果尚未出来之前,前瞻地执行后续指令。

(3)用动态调度方法对基本块的各种组合进行跨基本块的调度。

ROB:再定序缓冲,前瞻执行允许指令乱序执行,但要求按程序顺序确认,为此设置ROB,用以保存指令执行完毕到指令得到确认间的所有指令及其结果。

超标量:超标量处理机的典型结构是有多个操作部件,每个时钟周期流出的指令数不定,但有上限。

可通过多个独立的操作部件实现多指令的并行,使CPI 的值小于1。

超流水:将流水段进一步化,在一个时钟周期内能够分时流出多条指令,使CPI的值小于1。

超长指令字:这种指令字很长,被分割成多个字段,每个字段称为一个指令槽,直接独立控制一个功能部件。

每个时钟周期流出的指令数是固定的,它们构成一条长指令,或说是一个混合指令包,只能通过编译静态调度。

循环展开:通过多次复制循环体并改变结束条件来相对增加有效操作时间,用于指令调度的一种方式。

4.2 简述Tomasulo算法的基本思想。

(1)记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减少到最小;(2)通过寄存器换名来消除WAR和WAW冲突。

4.3 根据需要展开下面的循环并进行指令调度,直到没有任何延迟。

指令的延迟如表4.3。

表4.3 本章使用的浮点流水线的延迟LOOP: L.D F0, 0(R1) (一次空转)MULT.D F0, F0, F2L.D F4, 0(R2) (二次空转)ADD.D F0, F0, F4 (二次空转)S.D 0(R2), F0DSUBI R1, R1, #8DSUBI R2, R2, #8BNEQZ R1, LOOP (一次空转)循环展开三次:LOOP: LD F0, 0(R1)LD F3, -8(R1)LD F6, -16(R1)MULTD F0, F0, F2MULTD F3, F3, F2MULTD F6, F6, F2LD F4, 0(R2)LD F5, -8(R2)LD F7, -16(R2)ADDD F0, F0, F4ADDD F3, F3, F5ADDD F6, F6, F7SD 0(R2), F0SD -8(R2), F3SD -16(R2), F6SUBI R1, R1, #24BNEQZ R1, LOOPSUBI R2, R2, #24展开二次也可。

4.4 假设有一个长流水线,仅仅对条件转移指令使用分支目标缓冲。

假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。

假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。

(1)求程序执行的CPI(2)相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?解答:(1)CPI=1+[命中率⨯预测错误率⨯4+不命中率⨯3] ⨯分支频率=1+[0.9⨯0.1⨯4+0.1⨯3] ⨯0.15=1+[0.36+0.3] ⨯0.15=1+0.66⨯0.15=1.099(2)采用固定2时钟延迟CPI=1+15%⨯2=1.3由CPI比较可知前一种方式更快4.5 假设分支目标缓冲的命中率为90%,程序中无条件转移指令的比例为5%,没有无条件转移指令的程序CPI值为1。

假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为多少?解答:CPI=1+5%⨯(1-90%)⨯3=1.00154.6下面一段MIPS汇编程序是计算高斯消去法中的关键一步,用于完成下面公式的计算:Y=a⨯ X +Y其浮点指令延迟如表4.3所示,整数指令均为1个时钟周期完成,浮点和整数部件均为流水。

整数操作之间以及与其他所有浮点操作之间的延迟为0,转移指令的延迟为0。

X中的最后一个元素存放在存储器中的地址为DONE。

FOO: L.D F2 , 0(R1)MULT.D F4 , F2 , F0L.D F6 , 0(R2)ADD.D F6 , F4 , F6S.D 0(R2), F6DADDIU R1 , R1, #8DADDIU R2 , R2, #8DSUBIU R3 , R1 , DONEBEQZ R3 , FOO(1)对于标准的MIPS单流水线,上述循环计算一个Y值需要多少时间?其中有多少空转周期?(2)对于标准的MIPS单流水线,将上述循环顺序展开4次,不进行任何指令调度,计算一个Y值需要多少时间?加速比是多少?其加速是如何获得的?(3)对于标准的MIPS单流水线,将上述循环顺序展开4次,优化和调度指令,使循环处理时间达到最优,计算一个Y值平均需要多少时间,加速比是多少?解答:(1)易知循环计算一个Y值需要15个时钟周期,其中有6个空转周期。

FOO: L.D F2 , 0(R1) ; load X[i](一次空转)MULT.D F4 , F2 , F0 ; mutliply a* X[i]L.D F6 , 0(R2) ; load Y[i](二次空转)ADD.D F6 , F4 , F6 ; add a* X[i]+ Y[i](二次空转)S.D 0(R2), F6 ; store Y[i]DADDIU R1 , R1, #8 ;increment X indexDADDIU R2 , R2, #8 ; increment Y indexDSUBIU R3 , R1 , DONE ; test if doneBEQZ R3 , FOO ; loop if not done(一次空转)(2)FOO: L.D F2 , 0(R1) ; load X[i](一次空转)MULT.D F4 , F2 , F0 ; mutliply a* X[i]L.D F6 , 0(R2) ; load Y[i](二次空转)ADD.D F6 , F4 , F6 ; add a* X[i]+ Y[i](二次空转)S.D 0(R2), F6 ; store Y[i]DADDIU R1 , R1, #8 ;increment X indexDADDIU R2 , R2, #8 ; increment Y indexDSUBIU R3 , R1 , DONE ; test if doneBEQZ R3 , FOO ; loop if not done(一次空转)FOO: L.D F2 , 8(R1) ; load X[i](一次空转)MULT.D F4 , F2 , F0 ; mutliply a* X[i]L.D F6 , 8(R2) ; load Y[i](二次空转)ADD.D F6 , F4 , F6 ; add a* X[i]+ Y[i](二次空转)S.D 8(R2), F6 ; store Y[i]DADDIU R1 , R1, #8 ;increment X indexDADDIU R2 , R2, #8 ; increment Y indexDSUBIU R3 , R1 , DONE ; test if doneBEQZ R3 , FOO ; loop if not done(一次空转)FOO: L.D F2 , 16(R1) ; load X[i](一次空转)MULT.D F4 , F2 , F0 ; mutliply a* X[i]L.D F6 , 16(R2) ; load Y[i](二次空转)ADD.D F6 , F4 , F6 ; add a* X[i]+ Y[i](二次空转)S.D 16(R2), F6 ; store Y[i]DADDIU R1 , R1, #8 ;increment X indexDADDIU R2 , R2, #8 ; increment Y indexDSUBIU R3 , R1 , DONE ; test if doneBEQZ R3 , FOO ; loop if not done(一次空转)FOO: L.D F2 , 24(R1) ; load X[i](一次空转)MULT.D F4 , F2 , F0 ; mutliply a* X[i]L.D F6 , 24(R2) ; load Y[i](二次空转)ADD.D F6 , F4 , F6 ; add a* X[i]+ Y[i](二次空转)S.D 24(R2), F6 ; store Y[i]DADDIU R1 , R1, #32 ;increment X indexDADDIU R2 , R2, #32 ; increment Y indexDSUBIU R3 , R1 , DONE ; test if doneBEQZ R3 , FOO ; loop if not done(一次空转)计算一个Y值平均需要:45/4=11.25个时钟周期加速比:15/11.25=1.33通过循环展开使得指令减少、分支减少。

相关文档
最新文档