文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机体系结构实验报告

计算机体系结构实验报告

计算机体系结构实验报告
计算机体系结构实验报告

实验一流水线中的相关

一.实验目的

1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;

2. 加深对计算机流水线基本概念的理解;

3. 进一步了解DLX基本流水线各段的功能以及基本操作;

4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;

5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。

二.实验平台

WinDLX模拟器

三.预备知识

1. WinDLX

WinDLX模拟器是一个图形化、交互式的DLX流水线模拟器,能够演示DLX流水线

是如何工作的。该模拟器可以装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。模拟器还提供了对流水线操作的统计功能,便于对流水线进行性能分析。

有关WinDLX的详细介绍,见WinDLX教程。

2. 熟悉WinDLX指令集和WinDLX源代码的编写

3. 复习和掌握教材中相应的内容

(1)DLX基本流水线

(2)流水线的结构相关与数据相关

结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,

发生资源冲突时,将产生“结构相关”。

数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中

重叠执行时,就可能引起“数据相关”。

(3)定向技术的主要思想:在发生数据相关时,等待前面计算结果的指令并不一定真的马上就用到该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令

需要它的地方,就可以避免暂停。

四.实验内容及结果

1. 用 WinDLX 模拟器执行下列三个程序(任选一个):

求阶乘程序 fact.s

求最大公倍数程序 gcm.s

求素数程序 prim.s

分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,

观察CPU 中寄存器和存储器的内容。熟练掌握WinDLX 的操作和使用。

注意:fact.s 中调用了input.s 中的输入子程序。load 程序时,要两个程序一起装入(都select 后再点击load)。gcm.s 也是如此。

说明:此实验我们选择:求阶乘程序fact.s

1)用WinDLX模拟器执行求阶乘程序fact.s。

2)程序的作用:这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。

3)实验结果:

i . 分别以步进、连续、设置断点的方式运行程序

图1. 求阶乘程序fact.s运行统计数据步进方式运行

图2 求阶乘程序fact.s运行统计数据连续方式运行

ii. 数据统计

图1.1.4 求阶乘程序fact.s运行统计数据

图5 求阶乘程序fact.s流水线执行情况

图6 求阶乘程序fact.s寄存器使用情况

iii. 定向非定向分析

在载入fact.s和input.s之后,不设置任何断点运行。

A. 不采用重新定向技术,我们得到的结果:

B. 采用定向技术,我们得到的结果:

结果分析

从上面的数据我们可以看出定向的作用:

在定向技术存在的情况下Statistics 窗口中的各种统计数字:总的周期数(215) 和暂停数(17 RAW, 25 Control, 12 Trap; 54 Total)

在定向技术不存在时候,控制暂停和Trap 暂停仍然是同样的值,而RAW暂停从17变成了53,总的模拟周期数增加到236。所以定向技术带来的加速比:S=236 / 215 = 1.098

因此:DLX forwarded比DLX not forwarded快9.8%。

2. 用WinDLX 运行程序structure_d.s,通过模拟:

找出存在结构相关的指令对以及导致结构相关的部件;

记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;

论述结构相关对CPU 性能的影响,讨论解决结构相关的方法。

1)模拟结果:

图2.1 程序structure_d.s流水线执行过程

2)结构相关

i. 如图,导致结构的部件:浮点数寄存器f4

addd f0,f0,f4 指令在译码阶段ID停滞1周期

ii. 如图导致结构相关的部件:ALU

addi r2,r2,0x8 指令在执行阶段intEX停滞1周期

3)结果分析

由资源相关引起的暂停周期数为:30

总执行周期数为:139

暂停周期数占总执行周期数的百分比:21.58%

分析:资源相关使相关指令在流水线上停滞,降低了执行效率。

4)解决办法

在合理的指令调度范围内,尽量避免执行重复的指令。尽量避免同一寄存器的频繁使用,若无法避免,则使用寄存器换名的方法。也可以考虑采用资源重复的方法,比如,在流水线机器中设置相互独立的指令存储器和数据存储器,也可以将CACHE 分割成指令CACHE 和数据CACHE。

3. 在不采用定向技术的情况下(去掉Configuration 菜单中Enable Forwarding 选项前的勾选符),用WinDLX 运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。

1)实验结果:

没有采用定向技术时运行该程序,我们得到:

2)结果分析:

程序执行了202个周期,10个数据相关引起的时钟周期RAW stall为104个。暂停时钟

周期数占总执行周期数的百分比=51.48%

4. 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX 再次运行程序data_d.s。重复上述3 中的工作,并计算采用定向技术后性能提高的倍数。

1)实验结果:

采用定向技术时运行该程序,我们得到:

2)结果分析:

程序执行了128个周期,共有6个数据相关引起的时钟周期RAW stall为30个。暂停时

钟周期数占总执行周期数的百分比=23.44%

五.总结

实验二循环展开及指令调度

一.实验目的

1. 加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;

2. 熟悉用指令调度技术来解决流水线中的数据相关的方法;

3. 了解循环展开、指令调度等技术对 CPU 性能的改进。

二.实验平台

WinDLX simulator

四.预备知识

1. WinDLX模拟器的相关知识,详见相关的文档。

2. 复习和掌握教材中相应的内容:

(1)循环级并行性

(2)指令调度

(3)循环展开

(4)寄存器换名

五.实验内容及结果

1.用指令调度技术解决流水线中的结构相关与数据相关

(1)用DLX汇编语言编写代码文件*.s,程序中应包括数据相关与结构相关(假设:加法﹑乘法﹑除法部件各有2个,延迟时间都是3个时钟周期)

给出调度前的程序sch_bef:

.data

.global ONE

ONE: .word 1

.text

.global main

main:

lf f1,ONE ;turn divf into a move

cvti2f f7,f1 ;by storing in f7 1 in

nop ;floating-point format

divf f1,f8,f7 ;move Y=(f8) into f1

divf f2,f9,f7 ;move Z=(f9) into f2

addf f3,f1,f2

divf f10,f3,f7 ;move f3 into X=(f10)

divf f4,f11,f7 ;move B=(f11) into f4

divf f5,f12,f7 ;move C=(f12) into f5

