[笔记]计算机基础 1 CPU①基础元件与加法器

本章将讲解CPU的相关知识,涉及电路、逻辑和计算机组成原理,作为我自学CSAPP的第一门笔记,也衷心感谢出视频、博客介绍这部分知识的up主、博主,相关链接都在最后。

文章目录

  • 1 MOSFET(金属氧化物半导体效应晶体管)
    • 1.1 半导体(N/P型掺杂)
    • 1.2 NP结、耗尽层、二极管
    • 1.3 MOSFET(NMOS/PMOS)
  • 2 逻辑门
    • 2.1 非门
    • 2.2 或门 与门 或非门 与非门
    • 2.3 异或门 同或门
  • 3 加法器Adder 与 减法器 Subtractor
    • 3.1 半加法器Half Adder
    • 3.2 全加法器Full Adder
    • 3.3 行波进位全加法器 / 串行进位全加法器(Ripple-carry Adder,RCA)
    • 3.4 超前进位全加法器 / 并行进位全加法器(Carry-lookahead Adder,CLA)
    • 3.5 减法器Subtractor
    • 3.6 乘法器Multiplier
  • 4 总结

1 MOSFET(金属氧化物半导体效应晶体管)

1.1 半导体(N/P型掺杂)

众所周知,半导体的原材料Si,其最外层有4个电子,Si原子之间会形成共价键,是一种稳定结构,几乎不导电。

  • N型掺杂,指将磷原子P掺杂进硅Si中,因为P最外层有5个电子,这使得在形成4个共价键的情况下,会有1个不太受束缚的自由电子,因此导电性上升,此时的载流子为电子[笔记]计算机基础 1 CPU①基础元件与加法器_第1张图片
  • P型掺杂,同理,将硼原子B掺杂进硅中,因为B最外层只有3个电子,这使得在形成3个共价键的情况下,会有1个空穴,其他的电子可以移动到空穴中,表现为空穴的不断移动,此时的载流子为空穴

1.2 NP结、耗尽层、二极管

如图我们在一块硅晶体的两边分别进行P型掺杂N型掺杂

  1. 此时,N型掺杂中电子密度高,因为扩散作用,电子会自发地从N型区域向P型区域扩散,并于空穴结合。
  2. 由于扩散作用,在交界处,N型区域呈现正电性,P型区域呈现负电性,从而形成了N->P的电场,此时电子扩散运动方向电子受力方向相反,最终会达成一个平衡。
  3. 达成平衡后,其他的电子将无法跨过电场到达P型区域,在交界处附近形成了一个没有载流子(电子/空穴),且内建电场耗尽层

    接下来,介绍二极管。
    对于这样一个NP结而言,如果外接电源,正极接P,负极接N,那么如图所示,电池所提供的电场与内建电场方向相反,当电池电场足够抵消内建电场时,电子就将自发地按扩散方向流动,从而导通。

相反地,如果正极接N,负极接P,那么,电池所提供的电场与内建电场方向相同,会加剧内建电场的效果时,耗尽层扩大,从而无法导通。

1.3 MOSFET(NMOS/PMOS)

与二极管的原理一致,我们先介绍NMOS
我们在P型掺杂的肩膀处加入两处的N掺杂,在两处交界处都会形成耗尽层,而二极管只能从P导向N,因此此时对于这样一个结构,无论正接还是反接都无法导通

此时我们借助电容,因为电容器可以通过电压来控制电场,我们在上层两块N型掺杂区域中间,加入电容器正极 和 绝缘层P型区域充当电容器负极,那么将会产生正极->负极的电场,当电压足够,电场足够强时,电子会被吸引到N型区域中间,不仅填充了空穴,并且还会有大量的自由电子,其性质类似于N型掺杂,从而连通了两个N型区域,拥有了导电性,中间这个区域被称为N沟道

这样一个MOSFET被称为NMOS,它具有以下的性质:

  • 电压高于阈值电压,可以导通。[高压导通]
  • 电压低于阈值电压不导通。[低压不导通]

如果我们将N型、P型区域调换,并且电容正负极也调换,就会得到PMOS,其性质正与NMOS相反。

  • 电压高于阈值电压不导通。[高压不导通]
  • 电压低于阈值电压,可以导通。[低压导通]

利用NMOS与PMOS,并且借助串联、并联的组合,我们就可以通过输入电信号的高低压来得到不同的输出,即各种逻辑电路。

