ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:675.50KB ,
资源ID:678858      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-678858.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MIPS五级整数流水线.DOC)为本站会员(天***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

MIPS五级整数流水线.DOC

1、MIPS 五级整数流水线模拟系统 报告- 1 -MIPS 五级整数流水线模拟系统 报告计算机 0106陆晓春2004-05-161 引言 .22 简单需求分析. .23 核心功能实现 .34 界面及使用4MIPS 五级整数流水线模拟系统 报告- 2 -5 测试81引言:1.1 实验要求:1) 以交互输入方式或从文件读入方式(输入文件名后缀为.mips)输入一段 MIPS 汇编程序,选择不同执行模式,能给出该段程序在 MIPS 流水线上执行的流水线状态图,能显示各寄存器或某一存储单元的值(16 进制或 10 进制值) ,各条指令的执行次数、频度,以及程序执行所用总的时钟周期数。2) 能正确执行下

2、列 MIPS 整数指令:LW, SW, ADD, SUB, MUT, DIV, AND, OR, XOR, ADDI, SUBI, MUTI, DIVI, ANDI, ORI, XORI, BEQZ, BNEZ, J, JR,Trap(表示程序结束指令) 。3) 提供界面交互设置或修改寄存器、存储单元的值,能够对寄存器、存储单元和执行统计结果进行清零操作。4) 要求提供两种模拟执行模式:有提前电路模式,无提前电路模式; 5) 实现四种不同的转移处理策略:流水线清除,预测成功,预测转移不成功,延时转移。(注意流水线清除和预测成功在 MIPS 整数流水线上结果是一样的)1.2 整体说明:基本程序在

3、 MIPS Simulator 文件夹里,binary 文件在 bin 下。其中 MIPS Simulator.exe是可执行文件。尚有很多问题,请原谅!2简单需求分析:2.1 简单数据流图和流程图:DFA:C o n t r o lD i a l o gC o n f i gC o n f i g f e e d b a c kc o n f i gR e a d m i p sa s m f i l e scontrolS c a n , p a r s e ,e r r o r c h e c k i n gFilestreamInstructionsetsN e x t o r p r

4、 e vC y c l e o r s t e ps h o wR e s e tc o n t r o lr e s u l tc o n t r o lcontrolR e s e t d a t aMIPS 五级整数流水线模拟系统 报告- 3 -基本操作流程图:S t a r t -M a i n c o n t r o l d i a l o gC o n f i g u r eL o a d M I P S A s m f i l e sN e x t c y c l eP r e v i o u s c y c l eS t e p f o r w a r dS t e p b a

5、 c kg oS h o w r e s u l tS t a t i s t i c sT R A C EM o d i f y R e g i s t e r d a t aM o d i f y M e m o r y d a t a进入主界面,configure,主要是设置模拟执行模式:有提前电路模式,无提前电路模式;四种不同的转移处理策略:流水线清除,预测成功,预测转移不成功,延时转移,以及数据段的大小(关系程序开始的地址) 。此外在运行前可以修改 MIPS Memory 和Register 的值 Memory 提供 Big ending 和 Little ending 以供选择,R

6、egister 提供 Hex 和Decimal。接着读入 MIPS 汇编文件。运行程序,首先要设置开始的 PC,默认紧接数据段开始。 Next cycle 运行下一个始终脉冲,Previous cycle 回到上一个时钟脉冲的状态。Step forward 和 Step back 以开始一条新指令为标志。Go 一直运行到程序结束。TRACE 要求输入文件名,然后对运行时的指令次序进行输出。Statistics 显示各条指令的执行次数、频度,以及程序执行所用总的时钟周期数。2.2 技术要求:使用 MFC 制作,用图形化显示流程图,能够显示各个 instruction 所在的 stage。3核心功

7、能实现:3.1 MIPS 汇编文件读入:Class CTokenizer:输入:文件流输出:通过 NextToken()得到 token 类型,定义在 tokenizer.h;Class CLexAnalyzer:Lexical analyze,是对 CTokenizer 的继承。通过 NextToken()得到 struct Lex,定义如下:MIPS 五级整数流水线模拟系统 报告- 4 -struct LexASMKey key; / Instruction 的类型CString str; / Instruction 的字符串;其中 ASMKey 是一个 enum 类型,定义在 LexAn

