移动互联时代,计算机类专业学生具备系统能力已成为广大高校教师的共识。在教育部高等学校计算机类专业教学指导委员会“计算机类专业系统能力培养研究”项目的指导下,南京大学、北京大学、国防科技大学、北京航空航天大学、上海交通大学、浙江大学、华中科技大学等高校积极开展计算机专业系统能力培养的教学改革实践。经过之前的“计算机类专业系统能力培养”系列教学研讨会的交流,越来越多的高校提出希望对研究项目中的核心课程——“计算机系统基础”进行导教。
为推动“计算机系统基础”课程的教学,并为开设此课程或有意开设此课程的教师搭建交流平台,教育部计算机类专业教学指导委员会、南京大学、大连海洋大学、机械工业出版社华章公司将联合举办“2015年计算机系统基础课程导教班”,导教班特邀南京大学袁春风教授主讲。敬请各高校相关教师参会交流。
时 间:2015年8月12日至8月18日
地 点:大连海洋大学
二、导教班主讲教师
袁春风 南京大学计算机科学与技术系教授,“计算机组成原理”国家级精品课程负责人,南京大学“计算机组成与系统结构”课程群负责人,主编普通高等教育“十一五”国家级规划教材《计算机组成与系统结构》(江苏省精品教材)以及《计算机组成与系统结构习题解答与教学指导》,近年来一直致力于计算机系统能力培养课程体系改革研究工作,已经编写完成“计算机系统基础”课程的教材,并致力于该课程的推广和师资培训。
课程教学目的与要求
使学生能从程序员角度认识计算机系统,能够建立高级语言程序、ISA、OS、编译器、链接器等之间的相互关联,对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解,从而增强学生在程序调试、性能提升、程序移植和健壮性等方面的能力,并为后续的“计算机组成与设计”、“操作系统”、“编译技术”、“计算机体系结构”等课程打下坚实基础。
学完本课程后,学生应对以下问题有比较深刻的认识:
ü 程序中处理的数据在机器中如何表示和运算?
ü 程序中各类控制语句对应的机器级代码结构是怎样的?
ü 多个程序模块是如何链接起来形成可执行目标文件的?
ü 机器级代码及构成机器级代码的指令是如何在机器上执行的?
ü 指令执行过程中最重要的存储访问操作是如何进行的?
ü 操作系统内核是如何打断应用程序的正常执行的?
ü 程序中I/O操作功能是如何通过请求操作系统内核提供的系统调用服务来完成的?
课程教学内容简介
本课程的内容主要包含三个主题:(1)表示。主要包括:不同数据类型(如带符号整数、无符号整数、浮点数、数组、结构等)的数据在寄存器或存储器中如何表示和存储、指令的表示和编码、存储地址(指针)的表示以及复杂数据结构中数据元素的地址的表示。(2)转换。主要包括:高级语言程序与机器级代码的对应关系。(3)执行控制流。主要包括:机器级代码的执行流程、特别是指令执行过程中的访存过程、逻辑控制流中的异常事件及其处理、I/O操作的执行控制流(如何从用户态转入内核态执行)。
本课程主要介绍高级语言程序中的数据类型及其运算、语句和过程调用等是如何在计算机系统中实现的,从宏观上介绍计算机系统涉及到的各个层次。主要内容包括:数据的机器级表示和基本运算、程序的转换及机器级表示、程序的链接、程序和指令的底层执行机制、存储器层次结构、Cache、虚拟存储器、异常和中断、I/O操作的实现机制等。
|
日期 |
单元 |
内容说明 |
|
8.12 |
下午14:00后报到,地点: 速8酒店(大连辰熙店) |
|
|
8.13 白天 |
计算机系统概述 |
“计算机系统基础”课程的由来、课程内容概要、硬件和软件的基本组成、程序的开发和执行过程、计算机系统层次结构、计算机性能评价 |
|
数据的表示和运算 |
定点数的编码表示、无符号整数和带符号整数的表示、浮点数的表示、C语言程序的整数类型和浮点数类型、逻辑值、西文字符、汉字字符、数据宽度单位、数据在寄存器和存储器中的存放、大端/小端、对齐、按位运算和逻辑运算、移位运算、位扩展和位截断运算、无符号和带符号整数的加减运算、无符号和带符号整数的乘除运算、变量与常数之间的乘除运算、浮点数的加减乘除运算 |
|
|
晚上 |
习题及实验 |
基本编程实验 |
|
8.14 白天 |
IA-32指令系统概述 |
程序转换概述、数据类型及其格式、寄存器组织与寻址方式、传送指令、定点算术运算指令、按位运算指令、控制转移指令、x87浮点处理指令、MMX/SSE指令集 |
|
C语言函数调用以及各类语句的机器级表示 |
过程调用的机器级表示概述、IA-32中用于过程调用的指令、过程调用的执行步骤、IA-32的寄存器使用约定、IA-32的栈、栈帧及其结构、按值传递参数和按地址传递参数、递归过程调用、选择语句的机器级表示概述、if-else语句的机器级表示、条件运算表达式的机器级表示、switch语句的机器级表示;循环结构的机器级表示概述 |
|
|
晚上 |
习题及实验 |
Lab实验 |
|
8.15 白天 |
复杂数据类型的分配与访问 |
数组元素在存储空间的存放和访问、数组的存储分配和初始化、数组与指针、指针数组和多维数组、结构体成员在存储空间的存放和访问、结构体数据作为入口参数、联合体数据的分配和访问、数据的对齐、越界访问和缓冲区溢出、兼容IA-32的64位系统 |
|
程序的链接(1) |
程序的链接概述、链接的意义与过程、ELF目标文件格式、重定位目标文件格式、可执行目标文件格式、符号和符号表、符号解析、与静态库的链接 |
|
|
晚上 |
习题及实验 |
PA(模拟器)实验 |
|
8.16 白天 |
程序的链接(2) |
重定位信息、重定位过程、可执行文件的加载、动态链接的特性、程序加载时的动态链接、程序运行时的动态链接、动态链接举例
|
|
存储器层次结构(1) |
存储器分类、主存的组成与基本操作、存储器的主要性能指标、各类存储元件的特点、存储器的层次结构、存模块与CPU之间的连接、主存模块的读写操作、Load指令和Store指令的操作过程、磁盘存储器的结构、磁盘存储器的性能指标、磁盘存储器的连接、固态硬盘 |
|
|
晚上 |
习题及实验 |
PA(模拟器)实验 |
|
8.17 白天 |
存储器层次结构(2) |
程序访问的局部性、cache基本工作原理、cache行与主存块的映射cache中主存块的替换算法、cache一致性问题、影响cache性能的因素、IA-32的cache结构举例、cache和程序性能 |
|
存储器层次结构(3) |
虚拟地址空间、分页方式、页表、逻辑地址向物理地址的转换、快表(TLB)、分段、段页式、存储保护、段选择符和段寄存器、段描述符、描述符表、用户不可见寄存器、逻辑地址向线性地址转换、线性地址向物理地址转换 |
|
|
晚上 |
习题及实验 |
PA(模拟器)实验 |
|
8.18 白天 |
异常和中断 |
程序的进程的概念、进程的逻辑控制流、进程的上下文切换、进程的私有地址空间、程序的加载和运行、异常的分类、中断的分类、异常和中断的响应过程、中断向量表、中断描述符表、IA-32中异常和中断的处理、Linux对异常和中断的处理、IA-32/Linux的系统调用
|
|
I/O操作的实现 |
用户程序中的I/O函数、文件的基本概念、系统级I/O函数、C标准I/O库函数、用户程序中的I/O请求、I/O设备、设备控制器、I/O端口及其编址、I/O控制方式、与设备无关的I/O软件、设备驱动程序、中断服务程序、再谈hello程序的整个运行过程 |
|
|
晚上 |
大联欢 |
|
1. 本次导教班费用 2000元/人。现场缴纳(可刷卡)。
2. 报到时间: 8月12日下午2:00以后开始报到。
报到地点:速8酒店(大连辰熙店),地址:大连市沙河口区中山路672号
3. 交通费、食宿费自理。( 住宿地点:速8酒店(大连辰熙店),地址:大连市沙河口区中山路672号 )
4. 回执请发送至以下联系人:
1)联系人: 曲熠(机械工业出版社华章分社)
电话: 010-88379611, 13146156223
电子邮件:quyi@hzbook.com; hzedu@hzbook.com
2)联系人:孙庚(大连海洋大学)
电话:13942626196
邮箱:sungeng@dlou.edu.cn,10773781@qq.com
5.由于飞机火车购票都需要实名制,请各位老师提前安排好会议往返交通。
6.会议现场提供盖章的会议纸质邀请函,如提前需要,也可来函索要。
教育部高等学校计算机类专业指导委员会
南京大学计算机系
大连海洋大学计算机学院
机械工业出版社华章分社(北京华章图文信息有限公司)
2015年6月
国北京西城区百万庄大街22号
邮编:100037
电子邮箱:cmpedu@cmpedu.com
教材网咨询:010-88379833
网上购书:010-88379170 / 9693
团购热线:010-68326294
随手扫一扫~了解多多