特定领域功能单元设计与安全密码认证协议研究
1. 特定领域功能单元设计相关内容
1.1 搜索与排序依据
在特定领域功能单元设计中,区域不设最大值来修剪搜索空间,而是用于计算启发式函数增益值。同时引入基本块的递归性来表示每个数据流图(DFG)的重要性,同一DFG内的最大有效子图(MVSs)具有相同的递归值,递归性用于对候选函数进行排序。搜索过程中仅使用两个参数作为启发式规则:输入输出(IO)端口数量和延迟,另外两个参数区域成本和递归性用于计算每个候选子图的增益值。
1.2 凸子图分组
为了设计高效的多功能可配置功能单元,需要对候选函数进行分组。采用基于同构性和搜索过程中收集信息的图覆盖方法进行子图分组,忽略只有一个节点的子图,将其增益值添加到操作中。同构性检查在候选子图之间进行,使用节点类型和数量来指导检查过程,从增益值大的重要子图开始检查。同构结构的子图视为一个子图,较小的子图标记为被覆盖,所有增益值累积到较大的子图。
1.3 实验与结果
算法使用C++基于Trimaran编译器框架实现,在标量寄存器分配之前生成每个热点代码块的DFG,仅考虑流数据依赖。
1.3.1 基准测试信息
选择Mibench和Trimaran加密基准测试中的几个分组密码作为特定领域应用的基准测试,使用超块作为区域级别,将内存访问操作和分支或跳转操作视为无效节点。以下是部分基准测试的特征:
| DFG 基准测试 | 过程 | 区域编号(Rgn.No.) | 大小(Size) | 权重(Weight) |
| — | — | — | — | — |
| main |
超级会员免费看
订阅专栏 解锁全文
2981

被折叠的 条评论
为什么被折叠?



