前言

计算机组成原理篇为北京大学陆俊林博士讲的网络开发课程,我有幸在coursera上发现并得以学习,本专栏为我在学习过程中记下的笔记与自己的思考。

章节简介

章节共有九讲,在coursera上计划了11周的学习时间,但实际上其实每讲只有1~2个小时的内容,具体学习时长因人而异。

image-20221103204416730

以下为每讲的大致内容

1、计算机基本结构

这一讲从电子计算机起源开始。讲述冯诺依曼等人构建现代计算机的历史,并对照当前新型计算机的具体实现,讲解计算机内部结构的基本原理。

为了便于大家理解计算机内部的抽象过程,还会通过一个关于餐馆的有趣故事,分析执行指令的过程,从而建立计算机结构的整体概念。

image-20221103204959567

2、指令系统体系结构

这一讲选取了两种典型的体系结构进行对照讲解

  • X86体系结构
  • MIPS体系结构

首先会介绍这两种体系结构的基本特点和编程模型。然后分析典型的指令格式 并结合程序示例进行讲解。

image-20221103205205623

3、算术逻辑单元

这一讲会深入到计算机内部电路的基本单元。

首先讲解如何从晶体管构建逻辑门,再分析常见逻辑运算的电路实现,然后重点论述加法器的设计,并探讨如何改进加法器以提高运算性能。

这样我们就掌握了简单运算电路的基本原理,这一讲会涉及一些集成电路的知识,但不会很复杂。

image-20221103205623545

4、乘法器和除法器

这一讲会先后分析乘法和除法的运算过程,设计出适合计算机实现的运算方法。

这里会用一种动态的方式生动形象的展现乘法器和除法器的运算过程, 以便于我们掌握这两种相对复杂的运算部件。

然后还会深入分析这两种运算的特点,并对运算部件的性能进行优化。

image-20221103205946913

5、单周期处理器

这一讲会带大家涉及一个简单但是完整的计算机处理器。

首先会分析指令的功能,选择合适的部件,构建出数据通路,然后根据每条指令的需求确定控制信号的生成电路,从而完成整个处理器的结构。

处理器是计算机中最复杂的部件,这一讲自然也是本课程的核心重点,综合性强,有较高的难度。

image-20221103210151370

6、流水线处理器

这一讲会先用浅显易懂的生活示例展现流水线的基本原理,并探讨优化流水线的基本方法。

然后结合上一讲的设计,讲解计算机处理器中使用流水线技术会遇到的问题,并分析不同的解决方案。

image-20221103210531002

7、存储层次结构

这一讲会先介绍计算机中存储层次结构的基本概念,并分析存储器对计算机整体性能的影响,

然后以内存为一个重点,讲解其内部结构和的运行过程,并分析影响内存性能的要素。

本讲的另一个重点是高速缓存,这里会讲解高速缓存的基本结构和运行原理,同时结合高速缓存的发展过程展现其在计算机中的重要作用。

image-20221103210658942

8、中断与异常

这一讲先从异常处理的起源说起,并分析中断和异常这两个概念的区别。

然后讲解中断处理的基本过程,并以x86体系结构为例,重点讲述内部中断的处理方式。

image-20221103210908779

9、输入输出设备

这一讲会先介绍输入输出设备的基本结构和运行过程。然后讲解计算机内部管理输入输出设备的三种主要方式。

  • 第一种是最简单的程序控制方式。

  • 第二种是中断控制方式,需要结合上一讲的知识。

  • 第三种则是复杂的直接存储器访问方式。

学到这里我们就能构建出计算机内部结构的整体框架了。

image-20221103211034067