飞腾CPU体系结构(五)—— 通用寄存器

1. 64位通用寄存器

在AArch64执行状态下,飞腾CPU提供31个64位通用寄存器Xn(n=0/1/…/30),其中X30用作跳转链接寄存器。

  1. 某些指令仅使用通用寄存器的低32位,寄存器Wn用于寄存器Xn低32位的独立访问。
  2. 需要说明的是,32/16/8位数据都是用寄存器Wn来描述,具体数据长度由指令来具体。


64位的通用寄存器虽然可以随意被使用;但是针对函数调用,GCC编译器对上述通用寄存器的使用要符合软件约定。

寄存器 说明
X0…X7 函数调用参数,其中X0用于函数返回值。
X8 保留
X9…X15 临时寄存器,使用时不保存栈帧中
X16…X18 保留
X19…X28 临时寄存器,使用时保存到栈帧中
X29 栈帧寄存器FP,使用时需要保存
X30 链接寄存器LR,保存函数返回地址
X31 零寄存器XZR,该寄存器并不真正存在

备注:

  1. 如果是32/16/8位的变量,就使用Wn寄存器形式;
  2. 32位的零寄存器W31是WZR

2. SIMD和浮点寄存器

飞腾CPU还提供了32个128 位SIMD和浮点寄存器,这32个128位寄存器可以作为标量寄存器使用,也可以作为向量寄存器来使用。

2.1 标量

每个128位SIMD和浮点寄存器作为128位标量寄存器时记做Qn(其中n=0…31),也可以作为8/16/32/64位标量寄存器使用:

  1. 8位标量寄存器Bn是低八位;
  2. 16位标量寄存器Hn是低16位;
  3. 32位标量寄存器Sn是低32位;
  4. 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]。

  1. 当向量长度为64位时:
  1. Vn和Vn.1D是一个64位寄存器,
  2. Vn.2S是两个32位寄存器,
  3. Vn.4H是四个16位寄存器,
  4. Vn.8B是八个8位寄存器。
  1. 当向量长度为128位时:
  1. Vn是一个128位寄存器,
  2. Vn.2D是两个64位寄存器,
  3. Vn.4S是四个32位寄存器,
  4. Vn.8H是八个16位寄存器,
  5. Vn.16B是十六个8位寄存器。

飞腾CPU体系结构(五)相关推荐

  1. 飞腾CPU体系结构(八)

    飞腾CPU体系结构(八)--标量访存指令 在阅读之前,请先查看<飞腾CPU体系结构(五)>的SIMD和浮点寄存器.飞腾CPU还提供了32个128 位SIMD和浮点寄存器,这32个128位寄 ...

  2. 飞腾CPU体系结构简单介绍(一)

    第一章 飞腾CPU体系结构简介 ARM体系结构是一种精简指令集体系结构RISC,具有以下基本特点:通用寄存器数量较多:采用统一寻址模式,系统主存和外设分布在CPU物理地址空间的不同范围:采用load/ ...

  3. 飞腾CPU体系结构之字节序

    字节序 描述数值在内存中的每一个字节排列顺序. 举例说明,以一个32位4字节为例,数值0x1234_5678的小端字节序和大端字节序描述如下: 1. 小端字节序 字节 3 2 1 0 0x12 0x3 ...

  4. 飞腾CPU体系结构(十四)

    飞腾CPU体系结构(十四) 1. MMU原理 MMU的大致工作原理是: 64位虚拟地址首先分成虚拟页帧号和页内偏移量两部分,虚拟页帧号即页表项索引:根据页表项索引,在进程的页表里查找到对应页表项,然后 ...

  5. 飞腾CPU体系结构(九)

    飞腾CPU体系结构(九) 向量访存指令主要包括LD1/ST1. LD2/ST2.LD3/ST3和LD4/ST4四种. LD1/ST1一般针对一个向量寄存器,也有两个.三个或四个向量寄存器的模式. LD ...

  6. 飞腾CPU体系结构之虚拟地址

    飞腾CPU体系结构之虚拟地址 1. 基本概念 虚拟地址:程序运行时指令和数据对应的地址. 虚拟地址空间:一个进程运行时指令和数据能访问到的虚拟地址范围. 注意事项: 每个进程拥有自己的虚拟地址空间,进 ...

  7. 飞腾CPU体系结构(十)

    飞腾CPU体系结构(十) 1.高速缓存模型 为了优化整体性能,飞腾CPU芯片内部提供L1高速缓存和L2高速缓存,有些飞腾CPU也提供芯片内部的L3高速缓存,本节不对这个情况进行赘述. 靠近流水线的高速 ...

  8. 飞腾CPU体系结构之低功耗指令

    飞腾CPU体系结构之低功耗指令 WFE和WFI指令 当飞腾CPU核执行两类指令:WFE或WFI之后,CPU核会进入低功耗状态: 一旦CPU核进入低功耗状态,就要一直保持低功耗状态直到相应的唤醒事件发生 ...

  9. 飞腾CPU体系结构(十二)

    飞腾CPU体系结构(十二) 1. CPU物理地址空间 飞腾CPU支持的物理地址宽度为44位,物理地址空间实际上只有16TB.系统主存(芯片外部内存)和IO外设(例如SoC设备.PCIe设备)都在这个物 ...

最新文章

  1. 快速创建springBoot
  2. hdu1024Max Sum Plus Plus
  3. target java_java元注解 @Target注解用法
  4. 【计算机二级基础知识笔记】【C+Python】
  5. ZH奶酪:Python中zip函数的使用方法
  6. redhat初始化yum源,使用阿里云yum源
  7. 如何解决Configuration system failed to initialize
  8. 三星电视与计算机连接网络设置,三星电视怎么连接有线网络?五步搞定网络设置...
  9. ERC20 智能合约整数溢出系列漏洞披露
  10. Exp外贸/出口英文商城系统在国际电商贸易中的角色扮演
  11. iOS-Runtime之SEL、IMP、Method
  12. Julia REPL 模式
  13. 本地安装MySQL详细步骤
  14. 01、pyqt入门使用--01布局、基本组件、第一个示例、qtdesigner大概使用
  15. HEVC函数入门(19)——帧间编码AMVP
  16. 巨控GRM110无线通信模块
  17. OpenGL Android 安卓 入门 GLES20 初学者 初级 官方
  18. App推广拉新的6大方式,你都玩得转吗?
  19. Nginx之原理,限流,日志切割,正反代理,HTTPS配置
  20. 计算机专业就业率就业薪资图表,10大热门专业“工资”大揭秘,软件工程最高,会计垫底?...

热门文章

  1. 人脑的开发率到底是多少??????
  2. Session详解 作者:郎云鹏
  3. 企业信用评级有哪些特性?
  4. 江南爱窗帘十大品牌 | 主卧用什么窗帘最好 主卧窗帘颜色搭配有技巧
  5. SAP PARAMETERS常用参数(User-Command、Function Key、Push Button用法)
  6. word分散对齐调整宽度_活用word分散对齐
  7. 你的贴身伙伴新墨斯智能运动鞋
  8. 会计学计算机应用考题,2017年北京语言大学计算机应用技术839专业综合二之财务会计学考研导师圈点必考题汇编...
  9. 顶点计划——关于设计思维的理解
  10. 聊聊英语口语学习提高的一些经验