ARM 堆栈寻址类型区分

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 该文介绍了堆栈的两种指向分类:向上生成型(递增堆栈)和向下生成型(递减堆栈),以及堆栈的两种数据状态:满堆栈(指针指向最后数据)和空堆栈(指针指向存放数据的位置)。满递增和满递减是在完整数据单元上操作,而空递增和空递减则允许自定义步长。文中通过图示说明了不同情况下的堆栈存储方式。

@[toc]

堆栈指向分类

根据堆栈指针的指向的方向不同,可以划分为向上生成型和向下生成型。

向上生成型:

  • 随着数据的入栈,堆栈的指针逐渐增大,称为:递增堆栈。

向下生成型:

  • 随着数据的入栈,堆栈的指针逐渐减小,称为:递减堆栈。

堆栈指向数据分类

根据堆栈指针是否指向数据,可以划分为满堆栈和空堆栈。

满堆栈:

  • 堆栈指针指向最后压入堆栈的有效数据项。

空堆栈:

  • 堆栈指针指向下一个要存放数据的空位置。

满递增与满递减

用于描述寄存器或内存中的值在递增或递减操作时,增加或减少一个完整的数据单元的大小。

数据单元的大小通常由操作系统或架构规定,可以是字节、字、双字等。

满递增是按照完整的数据单元大小增加,不论数据单元的大小是多少,递增时都会增加整个数据单元的大小。

满递减是按照完整的数据单元大小递减,不论数据单元的大小是多少,递减时都会减少整个数据单元的大小。

假设在堆栈中存储 R0R1R2 寄存器的值,按照满递增与满递减存储,如下所示:



先进行递增或者递减,然后再存入数据。

空递增与空递减

同样也是用于描述寄存器或内存中的值在递增或递减操作时,增加或减少一个空间单元的大小。

空间单元的大小可能不是完整的数据单元大小,而是根据指定的步长进行增加或减少。

空递增是按照指定的步长或空间单元大小增加,可以根据需要自定义递增步长。

空递减是按照指定的步长或空间单元大小递减,可以根据需要自定义递减步长。

直接指向存入的数据。

相关文章
|
移动开发 Shell 数据处理
【ARM】常用寻址方式
通常数据处理指令的格式如下所示:<opcode>{<cond>}{S} <Rd>,<Rn>,<shifter_operand>其中:<opcode> 是指令助记符,如ADD表示算术加操作指令。{<cond>} 表示指令执行的条件。{S} 决定指令的操作是否影响CPSR的值。<Rd> 表示目标寄存器。<Rn> 表示包含第1个操作数的寄存器。<shifter_operand> 表示第2个操作数。其有以下三种格式
|
4天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器ECS架构区别及选择参考:X86计算、ARM计算等架构介绍
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下这些架构各自的主要性能及适用场景,以便大家了解不同类型的架构有何不同,主要特点及适用场景有哪些。
|
16天前
|
人工智能 芯片 Windows
ARM架构PC退货率与CEO策略透视
ARM架构PC退货率与CEO策略透视
|
2月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
3月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
3月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
118 6