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

计算机系统结构实验报告

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

计算机系统结构实验报告

一.流水线中的相关

实验目的:

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

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

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

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

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

Win DLX模拟器

实验内容和步骤:

1.用WinDLX模拟器执行下列三个程序:

求阶乘程序fact.s

求最大公倍数程序gcm.s

求素数程序prim.s

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

CPI中寄存器和存储器的内容。熟练掌握Win DLX勺操作和使用。

2. 用WinDLX!行程序structure_d.s ,通过模拟找出存在资源相关的指令对以及导致资源相

关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的

百分比;论述资源相关对CPI性能的影响,讨论解决资源相关的方法。

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

在采用定向技术的情况下(勾选Enable Forwarding ),用WinDLX再次运行程序data_d.&重

复上述3中的工作,并计算采用定向技术后性能提高的倍数。

1.求阶乘程序

用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准

输入读入一个整数,求其阶乘,然后将结果输出。

该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。实验结果:

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

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

Total:

Cycle($] executed.

ID executed bp 145 lnshuctiori($)-

2 Instruction(s) currently in Pipeline.

Stalls:

RAW 泅Is: 53 (22.46^ of all Cycles) WAW stalls: 0 (0.00^ of all C^cle^)

Stiuctural stalk 0 (OLDO^ of all Cycles]

