访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
XMOS重新定义晶圆
内容导读:

  初创企业寻求更新半导体技术与工艺的努力从未中断。当然,传统器件的缺点众所周知,ASIC 的开发昂贵,费时,并且风险大;ASSP接近大众,但是很难做到器件的差异化;FPGA大量购买十分昂贵,并且编程十分困难。

  XMOS Semiconductor,一家位于英国Bristol成立两年的无晶圆半导体公司, 正努力推动一种名为“软件定义晶圆”的新技术。在这种技术中,通用嵌入处理器核的多核阵列采用硬件多线程在严格实时限制下运行控制软件及应用软件。同时,另有单独的线程驱动芯片引脚仿真所要求I/O接口(以太网,USB,UART, I2C 等)。这种多核集成,多线程确定性,和软件定义I/O的组合使通用微处理器可执行SoC功能,但是没有定制的加速软件或专属的I/O控制器。

  “软件定义晶圆”的基本概念并不是新的。几年前,Ubicom(硅谷一家小公司)推出的芯片采用确定性硬件多线程来进行数据包处理和软件定义I/O。Ubicom的MASI (Multithreaded Architecture for Software I/O)为标准晶圆产品带来更多的灵活性。 XMOS希望将软件定义这一概念在集成度与性能方面(当然,还有销售业绩)提升到一个更高的水平。 至少一些XMOS芯片将具有多核设计, 其可在运行实时操作系统和进行数字信号处理时,在软件中实现100Mb/s以太网甚至更快的I/O接口。

  这次XMOS对于其麾下的XCore微处理器架构透露甚少。直到7月,XMOS才走出了秘密开发阶段,开始大致描述其技术。XMOS计划在今年的更晚时候,当第一个晶圆从工厂到货后,透露更多细节。最早出产的芯片将是是采用标准90nmCMOS工艺生产的多核芯片。XMOS计划明年开始销售芯片,售价大概在1美元至10美元。这种价位,相对于ASSP和FPGA将颇具竞争力。 此外,作为标准产品,他们可以使一些用户免去开发ASIC的需要。

  无需RTL或汇编语言

  XMOS技术核心是特为硬件多线程,软件驱动I/O和高级语言设计的32-bitCPU专利架构。 尽管有些XMOS工程师来自ARM及其他处理器公司,XMOS表示其CPU架构没有模仿任何已有架构, 其产品架构为全新设计,并为其任务进行了优化,此外XMOS表示并不打算使用汇编语言或RTL语言编程。甚至设备驱动及其他XMOS将提供的低级语言软件将以C,C++及 其衍生品XMOS C(XC)编写。

  XC加入了时序描述,硬件I/O运算,硬件并行性,及符合ANSI C标准的其它延伸。例如, XC允许程序员规定某一运算可以一固定间隔执行,比如每隔20ms。一种新选择语句与case语句类似,只是无论何时当芯片自I/O接口收到特定事件时,其向量将执行程序特定块。这些及其他延伸对于硬实时确定性及可编程I/O是必要的, 这也是软件定义晶圆的中心理念。图1示出了XC程序的一个实例。

图1 UART传输功能

  XC并没有像近来其他C变种(如System C)那样走的那么远。它仍是一种主要写软件的语言,而非描述硬件(除了I/O接口)。 程序员可以使用标准C或C++来写不要求严格时序的软件。实际上,如图2所示,按照程序的作用,一个典型的项目将具有以C, C++及XC所写的模块。XMOS将提供新的软件开发工具, 其在基于单Eclipse的集成开发环境中可以处理所有的程序。