multf f6,f4,f5

divf f13,f6,f7 ;move f6 into A=(f13)

Finish:

trap 0

(2)通过Configuration菜单中的“Floating point stages”选项,把加法﹑乘法﹑除法部件的个数设置为2个,把延迟都设置为3个时钟周期;

(3)用WinDLX运行程序。记录程序执行过程中各种相关发生的次数、发生相关的指令组合,以及程序执行的总时钟周期数;

(4)采用指令调度技术对程序进行指令调度,消除相关;

调度之后的程序sch_aft:

.data

.global ONE

ONE: .word 1

.text

.global main

main:

lf f1,ONE ;turn divf into a move

cvti2f f7,f1 ;by storing in f7 1 in

nop ;floating-point format

divf f1,f8,f7 ;move Y=(f8) into f1

divf f2,f9,f7 ;move Z=(f9) into f2

divf f4,f11,f7 ;move B=(f11) into f4

divf f5,f12,f7 ;move C=(f12) into f5

addf f3,f1,f2

multf f6,f4,f5

divf f10,f3,f7 ;move f3 into X=(f10)

divf f10,f3,f7 ;move f3 into X=(f10)

divf f13,f6,f7 ;move f6 into A=(f13)

Finish:

trap 0

(5)用WinDLX运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总时钟周期数;

(6)根据记录结果,比较调度前和调度后的性能。论述指令调度对于提高CPU性能的意义。意义:可以看出经过调度之后运行周期从27减少到21,而且减少了相关。

2. 用循环展开、寄存器换名以及指令调度提高性能

(1)用DLX汇编语言编写代码文件*.s,程序中包含一个循环次数为4的整数倍的简单循环;循环展开前的程序:

LHI R2, (A>>16)&0xFFFF

ADDUI R2, R2, A&0xFFFF

LHI R3, (B>>16)&0xFFFF

ADDUI R3, R3, B&0xFFFF

ADDU R4, R0, R3

NOP

loop:

SUBI R4, R4, #8

SUB R5, R4, R2

BNEZ R5, loop

TRAP #0

A: .double 1, 2, 3, 4

B: .double 1, 2, 3, 4

(2)用WinDLX运行该程序。记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;

(3)将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。然后对新的循环体进行寄存器换名和指令调度;

循环展开后的程序:

LHI R2, (A>>16)&0xFFFF

ADDUI R2, R2, A&0xFFFF

LHI R3, (B>>16)&0xFFFF

ADDUI R3, R3, B&0xFFFF

ADDU R4, R0, R3

SUBI R4, R4, #8

SUBI R4, R4, #8

SUBI R4, R4, #8

SUBI R4, R4, #8

TRAP #0

A: .double 1, 2, 3, 4

B: .double 1, 2, 3, 4

(4)用WinDLX运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;

(5)根据记录结果,比较循环展开、指令调度前后的性能。

结论:可以看出经过循环展开之后运行周期从30减少到14,而且减少了相关。五.总结

实验三记分牌算法和Tomasulo 算法

一.实验目的

1. 掌握DLXview 模拟器的使用方法;

2. 进一步理解指令动态调度的基本思想,了解指令动态调度的基本过程与方法;

3. 理解记分牌算法和Tomasulo 算法的基本思想,了解它们的基本结构、运行过程;

4. 比较分析基本流水线与记分牌算法和Tomasulo 算法的性能及优缺点。

二.实验平台

DLXview 模拟器

三.预备知识

1. DLXview 模拟器

2. 复习和掌握教材中相应的内容 1)指令的动态调度 2)乱序流水线

3)为了允许乱序执行,我们将基本流水线的译码阶段再分为两个阶段:

4)记分牌技术的目标:在资源充足时,尽可能早地执行没有数据阻塞的指令,达到每个 时钟周期执行一条指令。

5)Tomasulo 算法将记分牌的关键部分和寄存器换名技术结合在一起,其基本核心是通过 寄存器换名来消除写后写和先读后写相关可能引发的流水线阻塞。 6)Tomasulo 算法的基本思想

四.实验内容及结果

1. 用DLX 汇编语言编写代码文件*.s (程序中应包括指令的数据相关、控制相关以及结构相关),以及相关的初始化寄存器文件*.i 和数据文件*.d ;

305.s 305.i

2. 观察程序中出现的数据相关、控制相关、结构相关,并指出三种相关的指令组合; (1) 第二个lf 指令到multf 、subf 和addf ,multf 到divf 之间,subf 到addf 之间存在着先

写后读相关。

(2) divf 和addf 之间存在着先读后写相关。

(3) addf 和subf 指令关于浮点加法部件还存在着结构相关。

3. 将自己编写的程序*.s 、*.i 、*.d 装载到DLXview 模拟器上,

(1)分别用基本流水线、记分牌算法和Tomasulo 算法模拟,针对每一种模拟做如下分析: 基本流水线:

1统计程序的执行周期数和流水线中的暂停时钟周期数 #put 30 into r2 -> #34(r2) is 64 (0x40) put r2 30 #put 2.5 into address 0x40 fput 0x40 2.5

#put 23 into r3 -> #45(r3) is 68 (0x41) put r3 23 #put 4.0 into address 68 fput 0x41 4.0 #put 1.25 into FP register f4 fput f4 1.25 lf f6, 34(r2) lf f2, 45(r3) multf f0, f2, f4 subf f8, f6, f2 divf f10,f0, f6 addf f6, f8, f2 trap #0

1个加法部件,延迟周期为2

2个乘法部件,延迟周期为10

1个除法部件,延迟周期为40

程序执行时钟周期数67,流水线中的暂停时钟周期10

②改变功能部件数目重新模拟,观察并记录性能的改变

2个加法部件,延迟周期为2

3个乘法部件,延迟周期为10

2个除法部件,延迟周期为40

程序执行时钟周期数67,流水线中的暂停时钟周期10

③改变功能部件延迟重新模拟,观察并记录性能的改变

1个加法部件,延迟周期为1

2个乘法部件,延迟周期为8

1个除法部件,延迟周期为32

