计算机工程与应用 ›› 2023, Vol. 59 ›› Issue (23): 63-72.DOI: 10.3778/j.issn.1002-8331.2301-0102
杨晨光,李伟,杜怡然
YANG Chenguang, LI Wei, DU Yiran
摘要: 针对密码算法自动映射到可重构密码逻辑阵列(CRCLA)的需求,并为给后端映射提供准确、精简的数据流图,提出了一种数据流图生成与优化的前端设计。该前端以Flex、Bison为编译框架,对高级语言C++编写的代码进行词法、语法分析得到语法树,并依据密码算法指令特点和CRCLA硬件结构进行语义分析生成数据流图;源代码中存在不同方式实现的功能如S盒替换、比特置换,但其在CRCLA中可用单算子代替实现。设计了基于注意力机制的图嵌入模型进行检测识别,并进行图结构替换;同时函数展开、冗余节点消除与数据流图分层等操作优化了数据流图。实验结果表明,该设计经代码识别、优化后,实现了精简的数据流图自动化生成,与其他编译器的编译前端相比性能提高了约37%。