搜档网
当前位置:搜档网 › 计算机系统结构实验指导书

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

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

北京邮电大学

计算机科学与技术学院

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

(讨论稿)

王春露邝坚编著

2007年 3 月

目录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个通用寄存器或浮点寄存器。

4. DLX的指令格式

因为DLX只有四种寻址方式,所以将其寻址方式编码在操作码中。为了简化指令译码,并充分发挥流水线的效率,所有DLX指令的字长均是32位,其中用6位表示操作码。DLX中各种类型指令的格式如图1所示:

图1

5.DLX中的操作

DLX指令中的操作可以分为四种类型,即:Load和Store操作、ALU操作、分支和跳转操作、浮点操作。

(1)Load和Store操作

可以对DLX的所有通用寄存器和浮点寄存器进行Load(载入)和Store(储存)操作,但是通用寄存器R0的Load操作没有任何效果。

(2) ALU操作

在DLX中,所有的ALU指令都是寄存器-寄存器型指令,其运算包含了简单的算术和逻辑运算,如加、减、AND、OR、XOR和移位。另外,DLX还允许所有这些指令对立即值进行操作,立即值以16位符号扩展形式出现。LHI(Load高位立即值)操作将立即值载入到一个寄存器的高半部分,而该寄存器的低半部分则设置为0。这样就可以通过两条Load指令构造一个32位的常数。

正如上面所提到的,R0主要用来合成一些有用的操作。比如,Load一个常数就可以看作是

一次简单的立即值加操作,其中一个源操作数是R0;寄存器-寄存器间的数据移动也可以看作是一次简单的加,其中一个源操作数是R0。这两个操作可以分别用LI和MOV表示。

在DLX指令集中,还有一些寄存器比较指令(=,≠,<,>,≤,≥),如果比较结果为真,这些指令就在目标寄存器中填入1(表示真),否则填入0(表示假)。因为这些比较操作指令要对目标寄存器进行“设置”,所以也称它们为设置相等、设置不等、设置小于等指令。

(3) 分支和跳转操作

在DLX中,对程序流程的控制是通过一些跳转和分支指令来实现的。根据描述目标地址的方法和是否链接可以将跳转操作指令分为四种类型。其中两种类型的跳转指令用带符号位的26位偏移量加上程序计数器的值来确定跳转的目标地址,另外两种类型的跳转指令则指定一个寄存器,由寄存器中的内容决定跳转的目标地址。跳转有两种类型,一种是简单跳转,另一种是跳转并链接(用于过程调用),后者将返回一个地址,即将下一条顺序指令地址(返回地址)保存在寄存器R31中。

DLX中的所有分支指令均是条件分支指令,其源操作数寄存器中包含了一个数值或某个比较结果。分支指令测试该源操作数寄存器中的值是0还是非0,决定分支是否成功。分支目标地址由一个带符号的26位偏移量加上程序计数器的值来确定,分支目的地址指向下一条要执行的指令

(4) 浮点操作

在DLX中,浮点指令的操作数来源于浮点寄存器,同时该浮点指令还指明了相应的操作是单精度浮点操作还是双精度浮点操作。

DLX的浮点操作有:加、减、乘、除。后缀D代表双精度浮点操作,而后缀F代表单精度浮点操作(如:ADDD、ADDF、SUBD、SUBF、MULTD、MULTF、DIVD、DIVF)。值得提出的是,DLX的浮点比较操作设置浮点状态寄存器中的位,如果比较结果为真,则将该位设置为1;如果比较结果为假,则将该位设置为0。浮点分支指令BFPT和BFTF则测试该寄存器的值来决定分支是否成功。

另外,操作MOVF将一个单精度浮点寄存器的内容拷贝至另一个单精度浮点寄存器; MOVD 则将一个双精度浮点寄存器的内容拷贝至另一双精度寄存器;MOVFP2I和MOVI2FP操作则是在一个浮点寄存器和通用寄存器之间移动数据,如果要将一个双精度浮点数移入两个通用寄存器则需要两条指令,另外DLX还提供了在32位浮点寄存器中进行整数乘除操作的指令。

第二节 DLX流水线结构

一.一个简单实现

为了说明指令的流水执行方式,先论述在不流水的情况下,DLX指令是如何执行的。图2给出了实现DLX指令的一种简单数据通路,下面可以看出在五个时钟周期内可以完成一条DLX

指令。

1.取指令周期(IF):

