当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于事件驱动的新型处理器的研究与应用

摘要:针对现代电子设计低成本、高效率、高灵活性的特点,研究了一种新型的处理器事件驱动多核心处理器。通过对这种处理器基本构架的研究,以及采用新型处理器与采用传统控制器设计差异的对比,分析出该处理器具有性能高、实时性强、易编程等优点。最后,提出了一种新的设计方法:硬件设计软件化,给众多电子系统设计提供新的思路和参考。

关键词:XMOS;事件驱动多核心处理器;硬件线程;硬件设计软件化

0 引言

英国的XMOS Semiconductor公司推出了一种全新的控制器件:事件驱动多核心处理器(以后简称XCore处理器)。凭借一种叫作软件化芯片(Software Defined Silicon)的新技术,XMOS提出了一种革命性的电子设计方法:硬件设计软件化。通过软件设计,可以使用XCore处理器实现以前需要通过FPGA,ASIC实现的硬件性能。这种新的处理器集RISC CPU的效率、DSP的性能和FPGA的灵活性于一体。

1 XCore处理器的基本构架

图1为XCore处理器的基本框架图。如图所示,每个处理器(以XS1-G4为例)有4个内核(XCore),XCore之间通过一种称之为X-link的技术连接,可以实现XCore之间的数据通信。XCore内部有丰富的硬件资源:8 KB的OTP ROM,64 KB的RAM,10个计算器,6个时钟模块,7个同步单元和4个硬件锁。除此之外,XCore最特别的是具有8个硬件线程和32个通道端(Channel Ends)以及1个事件驱动管理器。每个硬件线程具有独立的专有寄存器组,同时可以访问所在核内的共享硬件资源。

通道(Channel)是线程之间通信的主要方式,一个通道可以连接几个通道端。这样,使用各个通道端的硬件线程就可以相互通信了。通道可以在不同的Xcore之间建立,依托强大的X-link功能,甚至不同处理器之间的线程也可以通过通道进行通信。

2 XCore处理器特点

2.1 硬件多线程技术

硬件多线程技术是XCore处理器能够硬件设计软件化的关键。有别于传统的操作系统实现的多线程,硬件多线程是通过特有的硬件单元来调度。每个硬件线程的时间片精确到1个时钟周期(对应于处理器工作在400 MHz主频的情况下,就是2.5 ns)。传统的操作系统分配给线程的时间片都是在ms级。线程调度的实时性保证了多个硬件线程可以组成高性能的处理流水线。每个Xcore拥有8个硬件线程,如果这个8个线程全部运行,在400 MHz的CPU主频的情况下,理论上可以组成一条8级的主频为50 MHz的流水线;如果处理器内的4个XCore全部运行,则可以组成4条这样的并行流水线。这足以完成大部分中低性能的FPGA实现的功能。

2.2 多功能智能IO模块

多功能智能IO模块是XCore处理器的另一大特色,该模块可以对IO数据进行处理,然后再将数据缓存后送CPU内核处理,这样,可以减轻IO操作对CPU内核的负担。使得流水线设计瓶颈可以缓解。设计者可以适当延长处理流水线每一级的长度,使得软件设计更加灵活,功能更加强大。

多功能智能IO模块具有以下几个功能:端口宽度可编程;带时钟、片选的IO接口;可编程时序IO接口;序列化IO接口;可编程FIFO缓存接口;可编程条件IO接口。灵活运用这些功能,可以轻易的实现MII,ULPI等高速总线接口。

2.3 事件驱动运算

相对于操作系统管理下的软件线程,XCore处理器的硬件线程具有同样的灵活性。每个硬件线程可以被阻塞,当硬件线程被阻塞时处于睡眠状态,它所占用的时钟周期可以释放给其他的硬件线程。举个例子,如果某个XCore以400MHz的工作频率运行8个线程,那么每个硬件线程的实际工作频率是50 MHz。当其中4个线程被阻塞时,剩下的4个硬件线程的工作频率就能够提升到100MHz。当线程被阻塞时,需要等待指定的事件将它唤醒,这些事件可以由定时器、智能IO模块和线程之间通信的通道产生。基于事件驱动运算的机制,可以极大地减少XCore处理器的功耗并显著地提升XCore处理器的效能。

3 实例介绍

串口服务器是在工业控制领域经常用到的一类设备,其作用是实现UART与以太网之间的协议转换,下面给出了3个不同的设计方案:采用通用嵌入式CPU实现的设计方案;采用FPGA实现的设计方案;以及采用XCore处理器设计方案,如图2所示。

[!--empirenews.page--]

这3个方案比较类似,基本上都是单核心处理芯片加外围接口芯片的SOC解决方案。不同的是,第1个方案的处理核心是集成了以太网MAC和UART的通用处理器。第2个方案的处理核心是FPGA器件。第3个方案的处理核心是XCore处理器。

第1个方案的优点是设计起来容易、功能灵活;在通用嵌入式CPU上运行操作系统,使用标准的TCP/IP协议和UART协议,能够实现各种复杂的控制功能。缺点也很明显:CPU内部集成的串口有限,一般只能实现不超过4个串口的串口服务器;实时性差、由于软件处理能力有限,当串口数据流量较大时,CPU会来不及处理,只能将数据放入缓存,待CPU空闲时处理。这样导致数据转发的延迟增大。

第2个方案的优点是扩展能力强、实时性高;由于FPGA具有硬件可编程的特点,理论上器件内部可以实现任意个数目的串口(实际受所选FPGA器件容量大小的影响)。FPGA采用硬件流水线处理串口数据转以太网数据,因此,数据处理的速度很快,基本上不产生延迟,实时性好。这种方案的缺点是:设计难度比较大,需要获得授权使用以太网MAC和UART的IP模块,并且需要设计控制模块来协调各个接口,然后进行系统级的仿真和测试,整个设计开发周期长、设计难度大;灵活性差,功能不强。由于采用硬件实现的机制,FPGA只能实现简单的底层网络报文,无法实现TCP/IP等高层次的网络协议转发。同样,一些诸如流量控制、报文路由、IP管理之类的功能也无法实现。这样、导致这个方案的可用性以及可维护性差。

第3个方案综合了2个方案的优点并弥补了它们的不足。首先,XCore处理器的IO管脚像FPGA一样是可以编程设计的。设计者可以分配足够多的管脚给UART。使用标准XCore处理器函数库,每个UART模块需要1个硬件线程来实现,每个以太网MAC模块需要4个硬件线程来实现。这样,使用4个核的Xcore处理器,可以实现具有16个串口的串口服务器。除实现UART和以太网MAC需要的20个硬件线程外,处理器内还剩下12个硬件线程的资源,这些硬件线程可以用来运行TCP/IP协议,还可以用来实现流量控制、报文路由、IP管理等诸多功能。由于XCore处理器具有实时多线程的特点,能够保证处理IO数据的硬件线程实时运行,从而保证了数据转发的实时性。同时,XCore处理器设计属于软件编程的范畴,使用C语言就可以方便地实现各种控制管理功能,这使得开发周期缩短,开发难度降低。

4 结语

从上面的研究分析、实例介绍可以看出:相对于传统的控制器件,XCore处理器具有优异的性能和充分的灵活性,很适合用在一些对处理器功能要求多、实时性要求高的场合。同时,XCore处理器采用C语言编程的特点可以使开发难度以及开发周期大大降低,再考虑到XCore处理器丰富的硬件资源,采用XCore处理器的硬件设计软件化方案是一种能够广泛应用的低成本、高效率解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