文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成原理与系统结构实验教程

计算机组成原理与系统结构实验教程

计算机组成原理与系统结构实验教程
计算机组成原理与系统结构实验教程

实验一算术逻辑运算实验

一.实验目的

1.了解运算器的组成结构。

2.掌握运算器的工作原理。

3.学习运算器的设计方法。

4.掌握简单运算器的数据传送通路。

5.验证运算功能发生器74LS181 的组合功能。

二.实验设备

TDN-CM+或TDN-CM++教学实验系统一套。

三.实验原理

实验中所用的运算器数据通路图如图2.6-1。图中所示的是由两片74LS181 芯片以并/串形式构成的8 位字长的运算器。右方为低4 位运算芯片,左方为高4 位运算芯片。低位芯片的进位输出端Cn+4 与高位芯片的进位输入端Cn 相连,使低4 位运算产生的进位送进高4 位运算中。低位芯片的进位输入端Cn 可与外来进位相连,高位芯片的进位输出引至外部。两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。

为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就

被锁存进DR1 或DR2 中了。

为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。

2

图2.6-1 运算器通路图

数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开

关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,

开关上的数据则通过三态门而送入内总线中。

总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。

控制信号中除T4 为脉冲信号,其它均为电平信号。

由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因

此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出

端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。

S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCH UNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、

LDDR2 为高电平有效。

对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入

数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结

果至总线时也应保证数据输入三态门是在关闭状态。

四.实验步骤

1.按图2.6-2 连接实验电路并检查无误。图中将用户需要连接的信号线用小圆圈标明(其

它实验相同,不再说明)。

2.开电源开关。

3.用输入开关向暂存器DR1 置数。

①拨动输入开关形成二进制数01100101(或其它数值)。(数据显示灯亮为0,灭为1)。

②使SWITCH UNIT 单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭

ALU 输出三态门)、LDDR1=1、LDDR2=0。

③按动微动开关KK2,则将二进制数01100101 置入DR1 中。

4.用输入开关向暂存器DR2 置数。

①拨动输入开关形成二进制数10100111(或其它数值)。

②SW-B=0、ALU-B=1 保持不变,改变LDDR1、LDDR2,使LDDR1=0、LDDR2=1。

③按动微动开关KK2,则将二进制数10100111 置入DR2 中。

5.检验DR1 和DR2 中存的数是否正确。

①关闭数据输入三态门(SW-B=1),打开ALU 输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器。

②置S3、S2、 S1、S0 、M 为1 1 1 1 1,总线显示灯则显示DR1 中的数。

③置S3、S2、 S1、S0 、M 为1 0 1 0 1,总线显示灯则显示DR2 中的数。

6.改变运算器的功能设置,观察运算器的输出。

①SW-B=1、ALU-B=0 保持不变。

②按表2-2 置S3、S2、 S1、S0 、M、Cn 的数值,并观察总线显示灯显示的结果。

例如:置S3、S2、 S1、S0 、M、Cn 为1 0 0 1 0 1,运算器作加法运算。

置S3、S2、 S1、S0 、M、Cn 为0 1 1 0 0 0,运算器作减法运算。

7.验证74LS181 的算术运算和逻辑运算功能(采用正逻辑)

在给定DR1=65、DR2=A7 的情况下,改变运算器的功能设置,观察运算器的输出,填

入下表中,并和理论分析进行比较、验证。

ALU-B=1 LDDR1=1 LDDR1=0

SW-B=0 LDDR2=0 LDDR2=1

T4= T4=

图2.6-2 算术逻辑实验接线图

实验二静态随机存储器实验

一.实验目的

掌握静态随机存储器RAM 工作特性及数据的读写方法。

二.实验设备

1.TDN-CM+或TDN-CM++教学实验系统一台。

2.PC 微机(或示波器)一台。

三.实验原理

实验所用的半导体静态存储器电路原理如图3.6-1 所示,实验中的静态存储器由一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。地址灯AD0~AD7 与地址线相连,显示地址线内容。数据开关经一个三态门(74LS245)连至数据总线,分时给出地址和数据。