IR ← Mem[PC]NPC ← PC+4

其操作为:根据PC值从存贮器中取出指令,并将指令送入指令寄存器IR;PC值增加4,指向顺序的下一条指令,并将下一条指令的地址放入临时寄存器NPC中.

图2

2.指令译码/读寄存器周期(ID):

A ←Regs[IR6..10]

B ←Regs[IR11..15]

Imm←(IR16)16 ## IR16..31

其操作为:对指令操作码进行译码,按照给定的寻址方式和地址段中的内容形成操作数的地址,并用这个地址读操作数。操作数可能在驻村中,也可能在通用寄存器中。[8]指令的译码操作和读寄存器操作是并行进行的。之所以能做到这一点,是因为DLX指令格式中,操作码在固定位置。这种技术也称为固定字段译码技术。值得注意的是,在上述过程中,可能读出了一些在后面周期中并不会使用到的寄存器内容,但是这并不会影响指令执行的正确性。相反,却可以有效地降低问题的复杂性。

另外,由于立即值在DLX指令格式中处于固定位置,因此这里也对其进行符号扩展,以便在下一个周期能使用它。当然由于指令的不同,也许在后面的周期中并不会用到这个立即值,但无论如何,提前形成立即值总是有益无害的。

3.执行/有效地址计算周期(EX)在这个周期,不同的指令有不同的操作。

(1)存储器访问:

ALUOutput←A+Imm

当指令为存贮器访问指令时,该周期的操作为:ALU将操作数相加形成有效地址,并将结果放

入临时寄存器ALUoutput中。

(2)寄存器―寄存器ALU 操作:

ALUOutput←A opB

当指令为寄存器---寄存器ALU操作指令时,该周期的操作为:ALU根据操作码指出的功能对临时寄存器A和B中的值进行处理,并将结果送入临时寄存器ALUoutput中.

(3)寄存器―立即值ALU 操作:

ALUOutput←A opImm

当指令为寄存器---寄存器ALU操作指令时,该周期的操作为: ALU根据操作码指出的功能对临时寄存器A和Imm中的值进行处理,并将结果送入临时寄存器ALUoutput中.

(4)分支操作

ALUOutput←NPC+Imm

Cond←(A op 0)

当指令为分支指令时,该周期的操作为:ALU 将临时寄存器NPC和Imm中的值相加,得到分支的目标地址。同时,对在前一个周期读入到寄存器A的值进行检查,决定分支是否成功。OP由分支操作码决定

这里,将有效地址计算周期和执行周期合并为一个时钟周期,这是由 DLX 指令集结构本身的特点所允许的,因为在 DLX 指令集结构中,没有任何指令需要同时计算数据的存储器地址、计算分支指令的目标地址和对数据进行处理。另外,上面四种操作类型中没有包含各种形式的跳转操作,它们和分支操作十分相似,这里就不再赘述

4.存储器访问/分支完成周期(MEM)

在该周期处理的DLX指令只有Load、Store和分支指令。

存储器访问:LMD ←Mem[ALUOutput]或Mem[ALUOutput] ←B

存贮器的访问操作包含了Load和Store两种类型的操作。如果指令是Load指令,就将临时寄存器ALUOutput中的值作为访存地址,从存贮器中读出相应的数据,并放入临时寄存器LMD中;如果指令是Store指令,就将临时寄存器中的值按照临时寄存器ALUOutput所知名的地址写入存贮器。

(1)分支操作:if(cond)PC ←ALUOutput elsePC ←NPC

如果分支条件寄存器中的内容为真,表明分支转移成功,选择临时寄存ALUOutput中的值作为分支目标地址,并将其放入PC中。否则,他将临时寄存器NPC中的值送入PC中,作为下一条指令地址。

5.写回周期(WB):

不同指令在该周期完成的工作也不一样。这里按如下指令类型对写回周期所要完成的工作进行说

明。

(1)寄存器―寄存器型ALU 指令:Regs[IR16..20] ←ALUOutput

(2)寄存器―立即值型ALU 指令:Regs[IR11..15] ←ALUOutput

(3)Load指令: Regs[IR11..15] ← LMD

上述指令均是将结果写入寄存器文件。无论结果是来自于存储器系统(临时寄存器 LMD 中的内容),还是来自于 ALU 的计算结果(临时寄存器 ALUoutput 中的内容),都由操作码决定将其送入目标寄存器相应的域中

