冯 • 诺依曼结构
运算器
功能:执行算术逻辑运算 组成:
- ALU: 用于执行各种算术和逻辑运算,包括加、减、乘、除、与、或、非、移位等。
- 数据寄存器: 用于存储运算器中的操作数和运算结果。
- 状态寄存器:用于存储运算器的运算状态,例如运算结果是否为零、是否溢出等。
大约 4 分钟
功能:执行算术逻辑运算 组成:
Operating Systems - Internals and Design Principles 9th, p36
程序执行流
以0x01234567
为例:
在Intel CPU中,通常有以下类型的寄存器:
寄存器名称 | 描述 |
---|---|
RAX | 累加器寄存器(Accumulator Register),用于存储算术和逻辑运算的操作数和结果。在函数调用中,它通常用于存储函数的返回值。 |
RBX | 基址寄存器(Base Register),用于存储数据的基地址。在一些内存寻址方式中,它通常用于存储变量的地址。 |
RCX | 计数寄存器(Counter Register),用于在循环中计数。在函数调用中,它通常用于存储函数的参数。 |
RDX | 数据寄存器(Data Register),用于存储算术和逻辑运算的操作数和结果。在函数调用中,它通常用于存储函数的参数。 |
RSI | 源索引寄存器(Source Index Register),用于字符串操作中的源地址。 |
RDI | 目的索引寄存器(Destination Index Register),用于字符串操作中的目的地址。 |
RBP | 基址指针寄存器(Base/Frame Pointer Register),用于存储当前栈帧的基址。在函数调用中,它通常用于存储上一个栈帧的基址。 |
RSP | 栈指针寄存器(Stack Pointer Register),用于存储当前栈顶的地址。在函数调用和异常处理中,它通常用于存储函数的返回地址和异常处理的返回地址。 |
R8-R15 | 扩展寄存器(Extended Register),这些寄存器是在64位系统中新增的。它们用于存储算术和逻辑运算的操作数和结果,以及函数调用的参数和返回值。 |