因地址寄存器为8 位,所以接入6116 的地址为A7~A0,而高三位A8~A10 接地,所以其实际容量为256 字节。6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。当片选有效(CE=0)时,OE=0 时进行读操作,WE=0 时进行写操作。本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。

实验时将T3 脉冲接至实验板上时序电路模块的TS3 相应插孔中,其脉冲宽度可调,其它电平控制信号由“SWITCH UNIT”单元的二进制开关模拟,其中SW-B 为低电平有效,LDAR 为高电平有效。

图3.6-1 存储器实验原理图

四.实验步骤

(1) 形成时钟脉冲信号T3。具体接线方法和操作步骤如下:

①接通电源,用示波器接入方波信号源的输出插孔H23,调节电位器W1 及W2 ,使

H23 端输出实验所期望的频率及占空比的方波。

②将时序电路模块(STATE UNIT)单元中的ф和信号源单元(SIGNAL UNIT)中的

H23 排针相连。

③在时序电路模块中有两个二进制开关“STOP”和“STEP”。将“STOP”开关置为“RUN”状态、“STEP”开关置为“EXEC”状态时,按动微动开关START,则TS3

端即输出为连续的方波信号,此时调节电位器W1,用示波器观察,使T3 输出实验

要求的脉冲信号。当“STOP”开关置为“RUN”状态、“STEP”开关置为“STEP”状态时,每按动一次微动开关START,则T3 输出一个单脉冲,其脉冲宽度与连续方式相同。若用PC 联机软件中的示波器功能也能看到波形,可以代替真实示波器。(2) 按图3.6-2 连接实验线路,仔细查线无误后接通电源。

图3.6-2 静态随机存储器实验接线图

(3) 写存储器

给存储器的00、01、02、03、04 地址单元中分别写入数据11、12、13、14、15。

由上面的存储器实验原理图看出,由于数据和地址全由一个数据开关来给出,这就要分

时地给出。下面的写存储器要分两个步骤,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,按动START 产生T3 脉冲将地址打入到地址锁存器,第二步写数据,关掉地址锁存器门控信号(LDAR=0),打开存储器片选,使处于写状态(CE=0,WE=1),由开关给出此单元要写入的数据,按动START 产生T3 脉冲将数据写入到当前的地址单元中。写其它单元依次循环上述步骤。

写存储器流程如下:(以向00 号单元写入11 为例)

(4) 读存储器

依次读出第00、01、02、03、04 号单元中的内容,观察上述各单元中的内容是否与前

面写入的一致。同写操作类似,读每个单元也需要两步,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,按动START 产生T3 脉冲将地址打入到地址锁存器;第二步读存储器,关掉地址锁存器门控信号(LDAR=0),关掉数据开关三态门(SW-B=1),片选存储器,使它处于读状态(CE=0,WE=0),此时数据总线上显示的数据即为从存储器当前地址中读出的数据内容。读其它单元依次循环上述步骤。

读存储器操作流程如下:(以从00 号单元读出11 数据为例)

实验四、指令寻址方式

一.实验目的

通过本实验,掌握微型计算机系统的常用指令寻址方式。并掌握Debug 的使用方法。 ● 掌握微型计算机基本寻址方式; ● 掌握Debug 的使用; ● 编写简单的程序。

二.实验设备

1.PC 微机一台。 2.MASM5.0 3.Debug

三.实验原理

1.微型计算机常用寻址方式:

2.实验内容及程序

把2000─2099内存区域中的内容复制到3000─3099 内存区域中. [解] CX 作为传输数据的循环计数器(倒计数); BX 作为被复制内存单元的指针(地址)。

例: MOV AL,AH

; AL ← (AH) 8位

SUB AX,BX ; AX ← (AX) - (BX) 16位 INC CX ; CX ← (CX) + 1 16位

以二地址指令为例,指令格式为 例如: ADD BX ,5

基本寻址方式 汇编符号例子 寻找操作数(的地址)的过程