从图1--2中可以看出,分支指令需要4个时钟周期完成,其它指令需要5个时钟周期完成。假设分支指令数占指令总数(也称混合指令数)的12%,则其 CPI 是4.88个时钟周期。由此可见,上述实现无论是从性能方面,还是从硬件开销方面,都称不上是一种优化实现。

由于 ALU 指令在 MEM 周期不做任何工作,所以可以在 MEM 周期就完成 ALU 指令,这并不影响执行部件的时钟速度,但是可以降低 CPI。假设ALU指令数占混合指令条数的44%,则CPI 可达4.44,这种改进所带来的加速比为4.88/4.44=1.1。

如果还要降低 CPI,就有可能会延长时钟周期时间,因为在每个时钟周期中可能需要完成更多的工作,因此,时钟周期时间和 CPI 之间也存在着折衷关系,这种折衷取舍需建立在对系统仔细分析的基础之上。

二.DLX基本流水线

我们可以将每一个时钟周期看作是流水线的一个时钟周期,使图2中的数据通路成为一条指令流水线。硬件每个时钟周期启动一条新的指令,并执行5条不同指令中的某一部分。我们可以把该流水线描述成为图3所示的流水过程。

图3简单的DLX流水线

从图3可以看出,每条指令仍然需要5个时钟周期完成,但是指令执行的吞吐量却有很大提高,虽然DLX流水线十分简单,但是要使DLX指令的各种组合能够在上述流水线中真正流水起来,充分发挥流水线的效率并不是容易的事情,它必须解决各种相关问题。

实验一 WINDLX模拟器安装及使用

一、 实验类别:综合实验

二、 实验目的:建立实验环境,了解WINDLX模拟器的结构及使用

三、 实验学时:2

四、 人组数:1/1

五、 实验设备环境:WinDLX要求的硬件平台是IBM PC兼容机,WinDLX是一个

Windows应用程序,运行于Windows 3.0以上的操作系统。

六、 实验原理:WinDLX软件包中带有说明文件,供安装程序时候使用。

七、 教学要点与学习难点:软件包中还有WinDLX教程和联机帮助,可以通过它

们进

八、 一步了解模拟器的使用方法和DLX处理器的原理。大家在进行模拟实验以前

应该

九、 仔细阅读这些文档。

十、 实验内容和要求:阅读模拟器Help文档和相关资料,利用Fact.s及Input.s代十一、 码熟悉模拟器的配置、各项工具使用、寄存器设置及指令系统。

十二、 实验步骤:

(1) WINDLX模拟器安装。

(2) 熟悉模拟器的配置。

(3) 熟悉各工具的使用。

十三、 可研究与探索的问题:

十四、 实验报告要求:简要介绍WINDLX模拟器结构和功能

实验二指令流水线相关性分析

一、 实验类别:验证实验

二、 实验目的:通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并

对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。

三、 实验学时:4

四、 实验组人数:1/1

五、 实验设备环境:WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或

者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC 处理器的特点很有帮助。

六、 实验原理:指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水

线性能。

七、 教学要点与学习难点:三种相关及其解决办法

八、 实验内容和要求:使用WinDLX模拟器,对求阶乘程序Fact.s做分析

九、 实验步骤:

(1) 观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。

(2) 考察增加浮点运算部件对性能的影响。

(3) 考察增加forward部件对性能的影响。

(4) 观察转移指令在转移成功和转移不成功时候的流水线开销。

注意:除(2)以外,浮点加、乘、除部件都只有一个;

本问题中所有浮点运算部件的延时都请设定为4个周期。

十、 可研究与探索的问题:

十一、 实验报告要求:

(1) 实验目的。

(2) 实验原理。

(3) 针对上面的实验内容,记录实验过程,给出分析结果,相关理论依据。

(4) 给出实验总结:根据实验,总结采用流水线技术会遇到的问题和为解决这些问题所采用的各种技术的作用。同时简单谈谈自己对流水线技术的认

识。

实验三DLX处理器程序设计

一、 实验类别:综合型

二、 实验目的:学习使用DLX汇编语言编程,进一步分析相关现象

三、 实验学时:4

四、 实验组人数:1/1

五、 实验设备环境:

DLX汇编语言环境

六、 实验原理:掌握向量运算算法和编程方法。

七、 教学要点与学习难点:DLX汇编语言

八、 实验内容和要求:

自编一段汇编代码,完成两双精度浮点一维向量的加法(或乘除法)运算,并输出结果。向量长度>=16。观察程序中出现的数据/控制/结构相关