程序执行时钟周期数47,流水线中的暂停时钟周期8 由此可见增加功能部件数目之后,性能并没有提高

减少功能部件延迟之后,性能得到了显著的提高。

记分牌算法:

○1统计程序的执行周期数和流水线中的暂停时钟周期数1个加法部件,延迟周期为2

2个乘法部件,延迟周期为10

1个除法部件,延迟周期为40

程序执行时钟周期数59,流水线中的暂停时钟周期12

②改变功能部件数目重新模拟,观察并记录性能的改变

2个加法部件,延迟周期为2

3个乘法部件,延迟周期为10

2个除法部件,延迟周期为40

程序执行时钟周期数59,流水线中的暂停时钟周期12

③改变功能部件延迟重新模拟,观察并记录性能的改变

1个加法部件,延迟周期为1

2个乘法部件,延迟周期为8

1个除法部件,延迟周期为32

程序执行时钟周期数49,流水线中的暂停时钟周期10 由此可见增加功能部件数目之后,性能并没有提高

减少功能部件延迟之后,性能得到了显著的提高。Tomasulo算法:

○1统计程序的执行周期数和流水线中的暂停时钟周期数1个加法部件,延迟周期为2

2个乘法部件,延迟周期为10

1个除法部件,延迟周期为40

程序执行时钟周期数56,流水线中的暂停时钟周期10

②改变功能部件数目重新模拟,观察并记录性能的改变

2个加法部件,延迟周期为2

3个乘法部件,延迟周期为10

2个除法部件,延迟周期为40

程序执行时钟周期数56,流水线中的暂停时钟周期10

③改变功能部件延迟重新模拟,观察并记录性能的改变

1个加法部件,延迟周期为1

2个乘法部件,延迟周期为8

1个除法部件,延迟周期为32

程序执行时钟周期数46,流水线中的暂停时钟周期8 由此可见增加功能部件数目之后,性能并没有提高

减少功能部件延迟之后,性能得到了显著的提高。

(2)记录运行记分牌算法时的功能部件状态表和指令状态表;

(3)记录运行Tomasulo算法时的指令状态表和保留站信息;

实验四 Cache 性能分析

一.实验目的

1. 加深对 Cache 的基本概念、基本组织结构以及基本工作原理的理解;

2. 掌握 Cache 容量、相联度、块大小对Cache 性能的影响;

3. 掌握降低 Cache 不命中率的各种方法以及这些方法对提高Cache 性能的好处;

4. 理解 LRU 与随机法的基本思想以及它们对Cache 性能的影响。

二.实验平台

Cache 模拟器MyCache

三.预备知识

MyCache 模拟器使用方法

1. 启动模拟器:用鼠标双击MyCache.exe。

2. 系统会打开一个操作界面。该界面的左边为设置模拟参数区域,右边为模拟结果显示区域。如图1 所示。

3. 可以设置的参数包括:是统一Cache 还是分离Cache,Cache 的容量,块大小,相联度,替换算法,预取策略,写策略,写不命中时的调块策略。可以直接从列表里选择。

4. 访问地址可以选择来自地址流文件,也可以选择手动输入。如果是前者,则可以通过点击“浏览”按钮,从模拟器所在文件夹下面的“地址流”文件夹中选取地址流文件(.din 文件),然后进行执行。执行的方式可以是步进,也可以是一次执行到底。如果选择手动输入,就可以在“执行控制”区域中输入块地址,然后点击“访问”按钮。系统会在界面的右边显示访问类型、地址、块号以及块内地址。

5. 模拟结果包括:

(1)访问总次数,总的不命中次数,总的不命中率;

(2)读指令操作的次数,其不命中次数及其不命中率;

(3)读数据操作的次数,其不命中次数及其不命中率;

(4)写数据操作的次数,其不命中次数及其不命中率;

(5)手动输入单次访问的相关信息。

图 1 MyCache 模拟器的操作界面示意图

四.实验内容及结果

1. Cache 容量对不命中率的影响

1)启动 MyCache。

2)用鼠标点击“复位”按钮,把各参数设置为默认值。

3)选择一个地址流文件。方法:选择“访问地址”下的“地址流文件”选项,然后点击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。

4)选择不同的Cache 容量,包括:2KB,4KB,8KB,16KB,32KB,64KB,128KB,256KB,

计算机系统结构三四章作业及答案

