晶体管是CPU中的最小组成元器件;
晶体管的组合,可以形成基本逻辑单元(非门、与非门、或非门...);
基本逻辑单元的组合,可以形成基本逻辑电路(全加器、地址译码器、三态门、D锁存器、D触发器、移位寄存器);
由基本逻辑电路的组合,可以形成一个最基本的概念CPU;
1.最小元器件(晶体管/场效应管)
晶体管有NPN型、PNP型
晶体管的三级分别为基极(B)、集电极(C)、射极(E)
对于NPN型,当基极给正电流,集电极射极导通,反之断开;
对于PNP型,当基极给负电流,射极集电极导通,反之断开;
场效应管有N型、P型
场效应管的三级分别为控制极(G)、源极(Vss)、漏极(Vdd)
对于N型,当控制极给高电压,源极漏极导通,反之断开;
对于P型,当控制极给低电压,漏极源极导通,反之断开;
场效应管也是一种晶体管;
2.基本逻辑单元
通过晶体管的组合,可以形成基本逻辑单元
非门 B=!A
与非门 C=!(A&B)
或非门 C=!(A|B)
三态门
C为1时输出等于输入,C为0时输出为高阻状态(可理解为空)
与门A&B、或门A|B
它们不是最简单的逻辑单元,而是组合出来的
异或门
同样是组合出来的
3.基本逻辑电路
通过基本逻辑单元的组合,可以形成基本逻辑电路;
加法(减法)器
全加器:xyz表示三个二进制数,cs表示二位二进制结果
四个全加器组合,形成4比特的加法电路
有了加法就有了减法,因为减法等于加上一个负数、 负数可表示为一个二进制的补码
译码器
地址译码器,当A0~4给特定值时(地址)输出为1,否则为0;
输出接三态门后,可实现类似通过内存地址取值的操作;
二四译码器,输入AB的不同组合,输出端依次只有一个为0(实现了多路选择)
D锁存器、D触发器
之前的逻辑电路输出值总是取决于当前的输入值,我们称之为组合逻辑电路;
如果输出值不是只取决于当前输入值,还取决于上一个状态的输出值,我们则称之为时序逻辑电路;
D锁存器:C为0时Q和Q反的值不发生变化,C为1时Q等于D、Q反等于D相反值;(保存了状态)
D触发器:在D锁存器基础上加入了根据CLK信号边缘触发;
移位寄存器:将D触发器串行组合后,可以形成移位寄存器,依靠时钟脉冲将信号不断右移;(实现乘除法)
4.概念CPU
通过基本逻辑电路,我们实现了加减、与或、左右移(乘除)、多路选择;
利用这些基本逻辑电路,可以组合成一个概念CPU如下图:
A、B为两个四位二进制输入信号,同时接到四个运算电路上;
利用加法、与或、左移、右移电路,可以对AB进行加减乘除与或运算;(S0、S1可以调整运算电路的运算规则)
运算结果给到多路开关,通过S2、S3的取值来选择输出哪种计算结果;
该电路实现了通过给定的S0~3,可以知道取哪个计算电路的哪种计算方式来对A、B进行计算;
把S0~3的16种排列组合,理解为概念CPU的16条指令,A、B理解为两个四比特的运算数,那么这就是一个四比特概念CPU;
程序的执行,就是交替给CPU指令和运算数让其运算;