原创 Flexible and Efficient Instruction-Grained Run-Time Monitoring Using On-Chip Rec

2011-8-5 15:43 952 1 1 分类: EDA/ IP/ 设计与制造

论文设计了一个名为FlexCore的框架,该框架支持多种动态监视技术在与主处理器紧耦合的FPGA上实现。

动机:


传统的动态监视技术大致可分为两种。第一种是软件实现方式,以软件方式实现的动态监视技术不能和被监视任务并行执行,并且软件实现方式不适合处理位操作,因此会引入很大的额外开销。另一种是硬件实现方式(ASIC),该实现方式虽然效率很高,但是灵活性很差,无法支持监视技术的更新。本论文提出的FlexCore框架可以兼顾动态监视的效率和灵活性。

贡献:


论文的贡献有如下三项:

1、计算模型。提出了一个指令粒度监视的通用模型,并研究了如何将动态监视扩展映射到该模型上。

2、FlexCore体系结构。这个基于FPGA的协处理器体系结构可以有效地实现一系列监视技术。

3、原型系统的实现和评估。

论文接下来的部分主要围绕这三方面展开。

 

计算模型:


image

图1 计算模型

图1是论文为指令粒度监视过程提出的模型。其中,左半部分表示主处理器,右半部分表示协处理器,元数据(Meta-Data)保存的是处理器的历史记录。协处理器在运行过程中监视主处理器的指令级运行情况,更新元数据,并检查主处理器的运行特征。一旦检查过程失败,则引发异常。主处理器通过显式地指令和协处理器通信,用于配置协处理器或是读取协处理器的状态。

动态监视扩展的模型可以分为元数据、操作和软件接口三部分。下图说明了四种动态监视扩展如何映射到该模型上。

image

图2 动态监视模型的实现举例

UMC:Uninitialized Memory Check

DIFT:Dynamic Information Flow Tracking

BC:Array Bound Check

SEC:Soft Error Check

 

FlexCore体系结构


image

图3 FlexCore的结构框图

FlexCore的体系结构如上图所示,其中RCF完成图1中check1~check3的功能,Flex Cache和Flex TLB相当于图1中的Meta-Data。

Core-Fabric Interface的细节如下图所示:

image

图4 通信接口的结构框图

FFIFO连接到主处理器的commint阶段,在CFGR的控制下,协处理器有选择地将指令读取到FFIFO里。主处理器有类似read from co-processor的指令,协处理器将该指令的返回值保存在BFIFO中。此外,主从处理器之间还有一些CTRL信号。

 

原型系统的实现及评估


论文基于FlexCore模型,实现了UMC、DIFT、BC和SEC四种动态监视扩展,并对频率、面积和功耗参数进行了评估,结果如下表所示:

image 

下表所示是FlexCore和ASIC实现方式的性能比较:

image

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /3 下一条