飞腾CPU体系结构(五)
飞腾CPU体系结构(五)—— 通用寄存器
1. 64位通用寄存器
在AArch64执行状态下,飞腾CPU提供31个64位通用寄存器Xn(n=0/1/…/30),其中X30用作跳转链接寄存器。
- 某些指令仅使用通用寄存器的低32位,寄存器Wn用于寄存器Xn低32位的独立访问。
- 需要说明的是,32/16/8位数据都是用寄存器Wn来描述,具体数据长度由指令来具体。
64位的通用寄存器虽然可以随意被使用;但是针对函数调用,GCC编译器对上述通用寄存器的使用要符合软件约定。
寄存器 | 说明 |
---|---|
X0…X7 | 函数调用参数,其中X0用于函数返回值。 |
X8 | 保留 |
X9…X15 | 临时寄存器,使用时不保存栈帧中 |
X16…X18 | 保留 |
X19…X28 | 临时寄存器,使用时保存到栈帧中 |
X29 | 栈帧寄存器FP,使用时需要保存 |
X30 | 链接寄存器LR,保存函数返回地址 |
X31 | 零寄存器XZR,该寄存器并不真正存在 |
备注:
- 如果是32/16/8位的变量,就使用Wn寄存器形式;
- 32位的零寄存器W31是WZR
2. SIMD和浮点寄存器
飞腾CPU还提供了32个128 位SIMD和浮点寄存器,这32个128位寄存器可以作为标量寄存器使用,也可以作为向量寄存器来使用。
2.1 标量
每个128位SIMD和浮点寄存器作为128位标量寄存器时记做Qn(其中n=0…31),也可以作为8/16/32/64位标量寄存器使用:
- 8位标量寄存器Bn是低八位;
- 16位标量寄存器Hn是低16位;
- 32位标量寄存器Sn是低32位;
- 64位标量寄存器Dn是低64位。
2.2 向量
除了可以做标量寄存器,每个128位SIMD和浮点寄存器还可以作为向量寄存器Vn(n=0/1/…/31)来使用。虽然每个寄存器是128位的,但是向量长度可以是64位也可以是128位,具体的向量长度取决于具体的指令。
无论向量长度是64位,还是128位,其中每个寄存器都可用下标方式来命名,例如Vn.B[i],Vn.H[i],Vn.S[i]和Vn.D[i]。
- 当向量长度为64位时:
- Vn和Vn.1D是一个64位寄存器,
- Vn.2S是两个32位寄存器,
- Vn.4H是四个16位寄存器,
- Vn.8B是八个8位寄存器。
- 当向量长度为128位时:
- Vn是一个128位寄存器,
- Vn.2D是两个64位寄存器,
- Vn.4S是四个32位寄存器,
- Vn.8H是八个16位寄存器,
- Vn.16B是十六个8位寄存器。
飞腾CPU体系结构(五)相关推荐
- 飞腾CPU体系结构(八)
飞腾CPU体系结构(八)--标量访存指令 在阅读之前,请先查看<飞腾CPU体系结构(五)>的SIMD和浮点寄存器.飞腾CPU还提供了32个128 位SIMD和浮点寄存器,这32个128位寄 ...
- 飞腾CPU体系结构简单介绍(一)
第一章 飞腾CPU体系结构简介 ARM体系结构是一种精简指令集体系结构RISC,具有以下基本特点:通用寄存器数量较多:采用统一寻址模式,系统主存和外设分布在CPU物理地址空间的不同范围:采用load/ ...
- 飞腾CPU体系结构之字节序
字节序 描述数值在内存中的每一个字节排列顺序. 举例说明,以一个32位4字节为例,数值0x1234_5678的小端字节序和大端字节序描述如下: 1. 小端字节序 字节 3 2 1 0 0x12 0x3 ...
- 飞腾CPU体系结构(十四)
飞腾CPU体系结构(十四) 1. MMU原理 MMU的大致工作原理是: 64位虚拟地址首先分成虚拟页帧号和页内偏移量两部分,虚拟页帧号即页表项索引:根据页表项索引,在进程的页表里查找到对应页表项,然后 ...
- 飞腾CPU体系结构(九)
飞腾CPU体系结构(九) 向量访存指令主要包括LD1/ST1. LD2/ST2.LD3/ST3和LD4/ST4四种. LD1/ST1一般针对一个向量寄存器,也有两个.三个或四个向量寄存器的模式. LD ...
- 飞腾CPU体系结构之虚拟地址
飞腾CPU体系结构之虚拟地址 1. 基本概念 虚拟地址:程序运行时指令和数据对应的地址. 虚拟地址空间:一个进程运行时指令和数据能访问到的虚拟地址范围. 注意事项: 每个进程拥有自己的虚拟地址空间,进 ...
- 飞腾CPU体系结构(十)
飞腾CPU体系结构(十) 1.高速缓存模型 为了优化整体性能,飞腾CPU芯片内部提供L1高速缓存和L2高速缓存,有些飞腾CPU也提供芯片内部的L3高速缓存,本节不对这个情况进行赘述. 靠近流水线的高速 ...
- 飞腾CPU体系结构之低功耗指令
飞腾CPU体系结构之低功耗指令 WFE和WFI指令 当飞腾CPU核执行两类指令:WFE或WFI之后,CPU核会进入低功耗状态: 一旦CPU核进入低功耗状态,就要一直保持低功耗状态直到相应的唤醒事件发生 ...
- 飞腾CPU体系结构(十二)
飞腾CPU体系结构(十二) 1. CPU物理地址空间 飞腾CPU支持的物理地址宽度为44位,物理地址空间实际上只有16TB.系统主存(芯片外部内存)和IO外设(例如SoC设备.PCIe设备)都在这个物 ...
最新文章
- 快速创建springBoot
- hdu1024Max Sum Plus Plus
- target java_java元注解 @Target注解用法
- 【计算机二级基础知识笔记】【C+Python】
- ZH奶酪:Python中zip函数的使用方法
- redhat初始化yum源,使用阿里云yum源
- 如何解决Configuration system failed to initialize
- 三星电视与计算机连接网络设置,三星电视怎么连接有线网络?五步搞定网络设置...
- ERC20 智能合约整数溢出系列漏洞披露
- Exp外贸/出口英文商城系统在国际电商贸易中的角色扮演
- iOS-Runtime之SEL、IMP、Method
- Julia REPL 模式
- 本地安装MySQL详细步骤
- 01、pyqt入门使用--01布局、基本组件、第一个示例、qtdesigner大概使用
- HEVC函数入门(19)——帧间编码AMVP
- 巨控GRM110无线通信模块
- OpenGL Android 安卓 入门 GLES20 初学者 初级 官方
- App推广拉新的6大方式,你都玩得转吗?
- Nginx之原理,限流,日志切割,正反代理,HTTPS配置
- 计算机专业就业率就业薪资图表,10大热门专业“工资”大揭秘,软件工程最高,会计垫底?...
热门文章
- 人脑的开发率到底是多少??????
- Session详解 作者:郎云鹏
- 企业信用评级有哪些特性?
- 江南爱窗帘十大品牌 | 主卧用什么窗帘最好 主卧窗帘颜色搭配有技巧
- SAP PARAMETERS常用参数(User-Command、Function Key、Push Button用法)
- word分散对齐调整宽度_活用word分散对齐
- 你的贴身伙伴新墨斯智能运动鞋
- 会计学计算机应用考题,2017年北京语言大学计算机应用技术839专业综合二之财务会计学考研导师圈点必考题汇编...
- 顶点计划——关于设计思维的理解
- 聊聊英语口语学习提高的一些经验