计算机系统结构结构相关实验报告,计算机系统结构实验报告.doc

电 子 科 技 大 学

实 验 报 告

学生姓名: 学 号: 一、实验室名称:计算机学院实验中心二、实验项目名称:计算机系统结构课程实验三、实验原理:

1. 由教师给出一个具有基本功能的Verilog HDL流水线源代码;

2. 学生完成下面3个方面的内容:

(1)自行设计汇编伪指令格式,完成一个能把自己的汇编指令转换成流水线CPU能够识别的二进制指令的汇编器,实现语言不限;

(2)自行设计能够解决数据相关的机制并基于源代码进行扩展;

(3)自行设计能够解决控制相关的机制并基于源代码进行扩展。

四、实验目的:

帮助学生理解流水线的运行机制和基于Verilog HDL硬件描述语言的实现技术。五、实验内容:

(一) 基本流水线分析

1.1 认真阅读和理解源代码,请详细按要求回答每个问题。

源代码中文件是按什么样的规律来组织的?

答:按照子模块组织源代码文件。模块pipelinedcpu_tb用来控制CPU的时钟等信号,调用pipelinedcpu模块(假定为1级模块,最高级),1级模块中按顺序调用各个周期以及周期与周期之间的中间寄存器模块(假定为2级模块),2级模块中调用各自部件模块(假定为3级模块)。模块pipelinedcpu用来控制每级流水线及流水线级之间的控制信号,寄存器信息,其余子模块用来具体实现每一级流水线的功能。

存储器的实现方式?

答:用一个二维数组reg [31:0] ram [0:31] 实现,其中第一维代表32位地址,第二维代表32位数据

接口有:32位输入数据和输出,32位地址,一个同步时钟脉冲clk,一个控制写入的信号we

先对二维数组进行初始化

读数据时不需要时钟脉冲的激励,写数据时需要时钟脉冲的上升沿激励信号并且we信号为1

源代码文件中的流水线与我们课堂上讲的原理电路图有何相同之处,有何不同之处

答:相同:WB级,写回级使用2路32位的多路选择器来选择是获取ALU的计算结果还是LOAD指令从数据存储器中读取出来的数据。这里与课堂上所讲的内容基本相同。

流水线都分为五个执行级,都是在译码级产生各种控制信号,一级一级往后传,分离的指令存储器和数据存储器。各个部件以及逻辑都没有太大差异

不同:源代码文件中的流水线中的ALU部件的输出接在一个两路选择器上,并且没有zero输出端,而课堂上的直接输出到中间寄存器

源代码文件中没有关于消除数据相关的代码,而课堂上讲的原理电路图有消除数据相关的线路

没有数据前推和load前推的相关实现,指令格式的区别,流水线alu运算部件两个端口都可以接受立即数。

通过分析,写出本流水线的控制信号有哪些?对比我们课堂上讲的控制信号的差别有哪些?

答:本实验的控制信号主要有:wreg、m2reg、wmem、jal、aluc、aluimm

分别表示指令是否要写寄存器、信号是否有数据存储器中的数据需要写回寄存器、是否有指令需要往数据存储器中写数据、流水线寄存器R是要写入ALU的运算结果还是EPC的内容、指令的操作类型,例如加、减、与、或。、ALU的B输入端是否要选择立即数输入

差别主要有:regrt信号控制目的寄存器是rd或rt,sext信号控制是否需要传递立即数,wmem信号控制是否需要访存,jal信号控制exe级和mem级之间是传递运算结果还是立即数,这些信号是课堂上的流水线没有的。

1.2 针对流水线的指令集,编写必要的测试指令,分析运算结果,回答哪些指令的组合能由此流水线源代码正确实现,哪些指令的组合不能由此流水线源代码正确实现。(要求在实验报告中写出所完成的测试指令的组合、每个组合的仿真过程及结果、每个过程和结果的必要分析。)

(1)第一组指令序列

指令序列:

add r2 r1 1

add r2 r1 10

add r1 r3 1

add r1 r2 10

add r2 r2 1

add r2 r3 10

sub r2 r1 r3

截图:

结果分析:

观察三到九周期的ealu信号分别为(10,1,1,10,1,10,10),第九个周期的ealu为10,该周期执行的指令是sub r2 r1 r3;可见第一条指令赋值r1=10;第二条指令赋值r2=1;所以最后一条指令sub r1 r1 r2执行后结果为9,符合条件。

当有数据相关时,就会出问题,再观察第五、六、七两个周期,指令的执行结果均为1。故该程序不能解决数据相关问题。

(二) 汇编器实现

2.1自行设计与所给出的流水线指令的汇编格式,在下表中写出。

指令

指令意义

Op[31:26]

Op2 [25:20]

[19:15]

[14:10]

[9:5]

[4:0]

add

寄存器加法

000000

000001

00000

rd

r

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘 要 统一建模语言UML是面向对象分析和设计过程中重要的建模工具,本文以图书管理系统的开发为背景,介绍了UML的分析和建模过程。 关键词 UML;系统分析;建模设计 1 UML简介 UML(统一建模语言)是面向对象建模语言的标准,它可以对任何具有静态结构和动态行为的系统进行建模,它的主要作用是帮助用户进行面向的描述和建模,它可以描述软件从需求分析到软件实现和测试的全过程。标准建模语言UML的重要内容可以由五类图(十种图形)来定义,如表1所示。 表1 UML模型种类 序号 模型种类 十种图形 建模机制 1 用例模型 用例图 静态建模 2 静态模型 类图、对象图、包图 静态建模 3 行为模型 状态图、活动图 动态建模 4 交互模型 顺序图、协作图 动态建模 5 实现模型 构件图、配置图 静态建模 2 图书管理系统的UML建模设计 以图书管理系统为例,结合Rational Rose2003工具软件绘制图形,详细阐述UML的建模过程。 2.1 需求分析描述 图书信息管理系统是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者、图书管理员和系统管理员3方面的需求。对借书者来说主要是查询个人信息、查询图书信息、预定当前正在被别人借阅的图书、借阅图书和返还图书等;图书管理员是系统的主要使用者,负责借书处理和还书处理,当读者预定的图书借出给定预定者后取消图书预定;系统管理员主要负责系统的维护工作,涉及到读者信息管理,图书信息管理,系统状态维护等。系统的功能分析如图1所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值