计算机系统基础(二):程序的执行和存储访问
分享
课程详情
课程评价
spContent=在“计算机系统基础(一):程序的表示、转换与链接"课程中,你学习了可执行文件的生成。接下来,你是否很想知道可执行文件是如何运行、指令和数据是如何存放和被访问的呢?如果是的话,那么就请你参加“计算机系统基础(二):程序的执行和存储访问"课程的学习吧!
—— 课程团队
课程概述

本课程主要介绍可执行文件中的代码如何在CPU中执行,如何从存储器中取指令,以及如何从存储器中取数据或存结果。在本课程中,我们主要围绕以下问题进行讲解。

计算机中的CPU是如何执行程序的?

CPU中包含哪些基本的功能部件?

存放代码和数据的主存储器如何构成?

存放文件的磁盘存储器是怎么工作的?

CPU如何把一个虚拟地址转换为主存地址?

如何利用高速缓存技术加快访问存储器的速度?

 IA-32/Linux平台如何实现存储访问?

 

课程大纲
预备知识

高级语言程序设计(最好有C语言程序设计的基础)

证书要求

1.最终成绩由小测验成绩和期末考试成绩两部分组成。

2.课程讲授共7周,每周对应一次小测验,每次小测验由10道单选题构成,每题1分,共70分。

3.期末考试占30分。

总成绩60分及以上合格,85分及以上优秀。

电子版的课程结业证书免费。纸质版认证证书收费:100元/人 。

 

 

 

参考资料

教材:袁春风. 计算机系统基础 [M]. 北京:机械工业出版社,2014 (第5-6章)

参考书目:Randal E. Bryant, David R. O'Hallaron. 深入理解计算机系统(原书第3版)[M]. 龚奕利,贺莲译  北京:机械工业出版社,2016

常见问题

1.学习“计算机系统基础”系列课程时,最重要的学习方法是什么?

首先,不要死记硬背,关键是要不断将所学内容关联起来,以真正理解所学内容。

其次,要多动手实践。不明白的地方就编写一个程序,通过打印结果或利用gdb等调试工具查看机器级代码来分析。

此外,多提问和多参与讨论。真理越辩越明,在与他人的讨论过程中,往往会忽然开朗,有时,一个问题自己冥思苦想几天都想不明白,但实际上课程讨论区早就有人讨论过了,或者在讨论区一提问,马上就有人帮你解决了。

 

2.“计算机系统基础”系列课程属于硬件课程还是软件课程?

该系列课程涉及到其他很多课程,包括硬件课程和软件课程。它与高级语言程序设计、组成原理、汇编、编译、链接和操作系统等课程的内容有关。虽然涉及到很多其他课程的内容,但是,我们在本系列课程中只会讲解这些课程内容之间的关联,而不会讲解这些课程的细节内容,例如,本课程不会讲解如何实现编译器和如何实现操作系统。

 

3.《计算机系统基础》系列一共包含几门慕课?

          包含以下三门慕课:

    (1)计算机系统基础(一):程序的表示、转换与链接。

    (2)计算机系统基础(二):程序的执行和存储访问。

    (3)计算机系统基础(三):异常、中断和输入/输出