传统的单片机都是单核或者异构双核(比如ARM Cortex-M4+ ARM Cortex-M0)进行任务处理,多任务调度的资源开销比较大,任务响应实时性较差。
但是位于英国的一家公司XMOS则一反常规,推出了4至32核的多核MCU,改变了传统的单片机架构与编程方式,其多核MCU让广大嵌入式开发者也可以尽情地享受并行编程的乐趣。
XMOS是一家成立于2005年的半导体设计公司,位于布里斯托尔,专注于音频处理器以及语音类高性能芯片的研发与设计,并且在2013年推出了高性能通用MCU产品。XMOS目前一共推出了两代MCU芯片,其中一代MCU(xCORE-XS1)有 4、6、8、10、12、16和 32 核可供用户选用,二代MCU(xCORE200)进行了一些升级有5、8、10、16、20 和 32 核可供用户选用。其高性能通用MCU分别有通用系列(不带USB、千兆以太网)、USB系列、USB+千兆以太网三大系列。
XMOS xCORE200内核MCU具有如下特性:
-
CPU主频500MHz;
-
芯片内部由1至4个xCORE Tile组成,每个xCORETile具备5至8个逻辑核心,单个芯片最高拥有32个逻辑核心。
-
xCORE Tile之间的最大数据传输速率为250Mb/s;
-
同一个xCORE Tile的所有逻辑核心共享500MIPS计算性能,每个逻辑核心的性能可保证在1/8至1/5的xCORE Tile MIPS计算性能;
-
在双发射模式下高达1000MIPS计算性能(这是XMOS二代比一代最大的差异点);
-
每个逻辑核心具备16个独立的32位寄存器;
-
167个高度紧凑的16/32位指令,除除法指令外,其余均属于单时钟周期指令,支持32x32 ->64bit的DSP/算术指令,支持用户定义的加密功能;
-
端口采样率可以高达60MHz;
-
每个Tile具备32个通道Channel-end,用于同其他的片内或片外核心通信;
-
每个Tile具备6个Clock Block;
-
每个Tile具备10个Timer;
-
每个Tile具备4个Lock;
-
片上集成JTAG调试模块;
-
可编程的Lock可以用于禁止调试,阻止存储的数据被回读;
-
AES Bootloader可以确保外部存储的保密IP安全;
-
IO捕获输入数据最小延迟8ns,IO输出数据最小延迟9ns;
首款SnailBoard开发板基于XMOS最新的二代xCORE200内核MCU:XE216-512-FB236。SnailBoard团队将为广大学习者和开发者提供配套的中文资料(包含芯片手册、编程手册、教程文档等),开发例程等以便用户学习和使用。