寄存器寻址 ADD BX ,5 EA = BX ,即数据在寄存器中 寄存器间址 ADD [BX],AX EA =(BX ) 立即寻址 ADD BX,5 操作数在指令中 直接寻址 ADD [100],AX EA = 100 间接寻址 ------

变(基)址寻址 ADD [BX+20],AX EA = (BX+20)

自相对 LOOP L1 EA = (IP)+ 位移量 ……

MOV CX ,100 ;寄存器寻址/立即数寻址 MOV BX ,2000 ;寄存器寻址/立即数寻址 L1:MOV AL ,[BX] ;寄存器寻址/寄存器间址 MOV [BX+1000],AL ;变址寻址/寄存器寻址 LOOP L1 ;自相对寻址

2000 3000

;CX←(CX)-1,

;然后若(CX)≠0则转移

(END)

四.实验步骤

(1)运行环境的设置

首先执行“开始->运行”命令,并在文本框中输入:cmd命令,进入命令窗口;然后在提示符后面输入“Debug”命令,执行后将看到提示符“-”,

-?;问号命令,可以查看Debug中可以使用的命令,及简要帮助。

-A ;小汇编命令,可以进入汇编编程状态,本实验程序即在此状态下输入。

(2)程序输入

进入小汇编状态后,将源程序正确输入,请注意程序中立即数数值的确定。

(3)程序调试

按照源程序中设定的源数据区和目标数据区,执行程序前先将源数据区中的数据设置为全FF,目标数据区中数据全设置为00,程序运行后验证目标数据区中的数据是否与源数据区中数据一致。

(4)结果

如果程序正确,源数据区中数据与目标数据区数据将完全一致。

(5)思考

将程序中的寻址方式更换成不同的寻址方式。

实验六总线控制实验

一.实验目的

1.理解总线的概念及其特性。

2.掌握总线传输控制特性。

二.实验设备

TDN-CM++计算机组成原理教学实验系统一台。

三.实验内容

1.总线的基本概念

总线是多个系统部件之间进行数据传送的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的操作。因此,所谓总线就是指能为多个功能部件服务的一组公用信息线。

2.实验原理

实验所用总线传输实验框图如图4-1所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实验总线信息传输。

图4-1

3.实验要求

根据挂在总线上的几个基本部件,设计一个简单的流程:

①输入设备将一个数打入R0寄存器。

②输入设备将另一个数打入地址寄存器。

③将R0寄存器中的数写入到当前地址的存储器中。

④将当前地址的存储器中的数用LED数码管显示。

4.实验步骤

(1)按照所画接线图进行连线。

(1)具体操作步骤图示如下:

SW-B=0 LDR0= LDAR=

SW-B=1 W/R(RAM)=0 CS=1 W/R(RAM)=1 R0-B=0 CS=0 R0-B=1 CS=0

LED-B=0

W/R(LED)=

实验六基本模型机设计与实现

一.实验目的

1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念

二.实验设备

TDN-CM++计算机组成原理教学实验系统一台,排线若干。

三.实验内容

1.实验原理

部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

本实验采用五条机器指令: IN (输入)、ADD (二进制加法)、STA (存数)、OUT (输出)、JMP (无条件转移),其指令格式如下(前4位为操作码):

助记符 机器指令码 说 明

IN 0000 0000 “INPUT DEVICE

”中的开关状态 RO ADD addr 0001 0000 ×××××××× R0+[addr] R0 STA addr 0010 0000 ×××××××× RO [addr] OUT addr 0011 0000 ×××××××× [addr] LED JMP addr 0100 0000 ×××××××× addr PC

其中IN 为单字长(8位),其余为双字长指令,××××××××为addr 对应的二进制地址码。

为了向RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

存储器读操作(KRD ):拨动总清开关CLR 后,控制台开关SWB 、SWA 为“00”时,按START 微动开关,可对RAM 连续手动读操作。

存储器写操作(KWE ):拨动总清开关CLR 后,控制台开关SWB 、SWA 置为“01”时,按START 微动开关可对RAM 进行连续手动写入。

