计算机系统结构实验报告.doc
《计算机系统结构实验报告.doc》由会员分享,可在线阅读,更多相关《计算机系统结构实验报告.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、优质文本计算机专业类课程实验报告课程名称:计算机系统结构学院:计算机科学与工程专业:计算机科学与技术学生姓名:ZYZ二木头学号:2014060103026实验实在太烦了,发上来供学弟学妹们使用了日期:2017年 06月 04日电 子 科 技 大 学实 验 报 告实验一一、 实验名称:流水线代码分析二、 实验地点:主楼A2-412三、 实验学时:4四、 实验内容和目的:1. 列出代码中的模块名和接口信号,并写出他们的作用;2. 补全流水线的模块图: a)在现有图的根底上,在对应模块的输入输出接口处补全端口的名字; b)在现有图的根底上,补全未画出的模块和信号连线。3. 对补全的流水线模块图作必要
2、的文字说明,解释其工作原理。五、 实验原理:代码中的模块名和接口信号如下表所示:模块和接口信号表moduleinput(description)output(description)prog_cnt - pipepcnpcpcclk时钟信号clrn清零信号if_stage - pipeifpcsource选择下条指令npcpcpc4bpc转移指令insrpcjpcinst_reg - pipeirpc4dpc4insinstclkclrnid_stage - pipeiddpc4bpcinst二进制的指令序列jpcwdiawrnbwwregimmclkrnclrnalucrsrtequpcso
3、urcewregm2regwemealuimmshiftjalde_reg - pipederegdaeadbebdimmeimmdpc4epc4drnerndalucealucdwregewregdm2regem2regdwmemewmemdaluimmealuimmdshifteshiftdjalejalclkclrnexe_stage - pipeexeeaealueberneimmzepc4ern0ealucealuimmeshiftejalem_reg - pipeemregealumalu(malu=ealu)ebmb(mb=eb)ernmrn(mrn=ern)ewregmwreg
4、(mwreg=ewreg)em2regmm2reg(mm2reg=em2reg)ewmemmwmen(mwmem=ewmem)clkclrnmem_stage IP_RAMdataindataoutaddrclkwemw_reg - pipemwregmaluwalu(walu=malu)mmowmo(wmo=mmo)mrnwrn(wrn=mrn)mwregwwreg(wwreg=mwreg)mm2regwm2reg(wm2reg=mm2reg)clkclrnwb_stage mux2x32a0y(y=s?a1:a0)a1s流水线模块图六、 实验器材设备、元器件ISE Project Navi
5、gator七、 实验步骤:1) 根据课堂所学的五级流水线的结构,分析并理解代码含义;2) 根据代码中定义的各个模块的接口,补全流水线模块图相应接口的名称;3) 根据各个信号的输入输出,补全流水线模块图的连线。八、 实验数据及结果分析:模块和接口信号表指令依次执行。九、 实验结论、心得体会和改良建议:今日之日多烦忧实验二一、 实验名称:汇编器的实现二、 实验地点:主楼A2-412三、 实验学时:4四、 实验内容和目的:用Java,C或C+任一编程语言实现汇编器,输入流水线的指令序列,输出2进制编码。该指令编码可复制到指令存储器中执行。1. 写出主要函数模块;2. 提供源代码和可执行文件;五、 实
6、验原理:(按实验内容分析实验原理并填写)六、 实验器材设备、元器件DEVCPP七、 实验步骤:欲穷千里目八、 实验数据及结果分析:(按实验步骤顺序填写代码、数据或截图) 九、 实验结论、心得体会和改良建议:今日之日多烦忧实验三一、 实验名称:解决数据冒险二、 实验地点:主楼A2-412三、 实验学时:4四、 实验内容和目的:在给出的流水线代码根底上,增加内部前推数据通路、暂停流水线数据通路和关闭写使能信号的数据通路以解决普通的数据冒险和load数据冒险。1. 画出修改后的流水线图;2. 写出增加的多路选择器的选择信号逻辑函数;3. 流水线仿真结果,对仿真结果作必要说明;五、 实验原理:可以在I
7、D级完成检测数据相关并把检测结果多路器的选择信号ADEPEN两位和BDEPEN两位作为控制信号打入流水线存放器,在进入EXE级后立即开始ALU的操作。六、 实验器材设备、元器件ISE Project Navigator七、 实验步骤:1) 检测数据相关在流水线ID级观察指令的存放器字段,检测是否有“先读后写 冲突。可以写出一条指令进入流水线ID级,检测与前面指令很可能有数据相关的根本条件。由于指令格式中源存放器号rd与立即数局部重叠,而立即数不会出现相关的,因此,指令操作码需要参与检测以区分是存放器操作数还是立即数。WREG信号也应参与检测以区分是写存放器rd还是store指令中的rd,如果是
8、store指令,也不会产生相关。DEPENA_DEPEN + B_DEPENA_DEPENEXE_A_DEPEN + MEM_A_DEPENB_DEPENEXE_B_DEPEN + MEM_B_DEPENEXE_A_DEPEN=(ID_rs= =EXE_rd)(EWREG= =1)(ID_rsIsReg)MEM_A_DEPEN=(ID_rs= =MEM_rd)(MWREG= =1)(ID_rsIsReg)EXE_B_DEPEN=(ID_rt= =EXE_rd)(EWREG= =1)(ID_rtIsReg) +(ID_rd= =EXE_rd)(EWREG= =1)MEM_B_DEPEN=(ID_
9、rt= =MEM_rd)(MWREG= =1)(ID_rtIsReg) +(1D_rd= =MEM_rd)(MWREG= =1)ID_rsIsReg=and+andi+or+ori+add+addi+sub+subi+load+storeID_rtIsReg=and+or+add+sub2) 数据前推在EXE级中,利用在ID级产生的信号A_DEPEN和B_DEPEN选择ALU输入端的操作数。将流水线存放器中计算完成的数据送到ALU输入端。多路选择器0123操作数来源指令无相关立即数de_regem_reg3) load相关的暂停实现load流水线暂停的控制信号LOADDEPEN,这个信号是在I
10、D级产生。本实验指令集中,store取的是rs中的数据,不会与load相关。LOADDEPEN = (ID_rs=EXE_rd) (em2reg =1) (ID_rsIsReg) + (ID_rt=EXE_rd) (em2reg=1) (ID_rtIsReg)增加了检测数据相关和load相关的流水线八、 实验数据及结果分析:在EXE级,根据ADEPEND和BDEPEND的信号,选择相应操作数:module pipeexe(ealuc,ADEPEND,BDEPEND,ea,eb,eimm,walu,malu,ern0,epc4,ejal,ern,ealu,z ); input 31:0 ea,e
11、b,epc4,eimm,malu,walu; input 1:0 BDEPEND,ADEPEND; input 4:0 ern0; input 4:0 ealuc; input ejal; output 31:0 ealu; output 4:0 ern; wire 31:0 alua,alub,ealu0,epc8,sa; output z; assign sa=eimm4:0,eimm31:5;/移位位数的生成 cla32 ret_addr(epc4,32h4,1b0,epc8);/将PC+4再加4变成PC+8,供jal用 mux4x32 alu_ina (ea,sa,malu,walu,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 实验 报告
限制150内