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. 几种基于Java的SQL解析工具的比较与调用

    1.sqlparser http://www.sqlparser.com/ 优点:支持的数据库最多,除了传统数据库外还支持hive和greenplum一类比较新的数据库,调用比较方便,功能不错 缺点: ...

  2. 如何查看kafka消费者信息?

    看kafka消费者信息? 进入cd $ZOOKEEPER_HOME/bin下. ./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zoo ...

  3. [JSOI2009]计数问题

    一个n*m的方格,初始时每个格子有一个整数权值.接下来每次有2种操作: 改变一个格子的权值: 求一个子矩阵中某种特定权值出现的个数. 输入输出格式 输入格式: 第一行有两个数N,M. 接下来N行,每行 ...

  4. 00089_字节输出流OutputStream

    1.字节输出流OutputStream (1)OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节,定义了输出字节流的基本共性功能方法: (2)输出流中定义都是写wri ...

  5. 【例题 7-5 UVA - 129】Krypton Factor

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 每次枚举增加一个字符; 然后看看新生成的字符的后缀里面有没有出现连续子串就好,前面已经确认过的没必要重复确认 (枚举长度为偶数的一个 ...

  6. Oracle学习总结(10)——45 个非常有用的 Oracle 查询语句

    ******************************  日期/时间 相关查询 *****************************       -- 1.获取当前月份的第一天  sele ...

  7. HTML高级标签(3)————表单的应用

    在HTML开发中,标签的种类和数量非常多,不可能说每一种都研究透.非常多能够用CSS来控制的标签,我们基本没有必要在上面浪费时间.所以,我们仅仅要掌握在HTML开发中比較经常使用的标签就全然能够了. ...

  8. COCOS学习笔记--持续动作ActionInterval

    上一篇博客介绍了即时动作ActionInstant.与即时动作相对的是持续动作ActionInterval. 顾名思义,持续动作就是须要一段时间来持续运行的动作,而且在有限时间内改变运行对象的一些属性 ...

  9. 让你更值钱的方法:培养稀缺(追逐新技术,淬炼已有技能、做到出类拔萃,寻找自己所在的行业痛点,App开发者是市场动态平衡的典型)

    一个开发者,如何才能更值钱? 答案非常简单:掌握稀缺资源. 那么,怎样才能持续不断地掌握稀缺资源,让自己更值钱呢? 请看接下来介绍的 2 种识别稀缺的方法和 2 种培养稀缺的策略. 稀缺资源的秘密 资 ...

  10. 快速搭建REST API——json server

    一:全局安装json-server npm install json-server -g 二:在自己项目跟目录下存放mock/data.json,json内容如下: { "roles&quo ...