2021-11-07 · 1분
什么是栈帧?
栈帧是什么——保存参数、返回地址和局部变量的每个函数的栈区域——以及函数序言(push rbp; mov rbp, rsp)和尾声(pop rbp; ret)如何搭建和拆除它。
2022-01-13 · 2분
这篇文章发布已超过两年,内容可能已过时。

Accumulator(累加器 AC)
- 临时存储数据的寄存器。从存储器读来的数据与累加器中已载入的数据执行指定运算后,把结果值再次载入累加器。可以把累加器内容全部清为 0,也可以向左或向右移动若干位。累加器的位数等于 word 的长度,即 CPU 一次能处理的数据位数。
临时存储数据,AC := AC 当前值 + 从内存读来的值
Program Counter(程序计数器 PC): address of next instruction to execute.
- 持有下一条待执行指令地址的寄存器。PC 值根据 word 大小按 1 或指令长度(字节数)递增,从而连续执行存储器中的指令。但若执行分支指令,则更新为其目的地地址。
下一条待执行指令地址、中断、cpu 指令处理顺序
Instruction Register(指令寄存器 IR)
- 记忆当前正在执行指令的寄存器
Memory Address Register(存储器地址寄存器 MAR): address of instruction or data.
- 为取出下一条待执行指令,在当前 PC(程序计数器)中的内容(地址)被输出到系统地址总线之前临时保存它的地址寄存器
地址总线、PC -> MAR
Memory Buffer Register(存储器缓冲寄存器 MBR): contents of a specific memory address.
(数据总线)、MAR 的实际内容(data、instruction)、memory 与 cpu 的接口
Status Register(状态寄存器 PSR): execution information
- 表示程序运行的每一刻程序的执行状态与处理器状态
Data Register(数据寄存器 DR)
- 存储函数运算所需的数据。
Address Register(地址寄存器 AR)
- 存储计算地址或有效地址所需的地址的一部分。
● 基址寄存器
● 变址寄存器
● 栈指针寄存器
用户可见寄存器:DR、AR
用户不可见寄存器:AC、PC、IR、MAR、MBR
原文(韩语): tistory — 发布于 2022-01-13,已迁移至本博客。本翻译由 AI 协助完成。
…