中央处理器由什么组成:硬件模块拆解
中央处理器由什么组成,核心分为运算器、控制器、寄存器组、高速缓存四大硬件模块,配套内部总线完成数据传输,运算器负责算术与逻辑运算,控制器解析指令并调度硬件动作,寄存器组临时存放正在处理的数据,高速缓存用来降低内存读取延迟,这套结构适用于桌面电脑、服务器、手机的通用CPU,单片机专用处理器会精简部分缓存单元,不适用此完整划分方式。
中央处理器的运算器
运算器是CPU执行计算的单元,内部包含算术逻辑单元ALU,ALU负责加减乘除这类算术运算,还有与、或、非等逻辑判断,附带移位电路,能够对二进制数据做左右移位操作。运算器从寄存器读取待处理数据,运算完成后把结果回写到寄存器,不直接和内存交换数据,以此缩短单次运算耗时。浮点运算单元FPU属于运算器的扩展部分,专门处理小数运算,渲染图像、科学计算场景下会高频调用FPU,精简型CPU可省略FPU,此时浮点计算交由软件模拟,处理速度会明显下降。
中央处理器的控制器
控制器读取内存里的指令,对指令做译码,识别指令要执行的操作类型,生成对应的控制信号,发送给运算器、寄存器、总线接口,协调各个单元有序工作。控制器内置程序计数器PC,用来保存下一条指令所在的内存地址,处理器每完成一条指令,PC就更新地址,实现指令连续读取。遇到跳转指令时,控制器会修改PC的值,改变后续指令读取顺序,实现分支判断、循环这类程序逻辑。控制器不会参与数据计算,只承担调度和指挥的职能。
中央处理器的寄存器组
寄存器是CPU内部速度最快的存储位置,由触发器电路构成,访问延迟远低于高速缓存。寄存器分成通用寄存器和专用寄存器,通用寄存器可以临时保存运算过程里的操作数与结果,供ALU随时调用;专用寄存器包含程序计数器、状态寄存器,状态寄存器记录运算后产生的标记,比如计算结果是否为零、是否溢出,控制器读取标记来决定程序分支走向。寄存器的容量很小,主流桌面CPU通用寄存器通常只有几十个,无法长期保存大量数据,任务结束后数据会被覆盖。
寄存器只存放当前指令正在使用的数据。
中央处理器的高速缓存
高速缓存简称Cache,在CPU和内存之间搭建高速存储缓冲,解决内存读写速度跟不上CPU运算速度的问题,一般分为L1、L2、L3三级缓存。L1缓存距离运算单元最近,读写速度最快,容量偏小,分为指令缓存和数据缓存,分开存放指令与数据,减少访问冲突;L2缓存容量大于L1,速度略低,为单个CPU核心独享;L3缓存容量最大,速度最慢,由多个CPU核心共享。CPU读取数据时优先查找L1缓存,命中就直接取用,没有命中再逐级向后查找,缓存命中率越高,CPU整体执行效率越高。
中央处理器的内部总线
内部总线是CPU芯片内部的信号线路,连接运算器、控制器、寄存器、高速缓存,负责在各个模块之间传递二进制数据、指令和控制信号。总线有固定位宽,位宽决定单次传输的数据量,位宽更大的总线单次搬运数据更多。内部总线和主板上的外部总线相互独立,内部总线只在芯片内部工作,外部总线负责CPU和主板内存、硬盘等外设通信。总线同一时刻只能传输一组信号,多个单元同时发起传输请求会产生竞争,控制器会做仲裁分配总线使用权。
| 组成模块 | 核心功能 | 速度等级 | 容量特点 |
|---|---|---|---|
| 寄存器组 | 临时存放运算数据 | 最高 | 极小 |
| 高速缓存 | 缓冲内存数据 | 高 | 中等 |
| 运算器 | 执行算术逻辑运算 | 无存储属性 | 无存储 |
| 控制器 | 指令译码与硬件调度 | 无存储属性 | 无存储 |
精简指令集架构处理器,很多会简化控制器的译码电路,减少硬件开销,降低芯片功耗,适合嵌入式设备。复杂指令集架构处理器的控制器译码电路更复杂,单条指令能完成更多操作,芯片晶体管数量会增加,功耗相对更高。两种架构没有绝对优劣,只是面向不同设备场景做取舍,嵌入式设备优先选精简指令集架构,传统桌面电脑大多采用复杂指令集架构。
单片机这类极简处理器,可去掉L2、L3缓存,仅保留少量寄存器和基础运算、控制单元,硬件成本下降,但连续读取大量数据时性能上限偏低,这类芯片多用于家电控制、传感器采集,不适合视频编码、大型程序运算这类高负载任务。
