论文部分内容阅读
多内核的处理器已经是当今时代趋势的必然产物,多内核微处理器的研究开发已经成为世界范围内的热点之一。本文简要介绍了多核处理器的几种主要体系结构和指令集结构。详细论述了Leon3处理器的结构和以其为核心的对称多处理器结构和SPARC指令集。在此基础上引出了数据一致性问题,数据高速缓存的一致性(cache coherence)是解决多内核之间通信的一个重要课题。同时,为了支持多任务和多用户的Linux-smp操作系统,就必须使用虚拟存储技术,虚拟存储器也就成为本文研究的重要内容之一。本文以Leon3微处理器为内核,深入研究了该内核的结构和指令系统,就虚拟存储器的使用和数据高速缓存的一致性问题进行了详细分析与研究,研究现有的解决数据高速缓存一致性的两种协议,分析了两种具体实现方案的优缺点。在此基础上提出了在数据块对应的高速缓存中存储两个标识(tag)的方法来解决以Leon3为内核的对称多处理器中的数据Cache一致性问题,其中一个是虚拟tag,用于高速缓存正常的读、写操作;另一个是物理tag,用于对总线的监听,保证数据的一致性。论文最后讲述了设计验证的流程和使用的工具,给出了设计的验证和性能测试结果。经过仿真和把设计下载到FPGA开发板上并运行Linux-smp操作系统,结果证明本设计能够解决数据cache的一致性问题。使用标准小型测试程序dhrystone2.1进行性能测试,结果表明,相对单处理器,双核处理器有近80%的提高,四核处理器有近160%的提高。在没有优化的条件下,使用DC综合出的频率可达300MHz。该方法实现的Cache读写速度快,硬件代价小,结构相对简单,具有很好的实用价值。