论文部分内容阅读
随着智能家居、可穿戴设备和物联网等概念的兴起,微控制器芯片(MCU)的应用市场越来越广阔。与此同时片上Flash逐渐取代早期的ROM,成为MCU芯片中最重要的指令存储器。但是相对于处理器来说,片上Flas h属于慢速的存储设备,制约着MCU芯片的整体性能。因此,研究如何提高片上Flash的读取速度有着重要意义。本文设计了一款高效的片上Flash加速控制器,通过软硬件技术来提高Flash的读取速度。文中首先介绍了实现Flash基本功能的控制器硬件设计。在设计中充分考虑低功耗和可测试性的设计思想,并通过优化接口信号,实现低频模式下Flash的单周期连续访问。其次,文中提出基于预取和缓存原理的加速模块设计,整合并优化出预取缓存与高速缓存两种加速方案来提升Flash读取速度。其中预取缓存方案采用位宽扩展和预取技术加速顺序指令的读取,并采用分支缓存技术,降低由非顺序指令造成的预取缺失代价。而高速缓存方案采用路预测和缓存锁定技术,减少不必要的缓存访问和替换,在提高读取速度的同时,降低系统功耗。再次,为了进一步提升Flash读取速度,本文从软件方面也提出相应的优化方法。针对缓存锁定技术,本文提出一套公式和流程来确定锁定区域。针对两种加速方案的选择,本文提出一套切换机制,使得两者在程序中既可以静态配置,也可以动态自适应切换。最后,本文通过一款SoC芯片的设计实例,进一步验证了文中提出的片上Flash力口速控制器的可行性和实用性。