当前位置:   article > 正文

华中科技大学计算机组成原理实验—CPU设计实验报告_mips多周期cpu设计报告

mips多周期cpu设计报告

所有资源都已打包

计算机组成原理.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

一、实验目的

(1)掌握多周期MIPS CPU中各条指令(8条指令)的数据通路,掌握多周期MIPS CPU(8条指令)和微程序控制器的设计原理,能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU,包括微程序地址转移电路,微程序控制器设计,微程序代码设计,CPU数据通路电路设计;

(2)掌握硬布线控制器的设计原理,能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU,包括硬布线地址转移电路,硬布线控制器设计,硬布线代码设计,CPU数据通路电路设计;

(3)进一步熟练掌握Logisim平台的操作方法,扩展Logisim的功能。

二、实验内容

5f9d6af60f674eb3938fc59a62a62977.png

多周期处理器数据通路高层视图

(1)MIPS多周期(硬布线)CPU设计

对照“多周期处理器数据通路高层视图”所示多周期MIPS处理器数据通路,采用“简化的硬布线控制器模型图”所示的硬布线控制模型设计控制器,构造多周期MIPS处理器。能支持“核心指令集表”中的8条MIPS核心指令,最终设计实现的MIPS处理器能够运行试验包中的冒泡排序测试程序。

2eb45ef890664f54b3fb3d760a8944de.png

 6bbfe1e7f410441a9624ec2f964e600d.png

(2)MIPS多周期(微程序)CPU设计

对照“多周期处理器数据通路高层视图”所示多周期MIPS处理器数据通路,采用微程序控制器的设计方法实现控制器,构造多周期MIPS处理器,能够支持“核心指令集表”中的8条MIPS核心指令,最终设计实现的MIPS处理器能运行实验包中的冒泡排序测试程序。

三、实验工具

Logisim仿真实验软件

四、方案设计与实验步骤及结果

(1)MIPS多周期(硬布线)CPU设计

①构建主要功能部件和数据通路

多周期MIPS CPU的数据通路见“多周期MIPS CPU的数据通路图”。根据多周期MIPS CPU的数据通路连接多周期MIPS CPU数据通路电路,多周期MIPS CPU数据通路电路见“多周期硬布线CPU数据通路电路图”

71d986731c5b4e579f02ff0080b800bf.png

多周期MIPS CPU的数据通路图

ce1c17a5b26146f2a6c7be845c8e7479.png

多周期硬布线CPU数据通路电路图

②构建硬布线控制器

核心指令集8条(可实现内存区域冒泡排序)见“核心指令集表”,指令的划分见“指令划分图”。

10c3cfaf227f42e6b2bccb8651bb899e.png

指令划分图

电路实现指令译码逻辑,R型指令:ADD、SLT,I型指令:LW、SW、BEQ、BNE、ADDI,SysCall指令,指令译码逻辑实现电路见“指令译码逻辑实现电路图”

a0558294be234c618becc328305bceca.png

指令译码逻辑实现电路图

ALU控制器逻辑电路见“ALU控制器逻辑电路图”。

9f0896369be440c8a970403dac94ee7f.png

ALU控制器逻辑电路图

硬布线控制器状态转换逻辑自动生成表见“硬布线控制器状态转换逻辑自动生成表”,利用该表自动生成状态机电路(图略)。

5cc60cf863bd4b09b19bd10e80823de9.png

硬布线控制器状态转换逻辑自动生成表

硬布线控制器电路见“多周期硬布线控制器电路图”。

4aa61bc6cf4a4252a6d7b7bdaee9703a.png

多周期硬布线控制器电路图

③系统调试

将硬布线控制器输出与所有控点相连,构造完整的多周期MIPS处理电路,根据状态转换图指令测试控制器逻辑,状态转换无误后测试程序包中的冒泡程序,直至功能正确。注意,多周期处理器中指令和数据存放至同一存储器中。

用微指令生成表自动生成微指令,微指令生成表见“微指令生成表”,将微指令存入控制存储器,将程序指令存入存储器中,运行电路进行测试。测试结果见“多周期硬布线CPU测试结果图”。