启动程序:拨动总清开关CLR 后,控制台开关SWB 、SWA 置为“11”时,按START 微动开关,即可转入到第01号“取址”微指令,启动程序运行。

上述三条控制台指令用两个开关SWB 、SWA 的状态来设置,其定义如下:

根据以上要求设计数据通路框图,如图6-1。微代码定义如表6-1所示。

图6-1数据通路框图

表 6-1 微代码定义

图 6-2 指令译码

系统涉及到的微程序流程见图6-3,当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7—IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。

控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。注意:微程序流程图上的单元地址为8进制。

图6-3 微程序流程图

当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为将图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。

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

实验二指令流水线相关性分析 ·实验目的 通过使用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 指令流水线 }

软件体系结构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() 方法,方法的调用,返回构件和连接件类型:

计算机组成原理实验课程大纲

《计算机组成原理实验》课程大纲 一、 课程基本情况 二、 教学目标 《计算机组成原理实验》是配合《计算机组成原理》的理论教学中计算机硬件系统的组成、各部件的结构和工作原理而设置的教学内容,是相应教学内容的配套课程,是计算机组成原理的重要环节。 通过本课程的各项实验,使同学进一步掌握计算机各部件的基本原理和结构,掌握计算

机各部件的基本设计方法和实验方法,帮助同学建立计算机时间-空间的整体概念,巩固课堂知识,初步培养学生的实验操作能力和分析解决问题能力。 三、 课程简介 配合理论教学,提供了不同类型(如验证型、设计型、综合型)的共七个实验单元。实验内容分为部件实验和综合实验,由浅入深,循序渐进。部件实验主要包括存储器,运算单元,微控制器等,综合实验分别为8位CISC CPU设计和32位RISC CPU——MIPS-C设计。这些实验承接先开的《数字逻辑》实验,并为后续的《计算机接口与通讯技术》实验奠定坚实的基础。 四、 实验教学内容及其基本要求 课程实验(一) 实验名称:存储器与运算器高级设计(4学时,验证型和设计型) 实验目的:了解存储器、运算器的电路结构和工作原理。掌握FPGA中先进先出存储器LPM_FIFO 的功能、工作特性、测试方法和读写方法;了解FPGA中LPM_FIFO的功能,掌握LPM_FIFO的参数设置和使用方法。掌握FPGA与外部RAM的硬件接口技术,通过FPGA控制,向外部RAM写入数据,通过FPGA控制,从外部RAM读出数据,并且利用数码管显示读出的数据。利用Verilog HDL语言编程设计带进位算术逻辑运算单元,移位运算器。验证带进位控制的算术运算功能发生器的功能,按指定数据完成集中指定的算术运算。验证移位运算器的组合功能。 实验内容: (1)采用LPM宏单元设计一个先进先出存储电路FIFO,增加“空”、“未满”、“满” 设计仿真波形并进行分析和验证。根据实验电路选择适当的模式,设计相应的引脚锁定方案,并下载到实验台。观察并记录当LPM_FIFO为“空”、“未满”、“满”是,各种输出信号的变化情况。 (2)用FPGA与外部RAM接口,设计一个实现对外部RAM的读写控制电路,设计仿真波形并进行分析和验证。根据实验电路选择适当的模式,设计相应的引脚锁定

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

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对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发生结构相关,导致相关得部件:译码部件。

系统结构实验设计

实践设计报告 设计名称:计算机系统结构实践设计 设计项目:流水线与流水线冲突 姓名:冯皓明 专业:计算机科学与技术 班级:18-4 学号:1804010405

