Hexagon的软件栈
来源:互联网 发布:巨拟叶螽淘宝 编辑:程序博客网 时间:2024/06/07 20:07
概述
Hexagon处理器中包括了专用的寄存器以及指令,用于为子程序执行实现调用堆栈。
堆栈的结构遵循传统C标准。
堆栈的结构
下图给出了Hexagon处理器中的堆栈结构
堆栈的地址被定义为从高地址向低地址延伸。堆栈的指针SP指向当前堆栈中的顶部数据元素。
注:Hexagon处理器支持三种堆栈指令:allocframe,deallocframe以及dealloc_return
SP寄存器的地址必须保持8位对齐,这主要是为了堆栈指令能够合适的运行
Hexagon提供的栈帧
栈是用来保存栈框架的,这是一种用于保存程序中活跃子程序的状态信息的数据结构(活跃子程序指那些被调用但未返回的程序)。每个栈框架对应着程序中的一个子程序。
栈框架包含着如下的元素
- 本地变量以及被子程序使用的数据
- 子程序调用的返回地址(从连接寄存器LR中压入)
- 栈上为以前的栈框架开辟的地址(从帧指针寄存器FP中压入)
帧指针寄存器FP总会拥有一个栈上上一次的栈框架。这一设计使得debugger能够通过检查内存中的栈实现对程序的查错功能,并轻松的定义调用指令,功能参数等。
栈寄存器
下图是hexagon处理器中的栈寄存器图
注:栈寄存器是三个通用寄存器的别名。这些通用寄存器是专门用于栈寄存器使用的
栈指令
下图是高通官方给出的三种指令的具体含义以及操作:
注:allocframe以及deallocframe将会导入并保存LR以及FR寄存器,以一个单一对齐的64位寄存器对保存。
0 0
- Hexagon的软件栈
- HEXAGON的意思,举例说明
- Hexagon
- Hexagon DSP的所有寄存器
- Hexagon DSP的指令集
- Hexagon处理器的特殊功能
- Hexagon处理器的指令编码
- Hexagon处理器的特殊功能
- Hexagon对数据的操作指令
- Hexagon处理器的一些特殊操作
- Hexagon DSP的十二种寻址模式
- Hexagon处理器的条件执行机制
- Hexagon的程序执行顺序(一)
- HVM,Hexagon处理器的虚拟器解决方案
- Qualcomm Snapdragon 820的Hexagon 680 DSP性能有多强?
- uva317 - Hexagon
- hexagon绝对路径
- uva 317 Hexagon
- Android 事件分发机制
- 获取当前AppDelegate 正在显示的UIViewController
- 循环链表(七)
- JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别
- 通过python-libvirt管理KVM虚拟机-1
- Hexagon的软件栈
- C++11 第二章
- 【LeetCode】258_Add Digits
- 7.组合模式(设计模式笔记)
- phaser游戏开发之基础知识2
- PackageManager详解
- 花生壳路由器如何设置
- 遍历Map的四种方法
- iOS Parse教程——如何使用Parse在iOS应用创建后台服务