论文部分内容阅读
随着市场对SoC产品上市时间和性能要求的不断提高,传统的ASIC设计方法已经不能适应市场的需求。同时,在成本和功耗条件约束下的性能提升正成为新的设计挑战。因此,采用基于SoC高层模型的设计方法成为软硬件协同设计的一个重要手段。而在系统性能优化设计中,存储子系统则是SoC性能、功耗和成本的主要瓶颈之一。本文正是在这样的背景下采用混合建模方法构建了SoC高层模型和存储子系统性能评估平台,并针对两款32位嵌入式微处理器的存储子系统进行了优化设计。
本文的工作包括:1)针对基于ARM为内核的SEP3203嵌入式微处理器构建了SoC高层模型。为能够使模型准确快速的执行指令和模拟处理器的内核行为,本文采用了ARM的指令集模拟器(ISS)ARMulator来建立内核模型。为保证模型的硬件真实性,本文采用了SystemC来实现总线和存储子系统(包括外部存储控制器、SDRAM、SPM和CACHE)。2)本文在SoC高层模型上建立了存储子系统的性能评估平台,并选取了指令、数据和堆栈作为评估对象。通过对评估对象的分析,优化和改进了没有CACHE的SEP3203嵌入式微处理器中的SDRAM控制器。仿真结果表明改进后的控制器在很大程度上减少了SDRAM的访问延迟。随后针对SEP3203嵌入式微处理器中的SPM进行性能研究,提出了片上指令、片上数据和片上堆栈三种SPM存储器,分别用来对程序中的指令、数据和堆栈进行具有面积约束的性能优化。仿真结果证明,这种SPM的设计在面积很小时就可以取得很高的性能提升。3)为能够更进一步的提高SoC存储子系统的性能,本文引入了CACHE,建立了CACHE性能评估工具并对CACHE的设计参数进行探索。为降低CACHE的不命中率,本文采用了SPM与CACHE共存的存储子系统设计方法。在考虑到指令访问和堆栈/数据访问频繁冲突和芯片面积约束的情况下,确定了SPM主要用于堆栈和数据存放的优化策略。SPM与CACHE共存的设计方案指导了SEP3221嵌入式微处理器的存储子系统设计。
本文所建立的SoC高层模型其精度为实际芯片的98%以上,且仿真速度比实际电路的RTL仿真快1000倍左右。在基于SoC高层模型的存储子系统优化设计中,本文所设计的SDRAM控制器比原来的控制器在访问延迟上降低了60%。优化后的SPM使用了9Kbytes的片上指令存储器覆盖了60%的指令访问;1Kbytes的片上数据存储器覆盖了96%的数据访问;0.5Kbytes的片上堆栈存储器覆盖了91%的堆栈访问。本文最后采用的SPM-CACHE存储方案指导了SEP3221嵌入式微处理器的存储设计,其性能测试结果表明,在堆栈和数据都存放在SPM时与只使用CACHE相比,不命中率下降了62%,芯片整体执行性能提高了18.3%。