极客时间:深入浅出计算机组成原理【文章笔记 & 思考总结】

本篇博客是学习过程中的笔记、思考和总结。原文链接:https://time.geekbang.org/column/intro/100026001?tab=catalog

  • [开篇词 | 为什么你需要学习计算机组成原理?](#开篇词 | 为什么你需要学习计算机组成原理?)
  • [01 | 冯·诺依曼体系结构:计算机组成的金字塔](#01 | 冯·诺依曼体系结构:计算机组成的金字塔)

开篇词 | 为什么你需要学习计算机组成原理?

深入 "底层知识",是提升自己的根骨和资质。

底层原理知识在学习和工作中会带来复利效应。

计算机组成原理隔离硬件和软件,软件无需关心硬件就能直接操作硬件的接口。

计算机体系结构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和输入设备、输出设备如何打交道。

理解控制器、运算器、存储器、输入设备和输出设备从电路到软件接口如何运行?,为什么设计成这样?软件开发层面怎么尽可能用好?

推荐阅读

读读经典的论文,是从一个普通工程师迈向优秀工程师必经的一步。

对于工程师来说,直接读取英文论文的原文,既可以搞清楚、弄明白对应的设计及其背后的思路来源,还可以帮你破除对于论文或者核心技术的恐惧心理。

课后思考

图灵机和冯·诺依曼机是两种不同的计算机么?图灵机是一种什么样的计算机抽象呢?

相关推荐
北温凉8 分钟前
【学习笔记】机器学习(Machine Learning) | 第七章|神经网络(2)
笔记·机器学习
潇-xiao1 小时前
Qt 信号和槽-核心知识点小结(11)
c++·笔记·qt
夏季疯1 小时前
学习笔记:黑马程序员JavaWeb开发教程(2025.4.6)
java·笔记·学习
HappyAcmen1 小时前
线代第三章向量第二节:向量间的线性关系一
笔记·学习·线性代数
代码小将2 小时前
Leetcode134加油站
笔记·算法
lil44x_2 小时前
嵌入式学习笔记DAY23(树,哈希表)
笔记·学习
霸王蟹3 小时前
常见面试题:Webpack的构建流程简单说一下。
前端·笔记·学习·webpack·node.js·vue
珊瑚里的鱼3 小时前
【滑动窗口】LeetCode 1004题解 | 最大连续1的个数 Ⅲ
开发语言·c++·笔记·算法·leetcode
大筒木老辈子4 小时前
Linux笔记---内核态与用户态
linux·运维·笔记
Vizio<5 小时前
基于MNIST数据集的手写数字识别(CNN)
人工智能·笔记·深度学习·神经网络·cnn