教学内容安排: 第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-32的64位系统 本章习题与实验 第4章 程序的链接 (12学时) 第一讲:目标文件格式 程序的链接概述、链接的意义与过程、ELF目标文件格式、重定位目标文件格式、可执行目标文件格式 第二讲:符号解析与重定位 符号和符号表、符号解析、与静态库的链接、重定位信息、重定位过程、可执行文件的加载 第三讲:动态链接 动态链接的特性、程序加载时的动态链接、程序运行时的动态链接、动态链接举例 本章习题与实验 第5章 程序的执行 (15学时) 第一讲:程序执行概述 程序及指令的执行过程、CPU的基本功能和组成 第二讲:数据通路基本结构和工作原理 数据通路的基本结构、数据通路的时序控制、数据通路基本工作原理 第三讲:流水线方式下指令的执行 指令流水线的基本原理、适合流水线的指令集特征、CISC和RISC风格指令集、指令流水线的实现、高级流水线实现技术 第六章 层次结构存储系统(15学时) 第一讲:存储器概述 第二讲:主存与CPU的连接及其读写操作 主存模块的连接和读写操作、“装入”指令和“存储”指令操作过程 第三讲:磁盘存储器 第四讲:高速缓冲存储器(cache) 程序访问的局部性、cache的基本工作原理、cache行和主存块之间的映射方式、cache和程序性能 第五讲:虚拟存储器 虚拟地址空间、虚拟存储器的实现 第六讲:IA-32/Linux中的地址转换 逻辑地址到线性地址的转换、线性地址到物理地址的转换 |