欢迎光临散文网 会员登陆 & 注册

【笔记】计算机科学速成课2-9

2023-08-16 22:46 作者:倾尽三江水  | 我要投稿

视频链接:https://b23.tv/WTK1fx3

画图网站:https://excalidraw.com

P2 电子计算机

  • 电路开闭(开关):继电器、真空管、晶体管。

  • 晶体管只有通电(1),断电(0)两种状态,所以用二进制设计计算机,而数学中的“布尔代数”,恰用 true 和 false 进行逻辑运算。

P3 布尔逻辑和逻辑

1. 布尔逻辑:

NOT:取反

NOT(非)

AND:一假则假

AND(与)

OR:一真则真

OR(或)

XOR:相同为假,不同为真

XOR(异或)

2. 逻辑门:

逻辑门

3. 逻辑门符号:

逻辑门符号

P4 二进制

  • 二进制用 1 或 0 表示,1 或 0 叫一“位”或一"比特(bit)"。

  • 1 bytes = 8 bits (1 字节 = 8 比特)。

其他换算单位

1. 数字表示

  • 正负:用第一位表示,1负,0正。

  • 浮点数:有效数位*指数(IEEE 754标准,类似科学计数法)

32位浮点数

2. 字符表示

  • ASCII:7位代码,128个值。

  • UNICODE:统一所有编码的标准。

P5 算术逻辑单元

  • 算术逻辑单元简称ALU,有算术单元和逻辑单元两个单元,负责处理数字和逻辑运算。

1. 算术单元

  • 算术单元的数学运算:加法,带进位的加法,减法,带进位的减法,数值取反,增量(+1),减量(-1)数字无改变通过。

半加器:第一位相加

半加器&抽象

全加器:进位

全加器表格 & 全加器

8位行波进位加法器 → 超前进位加法器(现在电脑使用)

8位行波进位加法器

2. 逻辑单元

  • 作用:逻辑操作 NOT, AND, OR 和简单的数字测试。

  • 零测试电路:检测其中一位是否为1。

ALU抽象

P6 寄存器和内存

1. 锁存器

存1,存0回路电路

两个输入线:

or-and锁存器

一个输入线:

gated锁存器&抽象

2. 寄存器

  • 寄存器:一组锁存器。

  • 位宽:寄存器能存数字的位数。

8位寄存器
  • 门锁矩阵:减少输入输出线的使用。所有锁存器的数据线,允许读取线和允许写入线分别用一根线连接,当行/列线和允许写入线都为1时,才允许写入,以控制单个锁存器的使用。(16*16的矩阵35根线。)

  • 多路复用器:将地址转化为行列。eg:输入11001000,输出12行8列。

行、列多路复用器 & 16*16锁存器矩阵

n*n 的矩阵有 n^2 个位址,则可以存储 n^2 个数。但 1 个矩阵只可记录 1 位数字。

抽象行、列多路复用器 & 锁存器矩阵

8 个矩阵,所以一个位址存8位,256个位址存256字节(256*8位)。

8个锁存器矩阵

3. 内存

随机存取存储器(内存),简称RAM,可随时访问任何位置,仅在有电的时候存储数据。

RAM

P7 中央处理器CPU

  • CPU:中央处理器,负责执行程序,程序由操作(指令)组成。

  • RAM是CPU外的独立逐渐,和CPU之间用“地址线”、“数据线”和“允许读/写线”进行通信。

  • 时钟:负责管理 CPU 运行的节奏,以精确地间隔,触发电信号,控制单元用这个信号,推动 CPU 的内部操作。

  • 时钟速度:CPU “取指令→解码→执行”的速度,单位赫兹Hz,表示频率的单位。

  • 超频:修改时钟速度,加快 CPU 的速度,超频过多会让 CPU 过热或产生乱码。

  • 降频,降低时钟速度,达到省电的效果,对用电池的设备很重要。

  • 动态调整频率:处理器按需求加快或减慢时钟速度。

1. CPU工作原理

组件:指令表,控制单元(门电路)、指令寄存器,指令地址寄存器(存当前指令的内存地址)。

CPU工作原理
CPU工作原理图

第一个单芯片CPU:

因特尔4004

P8 指令和程序

  • CPU是可被软件控制的硬件,具有可编程,输入不同指令,会执行不同任务。

    (ALU没有除法,程序赋予了其除法功能。)

  • 指令集:由指令名称、用法、操作码、操作数组成。

  • 指令和数据都存在同一个内存里,本质上都是二进制数。

  • HALT能区分指令和数据

1. 指令长度

由于8位的指令,其中4位操作码,只能代指16个指令;4位地址,只能操作16个地址。

两种解决指令不够的方法:

  1. 用更多位代表指令,如32bit或64bit(指令长度)。

  2. 可变指令地址:令不同的指令长度不同。

    JUMP可省去它的寻址位数(操作码),用8位“立即值”(立即操作数,常量)表示内存地址。

    HALT则可以省去操作数的位数。

P9 高级CPU设计

提高计算机速度的方法

  1. 减少晶体管的切换时间。

    如设计逻辑门,ALU等组件。后方法达到极限。

  2. CPU硬件层面上设计专门电路。

    如设计除法电路。导致ALU越来越复杂,指令越来越多。

  3. 在CPU中加入缓存cache / 使用指令流水线。

    超高时钟的速度,使RAM与CPU之间数据交换的延迟。

1. 缓存cache

  • CPU内部的小块RAM。

    让RAM可以传一批数据给CPU。

    离CPU近,数据传输速度快。

  • 缓存命中:想要的数据在缓存。

  • 缓存未命中:想要的数据不再缓存。

缓存同步

  • 缓存在处理长/复杂的运算,被当临时空间,存中间值时,导致了缓存和RAM中数据的不一致。所以会在缓存满了CPU又要缓存时,检查脏位(每块缓存空间中的特殊标记),如果脏,加载新内容之前,把数据传输给RAM进行同步。

2. 指令流水线

  • 取指令→解码→执行,并行处理提高CPU性能。

    但存在“指令之间存在依赖关系”(旧数据不能及时变更),条件跳转”(如JUMP,空等造成延迟)两个问题,前者需动态排序有依赖关系的指令(乱序执行)。“后者需提前预测可能性(推测执行/分支预测),猜对马上执行,猜错清空流水。

并行处理
  • 超标量处理器:加相同电路(ALU),使一个时钟周期处理多条指令(取址+解码)。

超标量处理
  • 多核处理器:能同时运行多个指令流,一个CPU中有多个独立处理单元,可以相互共享资源。








【笔记】计算机科学速成课2-9的评论 (共 条)

分享到微博请遵守国家法律