8、alyzer.h 里;Class CAsmInstruction:这是单个的 MIPS 指令,包含指令类型typedef enum TYPE_I,TYPE_R,TYPE_J inst_type_t;其中单个指令抽象成一个 struct:typedef struct inst_type_t type;union / I-typestruct UINT opcode : 6;UINT rs : 5;UINT rt : 5;int imm : 16; i;/ R-typestruct UINT opcode : 6;UINT rs : 5;UINT rt : 5;UINT rd : 5;UINT s

9、hamt : 5;UINT funct : 6; r;/ J-typestruct UINT opcode : 6;int offset : 26; j; inst;CString target;/ used in BEQZ, BNEZ and J instruction inst_t;MIPS 五级整数流水线模拟系统 报告- 5 -含有一个 union,包含 I,R, J 三种类型、寄存器、立即数部分以及运行时所分配的地址,节约空间。这个类只能通过 NextInst()调用,建立单个指令的 Object,如果没有输入指令就返回 NULL;Class CInstructions:对所输入的文件

10、建立指令集,里面是用 CList 模板构建的 CAsmInstruction 串。3.2 指令运行:Class CExecInst:这个是运行中的指令,模拟 MIPS 的五级流水线,主要通过 NextCycle()到达下一个时钟周期。Object 采用双链表形式,next 连接之后的,prev 连接之前的。当 NextCycle()经过此指令的最后一个 stage 后,object 通过调用 stageComplete()自动销毁(delete this) 。Class CMIPSSimulator:最核心的一个类,并有全局对象 CMIPSSimulator simulator;这个类里保留有

11、 MIPS 的基本设置,基本的硬件结构:PC、REGISTER 、MEMORY 以及IF/ID、ID/EX、 EX/MEM、MEM/WB 等 CPU 内部 Register。通过调用 NextCycle()实现一个时钟周期。上面两个类具体请看:MIPSSimulator.h 和 MIPSSimulator.cpp,有详细注释。4界面及使用:按照上面的流程图,对本程序的界面做一简单介绍:4.1 Main Control Dialog:MIPS 五级整数流水线模拟系统 报告- 6 -这是程序开始时的对话框,可以选择设置和编辑。4.2 edit MIPS Asm files:支持语法加亮,可以更方便

12、的编译汇编文件。4.3 Configure:流水线清除 Freeze(or flush)预测成功 Predicted-Taken预测转移不成功 Predicted-Untaken延时转移 Delayed提前电路 ForwardingMIPS 五级整数流水线模拟系统 报告- 7 -4.4 编辑内存(Memory):提供 Big Endian 和 Little Endian,方便编译。4.5 编辑寄存器(Register):可以显示十六进制和十进制。4.6 当程序运行时的状态图:MIPS 五级整数流水线模拟系统 报告- 8 -在 Basic MIPS Pipeline 对话框上点击 Registe

13、rs 和 Data memory,可以查看当前的结果。5测试:包括加减法测试,乘除测试,两种执行模式测试以及四种转移模式测试,测试文档在bin 目录下。现对关于 Delay slot 的测试做一简单概述:测试为一段 MIPS 汇编代码,从 1 加到 10,结果存到 r2 寄存器中,其中 要求使用DELAY SLOT 的程序必须在 Configure 的 branch strategies 中选 delayed,否则会死循环!程序如下:;test without DELAY SLOT;start:addi r1, r0, 1addi r2, r0, 0loop: add r2, r2, r1addi r1, r1, 1subi r3, r1, 11bnezr3, looptrap #1;test with DELAY SLOT;start:addi r1, r0, 1addi r2, r0, 0loop: add r2, r2, r1subi r3, r1, 10bnezr3, loopaddi r1, r1, 1 ;delay slottrap #1程序运行结果(R2 的值)都是 55,正确。Download by http:/END

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。