CPU笔记

中央处理器(Central processing unit,CPU)是计算机的大脑。

electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions.

发展历程

  • 继电器
  • 电子管/真空管
  • 晶体管
  • 集成电路
  • 大规模集成电路

结构及要素

pentium cpu structure

cpu structure

  • ALU(arithmetic logic unit) 算数逻辑单元,负责算数和位运算
  • CU(control unit) 控制单元,负责ALU和内存之间的数据传递
  • FPU(floating-point unit) 浮点数运算器
  • ACU(Address computation unit) 地址计算单元 CPU需要从内存中读取数据,ACU负责计算数据在内存中的地址
  • MMU(Memory management unit) 内存管理单元,提供内存保护、内存分页、操作系统虚拟内存到物理内存的映射转换等功能
  • GPU(graphics processing unit) 图形处理单元

时钟周期(Clock cycle)

绝大部分CPU都是同步的,需要通过振荡晶体发出的时间脉冲信号来控制指令的执行。一条CPU指令需要一到多个时钟周期才能完成。

指令周期(Instruction cycle)

指令周期指CPU从读取指令到完成指令的过程,通常分为5个步骤:

  • instruction fetch(IF)
  • instruction decode(ID)
  • execution(EX)
  • memory access(MEM)
  • write back(WB)

其中最核心的三个步骤为:取指令 -> 指令译码 -> 执行

最简单的模式是按顺序执行完一条指令再执行下一条

subscalar-pipeline

为了提高执行效率,CPU以流水线的形式执行指令

five-states-pipeline

时钟频率(Clock rate)

每秒时钟周期数即时钟频率。衡量CPU计算能力的重要指标,单位Hz。比如英特尔i7-8700处理的时钟频率是3.2GHz,可超频到4.6GHz。

寄存器(Register)

CPU用来暂存指令、数据的存储器,容量很小速度很快

  • 指令寄存器(instruction register, IR)
  • 程序计数器(program register)
  • 累加器
  • 数据寄存器

https://en.wikipedia.org/wiki/Processor_register

缓存(Cache)

根据引用的局部性(Locality of reference)特性,一段程序90%的时间都在执行自身10%的代码。

  • 时间局部性:被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。

  • 空间局部性:如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。

CPU和内存之间速度使不匹配的,根据引用的局部性特性,设置高速存储来存放最近使用的数据和指令。

CPU通常会设置L1-L4多级Cache,存储容量十几KB到十几MB不等。

CPU总线

CPU通过总线(bus)控制内存和输入输出设备。

system bus north_south_bridge

  • PCI Express(用于控制显卡、硬盘、WiFi、以太网等)
  • PCH
    • Ethernet LAN
    • SATA
    • Root Hubv

指令集架构(Instruction set architecture, ISA)

  • 复杂指令集(complex instruction set computer, CISC)

    • Intel
  • 精简指令集(reduced instruction set computer, RISC)

    • ARM
    • MIPS
    • RISC-V

制造过程

  • 将沙子进行熔炼提纯得到单晶硅锭(重量可达100kg,纯度99.9999%)
  • 对单晶硅锭进行切片得到晶圆(wafer)
  • 对晶圆进行进一步加工打磨成镜面
  • 在晶圆中掺入杂质(CMOS工艺)
  • 高温加热切片使其表面产生二氧化硅膜
  • 进行蚀刻,给晶圆涂抹光刻胶(Photo Resist),然后透过掩膜(Mask)进行紫外线进行光蚀刻,被紫外线照射部分的光刻胶溶解,剩下的部分为掩膜上预印的电路图案
  • 重复蚀刻
  • 进行离子注入
  • 清除光刻胶,晶体管制作完成
  • 填充铜及电镀形成铜层
  • 抛光去掉多余的铜
  • 晶体管堆叠
  • 晶圆测试
  • 晶圆切片(晶圆上的一个方块称为Die,每一片就是一个CPU内核)
  • CPU封装
  • CPU测试
  • CPU装箱

Intel Shows How A CPU Is Made

参考资料