计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx

上传人:b****4 文档编号:8008232 上传时间:2023-05-09 格式:DOCX 页数:13 大小:44.64KB
下载 相关 举报
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第1页
第1页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第2页
第2页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第3页
第3页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第4页
第4页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第5页
第5页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第6页
第6页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第7页
第7页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第8页
第8页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第9页
第9页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第10页
第10页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第11页
第11页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第12页
第12页 / 共13页
计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx

《计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx

二、实验室名称:

主楼A2-411

三、实验项目名称:

单周期CPU的设计与实现。

四、实验学时:

8学时

五、实验原理:

(一)概述

单周期(SingleCycle)CPU是指CPU从取出1条指令到执行完该指令只需1个时钟周期。

一条指令的执行过程包括:

取指令→分析指令→取操作数→执行指令→保存结果。

对于单周期CPU来说,这些执行步骤均在一个时钟周期内完成。

(二)单周期cpu总体电路

本实验所设计的单周期CPU的总体电路结构如下。

(三)MIPS指令格式化

MIPS指令系统结构有MIPS-32和MIPS-64两种。

本实验的MIPS指令选用MIPS-32。

以下所说的MIPS指令均指MIPS-32。

MIPS的指令格式为32位。

下图给出MIPS指令的3种格式。

本实验只选取了9条典型的MIPS指令来描述CPU逻辑电路的设计方法。

下图列出了本实验的所涉及到的9条MIPS指令。

六、实验目的

1、掌握单周期CPU的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、运算器等。

2、认识和掌握指令与CPU的关系、指令的执行过程。

3、熟练使用硬件描述语言Verilog、EDA工具软件进行软件设计与仿真,以培养学生的分析和设计CPU的能力。

七、实验内容

(一)拟定本实验的指令系统,指令应包含R型指令、I型指令和J型指令,指令数为9条。

(二)CPU各功能模块的设计与实现。

(三)对设计的各个模块的仿真测试。

(四)整个CPU的封装与测试。

八、,

九、实验器材(设备、元器件):

(一)安装了XilinxISEDesignSuite的PC机一台

(二)FPGA开发板:

AnvylSpartan6/XC6SLX45

(三)计算机与FPGA开发板通过JTAG(JointTestActionGroup)接口连接,其连接方式如图所示。

一十、实验步骤

一个CPU主要由ALU(运算器)、控制器、寄存器堆、取指部件及其它基本功能部件等构成。

在本实验中基本功能部件主要有:

32位2选1多路选择器、5位2选1多路选择器、32位寄存器堆、ALU等。

(一)新建工程(NewProject)

'

启动ISEDesignSuite软件,然后选择菜单File→NewProject,弹出NewProjectWizard对话框,在对话框中输入工程名CPU,并指定工作路径D:

\Single_Cycle_CPU。

(二)基本功能器件的设计与实现

(1)多路选择器的设计与实现

位2选1多路选择器(MUX5_2_1)的设计与实现

在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:

MUX5_2_1,然后输入其实现代码:

moduleMUX5_2_1(

input[4:

0]A,

0]B,

inputSel,

output[4:

0]O

);

assignO=SelB:

A;

endmodule

在ISE集成开发环境中,对模块MUX5_2_1进行综合(Synthesize),综合结果如图所示:

在ISE集成开发环境中,对模块MUX5_2_1进行仿真(Simulation)。

输入如下测式代码:

moduleMUX5_2_1_T;

(A),

.B(B),

.sel(sel),

.C(C)

initialbegin

(A),

.O(O)

A=0;

B=0;

sel=0;

(d),

.o(o)

n1(Rn1),

.Rn2(Rn2),

.Wn(Wn),

.Write(Write),

.Wd(Wd),

.A(A),

.Clock(Clock)

(A),

.ALU_operation(ALU_operation),

.Result(Result),

.Zero(Zero)

p(op),

.RegDst(RegDst),

.RegWrite(RegWrite),

.ALUSrc(ALUSrc),

;

.MemWrite(MemWrite),

.MemRead(MemRead),

.MemtoReg(MemtoReg),

.Branch(Branch),

.ALUctr(ALUctr)

.func(func),

]

.ALU_op(ALU_op)

~

lock(clock),

.reset(reset),

.b_addr(b_addr),

.Z(Z),

.inst(inst),

.o_addr(o_addr),

.o_sum(o_sum),

.o_sum1(o_sum1)

eset(Reset),

.Clock(Clock),

.Inst(Inst),

|

.Data(Data),

.B_data(B_data),

.NextPC(NextPC)

ddress(address),

.inst(inst)

lock(Clock),

.Reset(Reset),

.Pc(Pc),

@

.Aluout(Aluout),

.B_data(B_data)

//InitializeInputs

Clock=0;

Reset=0;

//Wait100nsforglobalresettofinish

#100;

Clock=~Clock;

Reset=1;

end

然后进行仿真,仿真结果如图:

在该转移的地方进行了转移,成功。

一十一、实验数据及结果分析:

在一个时钟周期内所设计的CPU能够完成一条指令的执行,指令执行结果与预期的结果是一致的。

通过仿真可以看到最终顺利实现了每个模块的功能,成功解决了之前出错的PC转移问题,整个CPU按照设计好的指令运行。

一十二、实验结论:

单周期CPU在一个时钟周期完成指令的所有执行步骤,简化了CPU的设计,但是这样没有考虑不同部件完成时间上的差异,所以导致CPU各部件的利用率不高,采用多周期流水线CPU可以提高利用率,但是难度也会增大许多。

一十三、总结及心得体会:

我本身对这次实验很兴趣,指导教师陈老师也非常和蔼耐心地指导,所以比较顺利地完成了整个实验。

本次实验完全是独立完成,没有任何抄袭,包括实验报告的编写,每一段代码都是自己写出来的,每一张图片也都是自己截的图,虽然整个过程花的时间比较多,但确实收获很多,很开心,也希望能得到一个好的成绩。

本次实验让我切实感受到了仿真的好处,计算机仿真在实际生产中的作用,也很好地锻炼了自己的逻辑思维能力,对课堂第四章第五章的内容有了更为深刻的理解。

要合理地将本次实验中“把庞大的部件分割为许多小部件,逐一解决”的方法运用到对其它问题的解决中。

一十四、对本实验过程及方法、手段的改进建议:

建议增加2个实验学时,同时将要实现的指令增加为十一条,增加运算器溢出信号Overflow、判断溢出的加法运算,以及J型指令的设计与实现,从而进一步锻炼自己。

报告评分:

指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2