九、 实验步骤:

(5) 熟悉DLX汇编语言。

(6) 编写两双精度浮点一维向量的加法运算程序。

(7) 对此程序完成上面实验二中1)、2)、3)、4)方面的分析。

十、 可研究与探索的问题:

十一、 实验报告要求:

(1) 实验目的。

(2) 代码清单及注释说明。

(3) 程序相关性分析结果。

实验四代码优化

一、 实验类别:综合实验

二、 实验目的:学习简单编译优化方法,观察采用编译优化方法所带来的性能的提

高。

三、 实验学时:4

四、 实验组人数:1/1

五、 实验设备环境: DLX汇编语言环境

六、 实验原理:采用静态调度方法重排指令序列,减少相关,优化程序

七、 教学要点与学习难点:指令静态调度方法。

八、 实验内容和要求:对实验二或实验三的代码进行优化,给出性能改进的量化值,

同时给出采取优化手段的理论依据。

九、 实验步骤:

(1) 使用静态调度方法手工优化实验2或实验3的代码

(2) 对优化程序,重复实验二中(1)、(2)、(3)、(4)工作。

十、 可研究与探索的问题:

十一、 实验报告要求:

(1) 实验目的

(2) 实验原理

(3) 优化程序代码清单及注释说明

(4) 参照实验要求记录你实验分析结果

(5) 你解决的困难和解决方法

(6) 你的实习体会(如有)

(7) 你对该实习的建议

实验五循环展开(选作)

一、 实验类别:综合实验

二、 实验目的:进一步学习DLX汇编语言编程方法,学习循环展开编译优化方法,

观察采用循环展开编译优化方法所带来的性能的提高。

三、 实验学时:2

四、 实验组人数:1/1

五、 实验设备环境:DLX汇编语言环境

六、 实验原理:对循环程序采用循环展开(loop unrolling)方法进行优化,减少相

关。

七、 教学要点与学习难点:

(1) 矩阵乘算法

(2) 循环展开优化编译方法

八、 实验内容和要求:使用DLX汇编语言编写二维矩阵相乘程序,观察相关性;再用

循环展开方法手工该优化程序,分析比较性能的改进

九、 实验步骤:

(3) 编写矩阵相乘程序

(4) 重复实验二中(1)(2)(3)(4)工作。

(5) 使用循环展开手工优化程序

(6) 对优化程序,重复实验二中(2)工作。

(7) 对优化程序,将浮点部件的延迟改为8个时钟周期,再重复实验二中(2)工作。观察实验现象并分析原因。

注意:为了简单起见,可以固定矩阵的大小,例如10×10,可以不赋初值,不输

出计算结果,目的仅仅是为了考察矩阵相乘的指令序列。

十、 可研究与探索的问题:

比较Intel X86汇编语言程序与DLX汇编语言程序的风格的不同。

十一、 实验报告要求:

(1) 实验目的

(2) 实验原理

(3) 矩阵乘程序代码清单及注释说明

(4) 优化程序代码清单

(5) 未优化代码和优化代码性能分析比较结果

(6) 你解决的困难和解决方法

(7) 你没有解决的困难(如有)以及你做过的努力

(8) 你的实习体会(如有)

(9) 你对该实习的建议

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

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对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 指令流水线 }

电脑DIY实验指导书

电脑DIY实验指导书 《电脑DIY》实验指导书 实验一了解计算机的组成3-13 一、实验目的 1、观察计算机系统的组成; 2、通过观察了解计算机系统中各个部件的连接方法; 3、了解各部件在系统中的作用。 二、实验前的准备工作 认真阅读本实验内容,准备打开主机箱的工具并按要求准备做好记录。 三、实验指导 在实验过程中要注意观察,并做好观察记录。 四、实验内容 1、观察系统外部设备的连接状况,记录各外设的名称、型号和与主机连接点情况; 2、在教师的指导下将外设去掉,用准备好的工具将主机箱打开; 3、观察主机的结构,记录主机箱内包含的部件的名称、规格等,如图所示:

电脑DIY 实验指导书 4、了解各部件的作用,看清楚部件的安装位置; 5、将主机箱安装好,并把外设连接好; 6、整理好使用过的用品,实验结束。 五、实验报告要求 1、将在实验过程中观察到的部件或设备按顺序记录在实验报告单上; 2、将你认为没有看明白的部分写出来。 这一次实验认识了计算机的组成,了解了cpu 、主板、内存的分类,认识了主板的南北桥芯片的作用和位置,知道了在以后购买时候应当注意的内容,知道如何选择硬件。了解了各个部位的主要硬件指标。

