前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RISC-V 简介(4)RISC-V指令集编码结构

RISC-V 简介(4)RISC-V指令集编码结构

原创
作者头像
IC知识库
修改2021-07-29 17:58:57
1.8K0
修改2021-07-29 17:58:57
举报
文章被收录于专栏:IC知识库平台IC知识库平台

1.指令集编码

本文会接着RISC-V 简介(2)RISC-V指令集的特点及分类介绍RISC-V指令集的编码结构。指令长度按照指令编码可分为16位,32位,48位,64位,128位等,如图1所示。

16位指令长度:指令为16位,最低两位是aa,其中aa可以为00,01,10(aa不能为11);如果aa=11, 则一定为32位及以上的指令长度。

32位指令长度:指令为32位,最低五位是32位指令长度的标示bbbaa, 其中aa必须为11,bbb为000-110, bbb不能为111。

48位指令长度:指令为48位,最低6位为01_1111,实际上没有厂家和个人会支持48位CPU的开发。

64位指令长度:指令为64位,最低7位是011_1111。

80-192位指令长度:最低7位为111_1111,第12-14为nnn 而且nnn不能为111。

128位指令长度:128位的指令,低7位为111_1111,12-14位nnn为011.

大于192位指令长度:最低7位为 111_1111,第12-14位 nnn为111 。

图1 RISC-V 指令长度编码 [1]

2.编码结构的特点和优点

编码结构主要优点有以下三点:

可快速识别该指令是16位,32位,48位,64位还是128位,给指令译码器带来快速简洁的识别方便设计者混合使用不同位数的指令架构,便于代码优化。

压缩指令集模块(C)共46条16位长度的指令,但所有46条指令都不是独立的,只是32位指令中特殊条件下的压缩,因此每条16位指令都能找到32位指令的原型,因此在指令译码之前可以由硬件或软件翻译成32位指令。指令译码和执行依然可以按照32位指令的方式运行。因此如果在译码前翻译成32位指令,压缩格式在后续执行过程是不可见的。

3.指令集模块

1.标准配置模块  2. 扩展指令集  等

备注:完整内容请搜索引擎搜索“IC知识库”查看。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 备注:完整内容请搜索引擎搜索“IC知识库”查看。
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档