论文部分内容阅读
随着IC设计和工艺的飞速发展,设计和生产大规模的片上系统芯片成为热门。片上系统芯片的核心技术是处理器技术,设计者为了最大限度的保证处理器的开发后期各种功能以及性能指标与前期目标相吻合,开发一款有较快的运行速度、较高的模拟精度、修改灵活的模拟器,实现辅助处理器的体系结构验证和减少处理器的开发周期是一个必不可少的重要工具。本文采用Eclipse集成开发环境使用C/C++语言实现基于低功耗MIPS处理器的模拟器开发。本文模拟器主要工作和研究内容如下:(1)模拟器内核的实现。模拟器完成MIPS处理器的所有指令的功能模拟,主要包括算数及逻辑运算、Load/Store、分支跳转等指令类型。通过定义特殊的数据结构模拟寄存器和存储器。模拟器使用了五级流水线技术将单条指令拆分成取指、译码、派遣、执行、写回五个阶段,对模拟过程采取反向执行流水线的各个阶段,实现模拟指令与处理器的指令并行执行过程保持一致,提高指令执行效率。(2)模拟器的流水线优化。首先,为了避免流水线的取指阶段读取指令在下一阶段重复译码,流水线加入缓存队列将经过译码阶段的指令信息进行缓存,通过ISODATA(迭代自组织数据分析)算法实现对缓存队列中模式指令分类,加快取指阶段判断当前指令是否在缓存队列中识别速度,如果存在,取指阶段的指令跳过译码阶段,否则指令进行译码,然后执行流水线其他阶段,加快流水线的速度。其次,译码阶段为了减少32位指令不必要的比特位解码操作,使用改进后FSM(有限状态机)算法实现指令译码,提出将跳出态加入状态机的状态集合实现该算法优化,当该算法按位解码指令时,如果解析得到跳出态,表明指令和模拟函数不匹配,退出该算法状态转移过程,状态机继续迭代循环下一个指令功能模拟函数,如果解析得到接受态,表明译码成功,在流水线执行阶段执行当前指令功能模拟函数。通过对流水线优化,模拟器实现流水线速度提升。(3)模拟器测试。经过综合优化模拟器运行主流数字信号处理运算相关算法测试性能,测试证实其功能正确,分析优化后比优化前的模拟器速度性能大约提高15%,精度误差小于10%,对处理器性能的评估和功能验证具有很好的参考性。