课程简介
本课程设计是在本科4年学习的基础上,进行的一次综合性的设计实践。课程开设的时间是在大四的第1学期(短学期)和第2学期,总学时数为68个学时。
同学们经过3年多的学习和实践,无论在理论上还是实践上,在硬件上还是软件上,在系统角度还是应用角度都得到了不少的锻炼。在此基础上,本综合 设计从系统设计的角度,通过对两个实际的SOC(片上系统)的硬、软件设计,给学生一次综合性训练的机会。
具体授课与设计内容包括:
理论部分
作为一个实践课程,我们依然坚持理论在实践环节中的指导作用,在理论课上,我们会从系统的角度和设计的角度,帮助学生分析以下的一些问题:
- 计算机的各个部件是如何统一到一个整体之中,他们之间存在怎样的关系
- 软件和硬件究竟存在怎样的关系
- 如何一步步开始设计一个完整的系统
- 如何评价一个设计的优劣
- 多核处理器目前有哪些结构
- Intel多核结构的特点分析
- 双核处理器之间采用怎样的核间互连结构
硬件设计部分
- CPU设计。设计一个可运行指定的31条MIPS指令的RISC型32位MiniSys微处理器,具有32位指令,16位地址线和32位数据线,32个32位寄存器。
- 存储器设计。设计哈佛结构存储器,有独立的2~4KB的指令存储器和2~4KB的数据存储器。
- 中断设计。设计2个中断源入口,两级中断优先级。
- 2个16位定时/计数器的设计。
- 4×4键盘控制器的设计。
- 4位7段LED数码管控制器的设计。
- 简单UART串行通信控制器的设计。
- 其他常用接口或总线控制器的设计。(可选)
- 看门狗控制器的设计。
- SoC芯片的设计。将上述设计结合成一个完整的SoC芯片。
- 设计流水型甚至超标量型MiniSys处理器。(可选)
- 考虑增加乘法器和浮点运算单元。(可选)
- 考虑Cache的设计问题以及层次型存储结构。(可选)
- 考虑某种架构下简单多核处理器的设计。(可选)
软件部分
- 设计并实现MiniSys汇编器
- 基本输入输出系统BIOS的设计
- 硬件各部件测试程序的设计
- 综合测试程序的设计
- 探讨如何利用系统软件加强硬件功能(可选)
- 总结软件与硬件合作设计中应该注意的问题(可选)
- 设计MiniC 编译器。(可选)
- 探讨如何在编译器一级提高程序效率(可选)
- 探讨程序如何充分利用多核,软硬件该作何配合(可选)
- 通过对Intel Compiler的分析,探讨编译优化方法(可选)
- 通过对Intel VTune的分析,探讨Mini32系统代码跟踪技术(可选)
- 考虑在多核处理器中,如何调度线程(可选)
- 考虑小型运行时系统的设计(可选)
说明:上述课程设计内容中非可选项目是课程设计的基本要求,必须能达到,从创新意识和探索精神培养方面考虑,鼓励学生超过该基本要求,通过自主创新,完成更高层次的设计,其中的可选项只是作为自主创新中的一些新探索的提示,学生不受此限制,鼓励大家设计出技术更新、功能更强的系统。