阿里平头哥玄铁910对RSIC-V扩展50条指令集,什么是指令集扩展?

这两天,有一则消息在业内引起了不小的震动,阿里旗下成立快一年的平头哥,交出了自己的一份答卷“玄铁910”。据官方报道,玄铁910基于“RISC-V”指令集,支持16核心、主频频率高达2.5GHz。不仅如此,玄铁910在RISC基础上,扩展了“RISC-V"50多条指令集,相比于目前业界的主流处理器性能,玄铁910提升了近30%。

阿里平头哥玄铁910对RSIC-V扩展50条指令集,什么是指令集扩展?

在和身边一些做算法的同事交流的过程中,他们对RISC-V扩展指令集,还是不是很理解,那么今天我们就再来看看RISC-V指令集扩展是怎么回事?

RSIC-V在设计的初衷,除了可以被通用软件开发使用之外,还有一个目的就是,可以支持更多定制化的设计。也就是说,用户可以在基本指令集上面,进行一个或者多个的指令集扩展操作,但是有一个条件,即不能再重新定义基本指令集。也就是说,任何一款基于RSIC-V指令集的处理器,都要能够支撑整数基本指令集。一般情况下,RSIC-V的指令集扩展可以分成以下两类:

标准扩展指的是,一些比较常用的,并且兼容性比较强的功能扩展,包括和其他标准之间的兼容。非标准扩展指的是,高度定制化,兼容性较差的功能扩展。基本指令集位宽的差异,可能会导致功能的细微差异。

阿里平头哥玄铁910对RSIC-V扩展50条指令集,什么是指令集扩展?

RSIC-V的命名

在RSIC-V的命名中,这组基本整数指令集被命名为“I”,里面包括整数的计算指令,store、load等指令,根据寄存器宽度,分为前缀RV32或RV64。乘法和除法的扩展称为“M”,里面扩展了对寄存器中所保存的值,进行乘法和除法的相关指令。原子指令扩展称为“A”,扩展了对寄存器中原子的读、写等操作的相关指令。单精度扩展称为“F”,里面扩展了浮点寄存器、单精度相关load、store等指令。双精度扩展称为“D”,里面扩展了浮点寄存器、双精度相关load、store等指令。

以上的基本内核和四个扩展(IMAFD),通常统称为“G”,它为用户提供了一个通用的指令集。从目前的应用情况来看,“G”对大多数应用程序来说,都是一个十分高效的指令集,除此之外,想要找出一条通用性如此之好的指令,已经是非常困难。

由于应用场景的不同,出于功耗、效率或者其他方面的考虑,用户常常也会对“G”中的相关部分进行简化。

另外,标准扩展和非标准扩展之间的关系,并不是一成不变的。比如说,随着RSIC-V的逐渐发展,可能某个用户的定制化的非标准扩展,在不久的将来,会变成标准化扩展。

阿里平头哥玄铁910对RSIC-V扩展50条指令集,什么是指令集扩展?

小结

今天这篇文章,只是想科普性的说明,为什么不同的用户,都基本要在RSIC-V上面进行扩展,希望可以让大家有一个基本的认识。也欢迎大家和我进行讨论。

展开阅读全文

页面更新:2024-03-24

标签:除法   浮点   寄存器   阿里   平头   乘法   整数   兼容性   原子   精度   指令   处理器   也就是说   差异   功能   标准   用户   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top