首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 可重构系统功耗相关的硬件任务调度算法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
可重构系统功耗相关的硬件任务调度算法
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-9-24 22:44
|
只看该作者
可重构系统功耗相关的硬件任务调度算法
处理器
,
操作系统
,
硬件
,
程序
,
软件
引 言
可重构系统是指以软件改变硬件结构以实现具体应用的计算平台,一般由非柔性但可编程的处理器和柔性的以程序控制重构的数字逻辑器件构成。目前国内外的可重构系统研究中,采用的可重构硬件主要是现场可编程门阵列(Field Programming Gate Array,FPGA)。可重构系统非常适合于那些对功耗有严格要求或者计算密集的应用,因为此类应用在FPGA上实现的功耗要大大低于在处理器上实现的功耗。将在FPGA上运行的任务视为“硬件任务”纳入实时操作系统(Real-time Operating Sys-tem,RTOS)的统一管理范围,可简化系统的设计与管理。因此,需要在传统的RTOS中引入硬件任务管理器,实现硬件任务的管理和调度。
目前,该研究已经取得了一定进展。如在参考文献[1]中提出的商用可重构系统OS4RS,包含的主要功能有任务的创建/销毁、异构任务的动态迁移、任务之间的相互通信等。支持软/硬件任务调试以及允许对操作系统模块和用户任务的跟踪监控,是可重构硬件操作系统的重要特征。在参考文献[2]中设计了一种基于软/硬件统一多任务模型的实时操作系统SHUM-μCOS,实现了统一任务的管理、基于静态优先级的软/硬件任务独立调度、硬件资源的管理以及软/硬件任务基于软件层的通信等机制。
但是大多数研究者考虑的软/硬件调度算法一般难以在现有的FPGA硬件平台上实现,如参考文献[2]中FORS算法采用的2D FPGA资源模型。这是因为当前的FPGA技术只允许所有的任务占用同样的“高度”,并且上述工作中几乎没有将功耗纳入考虑范畴。因此,类似在嵌入式微处理器中广泛采用动态电压调整(DynamicVoltage Scaling,DVS)技术以降低系统功耗,本文提出了一种动态调整FPGA工作频率的算法,在可重构系统的性能需求和功耗需求之间达到平衡,并且可以在当前的FPGA技术条件下实现。
1 调度模型
1.1 可重构系统体系结构
本文只考虑在当前FPGA技术条件下的可重构系统结构,如图1所示。FPGA分为动态和静态两部分。动态部分包括很多可重构模块(Reconfigurable Modules,RM),每个硬件任务运行在1个RM上,各个RM占用的FPGA宽度可以不相等,一般由若干同列的CLB(Config-urabIe Logic Block,可重构单元)组成。静态部分则负责与CPU和RM之间的数据交互。
假设FPGA是由很多CLB成阵列排列而成,每1个CLB可以看成1个1×1的单位正方形,1个FPGA则是1个面积为ω×h的长方形。其中ω为长方形的宽度,h为长方形的高度,ω×h为该FPGA包含CLB的总数(即面积)。图2所示为1块5×4的FPGA。在实现中,因为每个RM都使用相同的FPGA高度,即h,所以最小的RM的面积是ωmm×h,其中,ωmin的大小依赖于硬件任务需要使用的CLB的个数。所以,1块FPGA上RM最多可以有:
当对1块FPGA进行配置时,其动态部分可以划分成具有不同宽度的RM,从而具有不同CLB需求的多个硬件任务可以同时运行在FPGA上。另外,对其中1个RM进行配置时,对于其他正在运行的部分没有影响,从而可重配置硬件使得硬件任务以一种真正的动态多任务方式运行。
1.2 任务定义
①硬件任务:硬件任务是指可重构系统中基于FPGA实现的功能模块。一个硬件任务配置完成后即可开始执行,在完成之前一般不会释放其占用的可重配置资源,即不能被其他硬件任务抢占。
②一个硬件任务可表示为Ti(fi,max,ai,ci,ti,ei,fworking)。其中,fi,max是硬件任务可以运行在RM上的最大时钟频率,这个频率是由每个具体硬件任务设计的时序状况决定的,所以每个任务的fi,max可能不同。ωi是任务占用的可重构硬件的宽度资源,ai表示硬件任务的到达时间,ci表示硬件任务的最后完成时限,ti是硬件任务工作在fi,max时的运行时间。本文中不单独考虑硬件任务在FPGA上的配置时间,而是把它并入运行时间中一起考虑。e是硬件任务工作在fi,max时的功耗,可由参考文献[4]建立的功耗模型进行估算。fworking是该任务在运行时FPGA的实际频率。
在参考文献[4]中,硬件任务的功耗和硬件的运行频率直接相关,因此,可以使用以下2个公式对硬件任务实际的运行时间和功耗进行估算:
其中,f是硬件任务实际的运行频率。
2 功耗相关硬件任务调度算法EEHTS
2.1 硬件任务调度器设计
目标系统如图3所示。用户程序分为2部分,其中软件任务运行在CPU上,硬件任务运行在FPGA上。本文中只考虑功耗相关的硬件任务的调度,目标是将软/硬件任务统一起来进行考虑,在满足任务截止时限要求的情况下降低系统的整体功耗,即:
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议