美文网首页
从晶体管到CPU

从晶体管到CPU

作者: 设计匠 | 来源:发表于2019-05-26 14:49 被阅读0次

    晶体管是CPU中的最小组成元器件;
    晶体管的组合,可以形成基本逻辑单元(非门、与非门、或非门...);
    基本逻辑单元的组合,可以形成基本逻辑电路(全加器、地址译码器、三态门、D锁存器、D触发器、移位寄存器);
    由基本逻辑电路的组合,可以形成一个最基本的概念CPU;

    1.最小元器件(晶体管/场效应管)

    晶体管有NPN型、PNP型
    晶体管的三级分别为基极(B)、集电极(C)、射极(E)
    对于NPN型,当基极给正电流,集电极射极导通,反之断开;
    对于PNP型,当基极给负电流,射极集电极导通,反之断开;

    晶体管.png
    场效应管有N型、P型
    场效应管的三级分别为控制极(G)、源极(Vss)、漏极(Vdd)
    对于N型,当控制极给高电压,源极漏极导通,反之断开;
    对于P型,当控制极给低电压,漏极源极导通,反之断开;
    场效应管.png
    场效应管也是一种晶体管;

    2.基本逻辑单元

    通过晶体管的组合,可以形成基本逻辑单元

    非门 B=!A

    非门.png

    与非门 C=!(A&B)

    与非门.png

    或非门 C=!(A|B)

    或非门.png

    三态门

    C为1时输出等于输入,C为0时输出为高阻状态(可理解为空)


    三态门.png

    与门A&B、或门A|B

    它们不是最简单的逻辑单元,而是组合出来的


    与门 或门.png

    异或门

    同样是组合出来的


    异或门.png

    3.基本逻辑电路

    通过基本逻辑单元的组合,可以形成基本逻辑电路;

    加法(减法)器

    全加器:xyz表示三个二进制数,cs表示二位二进制结果

    全加器.png
    四个全加器组合,形成4比特的加法电路
    加法电路.png
    有了加法就有了减法,因为减法等于加上一个负数、 负数可表示为一个二进制的补码

    译码器

    地址译码器,当A0~4给特定值时(地址)输出为1,否则为0;
    输出接三态门后,可实现类似通过内存地址取值的操作;


    地址译码器.png

    二四译码器,输入AB的不同组合,输出端依次只有一个为0(实现了多路选择)


    二四译码器.png

    D锁存器、D触发器

    之前的逻辑电路输出值总是取决于当前的输入值,我们称之为组合逻辑电路;
    如果输出值不是只取决于当前输入值,还取决于上一个状态的输出值,我们则称之为时序逻辑电路;
    D锁存器:C为0时Q和Q反的值不发生变化,C为1时Q等于D、Q反等于D相反值;(保存了状态)

    D锁存器.png
    D触发器:在D锁存器基础上加入了根据CLK信号边缘触发;
    D触发器.png
    D触发器时序图.png
    移位寄存器:将D触发器串行组合后,可以形成移位寄存器,依靠时钟脉冲将信号不断右移;(实现乘除法)
    移位寄存器.png

    4.概念CPU

    通过基本逻辑电路,我们实现了加减、与或、左右移(乘除)、多路选择;
    利用这些基本逻辑电路,可以组合成一个概念CPU如下图:


    概念CPU.png

    A、B为两个四位二进制输入信号,同时接到四个运算电路上;
    利用加法、与或、左移、右移电路,可以对AB进行加减乘除与或运算;(S0、S1可以调整运算电路的运算规则)
    运算结果给到多路开关,通过S2、S3的取值来选择输出哪种计算结果;
    该电路实现了通过给定的S0~3,可以知道取哪个计算电路的哪种计算方式来对A、B进行计算;
    把S0~3的16种排列组合,理解为概念CPU的16条指令,A、B理解为两个四比特的运算数,那么这就是一个四比特概念CPU;
    程序的执行,就是交替给CPU指令和运算数让其运算;


    概念CPU指令集.png

    相关文章

      网友评论

          本文标题:从晶体管到CPU

          本文链接:https://www.haomeiwen.com/subject/icnzzqtx.html