教学大纲 课程名称 课程代码 COMP130007.01 2016年4月 课程名称 计算机原理 英文名称 Computer System 学分数 周学时 任课教师*路红,金城 开课院系 计算机科学技术学院 预修课程 课程性质:专业必修课程 救教学目的 使学生能从程序员角度认识计算机系统,能够建立髙级语言程序、ISA、OS、 译器、链接器等之间的相互关联,对指令在硬件上的执行过程和指令的底层硬件 执行机制有一定的认识和理解,从而增强学生在程序调试、性能提升、程序移植和 健壮性等方面的能力,并为后续的“操作系统”、“编译技术”、“计算机体系结 构”等课程打下坚实基础 踝程基本内容简介 本课程对计算机系统的主要部分进行了介绍,这些部分包括:处理器、存储器 以及系统软件等计算机系统的多个重要环节。本课程的基本内容是:数的表示,机 器指令、汇编及执行文件格式,计算机系统结构,存储器的层次结构(主存、 cache和虚存)等 基本要求 通过本课程的学习,要求学生掌握计算机系统的重要概念,对计算机系统的全 貌有初步而广泛的了解,并结合一定的实验项目,使学生在实现的层面掌握这些重 要概念,并初步具备简单系统开发的能力 教学方式课堂讲授、习题课辅导、上机实习 救教材和教学参考资料: 作者 教材名称 出版社 出版年月 Randy Computer Systems: A 机械工业出版社 2011 David o'Hallaron ogrammer's Perspective 袁春风 计算机系统基础 机械工业出版社2015.7第二次印刷 vid R. ohallaron 著,龚奕利,雷迎春术入理解计算机系统 机械工业出版社 2011 Brian w. Kernighan, The C Programming language(机械工业出版社 Dennis M. Ritchie cond Edition)
教学大纲 课程名称 课程代码 COMP130007.01 编写时间 2016年4月 课程名称 计算机原理 英文名称 Computer System 学分数 3 周学时 3+2 任课教师* 路红,金城 开课院系 计算机科学技术学院 预修课程 课程性质:专业必修课程 教学目的: 使学生能从程序员角度认识计算机系统,能够建立高级语言程序、ISA、OS、 编译器、链接器等之间的相互关联,对指令在硬件上的执行过程和指令的底层硬件 执行机制有一定的认识和理解,从而增强学生在程序调试、性能提升、程序移植和 健壮性等方面的能力,并为后续的“操作系统”、“编译技术”、“计算机体系结 构”等课程打下坚实基础。 课程基本内容简介: 本课程对计算机系统的主要部分进行了介绍,这些部分包括:处理器、存储器 以及系统软件等计算机系统的多个重要环节。本课程的基本内容是:数的表示,机 器指令、汇编及执行文件格式,计算机系统结构,存储器的层次结构(主存、 cache和虚存)等。 基本要求: 通过本课程的学习,要求学生掌握计算机系统的重要概念,对计算机系统的全 貌有初步而广泛的了解,并结合一定的实验项目,使学生在实现的层面掌握这些重 要概念,并初步具备简单系统开发的能力。 教学方式: 课堂讲授、习题课辅导、上机实习 教材和教学参考资料: 作者 教材名称 出版社 出版年月 Randy Bryant and David O’Hallaron Computer Systems: A Programmer’s Perspective 机械工业出版社 2011 袁春风 计算机系统基础 机械工业出版社 2015.7第二次印刷 Randal E. Bryant, david R. O’Hallaron 著,龚奕利,雷迎春 译 深入理解计算机系统 机械工业出版社 2011 Brian W. Kernighan, Dennis M. Ritchie The C Programming Language ( second Edition) 机械工业出版社 2006
ale N. Patt, Sanjay J. Patel著,梁阿磊蒋兴|算机系统概论(原书第2版) Morgan Kaufmann 昌林凌译 教师教学、科研情况简介和主要社会兼职 主要从事本科生计算机原理等课程的主讲,以及硕士生统计及其在信息处理中 的应用、数字图像处理等课程的主讲。 从事模式识别、人工智能的研究 担任中国计算机学会高级会员,上海市图像图形学会图像理事,上海市计算机 学会多媒体专委会主任等。 救教学内容安排 第1章计算机系统概述(3学时) 计算机系统基础ˆ踝程的由来、“计算机系统基础”课程内容概要、硬件和软件的基 本组成 程序的开发和执行过程、计算机系统层次结构、计算机性能评价 第2章数据的机器级表示与基本运算(9学时) 第一讲:数值数据的表示 定点数的编码表示、无符号整数和带符号整数的表示、浮点数的表示、C语言程序 的整数类型和浮点数类型 第二讲:非数值数据的表示及数据的存储 逻辑值、西文字符、汉字字符、数据宽度单位、数据在寄存器和存储器中的存放、 大端/小端、对齐 第三讲:数据的运算及基本运算电路 按位运算和逻辑运算、移位运算、位扩展和位截断运算、无符号和带符号整数的加 减运算、无符号和带符号整数的乘除运算、变量与常数之间的乘除运算、浮点数的 加减乘除运算 本章习题与实验 第3章程序的转换及机器级表示(21学时) 第一讲:IA-32指令系统概述
Yale N. Patt, Sanjay J. Patel著,梁阿磊,蒋兴 昌,林凌译 计算机系统概论(原书第2版) Morgan Kaufmann 2007 教师教学、科研情况简介和主要社会兼职: 主要从事本科生计算机原理等课程的主讲,以及硕士生统计及其在信息处理中 的应用、数字图像处理等课程的主讲。 从事模式识别、人工智能的研究。 担任中国计算机学会高级会员,上海市图像图形学会图像理事,上海市计算机 学会多媒体专委会主任等。 教学内容安排: 第1章 计算机系统概述(3学时) “计算机系统基础”课程的由来、“计算机系统基础”课程内容概要、硬件和软件的基 本组成、 程序的开发和执行过程、计算机系统层次结构、计算机性能评价 第2章 数据的机器级表示与基本运算(9学时) 第一讲:数值数据的表示 定点数的编码表示、无符号整数和带符号整数的表示、浮点数的表示、C语言程序 的整数类型和浮点数类型 第二讲:非数值数据的表示及数据的存储 逻辑值、西文字符、汉字字符、数据宽度单位、数据在寄存器和存储器中的存放、 大端/小端、对齐 第三讲:数据的运算及基本运算电路 按位运算和逻辑运算、移位运算、位扩展和位截断运算、无符号和带符号整数的加 减运算、无符号和带符号整数的乘除运算、变量与常数之间的乘除运算、浮点数的 加减乘除运算 本章习题与实验 第3章 程序的转换及机器级表示(21学时) 第一讲:IA-32指令系统概述
程序转换概述、数据类型及其格式、寄存器组织与寻址方式、传送指令、定点算术 运算指令、按位运算指令、控制转移指令、x87浮点处理指令、MMX/SSE指令集 第二讲:C语言程序的机器级表示1 过程调用的机器级表示概述、D4-32中用于过程调用的指令、过程调用的执行步 、-32的寄存器使用约定、A-32的栈、栈帧及其结构、按值传递参数和按地址 传递参数、递归过程调用 第三讲:C语言程序的机器级表示2 选择语句的机器级表示概述、~else语句的机器级表示、条件运算表达式的机器 段表示、 switchi语句的机器级表示;循环结构的机器级表示概述、do~ while循环的 机器级表示、hi循环的机器级表示、 while循环的机器级表示 第四讲:复杂数据类型的分配和访问 数组元素在存储空间的存放和访问、数组的存储分配和初始化、数组与指针、指针 组和多维数组、结构体成员在存储空间的存放和访问、结构体数据作为入口参 数、联合体数据的分配和访问、数据的对齐 第五讲:越界访问和缓冲区溢出 第六讲:兼容IA-32的64位系统 本章习题与实验 第4章程序的链接(12学时) 第一讲:目标文件格式 程序的链接概述、链接的意义与过程、ELF目标文件格式、重定位目标文件格式、 何执行目标文件格式 第二讲:符号解析与重定位 号和符号表、符号解析、与静态库的链接、重定位信息、重定位过程、可执行文 件的加载 第三讲:动态链接
程序转换概述、数据类型及其格式、寄存器组织与寻址方式、传送指令、定点算术 运算指令、按位运算指令、控制转移指令、x87浮点处理指令、MMX/SSE指令集 第二讲:C语言程序的机器级表示-1 过程调用的机器级表示概述、IA-32中用于过程调用的指令、过程调用的执行步 骤、IA-32的寄存器使用约定、IA-32的栈、栈帧及其结构、按值传递参数和按地址 传递参数、递归过程调用 第三讲:C语言程序的机器级表示-2 选择语句的机器级表示概述、if ~ else语句的机器级表示、条件运算表达式的机器 级表示、switch语句的机器级表示;循环结构的机器级表示概述、do~while循环的 机器级表示、while循环的机器级表示、while循环的机器级表示 第四讲:复杂数据类型的分配和访问 数组元素在存储空间的存放和访问、数组的存储分配和初始化、数组与指针、指针 数组和多维数组、结构体成员在存储空间的存放和访问、结构体数据作为入口参 数、联合体数据的分配和访问、数据的对齐 第五讲:越界访问和缓冲区溢出 第六讲:兼容IA-32的64位系统 本章习题与实验 第4章 程序的链接 (12学时) 第一讲:目标文件格式 程序的链接概述、链接的意义与过程、ELF目标文件格式、重定位目标文件格式、 可执行目标文件格式 第二讲:符号解析与重定位 符号和符号表、符号解析、与静态库的链接、重定位信息、重定位过程、可执行文 件的加载 第三讲:动态链接
态链接的特性、程序加载时的动态链接、程序运行时的动态链接、动态链接举例 本章习题与实验 第5章程序的执行(15学时) 第一讲:程序执行概述 程序及指令的执行过程、CPU的基本功能和组成 第二讲:数据通路基本结构和工作原理 数据通路的基本结构、数据通路的时序控制、数据通路基本工作原理 第三讲:流水线方式下指令的执行 指令流水线的基本原理、适合流水线的指令集特征、CSC和RSC风格指令集、指 令流水线的实现、高级流水线实现技术 第六章层次结构存储系统(15学时) 第一讲:存储器概述 第二讲:主存与CPU的连接及其读写操作 主存模块的连接和读写操作、“装入”指令和“存储”指令操作过程 第三讲:磁盘存储器 第四讲:高速缓冲存储器( (cache) 程序访问的局部性、cche的基本工作原理、 cache?和主存块之间的映射方式 cache和程序性能 第五讲:虚拟存储器 虚拟地址空间、虚拟存储器的实现 第六讲:IA-32/ Linux中的地址转换 逻辑地址到线性地址的转换、线性地址到物理地址的转换 作业和考核方式 每章习题, Homework,Lab, Project,期末考试 *如该门课为多位教师共同开设,请在教学内容安排中注明
动态链接的特性、程序加载时的动态链接、程序运行时的动态链接、动态链接举例 本章习题与实验 第5章 程序的执行 (15学时) 第一讲:程序执行概述 程序及指令的执行过程、CPU的基本功能和组成 第二讲:数据通路基本结构和工作原理 数据通路的基本结构、数据通路的时序控制、数据通路基本工作原理 第三讲:流水线方式下指令的执行 指令流水线的基本原理、适合流水线的指令集特征、CISC和RISC风格指令集、指 令流水线的实现、高级流水线实现技术 第六章 层次结构存储系统(15学时) 第一讲:存储器概述 第二讲:主存与CPU的连接及其读写操作 主存模块的连接和读写操作、“装入”指令和“存储”指令操作过程 第三讲:磁盘存储器 第四讲:高速缓冲存储器(cache) 程序访问的局部性、cache的基本工作原理、cache行和主存块之间的映射方式、 cache和程序性能 第五讲:虚拟存储器 虚拟地址空间、虚拟存储器的实现 第六讲:IA-32/Linux中的地址转换 逻辑地址到线性地址的转换、线性地址到物理地址的转换 作业和考核方式: 每章习题,Homework,Lab,Project,期末考试 *如该门课为多位教师共同开设,请在教学内容安排中注明
*考虑到有时同一门课有不同院系得教师开设,请任课教师填写此栏
**考虑到有时同一门课有不同院系得教师开设,请任课教师填写此栏