晶体管
CPU中译中央处理器,是计算机的核心。如今,微处理器担任此职责,而它由数片大规模集成电路组成。集成电路的最小单元是逻辑门,后者由晶体管搭建。
现代晶体管称为MOS晶体管,“MOS”是Metal-oxide semiconductor的缩写,即“金属氧化物半导体”。
MOS晶体结构为:门、源极、漏极,分为P/N两类。两者源极和漏极的位置不同,门结构也不同。同时包含两者的集成电路称为CMOS电路,其中“C”是Complementary。
若向N类晶体管的门供电1.2V,源极至漏极连通;供电0V,源极与漏极形成断路。若向P类晶体管的门供电0V,源极至漏极连通;供电1.2V,源极与漏极形成断路。
不可让P类晶体管源极接地,亦不可给N类晶体管源极接1.2V电压,如此将导致晶体管内部产生“传输电压”,大约0.5V。
逻辑门
逻辑门皆为CMOS。
构造上:
- 反相器
- 或非门;或门 = 或非门 + 非门
- 与非门;与门 = 与非门 + 非门
多线路切片记法
当你需要集合涵盖多条线路时,先为线路编号,则有:
S[High:Low]
针对全部线路,表示为S[最高编号:0]
;假如我想表示第0到第2根线路,写作S[2:0]
。
注意切片只能表示连续部分;线路数量是High - Low + 1
。
组合逻辑电路
状态转变仅取决于输入。
解码器
断言输入模式。有且仅有一个输出端为1,其余为0。
输出端数量 output(n) = 2n,n为输入端数量
多路复用器
通过操纵选择线路S[High:Low],放行一个输入端。仅有一个输出端。
选择线路S逐个跟输入端以某种方式做与运算,运算结果汇聚做或运算。
选择线路数量 select_line(n) = 2n,n为输入端数量
1位加法器
输入端分别是两个因子及上一进位;输出端分别是“和”与“进位”。
单个加法器作用不大,需要多个组合使用,方案有:串行、并行、超前进位。
组合加法器的起始加法器要给予进位输入端0。这样的1位加法器又称半加器;相对于此,则称全加器。
可编程逻辑阵列(PLA)
通用的逻辑函数实现块。
PLA靠解码器断言输入信息,经过编程的逻辑函数计算,再通过多端输出。
输出端的数量取决于所设计逻辑函数的数量,即真值表的输出列有多少。
逻辑完备
指定一组逻辑门,若基于此的逻辑电路可以实现任何逻辑函数,则称此组逻辑门完备,即逻辑完备。
经典的完备:
卡诺图
用于简化布尔函数,本质是布尔运算的加法结合律和A + A' = 1
。
时序逻辑电路
状态转变取决于输入和当前状态。
时序逻辑电路分为组合逻辑电路和存储单元两部分。
存储单元
最基础的存储单元是R-S锁存器,通过组合,它可升级为功能更强大的存储单元。迭代升级之目的是消除未定义行为。
R-S锁存器
S乃Set,R乃Reset。此单元包含两个互异的输出端,视与S并排的输出端为正。
常见的R-S锁存器基于与非门,低电平置1。
特征表:
Qn | S | R | Qn+1 |
---|---|---|---|
X | 1 | 0 | 0 |
X | 0 | 1 | 1 |
1 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
X | 0 | 0 | ? |
输入皆为0是未定义行为,取决于晶体管的电器性质。
特征方程:
- S + R = 1
- Qn+1 = S' + SRQn
D锁存器
基于上述R-S锁存器。此单元的输入有:D端,用于改变状态;WE端,即Write Enable,控制锁存。在时序逻辑电路中,WE端连接时钟。
特征表:
Qn | D | Qn+1 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
特征方程:Qn+1 = D'
有限状态机
状态持续转变的系统,且满足以下条件:
- 状态数量有限
- 外部输入数有限
- 外部输出数有限
- 精确定义所有状态转变
- 精确定义决定外部输出的方式
有限状态机可用时序电路实现,以时钟信号驱动状态转变。
异步时序电路
电路各储存单元不由统一时钟信号驱动。
同步时序电路
电路各存储单元由统一时钟信号驱动,状态转变具备周期性。
引例:D锁存器的缺陷 -> P90
假如使用D锁存器作为有限时序电路的存储单元,因为电路需要将状态作为组合电路部分的输入,所以状态转变时,输入随之转变,电路陷入未定义状况。
将输入更新推迟到锁存态可解决此问题,主从触发器应运而生。
内存
内存拥有若干有地址的位置,每个位置存有值。
最小取址段与地址空间
最小取址段(Addressabiliy)是位置的空间大小。
例如,常见的计算机按字节取址,因为早年计算机接受键盘输入,就依靠8位的ASCII码传递,按字节取址易于修改内存中的信息。
再比如,科学计算电脑按64位取址,因为它们大量使用64位浮点数。
地址空间就是位置的数量。如果内存为2G,最小取址段为8位,那么地址空间就是2 × 230。
内存模型
命名格式是地址空间-按-最小取址段。例如,22-by-3-bit。
给定地址输入解码器,断言到字行。我理解的字(word)就是最小取址段。解码输出作为选择总线,同列所有储存单元的状态汇聚到一个MUX,输出结果就是地址所指位置之值的某比特位,最终所有这些比特位合成目标值。
数据路径
计算机核心的全部逻辑元件组合形成数据路径。