《计算机组成原理与汇编语言》课程教学大纲 一、课程基本信息 课程代码:16122404 课程名称:计算机组成原理与汇编语言 英文名称:Computer Organization and Assembly Language 课程类别:学科基础课 时:64,其中实验20学时 学 分分.4 适用对象:计算机专业 考核方式:考试 先修课程:C语言 二、课程简介 本课程是计算机专业的学科基础课,属于硬件课程群,课程从程序员的角度来讲 解计算机系统,解释计算机系统的基本概 ,并说明这些概念是如何实实在在地影响 应用程序的正确性、性能和实用性的。因此是软件硬件建立联系的关键课程。 该课程研究单机系统的内部工作机制、组成原理和系统结构以及学习汇编语言的 有关基础知识,通过本课程的学习,建立一台计算机的整机概念,清楚地了解指令和 数据在计算机中的流向,初步掌握汇编语言程序设计,建立软硬件之间的联系。 本课程主要面向计算机专业大学二年级学生而设。 This course is a basic course of computer science.Our aim is to explain the enduring concepts underlying all computer systems,and to show you the concrete ways that these ideas affect the correctness,performance,and utility of your application programs.So it is the key course for software and machine organization.It also describes the assembly-level language of common architectures.The course introduces the computer organization and the basics of assembly language programming The aim is to explain the enduring concepts underlving the hardware of computer systems.to howa clear fow of instructions and data in the to the basics of smbly language programming The course is intended for a single-semester course for second-year undergraduates. 三、课程性质与教学目的 《计算机组成原理与汇编语言》是计算机专业必修的一门学科基础课。 本课程主要讨论计算机各组成部件的基本概念、基本结构及其工作原理,包 括:数据的表示,运算器的组成和原理,控制器的组成和工作原理,存储器的组 成,输入输出设备的工作原理:汇编语言编程基础,包括:寄存器的概念、基本
1 《计算机组成原理与汇编语言》课程教学大纲 一、课程基本信息 课程代码:16122404 课程名称:计算机组成原理与汇编语言 英文名称:Computer Organization and Assembly Language 课程类别:学科基础课 学 时:64,其中实验 20 学时 学 分:4 适用对象: 计算机专业 考核方式:考试 先修课程:C 语言 二、课程简介 本课程是计算机专业的学科基础课,属于硬件课程群,课程从程序员的角度来讲 解计算机系统,解释计算机系统的基本概念,并说明这些概念是如何实实在在地影响 应用程序的正确性、性能和实用性的。因此是软件硬件建立联系的关键课程。 该课程研究单机系统的内部工作机制、组成原理和系统结构以及学习汇编语言的 有关基础知识,通过本课程的学习,建立一台计算机的整机概念,清楚地了解指令和 数据在计算机中的流向,初步掌握汇编语言程序设计,建立软硬件之间的联系。 本课程主要面向计算机专业大学二年级学生而设。 This course is a basic course of computer science. Our aim is to explain the enduring concepts underlying all computer systems, and to show you the concrete ways that these ideas affect the correctness, performance, and utility of your application programs. So it is the key course for software and hardware establishment. The course covers the central aspects of computer organization and architecture: data representation, and machine organization. It also describes the assembly-level language of common architectures. The course introduces the computer organization and the basics of assembly language programming. The aim is to explain the enduring concepts underlying the hardware of computer systems, to show a clear flow of instructions and data in the computer, and to learn the basics of assembly language programming. The course is intended for a single-semester course for second-year undergraduates. 三、课程性质与教学目的 《计算机组成原理与汇编语言》是计算机专业必修的一门学科基础课。 本课程主要讨论计算机各组成部件的基本概念、基本结构及其工作原理,包 括:数据的表示,运算器的组成和原理,控制器的组成和工作原理,存储器的组 成,输入输出设备的工作原理;汇编语言编程基础,包括:寄存器的概念、基本
指令、三种控制结构的实现、子程序的实现与调用等。通过本课程的学习,使学 生掌握计算机系统各部件的组成原理及相互联系与作用,理解计算机系统的内部 运行机理并建立完整的整机概念,初步学习汇编语言程序设计,为学习其它专业 基础课和专业课打下一个良好的基础。 四、教学内容及要求 第一章计算机系统漫游 (一)目的与要求 1.本章主要介绍计算机系统的构成、计算机的硬件、软件如何共同工作 来运行程序。通过跟踪一个简单程序的生命周期来简单认识一些关键 的基本概念和术语以及计算机的各个组成部分。 2.要求学生掌握计算机的硬件组成,了解计算机程序在计算机硬件系统 上的执行过程,学握软硬件的基本概念和术语。 (二)教学内容 第一节什么是计算机 1.主要内容:计算机概念、计算机系统的层次结构 2.基本概念和知识点:冯·诺依曼机:存储程序工作方式:数字化 第二节hello程序的生命周期 1.主要内容:跟踪一个简单的hel1lo程序的生命周期。 2.基本概念和知识点:信息;程序;编译:处理器;硬件的基本构成 存储器:高速缓存 (三)思考与实践 思考:一个简单的hello程序,从被程序员创建,到系统上运行,输出简单的 信息,终止,在其生命周期中都经历了什么,计算机各部件又都做了什么。 思考2:结合当前国情,我国企业华为为什么被美国政府多次制裁,显然原 因在于重要的计算机核心技术,通过本章的学习,希望同学们建立起学好计算机、 增强技术竞争力,为国家而努力学习的伟大志愿。 (四)教学方法与手段 课堂讲授、多媒体教学 第二章计算机中的信息表示 (一)目的与要求 1、本章主要讲授数据在计算机里的存储格式、定点浮点的表示方法、汉 字与字符串的表示:补码的加减运算、溢出测试及解决办法、基本的二进 制加法器:算术、逻辑运算、AU原理、定点运算的基本结构;浮点加减 法运算。 2、要求学生掌握数在计算机里的不同表示方法:补码、原码:定点数的 2
2 指令、三种控制结构的实现、子程序的实现与调用等。通过本课程的学习,使学 生掌握计算机系统各部件的组成原理及相互联系与作用,理解计算机系统的内部 运行机理并建立完整的整机概念,初步学习汇编语言程序设计,为学习其它专业 基础课和专业课打下一个良好的基础。 四、教学内容及要求 第一章 计算机系统漫游 (一)目的与要求 1.本章主要介绍计算机系统的构成、计算机的硬件、软件如何共同工作 来运行程序。通过跟踪一个简单程序的生命周期来简单认识一些关键 的基本概念和术语以及计算机的各个组成部分。 2.要求学生掌握计算机的硬件组成,了解计算机程序在计算机硬件系统 上的执行过程,掌握软硬件的基本概念和术语。 (二)教学内容 第一节 什么是计算机 1.主要内容:计算机概念、计算机系统的层次结构 2.基本概念和知识点:冯·诺依曼机;存储程序工作方式;数字化 第二节 hello 程序的生命周期 1.主要内容:跟踪一个简单的 hello 程序的生命周期。 2.基本概念和知识点:信息;程序;编译;处理器;硬件的基本构成; 存储器;高速缓存 (三)思考与实践 思考:一个简单的 hello 程序,从被程序员创建,到系统上运行,输出简单的 信息,终止,在其生命周期中都经历了什么,计算机各部件又都做了什么。 思考 2:结合当前国情,我国企业华为为什么被美国政府多次制裁,显然原 因在于重要的计算机核心技术,通过本章的学习,希望同学们建立起学好计算机、 增强技术竞争力,为国家而努力学习的伟大志愿。 (四)教学方法与手段 课堂讲授、多媒体教学 第二章 计算机中的信息表示 (一)目的与要求 1、本章主要讲授数据在计算机里的存储格式、定点浮点的表示方法、汉 字与字符串的表示;补码的加减运算、溢出测试及解决办法、基本的二进 制加法器;算术、逻辑运算、ALU 原理、定点运算的基本结构;浮点加减 法运算。 2、要求学生掌握数在计算机里的不同表示方法:补码、原码;定点数的
加减运算以及溢出测试:掌握基本二进制加法器原理了解浮点数的表示及 运算 (二)教学内容 第一节信息的表示方法 1.主要内容:数值型数据和非数值型数据的表示 2.基本概念和知识点:定点数、浮点数以及机器码的几种表示方式 第一节定点数的基本坛算 1.主要内容:补码运算、加法器及定点运算器的实现 2.基本概念和知识点:补码的加减法运算,溢出,加法器,A山 第三节浮点数的运算 1.主要内容:浮点加减运算基本步骤 2.基本概念和知识点:对阶、规格化 (三)思考与实践 思考:计算机中的计算为什么会发生溢出? 思考2:我国为什么成功登月,航天航空技术的发展,离不开准确无误的数据 收集整理分析,数据是一切科学分析的基础,因此,学好本章内容,才能为报 效祖国打好基础,做好准备。 实践:搭建并熟悉实验环境、加法器实验 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实验 第三章程序的机器级表示 (一)目的与要求 1.本章主要讲授指令系统、低级语言与硬件结构之间的关系:指令的格 式、指令和数据的寻址方式。训练学生掌握程序设计技术,培养学生 实际动手能力。使学生学会控制硬件进行编程,掌握汇编语言的特点 和编程技术,熟悉汇编、链接和调试的方法,并具有阅读汇编语言程 序的能力。 2.要求掌握指令系统中的常用指令、数据寻址的基本方法,能读懂一些 简单的机器代码。 (二)教学内容 第一节机器语言的表示 1,主要内容:指令与程序的关系、指令格式 2。基本概念和知识点:低级语言和高级语言对硬件的依赖情况、指令的 操作码和地址码,寻址方式 第二节机器语言的处理 3
3 加减运算以及溢出测试;掌握基本二进制加法器原理了解浮点数的表示及 运算。 (二)教学内容 第一节 信息的表示方法 1.主要内容: 数值型数据和非数值型数据的表示 2.基本概念和知识点:定点数、浮点数以及机器码的几种表示方式 第二节 定点数的基本运算 1.主要内容:补码运算、加法器及定点运算器的实现 2.基本概念和知识点:补码的加减法运算,溢出,加法器,ALU 第三节 浮点数的运算 1.主要内容:浮点加减运算基本步骤 2.基本概念和知识点:对阶、规格化 (三)思考与实践 思考:计算机中的计算为什么会发生溢出? 思考 2:我国为什么成功登月,航天航空技术的发展,离不开准确无误的数据 收集整理分析,数据是一切科学分析的基础,因此,学好本章内容,才能为报 效祖国打好基础,做好准备。 实践:搭建并熟悉实验环境、加法器实验 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实验 第三章 程序的机器级表示 (一)目的与要求 1.本章主要讲授指令系统、低级语言与硬件结构之间的关系;指令的格 式、指令和数据的寻址方式。训练学生掌握程序设计技术,培养学生 实际动手能力。使学生学会控制硬件进行编程,掌握汇编语言的特点 和编程技术,熟悉汇编、链接和调试的方法,并具有阅读汇编语言程 序的能力。 2.要求掌握指令系统中的常用指令、数据寻址的基本方法,能读懂一些 简单的机器代码。 (二)教学内容 第一节 机器语言的表示 1.主要内容:指令与程序的关系、指令格式 2.基本概念和知识点:低级语言和高级语言对硬件的依赖情况、指令的 操作码和地址码,寻址方式 第二节 机器语言的处理
1.主要内容:数据加工指令 2.基本概念和知识点:算术运算指令、逻辑运算指令 第三节机器语言的控制与过程 1.主要内容:机器语言中的控制结构 2.基本概念和知识点:条件码、跳转指令、子程序调用与返回指令,三 种循环结构的实现 第四节机器语言的数据结构 1.主要内容:机器语言中复合数据结构 2.基本概念和知识点:数组结构的实现,数组元素地址的计算 (三)思考与实践 思考:低级语言程序如何实现高级语言程序中的各种处理和控制 实践:数据实验、程序调试工具gb、二进制炸弹实验 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实验 第四章处理器体系结构 (一)目的与要求 1.本章主要讲授CPU的功能、组成、结构以及其中的主要寄存器作用: 指令周期的基本概念、典型指令的指令周期:时序信号的作用与体制 时序信号产生器以及控制方式:微命令与微操作、微指令与微程序、 微程序控制器、CPU周期与微指令周期的关系、机器指令与微指令的 关系:硬布线控制器。 2.要求学生掌握CU的功能与结构,指令周期的基本概念、硬布线控制 器的原理,典型指令的指令流程:了解时序信号的作用与体制,了解 RISC与CISC的概念。 (二)教学内容 第一节CPU的功能和组成 1.主要内容:CPU的组成 2.基本概念和知识点:CPU、处理器的各种状态、运算器、控制器和各种 寄存器的组成结构。 第二节指令周期与时序 1.主要内容:指令周期,基本硬件的逻辑设计 2.基本概念和知识点:指令周期、逻辑门、组合电路、时序电路 第三节控制器的实现 1.主要内容:控制器及指令流程 2.基本概念和知识点:指令处理的各个阶段、控制器的实现 4
4 1.主要内容:数据加工指令 2.基本概念和知识点:算术运算指令、逻辑运算指令 第三节 机器语言的控制与过程 1.主要内容:机器语言中的控制结构 2.基本概念和知识点:条件码、跳转指令、子程序调用与返回指令,三 种循环结构的实现 第四节 机器语言的数据结构 1.主要内容:机器语言中复合数据结构 2.基本概念和知识点:数组结构的实现,数组元素地址的计算 (三)思考与实践 思考:低级语言程序如何实现高级语言程序中的各种处理和控制 实践:数据实验、程序调试工具 gdb、二进制炸弹实验 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实验。 第四章 处理器体系结构 (一)目的与要求 1.本章主要讲授 CPU 的功能、组成、结构以及其中的主要寄存器作用; 指令周期的基本概念、典型指令的指令周期;时序信号的作用与体制、 时序信号产生器以及控制方式;微命令与微操作、微指令与微程序、 微程序控制器、CPU 周期与微指令周期的关系、机器指令与微指令的 关系;硬布线控制器。 2.要求学生掌握 CPU 的功能与结构,指令周期的基本概念、硬布线控制 器的原理,典型指令的指令流程;了解时序信号的作用与体制,了解 RISC 与 CISC 的概念。 (二)教学内容 第一节 CPU 的功能和组成 1.主要内容:CPU 的组成 2.基本概念和知识点:CPU、处理器的各种状态、运算器、控制器和各种 寄存器的组成结构。 第二节 指令周期与时序 1.主要内容:指令周期,基本硬件的逻辑设计 2.基本概念和知识点:指令周期、逻辑门、组合电路、时序电路 第三节 控制器的实现 1.主要内容:控制器及指令流程 2.基本概念和知识点:指令处理的各个阶段、控制器的实现
第四节RISC与CISC的概念 1,主要内容:RISC 2.基本概念和知识点:RISC、CISC、二者区别。 (三)思考与实践 思考1:一段程序的多条指令是如何在处理器各个部分进行处理的,即指令流 程分析。 思考2:CU的白主设计削语对我们国家有客重要?我们国家使用的计算机. 几乎其核心部件CU都是来自西方国家,使得我国计算机技术严重受制于人,而本章 内容就是介绍CU的构成原理,因此,学好本章,对于以后投身我国自主研发设计 CPU来说是基础之基础,重中之重。 实践:指令流程实验 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实践。 第五章存储系统及I0系统 (一)目的与要求 L.本章主要讲授存储器的分类、分级结构以及存储器的技术指标:cache 的基本原理、主存与cache的地址映射以及cache的替换策略与写操 作,I0系统。 2.要求学生掌握存储器与CU的连接以及存储器字扩展、位扩展的方法, 掌握cache的基本原理、地址映射、替换策略:了解存储器的分类、 分级以及各种技术指标、I0系统。 (二)教学内容 第一节存储器层次结构及10系统 1.主要内容:局部性及存储器层次结构 2.基本概念和知识点:局部性,多级存储结构、存储器扩展 第二节高速缓存 1.主要内容:高速缓存组织及映射 2.基本概念和知识点:高速缓存、三种映射 (三)思考与实践 思考:重点理解局部性,它是Cache提速的依据。 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实践 五、各教学环节学时分配
5 第四节 RISC 与 CISC 的概念 1.主要内容:RISC 2.基本概念和知识点:RISC、CISC、二者区别。 (三)思考与实践 思考 1:一段程序的多条指令是如何在处理器各个部分进行处理的,即指令流 程分析。 思考 2:CPU 的自主设计制造对我们国家有多重要?我们国家使用的计算机, 几乎其核心部件 CPU 都是来自西方国家,使得我国计算机技术严重受制于人,而本章 内容就是介绍 CPU 的构成原理,因此,学好本章,对于以后投身我国自主研发设计 CPU 来说是基础之基础,重中之重。 实践:指令流程实验 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实践。 第五章 存储系统及 IO 系统 (一)目的与要求 1.本章主要讲授存储器的分类、分级结构以及存储器的技术指标;cache 的基本原理、主存与 cache 的地址映射以及 cache 的替换策略与写操 作,IO 系统。 2.要求学生掌握存储器与 CPU 的连接以及存储器字扩展、位扩展的方法, 掌握 cache 的基本原理、地址映射、替换策略;了解存储器的分类、 分级以及各种技术指标、IO 系统。 (二)教学内容 第一节 存储器层次结构及 IO 系统 1.主要内容:局部性及存储器层次结构 2.基本概念和知识点:局部性,多级存储结构、存储器扩展 第二节 高速缓存 1.主要内容:高速缓存组织及映射 2.基本概念和知识点:高速缓存、三种映射 (三)思考与实践 思考:重点理解局部性,它是 Cache 提速的依据。 (四)教学方法与手段 课堂讲授、多媒体教学、课堂讨论、上机实践 五、各教学环节学时分配 教学环节 讲 习 题 讨 论 实验 其他教 学环节 小
教学时数 课程内容 第一章计算机系统漫游 2 2 第二章计算机中的信息表 10 16 示 第三章程序的机器级表示 12 8 24 第四章处理器体系结构 10 14 第五章存储系统、I0系统 六、推荐教材和教学参考资源 推荐教材: l.[美]Randal E.Bryant&David R.0'Hallaron著.深入理解计算 机系统(原书第二版)·龚奕利&雷迎春译.北京:机械工业出版社, 2014 参考书: l.[美]David A.Patterson&John L.Hennessy著.计算机组成与设 计:硬件/软件接口.郑纬民等译.北京:机械工业出版社,2008 2.[美]Brian W,Kernighan&Dennis M.Ritchie..C程序设计语言(第2 版新版).徐宝文、李志译.北京:机械工业出版社,2008 学习网站: 1.http://csapp.cs.cmu.edu 2.http://jpkc.fudan.edu.cn/s/258/main.htm 3.http://www.seas.upenn.edu/cis371/current/ 4.http://inst.eecs.berkelev.edu/cs61c/spl5/ 七、其他说明 大纲修订人: 刘辉 修订日期:2020-12-20 大纲审定人: 审定日期: 6
6 教学时数 课程内容 课 课 课 计 第一章 计算机系统漫游 2 2 第二章 计算机中的信息表 示 4 2 10 16 第三章 程序的机器级表示 12 2 8 2 24 第四章 处理器体系结构 10 2 2 14 第五章 存储系统、IO 系统 8 8 六、推荐教材和教学参考资源 推荐教材: 1. [美]Randal E. Bryant & David R. O’Hallaron 著. 深入理解计算 机系统(原书第二版).龚奕利 & 雷迎春 译. 北京:机械工业出版社, 2014 参考书: 1. [美]David A. Patterson & John L. Hennessy 著. 计算机组成与设 计: 硬件/软件接口. 郑纬民 等 译.北京:机械工业出版社,2008 2. [美]Brian W.Kernighan &Dennis M. Ritchie. C 程序设计语言(第 2 版 新版).徐宝文、李志 译. 北京: 机械工业出版社, 2008 学习网站: 1. http://csapp.cs.cmu.edu 2. http://jpkc.fudan.edu.cn/s/258/main.htm 3. http://www.seas.upenn.edu/~cis371/current/ 4. http://inst.eecs.berkeley.edu/~cs61c/sp15/ 七、其他说明 大纲修订人: 刘辉 修订日期:2020-12-20 大纲审定人: 审定日期: