Intel x86与ARM操作类型解析
1. 引言
在计算机体系结构中,不同的处理器架构具有各自独特的操作类型和指令集。本文将详细介绍Intel x86和ARM架构的操作类型,包括它们的特点、功能以及在实际应用中的表现。
2. Intel x86操作类型
2.1 调用/返回指令
x86架构提供了四种指令来支持过程调用和返回,分别是CALL、ENTER、LEAVE和RETURN。当调用一个新过程时,需要执行以下操作:
- 将返回点压入栈中。
- 将当前帧指针压入栈中。
- 将栈指针复制为新的帧指针值。
- 调整栈指针以分配一个帧。
CALL指令将当前指令指针值压入栈中,并通过将入口点地址放入指令指针来跳转到过程的入口点。在8088和8086机器中,典型的过程开始序列如下:
PUSH EBP
MOV EBP, ESP
SUB ESP, space_for_locals
其中,EBP是帧指针,ESP是栈指针。在80286及以后的机器中,ENTER指令可以在一条指令中完成上述所有操作。然而,尽管ENTER指令节省了一些内存字节(4字节对比6字节),但执行时间更长(10个时钟周期对比6个时钟周期),并且对处理器的实现造成了一定的复杂性。
2.2 内存管理
x86架构有一组专门处理内存分段的指令,这些指令是特权指令,只能由操作系统执行。它们允许加载和读取本地和全局段表(称为描述符表),并检查和更改段的特权级别。
x86与ARM操作类型对比
超级会员免费看
订阅专栏 解锁全文
1795

被折叠的 条评论
为什么被折叠?