电脑DIY实验指导书 实验二计算机硬件的组装3-24 一、实验目的 1、在识别各个部件和板卡的基础上,将它们组装在一起; 2、通过对计算机系统的组装,进一步熟悉各部件的功能; 3、掌握安装和拆卸计算机部件的方法与注意事项。 二、实验前的准备工作 准备好必要的工具,认真阅读各部件的使用说明书,并按要求准备做好记录。 三、实验指导 在实验过程中要按安装步骤进行安装,找准各部件的安装位置,注意在拆装的过程中要用力均匀,防止损坏设备。 四、实验内容 1、按要求做好准备工作; 2、可将主板放置在绝缘泡沫板上; 3、将CPU、内存条和CPU风扇等安装在主板上; 4、将主板装入主机箱,拧紧主板的固定螺丝; 5、把电源固定在机箱的相应位置,并接好主板电源线; 6、安装显卡、声卡等内置板卡,并设置好主板跳线; 7、安装好硬盘、软驱和光驱等部件; 8、检查并确认安装正确无误; 9、连接好显示器、键盘和鼠标后可开机试验; 10、能正常启动后,请关机、断电并按相反顺序将各部件拆卸开放回原来位置。

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

《计算机组织与体系结构》 实验报告 学号: 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填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。

硬件基础实验指导书与答案

《计算机硬件基础》课程实验指导书 辽宁工程技术大学软件学院 2017年5月

目录 64位操作系统下使用MASM (3) 实验上机操作范例 (5) 实验一CPU结构 (15) 实验二指令格式 (22) //实验三循环程序设计 (25) 实验四综合程序设计(一) (32) 实验五综合程序设计(二) (36) 实验六高级汇编技术 (42)

64位操作系统下使用MASM 1.安装DOSBox。双击DOSBox0.74-win32-installer.exe。 2.运行DOSBox。双击桌面的DOSBox快捷方式,如图1所示。 图1 运行DOSBOX虚拟机 3.将MASM文件夹里的全部文件拷贝到一个目录下,比如d:\masm下,然后将这个目录挂载为DOSBox的一个盘符下,挂载命令为Mount c d:\masm 。然后切换到挂载的c盘,如图2所示。

图2 挂载masm文件夹3.编译汇编源程序,如图3所示。 图3 汇编源程序4.连接和运行源程序,如图4所示。 图4连接和运行源程序

实验上机操作范例 【范例】完成具有如下功能的分段函数 1 X>0 Y = 0 X=0 -1 X<0 其中:X存放在内存单元中,Y为结果单元。【问题分析】根据题意画出程序流程图,如图1所示。 图1 分段函数的程序流程图 根据程序流程图编写如下程序 DSEG SEGMENT X DW ? Y DW ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG

START:MOV AX, DSEG MOV DS, AX LEA SI, X MOV AX, [SI] AND AX, AX JNS LP1 MOV Y, 0FFH ; X<0 JMP END1 LP1: JNZ LP2 MOV Y, 00H JMP END1 LP2: MOV Y, 01H END1: MOV AH, 4CH INT 21H CSEG ENDS END START 汇编语言程序的开发分为以下4个部分:编辑(生成.asm文件)—→汇编(生成.obj文件)—→连接(生成.exe文件)—→调试。 下面介绍汇编语言源程序从编辑到生成一个可执行文件(.exe文件)的过程。利用Microsoft公司提供的MASM6.15版本的工具包(包括MASM.EXE、LINK.EXE、ML.EXE、DEBUG32.EXE等),如图2所示。

计算机组成原理实验指导书

计算机组成原理 实验报告 学号: 姓名: 提交日期: 成绩: 计算机组成原理实验报告 Computer Organization Lab Reports ______________________________________________________________________________ 班级: ____ 姓名:____学号:_____ 实验日期:____