Control stalls: 25 (1(159% of dl C^desj

Trap stals 12 [5L08^ of all Cycles) Total:90 Stall(s) (30 14^ of all Cycles)

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

Total:

215 Cycle(s) executed

ID ewecuted by 145 lnebuclion(*).

2Instruction(s) current^ in Pipeline.

Stalls:

RAW stalk 1 ? (/.91 cf all Cycles), thereof:

LD stalls: 3 (17.65X of RAW stalls] Branch/Jump 3 (17.65^ of RAW stdh] Floating point stalls:11

(64.70當of RAW

WAW stalls: 0 (0.00^ of all Cycles)

Slructural wtallw: 0 [O.CO^ of all Cycles)

Control stalls:25 (11.63^ ot all Cycled

Trap stalls: 12 (5.58^ of al Cycles]

Total: 54 SUll(s) [25.12^ of all Qdet)

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

在定向技术存在的情况下Statistics窗口中的各种统计数字:总的周期数(215)和暂停数

(17 RAW, 25 Control, 12 Trap; 54 Total)

在定向技术不存在时候,控制暂停和Trap暂停仍然是同样的值,而RAW 暂停从17

变成了53,总的模拟周期数增加到236。所以定向技术带来的加速比:

236 / 215 = 1.098

DLX forwarded 比DLX not forwarded 快9.8%。

2.数据相关

先给出一个存在数据相关的程序:

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

ADDUI R2, R2, A & 0xFFFF

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

ADDUI R3, R3, B&0xFFFF

loop:

LW R1,0 (R2)

ADD R1, R1, R3

SW 0(R2), R1

LW R5, 0 (R1)

ADDI R5, R5, #10

ADDI R2, R2, #4

SUB R4, R3, R2

BNEZ R4, loop

TRAP #0

A: .word 0, 4, 8, 12, 16, 20, 24, 28, 32, 36

B: .word 9, 8, 7, 6, 5, 4, 3, 2, 1,0

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

rotal:

202 Cicle($) executed.

ID execLJled by EI5 Instruction(s).

2lnstruction(s] currently in Pipeline.

StalIs:

RAW 紡瞳104 (51 4眈af all C^des]

WAW atolls: 0 (0..00^ of all Cycles]

Structural 躺11$:0 (J.OO^ of all Cycles)

Contirol stalls: 9 (4 4E蛊of al Cycles)

Trap stak: 3 (1.48%of all Cycles]

To怕I:116 Stall(s) (57.42^ of oil Cycles〕

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

暂停时钟周期数占总执行周期数的百分比=51.48%

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

Total:

12S Cycle[$) executed

ID executed by 85 Iri2hruction(s).

2Inskuctionbi cuirently in Pipeline.

Stalls:

RAWst^k 30(23.443:dal Cycles), thereof

LD 站憑:20 (66.67^ of RAW 期lg) BranchZJump stalls: 1D (33.33^ of RAW 奴all$]

Floating point stall:0 (0.00^ of RAW sials)

WAW slab: 0 (0 00^ d all Cycles)

Structural stalls 0 (0 00^ of al Cycles)

Cortral stalls: 9 (/.03^ of cill Cycles)

Tiap stalls- 3 (2.34^ of all C^les]

Total: 42 Stal|s) (J2.81^ of al Cycles)

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

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

可见通过定向技术,减少了数据相关,缩短了程序的执行周期,整个性能为原来的

1.57 倍。

3.结构相关下面这段程序存在结构相关

ADDI R5, R5, 1

SUBI R4, R4, 1

AND R3, R3, R3

XOR R7, R7, R7

ADDI R8, R8, 1

ADDI R9, R9, 1

MULT R1,R5,R4

MULT R2,R3,R7

执行之后得到的clock cycle programe

IrBlrucliare/?1阴:-旧卜」日丨"II 一" tI」巳厂“I」°t舟卜电I " I * t * r彳r彳I彳I」I」addi石托血1 | IF | ID ~BErrMEMT~^B~|

I

and r3j3j3 : | IF | ID | inl£V | MEM |

nor r7j7j? : | 1卜| ID —L」”s | z i

li '

addi r?油血1 : | IF | ID | iiw | MEM | VJE |

addi占油血1 : [ IF | ID | in段| MEM |卫鸟

!

rrdt rlj5j4 ?|_『L 血」imulE凶1J | MEM ] W厂

rrdt r2j3j? : [ IF [ ID [ _| imu£丸1] [ MEM [ V/E

Statistics:

total:

20 Cycle($) eKecuted.

ID executed 14 Instructior(s).

5 ln^truction($) currentlv in Pipeline.

Stalls:

RAW stalls: 0 (0.00^ of all Cycles], thereof:

LD shlls: 0(0.00^ d RAW stalls)

BranchAlump stalls:0 (0 00^ of RAW 咖ll$]

Floating point stalls: 0 (0L0DS of RAW stalls)

WAW stalls 0 [0.00S;d all Cycles)

Structural 旳胚:4 (20.00^ of all Cycles)

Control stalk: Q (0 00^ of al Cycles)

Tr^p stalls: 0 (0.00^ of all Cycles)

I' otal: 4 StaKsJ [20.00^ of all Cycles)

可见1个结构相关引起了4个stall,占总共20个CYCLE的20%

为了避免结构相关,可以考虑采用资源重复的方法,比如,在流水线机器中设置相互独立的指令存储器和数据存储器,也可以将CACHE分割成指令CACHE和数据CACHE。

二.循环展开及指令调度

实验目的:

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

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

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

实验平台:

WinDLX模拟器

实验内容和步骤:

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

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

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

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

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

(5运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总

时钟周期数;

(6)根据记录结果,比较调度前和调度后的性能。论述指令调度对于提高CPU性能的意义。

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

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

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

(3)将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。

然后对新的循环体进行寄存器换名和指令调度;

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

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

3)存在相关的程序

1.指令调度:

首先,通过Configuration菜单中的白oating point stages"选项,把除法单元数设置为3,把

加法、乘法、除法的延迟设置为3个时钟周期。

给出调度前的程序sch_bef:

.data

.global ONE

ONE: .word 1

.text

.global mai n

main:

lf f1,ONE ;turn divf into a move

cvti2f f7,f1 ;by stori ng in f7 1 in

nop ;float in g-po int 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)

Fi nish:

trap 0

运行之后可以得到结果:

Total:

27C}icle(s) executed.

ID executed by 12lnshuction($].

_ lnstfuction|[x] currently in Pipeline.

Stalls :

RAW stalls: 9 (33.33鬼of all Cycles^ thereof:

LD 治陆 1 (11 1Uof RAW stalls)

Branch Al ump stalls: 0 [0.00 龛of RAW stals)

Floatirg point stalls: 8 [1 QQlOOSf of RAW stals)

WAW stalls:0 (0.003:of all CvcIe^J

Structural 如Ils:0 (0.00^ of all Cycled

Conlrd stalls: 0 (0.00X of dl Cydes)

T rap dale 1(25L92% of dl 匚yck制

Total: l6Stall(s) (59.26^ of all Cycles]

调度之后的程序sch_aft:

.data

.global ONE

ONE: .word 1

.text

.global mai n

main:

lf f1,ONE ;turn divf into a move

cvti2f f7,f1 ;by stori ng in f7 1 in

nop ;float in g-po int 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 f13,f6,f7 ;move f6 into A=(f13)

Fi nish:

trap 0

运行之后得到:

'lota 丄

21 C VC I B(S)executed.

ID executed by 12 Instruction($).

2Instruction(s) currently in Pipeline.

Stal Is:

RAW 献alb: 3 (14.2QK of al Cycles), lhereaf: LD stalk 1 (33 33^ of RAW stalk] Branch/Jump stak: 0 (0.00% of RAW sials] Floating point sldk 2旧6.67W of RAW stalls)

WAW stalls: 0 (0 00^ nF all Cycles]

Stiuctural stalls: 0 (0.30S£of all Cycles]

Control stalls: Cl (0.00^ of all Cycles]

Trap stab: E (29157X of dl Cycled

Total: 9 Stdb) (42.BG% of all Cycles)

可以看出经过调度之后

运行周期从27减少到21,而且减少了相关。

2.循环展开:

循环展开前的程序:

LHI R2, (A>>16 )& OxFFFF

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

运行结果:

Statistics 一| □ |

Total:

30 Cycled] ^^ecuted.

ID executed bv I9ln$truction($).

2 Instruction(s) currently nn Pipeline.

Hardware conf iguration:

Memory size: 32768 Bytes faddEX-Stages: 1“ required Cycles: 2 fmulEX-Shges: L required C>cle$: 5 fdivEX-Stagec: 1, required Cycles:19 Forwarding enabled.

Stalls:

RAW sC 4 (1333需of all Cycles), thereof: LD stalls: 0 (0.00^ of RAW stalls) Branch/Jump stalls:4 (100.00% of RAW ttek) Floating point stals: 0 (0. 00^ of RAW stall)

WAW stalls 0 [D O號of all Cycles) Strudurd stalls: L (0 00K of all Cycled] Control tta*£3(10.00^ of al Cycles) Trap stalls; 3 (1O OOX of all Cycles) Total: 10 Stall(s) (33.33^ of all Cycles)

循环展开后的程序:

R2, (A>>16 )& OxFFFF

LHI

ADDUI R2, R2, A&OxFFFF

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

运行结果:

H Statistics _ | 匸

Total:

14 Cycle($) executed.

ID executecl by 10 lnstructior(s) ? In^buctiont^] currently in Pipeline.

Hardware con£ i gura t i on: hdemofy size: 32768 B^tes hddEX-Stoges:1, required Cycles:2 fmulEX-Stages: \ required Cycles: 5 fdivEX-Stages: 1, required Cycles: 13 Fofwading erabled.

Stells ::

RAW 鈕Ik: 0 (0.0u?i of all Cycles), thereof: LD stalls: 0 (0.00S;of RAW stalls) Branch/Jump stalk:0 (0 00^ of RAW s^lls) Floating point stalls: 0 (O.OOi^ of RAW stalls) WAW 血k:0 (0.00S;of all Cycles]

Structural stalk 0 (0 00^ of dl Cycles] Control stalls:0 (0,00站of all Cycles) Ttap stalk 3 [21.43^ of all Cycles) Total: 3 Stalls)

(21.43黑of all Cycles)

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

三.实验总结:

通过本实验,基本掌握了WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点, 对减少各种相关、提高流水线速度的方法和技术有了更深的认识,对于体系结构这门课程的学习和后面的实验还是很有帮助的。

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

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对CPU性能得影响。 二、实验内容: 1、用WinDLX模拟器运行程序structure_d、s 。 2、通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。 3、记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行 周期数得百分比。 4、论述结构相关对CPU性能得影响,讨论解决结构相关得方法。 三、实验程序structure_d、s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; < A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit < this is a ment !! A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 四、实验过程 打开软件,load structure_d、s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(Rstall 数据相关Stall 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面得数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关得部件:译码部件。

北邮高级计算机系统结构实验二三四五

实验二指令流水线相关性分析 ·实验目的 通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。 ·实验原理: 指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。·实验步骤 一.使用WinDLX模拟器,对做如下分析: (1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。 (2)考察增加浮点运算部件对性能的影响。 (3)考察增加forward部件对性能的影响。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。 ·实验过程 一.使用WinDLX模拟器,对做如下分析: } 浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1: 图1 初始设置 将和加载至WinDLX中,如图2示。

图2 加载程序 1.观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。 1)数据相关 点击F7,使程序单步执行,当出现R-Stall时停止,运行过程中出现下图3所示,输入整数6。 图3 输入整数6 @ 打开Clock Diagram,可以清楚的看到指令执行的流水线如图4所示。 图4 指令流水线 双击第一次出现R-Stall的指令行,如图5所示。

图5 指令详细信息 对以上出现的情况分析如下: 程序发生了数据相关,R-Stall(R-暂停)表示引起暂停的原因是RAW。 lbu r3,0×0(r2) 要在WB周期写回r3中的数据;而下一条指令 & seqi r5,r3,0×a 要在intEX周期中读取r3中的数据。 上述过程发生了WR冲突,即写读相关。为了避免此类冲突, seq r5,r4,0×a的intEX指令延迟了一个周期进行。 由此,相关指令为: 2)控制相关 由图6可以看出,在第4时钟周期:第一条指令处于MEM段,第二条命令处于intEX段,第三条指令出于aborted状态,第四条命令处于IF段。 图 6 指令流水线 }

计算机系统结构考试计算题

3.12 有一指令流水线如下所示 (1) 求连续输入10条指令,该流水线的实际吞吐率和效率; (2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。 对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1) 2200(ns)2009200)10050(50t )1n (t T max m 1 i i pipeline =?++++=?-+?=∑= )(ns 220 1 T n T P 1pipeline -== 45.45%11 5 4400T P m t T P E m 1 i i ≈=? =?? =∑= (2)瓶颈在3、4段。 ? 变成八级流水线(细分) 850(ns)509850t 1)(n t T max m 1 i i pipeline =?+?=?-+?=∑= )(ns 85 1 T n T P 1pipeline -== 58.82%17 10 8400T P m ti T P E m 1 i ≈=? =?? =∑= ? 重复设置部件 出 50ns 50ns 100ns 200ns

)(ns 85 1 T n T P 1pipeline -== 58.82%17 10885010400E ≈=??= 3.13 4段组成,3段时,一次,然4段。如果 需要的时间都是,问: (1) 当在流水线的输入端连续地每时间输入任务时,该流水线会发生 什么情况? (2) 此流水线的最大吞吐率为多少?如果每输入一个任务,连续处理 10个任务时的实际吞吐率和效率是多少? (3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个 任务时,其吞吐率提高多少? (2) t ?t ?2

计算机组织与体系结构实验报告

《计算机组织与体系结构》 实验报告 学号: XXX 姓名:XXX 班级:XXX 指导教师:XXX 时间: 2013年01月 中国矿业大学计算机学院

目录 一基本运算器实验 (2) 1、实验目的 (2) 2、实验设备 (2) 3、实验原理 (2) 4、实验步骤 (3) 5、实验结果 (5) 5、实验体会 (5) 二微程序控制实验 (6) 1、实验目的 (6) 2、实验设备 (6) 3、实验原理 (6) 4、实验步骤 (12) 5、实验体会 (13) 三CPU与简单模型机设计实验 (13) 1、实验目的 (13) 2、实验设备 (13) 3、实验原理 (13) 4、实验步骤 (18) 5、实验流图 (21) 6、实验体会 (25)

实验一基本运算器实验 1. 实验目的 (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 2. 实验设备 PC机一台,TD-CMA实验系统一套。 3.实验原理 本实验的原理如下图所示: 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片FPGA中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。图中显示的是一个4X4的矩阵(系统中是一个8X8的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。 (2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。 (3) 对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。

计算机系统结构试卷B

《计算机系统结构B卷》 一、填空题(每小题1.5分,共30分)。 1.对系列机而言,必须保证做到软件,力争做到软件向上兼容。 2.由软件实现的计算机称之为。 3. 多处理机系统按组织形式分有三种,功能分布是多处理机系统分工方式。 4.依据从哪一层开始设计,计算机体系结构设计的主要方法有三种,占据主导地位的是设计。 5. 在先行控制方式实现流水线的处理器中,有先行指令、先行操作、先行读数和后行写数等四个缓冲栈,缓冲深度最大的是。 6.按流水线的功能多寡分,可分为单功能流水线和。 7. 用于表示非线性流水线中的任务对未进入流水线的后继任务流入流水线的时间间隔的约束称为。 8.中断转移相关处理的基本方法包括不精确断点法和。 9. 互连网络中任意两个结点之间距离的最大值称为。 10.在多级交叉开关互联网络中,交叉开关的控制方式有、组控制和单元控制。 11. 在多计算机系统的互连网络中,通信模式包括、选播、广播和会议等四种。 12. 描述网络寻径效率常用的两个参数是通道流量和。 13.自定义数据表示包括标志符和两种数据表示。 14. 浮点数尾数基值越大,浮点数表示的数据范围。 15. 根据运算类型指令操作数存储方法不同,指令集结构可分为堆栈型、累加器型和。 16. 标量处理机是否高度并行是以指令级并行度(ILP)为来区分。 17.存储系统的基本存储层次有、主存储器和辅助存储器。 18. 采用并行存储器的目的是。 19. 从时间开销来看,伪命中的时间正常命中的时间。 20. 增加Cache存储系统的相联度,可降低Cache的不命中率,但会增加Cache 的。

二、简答题(每小题6分,共30分)。 1.多计算机系统和多处理机系统的差别有哪几方面?其中最根本的差别是哪个方面? 2. 什么是流水线相关?流水线相关可分为哪几大类? 3. 什么是动态互连网络?动态互连网络的互联形式有哪几种? 4. 指令系统设计包括哪两个方面?指令格式优化设计的目的是什么? 5. 维护Cache与主存一致性的更新算法有哪些? 三、分析题(第一小题8分,第二小题12分,共20分)。 1.某种处理机10条指令的使用频度分别为:0.25,0.20,0.15,0.10,0.08,0.08,0.05,0.04 ,0.03 ,0.02,试画出该处理机进行Huffman编码时的一棵Huffman树。 2. 在某采用全相联映象、相联目录表实现地址变换Cache存储器中,Cache 的容量是8KB,主存是由4个存储体组成的低位交叉访问存储器,主存总容量是32MB,每一个存储体的字长是32位,。 (1)写出主存地址和Cache地址的格式,并标出各字段的长度。 (2)说明目录表的行数、相联比较的位数和目录表的宽度。 四、计算题(第一小题8分,第二小题12分,共20分)。 1. 设16个处理器编号分别为0、1、……、15,用单级互连网络连接,当互连函数分别为:(1)Cube3、(2)PM+3、(3)Shuffle(Shuffle)时,第13号处理器分别与哪一个处理器相连? 2. 有一条5个功能段的线性动态多功能流水线如图所示,其中1→2→3→5功能段组成加法流水线,1→4→5功能段组成乘法流水线,设每个功能段的延迟时间 均相等为△t。用这条流水线计算F=4 1() i i i a b = + ∏,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。 Z

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

第一章: 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.系统评价的标准 ①运算速度②存储器系统③其他性能④成本标准

计算机系统结构考试题库及答案

计算机系统结构试题及答案 一、选择题(50分,每题2分,正确答案可能不只一个,可单选 或复选) 1.(CPU周期、机器周期)是内存读取一条指令字的最短时间。 2.(多线程、多核)技术体现了计算机并行处理中的空间并行。 3.(冯?诺伊曼、存储程序)体系结构的计算机把程序及其操作数 据一同存储在存储器里。 4.(计算机体系结构)是机器语言程序员所看到的传统机器级所具 有的属性,其实质是确定计算机系统中软硬件的界面。 5.(控制器)的基本任务是按照程序所排的指令序列,从存储器取 出指令操作码到控制器中,对指令操作码译码分析,执行指令操作。 6.(流水线)技术体现了计算机并行处理中的时间并行。 7.(数据流)是执行周期中从内存流向运算器的信息流。 8.(指令周期)是取出并执行一条指令的时间。 9.1958年开始出现的第二代计算机,使用(晶体管)作为电子器件。 10.1960年代中期开始出现的第三代计算机,使用(小规模集成电路、 中规模集成电路)作为电子器件。 11.1970年代开始出现的第四代计算机,使用(大规模集成电路、超 大规模集成电路)作为电子器件。 12.Cache存储器在产生替换时,可以采用以下替换算法:(LFU算法、 LRU算法、随机替换)。

13.Cache的功能由(硬件)实现,因而对程序员是透明的。 14.Cache是介于CPU和(主存、内存)之间的小容量存储器,能高 速地向CPU提供指令和数据,从而加快程序的执行速度。 15.Cache由高速的(SRAM)组成。 16.CPU的基本功能包括(程序控制、操作控制、时间控制、数据加 工)。 17.CPU的控制方式通常分为:(同步控制方式、异步控制方式、联合 控制方式)反映了时序信号的定时方式。 18.CPU的联合控制方式的设计思想是:(在功能部件内部采用同步控 制方式、在功能部件之间采用异步控制方式、在硬件实现允许的情况下,尽可能多地采用异步控制方式)。 19.CPU的同步控制方式有时又称为(固定时序控制方式、无应答控 制方式)。 20.CPU的异步控制方式有时又称为(可变时序控制方式、应答控制 方式)。 21.EPROM是指(光擦可编程只读存储器)。 22.MOS半导体存储器中,(DRAM)可大幅度提高集成度,但由于(刷 新)操作,外围电路复杂,速度慢。 23.MOS半导体存储器中,(SRAM)的外围电路简单,速度(快),但 其使用的器件多,集成度不高。 24.RISC的几个要素是(一个有限的简单的指令集、CPU配备大量的 通用寄存器、强调对指令流水线的优化)。

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点; 2. 加深对计算机流水线基本概念的理解; 3. 进一步了解DLX基本流水线各段的功能以及基本操作; 4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响; 5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 实验平台: WinDLX模拟器 实验内容和步骤: 1.用WinDLX模拟器执行下列三个程序: 求阶乘程序fact.s 求最大公倍数程序gcm.s 求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察 CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。 2. 用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相 关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的 百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。 3. 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的 总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。 1. 求阶乘程序 用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准 输入读入一个整数,求其阶乘,然后将结果输出。 该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。 实验结果: 在载入fact.s和input.s之后,不设置任何断点运行。 a.不采用重新定向技术,我们得到的结果

北邮计算机系统结构实验报告-实验一到五-WINDLX模拟器

北京邮电大学 实验报告 课程名称计算机系统结构 计算机学院03班 王陈(11)

目录 实验一WINDLX模拟器安装及使用......................................... 错误!未定义书签。 ·实验准备................................................................................ 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验内容及要求.................................................................... 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验二指令流水线相关性分析 ............................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验三DLX处理器程序设计 .................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 A.向量加法代码及性能分析 ................................................... 错误!未定义书签。 B.双精度浮点加法求和代码及结果分析 .............................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验四代码优化 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结+实习体会........................................................... 错误!未定义书签。实验五循环展开 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 矩阵乘程序代码清单及注释说明........................................... 错误!未定义书签。 相关性分析结果........................................................................... 错误!未定义书签。 增加浮点运算部件对性能的影响........................................... 错误!未定义书签。 增加forward部件对性能的影响 ............................................ 错误!未定义书签。 转移指令在转移成功和转移不成功时候的流水线开销 .. 错误!未定义书签。 ·实验总结+实习体会+课程建议......................................... 错误!未定义书签。

计算机系统结构实验指导书-14

北京邮电大学 计算机学院 计算机系统结构实验指导书 王春露邝坚编著 2007.3 – 2013.4

目录z计算机系统结构实验简介 z DLX处理器简介 1. 实验一WINDLX模拟器安装及使用 2. 实验二指令流水线相关性分析 3. 实验三DLX处理器程序设计 4. 实验四代码优化 5. 实验五循环展开(选作)

计算机系统结构实验简介 DLX是一个虚拟处理器。该处理器是加州大学伯克利分校计算机系JohnL .H ennessy教授和斯坦福大学计算机系David A. Patterson教授在其《计算机体系结构:一种定量的方法》一书中提出的。该处理器反映了新一代处理器的特点。通过了解DLX处理器的结构和工作原理,并利用DLX模拟器进行实验,可以帮助学生综合地了解和运用有关处理器指令系统的设计、流水线的设计与实现等方面的知识,有助于计算机系统结构课程内容的理解。 DLX处理器简介 第一节 DLX基本结构 DLX是一种典型的Load/Store型指令集结构。它不仅体现了当今多种机器的指令集结构的共同特点,而且它还体现出未来一些机器的指令集结构的特点。这些机器的指令集结构设计思想都和DLX指令集结构的设计思想十分相似,它们都强调: (1) 具有一套简单的Load/Store指令集; (2) 注重指令流水效率; (3) 简化指令的译码; (4) 高效支持编译器。 DLX是一种易于学习和研究的处理器结构模型。这种类型的机器正在日趋流行,而且其结构非常易于理解。 1.DLX中的寄存器 DLX中有32个通用寄存器(GPRs),分别将其命名为R0,R1…R31。每个通用寄存器长度为32位。 另外,DLX中有32个浮点寄存器(FPRs),分别将其命名为F0,F1…F31。每个浮点寄存器长度为32位。这些浮点寄存器可以用来保存32位的单精度浮点数,或者通过相邻两个浮点寄存器奇偶对FiFi+1(i=0,2,4…,30)来保存双精度浮点数,这种组合而成的64位双精度浮点寄存器在DLX中分别被命名为F0,F2…F28,F30. 2. DLX数据类型 DLX提供了多种长度的整型数据和浮点数据。对整型数据而言,有8位,16位,32位多种长度;对浮点而言,有32位单精度浮点数和64位双精度浮点数。浮点数据表示采用的是IEEE754标准。DLX操作都是对32位整型数据及32或64位浮点数据进行的。 3.DLX的寻址方式和数据传送 DLX提供了寄存器寻址,立即寻址,偏移寻址和寄存器间接寻址四种寻址方式。寄存器寻址字段的大小为5位,用来标识32个通用寄存器或浮点寄存器。

计算机系统结构期末考试试题及其答案

计算机系统结构期末考试试题及其答案

《计算机系统结构》期末考试试卷A 卷第 2 页 共 24 页 计算机科学系《计算机系统结构》期末考试试卷(A 卷) 2、此试卷适用于计算机科学与技术本科专业。 一 单选题:(10分,每题1分) 1、 ."启动I/O"指令是主要的输入输出指 令,是属于( B ) A.目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对(B )是透 明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 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.外部中断 《计算机系统结构》期末考试试卷A卷第 3 页共 24 页

计算机系统结构实验1预习报告

计算机系统结构实验 实验1:MIPS指令系统和MIPS体系结构 (预习报告) 姓名: 学号: 班级:

大连理工大学实验预习报告 学院:______________________专业:_______________________班级:_____________________ 姓名:______________________学号:_______________________ 实验时间:__________________实验室:__________________实验台:__________________ 指导老师签字:_________________________________________成绩:____________________ 实验目的: 了解熟悉MIPSsim模拟器; 熟悉MIPS指令系统及其特点; 熟悉MIPS体系结构 实验平台: 指令级和流水线操作级模拟器MIPSsim 资料准备: MIPS64指令系统介绍 1.MIPS的寄存器 32个64位通用寄存器(GPRs整数寄存器):R0-R31。R0的值永远是0。 32个64位浮点数寄存器FPRs:F0-F31。它们可以存放32个单精度浮点数(32位),也可以存放32个双精度浮点数(64位)。 MIPS提供了单精度和双精度操作的指令,而且还提供了在FPRs和GPRs之间传送数据的指令。2.MIPS的数据表示

整数:字节(8位)、半字(16位)、字(32位)和双字(64位)。 浮点数:单精度浮点数(32位)和双精度浮点数(64位)。 MIPS64的操作是针对64位整数以及32位或64位浮点数进行的。字节、半字或字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。装入以后,对它们按照64位整数的方式进行运算。 3.MIPS的数据寻址方式 MIPS的数据寻址方式只有立即数寻址和偏移量寻址两种,立即数字段和偏移量字段都是16位。 寄存器间接寻址是通过把0作为偏移量来实现的,16位绝对寻址是通过把R0作为基址寄存器来完成的。 MIPS的存储器是按字节寻址的,地址是64位。由于MIPS是load-store结构,寄存器和存储器之间的数据传送都是通过load指令和store指令来完成的。所有存储器访问都必须边界对齐。 4.MIPS的指令格式 指令格式简单,其中操作码6位。按不同类型的指令设置不同的格式,共有3种格式,分别对应I指令、R指令和J指令。在这3种格式中,同名字段的位置固定不变。 I类指令 包括所有的load和store指令、立即数指令、分支指令、寄存器跳转指令、寄存器链接跳转指令。其中立即数字段位16位,用于提供立即数或偏移量。 1)load指令 2)store指令 3)立即数指令 4)分支指令 5)寄存器跳转、寄存器跳转并链接

计算机系统结构考试计算题

有一指令流水线如下所示 入 1 2 3 4 出 50ns 50ns 100ns 200ns (1) 求连续输入10条指令,该流水线的实际吞吐率和效率; (2) 该流水线的“瓶颈”在哪一段请采取两种不同的措施消除此“瓶颈”。对 于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少 解:(1) 2200(ns) 2009200)10050(50t )1n (t T max m 1 i i pipeline =?++++=?-+?=∑= )(ns 220 1T n TP 1pipeline -== 45.45%11 5 4400TP m t TP E m 1 i i ≈=? =?? =∑= (2)瓶颈在3、4段。 变成八级流水线(细分) 850(ns) 509850t 1)(n t T max m 1 i i pipeline =?+?=?-+?=∑= )(ns 85 1 T n TP 1pipeline -== 58.82%17 10 8400TP m ti TP E m 1 i ≈=? =?? =∑= 重复设置部件 1 2 3_1 3_2 4_1 4_4 入 出

)(ns 851T n TP 1pipeline -== 58.82%17 10 8 85010400E ≈=??= 有一 4段组成,其3段时,总次,然后流到第4段。如果 需要的时间都是t ?,问: (1) 当在流水线的输入端连续地每t ?时间输入任务时,该流水线会发生 什么情况 (2) 此流水线的最大吞吐率为多少如果每t ?2输入一个任务,连续处理 10个任务时的实际吞吐率和效率是多少 (3) 当每段时间不变时,如何提高该流水线的吞吐率仍连续处理10个任 务时,其吞吐率提高多少 (2)

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

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。 二、实验内容: 1. 用WinDLX模拟器运行程序structure_d.s 。 2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。 3. 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行 周期数的百分比。 4. 论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 三、实验程序structure_d.s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; <- A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit <- this is a comment !! A: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

四、实验过程 打开软件,load structure_d.s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(R-stall 数据相关Stall- 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面的数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关的部件:译码部件。 2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关, 上一条指令暂停在ID阶段,所以导致下一条指令发生结构相关。

专升本《计算机系统结构》_试卷_答案,DOC

专升本《计算机系统结构》 一、(共75题,共150分) 1. 最早的冯·诺依曼(von Neumann)结构计算机是以()为中心的。(2分) A.运算器 B.控制器 C.存储器 D.I/O设备 .标准答案:A 2. 同构型多处理机和异构型多处理机所采用的提高并行性的技术途径分别是()(2分) A.资源共享、资源重复 B.资源重复、资源共享 C.资源共享、时间重叠 D.资源重复、时间重叠 .标准答案:D 3. 由同一厂家生产的、系统结构相同的,但组成和实现不同的所有计算机,称为()(2分) A.兼容机 B.扩展机 C.系列机 D.系统机 .标准答案:C 4. 从计算机系统中处理数据的并行性看,并行性等级从低到高分为()(2分) A.位串字串、位并字串、位串字并、全并行 B.位并字串、全并行、位串字串、位串字并 C.全并行、位并字串、位串字串、位串字并 D.位串字串、位串字并、位并字串、全并行 .标准答案:A 5. 扩展编码要求(),否则会产生解码不唯一的问题。(2分) A.所有的短码都必须是长码的前缀 B.所有的短码都不能是长码的前缀 C.所有的短码都必须是长码的后缀 D.所有的短码都不能是长码的后缀 .标准答案:B 6. 下面的指令中,()不属于RISC处理器指令集。(2分) A.ADD R4,[1000] B.LD R3,(R4) C.SUB R4,R3 D.SD 0(R3),R4 .标准答案:A 7. 指令的重叠解释方式与顺序解释方式相比,可以提高()指令的执行速度。(2分) A.一条 B.两条 C.两条以上 D.两条或两条以上 .标准答案:D 8. 虚拟存储器外部地址变换,实现的是虚地址到()的变换。(2分) A.辅存物理地址 B.主存地址 C.Cache地址 D.虚地址 .标准答案:A 9. 设主存和辅存的平均访问时间分别为秒和秒,若要使虚拟存储器的主存-辅存层平均时间达到,问至少应保证主存访问命中率为()(2分) A.0.97 B.0.98 C.0.99 D.1 .标准答案:C 10. 替换算法要解决的问题是()(2分) A.用户的虚页如何与主存的实页对应 B.如何用主存的实页号替代多用户的虚页号 C.当页面失效时,选择主存中哪个页作为被替换页 D.新用户要进入主存,选择哪个用户作为被替换的用户 .标准答案:C 11. RISC执行程序的速度比CISC要快的原因是()(2分) A.RISC的指令系统中指令条数较少 B.程序在RISC上编译生成的目标程序较短 C.RISC的指令平均执行周期数较少 D.RISC只允许load和store指令访存 .标准答案:C 12. 输入输出系统硬件的功能对()是透明的。(2分) A.操作系统程序员 B.编译程序员 C.应用程序员 D.系统结构设计师 .标准答案:C 13. 在由多个通道组成的I/O系统中,I/O的最大流量是()(2分) A.各通道最大流量的最大值 B.各通道最大流量之和 C.各通道实际流量的最大值 D.各通道实际流量之和 .标准答案:B 14. 通道方式输入输出系统中,对优先级高的磁盘等高速设备,适合于连接( ) (2分) A.字节多路通道 B.选择通道 C.数组多路通道 D.字节及数组多路通道 .标准答案:B

大连理工大学计算机系统结构实验-实验四

大连理工大学实验报告计算机系统结构实验 实验四Cache性能分析 学院(系):电子信息与电气工程学部专业:计算机科学与技术 学生姓名: 班级: 学号: 大连理工大学 Dalian University of Technology

实验四Cache性能分析 一、实验目的和要求 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验步骤与操作方法 1、Cache容量对不命中率的影响。 (1)启动MyCache。 (2)用鼠标单击“复位”按钮,把各参数设置为默认值。 (3)选择一个地址流文件。方法:选择“访问地址”—>“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在文件夹下的“地址流”文件夹中选取。 (4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB和256KB。分别执行模拟器(单击“执行到底”按钮即可执行),然后在下表中记录各种情况下的不命中率。 表不同容量下Cache的不命中率 (5)以容量为横坐标,画出不命中率随Cache容量变化而变化的曲线,并指明地址流文件名。

(6)根据该模拟结果,你能得出什么结论? 答:随着Cache容量的增大,不命中率降低,但是降低的幅度由较大差别,Cache容 量足够大以后,不命中率降到一定程度以后,降低效果不再明显。 2.相联度对不命中率的影响 (1)用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache容量为64KB。 (2)选择一个地址流文件。 (3)选择不同的Cache相联度,包括2路、4路、8路、16路和32路。分别执行模拟器,然后在下表中记录各种情况下的不命中率。 表当容量为64KB时,不同相联度下Cache的不命中率 (4)把Cache的容量设置为256KB,重复(3)的工作,并填写下表。 表当容量为256KB时,不同相联度下Cache的不命中率 (5)以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线,并指明地址流文件名。

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