这篇文章主要讨论X64架构体系代码执行的几个主要方面,比如编译优化、异常处理、参数传递和参数回溯以及这几个方面的内在联系。文章会介绍理解这几个概念常用的调试命令,以及理解和解释这些命令所需的背景知识,同时会揭示X64和X86 CPU体系之间的不同点,以及不同的架构体系对调试方式带来的影响。如何获取X64下函数调用...
在深入探讨 x64 和 arm64 这两个处理器架构之前,让我们先明确它们在计算机科学和硬件设计领域中的基本概念和重要性。理解这些概念对于掌握它们的区别至关重要,而且可以帮助我们认识到为什么现代计算设备,从服务器到智能手机,会选择这些架构。 x64,也被称为AMD64或Intel 64,是对经典的32位x86指令集架构(ISA)的...
快速系统调用还提供了专门的CPU指令sysenter/sysexit用来发起系统调用和退出系统调用。 在64位上,这一对指令升级为syscall/sysret。 x86_64架构(64bit) 通用寄存器 rax:通常用于存储函数调用返回值 rsp:栈顶指针,指向栈的顶部 rdi:第一个入参 rsi:第二个入参 rdx:第三个入参 rcx:第四个入参 r8:第五个入参...
x86架构CPU走的是复杂指令集(CISC) 通用寄存器 标志寄存器 指令寄存器 段寄存器 控制寄存器 调试寄存器 描述符寄存器 任务寄存器 MSR寄存器 通用寄存器 首当其冲的是通用寄存器,这些的寄存器是程序执行代码最最常用,也最最基础的寄存器,程序执行过程中,绝大部分时间都是在操作这些寄存器来实现指令功能。
x86、x64 和 ARM 都是 CPU 指令集,而不仅仅是 CPU 架构。这意味着它们都已使用了几十年,你使用过的智能设备或PC中的 CPU 几乎都是基于其中之一构建的。例如,ARM系列的处理器,多数基于RISC“精简指令集”架构,而PC的桌面处理器大多采用CISC(复杂指令集)的x86架构。理论上,基本的RISC在一个时钟周期内只...
而CPU是怎样去訪问内存单元里的数据的方式就叫做寻址。 2.1. 实模式 8086得CPU在内存寻址方面第一次引入了一个非常重要的概念—-段。在8086之前都是4位机和8位机的天下,那是并没有段的概念。 当程序要訪问内存时都是要给出内存的实际物理地址,这样在程序源码中就会出现非常多硬编码的物理地址。
不过,作为目前主流的PC家用系统,WIN11家庭版的内存最大限制为128GB,大大低于x64架构所能负担的容量。 相比x86,x64还有更多其他的优势,例如,x86 架构作为最大32 位处理器,有 32 位寄存器,而 64 位处理器有 64 位寄存器。因此,x64 允许 CPU 存储更多数据,并能更快地访问这些数据。
如果输出是“x86_64”,则表示系统是基于x86 64架构的。例如,在大多数现代的Linux服务器和桌面系统上运行这个命令,会得到“x86_64”的结果。这是因为这些系统的CPU采用了x86 64架构,能够高效地运行64位的操作系统和软件。`lscpu`命令:`lscpu`命令提供了更详细的CPU架构信息。当查看`lscpu`命令的输出时,会有...
CPU 指令集架构目前主要是两大类。 复杂指令集是x86、x64(也叫 x86-64, amd64)两种架构,专利在Intel和AMD两家公司手里, 该架构CPU主要是Intel和AMD两家公司,这种CPU常用在PC机上,包括Windows,macOS和Linux。 简单指令集是arm一种架构,专利在ARM公司手里,该架构CPU主要有高通、三星、苹果、华为海思、联发科等公...