计算机科学与技术学院 实验教学中心 20 20 年 5 月15 日 目录 一.实践设计的目的和意义 二.实践设计的内容和要求 三.设计用的设备仪器 四.实践设计的相关技术 五.项目设计与实现 六.结束语 一实验目的 加深对计算机流水线基本概念的理解。 理解MIPS结构如何用段流水线来实现,理解各段的功能和基本操作。 加深对数据冲突、结构冲突和控制冲突的理解,理解这三类冲突对CPU性能的影响。 通过采用相关技术来消解各种冲突,进一步理解解决流水线冲突的方法。二.要求 学习模拟器的结构、原理和基本操作方法。 运行样例程序,观察流水线的工作过程和冲突产生的情况。 运用所学知识,通过对模拟器的一些功能设置来解决产生的结构冲突,数据冲突,控制冲突。 自行编写一段程序,分别验证各种冲突的解决方法。(程序行数不需过多,10行左右,只要包括这几种冲突情况即可)。

三实验用设备器材 计算机一台。指令级和流水线操作级模拟器MIPS。 四.实践设计的相关技术 五.项目设计与实现 (1)启动MIPSsim (2)根据预备知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。 流水线窗口如下图: 取指令(IF)、指令译码/读寄存器(ID)、执行/访存有效地址计算(EX)、存储器访问(MEM)、结果写回寄存器(WB),(用鼠标双击各段,就可以看到各流水寄存器的内容)

1.观察程序在流水线中的执行情况,步骤如下: (1)选择MIPS的“文件”—>“载入程序”选项来加载pipeline.s。(2)观察比较各个执行周期 当执行到第13个时钟周期时,各段分别正在处理的指令是: IF: LW $r4,60($r6) ID:ADDI $r3,$r0,25 EX:ADDI $r1,$r1,-1 MEM:ADDI $r6,$r0,8 WB:ADD $r2,$r1,$r0 时钟周期图:

计算机组成原理教材考试习题解答

计算机组成原理蒋本珊编著教材习题解答 第1章概论 1?电子数字计算机和电子模拟计算机的区别在哪里? 解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。 2?冯?诺依曼计算机的特点是什么?其中最主要的一点是什么? 解:冯?诺依曼计算机的特点如下: ①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成; ②计算机内部采用二进制来表示指令和数据; ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。 第③ 点是最主要的一点。 3?计算机的硬件是由哪些部件组成的?它们各有哪些功能? 解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。它们各自的功能是: ①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。 ②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。 ③存储器:用来存放程序和数据。 ④运算器:对信息进行处理和运算。 ⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。 4?什么叫总线?简述单总线结构的特点。解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。CPU与主存、CPU与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU的干预。 9 5 ?简单描述计算机的层次结构,说明各层次的主要特点。解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。 第0级为硬件组成的实体。 第1 级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。第2 级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。 第3 级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。 第4 级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。 第5 级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。

计算机组成原理实验

计算机组成原理 一、8 位算术逻辑运算 8 位算术逻辑运算实验目的 1、掌握简单运算器的数据传送通路组成原理。 2、验证算术逻辑运算功能发生器74LS181的组合功能。 8 位算术逻辑运算实验内容 1、实验原理 实验中所用的运算器数据通路如图3-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图中算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

体系结构实验报告

中南大学软件学院 软件体系结构 设计模式实验报告 学生姓名:宋昂 所在学院:软件学院 学生学号: 3901080115 学生班级:软件0801 指导老师:刘伟 完成日期: 2010-12-7

一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。 二、实验内容 使用PowerDesigner和任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。 (1) 简单工厂模式 使用简单工厂模式设计一个可以创建不同几何形状(Shape)的绘图工具类,如可创建圆形(Circle)、方形(Rectangle)和三角形(Triangle) 对象,每个几何图形都要有绘制draw()和擦除erase()两个方法,要求在绘制不支持的几何图形时,提示一个UnsupportedShapeException,绘制类图并编程实现。 (2) 简单工厂模式 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man 对象,如果传入参数“W”,则返回一个Woman对象,使用任意一种面向对象编程语言实现该场景。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意女娲的变化。 (3) 工厂方法模式 某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统。用代码实现日志记录器实例,如果在系统中增加一个中的日志记录方式——控制台日志记录(ConsoleLog),绘制类图并修改代码,注意增加新日志记录方式过程中原有代码的变化。

计算机组成原理教学大纲

