本篇博客是学习过程中的笔记、思考和总结。原文链接:https://time.geekbang.org/column/intro/100026001?tab=catalog
开篇词 | 为什么你需要学习计算机组成原理?
深入 “底层知识”,是提升自己的根骨和资质。
底层原理知识在学习和工作中会带来复利效应。
计算机组成原理隔离硬件和软件,软件无需关心硬件就能直接操作硬件的接口。
计算机体系结构TUPIAN
Coursera 上北京大学的《计算机组成》开放课程。
图灵奖作者写的《计算机组成与设计:硬件 / 软件接口》
01 | 冯·诺依曼体系结构:计算机组成的金字塔
计算机的基本硬件组成
CPU:计算机所有计算。
内存:程序加载到内存才能运行,内存和CPU之间进行程序和数据交互。
主板:芯片组:控制数据传输流向。总线:控制数据传输速度。
电源:供电。
IO设备。
显卡:CPU +GPU 主要用于并行计算。
南桥:控制IO设备和CPU之间的通信。
北桥:连接 CPU、内存和显卡。
北桥已经移动到CPU内部。
冯 · 诺依曼体系结构
手机的SD卡:硬盘。
SoC:CPU、内存、网络通信、摄像头芯片,封装到一个芯片,嵌入到手机主板上。
冯 · 诺依曼体系结构(存储程序计算机):
可编程:各种门电路组合不固定。
存储:程序存储在计算机内存中,加载不同的程序解决不同的问题。
First Draft:First Draft of a Report on the EDVAC
- 处理器单元:算术逻辑单元 + 处理器寄存器,完成算术和逻辑运算。
- 控制器单元:指令寄存器 + 程序计数器,控制程序流程。
- 现代计算机中的CPU:算术逻辑单元 + 控制器单元。
- 内存:存储数据和指令。
- 外存:硬盘。
- 输入设备和输出设备。
任何一台计算机:运算器 + 控制器 + 存储器 + 输入设备 + 输出设备。
计算机程序抽象:输入设备读取输入信息,通过运算器和控制器执行存储器中的程序,输出结果到输出设备。
冯 · 诺依曼体系结构示意图TUPIAN
总结延伸
学习计算机组成原理就是学习和拆解冯 · 诺依曼体系结构。
控制器、运算器工作原理,CPU如何工作?如何设计?为什么这样设计?
学习内存的工作原理,基本电路,如何抽象给CPU和应用程序接口?
CPU和输入设备、输出设备如何打交道。
理解控制器、运算器、存储器、输入设备和输出设备从电路到软件接口如何运行?,为什么设计成这样?软件开发层面怎么尽可能用好?
推荐阅读
读读经典的论文,是从一个普通工程师迈向优秀工程师必经的一步。
对于工程师来说,直接读取英文论文的原文,既可以搞清楚、弄明白对应的设计及其背后的思路来源,还可以帮你破除对于论文或者核心技术的恐惧心理。
课后思考
图灵机和冯·诺依曼机是两种不同的计算机么?图灵机是一种什么样的计算机抽象呢?