by Paddy McWilliams, Director of Product Marketing, CEVA
 
在过去的十年里,开源软件已经成为了科技世界最大的催化剂。现在开源的力量带来了自由发展,生成的社区也在硬件世界中得以立足。正是基于这些原因,RISC-V赢得了极高的人气。下面将会介绍RISC-V和它带来的机会,以及CEVA如何帮助芯片制造商充分利用它们。
 
什么是RISC-V?
 
RISC-V是一个开放的指令集架构(ISA),最初由加州大学伯克利分校的计算机科学系开发。它基于流行的精简指令集(RISC),和ARM、MIPS和其它常见的商业处理器架构一样。
 
RISC-V自2010年开始,现在已经成长为一个巨大的全球合作项目,横跨多个大学和工业领域。它的一致性是由非营利的RISC-V基金会(https://riscv.org/)保证的,既指导底层指令集架构(ISA)规范,又扮演市场引擎的角色来推广RISC-V。
 
需要澄清的是RISC-V的指令集架构,正如它的名字,是一个指令集的架构规范,而不是一个具体的处理器设计。从开源指令集架构开始,很多的学术和行业团队创造了多个不同设计的处理器,但本质上讲都是同一种语言。快速浏览RISC-V基金会的网站,上面展示了大量的处理器实现,从完整的开源处理器设计,比如 Rocket、Orca和PULPino,到生产商业处理器核的公司,如SiFive、Codasip、Andes和Cortus。
 
这些处理器的实现范围十分广泛,从简单物联网处理器到运行Linux的应用处理器,都是基于一套共同的指令集,从而反映出相较于一个封闭的商业ISA来说,RISC-V的关键优势,即差异化和自由选择权,可以更换处理器供应商而不遭受产品重构的痛苦。
 
免费的所以一定存在风险,不对?
 
在这一点上,谨慎的做法是考察实际情况,查看新产品设计中影响处理器选择的因素。如同大多数设计决策一样,涉及到很多技术和商业因素,一些是基于硬性指标,一些则基于难以量化的方面。
 
技术指标是不言而喻的:包括处理器具备足够的马力,支持后续产品的可扩展性,是否匹配包络功率,是否满足所需的安全级别,有没有友好熟悉的软件开发/调试环境,用户能否继承之前的代码库。商业上要考虑成本,比如面积(包括门数和内存大小)、版税和整个授权许可费用。它还要考虑其它商务方面的因素,包括供应商锁定、保证与赔偿、商业报告义务、进行修改的合法权利等等。
 
考虑所有这些因素,大多数设计往往采取一种“安全”选项,通常使用一个专有的商业处理器,并且经常绑定在以前使用的系列上。然而站在战略层面,很多公司对选择限制日益增强但强大的商业处理器IP供应商感到不安。人们渴望更多的商业自由,打破封闭指令集的锁定,这不光是在授权许可和版权使用费方面有意义,也有利于差异化。
 
这种需求使得RISC-V扬帆起航。RISC-V开源的指令集架构为芯片公司提供了现实的选择,超越普通的商业选项,避免承担过度的战略风险,就如同linux、FreeRTOS和许多其它开源RTOS在今天无可争辩的替代了商业操作系统。特别在那些消费物联网设备上使用的小型嵌入式处理器上,这种选择非常现实。许多知名的一流公司,包括西部数据和英伟达,已经公开宣布了自己的意图,甚至已经进行了大规模的生产。更多的公司正在评估RISC-V,其中一些秘密开始了先进的设计。
 
CEVA在RISC-V上的经验
 
和这些公司一样,CEVA已经被RISC-V的潜力所吸引,特别是我们RivieraWaves的 Wi-Fi和蓝牙IP产品。这些通信技术需要一个小型处理器执行协议栈,我们的目标是创建一个预先集成的参考平台,支持我们的客户自由选择处理器。由于IP的架构设计满足超低功耗的操作,即使是高级的无线网络配置,对于处理器马力的需求也很温和。简要来说,我们需要逻辑门数少、能效比高、处理器成熟,加上一个熟悉的商用软件开发环境,可以生成面积节约的紧凑代码。处理器设计必须容易部署(全速运行)在FPGA和ASIC / ASSP上,它必须有一个法律框架与我们的授权IP业务兼容。
 
CEVA运行RISC-V的Wi-Fi平台
 
我们选择的RISC-V处理器内核在20K门这个量级,可以达到2.44 Coremark / MHz这个不错的成绩,和硬件需求完全吻合。我们内部的性能和代码密集度测试结果显示,已经达到了比肩一流处理器的水平。同样重要的是根据我们的经验,将一个完整的系统移植到RISC-V所需的工作量非常少。以更复杂的Wifi平台为例,用嵌入式RISC-V处理器取代商业处理器,我们只花了一个星期就完成了集成、仿真和创建一个新的FPGA二进制文件,实现RivieraWaves完整的Wi-Fi 演示平台。此外,现有的协议软件已经在多个不同的商业处理器上进行了开发和部署,移植到RISC-V平台上只花了两周时间,包括移植、测试和系统级验证。这没有什么奇怪的,多亏了熟悉的GNU GCC / GDB调试器和LLVM编译器/环境。
 
总的来说,这个项目是一个伟大的成功,RISC-V真正兑现了承诺。CEVA现在是RISC-V基金会的新成员,很高兴能够提供RISC-V基础平台作为搭载我们的Wi-Fi 和蓝牙IP核的一个选项。

http://laoyaoba.com/ss6/html/11/n-665611.html

开源 RISC-V 架构正在改变 IoT 处理器的游戏规则的更多相关文章

  1. [51CTO]服务器虚拟化开源技术主流架构之争

    服务器虚拟化开源技术主流架构之争 http://virtual.51cto.com/art/201812/589084.htm 大部分客户已经是KVM+OpenStack的架构了 我所见到的 工商云 ...

  2. [转帖]IBM 开源 POWER 指令集架构

    IBM 开源 POWER 指令集架构 https://www.solidot.org/story?sid=61791 新闻越短 事情越严重 IBM 破釜沉舟 OpenPOWER 联盟国产化披荆斩棘? ...

  3. Equinox开源项目CQRS架构分析

    CQRS架构下Equinox开源项目分析 一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目.该项目在github上star占有2.4k.便决定分析Equinox项目来学习下CQR ...

  4. 一个GIS开源工具集架构的总结

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 最近由团队HWG主导的GIS开源工具集基本告一段落,该项目虽然 ...

  5. 腾讯开源微服务架构 Tars,高性能 RPC 开发框架

    腾讯微服务架构 Tars 于今日正式开源. Tars 取名于电影“星际穿越”中的机器人,是支持多语言的高性能 RPC 开发框架和配套一体化的服务治理平台,可以帮助企业或者用户以微服务的方式快速构建稳定 ...

  6. 关于开源中文搜索引擎架构coreseek中算法详解

     Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索.论坛/站内搜索.数据库搜索.文档/文献 ...

  7. 浅析开源数据库MySQL架构

    数据库是所有应用系统的核心,故保证数据库稳定.高效.安全地运行是所有企业日常工作的重中之重.数据库系统一旦出现问题无法提供服务,有可能导致整个系统都无法继续工作.所以,一个成功的数据库架构在高可用设计 ...

  8. 开源深度学习架构Caffe

    Caffe 全称为 Convolutional Architecture for Fast Feature Embedding,是一个被广泛使用的开源深度学习框架(在 TensorFlow 出现之前一 ...

  9. postgresql相关开源软件及架构简介

    1.PgBouncerPG数据库的一个轻量级连接池工具,功能及特点如下:1)缓存后端PG数据库的连接,当前端应用请求时,分配连接池中的连接给应用,从而充分利用了系统资源.2)允许应用创建比连接池更多的 ...

