自制编译器 青木峰郎 笔记 Ch12 x86架构的概要
作者:互联网
12.2 x86系列的CPU历史
- 遵循同一指令集架构的CPU应该能够执行依据该指令集架构编译的程序
- MMX指令用于整数并行处理,SSE用于浮点数并行处理
- AMD先于Intel提出了x86系列的64位扩展,其指令集架构称为AMD64,之后Intel提出了自己的Intel64,AMD64和Intel64合称为x86-64。此外,Intel还和HP一起开发IA-64,不过Core2和Xeon等64位CPU都不是这个IA-64的
12.3 IA-32概要
寄存器
- 通用寄存器
- 指令指针寄存器
- flag register
- MMX register
- floating point number register
- XMM register: 为了SSE指令
- mxcsr register: 表示SSE指令的运算状态
- system register
- debug register
- segment register
机器栈
在LA-32的Linux平台上,机器栈位于各个进程的地址空间中靠近3GB处,向0地址方向延申。栈顶保存在ESP中。用来保存临时变量和参数。
当寄存器不够时,临时变量等都会放入机器栈。机器栈是根据每个函数分开管理的,单个函数调用对应的称之为stack frame,基址指针ebp寄存器总是指向正在执行中的函数栈帧的底部。
eflags
eflags寄存器中有
- 用于表示运算结果的状态flag,比如发生进位
- 用于控制运算的控制flag
- 用于控制计算机整体的系统flag
标签:Ch12,x86,register,flag,编译器,64,寄存器,青木,CPU 来源: https://www.cnblogs.com/xuesu/p/14382836.html