Computer Organization 建议教材:
袁春风 余子濠编著《计算机组成与设计(基于RISC-V架构)》,高等教育出版社,2020.10 参考资料:
[1] David A. Patterson, John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface:RISC-V Edition,2018
[2] Randal E. Bryant, David R. O'Hallaron著,龚奕利,贺莲译,深入理解计算机系统(原书第3版) 北京:机械工业出版社,2016
[3] 袁春风主编,计算机组成与系统结构(第2版) 北京:清华大学出版社,2015 教学内容:
本课程主要介绍计算机组成与系统结构涉及的相关概念、理论和技术内容,以新兴的开放指令集架构RISC-V为模型机,着重介绍涉及整数和浮点数运算、指令集体系结构(ISA)、中央处理器、存储器和I/O接口等方面的设计思路和具体结构。主要内容包括:计算机系统及其性能评价、运算方法和运算部件、RISC-V指令系统、基于RISC-V架构的CPU设计,以及并行处理计算系统的基本结构。其中,CPU设计部分是重点,主要介绍CPU的基本功能和内部结构、指令执行过程、数据通路的基本组成和定时、单周期和多周期数据通路、硬连线路和微程序控制器、指令流水线的基本原理、流水段寄存器的概念、流水线数据通路的设计、流水线的控制信号、结构冒险及其处理、数据冒险及其处理、控制冒险及其处理、分支预测原理、超标量和动态流水线的概念和技术。 教学目标:
通过本课程的学习,将使学生深刻理解指令集体系结构和微体系结构之间的关系,掌握核心运算部件ALU以及计算机内部各种基本运算算法和运算部件的设计原理,了解CPU执行指令的整个过程,并对指令系统设计、CPU的实现、中断/异常的硬件处理机制以及硬件对OS的支持等内容有深入的了解,能够利用硬件描述语言和FPGA开发板来设计实现基本的功能部件以及单周期CPU、多周期CPU和流水线CPU。
计算机组成与设计
Computer Organization and Design 教学内容:
因为在本课程之前已经设置了“计算机系统基础”,学生已经建立了单处理器计算机系统的整机概念,并能够构造出完整的计算机系统的基本框架。因而,“计算机组成与设计”课程的教学目标和教学内容与传统的“计算机组成原理”课程有所不同。对于在传统组原课程中的相关内容,有些已经包含在“计算机系统基础”中(例如,数据的表示、存储器层次结构、Cache和虚拟存储器等)的部分将不再出现在本课程中。 本课程主要围绕“CPU原理和设计”这一核心问题展开教学,包括:指令系统设计、指令执行过程、功能部件设计、非流水线CPU设计、流水线CPU设计、中断/异常以及硬件对OS的支持、系统互连和I/O子系统、并行体系结构设计简介等。 教学目标:
使学生在理解高级语言程序与机器级代码之间对应关系的基础上,进一步理解机器级代码如何在具体硬件系统中的执行过程,并对指令执行过程中涉及到的各个功能部件及其功能部件之间的互连等有更加深刻的理解。因而,该课程规划为以微结构设计者角度来认识计算机系统。通过该课程的学习,配合实验教学,要求学生能够利用硬件描述语言和FPGA开发板来设计基本功能部件以及单周期CPU、多周期CPU和流水线CPU。
Digital Logic and Computer Organization Experiments 建议教材:
《数字逻辑与计算机组成》 袁春风 武港山 吴海军 余子濠 机械工业出版社
课程提供配套实验讲义 参考资料:
参考资料:
[1] DE10-Standard User Manual, Terasic, 2017
[2] Verilog 数字系统设计教程 夏闻宇编著 北京航空航天大学出版社
[3] John F. Wakerly 数字设计 原理与实践 林生等译 北京 机械工业出版社 2008.03
[4] IEEE Standard Verilog Hardware Description Language 2001, IEEE Std. 1364-2001.
课程网站:http://cslabcms.nju.edu.cn/ 教学内容:
本实验课程以Intel/Altrera公司的DE10-Standard FPGA开发平台为主要实验仪器,利用Intel/Altera公司提供的Quartus开发环境为工具,在个人电脑上用Verilog硬件描述语言进行数字系统组件的设计,并在完成常用组件级设计的基础上,了解简单数字系统的设计过程和方法,通过CPU设计及数字输入输出设备设计,最终实现一套完整的RISC-V计算机系统。通过实验进一步巩固和加深数字逻辑与计算机组成理论课的内容。
具体的实验项目有:Quartus的使用、Modelsim的使用和Verilog HDL语言概述;多路选择器;编码器和译码器;加法器和ALU;计数器;寄存器堆和存储器;移位寄存器和桶形移位器;键盘和状态机设计;VGA显示器;字符交互界面;RISC-V数据通路设计;RSIC-V单周期CPU设计及计算机系统设计等。
本课程实验会在FPGA上实现基于RISC-V指令集的完整计算机系统,包含基于键盘和显示器的字符交互界面,及基于C语言的系统软件实现。 英文简介:
This experimental course uses the DE10-Standard FPGA hardware platform and the Quartus software development environment provided by Intel/Altera. Students will use Verilog HDL to design digital systems on their personal computers in this course. They will understand the basics of digital system design and test in the process of designing common digital components. They will then implement complex digital components such as CPU and input/output devices. Finally, they will assemble these components into a RISC-V computer system. The goal of this course is to understand and applying the knowledge learned from the Digital Design and Computer Organization course.
The experiments include Introduction to Quartus and Modelsim; Verilog HDL basics; Multiplexers; Encoder and Decoders; Adders and ALU; Counters; Registers and Memory; Shift registers and Barrel shifters; Keyboard controller; VGA controller; Terminal interface design; RISC-V data path; Single-cycle CPU design; Computer System Design;
At the end of this course, the student will be able to build a running RISC-V computer system that can interact with the user using keyboards and VGA displays. The computer system would be capable to run programs written in C. 教学目标:
通过本实验课程的训练,使学生深入理解数字逻辑电路和CPU的工作原理,具备基本的逻辑分析和设计能力;引导学生学习使用现代数字系统设计的常用工具,初步掌握用可编程器件实现数字系统的方法,并能够独立设计软硬件结合的计算机系统;同时,训练学生在实验前进行充分预习,在实验过程中详细记录实验数据,和对实验结果进行认真分析并完成实验报告等科学实验的能力,养成规范实验的工作习惯。