本课程主要介绍可执行文件中的代码如何在CPU中执行,如何从存储器中取指令,以及如何从存储器中取数据或存结果。在本课程中,我们主要围绕以下问题进行讲解。
计算机中的CPU是如何执行程序的?
CPU中包含哪些基本的功能部件?
存放代码和数据的主存储器如何构成?
存放文件的磁盘存储器是怎么工作的?
CPU如何把一个虚拟地址转换为主存地址?
如何利用高速缓存技术加快访问存储器的速度?
IA-32/Linux平台如何实现存储访问?
第一周 程序执行概述
第一周 程序执行概述引言
第1讲 程序和指令的关系
第2讲 一条指令的执行过程
第3讲 IA-32指令的大致执行过程
第4讲 CPU的基本功能与结构
课件PPT
第一周小测验
第二周 主存储器组织
第二周 主存储器组织引言
第1讲 存储器基本概念
第2讲 主存的基本结构
第3讲 主存的性能指标
第4讲 半导体存储器组织
第5讲 内存条组织与总线宽度
第6讲 主存模块的连接与读写操作
课件PPT
第二周小测验
第三周 磁盘存储器
第三周磁盘存储器引言
第1讲 磁盘存储器的结构
第2讲 磁盘驱动器以及操作过程
第3讲 磁盘存储器的组成
第4讲 磁盘存储器的连接与操作
课件PPT
第三周小测验
第四周 高速缓存概述
第四周高速缓存概述引言
第1讲 存储器层次结构概述
第2讲 Cache基本概述
第3讲 Cache映射方式
第4讲 Cache命中率和缺失率
第5讲 Cache的关联度
课件PPT
第四周小测验
第五周 Cache替换算法和写策略
第五周 Cache替换算法和写策略引言
第1讲 Cache替换算法
第2讲 Cache写策略(一致性问题)
第3讲 Cache实现的几个因素
第4讲 Cache实现举例
第5讲 Cache综合计算举例
课件PPT
第五周小测验
第六周 虚拟存储器
第六周虚拟存储器引言
第1讲 分页存储管理的基本概念
第2讲 虚拟存储器及虚拟地址空间
第3讲 分页存储管理的实现
第4讲 存储器层次结构及其访问过程
第5讲 段式和段页式虚拟存储管理
第6讲 存储保护
课件PPT
第六周小测验
第七周 IA-32/Linux中的地址转换
第七周IA-32/Linux中的地址转换引言
第1讲 IA-32的地址转换和寻址方式
第2讲 段选择符和段寄存器
第3讲 段描述符和段描述符表
第4讲 逻辑地址向线性地址的转换
第5讲 线性地址向物理地址的转换
第6讲 Intel Core i7/Linux存储系统
课件PPT
第七周小测验
高级语言程序设计(最好有C语言程序设计的基础)
为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。
电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。
完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。
认证证书申请注意事项:
1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。
2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。
教材:袁春风. 计算机系统基础(第2版) [M]. 北京:机械工业出版社,2018(第5-6章)
参考书目:Randal E. Bryant, David R. O'Hallaron. 深入理解计算机系统(原书第3版)[M]. 龚奕利,贺莲译 北京:机械工业出版社,2016
1.学习“计算机系统基础”系列课程时,最重要的学习方法是什么?
首先,不要死记硬背,关键是要不断将所学内容关联起来,以真正理解所学内容。
其次,要多动手实践。不明白的地方就编写一个程序,通过打印结果或利用gdb等调试工具查看机器级代码来分析。
此外,多提问和多参与讨论。真理越辩越明,在与他人的讨论过程中,往往会忽然开朗,有时,一个问题自己冥思苦想几天都想不明白,但实际上课程讨论区早就有人讨论过了,或者在讨论区一提问,马上就有人帮你解决了。
2.“计算机系统基础”系列课程属于硬件课程还是软件课程?
该系列课程涉及到其他很多课程,包括硬件课程和软件课程。它与高级语言程序设计、组成原理、汇编、编译、链接和操作系统等课程的内容有关。虽然涉及到很多其他课程的内容,但是,我们在本系列课程中只会讲解这些课程内容之间的关联,而不会讲解这些课程的细节内容,例如,本课程不会讲解如何实现编译器和如何实现操作系统。
3.《计算机系统基础》系列一共包含几门慕课?
包含以下三门已经上线的理论课程和另外两门将要上线的实践类课程。
(1)计算机系统基础(一):程序的表示、转换与链接。
(2)计算机系统基础(二):程序的执行和存储访问。
(3)计算机系统基础(三):异常、中断和输入/输出。
(4)计算机系统基础(四):编程与调试实践。
(5)计算机系统基础(五):x86模拟器编程实践。