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. adapter-自定义adapter的典型写法

    文章参考 http://www.cnblogs.com/mengdd/p/3254323.html import android.content.Context; import android.vie ...

  2. Android 使用Wake Lock

    为了延长电池的使用寿命,Android设备会在一段时间后使屏幕变暗,然后关闭屏幕显示,最后停止CPU.WakeLock是一个电源管理系统服务功能,应用程序可以使用它来控制设备的电源状态. WakeLo ...

  3. ie为什么那么垃圾(不是ie垃圾,是ie用的人太多了,很多在用低版本)

    ie为什么那么垃圾(不是ie垃圾,是ie用的人太多了,很多在用低版本) 一.总结 1.我们觉得ie差的原因:我们拿老的ie和最新的其它浏览器做比较了,两者相差了很多年.比较微软几十年才发布了11个ie ...

  4. 泛型T和Object 区别?

    T表示不能确定具体类型,Object是超类.最直接的区别在于:当用T时,开发人员不用强转类型 如:public T MethodName(T t); 如果传入String,则T就是String,所以返 ...

  5. Machine Learning With Spark学习笔记(提取10万电影数据特征)

    注:原文中的代码是在spark-shell中编写运行的,本人的是在eclipse中编写运行,所以结果输出形式可能会与这本书中的不太一样. 首先将用户数据u.data读入SparkContext中.然后 ...

  6. [Ramda] Complement: Logic opposite function

    Take a function as arguement, and the function only return true of false. If the function 'f' return ...

  7. 算法 Tricks(四)—— 判断序列中的字符/数值是否交替出现

    比如:353, 54545,数字都是交替出现的: bool alternate = true; for (int i = 0; i < M.size(); ++i){ if (M[i] != M ...

  8. ZYNQ7000 LVDS接口输出配置

    xilinx 7系列芯片不再支持LVDS33电平,在VCCO电压为3.3V的情况下无法使用LVDS25接口. 有些设计者想通过在软件中配置为LVDS25,实际供电3.3V来实现LVDS33也是无效的, ...

  9. php框架排名(Laravel一直第一)

    php框架排名(Laravel一直第一) 一.总结 1.Laravel,后面就用这个框架(要用好这个框架,英语得6啊) 2.YII框架和tp框架一样,也是一个国产框架 二.2017世界PHP框架排名T ...

  10. PWA之Web 应用清单

    原文 简书原文:https://www.jianshu.com/p/5c96242188e8 大纲 1.什么是Web 应用清单 2.“清单文件”:Web App Manifest 规范的应用 3.we ...