3.1 简述流水线技术的特点。(1) 流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。(2) 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。(3) 流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。(4) 流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。(5) 流水线需要有通过时间和排空时间。在这两个时间段中,流水线都不是满负荷工作。 3.2 解决流水线瓶颈问题有哪两种常用方法?答:细分瓶颈段与重复设置瓶颈段 3.3 有一条指令流水线如下所示: (1 用两给出条指 (1) (24? 变八级流水线(细分) ? 重复设置部件 )(ns 85 1 T n TP 1pipeline -== 3.4 有一个流水线由4段组成,其中每当流过第三段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需的时间都是△t ,问: (1)当在流水线的输入端连续地每△t 时间输入一个任务时,该流水线会发生什么情况? (2)此流水线的最大吞吐率为多少?如果每2△t 输入一个任务,连续处理10个任务时,其实际吞吐率和效率是多少? (3)当每段时间不变时,如何提高流水线的吞吐率?人连续处理10个任务时,其吞吐率提高多少? 解:(1)会发生流水线阻塞情况。

(2) (3)重复设置部件 吞吐率提高倍数= t t ??2310 75 =1.64 3.5 有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第2段的时间为2△t ,其余各段的时间均为△t ,而且流水线的输出可以直接返回输入端或暂存于相应的流水线寄存器中。现在该流水线上计算 ∏=+4 1 )(i i i B A ,画出时空图,并计算其吞吐率、加速比和效率。 +B 4;再计算由图可见,它在18个△t 时间中,给出了7个结果。所以吞吐率为: 如果不用流水线,由于一次求积需3△t ,一次求和需5△t ,则产生上述7个结果共需(4×5+3×3)△t =29△t 。所以加速比为: 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: 3.6 在一个5段流水线处理机上,各段执行时间均为△t,需经9△t 才能完成一个任务,其预约表如下所示。 段23 时间 入 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A B C D A × B C ×D

计算机体系结构期末复习

计算机体系结构期末复习资料 1.并行性:是指在同一时刻或者是同一时间间隔内完成两种或两种以上性质相同或不同的工作。 2.CPI:每条指令执行时所花费的平均时钟周期。 3.体系结构:即计算机的属性,即概念性结构与功能特性。 4.Amdahl定理:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。 5.信息存储的整数边界:信息在主存中存放的起始地址必须是该信息(字节数)的整数倍。 6.指令系统的正交性:指在指令中各个不同含义的字段,在编码时应互不相关,相互独立。 7.流水线技术:是指将一个重复的时序过程,分解成为若干子过程,而每个过程都可有效在其专用功能段上与其他子过程同时执行。 8.定向技术:在某条指令产生一个结果之前,其他指令并不直接需要该计算结果,如果能将该计算结果从其他产生的地方直接送到其他指令需要它的地方,那么就可以避免暂停的技术就叫定向技术。 9.相关:衡量两个随机变量之间相关程度的指标。 10.向量流水处理机:是指处理机具有向量数据表示并通过向量指令对向量的各元素进行处理。、

11.定向:将计算结果从其产生的地方直接送到其他指令需要它的地方,或所有需要它的功能单元,避免暂停。 12.指令集的并行:当指令之间不存在相关时,它们在流水线中是可以重叠起来并行执行。 13.记分牌技术:流出和读操作数。在没有结构冲突时,尽可能早地执行没有数据冲突的指令,实现每个时钟周期执行一条指令。如果某条指令被暂停,而后面的指令与流水线中正在执行或被暂停的指令都不相关,是这些指令可以跨越它,继续流出和执行下去。 14.Tomasulo算法:寄存器换名是通过保留站和流出逻辑来共同完成,当指令流出时,如果其操作数还没有计算出来,则该指令中相应的寄存器换名将产生这个操作数的保留站的标识。因此,指令流出到保留站后,其操作数寄存器或者换成了数据本身,或换成了保留站的标识,和寄存器无关。后面指令对该寄存器的写入操作就不会产生WAR冲突。 15.替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。

吉林大学 计算机系统结构题库 第二章

第二章计算机指令集结构 知识点汇总: 指令集设计、堆栈型机器、累加器型机器、通用寄存器型机器、CISC、RISC、寻址方式、数据表示 简答题 1.增强CISC机器的指令功能主要从哪几方面着手?(CISC) (1) 面向目标程序增强指令功能。 (2) 面向高级语言和编译程序改进指令系统。 (3) 面向操作系统的优化实现改进指令系统。 2.简述CISC存在的主要问题。(知识点:CISC) 答:(1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。 (2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 (3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。 (4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。 3.简述RISC的优缺点及设计RISC机器的一般原则。(知识点:RISC) 答:(1)选取使用频率最高的指令,并补充一些最有用的指令。 (2)每条指令的功能应尽可能简单,并在一个机器周期内完成。 (3)所有指令长度均相同。 (4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。 (5)以简单、有效的方式支持高级语言。 4.根据CPU内部存储单元类型,可将指令集结构分为哪几类?(知识点:堆栈型机器、累加器型机器、通用寄存器型机器) 答:堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。 5.常见的三种通用寄存器型指令集结构是什么?(知识点:通用寄存器型机器) 答:(1)寄存器-寄存器型。 (2)寄存器-存储器型。 (3)存储器-存储器型。

计算机系统结构网上作业

计算机系统结构作业参考答案 一、 1、试述现代计算机系统的多级层次结构。 计算机系统具有层次性,它由多级层次结构组成。从功能上计算机系统可分为五个层次级别:第一级是设计级。这是一个硬件级,它由机器硬件直接执行。 第二级是一般机器级,也称为机器语言级。它由微程序解释系统.这一级是硬件级。 第三级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广义指令组成,这些广义指令是操作系统定义和解释的软件指令。这一级也称混合级。 第四级是汇编语言级。它给程序人员提供一种符号形式的语言,以减少程序编写的复杂性。这一级由汇编程序支持执行。 第五级是高级语言级。这是面向用户为编写应用程序而设置的。这一级由各种高级语言支持。 2、试述RISC设计的基本原则和采用的技术。 答:一般原则: (1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能 的指令,大大减少指令条数,一般使之不超过100条; (2)减少寻址方式种类,一般不超过两种; (3)让所有指令在一个机器周期内完成; (4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数; (5)大多数指令用硬联实现,少数用微程序实现; (6)优化编译程序,简单有效地支持高级语言实现。

基本技术: (1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。编码规整,寻址方式种类减少到1、2种。 (2)逻辑实现用硬联和微程序相结合。即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。 (3)用重叠寄存器窗口。即:为了减少访存,减化寻址方式和指令格式,简有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。 (4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。另外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期。 (5)优化设计编译系统。即尽力优化寄存器分配,减少访存次数。不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。 3、试述全相联映像与直接映像的含义及区别 (1)全相连映像 主存中任何一个块均可以映像装入到Cache中的任何一个块的位置上。主存地址分为块号和块内地址两部分,Cache地址也分为块号和块内地址。Cache的块内地址部分直接取自主存地址的块内地址段。主存块号和Cache块号不相同,Cache块号根据主存块号从块表中查找。Cache保存的各数据块互不相关,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有的地址加以比较,进行确认。 (2)直接映像 把主存分成若干区,每区与Cache大小相同。区内分块,主存每个区中块的大小和Cache 中块的大小相等,主存中每个区包含的块的个数与Cache中块的个数相等。任意一个主存块只能映像到Cache中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块号和块内地址,Cache地址分为:块号和块内地址。直接映像方式下,数据块只能映像到Cache中唯一指定的位置,故不存在替换算法的问题。它不同于全相连Cache,地址仅需比较一次。 (3)区别: 全相连映像比较灵活,块冲突率低,只有在Cache中的块全部装满后才会出现冲突,Cache 利用率高。但地址变换机构复杂,地址变换速度慢,成本高。 直接映像的地址变换简单、速度快,可直接由主存地址提取出Cache地址。但不灵活,块冲突率较高,Cache空间得不到充分利用。 4. 画出冯?诺依曼机的结构组成?

系统结构期末考试试题及答案

得分 评分人 填空题: (20分,每题2 分) 单选题:(10分,每题1分) A.任何虚页都可装入主存中任何实页的位置 B. 一个虚页只装进固定的主存实页位置 《计算机系统结构》期末考试试卷(A ) 得分 注:1、共100分,考试时间120分钟。 2、此试卷适用于计算机科学与技术本科专业。 1、."启动I/O"指令是主要的输入输出指令,是属于( A. 目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对 (B )是透明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) C. 组之间固定,组内任何虚页可装入任何实页位置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD 系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D. 阵列处理机 5、多处理机上两个程序段之间若有先写后读的数据相关,则( B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、 计算机使用的语言是(B ) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D. 属于符号化的机器指令 7、 指令执行结果出现异常引起的中断是( C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 &块冲突概率最高的 Cache 地址映象方式是(A ) A.直接 B .组相联 C .段相联 D .全相联 9、 组相联映象、LRU 替换的Cache 存储器,不影响 Cache 命中率的是(B ) A.增大块的大小 B .增大主存容量 C .增大组的大小 D .增加Cache 中的块数 10、 流水处理机对全局性相关的处理不 包括(C ) A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路

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

第二章 2.13 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。 k: MOVE R1,R0 ;R1← (R0) k+1: MUL R0,R2,R1 ;R0← (R2)×(R1) k+2: ADD R0,R2,R3 ;R0← (R2)+(R3) (1)就程序本身而言,可能有哪几种数据相关? (2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿? (3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周期? 解:(1)就程序本身而言,可能有三种数据相关。若3条指令顺序流动,则k指令对R1寄存器的写与k+1指令对R1寄存器的读形成的“先写后读”相关。若3条指令异步流动,则k指令对R0寄存器的读与k+1指令对R0寄存器的写形成的“先读后写”相关,k+2指令对R0寄存器的写与k+1指令对R0寄存器的写形成的“写—写”相关。 (2)在程序实际执行过程中,二种数据相关会引起流水线停顿。一是“先写后读”相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。不能在同一时钟周期内读写同一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写—写”相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八个时钟。k+2指令对R0的写对指令本身是第五个时钟,而k+2指令比k+1指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。不能在同一时钟周期内写写同一寄存器,因此k+2指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读后写”相关不会产生流水线的停顿。 (3)由题意可认位该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如下图所示。若3条指令顺序流动,共需要9个 空间 存数 K存数 K+1存数 K+2存数 运二 K+1运二 运一 K+1运一 K+2运一 取数 K取数 K+1取数 K+2取数 译码 K译码 K+1译码 K+2译码 取指 K取指 K+1取指 K+2取指时间 0 1 2 3 4 5 6 7 8 9

计算机体系结构知识点

目录 第一章计算机系统结构基本概念 (2) (一) 概念 (2) (二) 定量分析技术 (3) (三) 计算机系统结构发展 (4) (四) 计算机的并行性 (5) 第二章计算机指令集结构 (7) 一. 指令集结构的分类 (7) 二. 寻址方式 (7) 三. 指令集结构的功能设计 (8) 四. 指令格式的设计 (10) 五. MIPS指令集结构 (10) 第三章流水线技术 (14) 一. 流水线的基本概念 (14) 二. 流水线的性能指标 (14) 三. 流水线的相关与冲突 (16) 四. 流水线的实现 (18) 第四章指令集并行 (18) 付志强

第一章计算机系统结构基本概念 (一)概念 什么是计算机系统结构:程序员所看到的计算机属性,即概念性结构与功能特性. 透明性:在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念成为透明性. 常见计算机系统结构分类法 冯氏分类法(冯泽云):按最大并行度对计算机进行分类. Flynn分类法:按指令流和数据流多倍性进行分类 ①单指令流单数据流 ②单指令流多数据流 ③多指令流单数据流(不存在) ④多指令流多数据流 付志强

(二)定量分析技术 Amdahl定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比. 加速比=系统性能 改进后 系统性能 改进前 = 总执行时间 改进前 总执行时间 改进后 加速比依赖于以下两个因素 ①可改进比例 ②部件加速比 CPU性能公式 CPU时间 CPU时间=执行程序所需时间的时钟周期数x时钟周期时间(系统频率倒数) CPI(Cycles Per Instruction) CPI =执行程序所需时钟周期数/所执行指令条数 ∴CPU时间= IC x CPI x 时钟周期时间 可知CPU性能取决于一下三个方面 ①时钟周期时间:取决于硬件实现技术和计算机组成 付志强

高级计算机体系结构作业汇总(非标准答案)

1.Explain the Concepts Computer Architecture 系统结构 由程序设计者所看到的一个计算机系统的属性。即计算机系统的软硬件界面。 Advanced CA 高级系统结构 新型计算机系统结构。基于串行计算机结构,研究多指令多数据计算机系统,具有并发、可扩展和可编程性。为非冯式系统结构。 Amdahl law Amdahl定律 系统中某部件由于采用某种方式时系统性能改进后,整个系统性能的提高与该方式的使用频率或占的执行时间的比例有关。 SCALAR PROCESSING 标量处理机 在同一时间内只处理一条数据。 LOOK-AHEAD 先行技术 通过缓冲技术和预处理技术,解决存储器冲突,使运算器能够专心与数据的运算,从而大幅提高程序的执行速度。 PVP 向量型并行计算处理机 以流水线结构为主的并行处理器。 SMP 对称多处理机系统 任意处理器可直接访问任意内存地址,使用共享存储器,访问延迟、带宽、机率都是等价的。MPP 大规模并行计算机系统 物理和逻辑上均是分布内存,能扩展至成百上千处理器,采用专门设计和定制的高通信带宽和低延迟的互联网络。 DSM 分布式共享存储系统 内存模块物理上局部于各个处理器内部,但逻辑上是共享存储的。 COW 机群系统 每个节点都是一个完整的计算机,各个节点通过高性能网络相互连接,网络接口和I/O总线松耦合连接,每个节点有完整的操作系统。 GCE 网格计算环境 利用互联网上的计算机的处理器闲置处理能力来解决大型计算问题的一种科学计算。 CISC 复杂指令集计算机

通过设置一些复杂的指令,把一些原来由软件实现的常用功能改用硬件实现的指令系统实现,以此来提高计算机的执行速度。 RISC 精简指令集计算机 尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完的指令,而把复杂指令用段子程序来实现。 VMM 虚拟机监视器 作为软硬件的中间层,在应用和操作系统所见的执行环境之间。 SUPERCOMPUTER 超级计算机 数百数千甚至更多的处理器组成的能计算普通计算机不能完成的大型复杂问题的计算机。SVM 共享虚拟存储器 存储器虚拟化为一个共享的存储器,并提供单一的地址空间。 MAINFRAME 大型计算机 作为大型商业服务器,一般用于大型事务处理系统,特别是过去完成的且不值得重新编写的数据库应用系统方面。 COMPUTER SYSTEM ON CHIP 片上计算机系统 在单个芯片上集成的一个完整系统。 PARALLEL ARCHITECTURE INTO SINGLE CHIP 单片并行结构 在单个芯片上采用的并行体系结构 MOORE law Moore定律 当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。 UMA 一致存储访问 采用集中式存储的模式,提供均匀的存储访问。 NUMA 非一致存储访问 内存模块局部在各个结点内部,所有局部内存模块构成并行机的全局内存模块。 COMA 全高速缓存存储访问 采用分布式存储模式,通过高速缓存提供快速存储访问。 CC-NUMA 全高速缓存非一致性均匀访问 存在专用硬件设备保证在任意时刻,各结点Cache中数据与全局内存数据的一致性。NORMA 非远程存储访问

计算机系统结构期末考试题目

第一章: 1.计算机系统结构的定义 答:由程序设计者看到的一个计算机系统的属性,即概念性结构和功能特性。 2.透明性概念 答:在计算机技术中,一种本来是存在的事物或属性,但从某种角度看似乎不存在,称为透明性现象。 3.兼容性向后兼容 兼容性:同一个软件可以不加修改地运行于系统结构相同的各档机器,可获得相同的结果,差别只在于不同的运行时间。 向后兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之后投入市场的机器。 4.Amdahl定律 答:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。 5.CPI 答:每条指令的平均时钟周期数。 6.MIPS 答:每秒百万条指令数!MIPS=时钟频率/(CPI*10^6) 7.MFLOPS 答:每秒百万次浮点操作次数。MFLOPS=程序中的浮点操作次数/(执行时间*10^6) 8.命中率的概念 答: 9.Flynn分类法是按指令流和数据流的多倍性特征进行计算机系统结构的划分 答:①单指令流单数据流SISD ②单指令流多数据流SIMD ③多指令流单数据流MISD(实际不存在)④多指令流多数据流MIMD 10.计算机系统设计的定量原理(四个) 答:①加快经常性事件的速度②Amdahl定律③CPU性能公式④访问的局部性原理11.CPI和加速比的计算 答:CPI=CPU时钟周期数/IC CPU时间=CPU时钟周期数/频率 CPU时间=CPU时钟周期*时钟周期长 加速比=(采用改进措施后的性能)/(没有采用改进措施前的性能) =(没有采用改进措施前执行某任务的时间)/(采用改进措施后执行某任务的时间) 12.软硬件实现的特点 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内存多 13.系统评价的标准 ①运算速度②存储器系统③其他性能④成本标准

计算机系统结构第二章自考练习题答案

计算机系统结构第二章自考练习题答案

第二章数据表示与指令系统 历年真题精选 1. 计算机中优先使用的操作码编码方法是( C )。 A. BCD码 B. ASCII码 C. 扩展操作码 D. 哈夫曼编码 2.浮点数尾数基值r m=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值为( D )。 A. 1/2 B. 15/16 C. 1/256 D. 255/256 3. 自定义数据表示包括(标志符)数据表示和(数据描述符)两类。 4. 引入数据表示的两条基本原则是:一看系统 的效率是否有提高;二看数据表示的(通

用)性和(利用)率是否高。 5. 简述设计RISC的一般原则。 6. 简述程序的动态再定位的思想。 7. 浮点数表示,阶码用二进制表示,除阶符之外 的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时, (1)可表示的最小尾数值;(2)可表示的最大值;(3)可表示的尾数个数。 8. (1)要将浮点数尾数下溢处理成K—1位结 果,则ROM表的单元数和字长各是多少? 并简述ROM表各单元所填的内容与其地址之间的规则。 (2)若3位数,其最低位为下溢处理前的附 加位,现将其下溢处理成2位结果,设

计使下溢处理平均误差接近于零的 ROM表,以表明地址单元与其内容的 关系。 同步强化练习 一.单项选择题。 1. 程序员编写程序时使用的地址是( D )。 A.主存地址B.有效地址C.辅存实地址D.逻辑地址 2. 在尾数下溢处理方法中,平均误差最大的是( B )。 A.舍入法B.截断法C.恒置“1”法D.ROM查表法 3. 数据表示指的是( C )。A.应用中要用到的数据元素之间的结构关系

计算机测试系统发展综述

计算机测试系统发展综述 来源:牌技研究中心 https://www.docsj.com/doc/7217121371.html, 摘要: 计算机测试系统通常作为设备或武器系统的一个不可缺少的组成部分,其测试性能是衡量设备或武器系统优劣的一项重要指标。其应为基于标准总线的、模块化的开放式体系结构且具备虚拟仪器特点。通过分析和比较VXI总线和PXI总线特点,给出了计算机测试系统的发展方向。归纳出了计算机测试系统应具备的9个方面功能。给出了设计和研制计算机测试系统应遵循的基本原则。 关键词: 测试系统;VXI总线; PXI总线 测试技术涉及到众多学科专业领域,如传感器、数据采集、信息处理、标准总线、计算机硬件和软件、通信等等。测试技术与科学研究、工程实践密切相关,两者相辅相成,科学技术的发展促进了测试技术的发展,测试技术的发展反过来又促进了科学技术的进步。 测试仪器发展至今,大体经历了5 代: 模拟仪器、分立元件式仪器、数字化仪器、智能仪器和虚拟仪器。自上个世纪80年代以来,伴随微电子技术和计算机技术飞速发展,测试技术与计算机技术的融合已引起测试领域一场新的革命。1986 年美国国家仪器公司提出“虚拟仪器”即“软件就是仪器”的概念。虚拟仪器是卡式仪器的进一步发展,是计算机技术应用于仪器领域而产生的一种新的仪器类型,它以标准总线作为测试仪器和系统的基本结构框架,配置测量模块,通过软件编程实现强大的测量功能。在虚拟仪器系统中,用灵活、强大的计算机软件代替传统仪器的某些硬件,用人的智力资源代替物质资源,特别是系统中应用计算机直接参与测试信号的产生和测量特征的解析,使仪

器中的一些硬件、甚至整件仪器从系统中“消失”,而由计算机的硬软件资源来完成它们的功能。另外,通过软件可产生许多物理设备难以产生的激励信号以检测并处理许多以前难以捕捉的信号。虚拟仪器是计算机技术和测试技术相结合的产物,是传统测试仪器与测试系统观念的一次巨大变革。 测试技术和设备涉及国民经济和国防建设的各行各业,先进的电子测试设备在众多行业的科研、生产和设备维护使用过程中起着举足轻重的作用。特别是在电子产品、航空航天、武器装备、工业自动化、通信、能源等诸多领域,只要稍微复杂一点的涉及到弱电的系统(或装置)都要考虑测试问题。测试系统是设备或装备的一个必不可少的组成部分,如武器系统的维护维修离不开测试设备。一个系统(或装置)测试功能的完备与否已成为衡量其设计是否合理和能否正常运行的关键因素之一。 测试仪器和系统在国民经济和国防建设中起着把关和指导者的作用,它们广泛应用于炼油、化工、冶金、电力、电子、轻工和国防科研等行业。测试仪器和系统从生产现场各个环节获得各种数据,进行处理、分析和综合,通过各种手段或控制装置使生产环节得到优化,进而保证和提高产品质量。在武器系统科研试验现场,测试仪器和系统可获得试验中各个阶段和最终试验数据,用于及时发现试验中出现的问题和给出试验结论,并为后续相关试验提供依据。因此,测试仪器与系统对于提高科研和试验效率,加快武器试验进程和保证试验安全至关重要。以雷达、综合电子战为代表的军事电子领域,以预警机、战斗机、卫星通信、载人航天和探月工程为代表的航空、航天领域及以导弹武器系统为代表的兵器领域等都离不开测试设备,它是这些装备和系统正常使用和日常维护及维修所必备的。 1 系统类型 现代的测试系统主要是计算机化系统,它是计算机技术与测量技术深层次结合的产物。随着计算机技术的发展,构成测试系统的可选择性不断加大,按照测试功能要求,可构成多种类型的计算机测试系统。在计算机测试系统分类问题上并没有严格的统

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

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

2020.4《计算机体系结构》期末试卷A含答案

《计算机体系结构》期末考试A卷 (总分:100分,时间:100分钟) 姓名:周元华 专业:计算机科学与技术 学号: 18260070164016 学习中心:上海弘成 一、填空题(每空1分,共14分) 1.高速缓冲存储器的地址映象方式有三种,它们分别是:全向量方式,直接相联方式,组相连方式。 2.虚拟存储器的三种管理方式是段式管理,页式管理和 段页式管理。 3.从主存的角度来看,“Cache—主存”层次的目的是为了提高速度,而“主存—辅存”层次的目的是为了扩大容量 4.根据指令间的对同一寄存器读和写操作的先后次序关系,数据相关冲突可分为读与写(RAM)、写与读(WAR)和写与写(WAW)三种类型。 5.当代计算机体系结构的概念包括指令集结构、计算机组成和计算机实现三个方面的内容 二、名词解释(每题2分,共16分) 计算机体系结构: 计算机体系结构是指根据属性和功能不同而划分的计算机理论组成部分及计算机基本工作原理、理论的总称。其中计算机理论组成部分并不单与某一个实际硬件相挂钩,如存储部分就包括寄存器、内存、硬盘等。 兼容机: 兼容机,就是由不同公司厂家生产的具有相同系统结构的计算机。简单点说,就是非厂家原装,而改由个体装配而成的机器,其中的元件可以是同一厂家出品,但更多的是整合各家之长的 计算机。 写直达法: 写直达法一般指全写法。全写法(write-through):又称写直达法、写穿法,透写法,Cache使 用方式之一。 高速缓冲存储器: 高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快 的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM 技术,也有快取记忆体的名称。 高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成, 容量比较小但速度比主存高得多,接近于CPU的速度。在计算机存储系统的层次结构中,是介 于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速 缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。 高速缓冲存储器最重要的技术指标是它的命中率。 延迟转移技术: 在转移指令之后插入一条或几条有效的指令。当程序执行时,要等这些插入的指令执行完成 之后,才执行转移指令,因此,转移指令好像被延迟执行了,这种技术称为延迟转移技术。 线性流水线: 线性流水线就是由一整套工艺串联而成的生产线。 流水线又称为装配线,一种工业上的生产方式,指每一个生产单位只专注处理某一个片段的工 作,以提高工作效率及产量;按照流水线的输送方式大体可以分为:皮带流水装配线、板链线、 倍速链、插件线、网带线、悬挂线及滚筒流水线这七类流水线。 输送线的传输方式有同步传输的/(强制式),也可以是非同步传输/(柔性式),根据配置的 选择,可以实现装配和输送的要求。输送线在企业的批量生产中不可或缺。 流水线的吞吐率: 流水线的吞吐率是单位时间内流水线处理的任务数。 并行性: 并行性是指计算机系统具有可以同时进行运算或操作的特性,在同一时间完成两种或两种以 上工作。它包括同时性与并发性两种含义。同时性指两个或两个以上事件在同一时刻发生。并发 性指两个或两个以上事件在同一时间间隔发生。 三、简答题(每题5分,共30分) 1.如有一个经解释实现的计算机,可以按功能划分成4级。每一 级为了执行一条指令需要下一级的N条指令解释。若执行第一 级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指 令各需要用多少时间(ns)? 答:第1级:1条1级指令 K ns 第2级:1条2级指令N条1级指令 1*N*K ns = NK ns 第3级:1条3级指令N条2级指令 1*N*NK ns =N2K ns 第4级:1条4级指令N条3级指令 1*N*NNK ns =N3K ns 2.根据Amdahl定律,系统加速比由哪两个因素决定? 答:系统加速比依赖于两个因素: (1)可改进比例:可改进部分在原系统计算时间中所占的比例 (2)部件加速比:可改进部分改进以后的性能提高 3.简述组相联映象规则。 答:(1)主存与缓存分成相同大小的数据块。(2)主存和Cache 按同样大小划分成组。(3)主存容量 是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同 4.引起Cache与主存内容不一致的原因是什么?为了保持Cache 的一致性,在单计算机系统中一般采取哪些措施? 答:不一致的原因:(1)由于CPU写Cache,没有立即写主存 (2)由于I/O处理机或I/O设备写主存 采取措施: (1)全写法,亦称写直达法(WT法-Write through) 方法:在对Cache进行写操作的同时,也对主存该内容进行写入 (2)写回法(WB法-Write back) 方法:在CPU执行写操作时,只写入Cache,不写入主存。 5.按照同一时间内各段之间的连接方式来分,流水线可分为哪两 类? 答:(1)静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。 (2)动态流水线:在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。 6.Flynn分类法是根据什么对计算机进行分类的?将计算机分 成哪几类? 答:Flynn分类法,根据计算机中指令和数据的并行状况把计算机分成: (1)单指令流单数据流(SISD.; (2)单指令流多数据流(SIMD.; (3)多指令流单数据流(MISD.; (4)多指令流多数据流(MIMD.。 四、问答与计算题(第1题10分,第2、3题每题15分共40分) 1.一个有快表和慢表的页式虚拟存储器,最多有64个用户,每 个用户最多要用1024个页面,每页4K字节,主存容量8M字节。 (1)写出多用户虚地址的格式,并标出各字段的长度。 (2)写出主存地址的格式,并标出各字段的长度。

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

1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统 时,确定数据表示的原则主要有哪几个? 答: 略 2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其 指令字长和数据字长均为32位。B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 答: 我们可以计算出数据的总数量: ∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次 ∴ 程序访问的不同数据个数为:2000÷8=250 对于A 处理机,所用的存储空间的大小为: bit 4000032250321000Mem Mem Mem data n instructio A =?+?=+= 对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为: bit 3900036250301000Mem Mem Mem data n instructio B =?+?=+=

由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。 3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。假设 存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。 ⑴计算这种存储器的存储空间利用率。 ⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法 的存储空间利用率。 答: ⑴ 由于全是独立数据,有20%浪费56位(7/8);30%浪费48位(6/8);20%浪费32位(4/8);30%浪费0位(0/8)。 总共浪费:0.2×7/8+0.3×6/8+0.2×4/8+0.3×0/8=0.5 即:存储器的存储空间利用率为50%,浪费率为50%。 ⑵ 方案为:数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意。 可能出现的各种情况如下:

软件体系结构综述

软件体系结构研究综述 班级:软件092 学号:17 姓名:陈世华摘要: 近年来,软件体系结构逐渐成为软件工程领域的研究热点以及大型软件系统与软件产品线开发中的关键技术之一.归纳了软件体系结构技术发展过程及其主要研究方向.在分析了典型的软件体系结构概念之后,给出了软件体系结构的定义.通过总结软件体系结构领域的若干研究活动,提出了软件体系结构研究的两大思路,并从7个方面介绍了软件体系结构研究进展.探讨了软件体系结构研究中的不足之处,并分析其原因.作为总结,给出了软件体系结构领域最有前途的发展趋势. 关键词: 软件体系结构;基于体系结构的软件开发;软件体系结构描述语言;软件体系结构描述方法;软件体系结构演化;软件体系结构发现;软件体系结构分析;软件体系结构验证;特定域软件体系结构(DSSA) Abstract: Software architecture (SA) is emerging as one of the primary research areas in software engineering recently and one of the key technologies to the development of large-scale software-intensive system and software product line system. The history and the major direction of SA are summarized, and the concept of SA is brought up based on analyzing and comparing the several classical definitions about SA. Based on summing up the activities about SA, two categories of study about SA are extracted out, and the advancements of researches on SA are subsequently introduced from seven aspects. Additionally, some disadvantages of study on SA are discussed, and the causes are explained at the same time. Finally, it is concluded with some significantly promising tendency about research on SA. Key words: software architecture; architecture-based development; architecture description language; architectural representation and description; architectural evolution and reuse; architectural discovery; architectural analysis; architectural verification and evaluation; domain-specific software architecture (DSSA)

计算机体系结构_第一次作业

计算机体系结构 第一章 1.11 Availability is the most important consideration for designing servers, followed closely by scalability and throughput. a. We have a single processor with a failures in time(FIT) of 100. What is the mean time to failure (MTTF) for this system? b. If it takes 1 day to get the system running again, what is the availability of the system? c. Imagine that the government, to cut costs, is going to build a supercomputer out of inexpensive computers rather than expensive, reliable computers. What is the MTTF for a system with 1000 processors? Assume that if one fails, they all fail. 答: a. 平均故障时间(MTTF)是一个可靠性度量方法,MTTF的倒数是故 障率,一般以每10亿小时运行中的故障时间计算(FIT)。因此由该定义可知1/MTTF=FIT/10^9,所以MTTF=10^9/100=10^7。b. 系统可用性=MTTF/(MTTF+MTTR),其中MTTR为平均修复时间, 在该题目中表示为系统重启时间。计算10^7/(10^7+24)约等于1. c. 由于一个处理器发生故障,其他处理器也不能使用,所以故障率 为原来的1000倍,所以MTTF值为单个处理器MTTF的1/1000即10^7/1000=10^4。 1.14 In this exercise, assume that we are considering enhancing

相关文档
相关文档 最新文档