计算机组成原理 

  • 学时:96学时
  • 预备知识:数字逻辑、离散数学、数字电子技术
  • 适用专业/开课对象: 计算机科学与技术、物联网工程、信息安全等
  • 教师交流QQ群: 778761784 【仅限教师】
  • 开课方式:加入QQ群,入群请备注:学校+姓名
开 课 地 址

教师寄语

       在当今社会中,计算机已经无处不在。计算机的核心部件是如何工作的呢,又是如何制造出来的呢?本课程会带领大家透过现象看本质,不仅让你了解计算机的基本构成及工作原理,而且在课程进行中,你也有机会自己亲自动手实现一台自己的“计算机”。同学们,还在等什么,快快加入学习吧~~


课程概述

        本课程是面向计算机类专业的专业基础课,也是计算机系统能力培养的核心课程。课程一共96学时,其中包括48学时理论学习,16学时课内实验,32学时课程设计。

        通过理论部分引导学生逐步掌握计算机硬件系统各部件的组成和工作原理,掌握各部件的分析与设计方法,最终理解计算机硬件系统的整体结构和工作机理。在课内实验环节,以能力培养为导向,注重理解思想、方法并能应用于解决复杂数字系统设计问题,引导学生设计并仿真实现一台单周期的计算机硬件系统的模型机,使学生能够对计算机软、硬件的基本知识有更深刻的理解。在课程设计环节,采用项目式、启发式的教学方法,以学生亲自动手实现一台流水线处理器来建立计算机系统观为最终教学目标。让学生通过实验中“整体-模块-整体”的处理器设计和功能仿真验证过程,真正掌握较完整流水线处理器设计的基本方法,并能够运用工程化方法进行功能测试,逐步具备复杂问题解决能力,为本专业后续课程的学习打下基础。


授课目标

        学生能够掌握计算机硬件系统的基本组成及工作机理,包括运算器的构成及工作原理;控制器的设计与实现方法;存储器及层次存储体系的概念及工作原理;输入/输出系统及工作方式,并建立整机概念。培养学生对计算机硬件系统的分析、设计和描述能力。通过实现解决数据冲突的静态五级流水线处理器这一复杂数字系统,在实践中锻炼学生解决复杂工程问题的能力。掌握处理器的设计方法以及功能测试方法,逐步培养学生具备计算机系统观。


参考教材

书名:计算机组成原理(微课版)

主编:谭志虎

副主编:秦磊华 吴非 肖亮

出版社:人民邮电出版社

简介:

       本书利用组合逻辑、同步时序逻辑电路设计的相关知识,从逻辑门开始逐步构建运算器、存储器、数据通路和控制器,最终集成为完整的CPU原型系统,使读者从设计者的角度理解计算机部件构成及运行的基本原理,掌握软硬件协同的概念。全书共9章,主要内容包括计算机系统概述、数据信息的表示、运算方法与运算器、存储系统、指令系统、中央处理器、指令流水线、总线系统、输入输出系统。
       本书可作为高等学校计算机相关专业“计算机组成原理”课程的教材,也可作为硕士研究生入学考试的参考书,还可作为计算机工程技术人员的参考书。

书名:CPU设计实战

作者:汪文祥 邢金璋

出版社:机械工业出版社

简介:

       本书共分为三个部分,第一部分介绍CPU的研发过程以及FPGA、数字逻辑电路等相关知识;第二部分先介绍简单流水线CPU设计,在此基础上添加指令、例外、中断、总线、高速缓存等功能,完成一个具有基本功能的CPU;第三部分介绍如何增加各种高级功能,最终形成一个具有丰富功能的CPU。
       本书深入浅出、层次清晰,并融入了典型的CPU开发相关的技术问题,既可以作为高等院校计算机及相关专业本科生和研究生的CPU开发类课程的教材,也可以作为从事CPU相关研发工作的专业人员的参考书。

实验列表

课内实验(16学时)

专题 知识点 实验名称 学时 难度
取指模块实验 支持分支转移的取指 取指模块设计实验 2 4
寄存器堆模块实验 同步写入异步读出寄存器 寄存器堆设计实验 2 4
运算模块实验 多功能运算器 多种指定功能运算器实验 2 3
超前进位加法器 超前进位加法器设计实验 2 3
存储模块实验 哈弗结构存储设计 指令存储模块设计实验 1 4
数据存储模块设计实验 1 4
控制模块实验 运算模块控制 运算控制模块设计实验 1 3
数据通路控制 控制器模块设计实验 2 4
单周期CPU实验 整机分析与设计 单周期CPU设计实验 3 5

课程设计实验(32学时)

专题 知识点 实验名称 学时 难度
构建一条理想的流水线
支持算术逻辑运算指令
寄存器堆读写功能 寄存器堆读写实验 1 3
五级流水级实现 取指级等五级功能实现 2 3
中间级实现 中间级功能实现 1 3
解决写后读数据冲突 数据前递原理实现 数据前递技术实现实验 2 4
实现分支跳转指令 理解延迟槽的功能 取指级支持分支实验 2 5
译码级支持分支实验 2 5
实现访存类指令 访存指令设计实现 译码级支持访存实验 2 4
执行级支持访存实验 2 5
访存级实现实验 2 4
写回级实现实验 2 4
解决访存数据冲突 访存冲突检测 译码级冲突检测实验 2 4
执行级冲突检测实验 2 4
访存级冲突检测实验 2 4
译码级访存控制相关信号生成实验 2 4
流水线暂停实现 暂停技术实现实验 2 5
流水线处理器功能仿真测试 用编写testbench和差分方式(trace)分别进行功能仿真测试 流水线处理器功能测试实验 4 5