本课程设计的系列原创的虚拟仿真实验有效克服了传统计算机硬件实验平台和实验体系的不足,无需任何硬件实验平台,突破了传统硬件实验对实验场地和实验平台的约束,课内课外相结合,特别适合线上线下开展。遵循层次化、递进化、系统化的思想,利用简单易学的虚拟仿真实验平台,采用最直观的构建原理图的方式,让学生从门电路开始逐步设计组合逻辑、时序逻辑、运算器、存储系统、数据通路和控制器、流水控制逻辑直至完整的MIPS CPU来深入理解计算机系统,大大加深硬件系列课程的理解。计算机相关专业同学在学习《数字逻辑》、《计算机组成原理》、《计算机组织与结构》、《计算机系统结构》时可配套本课程的部分或全部内容进行辅助学习,可大大提升相关课程学习效果。
课程成果从2014年开始逐步应用在我院《数字逻辑》、《逻辑与计算机设计基础》、《计算机组成原理》、《硬件综合训练》、《计算机组成原理课程设计》等课程的实践教学中,受到了广大师生的一致好评,相关实验课堂多次被评为学生最满意课堂,四次获得校优秀课程设计,四次校优秀课程实验,2018年获华中科技大学实验技术成果奖一等奖。先后主办过5次实验教学导教班,来自全国约110所兄弟院校近300位教师学习了课程实验教学模式、目前多所院校采用了本课程的相关实验方案。
选课对象:
1、想把硬件课程学好学精的计算机相关专业学生。
2、想提分的《计算机组成原理》考研同学, 欢迎讨论区提问,有问必答!!!
3、对计算机硬件系统内部原理感兴趣的工程技术人员。
实验无需任何硬件平台,采用基于JAVA平台的Logisim虚拟仿真软件开展相关实验,可在支持Win、Linux、Mac平台。平台简单易学,一小时即可上手实验,有效突破传统硬件实验对时间、空间的限制,改变实验模式,极大的拓展延长了课外实验时间,大大提升实验效率,特别适合线上线下开展。目前加州伯克利大学CS61C课程,康奈尔大学CS3410课程、杜克大学ECE250D课程均采用该平台进行实验。
原理图构建电路,简单直观,培养硬件思维
传统实验箱实验可靠性低,调试工作量大,挫败感严重,维护工作量大,在固定的实验场所有限时间内很难完成复杂的设计型实验。FPGA开发板实验采用硬件描述语言进行硬件设计,但学习周期过长,调试难度大,技术水平要求过高;硬件设计程序化导致学生很难建立硬件设计与底层电路的对应关系,硬件设计体会不深。本课程在Logisim虚拟仿真平台上采用原理图方式进行硬件电路设计,不需学习硬件描述语言等课程,平台易学易用,调试方便,原理图构建电路可有效提升学生的硬件思维,延续了数字逻辑课程中的设计方法。
本课程开发的一系列的原创性实验,既体现趣味性,又体现实验难度,让学生在做中学,玩中学。原创的海明、CRC校验码编码流水传输实验、流水乘法器实验、磁盘阵列控制器实验、cache硬件设计实验、MIPS多周期硬布线与微程序控制器设计、MIPS五段流水CPU设计、动态分支预测实验等均是国际国内首创,一个个层次递进,由易到难的实验就犹如游戏中设计精巧的关卡,等待你去通关,不服来战!
通过输入输出接口规范化,测试用例标准化,性能指标数据化,实验测试评分自动化等一系列手段,构建了实验一分钟检测框架,大大提升实验的易检查性。原创的硬件实验自动评测系统,学生可自行检查实验、系统可进行故障记录、自动评分,及时反馈实验结果,大大提升实验效率,为实验提供精准指导,学生自主学习,主动实践,促进实践教学模式的改革。
实践内容紧扣硬件课程理论教学重点难点,努力让枯燥的理论知识在实践中鲜活起来,重知识点的综合应用和评价,学生反馈完成实验知识点想忘都难,真正做到实践教学助力理论教学。将高难度的五段流水CPU设计任务分解为层次递进,由易到难的多个单元实验,跨课程实施,最终集成为完整的CPU,让多门课程衔接更顺畅,在递进的学习过程中让学生养成系统观,有效提升学生计算机系统设计能力。
课程成果从2014年开始逐步应用在我院《数字逻辑》、《逻辑与计算机设计基础》、《计算机组成原理》、《硬件综合训练》、《计算机组成原理课程设计》等课程的实践教学中,受到了广大师生的一致好评,相关实验课堂多次被评为学生最满意课堂,四次获得校优秀课程设计,四次校优秀课程实验,2018年获华中科技大学实验技术成果奖一等奖。先后主办过3次实验教学导教班,来自全国约80所兄弟院校200余教师学习了课程实验教学模式、目前多所院校采用了本课程的相关实验方案。
通过系列实验,帮助学生提升相关理论课程的学习效果,在层次递进的实验中培养学生的硬件思维,努力使大部分学生达到较高的硬件系统设计水准,有效提升学生计算机系统能力。
1 课程导学与实验环境
1.0 《计算机硬件系统设计》课程导学
1.1 一小时玩转Logisim
1.2 Logisim中的延迟与险象
1.3 Logisim中的震荡现象
1.4 Logisim常用组件库【线路库看看即可,其它用啥学啥】
1.5 Logisim新手实验(★必做实验★)
1.6 Logisim作品秀《五级流水CPU+操作系统+应用程序》
1.7 Educoder在线测试
2 数字逻辑基础实验 (数字逻辑)
2.1 组合逻辑电路设计
2.2 同步时序电路设计
2.3 小型数字系统设计
数字逻辑知识测试
3 数据表示实验 (组成原理)
3.1 汉字编码实验
3.2 奇偶校验应用实验 RAID控制器(建设中)
3.3 海明编码设计实验
3.4 CRC编码设计实验
3.5 编码流水传输实验
数据表示单元测验
4 运算器设计
4.1 运算器实验基本框架
4.2 快速加法器实验
4.3 32位ALU设计实验
4.4 阵列乘法器以及乘法流水线设计
4.5 原码一位乘法器设计
4.6 补码一位乘法器设计
运算器单元测试
5 存储系统设计
5.1 存储系统实验框架
5.2 汉字字库存储扩展实验
5.3 MIPS RAM设计
5.4 MIPS寄存器文件设计
5.5 Cache映射机制与逻辑实现
5.6 硬件cache机制设计设计实验
存储系统单元测试
6 MIPS CPU设计
6.1 单周期MIPS架构
6.2 多周期MIPS架构
6.3 单周期MIPS CPU设计(8条指令)
6.4 多周期MIPS CPU微程序控制器设计
6.5 多周期MIPS CPU硬布线控制器设计
6.6 单周期MIPS CPU设计(24条指令)
6.7 MIPS中断处理机制
CPU设计单元测试
7. MIPS指令流水线设计(系统结构)
7.1 指令流水线基本概念
7.2 理想指令流水线设计
7.3 流水线分支相关处理
7.4 流水线数据相关处理
7.5 流水线重定向处理
7.6 流水线高级调试技巧
8.单总线MIPS CPU设计
8.1 单总线MIPS CPU数据通路
8.2 单总线MIPS CPU三级时序硬布线控制器原理
8.3 单总线MIPS CPU现代时序硬布线控制器原理
8.4 单总线MIPS CPU微程序控制器原理
8.5 单总线MIPS CPU三级时序控制器实验
8.6 单总线MIPS CPU现代时序控制器实验
第二章先修课为数字逻辑、其他章节先修课为计算机组成原理、汇编语言设计、C语言程序设计,课程可以配合《操作系统》一起学习,方便大家从软件和硬件两个层次深入理解计算机。
1、主要参考教材
2、其他参考资料
[1] 实验环境:logisim-ita-cn-20200118,java平台,支持Win、Linux、MAC平台,无需任何硬件平台。
[2] 实验资料下载: https://gitee.com/totalcontrol/hustzc/ (码云下载)
[3] 数字逻辑在线实验: https://www.educoder.net/paths/yrbse2cf (头歌平台)
[4] 计算机组成在线实验: https://www.educoder.net/paths/hvbz6g9i (头歌平台)