随机推荐

  1. Codeforces 559A Gerald's Hexagon 数三角形

    题意:按顺序给出一个各内角均为120°的六边形的六条边长,求该六边形能分解成多少个边长为1的单位三角形. 把单位三角形面积看做1,实际上就是求六边形面积.随便找六边形的三条互相不相邻的边,分别以这三条 ...

  2. import 与export详解

    ES6 1.export default 其他模块加载该模块时,import命令可以为该匿名函数指定任意名字. 如: import Vue from 'vue' vue里面的第三方模块都是用了这个 使 ...

  3. Flask项目之手机端租房网站的实战开发(十)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...

  4. 【例题 7-13 UVA-1374】Power Calculus

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 结论:每次只用新生成的数字就好了. 然后就是IDA*了. 迭代深搜+剪枝. [代码] /* 1.Shoud it use long ...

  5. 原 HttpClient 4.3超时设置

    https://my.oschina.net/u/577453/blog/173724 http://blog.csdn.net/zh521zh/article/details/51994140

  6. LeetCode_Construct Binary Tree from Preorder and Inorder Traversal

    一.题目 Construct Binary Tree from Preorder and Inorder Traversal My Submissions Given preorder and ino ...

  7. synchronized和ReentrantLock区别

    一.什么是sychronized sychronized是java中最基本同步互斥的手段,可以修饰代码块,方法,类. 在修饰代码块的时候需要一个reference对象作为锁的对象. 在修饰方法的时候默 ...

  8. 软件——机器学习与Python,if __name__ == '__main__':函数

    if __name__ == '__main__': 想必很多初次接触python都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什 ...

  9. springmvc hibernate整合

    今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多 了,Spring-Security的就留在下一篇吧,这篇主 ...

  10. HibernateCRUD基础框架(3)-简单的和较为复杂的标准的CRUD API

    优点:简单的和基础的CRUD功能可以很快实现,可以说是比较的"标准化".维护起来也很容易. 缺点:性能没有保障.不支持特别复杂的CRUD. 可以适用的场景:小型Web项目 1.Cr ...