中山大学本科生:单周期CPU控制器设计与实验7详细解析

需积分: 0 0 下载量 135 浏览量 更新于2024-06-30 收藏 712KB DOCX 举报
本篇实验报告是中山大学数据科学与计算机学院2019学年秋季学期计算机组成原理课程的一部分,由郭雪梅老师指导,汪庭葳和刘洋旗助教协助。实验主题聚焦在计算机结构与组成,具体是实验7,目标是让学生深入理解单周期CPU控制器的工作原理和设计方法,以及控制信号的作用和生成过程。 实验的核心内容是设计和实现一个简单的存储器模块,它具有4位地址输入和32位数据输出。实验者需编写代码来创建一个包含16个寄存器的寄存器堆模块,并根据输入的4位地址选择并输出相应的指令数据。存储单元的地址编码采用二进制表示,因为16个寄存器可以用4位完全标识。实验者还需要编写一个模块,该模块在每个时钟上升沿读取寄存器中的指令,并根据初始设定的指令值填充寄存器。 实验涉及到的具体指令包括加法(add)、无符号加法(addu)、小于(slt)、小于或等于(sltu)、跳转(jr)、带立即值的加法(addi)等,这些指令用于测试控制器的功能和性能。在这个过程中,学生会学习到如何通过硬件设计实现指令的存储和检索,以及如何利用逻辑门电路控制数据的读写操作。 通过这个实验,学生不仅可以提升编程技能,还能够理解计算机硬件的基本工作原理,包括指令集架构和基本控制逻辑。这对于理解计算机系统内部运作机制以及后续进行高级硬件设计和优化具有重要意义。此外,实验中可能还会涉及硬件描述语言(如Verilog或 VHDL)的应用,这是现代电子工程中不可或缺的技能之一。