论文部分内容阅读
近年来,卷积神经网络(Convolutional Neural Network,CNN)在物联网边缘侧设备中的图像分类、人脸识别等工程应用上取得了巨大的成功,得到广泛的应用。如今,随着CNN模型拓扑结构不断加深,以及物联网设备数量快速增长,越来越多的CNN计算任务需要下沉到边缘侧设备来执行。但是传统边缘侧设备的处理器采用的是通用型计算架构,只适用于控制任务和轻量级运算,在面对CNN这类计算密集型任务时,存在实时性差、能量效率低等问题。因此需要设计一种兼具高算力和低能耗的处理器来满足物联网边缘侧设备执行CNN算法任务的需求。
本文聚焦物联网边缘侧设备执行CNN算法时实时性差、计算效率低等工程问题,设计并实现了一种片上扩展Winograd快速卷积算法电路架构的RISC-V处理器。面向物联网边缘侧低功耗、小面积的工程应用需求,设计了一款具有两级流水线,单发射乱序执行顺序写回结构,以及哈佛存储架构的RISC-V处理器;引入BTFN静态分支预测机制并结合旁路和阻塞策略,分别处理流水线控制冒险和数据冒险问题,以实现性能、面积和功耗的折中。同时,本文结合RISC-V的可扩展特性,以扩展指令集的方式设计并集成了一种新型的基于Winograd算法的卷积神经网络硬件加速电路,兼顾软件灵活性的基础上降低了传统卷积算法的复杂度,有效提高了处理器执行CNN任务的计算性能以及能量效率。
本文基于VerilogHDL全正向设计了扩展Winograd卷积加速指令集的RISC-V处理器,并应用Vivado2019.1完成了处理器的功能仿真,基于XilinxArtix-7FPGA平台完成了处理器原型验证,采用华虹宏力0.13μmCMOS工艺完成了ASIC实现。最后在相同的工艺平台和约束条件下,将本文设计与开源RISC-V处理器“蜂鸟E203”在面积资源、程序运行性能等多个指标上进行比较:三维卷积程序的软硬件协同验证结果显示,本文设计的ASIC面积开销从264591.08306μm2增加到294006.9023μm2,为比较对象的111.12%;汇编程序量从1824条减少到120条,为比较对象的6.6%;程序运行时间从242.8μs减少到41.1μs,为比较对象的16.93%;能量消耗从37.634μW降低到6.5349μW,为比较对象的17.36%。数据表明,本文设计在增加一定面积开销的情况下,实现了一种兼具高算力和低能耗的处理器来满足物联网边缘侧设备执行CNN算法任务的需求。
本文聚焦物联网边缘侧设备执行CNN算法时实时性差、计算效率低等工程问题,设计并实现了一种片上扩展Winograd快速卷积算法电路架构的RISC-V处理器。面向物联网边缘侧低功耗、小面积的工程应用需求,设计了一款具有两级流水线,单发射乱序执行顺序写回结构,以及哈佛存储架构的RISC-V处理器;引入BTFN静态分支预测机制并结合旁路和阻塞策略,分别处理流水线控制冒险和数据冒险问题,以实现性能、面积和功耗的折中。同时,本文结合RISC-V的可扩展特性,以扩展指令集的方式设计并集成了一种新型的基于Winograd算法的卷积神经网络硬件加速电路,兼顾软件灵活性的基础上降低了传统卷积算法的复杂度,有效提高了处理器执行CNN任务的计算性能以及能量效率。
本文基于VerilogHDL全正向设计了扩展Winograd卷积加速指令集的RISC-V处理器,并应用Vivado2019.1完成了处理器的功能仿真,基于XilinxArtix-7FPGA平台完成了处理器原型验证,采用华虹宏力0.13μmCMOS工艺完成了ASIC实现。最后在相同的工艺平台和约束条件下,将本文设计与开源RISC-V处理器“蜂鸟E203”在面积资源、程序运行性能等多个指标上进行比较:三维卷积程序的软硬件协同验证结果显示,本文设计的ASIC面积开销从264591.08306μm2增加到294006.9023μm2,为比较对象的111.12%;汇编程序量从1824条减少到120条,为比较对象的6.6%;程序运行时间从242.8μs减少到41.1μs,为比较对象的16.93%;能量消耗从37.634μW降低到6.5349μW,为比较对象的17.36%。数据表明,本文设计在增加一定面积开销的情况下,实现了一种兼具高算力和低能耗的处理器来满足物联网边缘侧设备执行CNN算法任务的需求。