《操作系统原理》教学大纲 课程类别:专业必修课课程代码:ZBB061020-20140008 总学时:68(理论学时:32,实践学时32)学分:3 适用专业:计算机科学与技术、软件工程 先修课程:高级程序设计语言、数据结构、电路与电子技术、数字电子技术。 一、课程说明 《计算机组成原理》是计算机科学与技术专业本科生的一门专业主干课程,同时也是进一步研究计算机体系结构与实现方法的前导课程。 课程的重点是讲授单处理机系统的一般组成原理与内部运行机理。通过本课程的学习,使学生理解单处理机系统的组成结构以及各功能部件的组成和工作原理,帮助学生建立计算机的整机概念,使学生初步具备设计简单计算机系统的能力,并对一些新技术、新产品以及计算机硬件的发展方向有一定的了解,从而为进一步学习计算机本专业后继课程和进行与硬件有关的技术工作打下基础。 二、课程教学要求 本课程以教育部1999年批准的“面向21世纪课程教材”中的《计算机组成原理》教学大纲为要求,结合运城学院计算机科学与技术系学生的特点,将相应的体系结构分为四大部分:计算机系统概述、计算机系统硬件结构、中央处理器(CPU)、控制单元(CU)。 教学难点:进程的同步与互斥;死锁;进程调度算法;地址转换;页式管理。 教学方法:启发式教学和上机实践相结合 三、教学内容与学时分配 理论教学内容与学时分配 第一章计算机系统概论 本章是学习计算机工作原理的基础。目的是让学生对计算机的组成有一个全面的概括的了解。 了解:硬件和软件的概念、计算机组成和计算机体系结构的不同。 熟练掌握:计算机系统的层次结构;准确画出计算机的硬件框图,并能解释其工作的过程;能深刻理解硬件的主要技术指标,并用这些技术指标描述常见硬件的性能。 重点:计算机的基本硬件组成、计算机的工作过程、硬件的主要技术指标 第二章计算机的发展及应用

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 1、学习和了解TEC-XP16教学实验系统监控命令的用法。 2、学习和了解TEC-XP16教学实验系统的指令系统。 3、学习简单的TEC-XP16教学实验系统汇编程序设计。 二、预习要求: 1、学习TEC-XP16机监控命令的用法。 2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。 3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。 4、了解实验内容、实验步骤和要求。 三、实验步骤: 在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。 第一种办法,是使用监控程序的A命令,逐行输入并直接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。 第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。 第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。