一.实验目的 1. 熟悉Dais-CMX16+达爱思教仪的各部分功能和使用方法。 2. 掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制的组合功能。了解运算器的工作原理。 3. 完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。 ______________________________________________________________________________二.实验环境 Dais-CMX16+达爱思教仪 ______________________________________________________________________________三.实验原理 实验中所用的运算器数据通路如图1-1所示。ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。 图1-1 运算器数据通路 图1-1中,AXW、BXW在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的负脉冲把总线上的数据打入,实现AXW、BXW写入操作。 表1-1 ALU运算器编码表 算术运算逻辑运算 M M13 M12 M11 功能M M13 M12 M11 功能 M S2 S1 S0 M S2 S1 S0 0 0 0 0 A+B+C 1 0 0 0 读B 0 0 0 1 A—B —C 1 0 0 1 非A 0 0 1 0 RLC 1 0 1 0 A-1

计算机硬件实验指导书模板

第一部分EL实验系统的结构 EL-l微机实验教学系统由功能实验板、可选的CPU板、二块小面包板三部分构成, 可安装在45*30*10cm的实验箱内。总框图如下: 面包板: 1)通用面包板 2)金属圆孔组成的通用实验板 CPU板: 1)8086 PC总线板 2)8086 CPU板 3)8051 CPU板 4)8098 CPU板 5)80C198 CPU板 功能实验板: 由若干相对独立的功能接口电路组成, 它们是: D/A电路、A/D电路、发光二极管电路、开关量输入电路、RAM/ROM电路、简单I/O电路、8253可编程定时器/计数器电路、8255并行接口电路、总线驱动电路、8279接口电路、单脉冲发生器、LED显示电路、键盘电路、复位电路、8250串行接口电路。 ( 一) 功能实验板结构

