• CPU的功能和组成

    • CPU的功能
      CPU是计算机的核心部件,其基本功能包括:
      • 指令控制:从存储器取出指令,译码并执行。
      • 操作控制:产生微操作信号,驱动各部件执行指令。
      • 时间控制:为每条指令提供时序节拍。
      • 数据加工:通过ALU对数据进行算术/逻辑运算。
      • 中断处理:响应外部/内部中断,切换进程。
    • CPU的基本组成
      CPU主要由运算器、控制器、寄存器组和内部总线组成。控制器包括程序计数器(PC)、指令寄存器(IR)、指令译码器、时序产生器和控制逻辑(微程序或硬布线)。
    • CPU中的主要寄存器
      • 程序计数器(PC):存放下一条指令的地址。
      • 指令寄存器(IR):存放当前正在执行的指令。
      • 累加器(ACC):存放中间运算结果。
      • 状态寄存器(PSW/Flag):存放条件标志(C、Z、N、V)和中断允许等状态。
      • 通用寄存器(R0-Rn):存放操作数和地址。
      • 堆栈指针(SP):指向栈顶地址。
      • 基址/变址寄存器:支持多种寻址方式。
    • 操作控制器与时序产生器
      操作控制器产生微操作命令序列,分为微程序控制器(存储微指令)和硬布线控制器(组合逻辑)。时序产生器提供时钟信号和节拍信号,控制指令的执行步骤。
  • 指令周期

    • 指令周期的基本概念
      指令周期是指CPU从取指令、译码到执行完一条指令所花的时间。一个指令周期通常包含取指周期(取指令)、间址周期(若需取操作数地址)、执行周期、中断周期(若响应中断)。每个周期又由若干时钟周期(T周期)组成。
    • MOV指令的指令周期
      MOV指令(寄存器间或立即数传送)的指令周期:取指→译码→执行(传送数据)。执行周期只需一个时钟周期(寄存器间)。若MOV涉及内存,则需内存读/写周期。
    • LAD指令的指令周期
      LAD(LOAD)从内存读数据到寄存器:取指→译码→计算地址→读内存→写寄存器。执行周期包括地址计算和内存访问,通常需多个时钟周期。
    • ADD指令的指令周期
      ADD加法指令(寄存器-寄存器):取指→译码→ALU计算→写回结果。执行周期为1个时钟周期。若为内存操作数,则需额外访存周期。
    • STO指令的指令周期
      STO(STORE)将寄存器内容写回内存:取指→译码→计算地址→写内存。写内存通常需要1个周期(假设内存写操作)。
    • JMP指令的指令周期
      JMP无条件跳转:取指→译码→计算目标地址→将目标地址写入PC。执行周期短。条件跳转还需根据标志位决定是否修改PC。
    • 用方框图语言表示指令周期
      方框图语言以矩形框表示操作(如“取指令”)、菱形框表示判断(如“是否需要间址”),描述指令周期流程。可以清晰展示微操作序列和时序关系。
  • 时序产生器和控制方式

    • 时序信号的作用和体制
      时序信号为CPU各部件提供同步节拍。常见体制:单节拍(所有操作在一个时钟周期完成,限于低速)、多节拍(每条指令分多个时钟周期)、异步(无统一时钟,应答方式)。
    • 时序信号产生器
      时序产生器由晶体振荡器(产生主频时钟)、分频器、节拍发生器(环形计数器或分频逻辑)组成。产生时钟周期(T1, T2…)、机器周期(M周期)、指令周期等信号。
    • 控制方式
      控制方式指CPU如何发出微操作命令:
      • 同步控制:所有指令使用固定长度的时钟周期。简单但效率低。
      • 异步控制:每条指令或微操作采用应答方式,速度较快但控制复杂。
      • 联合控制:大部分指令同步,少数复杂指令异步扩展。
  • 微程序控制器

    • 微程序控制原理
      微程序控制将机器指令(宏指令)解释为一串微指令序列。控制存储器(ROM或RAM)存放微程序。执行指令时,微地址生成器根据指令操作码产生微地址,逐条读取微指令,每个微指令产生一组微操作控制信号。微指令格式分为水平型(一个时钟周期执行多个微操作)和垂直型(类似于机器指令的微指令)。
    • 微程序设计技术
      微程序设计技术包括:微指令编码(直接编码、字段直接编码、字段间接编码)、微地址形成(增量、多路转移、下址字段)、微程序顺序控制、微程序设计语言等。现代CPU的微程序常采用加标签的控制存储和分支逻辑。
  • 硬布线控制器
    硬布线控制器由组合逻辑电路(门电路、触发器)构成,直接根据指令操作码、时序节拍和状态条件产生控制信号。速度比微程序控制器快,但指令集复杂时逻辑设计极为复杂,不易修改。RISC处理器多采用硬布线控制(也有少数RISC使用微程序)。CISC的早期如8086使用微程序,后来逐步混合。

  • 流水CPU

    • 并行处理技术
      并行处理技术包括:指令流水线(时间并行)、多发射(超标量)、多核(空间并行)。流水线将指令执行分解为若干阶段(取指、译码、执行、访存、写回),多个指令重叠执行。
    • 流水CPU的结构
      经典五级流水线:IF(取指令)、ID(指令译码/读寄存器)、EX(执行/地址计算)、MEM(访存)、WB(写回)。流水线寄存器(IF/ID、ID/EX、EX/MEM、MEM/WB)用于传递数据和控制信号。流水线需要处理结构冒险、数据冒险和控制冒险。
    • 流水线中的主要问题
      • 结构冒险:资源冲突,如指令和数据共用同一存储器。解决:哈佛结构(指令/数据分离)、增加资源。
      • 数据冒险:后一条指令依赖前一条指令的结果。解决:转发(旁路)、插入气泡(停顿)、编译优化。
      • 控制冒险:分支指令改变PC,导致流水线冲刷。解决:分支预测(静态/动态)、延迟槽(早期RISC)。 现代流水线深度可达10-20级(如Intel Core)。
  • RISC CPU

    • RISC机器的特点
      前面已述。RISC通常采用流水线、单周期指令、LOAD/STORE结构、大量寄存器。典型RISC处理器有ARM、MIPS、RISC-V、PowerPC(早期)等。
    • RISC CPU实例
      ARM Cortex-A系列:多级流水线(通常13级或更少),支持超标量、乱序执行。RISC-V是一个开源指令集,设计简洁,适合教育和嵌入式。
    • 动态流水线调度
      动态调度由硬件(如Tomasulo算法)在运行时重排指令顺序,减少数据冒险造成的停顿。需要保留站、重排序缓冲(ROB)和寄存器重命名技术。常见于高性能处理器(Intel Core、AMD Zen)。与之相对的是静态调度(编译器优化)。