|
|
|
|
移动端

2.2.11 优雅的压缩指令子集

《手把手教你设计CPU——RISC-V处理器篇》第2章大道至简——RISC-V架构之魂,本章将对RISC-V架构的设计思想进行深入浅出的介绍。本节为大家介绍优雅的压缩指令子集。

作者:胡振波来源:人民邮电出版社|2018-05-23 13:18

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

2.2.11 优雅的压缩指令子集

基本的RISC-V基本整数指令子集(字母I表示)规定的指令长度均为等长的32位,这种等长指令定义使得仅支持整数指令子集的基本RISC-V CPU非常容易设计。但是等长的32位编码指令也会造成代码体积(Code Size)相对较大的问题。

为了满足某些对于代码体积要求较高的场景(例如嵌入式领域),RISC-V定义了一种可选的压缩(Compressed)指令子集,用字母C表示,也可以用RVC表示。RISC-V具有后发优势,从一开始便规划了压缩指令,预留了足够的编码空间,16位长指令与普通的32位长指令可以无缝自由地交织在一起,处理器也没有定义额外的状态。

RISC-V压缩指令的另一个特别之处是,16位指令的压缩策略是将一部分普通最常用的32位指令中的信息进行压缩重排得到(例如假设一条指令使用了两个同样的操作数索引,则可以省去其中一个索引的编码空间),因此每一条16位长的指令都能找到其一一对应的原始32位指令。因此程序编译成为压缩指令仅在汇编器阶段就可以完成,极大地简化了编译器工具链的负担。

RISC-V架构的研究者进行了详细的代码体积分析,如图2-4所示,通过分析结果可以看出,RV32C的代码体积相比RV32的代码体积减少了40%,并且与ARM、MIPS和x86等架构相比有不错的表现。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Microsoft SQL Server 2005技术内幕:存储引擎

本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