当前位置:文档之家› 体系结构 习题解答

体系结构 习题解答

体系结构 习题解答
体系结构 习题解答

第一章计算机体系结构的基本概念

1.层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为

特征。

2.计算机体系结构:程序员看到的计算机的属性,即概念性结构和功能特性。

3.实质是计算机系统中软硬件界面的确定。

4.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N级程序,

在执行过程中,N+1级程序不再被访问。

5.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下

一条N+1级指令,依此重复执行。

6.体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。主要研究计算机

系统软件和硬件的功能分配以及如何最佳、最合理地实现分配给硬件的功能。

8.透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的

概念称为透明性。

9.系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不

同型号的机器。

10.软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所

获得的结果一样,差别只在于运行的时间不同。

11.兼容机——不同厂家生产的、具有相同体系结构的计算机。

12.计算机组成——计算机体系结构的逻辑实现。

13.计算机实现——计算机组成的物理实现。

14.存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同一存

储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。

15.并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。

16.时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地

使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

17.资源重复——在并行性中引入时间因素,是根据―以数量取胜‖的原则,通过重复设置资源,

尤其是硬件资源,大幅度提高计算机系统的性能。

18.资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备。

19.同构型多处理机——由多个同种类型、至少同等功能的处理机组成、同时处理同一作业中

能并行执行的多个任务的机器。

20.异构型多处理机——由多个不同类型、功能不同的处理机组成、串行完成同一作业中不同

任务的机器。

21.响应时间——从事件开始到结束之间的时间,也称执行时间。

22.测试程序组件——选择一个各个方面有代表性的测试程序,组成一个通用的测试程序集合。

这个通用的测试程序集合称为测试程序组件。

23.大概率事件优先——此原则是计算机体系结构中最重要和最常用的原则。对于大概率事件