2 逻辑门

2.1 非门

直接上图,非门由一个连接高压VDD的PMOS连接电压VSS的NMOS组成。

  • 当A输入电压为高压时,PMOS不导通,NMOS导通,那么B处相当于直接与低电压VSS相接,输出低压
  • 当A输入电压为低压时,NMOS不导通,PMOS导通,那么B处相当于直接与高电压VDD相接,输出高压

我们认为高压为1,低压为0,那么这就是一个基础的非门电路实现。

2.2 或门 与门 或非门 与非门

直接上图,非门电路由或非门非门组成,其对应的电路图、符号、真值表如下。

与门结构上与或门很类似,将PMOS和NMOS串联、并联方式进行了更改,同样由与非门非门组成。

2.3 异或门 同或门

这里着重介绍异或门,异或的逻辑为相同为0,不同为1,运算法则为a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

在实现上,异或门与或门只有输入为(1,1)时不同,异或门的输出为0,因此借助或门、与非门、与门就可以组成对应的异或门,如图所示。[笔记]计算机基础 1 CPU①基础元件与加法器_第2张图片

3 加法器Adder 与 减法器 Subtractor

3.1 半加法器Half Adder

对于1位(1 bit)的加法而言,有两个输入两个输出

两个输出分别为本位和Sum,进位Carry,简写为S和C。

  • S的计算可以通过异或门得到,0+0=0,1+0=1,0+1=1,1+1=0
  • C的计算通过与门得到,只有1+1=10的时候存在进位1

    [笔记]计算机基础 1 CPU①基础元件与加法器_第3张图片

3.2 全加法器Full Adder

事实上,除了最低位,加法器应该总共有三个输入,除了本身的输入的加数与被加数,还有低位进位C,具体表如下
[笔记]计算机基础 1 CPU①基础元件与加法器_第4张图片

电路中S由2个异或门得到,而C由异或门、与门、或门组成,其逻辑表达式和逻辑电路图如下

[笔记]计算机基础 1 CPU①基础元件与加法器_第5张图片

3.3 行波进位全加法器 / 串行进位全加法器(Ripple-carry Adder,RCA)

使用串行电路,通过1个半加法器n-1个全加法器组成n位的整数加法器[笔记]计算机基础 1 CPU①基础元件与加法器_第6张图片

行波进位的缺点在于依赖性,进位是串行进行的,必须得到低位的进位才能计算高位的进位,速度慢。

3.4 超前进位全加法器 / 并行进位全加法器(Carry-lookahead Adder,CLA)

RCA慢的原因在于进位C的计算具有高度先后顺序,因此CLA的思路就是空间换时间,利用表达式的展开,将进位所需的计算结果提前全部算出,下图为4位加法中,每一位所产生的进位,其中Gi=Ai·Bi,Pi=Ai⊕Bi,都是在输入A、B的一开始,就可以并行计算得到的结果

具体的电路如下图[笔记]计算机基础 1 CPU①基础元件与加法器_第7张图片

这种加法器的问题在于随着位数的增加,所需要的门电路会迅速增长,对制造工艺和面积要求而言都是巨大挑战,事实上实际的ALU中,往往采用RCA和CLA混合的架构。

3.5 减法器Subtractor

众所周知,计算机的减法是利用补码来表示负数从而实现的,因此我们只需要关注求补电路即可。

补数=反数+1,那么可以使用一个非门加1的加法器组装得到。具体的求补电路和减法器如图所示

[笔记]计算机基础 1 CPU①基础元件与加法器_第8张图片
[笔记]计算机基础 1 CPU①基础元件与加法器_第9张图片

3.6 乘法器Multiplier

最后补张乘法器的图,以后有空在慢慢琢磨。

4 总结

从底层的元件起步,确实开始一点点地感受到计算机的奥妙所在,没有那么云里雾里了。
就是一个下午看了太多内容,不仅这一小部分,还有后面的寄存器、内存、指令程序、CPU设计、多进程等等,感觉脑子要爆炸了,一个下午像是上了半个学期的内容,只好先写一点最简单的部分,巩固一下。
只能说走出舒适区是痛苦的,但也是不得不为的,一会儿打算再看一会儿书,不想盯着视频看了。
——2023.3.12
参考链接:
【硬件科普】带你认识CPU第00期——什么是MOSFET

你可能感兴趣的:(计算机,cpu)