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

本篇博客是学习过程中的笔记、思考和总结。原文链接: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和输入设备、输出设备如何打交道。

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

推荐阅读

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

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

课后思考

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

相关推荐
LK_0720 分钟前
【Open3D】Ch.3:顶点法向量估计 | Python
开发语言·笔记·python
li星野30 分钟前
打工人日报#20251011
笔记·程序人生·fpga开发·学习方法
摇滚侠33 分钟前
Spring Boot 3零基础教程,yml配置文件,笔记13
spring boot·redis·笔记
QT 小鲜肉35 分钟前
【个人成长笔记】在Ubuntu中的Linux系统安装 anaconda 及其相关终端命令行
linux·笔记·深度学习·学习·ubuntu·学习方法
QT 小鲜肉37 分钟前
【个人成长笔记】在Ubuntu中的Linux系统安装实验室WIFI驱动安装(Driver for Linux RTL8188GU)
linux·笔记·学习·ubuntu·学习方法
急急黄豆1 小时前
MADDPG学习笔记
笔记·学习
Chloeis Syntax1 小时前
栈和队列笔记2025-10-12
java·数据结构·笔记·
QZ_orz_freedom2 小时前
学习笔记--文件上传
java·笔记·学习
摇滚侠2 小时前
Spring Boot 3零基础教程,整合Redis,笔记12
spring boot·redis·笔记
爱吃甜品的糯米团子3 小时前
Linux 学习笔记之 VI 编辑器与文件查找技巧
linux·笔记·学习