1、输出显示电路 1)数码显示电路。 该电路由6位共阴极数码管, 3片75452, 2片74SL07组成, 74LS07为段驱动器, 相应输入插孔为CZ4。75452为位驱动器, 相应输入插控为CZ3(LD1, LD2, LD3, LD4, LD5, LD6)。 2)LED灯显示电路。 该电路由2片74LS04, 12只发光二极管( 红、绿、黄各4只) 组成。12只二极管相应的输人插孔为CZ2(LI1, LI2, LI3, LI4, LI5, LI6, LI7, LI8, LI9, LI10, LIl1, LIl2) 2、信号发生电路 1)开关量输入电路: 该电路由8只开关组成, 每只开关有两个位置, 一个位置代表高电平, 一个位置代表低电平。该电路的输出插孔为CZl(Kl, K2, K3, K4, K5, K6, K7, K8)。 2)时钟输入电路: 该电路由1片74LSl6l组成: ·当CPU为PC总线时, 输入时钟为AT总线的CLK, ·当CPU为805l、8098、80C198时, CLK的输入时钟为晶振频率, ·当CPU为8086时, CLK是2MHz。 输出时钟为该CLK的2分频(CLK0), 4分频(CLKI), 8分频(CLK2), 16分频(CLK3), 相应输出插孔CZ47(CLK0, CLKl, CLK2,

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 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个通用寄存器或浮点寄存器。

计算机组成原理实验指导书

计算机组成原理实验指导书适用TD-CMA实验设备

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

图1-1-1 运算器原理图 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3 0 决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是算术运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD(MAXII EPM240)中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。图中显示的是一个4X4的矩阵(系统中是一个8X8的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:

计算机系统结构实验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)寄存器跳转、寄存器跳转并链接

计算机组成原理实验指导书

计算机组成原理 实 验 指 导 书 软件学院 2015.9

实验报告要求 一、该实验为计算机组成原理课程的仿真训练项目,包括实验1-5,每个实验6分,共30分,计入最终考核成绩。 二、每人每个实验写一份实验报告。要求在熟悉仿真软件和相关理论知识的基础上,按照实验步骤,认真观察实验结果数据,做好记录或截图,并对结果进行分析,最后总结实验中遇到的问题和解决方法,写出实验心得体会。 三、每个实验应在相对应的理论知识讲授完毕后进行,实验完成后以答辩形式组织考核打分。实验报告需要同时上交电子版和A4纸打印版,封面参考附件。

附件 计算机组成原理 实验报告 学院(系): 专业: 班级: 学号: 姓名: 年月日

实验1 Cache模拟器的实现 一.实验目的 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验内容和步骤 1、启动CacheSim。 2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。 3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。 4、读取cache-traces.zip中的trace文件。 5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。思考:1、Cache的命中率与其容量大小有何关系? 2、Cache块大小对不命中率有何影响? 3、替换算法和相联度大小对不命中率有何影响? 三.实验结果分析 四.实验心得

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

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对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阶段,所以导致下一条指令发生结构相关。

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

大连理工大学实验报告计算机系统结构实验 实验四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相联度变化而变化的曲线,并指明地址流文件名。

计算机系统结构实验教程

实验一流水线及流水线中的冲突 实验目的 1.加深对计算机流水线基本概念的理解; 2.理解MIPS结构如何用5段流水线来实现,理解各段的功能和基本操作; 3.加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性能的影响; 4.进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少数据冲突引起的停顿。 5.加深对指令调度和延迟分支技术的理解; 6.熟练掌握用指令调度技术来解决流水线中的数据冲突的方法; 7.进一步理解指令调度技术和延迟分支技术对CPU性能的改进。 实验平台 指令级和流水线操作级模拟器MIPSsim, 实验内容和步骤 首先要掌握MIPSsim模拟器的使用方法。 一、流水线及流水线中的冲突观察 1. 启动MIPSsim。 2.根据预备知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。(用鼠标双击各段,就可以看到各流水寄存器的内容) 3. 熟悉MIPSsim模拟器的操作和使用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。 4. 勾选配置菜单中的“流水方式”,使模拟器工作于流水方式下。 5.观察程序在流水线中的执行情况,步骤如下: (1)用MIPSsim的“文件”菜单中的“载入程序”来加载pipeline.s(在模拟器所在文 件夹下的“样例程序”文件夹中); (2)关闭定向功能。这是通过在“配置”菜单中去选“定向”(即使得该项前面没有“√” 号)来实现的; (3)用单步执行一周期的方式(“执行”菜单中,或用F7)执行该程序,观察每一周 期中,各段流水寄存器内容的变化、指令的执行情况(代码窗口)以及时钟周期 图; (4)当执行到第10个时钟周期时,各段分别正在处理的指令是: IF: ID:

计算机网络实验指导书(6个实验)

实验一交换机的基本配置 一.实验原理 1.1以太网交换机基础 以太网的最初形态就是在一段同轴电缆上连接多台计算机,所有计算机都共享这段电缆。所以每当某台计算机占有电缆时,其他计算机都只能等待。这种传统的共享以太网极大的受到计算机数量的影响。为了解决上述问题,我们可以做到的是减少冲突域类的主机数量,这就是以太网交换机采用的有效措施。 以太网交换机在数据链路层进行数据转发时需要确认数据帧应该发送到哪一端口,而不是简单的向所有端口转发,这就是交换机MAC地址表的功能。 以太网交换机包含很多重要的硬件组成部分:业务接口、主板、CPU内存、Flash、电源系统。以太网交换机 的软件主要包括引导程序和核心操作系统两部分。 1.2以太网交换机配置方式 以太网交换机的配置方式很多,如本地Console 口配置,Telnet远程登陆配置,FTP TFTP配置和哑终端方式 配置。其中最为常用的配置方式就是Console 口配置和Telnet远程配置。 1.3以太网交换机基本配置方法 1.3.1交换机的用户界面交换机有以下几个常见命令视图: (1)用户视图:交换机开机直接进入用户视图,此时交换机在超级终端的标识符为。 (2)系统视图:在用户视图下输入实system-view命令后回车,即进入系统视图。在此视图下交换机的标识符 为:。](3)以太网端口视图:在系统视图下输入interface命令即可进入以太网端口视图。在此视图下交换 机的标识符为:。 (4)VLAN配置视图:在系统视图下输入vlan vlan —number即可进入VLAN配置视图。在此视图下交换机的标识符为:。 (5)VTY用户界面视图:在系统视图下输入user-interface vty number 即可进入VTY用户界面视图。在此视图下交 换机的标识符为:。 进行配置时,需要注意配置视图的变化,特定的命令只能在特定的配置视图下进行。 1.3.2交换机的常用帮助在使用命令进行配置的时候,可以借助交换机提供的帮助功能快速完成命令的查找和配置。 (1)完全帮助:在任何视图下,输入?”获取该视图下的所有命令及其简单描述。 (2)部分帮助:输入一命令,后接以空格分隔的?”,如果该位置为关键字,则列岀全部关键字及其描述;如果该位置为参数,则列岀有关的参数描述。 在部分帮助里面,还有其他形式的帮助,如键入一字符串其后紧接?”,交换机将列岀所有以该字符串开头的命令; 或者键入一命令后接一字符串,紧接?”,列岀命令以该字府串开头的所有关键字。 实验内容:交换机配置方法

相关主题