中央处理器(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.
发展历程
- 继电器
- 电子管/真空管
- 晶体管
- 集成电路
- 大规模集成电路
结构及要素
- 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)
其中最核心的三个步骤为:取指令 -> 指令译码 -> 执行
最简单的模式是按顺序执行完一条指令再执行下一条
为了提高执行效率,CPU以流水线的形式执行指令
时钟频率(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)控制内存和输入输出设备。
- 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装箱
参考资料
- Central processing unit
- Basic Gates and Functions
- Logic gate
- Central processing unit
- Clock cycle
- Instruction cycle
- Instruction set architecture
- A New Golden Age for Computer Architecture
- Bus(computing)
- 为什么CPU需要时钟才能工作?
- 在理想状态下,CPU需不需要工作在一个时钟下?
- 为什么主流CPU的频率止步于4G?我们触到频率天花板了吗?
- 为什么晶圆都是圆的不是方的?
- 为什么"电路"要铺满整个晶圆
- CPU的功能和组成
- CPU的工作过程
- 理解 CPU Cache
- Limits of computation
- Wafer
- Semiconductor