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. IOS系统不兼容position: fixed;属性的解决方案

    position: fixed;属性在IOS系统手机上会有很明显的抖动,解决方式: 只需要在中间部分外层div添加css样式position:fixed;top:50px; bottom:50px;o ...

  2. 让单选input框,不在被选中,添加disabled即可。输入框input的一些技巧

    1.让单选input框,不在被选中,添加disabled即可 2.input的file文件对象的清空,只需要input.val("");就可以了.

  3. C# 文件转byte数组,byte数组再转换文件

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  4. Dynamics CRM 2016 Web API 消息列表

    Function Name Description CalculateTotalTimeIncident Function Calculates the total time, in minutes, ...

  5. 学习easyui疑问(三)

    今天我学习easyui中碰到的还有一问题是:怎样创建一个表格? 首先,在easyui中文官网上提供的这样一种定义方式: <!--table--> <table id="tt ...

  6. Dcloud课程4 如何进行APP接口开发

    Dcloud课程4 如何进行APP接口开发 一.总结 一句话总结:通过json或者xml. 1.APP如何进行通信? 通过在地址上接参数指明传递的数据的类型.而数据传递的类型一般是XML和json. ...

  7. 使用 LaTeX 绘制 PGM(Probabilistic Graphical Models)中的贝叶斯网络(bayesian networks)

    Software for drawing bayesian networks (graphical models) 这里需要调用 latex 中的绘图库:TikZ and PGF. 注意,下述 tex ...

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

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶项目介绍 产品:关于手机移动端的租房网站 角色:在这个产品中用户包括房东与房客 功能:房东可以在这个平台发布自己的房屋,房客可 ...

  9. Jmeter--性能测试工具的搭建

    第一步:Jmeter软件下载第二步:解压下载的Jmeter包到某一盘符下,最好解压到无中文字符目录下,防止乱码问题,以我电脑为例,比如:D:tools第三步:找到解压的文件jmeter.bat,一般在 ...

  10. [React Intl] Render Content with Markup Using react-intl FormattedHTMLMessage

    In this lesson, we’ll use the react-intl FormattedHTMLMessage component to display text with dynamic ...