f106f6633d1d425386c81d1352333d62.png

微指令生成表

098786051e494f168efa6100ce6b0d2f.png

多周期硬布线CPU测试结果图

(2)MIPS多周期(微程序)CPU设计

①构建主要功能部件和数据通路

在Logisim平台中设计MIPS多周期处理器所需要的主要功能部件。运算器既可以使用运算器试验中自行设计的运算器,也可以使用标准库中的ALU模块。多周期MIPS处理器的数据通路电路可参考多周期硬布线CPU数据通路电路。多周期微程序CPU数据通路实现电路见“多周期微程序CPU数据通路实现电路图”。

2172c4f1a0a44ed889e968769fe2981d.png

多周期微程序CPU数据通路实现电路图

②设计微指令

根据“多周期处理器数据通路高层视图”中的控制信号,结合微程序控制器设计的基本原理,设计MIPS多周期处理器微指令格式,为每一条MIPS指令构建微程序,微程序指令顺序控制方法可自行选择。

③构建微程序控制器

微程序控制器电路中的指令译码逻辑和ALU控制逻辑相同,电路图分别见“指令译码逻辑实现电路图”和“ALU控制器逻辑电路图”。

实现微程序地址转移逻辑:由“指令状态变换图”可得,R_Type的微程序入口地址为7;ADDI的微程序入口地址为11,LW的微程序入口地址为2;SW的微程序入口地址为5;BEQ的微程序入口地址为7;BNE的微程序入口地址为10;SYSCALL的微程序入口地址为13。利用微程序地址转移逻辑自动生成表(见“微程序地址转移逻辑自动生成表”)生成逻辑表达式,利用逻辑表达式完成微程序地址转移逻辑电路(见“微程序地址转移逻辑电路图”)。

0e27d214afd3436e88eaf3b09637f387.png

指令状态变换图

50b502dc956b4688a148c05f8b220de4.png

微程序地址转移逻辑自动生成表

91b8ff5bb9fc4277ab3c49db445d36a3.png

微程序地址转移逻辑电路图

微程序控制器电路见“多周期微程序控制器电路图”。

fa65fcf82d3640c79136a2a6294ad652.png

                                                 多周期微程序控制器电路图

④系统调试

将微程序控制器输出与所有控点相连,构造完整的多周期MIPS处理电路,根据状态转换图指令测试控制器逻辑,状态转换无误后测试程序包中的冒泡程序,直至功能正确。注意,多周期处理器中指令和数据存放至同一存储器中。

用微指令生成表自动生成微指令,微指令生成表见“微指令生成表”,将微指令存入控制存储器,将程序指令存入存储器中,运行电路进行测试。测试结果见“多周期微程序CPU测试结果图”。

59dcad3d4c424736b977af19bfddd508.png

多周期微程序CPU测试结果图

五、遇到的问题及解决方法

1.对各实验原理欠缺全面了解。因为计算机组成原理的理论课程并没有学得很扎实,所以在实验前,我对各实验的原理欠缺比较全面的理解,没有办法直接进行电路的设计。在实验设计之前,我重新学习了相关实验的理论知识,搞清楚各实验背后的原理,然后才尝试进行试验的设计。结合教材上提示的电路原理图以及网上的相关资料,最后在理解试验背后理论知识原理的基础上,完成了电路的设计工作。

2.实验逻辑较为复杂,电路设计步骤难度较大,对实验原理理解程度要求较高,一方面需要对实验原理进行深入的学习与理解,另一方面需要参考一些资料,进行电路设计,并在设计过程中,加深对实验原理的理解。

3.本次实验使用了Logisim平台的新功能,即自动生成电路的功能,在实验中,需要使用excel表生成逻辑,利用逻辑自动生成电路,这部分操作是前几次实验没有涉及的,自己摸索的过程中,花费了较大的精力。

4.电路较为复杂,除了设计阶段,连接阶段也具有较大的挑战性,即使有三次实验的操作经验,在连接时也会经常出错导致电路短路出现错误。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/942077
推荐阅读
相关标签
  

闽ICP备14008679号