(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。

24.系统加速比——系统改进前与改进后总执行时间之比。

25.Amdahl定律——加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的

所占的重要性。

26.程序的局部性原理——程序在执行时所访问的地址不是随机的,而是相对簇聚;这种簇聚

包括指令和数据两部分。

27.CPI——指令时钟数(Cycles per Instruction)。

第二章计算机指令集结构设计

1.CISC——复杂指令集计算机。

2.RISC——精简指令集计算机。

3.Amdahl定律——加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所

占的重要性。

4.程序的局部性原理:程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种

簇聚包括指令和数据两部分。

i.程序局部性包括:

ii.–程序的时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。

iii.–程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近

5. 5 . 指令系统:又称指令集(instruction set)是计算机体系结构设计的核心,是计算机软、

硬件接口,是指机器所具有的全部指令的集合。它反映了计算机所拥有的基本功能。它是机器语言程序员所看到的机器的主要属性之一。

哈夫曼压缩的基本思想:当各种事件发生的概率不均时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的,用较长的位数(时间)来表示(处理),就会导致表示(处理)的平均位数(时间)的缩短。

14.

2.2 堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点?

2.3 常见的三种通用寄存器型机器的优缺点各有哪些?

2.4 指令集结构设计所涉及的内容有哪些?

(2)指令集功能设计:主要有RISC和CISC两种技术发展方向;

(3)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方

式的使用频度,根据适用频度设置相应必要的寻址方式;

(4)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型

(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8

位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。

(5)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的

域来表示。

(6)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。

2.5 简述CISC计算机结构指令集功能设计的主要目标。从当前的计算机技术观点来看,CISC

结构有什么缺点?

CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。

从目前的计算机技术观点来看,CISC结构存在以下几个缺点:

(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。

(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研

制时间和成本,而且还容易造成设计错误。

(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。

(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。

(5)在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机

体系结构技术(如流水技术)来提高系统的性能。

2.6 简述RISC结构的设计原则。

(1)选取使用频率最高的指令,并补充一些最有用的指令;

(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;

(3)所有指令长度均相同;

(4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行

(5)以简单有效的方式支持高级语言。

2.7 简述操作数的类型及其相应的表示方法。

操作数的类型主要有:整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。

操作数类型有两种表示方法:

(1)操作数的类型由操作码的编码指定,这也是最常见的一种方法;

(2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。

2.8 表示寻址方式的主要方法有哪些?简述这些方法的优缺点。

表示寻址方式有两种常用的方法:

(1)将寻址方式编于操作码中,(2)由操作码在描述指(3)令的同(4)时也描述了相应的寻址方式。

这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。

(2)为每个操作数设置一个地址描述符,(6)由该地址描述符表示相应操作数的寻址方式。

这种方式译码较慢,但操作码和寻址独立,易于指令扩展。

2.9 通常有哪几种指令格式?简述其适用范围。

(1)变长编码格式。如果体系结构设计者感兴趣的是程序的目标代码大小,而不是性

能,就可以采用变长编码格式。

(2)固定长度编码格式。如果感兴趣的是性能,而不是程序的目标代码大小,则可以

选择固定长度编码格式。

(3)混合型编码格式。需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混

合型编码格式。

2.10为了对编译器设计提供支持,在进行指令集设计时,应考虑哪些问题?

(1) 规整性。

(2) 提供基本指令,而非解决方案。

(3) ―简化方案的折中取舍标准‖。

(4 ―对于在编译时已经知道的量,提供将其变为常数的指令‖。

第三章流水线技术

1.流水线——将一个重复的时序过程,分解为若干个子过程,而每一个子过程都可有效地在

其专用功能段上与其他子过程同时执行。

2.流水线按功能多少分为静态流水线和动态流水线;按流水线的级别分为部件级流水线、处

理机级流水线和处理机间流水线;按数据表示分为标量处理机和向量处理机;按是否有反馈回路分为线性流水线和非线性流水线;按流动是否可以乱序分为顺序流动流水线和异步流动流水线。

3.单功能流水线——只能完成一种固定功能的流水线。

4.多功能流水线——流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者

在同一时间完成不同的功能。

5.静态流水线——同一时间内,流水线的各段只能按同一种功能的连接方式工作。

6.动态流水线——同一时间内,流水线的各段可以按不同功能的连接方式工作。

7.部件级流水线——(运算操作流水线)把处理机的算术逻辑部件分段,以便为各种数据类

型进行流水操作。

8.处理机级流水线——(指令流水线)把解释指令的过程按照流水方式处理。

9.处理机间流水线——(宏流水线)由两个以上的处理机串行地对同一数据流进行处理,每

一个处理机完成一项任务。

10.线性流水线——指流水线的各段串行连接,没有反馈回路。

11.非线性流水线——指流水线中除有串行连接的通路外,还有反馈回路。

12.标量流水处理机——处理机不具有向量数据表示,仅对标量数据进行流水处理。

13.向量流水处理机——处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。

14.结构相关——某些指令组合在流水线中重叠执行时,发生资源冲突,则称该流水线有结构

相关。

15.数据相关——当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作的顺序,使

得读/写操作顺序不同于它们非流水实现时的顺序,将导致数据相关。

16.定向——将计算结果从其产生的地方直接送到其他指令需要它的地方,或所有需要它的功

能单元,避免暂停。

17.RAW——两条指令i,j,i在j前进入流水线,j执行要用到i的结果,但当其在流水线中重叠

执行时,j可能在i写入其结果之前就先行对保存该结果的寄存器进行读操作,得到错误值。

18.WA W——两条指令i,j,i在j前进入流水线,j、i的操作数一样,在流水线中重叠执行时,j

可能在i写入其结果之前就先行对保存该结果的寄存器进行写操作,导致写错误。

19.WAR——两条指令i,j,i在j前进入流水线,j可能在i读某个寄存器之前对该寄存器进行写

操作,导致i读出数据错误。

20.在一个时钟周期内能够分时发射多条指令的处理机称为超流水线处理机。

21.在一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机。

22.在一个时钟周期内分时发射指令m次,每次发射指令n条的处理机称为超标量超流水处理

机。

3.2 简述流水线技术的特点。

(1)流水过程由多个相联系的子过程组成,每个过程称为流水线的―级‖或―段‖;

(2)每个子过程由专用的功能段实现;

(3)各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造

成流水线的―堵塞‖和―断流‖;

(4)流水线需要有―通过时间‖(第一个任务流出结果所需的时间),在此之后流水过程才进

入稳定工作状态,每一个时钟周期(拍)流出一个结果;

(5)流水技术适合于大量重复的时序过程,只有在输入端能连续地提供任务,流水线的效

率才能充分发挥。

3.3 请画出DLX基本流水线,并简述其工作原理。

工作原理:把一条DLX指令在5个周期内实现,将每一个时钟周期看作是流水线的一个时钟周期,硬件每个时钟周期启动一条新的指令,并执行5条不同指令中的某一部分。每条指令虽仍需5个时钟周期完成,但提高了吞吐率,实现了流水。

指令/时钟 1 2 3 4 5 6 7 8 9

I IF ID EX MEM WB

I+1 IF ID EX MEM WB

I+2 IF ID EX MEM WB

I+3 IF ID EX MEM WB

I+4 IF ID EX MEM WB

3.5 解决流水线结构相关的方法有哪些?

(1)流水化功能单元

(2)资源重复(3)

(4)暂停流水线

3.6 降低流水线分支损失的方法有哪些?

(1)在流水线中尽早判断出分支转移是否成功;

(2)尽早计算出分支转移成功时的PC值(即分支的目标地址)

●“冻结”或“排空”流水线的方法

●预测分支失败

●预测分支成功

●延迟分支

3.7 请对延迟分支办法中的三种调度策略进行评价。

1.从前调动:分支必须不依赖于被调度的指令,总是可以有效提高流水线性能。

2.从目标处调度:若分支转移失败,必须保证被调度的指令对程序的执行没有影响,可能需要复制被调度指令。分支转移成功时,可提高流水线性能。但由于复制指令,可

能加大程序空间。

3.从失败处调度:若分支转移成功,必须保证被调度的指令对程序的执行无影响。分支转移失败时,可提高流水线性能。

3.8 简述三种向量处理方法,它们对向量处理机的结构要求有什么不同?

1.水平处理方式:若向量长度为N,则水平处理方式相当于执行N次循环。若使用流水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理。

2.垂直处理方式:将整个向量按相同的运算处理完毕之后,再去执行其他运算。适合对向

量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成M-M 型的运算流水线。

3.分组处理方式:把长度为N 的向量分为若干组,每组长度为n ,组内按纵向方式处理,

依次处理各组,组数为

??

?

???n N ,适合流水处理。可设长度为n 的向量寄存器,使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成R-R 型运算流水线。

3.9 有一条流水线如下所示。

100ns

3 求连续输入10条指令,该流水线的实际吞吐率和效率;

4

该流水线的瓶颈在哪一段?请采取三种不同的措施消除此―瓶颈‖。对于你所给出的新流水线,计算连续输入10条指令时,其实际吞吐率和效率。 解:(1)

2200(ns)

2009200)10050(50t )1n (t

T max

m

1

i i

p ip elin e =?++++=?-+?=

∑=

)

(ns

220

1

T n

TP 1

pipeline

-==

45.45%

11

54

400TP m

t

TP E m

1

i i

≈=

?

=??

=∑=

(2)瓶颈在3、4段。

1 变成八级流水线(细分)

850(ns)

509850t 1)(n t

T max

m

1

i i

p ip elin e =?+?=?-+?=

∑=

)

(ns

851

T n

TP 1

pipeline

-==

58.82%

17

108

400

TP m

ti

TP E m

1

i ≈=?

=??

=∑=

2 变成两级流水线(合并)

2200(ns)

20092200t 1)(n t T max

m

1

i i p ip elin e =?+?=?-+?=

=

)

(ns

220

1

T n

TP 1

pipeline

-==

90.91%

11

102

400TP m

ti

TP E m

1

i ≈=

?

=??

=∑=

4 重复设置部件

1

Stage

)

(ns

85

1

T n

TP 1

pipeline

-==

58.82%

1710

885010400E ≈=??=

3.10 一个流水线由四段组成,其中每当流经第三段时,总要在该段循环一次才能流到第四段。

如果每段经过一次的时间都是△t ,问:

(1)当在流水线的输入端每△t 时间输入任务时,该流水线会发生什么情况?

(2)此流水线的实际吞吐率为多少?如果每2△t 输入一个任务,连续处理10个任务的实

际吞吐率和效率是多少?

(3)当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务 时,其吞吐

率提高多少? (2)

0t 1t 2t 3t 4t 5t 6t 7t 8t

Instr.1stage1stage2

stage3stage3stage4instr.2stage1stage2

stage3stage3stage4instr.3stage1

stage2

stage3

stage3stage4

54.35%

92

50

45TP E 2310

T n

Tp 23T 21TP pipeline

pipeline max ≈=??=??==?=?=

t t

t t

3.11 如果流水线有m 段,各段的处理时间分别是t i (i=1,2,…,m ),现在有n 个任务需要

完成,且每个任务均需流水线各段实现,请计算:

(1)流水线完成这n 个任务所需要的时间;

(2)和非流水线实现相比,这n 个任务流水实现的加速比是多少?加速比的峰值是多少? 解:(1)

∑=?-+=

m

1

i max i

pipeline t 1)(n t

T

(2)

=?

=m

1

i i nopipeline t n T

m)

Speedup m,(n )

t (t 1

n m n

m Speedup

t 1)(n t

t n T T Speedup

0i max

m

1

i max

i

m

1

i i

pipeline

nopipeline

→>>=-+?=?-+?=

=∑∑==

3.12 在改进的DLX 流水线上运行如下代码序列:

LOOP: LW R1, 0(R2) ADDI R1, R1, #1 SW 0(R2), R1 ADDI R2, R2, #4 SUB R4, R3, R2 BNZ R4, LOOP

其中,R3的初始值是R2+396。假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器“定向”。问:

(1)在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空

图。假设采用排空流水线的策略处理分支指令,且所有的存储器访问都可以命中

Cache ,那么执行上述循环需要多少个时钟周期?

(2)假设该DLX 流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。假设

采用预测分支失败的策略处理分支指令,且所有的存储器访问都可以命中Cache ,那么执行上述循环需要多少个时钟周期? (3)假设该DLX 流水线有正常的定向路径,请对该循环中的指令进行调度。注意可以重新

组织指令的顺序,也可以修改指令的操作数,但是不能增加指令的条数。请画出该指令序列执行的流水线时空图,并计算执行上述循环需要的时钟周期数? 解:

(1)寄存器读写可以定向,无其他旁路硬件支持。排空流水线。

Instruction 12345678910111213141516171819202122lw r1,0(r2)IF ID EX M W B addi r1,r1,#1IF S S ID EX M W B sw r1,0(r2)IF S S ID EX M W B addi r2,r2,#4IF ID EX M W B sub r4,r3,r2IF S S ID EX M W B bnz r4,loop IF S S ID EX M W B lw r1,0(r2)IF S S IF ID EX M W B

第i 次迭代(i =0..98)开始周期:1+(i ×17) 总的时钟周期数:(98×17)+18=1684

(2)有正常定向路径,预测分支失败。

Instruction12345678910111131415

lw r1,0(r2)IF ID EX M W B

addi r1,r1,#1IF ID S EX M W B

sw r1,0(r2)IF S ID EX M W B

addi r2,r2,#4IF ID EX M W B

sub r4,r3,r2IF ID EX M W B

bnz r4,loop IF ID EX M W B

lw r1,0(r2)IF m iss m iss IF ID EX M W B

第i次迭代(i=0..98)开始周期:1+(i×10)

总的时钟周期数:(98×10)+11=991

(3)有正常定向路径。单周期延迟分支。

Loop: lw r1,0(r2)

addi r2,r2,#4

addi r1,r1,#1

sub r4,r3,r2

bnz r4,loop

sw r1,-4(r2)

第i次迭代(i =0..98)开始周期:1+(i ×6 )

总的时钟周期数:(98×6)+10=598

Instruction1234567891011

lw r1,0(r2)IF ID EX M W B

addi r2,r2,#4IF ID EX M W B

addi r1,r1,#1IF ID EX M W B

sub r4,r3,r2IF ID EX M W B

bnz r4,loop IF ID EX M W B

sw r1,-4(r2)IF ID EX M W B

lw r1,0(r2)IF ID EX M W B

第五章存储层次

1.存储层次——采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离

CPU最近的存储器的速度,最远的存储器的容量。

2.全相联映象——主存中的任一块可以被放置到Cache中任意一个地方。

3.直接映象——主存中的每一块只能被放置到Cache中唯一的一个地方。

4.组相联映象——主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成

若干组,每组由若干块构成)。

5.替换算法——由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,

会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。

6.LRU——选择最近最少被访问的块作为被替换的块。实际实现都是选择最久没有被访问的块

作为被替换的块。

7.写直达法——在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储

器中相应的块。

8.写回法——只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。

9.按写分配法——写失效时,先把所写单元所在的块调入Cache,然后再进行写入。

10.不按写分配法——写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。

11.命中时间——访问Cache命中时所用的时间。

12.失效率——CPU访存时,在一级存储器中找不到所需信息的概率。

13.失效开销——CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。

14.强制性失效——当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入

Cache,这就是强制性失效。

15.容量失效——如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后

又重新被访问,就会产生失效,这种失效就称作容量失效。

16.冲突失效——在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现

该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。

17.相联度——在组相联中,每组Cache中的块数。

18.Victim Cache——位于Cache和存储器之间的又一级Cache,容量小,采用全相联策略。用于

存放由于失效而被丢弃(替换)的那些块。每当失效发生时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需块。

19.伪相联Cache——一种既能获得多路组相联Cache的低失效率,又能获得直接映象Cache的命

中速度的相联办法。

20.故障性预取——在预取时,若出现虚地址故障或违反保护权限,就会发生异常。

21.非故障性预取——在预取时,若出现虚地址故障或违反保护权限,不发生异常。

22.非阻塞Cache——Cache在等待预取数据返回时,还能继续提供指令和数据。

23.子块放置技术——把一个Cache块划分为若干小块,称为子块(sub-blocks),并为每个子块

赋予一位有效值,用于说明该子块中的数据是否有效。失效时,只需从下一级存储器调入一个子块。

24.尽早重启动——在请求字没有到达时,CPU处于等待状态。一旦请求字到达,就立即发送给

CPU,让等待的CPU尽早重启动,继续执行。

25.请求字优先——调块时,首先向存储器请求CPU所要的请求字。请求字一旦到达,就立即

送往CPU,让CPU继续执行,同时从存储器调入该块的其余部分。

26.多级包容性——一级存储器(Cache)中的数据总位于下一级存储器中。

27.虚拟Cache——地址使用虚地址的Cache。

5.3 降低Cache失效率有哪几种方法?简述其基本思想。

常用的降低Cache失效率的方法有下面几种:

1增加Cache块大小。增加块大小利用了程序的空间局部性。

2提高相联度,降低冲突失效。

3Victim Cache,降低冲突失效。

4伪相联Cache,降低冲突失效。

5硬件预取技术,指令和数据都可以在处理器提出访问请求前进行预取。

6由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求。

7编译器优化,通过对软件的优化来降低失效率。

5.4简述减小Cache失效的几种方法。

1让读失效优先于写。

2子块放置技术。

3请求字处理技术。

4非阻塞Cache技术。

5采用两级Cache、

5.6 在“Cache—主存”层次中,主存的更新算法有哪几种??它们各有什么特点?

写直达法

易于实现,而且下一级存储器中的数据总是最新的。

写回法

速度块,―写‖操作能以Cache存储器的速度进行。而且对于同一单元的多个写最后只需一次写回下一级存储器,有些―写‖只到达Cache,不到达主存,因而所使用的存储器频带较低。

5.7 组相联Cache比相同容量的之直接映象Cache的失效率低。由此是否可以得出结论:采用组

相联Cache一定能带来性能上的提高?为什么?

答:不一定。因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。

5.8 写出三级Cache的平均访问时间T A的公式。

平均访存时间=命中时间+失效率×失效开销

只有第I层的失效时才会访问第I+1

设三级Cache的命中率分别为H L1、 H l2、 H L3,失效率分别为M l1、M l2、M L3,第三级Cache的失效开销为P L3。

平均访问时间T A =H L1+M l1{H l2+M l2(H L3+M L3×P L3)}

5.9 给定以下的假设,5.10 试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU

的性能。由计算结果能得出什么结论?

4理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;

5两者Cache容量均为64KB,块大小都是32字节;

6组相联Cache中的多路选择器使CPU的时钟周期增加了10%;

7这两种Cache的失效开销都是80ns;

8命中时间为1个时钟周期;

964KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。

解:平均访问时间=命中时间+失效率×失效开销

平均访问时间1-

=2.0+1.4% *80=3.12ns

=2.0*(1+10%)+1.0% *80=3.0ns

平均访问时间2-

两路组相联的平均访问时间比较低

CPU ti me=(CPU执行+存储等待周期)*时钟周期

CPU time=IC(CPI执行+总失效次数/指令总数*失效开销)*时钟周期=IC((CPI执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟周期))CPU time 1-way=IC(2.0*2+1.2*0.014*80)=5.344IC

CPU time 2-way=IC(2.2*2+1.2*0.01*80)=5.36IC

相对性能比:=

--1way time 2way

time CPU

CPU 5.36/5.344=1.003

直接映象cache 的访问速度比两路组相联cache 要快1.04倍,而两路组相联Cache

的平均性能比直接映象cache 要高1.003倍。因此这里选择两路组相联。

6 输入输出系统

假设一台计算机的I/O 处理占10%,当其CPU 性能改进到原来的100倍时,而I/O 性能仅改进为原来的两倍时,系统总体性能会有什么改进?

解: 加速比=14

.710/%902/%101

=+

本题再次反映了Amdahl 定律,要改进一个系统的性能要对各方面性能都进行改进,不然系统中最慢的地方就成为新系统的瓶颈。

假设磁盘空闲,这样没有排队延迟;公布的平均寻道时间是9ms ,传输速度是4MB/s ,转速是5400r/min ,控制器的开销是1ms 。问读或写一个512字节的扇区的平均时间是多少? 解:

平均磁盘访问时间

= 平均寻道时间 + 平均旋转延迟 + 传输时间 + 控制器开销

15.725m

1 0.125 5.6 9 1m s 4.0MB/s

0.5KB 5400r/m in

0.5 9m s = + + + = + +

+

假设实际测得的寻道时间是公布值的33%,则答案是:

3ms + 4.2ms + 0.1ms + 1ms = 8.3ms

6.3 按表6.2中的数据,问用哪种磁盘最适合于建立100GB 的镜像盘阵列(RAID1)存储子系统?

又问哪种磁盘最适合于建立100GB 的镜像盘阵列(RAID5)存储子系统?

盘阵列有哪些分级?各有什么特点?

RAID0亦称数据分块,即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息。 RAID1亦称镜像盘,使用双备份磁盘。每当数据写入一个磁盘时,将该数据也写到另一个冗

余盘,这样形成信息的两份复制品。如果一个磁盘失效,系统可以到镜像盘中获得所需要的信息。镜像是最昂贵的解决方法。特点是系统可靠性很高,但效率很低。

RAID2位交叉式海明编码阵列。原理上比较优越,但冗余信息的开销太大,因此未被广泛应

用。

RAID3位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。即数据以位或字节交叉的方式

存于各盘,冗余的奇偶校验信息存储在一台专用盘上。

RAID4专用奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的

奇偶校验信息存在一台专用盘上。

RAID5块交叉分布式奇偶校验盘阵列,是旋转奇偶校验独立存取的阵列。即数据以块交叉的

方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验信息均匀地分布在所有磁盘上。

RAID6双维奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的

检、纠错信息均匀地分布在所有磁盘上。并且,每次写入数据都要访问一个数据盘和

两个校验盘,可容忍双盘出错。

RAID7是采用Cache和异步技术的RAID6,使响应速度和传输速率有了较大提高。

同步总线和异步总线各有什么优缺点?总线的主要参数有哪些?各是什么含义?

同步总线上所有设备通过统一的总线时钟进行同步。同步总线成本低,因为它不需要设备之间相互确定时序的逻辑。但是同步总线也有缺点,总线操作必须以相同的速度运行。由于各种设备都要精确地以公共时钟为定时参考,因此在时钟频率很高时容易产生时钟相对漂移错误。

异步总线上的设备之间没有统一的时钟,设备自己内部定时。设备之间的信息传送用总线发送器和接收器控制。异步总线容易适应更广泛的设备类型,扩充总线时不用担心时钟时序和时钟同步问题。但在传输时,异步总线需要额外的同步开销。

总线常用的参数有3个:

2Tp:总线信号传输延迟。即在总线上的每个设备都取到和识别一个信号需要的最大时间。

3Tsk:响应其它设备的最大时间,这个参数在同步总线中是一个重要的参数。

4Top:设备的操作时间。

计算机体系结构习题(含答案)

第2章课后习题 1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值r m=16,阶码基值r e=2。对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。 (1)最大尾数(8)最小正数 (2)最小正尾数(9)最大负数 (3)最小尾数(10)最小负数 (4)最大负尾数(11)浮点零 (5)最大阶码(12)表数精度 (6)最小阶码(13)表数效率 (7)最大正数(14)能表示的规格化浮点数个数 2.一台计算机系统要求浮点数的精度不低于10-7.2,表数围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。 (1) 设计这种浮点数的格式 (2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。 3.某处理机要求浮点数在正数区的积累误差不大于2-p-1,其中,p是浮点数的尾数长度。 (1) 选择合适的舍入方法。 (2) 确定警戒位位数。 (3) 计算在正数区的误差围。 4.假设有A和B两种不同类型的处理机,A处理机中的数据不带标志符,其指令字长和数据字长均为32位。B处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A处理机和B处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。 (1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 (2) 设计8字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址围不小于±127。请设计指令格式,并给出各字段的长度和操作码的编码。 6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字

软件体系结构KWIC实验

《软件体系结构》 实验:软件体系结构风格之应用

一、实验目的 通过 KWIC 实例分析,理解和掌握软件体系结构风格设计与实现。 二、实验容 多种软件风格设计与实现之 KWIC 实例: 1.采用主/子程序体系结构风格实现 KWIC 关键词索引系统 2.采用面向对象体系架构风格实现 KWIC 关键词索引系统 3.采用管道过滤 体系架构风格实现 KWIC 关键词索引系统 4.采用事件过程调用体系架构风格实现 KWIC 关键词索引系统 三、实验要求与实验环境 熟练掌握基于主/子程序体系结构风格的 KWIC 关键词索引系统,在此基础上, 完成基于面向对象体系架构风格的 KWIC 关键词索引系统设计与实现。选做基于 管道过滤体系架构风格的 KWIC 关键词索引系统;选做基于事件过程调用体系架 构风格的 KWIC 关键词索引系统。 实验课前完成实验报告的实验目的、实验环境、实验容、实验操作过程等 容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等容;每 人一台 PC 机,所需软件 Win2003/XP 、 UML 工具( EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0 等。 四、实验操作 1、采用主/子程序体系结构风格实现 KWIC 关键词索引系统 主程序/子程序风格(Main Program/Subroutine Style)将系统组织成层次结 构,包括一个主程序和一系列子程序。主程序是系统的控制器,负责调度各子程

序的执行。各子程序又是一个局部的控制器,调度其子程序的执行。设计词汇表: 主程序 main(), 子程序 shift(), sort() 方法,方法的调用,返回构件和连接件类 型: 构件:各类子程序,如 shift(),sort() 连接件:方法的调用基本的计算模型: 子程序有 shift(), sort()方法,shift() 对单词进行移位,sort()方法对单词进行 排序 风格的基本不变性: 主程序有顺序地调用子程序,单线程控制。 KWIC 的主/子程序体系结构风格示意图如下所示: 主程序/子程序风格的重要设计决策与约束有:

体系结构 习题解答范文

第一章计算机体系结构的基本概念 1.层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为 2.计算机体系结构:程序员看到的计算机的属性,即概念性结构和功能特性。 3.实质是计算机系统中软硬件界面的确定。 4.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N级程序, 在执行过程中,N+1级程序不再被访问。 5.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下 一条N+1级指令,依此重复执行。 6.体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。主要研究计算机 系统软件和硬件的功能分配以及如何最佳、最合理地实现分配给硬件的功能。 8.透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的 概念称为透明性。 9.系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不 同型号的机器。 10.软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所 获得的结果一样,差别只在于运行的时间不同。 11.兼容机——不同厂家生产的、具有相同体系结构的计算机。 12.计算机组成——计算机体系结构的逻辑实现。 13.计算机实现——计算机组成的物理实现。 14.存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同一存 储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。 15.并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。 16.时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地 使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 17.资源重复——在并行性中引入时间因素,是根据“以数量取胜”的原则,通过重复设置资源, 尤其是硬件资源,大幅度提高计算机系统的性能。

计算机体系结构习题答案解析

第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 CPI:每条指令执行的平均时钟周期数。 测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。 向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。 向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能

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

第1章计算机系统结构的基本概念 (1) 第2章指令集结构的分类 (10) 第3章流水线技术 (15) 第4章指令级并行 (37) 第5章存储层次 (55) 第6章输入输出系统 (70) 第7章互连网络 (41) 第8章多处理机 (45) 第9章机群 (45) 第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。

《计算机体系结构》期末复习题标准答案

《计算机体系结构》期末复习题答案

————————————————————————————————作者:————————————————————————————————日期:

《计算机体系结构》期末复习题答案 系别_________ 班级_________ 姓名__________ 学号__________ 一、填空题(每空1分) 1.按照弗林(Flynn)分类法,计算机系统可以分为4类:SISD计算机、(SIMD计算机)、(MISD计算机)和(MIMD计算机)。 2. 改进之后的冯?诺依曼计算机的只要特点是存储器为中心,总线结构,分散控制。 3. 当前计算机系统中的存储系统是一个层次结构,其各层分别为:(通用寄存器,高速缓存,主存,辅存,脱机大容量存储器)。 4.高速缓冲存储器的地址映象方式有三种,它们分别是:(全向量方式,直接相联方式,组相联方式)。 5.虚拟存储器的三种管理方式是(段式管理,页式管理和段页式管理)。 6.目前计算机中常用数据有(用户定义数据,系统数据和指令数据)三种类型。 7.通常可能出现的流水线的相关性有(资源相关,数据相关和控制相关)。 8.解决中断引起的流水线断流的方法有(不精确断点法和精确断点法)。 9.目前向量处理机的系统结构有两种:(存储器-存储器型和寄存器-寄存器型)。 10.通用计算机基本指令分为5类,它们分别是:(数据传送类,运算类,程序控制类,输入输出类,处理机控制和调试类)。 11.执行指令x1=x2+x3;x4=x1-x5会引起(RAW)类型的数据相关,执行指令x5=x4*x3;x4=x0+x6会引起(W AR)类型的数据相关,执行指令x6=x1+x2;x6=x4*x5会引起(WA W)类型的数据相关。 12.多计算机网络中,通常出现的4种通信模式是(单播模式,选播模式,广播模式和会议模式)。 13.传统的冯?诺依曼计算机是以控制驱动方式工作,以数据驱动方式工作的典型计算机是(数据流计算机),以需求驱动方式工作的典型计算机是(归约机),以模式匹配驱动方式工作的典型计算机是(人工智能计算机)。 二、名词解释(每题2分) 1.计算机体系结构: 计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性,是硬件子系统的概念结构及其功能特性。 2.系列机: 所谓系列机是指同一厂家生产的具有相同的系统结构,但采取了不同的组成和实现的技术方案,形成了不同型号的多种机型。 3.模拟: 模拟是指用软件的方法在一台计算机上,实现另一台计算机的指令系统,被模拟的机器是不存在的,称为虚拟机,执行模拟程序的机器称宿主机。 4.程序的局部性原理: 程序访问局部性原理说明了计算机在程序执行过程中呈现出的一种规律,即程序往往重

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

第1章计算机系统结构得基本概念 (1) 第2章指令集结构得分类 (4) 第3章流水线技术 (6) 第4章指令级并行 (16) 第5章存储层次 (25) 第6章输入输出系统 (31) 第7章互连网络 (41) 第8章多处理机 (45) 第9章机群 (45) 第1章计算机系统结构得基本概念 1、1 解释下列术语 层次机构:按照计算机语言从低级到高级得次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同得语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现得机器。 翻译:先用转换程序把高一级机器上得程序转换为低一级机器上等效得程序,然后再在这低一级机器上运行,实现程序得功能。 解释:对于高一级机器上得程序中得每一条语句或指令,都就是转去执行低一级机器上得一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所瞧到得计算机属性,即概念性结构与功能特性。 在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。 计算机组成:计算机系统结构得逻辑实现,包含物理机器级中得数据流与控制流得组成以及逻辑设计等。 计算机实现:计算机组成得物理实现,包括处理机、主存等部件得物理结构,器件得集成度与速度,模块、插件、底板得划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高得倍数。 Amdahl定律:当对一个系统中得某个部件进行改进后,所能获得得整个系统性能得提高,受限于该部件得执行时间占总执行时间得百分比。 程序得局部性原理:程序执行时所访问得存储器地址不就是随机分布得,而就是相对地簇聚。包括时间局部性与空间局部性。 CPI:每条指令执行得平均时钟周期数。 测试程序套件:由各种不同得真实应用程序构成得一组测试程序,用来测试计算机在各个方面得处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点就是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定得逻辑顺序执行这些程序,自动完成由程序所描述得处理工作。 系列机:由同一厂家生产得具有相同系统结构、但具有不同组成与实现得一系列不同型号得计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算

软件体系结构风格研究分析

软件体系结构风格研究分析 软件体系结构风格研究,分析了各种风格的特点、优缺点,最后重点介绍了三层C/S软件体系结构。 20世纪60年代中期的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上。随着软件系统规模越来越大、越来越复杂,整个系统的结构显得越来越重要。 软件体系结构风格分析 最初的软件体系结构是Mainframe结构——客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐被淘汰。在20世纪80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户机和服务器之间分担。随着大型软件系统的开发,这种结构在系统的部署和扩展性方面暴漏出不足。随着Inter的发展,一个更灵活的体系结构“三层/多层计算”体系结构应运而生。 Garlan和Shaw将通用软件体系结构风格总结为以下几类:

1.数据流风格:批处理序列;管道/过滤器。 2.调用/返回风格:主程序/子程序;面向对象风格;层次结构。 3.独立构件风格:进程通讯;事件系统。 4.虚拟机风格:解释器;基于规则的系统。 5.仓库风格:数据库系统;超文本系统;黑板系统。C2风格是最常用的一种软件体系结构风格。从C2风格的组织规则和结构图中,我们可以得出,C2风格具有以下特点: (1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消 息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。 2.数据抽象和面向对象风格。目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。图2是数据抽象和面向对象风格的示意图。面向对象的系统有许多的优点: (1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象。(2)设计者可将一些数据存取操作的

计算机体系结构习题与答案

一、复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。这3条合称冯?诺依曼原理 冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。 (P51-P54) 2.简述计算机体系结构与组成、实现之间的关系。 答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。 (P47-P48) 3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构? 答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。 (P55) 4.简述RISC技术的特点? 答:从指令系统结构上看,RISC 体系结构一般具有如下特点: (1) 精简指令系统。可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令; (2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种; (3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长; (4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。 (P57-58) 5.有人认为,RISC技术将全面替代CISC,这种观点是否正确,说明理由? 答:不正确。与CISC 架构相比较,RISC计算机具备结构简单、易于设计和程序执行效率高的特点,但并不能认为RISC 架构就可以取代CISC 架构。事实上,RISC 和CISC 各有优势,CISC计算机功能丰富,指令执行更加灵活,这些时RISC计算机无法比拟的,当今时代,两者正在逐步融合,成为CPU设计的新趋势。 (P55-59) 6.什么是流水线技术? 答:流水线技术,指的是允许一个机器周期内的计算机各处理步骤重叠进行。特别是,当执行一条指令时,可以读取下一条指令,也就意味着,在任何一个时刻可以有不止一条指令在“流水线”上,每条指令处在不同的执行阶段。这样,即便读取和执行每条指令的时间保持不变,而计算机的总的吞吐量提高了。 (P60-62) 7.多处理器结构包含哪几种主要的体系结构,分别有什么特点? 答:多处理器系统:主要通过资源共享,让共享输入/输出子系统、数据库资源及共享或不共享存储的一组处理机在统一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行。 SIMD计算机有多个处理单元,由单一的指令部件控制,按照同一指令流的要求为他们分配各不相同的数据并进行处理。系统结构为由一个控制器、多个处理器、多个存贮模块和

中南大学软件体系结构设计模式实验二

中南大学软件体系结构设计模式实验二 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

实验3 设计模式实验二 实验学时: 4 每组人数: 1 实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 1 (1:必修 2:选修 3:其它) 实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它) 一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的行为型设计模式,包括职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。 二、实验内容 1. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。如下图所示: 试使用职责链模式设计并模拟实现该系统。 2. 房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。 3. 某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。 4. 某实时在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所有股民。试使用观察者模式设计并实现该系统,要求绘制相应的类图并编程模拟实现。 5. 某公司欲开发一套机房监控系统,如果机房达到某一指定温度,温度传感器(Thermosensor)将自动传递信号给各种响应设备,例如警示灯(CautionLight)将闪烁(flicker())、报警器(Annunciator)将发出警报(alarm())、安全逃生门(SecurityDoor)将自动开启(open())、隔热门(InsulatedDoor)将自动关闭(close())

计算机体系结构课后答案

计算机体系结构课后答案

计算机体系结构课后答案 【篇一:计算机体系结构习题(含答案)】 1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。 (1)最大尾数(8)最小正数 (2)最小正尾数(9)最大负数 (3)最小尾数(10)最小负数 (4)最大负尾数(11)浮点零 (5)最大阶码(12)表数精度 (6)最小阶码(13)表数效率 (7)最大正数(14)能表示的规格化浮点数个数 2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。 (1) 设计这种浮点数的格式 (2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。 3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。 (1) 选择合适的舍入方法。

(2) 确定警戒位位数。 (3) 计算在正数区的误差范围。 4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。 (1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字 段的长度均为6位。 (1) 如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这3类指令分配操作码。 (2) 如果要求3类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这3类指令分配操作码。 7.别用变址寻址方式和间接寻址方式编写一个程序,求c=a+b,其中,a与b都是由n个元素组成的一维数组。比较两个程序,并回答下列问题: (1) 从程序的复杂程度看,哪一种寻址方式更好?

软件体系结构总结

第一章:1、软件体系结构的定义 国内普遍看法: 体系结构=构件+连接件+约束 2、软件体系结构涉及哪几种结构: 1、模块结构(Module) 系统如何被构造为一组代码或数据单元的决策 2、构件和连接件结构(Component-And-Connector,C&C) 系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素 3、分配结构(Allocation) 展示如何将来自于模块结构或C&C结构的单元映射到非软件结构(硬件、开发组和文件系统) 3、视图视点模型 视点(View point) ISO/IEC 42010:2007 (IEEE-Std-1471-2000)中规定:视点是一个有关单个视图的规格说明。 视图是基于某一视点对整个系统的一种表达。一个视图可由一个或多个架构模型组成 架构模型 架构意义上的图及其文字描述(如软件架构结构图) 视图模型 一个视图是关于整个系统某一方面的表达,一个视图模型则是指一组用来构建 4、软件体系结构核心原模型 1、构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。 2.连接件(Connector):表示构件之间的交互并实现构件 之间的连接

特性:1)方向性2)角色3)激发性4)响应特征 第二章 1、软件功能需求、质量属性需求、约束分别对软件架构产生的影响 功能性需求:系统必须实现的功能,以及系统在运行时接收外部激励时所做出的行为或响应。 质量属性需求:这些需求对功能或整个产品的质量描述。 约束:一种零度自由的设计决策,如使用特定的编程语言。 质量原意是指好的程度,与目标吻合的程度,在软件工程领域,目标自然就是需求。 对任何系统而言,能按照功能需求正确执行应是对其最基本的要求。 正确性是指软件按照需求正确执行任务的能力,这无疑是第一重要的软件质量属性。质量属性的优劣程度反映了设计是否成功以及软件系统的整体质量。 系统或软件架构的相关视图的集合,这样一组从不同视角表达系统的视图组合在一起构成对系统比较完整的表达

第2章计算机体系结构习题及答案解析

第二章习题(P69-70) 一、复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。这3条合称冯?诺依曼原理 冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。 (P51-P54) 2.简述计算机体系结构与组成、实现之间的关系。 答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。 (P47-P48) 3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构? 答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。 (P55) 4.简述RISC技术的特点? 答:从指令系统结构上看,RISC 体系结构一般具有如下特点: (1) 精简指令系统。可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令; (2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种; (3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长; (4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。 (P57-58) 5.有人认为,RISC技术将全面替代CISC,这种观点是否正确,说明理由? 答:不正确。与CISC 架构相比较,RISC计算机具备结构简单、易于设计和程序执行效率高的特点,但并不能认为RISC 架构就可以取代CISC 架构。事实上,RISC 和CISC 各有优势,CISC计算机功能丰富,指令执行更加灵活,这些时RISC计算机无法比拟的,当今时代,两者正在逐步融合,成为CPU设计的新趋势。 (P55-59) 6.什么是流水线技术? 答:流水线技术,指的是允许一个机器周期内的计算机各处理步骤重叠进行。特别是,当执行一条指令时,可以读取下一条指令,也就意味着,在任何一个时刻可以有不止一条指令在“流水线”上,每条指令处在不同的执行阶段。这样,即便读取和执行每条指令的时间保持不变,而计算机的总的吞吐量提高了。 (P60-62) 7.多处理器结构包含哪几种主要的体系结构,分别有什么特点? 答:多处理器系统:主要通过资源共享,让共享输入/输出子系统、数据库资源及共享或不共享存储的一组处理机在统一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行。

软件体系结构实验二

南京邮电大学 《软件体系结构》实验报告 实验题目软件体系结构风格之应用 姓名xxx 学号xxx 院系计算机、软件学院 指导老师周国强 2013年12月18日

一、实验目的和要求 实验目的: 通过KWIC实例分析,理解和掌握软件体系结构风格设计与实现。 实验要求: 熟练掌握基于主/子程序体系结构风格的KWIC关键词索引系统,在此基础上,完成基于面向对象体系架构风格的KWIC关键词索引系统设计与实现。选做基于管道过滤体系架构风格的KWIC关键词索引系统;选做基于事件过程调用体系架构风格的KWIC关键词索引系统。 实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等内容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等内容;每人一台PC机,所需软件Win2003/XP、UML工具(EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0等。实验课后完成实验报告的心得体会内容,并及时提交实验报告。 二、实验课时:2 三、实验内容及操作步骤 多种软件风格设计与实现之KWIC实例: 1.采用主/子程序体系结构风格实现KWIC关键词索引系统 public static void input(String inputFile){ fr=null; try { fr=new (inputFile);

} catch ( e) { // TODO Auto-generated catch block e.printStackTrace(); } BufferedReader br=new BufferedReader(fr); textLines=new ArrayList(); try { while(br.ready()){ textLines.add(br.readLine()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void circularShift(){ shiftedLineIndexes=new ArrayList(); for(int i=0;i1){ if(j==sarray.length-1){ for(int k=0;k<(sarray.length-1);k++){ newLine=newLine+" "+sarray[k]; } } else{ for(int k=j+1;k

体系结构课后习题答案

3.某模型机有10条指令I1~I10,它们的使用频度分别为0.3,0.24,0.16,0.12,0.07,0.04,0.03,0.02, 0.01,0.01。 (1)计算采用等长操作码表示时的信息冗余量。 (2)要求操作码的平均长度最短,试设计操作码的编码,并计算所设计操作码的平均长度。 (3)只有二种码长,试设计平均码长最短的扩展操作码编码并计算平均码长。 (4)只有二种码长,试设计平均码长最短的等长扩展码编码并计算平均码长。 3.(1)采用等长操作码表示时的信息冗余量为33.5%。 (2)操作码的Huffman编码法如表2.2所示,此种编码的平均码长为2.7位。 表2.2 操作码的Huffman编码法、2-5扩展码和2-4等长扩展码编码法 指令指令使用 频度p i Huffman编码 操作码 长度l i 2-5扩展码 操作码 长度l i 2-4等长扩 展码 操作码 长度l i I1 0.3 0 0 2 0 0 2 0 0 2 I2 0.24 1 0 2 0 1 2 0 1 2 I3 0.16 0 1 0 3 1 0 2 1 0 0 0 4 I4 0.12 0 1 1 3 1 1 0 0 0 5 1 0 0 1 4 I5 0.07 1 1 0 3 1 1 0 0 1 5 1 0 1 0 4 I6 0.04 1 1 1 0 0 5 1 1 0 1 0 5 1 0 1 1 4 I7 0.03 1 1 1 0 1 5 1 1 0 1 1 5 1 1 0 0 4 I8 0.02 1 1 1 1 0 5 1 1 1 0 0 5 1 1 0 1 4 I9 0.01 1 1 1 1 1 0 6 1 1 1 0 1 5 1 1 1 0 4 I10 0.01 1 1 1 1 1 1 6 1 1 1 1 0 5 1 1 1 1 4 (3)操作码的2-5扩展码编码法如表2.2所示,此种编码的平均码长为2.9位。 (4)操作码的2-4等长扩展码编码法如表2.2所示,此种编码的平均码长为2.92位。 5.若某机设计有如下格式的指令: 三地址指令12种,一地址指令254种,设指令字的长度为16位,每个地址码字段的位数均为4位。若操作码的编码采用扩展操作码,问二地址指令最多可以设计多少种? 5.二地址指令最多可以设计48种。 6.一台模型机共有9条指令I1~I9,各指令的使用频度分别为30%,20%,20%,10%,8%,6%,3%,2%,1%。该模型机有8位和16位两种指令字长。8位字长指令为寄存器-寄存器(R-R)二地址类型,16位字长指令为寄存器-存储器(R-M)二地址变址寻址类型。 (1)试设计有二种码长的扩展操作码,使其平均码长最短,并计算此种编码的平均码长。 (2)在(1)的基础上,该机允许使用多少个可编址的通用寄存器? (3)若采用通用寄存器作为变址寄存器,试设计该机的两种指令格式,并标出各字段的位数。 (4)计算变址寻址的偏移地址范围。 6.(1)操作码的2-5扩展码编码法如表2.3所示,此种编码的平均码长为2.9位。 表2.3 操作码的Huffman编码法和2-4等长扩展码编码法 指令指令使用频度p i 2-5扩展码操作码长度l i I1 0.3 0 0 2 I2 0.2 0 1 2 I3 0.2 1 0 2 I4 0.1 1 1 0 0 0 5 I5 0.08 1 1 0 0 1 5

系统体系结构风格

实验报告 课程名称软件体系结构 实验项目名称系统体系结构风格实现班级与班级代码09软件工程1班 实验室名称(或课室) 3-402 专业软件工程 任课教师贺卫国 学号:09251104139 姓名:王颖异 实验日期:2012年10 月20日 广东商学院教务处制

姓名王颖异实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

系统体系结构风格实现 一、实验目的 1、理解软件体系结构基本概念。 2、进一步了解主要的软件体系结构风格,如主程序与子过程风格、 解释器风格、C/S 风格、B/S 风格、分层风格、面向对象风格、Web服务软件体系结构等等。 3、通过实际案例来实现某种软件体系结构风格,培养按照体系结 构的思维方式分析软件的能力。 二、实验环境 一台带有浏览器,能够访问因特网的计算机;字处理软件;XML 处理器等。 三、实验内容 1、自选模块,说明其体系结构 根据上次实验所选的模块,简要说明该模块或者整个系统的体系结构,以及自身需要实现或者改进的功能。

该系统实现了用户网上搜索信息,订票,以及网上支付功能,到时用户只需携带有效证件去机场办理登机牌即可,但网上支付功能有效时间为一小时,超过一小时还未用网银及时支付的话订单将会自动取消。 2、实现 对上述需要实现或者需要改进的功能的构件或者核心源代码进行分析说明;如果不需要编码,则对实现措施和最后结果进行说明。 3、构件库

(1)搜索当前流行的构件库,并介绍这些构件库目前的使用现状和未来发展目标。 REBOOT(Reuse Based on Object-Oriented Technology,基于面向对象技术的复用)构件模型是基于已有构件的一种刻面分类和检索模型。REBOOT是欧盟信息技术计划ESPRIT中的一个项目,目标是研究、开发以及推广复用驱动和面向对象的软件技术,是90年代初期国际上比较出名的构件库之一,由一个存储构件的复用库以及一组支持构件生产、考察、分类、选择、评估和适配的复用工具组成。JBCLMS是国家“九五”重点科技攻关项目——“软件工程环境(青鸟CASE)工业化生产技术及系统(JB/SEIMS)的研究开发”中的核心组成部分之一。JBCLMS是一个基于Internet的软件资产库管理系统,具体特点有下:可以存储和管理广义的构件,采用数据库管理系统存储构件描述信息,文件系统存储构件实体。提供关键词、刻面、规约等多种检索方式。采用“用户—人员组—构件子库—构件”四级模式来实现用户在构件库中的职责和权限。提供基于数据仓库技术的构件反馈机制,为用户选取构件提供辅助分析。 Agora是CMU SEI开发的一个构件搜索引擎。Agora通过对Web页面的搜索来获取构件URL等相关信息,采用和普通搜索引擎相同的方式管理构件信息。除了利用Spider技术在Web页面上搜索构件外,Agora 也允许构件开发者将他们开发的构件直接在Agora服务器上注册。 4、进一步说明实验优缺点 (a)阐述实验的优点,列出实验中你认为做得不错的地方。

相关主题
文本预览
相关文档 最新文档