说明:
XMOS这次致力于打造全新的,颠覆性的嵌入式平台,简化开发人员要学一堆东西才能开发一款高性能AIOT产品的痛点。

XCORE.AI集单片机,AI,FPGA,DSP于一身,嵌入式软件开发人员可以灵活的实现各种控制,而不用担心固定的硬件性能/资源不够用的问题。并且性能强劲,可以让物联网终端设备在本地就处理数据,无需上传到云端处理。

引言:

过去的5年中,Amazon Alexa,  Google Home, Facebook Portal,  Apple Homepod等都是采用的XMOS语音助手方案。大致流程是终端设备采集音频数据,删除回声和噪音,将数据发送到云端,云端回复。

当前的智能设备非常依赖云端,随着自然语音接口引入到嵌入式设备,如果智能音响,智能电视,穿戴设备等,将面临可靠性,隐私问题和成本方面的挑战。

通过将AI功能嵌入到本地设备,提高了安全性,因为重要数据在本地就可以处理,而且降低云端带宽需求,实时性强。

另外当前市场上传统的AI处理器功耗大,价格偏贵,一定程度上限制他们作为智能终端的应用场合。

1、性能

XMOS将XCORE.AI与当前600MHz,M7核心芯片做比较。
AI性能32倍,IO速度16倍,DSP性能15倍,16bit MAC性能的21倍,不细看,还以为是Cortex-M55内核芯片发布了,而且提供FPGA一样的灵活性。

2、特色:
(1)每秒380亿次累加乘
(2)每秒一百万次512点FFT。
(3)128个纳秒级GPIO,并且可以像FPGA一样灵活定制各种IO接口功能,如SPI, QSPI, MII, I2S, I2C, PDM等。
(4)每个内核有512KB TCM RAM,带LPDDR接口。
(5)片上USB高速PHY,带MIPI接口用于摄像头。
(6)16个实时逻辑核心,支持标量/浮点/矢量指令,可根据应用实现灵活性和可扩展性。
(7)用于数字信号处理,机器学习和密码功能的高性能指令集。

3、软件方面
全部采用C编程,使用行业标准的LLVM/Clang编译,AI使用Tensorflow lite,固件可以采用FreeRTOS,并提供大量库。

4、架构
xcore的开发旨在提供类似于FPGA的IO灵活性,并为嵌入式软件工程师提供关键的控制处理,使他们能够创建差异化产品,而不是重复参考设计。

(1)2005年时,发布第1代xcore架构。第一代架构的成功为各种应用程序到IO协议之间架起桥梁,此设计获得数百项设计大奖,典型应用如USB Audio Class 2解决方案和S/PDIF接口 ,所有这些都可以软件实现
(2)第二代xocre加强了控制和DSP性能,使其应用到各种客户解决方案中,以及为XMOS提供了一个平台,使其成为远场语音最杰出的供应商之一。
(3)第三代是通用目的的跨界处理器,集单片机,AI,FPGA,DSP于一身。

xcore体系结构是可伸缩的,单独一个图块是1MB内存,380亿次累加乘速度,两个图块就可以实现2MB内存,760亿次累加乘。图块里面每个logical core都可以作为独立的硬件线程,可以独立运行AI,DSP和IO控制。

实际应用中,用户仅需做一个应用程序,编译器会将各个任务分配几个内核里面。比如一个基于FreeRTOS设计的语言控制程序,含神经网络,麦克风远场处理,PDM,I2C,I2S等。具体到xcore上,就是下面这种效果,这些功能都可以并行独立执行,

总结:
低成本,简单易用,高性能是AIOT主控芯片追求的终极目标,正如XMOS首席执行官所说的,xcore.ai以1美元起步的价格提供了世界低成本,最具灵活行的AI处理器。

