首页  教学大纲
教学大纲

 

课程名称

课程代码

COMP130007.01

编写时间

20164

课程名称

计算机原理

英文名称

Computer System

学分数

3

周学时

3+2

任课教师*

路红,金城

开课院系

计算机科学技术学院

预修课程

 

课程性质:专业必修课程

教学目的:

使学生能从程序员角度认识计算机系统,能够建立高级语言程序、ISAOS、编译器、链接器等之间的相互关联,对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解,从而增强学生在程序调试、性能提升、程序移植和健壮性等方面的能力,并为后续的操作系统编译技术计算机体系结构等课程打下坚实基础。

课程基本内容简介:

本课程对计算机系统的主要部分进行了介绍,这些部分包括:处理器、存储器以及系统软件等计算机系统的多个重要环节。本课程的基本内容是:数的表示,机器指令、汇编及执行文件格式,计算机系统结构,存储器的层次结构(主存、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

Yale N. Patt, Sanjay J. Patel著,梁阿磊,蒋兴昌,林凌译

计算机系统概论(原书第2)

Morgan Kaufmann

2007

教师教学、科研情况简介和主要社会兼职:

主要从事本科生计算机原理等课程的主讲,以及硕士生统计及其在信息处理中的应用、数字图像处理等课程的主讲。

 

从事模式识别、人工智能的研究。

 

担任中国计算机学会高级会员,上海市图像图形学会图像理事,上海市计算机学会多媒体专委会主任等。

教学内容安排:
1 计算机系统概述3学时)

计算机系统基础课程的由来、计算机系统基础课程内容概要、硬件和软件的基本组成、

程序的开发和执行过程、计算机系统层次结构、计算机性能评价

2 数据的机器级表示与基本运算(9学时

第一讲:数值数据的表示

定点数的编码表示、无符号整数和带符号整数的表示、浮点数的表示、C语言程序的整数类型和浮点数类型

第二讲:非数值数据的表示及数据的存储

逻辑值、西文字符、汉字字符、数据宽度单位、数据在寄存器和存储器中的存放、大端/小端、对齐

第三讲:数据的运算及基本运算电路

按位运算和逻辑运算、移位运算、位扩展和位截断运算、无符号和带符号整数的加减运算、无符号和带符号整数的乘除运算、变量与常数之间的乘除运算、浮点数的加减乘除运算

本章习题与实验

3 程序的转换及机器级表示(21学时

第一讲:IA-32指令系统概述

程序转换概述、数据类型及其格式、寄存器组织与寻址方式、传送指令、定点算术运算指令、按位运算指令、控制转移指令、x87浮点处理指令、MMX/SSE指令集

第二讲:C语言程序的机器级表示-1

过程调用的机器级表示概述、IA-32中用于过程调用的指令、过程调用的执行步骤、IA-32的寄存器使用约定、IA-32的栈、栈帧及其结构、按值传递参数和按地址传递参数、递归过程调用

第三讲:C语言程序的机器级表示-2

选择语句的机器级表示概述、if ~ else语句的机器级表示、条件运算表达式的机器级表示、switch语句的机器级表示;循环结构的机器级表示概述、do~while循环的机器级表示、while循环的机器级表示、while循环的机器级表示

第四讲:复杂数据类型的分配和访问

数组元素在存储空间的存放和访问、数组的存储分配和初始化、数组与指针、指针数组和多维数组、结构体成员在存储空间的存放和访问、结构体数据作为入口参数、联合体数据的分配和访问、数据的对齐

第五讲:越界访问和缓冲区溢出

第六讲:兼容IA-3264位系统

本章习题与实验

 

4 程序的链接 12学时

第一讲:目标文件格式

程序的链接概述、链接的意义与过程、ELF目标文件格式、重定位目标文件格式、可执行目标文件格式

第二讲:符号解析与重定位

符号和符号表、符号解析、与静态库的链接、重定位信息、重定位过程、可执行文件的加载

第三讲:动态链接

动态链接的特性、程序加载时的动态链接、程序运行时的动态链接、动态链接举例

本章习题与实验

5 程序的执行 15学时

第一讲:程序执行概述

程序及指令的执行过程、CPU的基本功能和组成

第二讲:数据通路基本结构和工作原理

数据通路的基本结构、数据通路的时序控制、数据通路基本工作原理

第三讲:流水线方式下指令的执行

指令流水线的基本原理、适合流水线的指令集特征、CISCRISC风格指令集、指令流水线的实现、高级流水线实现技术

 

第六章 层次结构存储系统(15学时

第一讲:存储器概述

第二讲:主存与CPU的连接及其读写操作

主存模块的连接和读写操作、“装入”指令和“存储”指令操作过程

第三讲:磁盘存储器

第四讲:高速缓冲存储器(cache)

程序访问的局部性、cache的基本工作原理、cache行和主存块之间的映射方式、cache和程序性能

第五讲:虚拟存储器

虚拟地址空间、虚拟存储器的实现

第六讲:IA-32/Linux中的地址转换

逻辑地址到线性地址的转换、线性地址到物理地址的转换

 

作业和考核方式:

    每章习题,HomeworkLabProject,期末考试

*如该门课为多位教师共同开设,请在教学内容安排中注明。

**考虑到有时同一门课有不同院系得教师开设,请任课教师填写此栏。