根据新时期国家、社会和未来发展的需要,国家提出要研发自主可控的核心技术,从计算机角度来说,就是要打造具有自主可控技术的CPU和基础生态环境。《计算机系统综合设计 》顺应这一战略发展需要,在计算机专业本科阶段进行一次综合性的设计实践。
本课程的内容分为两大部分,第一部分(第1章~第18章),完成31条指令的单周期MIPS处理器Minisys-1的设计与实现,该部分适合学完“数字逻辑电路”和“计算机组成原理”的本科生进行综合性的课程设计。该部分建议1~2人为一组完成课程设计。第二部分(19章及以后),重点是完成多周期CPU、以流水型57条指令的MIPS处理器为核心的片上系统Minisys-1A SoC的设计和实现,同时兼顾配套汇编器和轻量级编译器的设计。 该部分建议4~5人为一组完成课程设计。课程的总体目标是培养学生的系统认识能力、系统分析能力、系统设计能力和实现能力、加强学生实践技能的培养,创新能力和团队合作能力的提高。学生通过本课程的完整学习和实践,无论在理论上还是实践上,在硬件上还是软件上,在系统角度还是应用角度都会得到锻炼,同时也能初步领悟到建立软件基础生态环境的必要性。。
本课程是一个实践性很强的课程,在课程中除了讲解设计的理论基础和设计上应该注意的问题,留有很多的实验给大家。本课程的实验可分为设计实验和跟做实验。大家只有在学习课程内容、查找相关资料的基础上,认真完成这些设计实验,并认真跟着课程视频完成跟做实验,才能真正得到锻炼,完成课程的要求。
本课程会提供三个附加章节,共选择本课程作为网络课程的学校作为课程思政素材。
01-学会Vivado
1.1 学会VIVADO-01-自制一个八进制计数器IP核
1.2 学会VIVADO-02-创建跑马灯项目
1.3 学会VIVADO-03-学会仿真、综合、实现和下载
02-计算机系统综合设计概述
2.1 计算机系统综合设计概述(1)
2.2 计算机系统综合设计概述(2)
03-Minisys-1的寄存器和指令系统
3.1 Minisys-1的寄存器和指令系统(1)
3.2 Minisys-1的寄存器和指令系统(2)
附加A. 中国计算机的发展史
A1. 中国计算机的发展史(上)
A2. 中国计算机的发展史(下)
附加B. 我的中国“芯”
B1. 我的中国“芯”(上)
B2. 我的中国“芯”(下)
附加C. 嵌入式系统发展趋势与思考
C1. 嵌入式系统发展趋势与思考
04-Minisys-1Minisys-1的典型指令详解
4.1 Minisys-1Minisys-1的典型指令详解(1)
4.2 Minisys-1Minisys-1的典型指令详解(2)
05-Minisys-1单周期CPU的数据通路设计(上)
5.1 Minisys-1单周期CPU的数据通路设计(上)(1)
5.2 Minisys-1单周期CPU的数据通路设计(上)(2)
06-Minisys-1单周期CPU的数据通路设计(下)
6.1 Minisys-1单周期CPU的数据通路设计(下)(1)
6.2 Minisys-1单周期CPU的数据通路设计(下)(2)
完成Minisys-1单周期CPU的数据通路设计
07-Minisys-1单周期CPU控制器的设计
7.1 Minisys-1单周期CPU控制器的设计(1)
7.2 Minisys-1单周期CPU控制器的设计(2)
控制器的设计仿真时序
08-Minisys-1单周期CPU时钟的设计
8.1 Minisys-1单周期CPU时钟的设计
09-Minisys-1单周期CPU取指模块的设计
9.1 -Minisys-1单周期CPU取指模块的设计(1)
9.2 -Minisys-1单周期CPU取指模块的设计(2)
提交设计的取指单元仿真的时序图
10-Minisys-1单周期CPU译码模块的设计
10.1 Minisys-1单周期CPU译码模块的设计(1)
10.2 Minisys-1单周期CPU译码模块的设计(2)
提交设计的译码单元仿真的时序图
11-Minisys-1单周期CPU执行模块的设计
11.1 Minisys-1单周期CPU执行模块的设计(1)
11.2 Minisys-1单周期CPU执行模块的设计(2)
提交设计的执行单元仿真时序图
12-Minisys-1单周期CPU存储模块的设计
12.1 Minisys-1单周期CPU存储模块的设计
提交设计的存储单元仿真时序图
13-Minisys-1单周期CPU简单接口的设计
13.1 Minisys-1单周期CPU简单接口的设计(1)
13.2 Minisys-1单周期CPU简单接口的设计(2)
14-Minisys-1单周期CPU的顶层封装实现与下载
14.1 Minisys-1单周期CPU的顶层封装实现与下载(1)
14.2 Minisys-1单周期CPU的顶层封装实现与下载(2)
提交设计的单周期CPU仿真时序图
15-Minisys-1汇编语言
15.1 Minisys-1汇编语言
16-Minisys-1汇编语言程序设计
16.1 Minisys-1汇编语言程序设计(1)
16.2 Minisys-1汇编语言程序设计(2)
16.3 Minisys-1汇编语言程序设计(3)
Minisys汇编程序设计2
Minisys汇编程序设计1
Minisys汇编程序设计4
Minisys汇编程序设计3
17. 为CPU增加串口下载软件的功能
17.1 为CPU增加串口下载软件的功能(上)
17.2 为CPU增加串口下载软件的功能(下)
18. 多周期CPU的设计
18.1 多周期CPU的设计(上)
18.2多周期CPU的设计(下)
19. Minisys-1A SOC设计概述
19.1 Minisys-1A SOC设计概述
20. Minisys-1A寄存器与指令系统
20.1 Minisys-1A寄存器与指令系统(上)
20.2 Minisys-1A寄存器与指令系统(下)
21. Minisys-1ACPU设计要点
21.1 Minisys-1ACPU设计要点(1)
21.2 Minisys-1ACPU设计要点(2)(上)
21.3 Minisys-1ACPU设计要点(2)(下)
21.4 Minisys-1ACPU设计要点(3)
22. Minisys-1A接口设计
22.1 Minisys-1A接口设计(1)(上)
22.2 Minisys-1A接口设计(1)(下)
22.3 Minisys-1A接口设计(2)(上)
22.4 Minisys-1A接口设计(2)(下)
23. MiniC编译器设计背景
23.1 MiniC编译器设计背景
24. MiniC简介
24.1 MiniC简介
25. 编译器总体框架与词法分析程序设计思路
25.1 编译器总体框架与词法分析程序设计思路
26. 语法分析程序设计思路
26.1 语法分析程序设计思路
27. 中间代码生成与优化及汇编代码生成设计思路
27.1 中间代码生成与优化及汇编代码生成设计思路
28. MiniC编译器总体框架设计
28.1 MiniC编译器总体框架设计
29. SeuLex框架设计与Lex简介
29.1 SeuLex框架设计与Lex简介
30. SeuLex数据结构设计
30.1 SeuLex数据结构设计
31. SeuLex算法设计
31.1 SeuLex算法设计
32. SeuLex相关实验项目
32.1 SeuLex相关实验项目
33. SeuYacc框架设计与Yacc简介
33.1 SeuYacc框架设计与Yacc简介
34. SeuYacc数据结构设计
34.1 SeuYacc数据结构设计
35. SeuYacc算法设计
35.1 SeuYacc算法设计
36. SeuYacc相关实验项目
36.1 SeuYacc相关实验项目
37. 中间代码生成技术
37.1 中间代码生成技术
38. 符号表与目标代码生成
38.1 符号表与目标代码生成
数据依赖与编程
延迟槽技术
有关函数调用