实验四的目的是让学生深入理解和应用MIPS架构以及其硬件中断机制。实验中,学生需要编写一个12/24小时制的电子表程序,该程序将在SoC_Lite平台上运行,利用Confreg模块来控制数码管和矩阵键盘等外设。
在开始实验前,学生应具备以下知识和技能:
1. 熟练使用Vivado工具进行设计和仿真。
2. 掌握MIPS汇编语言编程和编译。
3. 具备独立学习的能力。
在实验过程中,学生需要了解和使用的关键知识点包括:
1. MIPS指令集,如"li"、"la"等汇编指令及其对应的机器指令。
2. CPU的控制寄存器(如CP0寄存器),尤其是COUNT寄存器的功能。
3. MIPS中断的产生、标记和处理,包括ERET指令,以及STATUS、CAUSE、COMPARE、EPC等CP0寄存器的作用。
4. MIPS汇编指令中的伪操作,如.set、.org、.word、.global、.reorder等。
5. MTC0和MFC0指令,用于读写CP0寄存器。
6. MIPS中断机制,包括中断响应、开启/关闭、入口地址等概念。
7. 硬件中断和时钟中断的产生与清除机制。
实验任务要求学生编写的电子表程序具备以下功能:
1. 设有暂停/启动键,可切换计时和设置模式。
2. 可通过设置键调整时、分、秒的值,设置模式下按键操作有效。
3. 按键持续按下时,时、分、秒值连续递增,松开按键停止递增。
4. 非设置键操作不会影响计时准确性。
5. 使用硬件中断和时钟中断来实现功能,可提高评分。
实验环境包括基于lab3_func_4的软件编程环境,需要修改start.S文件中的相关代码,以及硬件运行环境ucas_cde_v0.3/cpu132_gettrace。
实验检查环节,学生需要提交实验报告和源代码,代码需包含详细注释。实验的评分标准依据是否使用中断机制以及功能的完整实现。
通过这个实验,学生将不仅能够巩固MIPS指令集和汇编编程,还能掌握硬件中断在实际系统中的应用,这对于理解计算机系统的工作原理至关重要。
评论0