为突破这一瓶颈,巴西Juiz de Fora联邦大学的研究团队在《IEEE Access》上发表了题为“SAPHO-Scalable-Architecture Processor for Hardware Optimization: An FPGA Customizable Implementation Approach”的研究论文。该研究创新性地提出了一种名为SAPHO(Scalable-Architecture Processor for Hardware Optimization)的自扩展软核处理器。SAPHO的核心突破在于其“硬件随软件自适应”的设计理念:在编译阶段,处理器能根据具体程序的需求,动态调整程序存储器(PM)与数据存储器(DM)的大小,并仅实例化程序实际所需的算术逻辑电路。这种高度定制化的方式显著减少了硬件资源浪费,同时通过组合型ALU(Combinational ALU)设计,确保每个时钟周期完成一条指令的执行,且无需处理流水线停顿(Pipeline Stalls)问题。
为开展本研究,团队构建了完整的软硬件协同设计框架。关键技术方法包括:(1)开发参数化Verilog HDL硬件描述语言实现的处理器核心,支持基于哈佛架构(Harvard Architecture)的三级流水线(取指F、译码D、执行E);(2)设计专用集成开发环境(IDE),集成C语言编译器与汇编器,实现从高级语言代码到定制化RTL(Register Transfer Level)代码的自动生成;(3)提出一种简化浮点数表示格式(非IEEE 754标准),采用直接二进制补码表示指数,支持可配置的尾数(Mantissa)与指数(Exponent)位数(如12位尾数+6位指数),以优化FPGA资源占用;(4)使用Intel Cyclone IV E系列FPGA(Terasic DE2-115开发板)进行硬件合成与性能测试,并与NIOS II处理器的三种配置(/e、/s、/f)进行资源使用、时钟周期数、执行时间及功耗对比。
SAPHO提出的自定义浮点格式(见公式2:(-1)S×M×2E)在保证精度的同时大幅减少硬件开销。如表4所示,该格式在常规数值运算中与IEEE 754结果一致,但在极端值处理上省略了Inf/NaN等异常处理电路,使乘法器资源减少至7个(IEEE 754需16个)。功耗方面,SAPHO的动态核心功耗为0.44mW,较NIOS II variants(0.51–0.66mW)降低15%–33%,总功耗为94.36mW(见表9)。