FPGA内存保护:系统架构、评估与策略应用
1. 系统架构
在FPGA系统中,参考监视器的放置位置至关重要,它需要在架构中进行合理布局,以实现不可绕过性和自我保护特性,同时将对内存系统性能的影响降至最低。不同的系统在核心数量、系统元素通信方式(直接连接、总线或网络)以及受保护资源类型(片上BRAM和SRAM、片外DRAM等)方面存在很大差异。
以双核心系统为例,模块通过总线访问片外DRAM。一种简单的设计是将执行机制置于总线和内存之间,这会使每次内存访问都要等待执行机制的批准才能进行,导致延迟增加,其延迟为内存延迟与访问批准时间之和。而更明智的做法是让执行机制监听总线,使内存访问与批准任务并行进行,通过缓冲区暂存数据,直到获得批准。不过,对于写入操作,除非采用回滚方案,否则仍无法缓解延迟和批准时间。这两种策略虽能提供必要的隔离,但在性能和复杂性之间存在权衡。
为防止模块同时访问总线,需要仲裁机制。简单的做法是在每个模块和总线之间放置仲裁器,限制每个核心对总线的使用时间片。
设计提示:执行机制的放置位置不仅影响安全性,还会对性能产生影响。若整个系统需等待参考监视器的决策,性能会受较大影响。虽然并发和流水线等技术可缓解延迟,但会增加额外的复杂性。
2. 评估
研究表明,FPGA参考监视器在面积和性能方面表现出色。电路复杂度取决于内存范围数量、DFA状态和转换数量。为研究范围检测任务对系统性能的影响,通过改变隔离策略中的范围数量,并使用Altera的Quartus综合工具合成执行模块。实验结果显示,电路规模与范围数量呈线性关系,范围检测任务的设置时间也随范围数量近似线性增长,但可通过