华中科技大学计算机组成原理实验—CPU设计实验报告
所有资源都已打包资源下载链接 || 盗梦空间一、实验目的1掌握多周期MIPS CPU中各条指令8条指令的数据通路掌握多周期MIPS CPU8条指令和微程序控制器的设计原理能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU包括微程序地址转移电路微程序控制器设计微程序代码设计CPU数据通路电路设计2掌握硬布线控制器的设计原理能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU包括硬布线地址转移电路硬布线控制器设计硬布线代码设计CPU数据通路电路设计3进一步熟练掌握Logisim平台的操作方法扩展Logisim的功能。二、实验内容多周期处理器数据通路高层视图1MIPS多周期硬布线CPU设计对照“多周期处理器数据通路高层视图”所示多周期MIPS处理器数据通路采用“简化的硬布线控制器模型图”所示的硬布线控制模型设计控制器构造多周期MIPS处理器。能支持“核心指令集表”中的8条MIPS核心指令最终设计实现的MIPS处理器能够运行试验包中的冒泡排序测试程序。2MIPS多周期微程序CPU设计对照“多周期处理器数据通路高层视图”所示多周期MIPS处理器数据通路采用微程序控制器的设计方法实现控制器构造多周期MIPS处理器能够支持“核心指令集表”中的8条MIPS核心指令最终设计实现的MIPS处理器能运行实验包中的冒泡排序测试程序。三、实验工具Logisim仿真实验软件四、方案设计与实验步骤及结果1MIPS多周期硬布线CPU设计①构建主要功能部件和数据通路多周期MIPS CPU的数据通路见“多周期MIPS CPU的数据通路图”。根据多周期MIPS CPU的数据通路连接多周期MIPS CPU数据通路电路多周期MIPS CPU数据通路电路见“多周期硬布线CPU数据通路电路图”多周期MIPS CPU的数据通路图多周期硬布线CPU数据通路电路图②构建硬布线控制器核心指令集8条可实现内存区域冒泡排序见“核心指令集表”指令的划分见“指令划分图”。指令划分图电路实现指令译码逻辑R型指令ADD、SLTI型指令LW、SW、BEQ、BNE、ADDISysCall指令指令译码逻辑实现电路见“指令译码逻辑实现电路图”指令译码逻辑实现电路图ALU控制器逻辑电路见“ALU控制器逻辑电路图”。ALU控制器逻辑电路图硬布线控制器状态转换逻辑自动生成表见“硬布线控制器状态转换逻辑自动生成表”利用该表自动生成状态机电路图略。硬布线控制器状态转换逻辑自动生成表硬布线控制器电路见“多周期硬布线控制器电路图”。多周期硬布线控制器电路图③系统调试将硬布线控制器输出与所有控点相连构造完整的多周期MIPS处理电路根据状态转换图指令测试控制器逻辑状态转换无误后测试程序包中的冒泡程序直至功能正确。注意多周期处理器中指令和数据存放至同一存储器中。用微指令生成表自动生成微指令微指令生成表见“微指令生成表”将微指令存入控制存储器将程序指令存入存储器中运行电路进行测试。测试结果见“多周期硬布线CPU测试结果图”。微指令生成表多周期硬布线CPU测试结果图2MIPS多周期微程序CPU设计①构建主要功能部件和数据通路在Logisim平台中设计MIPS多周期处理器所需要的主要功能部件。运算器既可以使用运算器试验中自行设计的运算器也可以使用标准库中的ALU模块。多周期MIPS处理器的数据通路电路可参考多周期硬布线CPU数据通路电路。多周期微程序CPU数据通路实现电路见“多周期微程序CPU数据通路实现电路图”。多周期微程序CPU数据通路实现电路图②设计微指令根据“多周期处理器数据通路高层视图”中的控制信号结合微程序控制器设计的基本原理设计MIPS多周期处理器微指令格式为每一条MIPS指令构建微程序微程序指令顺序控制方法可自行选择。③构建微程序控制器微程序控制器电路中的指令译码逻辑和ALU控制逻辑相同电路图分别见“指令译码逻辑实现电路图”和“ALU控制器逻辑电路图”。实现微程序地址转移逻辑由“指令状态变换图”可得R_Type的微程序入口地址为7ADDI的微程序入口地址为11LW的微程序入口地址为2SW的微程序入口地址为5BEQ的微程序入口地址为7BNE的微程序入口地址为10SYSCALL的微程序入口地址为13。利用微程序地址转移逻辑自动生成表见“微程序地址转移逻辑自动生成表”生成逻辑表达式利用逻辑表达式完成微程序地址转移逻辑电路见“微程序地址转移逻辑电路图”。指令状态变换图微程序地址转移逻辑自动生成表微程序地址转移逻辑电路图微程序控制器电路见“多周期微程序控制器电路图”。多周期微程序控制器电路图④系统调试将微程序控制器输出与所有控点相连构造完整的多周期MIPS处理电路根据状态转换图指令测试控制器逻辑状态转换无误后测试程序包中的冒泡程序直至功能正确。注意多周期处理器中指令和数据存放至同一存储器中。用微指令生成表自动生成微指令微指令生成表见“微指令生成表”将微指令存入控制存储器将程序指令存入存储器中运行电路进行测试。测试结果见“多周期微程序CPU测试结果图”。多周期微程序CPU测试结果图五、遇到的问题及解决方法1.对各实验原理欠缺全面了解。因为计算机组成原理的理论课程并没有学得很扎实所以在实验前我对各实验的原理欠缺比较全面的理解没有办法直接进行电路的设计。在实验设计之前我重新学习了相关实验的理论知识搞清楚各实验背后的原理然后才尝试进行试验的设计。结合教材上提示的电路原理图以及网上的相关资料最后在理解试验背后理论知识原理的基础上完成了电路的设计工作。2.实验逻辑较为复杂电路设计步骤难度较大对实验原理理解程度要求较高一方面需要对实验原理进行深入的学习与理解另一方面需要参考一些资料进行电路设计并在设计过程中加深对实验原理的理解。3.本次实验使用了Logisim平台的新功能即自动生成电路的功能在实验中需要使用excel表生成逻辑利用逻辑自动生成电路这部分操作是前几次实验没有涉及的自己摸索的过程中花费了较大的精力。4.电路较为复杂除了设计阶段连接阶段也具有较大的挑战性即使有三次实验的操作经验在连接时也会经常出错导致电路短路出现错误。