寄存器

← 存储器导航 | ← 计算机组成原理知识地图 | → 操作系统:PSW 应用 | ← 主页

它是什么

寄存器是最靠近 CPU 控制单元和运算单元的一层存储器。CPU 真正在执行指令时,最希望数据就在寄存器里,因为这里读写最快。

核心特点

  • 速度最快,通常要求在半个 CPU 时钟周期内完成读写。
  • 数量很少,一般只有几十到几百个。
  • 单个寄存器能放的数据也不多,32 位 CPU 常见是 4 字节,64 位 CPU 常见是 8 字节。

为什么它这么重要

CPU 执行一条指令时,不只是做加减乘除,还要取指、译码、控制执行。如果寄存器访问慢,整条指令的节奏都会被拖慢,所以寄存器虽然小,却是整台机器里最“值钱”的位置之一。

程序状态字(PSW)

PSW 是一种特殊寄存器,集中存放 CPU 当前运行状态的一堆标志位。它不存数据,存的是 CPU 此刻”是什么状态”

常见标志位

标志/字段作用
模式位 (Mode Bit)区分 CPU 当前是内核态(0) 还是用户态(1)。特权指令只能在特定模式执行
条件码 / 算术标志ALU 运算结果特征:零标志(ZF)进位标志(CF)溢出标志(OF)符号标志(SF),供条件跳转指令判断
中断使能位 (IF)控制 CPU 是否响应可屏蔽中断。关中断时硬件中断被暂时屏蔽
中断屏蔽字更精细地控制哪些优先级的中断可以打断当前执行

不同架构叫法不同:x86 叫 EFLAGS/RFLAGS,ARM 叫 CPSR(Current Program Status Register),本质都是 PSW。

在操作系统中的角色

场景PSW 怎么参与
系统调用入口硬件自动把当前 PSW 压栈 → 切模式位到内核态 → 跳转内核处理程序;返回时弹出恢复用户态
上下文切换PSW 随 PC、通用寄存器一起保存到进程 PCB,恢复进程时一起弹回
关/开中断临界区关中断本质就是在改 PSW 的中断使能位

操作系统只是 PSW 的使用者,PSW 本身是 CPU 硬件提供的机制。详见 CPU 运行模式与特权指令

通用寄存器 vs PSW

通用寄存器 (GPR)PSW
存什么数据、地址、中间结果CPU 状态标志
谁读写程序指令直接读写硬件自动更新 + 特权指令修改
典型数量几十个1 个
上下文切换保存/恢复同样保存/恢复

继续看