在这里我们只采用第一种方法。 在TEC-XP16机终端上调试汇编程序要经过以下几步: 1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。 2、使用监控命令输入程序并调试。 ⑴用监控命令A输入汇编程序 >A 或>A 主存地址 如:在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000: MVRD R0,AAAA ;MVRD 与R0 之间有且只有一个空格,其他指令相同 2002: MVRD R1,5555 2004: ADD R0,R1 2005: AND R0,R1 2006: RET ;程序的最后一个语句,必须为RET 指令 2007:(直接敲回车键,结束A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 ⑵用监控命令U调出输入过的程序并显示在屏幕上 >U 或>U 主存地址

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

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

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

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 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.不采用重新定向技术,我们得到的结果

计算机组成原理实验完整版

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术2010级1班 学生姓名张子坡(1010101029) 指导教师郭玉峰 撰写日期:二○一二年六月五日

一、实验目的: 1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机; 2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3定义五条机器指令,编写相应微程序并具体上机调试。 二、实验要求: 1.复习计算机组成的基本原理; 2.预习本实验的相关知识和内容 三、实验设备: EL-JY-II型计算机组成原理试验系统一套,排线若干。 四、模型机结构及工作原理: 模型机结构框图见实验书56页图6-1. 输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。 在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。 存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。 存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。 启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。 注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。 五、实验内容、分析及参考代码: 生成的下一条微地址 UA5 UA0 MS5 MS0 微地址

系统结构实验报告一

《计算机系统结构课内实验》 实验报告 班级:计算机01 姓名:陈世阳 学号:10055008 日期:2013.5.10

一、实验目的及要求 1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点; 2. 加深对计算机流水线基本概念的理解; 3. 进一步了解DLX基本流水线各段的功能以及基本操作; 4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响; 5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 二、实验环境 WinDLX模拟器 三、实验内容 1.用WinDLX模拟器执行下列三个程序(任选一个): ●求阶乘程序fact.s ●求最大公倍数程序gcm.s ●求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。 注意:fact.s中调用了input.s中的输入子程序。load程序时,要两个程序一起装入(都select后再点击load)。gcm.s也是如此。 2.用WinDLX运行程序structure_d.s,通过模拟: ●找出存在结构相关的指令对以及导致结构相关的部件; ●记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期 数的百分比; ●论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 3.在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项 前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 4.在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序 data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。 四、实验步骤及结果 1.(1)用winDLX执行求最大公倍数程序gcm.s: File->load code or data->分别选中gcm.s和input.s->select. (2)首先直接运行整个程序(enable forwarding),execute->run(或按F 5) 例如,输入如下:

计算机组成原理全部实验.

计算机科学技术系王玉芬2012年11月3日

基础实验部分该篇章共有五个基础实验组成,分别是: 实验一运算器实验 实验二存储器实验 实验三数据通路组成与故障分析实验 实验四微程序控制器实验 实验五模型机CPU组成与指令周期实验

实验一运算器实验 运算器又称作算术逻辑运算单元(ALU),是计算机的五大基本组成部件之一,主要用来完成算术运算和逻辑运算。 运算器的核心部件是加法器,加减乘除运算等都是通过加法器进行的,因此,加快运算器的速度实质上是要加快加法器的速度。机器字长n位,意味着能完成两个n位数的各种运算。就应该由n个全加器构成n位并行加法器来实现。通过本实验可以让学生对运算器有一个比较深刻的了解。 一、实验目的 1.掌握简单运算器的数据传输方式。 2.掌握算术逻辑运算部件的工作原理。 3. 熟悉简单运算器的数据传送通路。 4. 给定数据,完成各种算术运算和逻辑运算。 二、实验内容: 完成不带进位及带进位的算术运算、逻辑运算实验。 总结出不带进位及带进位运算的特点。 三、实验原理: 1.实验电路图

图4-1 运算器实验电路图

2.实验数据流图 图4-2 运算器实验数据流图 3.实验原理 运算器实验是在ALU UNIT 单元进行;单板方式下,控制信号,数据,时序信号由实验仪的逻辑开关电路和时序发生器提供,SW7-SW0八个逻辑开关用于产生数据,并发送到总线上;系统方式下,其控制信号由系统机实验平台可视化软件通过管理CPU 来进行控制,SW7-SW0八个逻辑开关由可视化实验平台提供数据信号。 (1)DR1,DR2:运算暂存器, (2)LDDR1:控制把总线上的数据打入运算暂存器DR1,高电平有效。 (3)LDDR2:控制把总线上的数据打入运算暂存器DR2,高电平有效。 (4)S3,S2,S1,S0:确定执行哪一种算术运算或逻辑运算(运算功能表见附录1或者课本第49页)。 (5)M :M =0执行算术操作;M =1执行逻辑操作。 (6)/CN :/CN =0表示ALU 运算时最低位加进位1;/CN =1则表示无进位。 (7)ALU -BUS :控制运算器的运算结果是否送到总线BUS ,低电平有效。 (8)SW -BUS :控制8位数据开关SW7-SW0的开关量是否送到总线,低电平有效。 四、实验步骤: 实验前首先确定实验方式(是手动方式还是系统方式),如果在做手动方式实验则将方式选择开关置手动方式位置(31个开关状态置成单板方式)。实验箱已标明手动方式和系统方式标志。所有的实验均由手动方式来实现。如果用系统方式,则必须将系统软件安装到系统机上。将方式标志置系统模式位置。学生所做的实验均在系统机上完成。其中包括高 ALU DR1 DR2 LDDR1 T4 LDDR2 T4 S1 S2 M0 S0 CN S3

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

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

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

相关文档