XMOS发布集单片机,AI,FPGA,DSP于一身的跨界处理器完全体xcore.ai,致力于AIOT,售价1美元起步的更多相关文章

  1. FPGA+ARM or FPGA+DSP?

    网上有人说.现在的FPGA,ARM功能已经强大到无需DSP协助处理了,未来DSP会不会消声灭迹?是DSP取代FPGA和ARM,还是ARM,FPGA取代DSP呢?担心好不容易学精了DSP,结果DSP变成 ...

  2. FPGA+DSP SRIO通信(一)——DSP端参数设置(通道)

    FPGA+DSP SRIO通信(一)——DSP端参数设置(通道) 原创 2017年04月19日 18:56:45 标签: SRIO-C66x 1217 经过漫长的探索之后,博主发现关于TI的板子调试和 ...

  3. 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

    https://mp.weixin.qq.com/s/z5qm-2bHk_BCJAwaodrMIg 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

  4. 【AI测试】也许这有你想知道的人工智能 (AI) 测试--开篇

    人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的. 大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等 ...

  5. 【AI测试】也许这有你想知道的人工智能 (AI) 测试--第二篇

    概述此为人工智能 (AI) 测试第二篇 第一篇主要介绍了 人工智能测试.测试什么.测试数据等.第二篇主要介绍测试用例和测试报告.之后的文章可能具体介绍如何开展各项测试,以及具体项目举例如何测试.测试用 ...

  6. <Win32_17>集音频和视频播放功能于一身的简易播放器

    前段时间,在学习中科院杨老师的教学视频时,他说了一句话: "我很反对百八十行的教学程序,要来就来一个完整的程序" 对此,我很是赞同.所谓真刀真枪的做了,你才会发现其中的奥秘——然而 ...

  7. wcf发布的服务在前端调用时,遇到跨域问题的解决方案

    我是使用IIS作为服务的宿主,因此需要在web.config中增加如下配置节: <bindings> <webHttpBinding> <binding name=&qu ...

  8. 跨界 - Omi 发布多端统一框架 Omip 打通小程序与 Web

    Omip 今天,Omi 不仅仅可以开发桌面 Web.移动 H5,还可以直接开发小程序!直接开发小程序!直接开发小程序! Github Omi 简介 Omi 框架是微信支付线研发部研发的下一代前端框架, ...

  9. 【docker】elasticsearch-head无法连接elasticsearch的原因和解决,集群健康值:未连接,ElasticSearch——跨域访问的问题

    环境 ==================== 虚拟机启动 centos 7  ip:192.168.92.130 elasticsearch 5.6.9   port:9200  9201 elas ...

随机推荐

  1. day06_类与对象、封装、构造方法

    02_面向对象与常用类 01_面向对象思想的概述 面向过程:当需要实现一个功能的时候,每个具体的步骤都需要亲力亲为,详细处理每一个细节. 面向对象:当需要实现一个功能的时候,不关心具体步骤,而是找一个 ...

  2. 浅析State-Thread

    State-Thread(以下简称st),是一个由C语言编写的小巧.简洁却高效的开源协程库.这个库基于单线程运作.不强制占用用户线程,给予了开发者最大程度的轻量级和较低的侵入性.本篇文章中,网易云信音 ...

  3. CSS的长度单位

    对于css的长度单位真的有必要知道一下.那么css长度单位有哪些呢? 分成两大类: 1.绝对单位:不会因为其他元素的尺寸变化而变化.坚持自我. 2.相对单位:没有一个确定的值,而是由其他元素的尺寸影响 ...

  4. 经常使用的cmd命令

    ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库中的属性以控制启动加载.CACLS 显示或修改文 ...

  5. JS高级---函数的几个成员

    函数的几个成员 函数中有一个name属性----->函数的名字, name属性是只读的, 不能修改 函数中有一个arguments属性--->实参的个数 函数中有一个length属性--- ...

  6. IntelliJ IDEA 2017.3尚硅谷-----创建的静态 Java Web

  7. TCP/IP详解,卷1:协议--RARP:逆地址解析协议

    引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 I P地址.但是无盘机, 如X终端或无盘工作站,则需要采用其他方法来获得 I P地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络 ...

  8. Java中的Collections类

    转载:https://blog.csdn.net/yangxingpa/article/details/80515963 从[Java]Java中的Collections类——Java中升级版的数据结 ...

  9. jvm(6):JMM

    typora-root-url: ./ CPU多核并发缓存架构 JMM(Java线程内存模型)底层实现原理 基于CPU缓存模型建立的,屏蔽掉了底层不同计算机的区别. 所有的共享变量都存储在主内存.每条 ...

  10. 【转】Git常用命令指南

    1.git init 初始化一个Git仓库,git init –bare example.git创建一个裸仓,即没有工作区的git仓库.2.添加文件到Git仓库,分两步:git add <fil ...