图2

  在源代码中,程序员明确将线程指定给各种硬件I/O及软件任务。其效果为这些指定操作手工将Xcore处理资源进行了分割。处理器保证每个线程的最低水平性能,这些线程在空闲时不消耗电力。在周期精确软件模拟器的帮助下,程序员可以在设计时决定特定I/O或软件任务是否达到了预期的性能。如果某一任务未能达到性能指标,程序员可为其指派附加的线程。如果即便是调动其所有线程后, 当前使用的Xcore芯片仍无法完成所需性能,开发人员可选择更高性能的Xcore芯片,该芯片拥有更多的处理器核或可运行于更高的频率。

  XMOS正在开发软件库,其可帮助开发员实现常用的I/O接口及执行普通软件任务。XMOS也正在尝试对XCore输出现有的软件库。在依赖严格时序的架构上保留可用高级语言的编程能力是XMOS技术重要的一部份。我们将拭目以待XMOS开发工具及程序库如何有效实现这一目标。

  硬件多线程至关重要

  为保证硬实时性能,XCore处理器采用硬件多线程,而不是传统的操作系统实现的多线程。实质上,硬件多线程是处理器级别的确定性时间片段。处理器可以对各种任务倾注特定量的执行时间。

  每个XCore处理器可以同时执行八个线程并且在每个时钟周期切换线程上下文。尽管XMOS还没有发布XCore架构细节,但其他处理器通过为每个线程维持重复寄存器文件来实现硬件多线程。该处理器并非在上下文切换中保存并储存寄存器文件内容,而仅仅是改变指向合适注册文件的指针。对于从一个线程切换至另一线程并没有存储和回复的动作。XCore几乎肯定会采用这个技术。

  线程以循环方式执行,处理器为每个线程分配相等的时间。如果同时运行八个线程,每个线程得到12.5%的处理器执行时间。如果同时运行四个线程,每个线程得到25%的处理器执行时间,以此类推。注意在本文中,一个“线程”不一定必须是多线程程序中的子进程, 可以是单线程进程。例如,一个线程可以是一个器件的驱动,它可以驱动一个 I/O引脚以定义UART。另外一个线程可能是控制程序,如实时操作系统。另外的线程可以是单线程应用程序。还有另外的线程可以是多线程应用程序中的一个子进程。

  有些进程对性能的要求可能比单个线程所能提供的要高。在这种情况下,程序员可能在两个线程中分割任务。如一个线程可能用于处理低级I/O操作,而另一个线程则处理接口协议和缓冲。所有线程均以严格的循环方式执行。有些多线程处理器,如新出现的MIPS32 74K具有可编程的线程优先政策,它可以不同的方式实现硬件多线程。两种方法都是可行的。XMOS方法更简单并与Ubicom模型更相似。

  简单是重要的, 因为XCore程序员必须在设计时依靠XMOS软件开发工具的帮助,静态地将线程分配给特定任务。借助XCore处理器,性能的基本单位为一个线程,而不是一个时钟周期。因此,理解每个线程可实现的性能对于程序员和开发工具来说是关键的。

  但是,在软件的控制下,在运行时动态重指定线程及重新平衡工作量是可能的。这种能力使一切成为可能。例如,如果一个应用在一段时间不需要使用特定的I/O接口, 其可将相关线程转向其他任务。仅仅通过交换设备驱动即可将I2C接口演化为UART。XMOS芯片将匹配端口和1,4,8,16位宽的寄存器,从而减少或免除低级掩码的需要。

  在XMOS测试其第一个晶圆前,XMOS不愿发布性能细节。但是他们表示初始XCore的性能足够在软件中实现100Mb/s以太接口或更高速的USB2.0接口(480Mb/s)。对于DSP应用,16-tap有限脉冲响应(FIR)滤波器每秒将可以处理七百万采样。

  多处理器使性能倍增

  有些应用可能要求比单个XCore处理器所提供性能要高,因此该技术的另一个重要方面是对多核芯片及多芯片系统的支持。XMOS被称为Xlink的专利连接可以允许多XCore处理器之间通讯。XLink网络可以协调一个核上多线程,多核上的多线程,或不同芯片的多线程。

  XMOS计划今年秋天发布更多关于XLink的细节。如图3所示,XLink为一交叉总线,将两个或多个处理器以紧密的关系连接起来。编译的目标代码与位置无关,所以开发员无须知道特定的线程将在哪个核上运行-软件能够在运行时间分配线程。但是, 如果程序员愿意,他们可以事先将特定的线程指派给特定的核。

图3

  片上互连接与芯片之间的互联要求不同。为满足多芯片系统片上连接的微小距离及板级间距离的要求,Xlink在不同物理接口运行单一逻辑协议。XMOS开发工具需要网络延迟的知识来智能分配线程。这些开发工具将可能依赖设计软件模拟来估计多芯片或多系统网络中Xlink延迟。

  芯片不是全部

  尽管XMOS现在还未透露其专利CPU架构,但这些细节并不那么重要。如果XMOS能实现其承诺,客户将无须关注那些细节,因为XCore设计为可在线程级别进行高级语言编程。当然,了解XMOS如何利用这个难得的机会来创造为多核芯片上硬件多线程优化的CPU架构是十分有趣的。但是,考虑到软件定义晶圆并不是新概念,关键问题是XMOS是否可以创造一个有用,价格适中,且足以支持处理器核,内连接,及软件开发工具的芯片。

  XC是一个障碍。程序员不希望厂商制定化的软件模式向C语言扩展,特别是当这些扩展将他们的软件与一个初创企业开发的专利CPU架构绑定时。XMOS认识到了这个障碍,并且在XC中编写低级设备系统库和I/O接口,这样开发员可以采用标准、可移植的C或C++来写大多数的应用软件。另外,XMOS希望为XCore输入一些广泛应用的软件库。XMOS说他们创造XC扩展仅仅是因为没有业界标准的开放的可替代品—一个常见的抱怨。

  XMOS的另外一个障碍是软件开发工具。XMOS对于工具许愿很多。如果线程配置不是那么简单,随着集成水平的上升,麻烦将迅速失去控制。XMOS已经在讨论“核阵列”—暗示初始的多核芯片将发展为很多核或大量并行XCore设计。对于顾客,软件开发工具的质量很快便变得比硬件的能力更为重要。

  幸运的是, 软件定义晶圆的基本概念根本上是可靠的。实质上,计算的演化主要是一个将更多的功能从硬件转移到软件上的过程。随着处理器成长地更为强大,曾要求专属硬件(芯片上或外)的I/O功能可以由软件得心应手地操作。专属硬件在高流量应用中仍十分有效, 但是很多终端用户产品从来没达到那样的流量。激烈的竞争是一个因素—在一个产品将其昂贵的ASIC费用回收前,大量的模仿者就常常出现了。另外一个因素是快速的市场更新-许多消费电子产品的货架时间是以月来计算的,而不是年。业界标准也在持续进步。一个可编程的,在设计时甚至是运行时可变换其I/O接口的芯片可延迟过早过时。

  因此,XMOS的前景取决于公司执行其战略各方面的好坏。设计一个多线程的处理器几乎是最容易的部分。XMOS成败将体现在其多核集成,软件开发工具,扩展C语言,及系统软件上。(本文摘自美国《微处理器报告》,马志强译)

标签:
来源:电子产品世界 作者:Tom R. Halfhill 时间:2007/11/10 0:00:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