|
|
51CTO旗下网站
|
|
移动端

2.2.10 简洁的运算指令

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

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

2.2.10 简洁的运算指令

在第2.2.1节中曾经提到RISC-V架构使用模块化的方式组织不同的指令子集,最基本的整数指令子集(I字母表示)支持的运算包括加法、减法、移位、按位逻辑操作和比较操作。这些基本的运算操作能够通过组合或者函数库的方式完成更多的复杂操作(例如乘除法和浮点操作),从而完成大部分的软件操作。请参见附录A14.2节了解RISC-V架构整数运算指令的细节。

整数乘除法指令子集(M字母表示)支持的运算包括有符号或者无符号的乘法和除法操作。乘法操作能够支持两个32位的整数相乘得到一个64位的结果;除法操作能够支持两个32位的整数相除得到一个32位的商与32位的余数。请参见附录A14.3节了解RISC-V架构整数乘法和除法指令的细节。单精度浮点指令子集(F字母表示)与双精度浮点指令子集(D字母表示)支持的运算包括浮点加减法、乘除法、乘累加、开平方根和比较等操作,同时提供整数与浮点、单精度与双精度浮点之间的格式转换操作。请参见附录A14.4节了解RISC-V架构浮点指令的细节。

很多RISC架构的处理器在运算指令产生错误之时,例如上溢(Overflow)、下溢(Underflow)、非规格化浮点数(Subnormal)和除零(Divide by Zero),都会产生软件异常。RISC-V架构的一个特殊之处是对任何的运算指令错误(包括整数与浮点指令)均不产生异常,而是产生某个特殊的默认值,同时设置某些状态寄存器的状态位。RISC-V架构推荐软件通过其他方法来找到这些错误。再次清楚地反映了RISC-V架构力图简化基本的指令集,从而简化硬件设计的哲学。


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

51CTO读书频道二维码


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

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

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

读 书 +更多

SQL实用简明教程(第2版)

SQL(结构化查询语言)是数据库系统的通用语言,利用它可以用几乎同样的语句在不同的数据库系统上执行同样的操作,在数据库系统的开发中有着...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