晶心科技V5:让RISC-V的指令集扩充easier
126
首先,要了解RISC技术就该从计算机的指令谈起,我们都知道计算机的工作就是取指令、执行指令,一条指令一般给出的是操作码和地址码,这是基本的结构,然而指令又涉及以下几个问题。首先指令字长有多少位,是定字长还是变字长;其次,操作码结构需几位,位数是定量还是浮动量;再次,地址的结构和寻址方式如何。
这种种因素使计算机指令产生了“简单指令”和“复杂指令”之分。70年代以前的计算机均用传统的CISC指令结构,即完全采用复杂指令来支持高级语言、应用程序和操作系统。这种PC不但成本高且效率较低,速度受限,后来人们发现机器执行的指令中85%左右的都是简单指令,复杂指令甚少,因此开始研制精简指令系统计算机(RISC)。自从Intel的Pentium问世以来(92年末),RISC技术更是得到了广泛的应用,并开始渗透到小、中、大型机领域,可谓发展前景一片光明。
去年有一个很热的点来自于RISC-V,这种指令集因为开源、灵活度高、可拓展性强而备受关注。业界广泛认为RISC-V或可与x86、ARM之一战。我们也看到RISC-V的玩家有大有小,有像SiFive这样的初创型选手,也有像三星这样的想要丢开ARM自己玩的大咖。而其实RISC-V所带来的机遇,更多更直接的可能在于那些非主流的IP提供商,比如晶心科技。
RISC-V缘何备受青睐
先来说说为什么RISC-V如此受业界关注?RISC-V是一个非常小的基础指令集和一些可选的拓展指令集。在最基础的指令集这边其实没什么好说的,在这个层面上的基础指令其实都差不多。效率方面也都是基本一致的,都在伯仲之间。关键就在于其小而灵活。RISC-V的指令集非常精简,而且可以实现模块化的指令集添加。使用的人易于去进行指令集扩充。而在x86或者ARM的IP上你想去进行指令集的扩充的可能性几乎为零。更不用说的是其低功耗的特性了,在网上可以找到Yunsup Lee等人写的论文,其中使用TSMC的40GPLUS工艺的32位A5核与64位的RISC-V核进行的对比如下:
RISC-V在功耗,性能,面积方面都是胜出的,而且是64位的核与32位核的对比。
让RISC-V的指令集扩充更简单
晶心科技已经将RISC-V作为自己的重要战略布局,第五代AndeStarV5架构中已经将RISC-V嵌入其中。去年年底,晶心科技已经推出了业界第一款包含RISC-V的64位IP核NX25,同时这也是晶心科技的首款64位核;此外还有一个32位的核为N25。据介绍,扩充的架构包括一些独创指令集,客户的层次码可以缩小,这就意味着可以更高效地使用内存空间。此外晶心科技还提供了客制化指令工具Andes Custom Extension,让客户在做应用加速的时候可以达到更快的更有效率的方式。例如为V5自动产生所有所需的开发工具以及辅助的控制RTL电路,以及自动验证客制逻辑与所定义指令的行为是否一致等。这点对于一些IP研发能力很弱,又想使用RISC-V来进行产品设计的客户而言是非常有帮助的。而对于具有很强的设计能力的客户而言,这种工具同样很有价值。如果客户觉得标准的处理器指令集不够有效率的花,它可以让客户更容易去给IP核加指令集,提高了设计效率。此外晶心科技的V5产品在堆栈上面也有一些优势。
“快而小”是晶心科技对于V5系列产品的定位,32 位的 N25 与64 位的 NX25 和同等级 CPU 相比,最高操作频率是 1.15 GHz (worst case),配合独创指令,总效能超过 50%以上,达到将近 4000 CoreMark 的优异表现;而独创压缩指令可让程序代码小 10%,降低芯片储存代码的成本。N25/NX25流水线设计精简,其逻辑门数更可分别低至 30K 及 50K。帮助RISC-V生态良好成长作为第一家RISC-V兼容性纳入并迈向64位处理器的主流CPU IP公司,晶心科技对于RISC-V的生态发展功不可没。当然只有将RISC-V的牌打好,晶心科技才有可能会有挑战X86和ARM的机会。在开始规画 AndeStar V5 架构时就考虑到要如何让客户一方面可以继续使用晶心累积多年建构起的完整方案,另一方面也能有效利用 RISC-V 快速成长中的生态系统资源,让客户的产品能充分拥有新指令集架构提供的优势。
晶心科技在RISC-V的开源软件优化方面担任着主要/共同维护者的角色,推动快速中断处理的提案,并且将自己的DSP指令集捐赠了出来,并且担任了任务组主席,今年的RISC-V的世界交流者大会也是由晶心科技牵头在巴塞罗那举办。
RISC-V对于晶心科技而言,是一次重要的机会;晶心科技的V5将RISC-V完全兼容进行,并且透过专门的设计工具和指令集,使得客户对于其指令集的扩充变得更为简单。
---
如果你想要了解更多细节,可以关注晶心科技今年的嵌入式技术论坛:
5月15日(二)深圳场
5月17日(四)上海场