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. theme-windowAnimationStyle 动画设置

    对于windowAnimationStyle 的引用,目前自己发现的有两处 1.就是直接在Theme 中引用的,如下 <style name="Theme.Funui" pa ...

  2. python3中让程序暂停运行的语句

    https://blog.csdn.net/zmz971751504/article/details/78288988

  3. [置顶] WebService学习总结(3)——使用java JDK开发WebService

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  4. Oracle动态SQL语句

    动态SQL返回游标: create or replace procedure proc_ValidityDueQuery( p_regioncode in number, p_pscode in nu ...

  5. HttpWatch--time chart分析

    这是一个IE的插件,下载可以点这里.下载后解压如下图所示,一共有4个文件.HttpWatch Professional是单独软件,可以单独使用. 解压后有四个文件 插件安装时,只需运行httpwatc ...

  6. ehcache、memcache、redis三大缓存比较(转)

    最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考!  Ehcache 在Java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS ...

  7. PL/SQL笔记(一)

    PL/SQL概述 PL/SQL是一种高级的数据库程序设计语言,专门使用与Oracle语言基于数据库的服务器的内部,所以PL/SQL代码可以对数据库进行快速的处理. 1.什么是PL/SQL? PL/SQ ...

  8. vue-cli 构建vue项目

    师父说,咱们还是要用vue-cli 去构建前端项目.然后我就开始了 懵逼之旅. 今天上午主要就是搞懂用webpack和vue-cli怎么搭建 运行项目 首先找到了咱们博客园 园友的博客,提供了大概五个 ...

  9. 把git仓库从码云迁到github,及git常用命令

    前言 刚开始建仓库的时候,因为网络的原因选择了国内的码云.后来又想换成github,毕竟平时github使用率比较高. 替换远程仓库地址方式如下: git remote set-url origin ...

  10. zynq mac地址修改

    工作中遇到多个zynq板子同时位于一个交换机网络中,由于默认mac地址相同,无法进行通信,因此需要对每个板子修改mac地址. 方案:使用uboot配置文件 步骤: 在uboot配置文件中添加及修改下面 ...