论文部分内容阅读
随着工艺的进步和应用的需求,多核片上系统的复杂度已经远远超过了其他种类的芯片。异构多核片上系统中包含多个针对应用的IP核,这些IP核的访存请求具有密集而混杂的特点。异构多核片上系统的存储子系统需要兼顾吞吐率、服务质量和功耗等多方面要求,成为芯片设计中的重点和难点,对其进行优化设计具有很大的意义。 本文针对于访存混杂导致的诸多问题,通过对异构多核片上系统中访存IP核及其访存行为的分析,提出了一系列访存优化方案并对其进行评测与分析。本文的主要贡献和创新点如下: 1.根据访存请求与CPU之间的相关性和耦合度,提出了一种直接内存和cache访问(DMCA)的访存通路设计方法。通过对不同类型IP核访存行为的研究,发现同一IP核的访存请求可以依据与CPU的数据相关性和耦合度进行分类,对不同类型的访存可以进行区分处理。该方法可集中直接内存访问(DMA)、直接cache访问(DCA)和一致性输入输出(CCIO)等方法的优势,并避免单独使用某种方案产生的问题。实验结果表明,该方法可以同时兼顾数据一致性和性能的需求,对各种应用场景都有良好的效果。 2.根据IP核数据一致性的硬件维护流程中cache命中率低的特点,提出了一种利用布隆过滤器来减少cache访问的方法。在新的维护流程中,IP核的访存请求首先查询布隆过滤器,再根据结果决定是否查询cache。采用该方法后,cache的访问率有明显下降,使cache的排队延迟下降。理论分析和实验结果都表明,该方法可以有效提升CPU和IP核的访存性能。 3.通过分析IP核的访存局部性和延迟容忍性,提出了一种主动式的访存调度方法。通过为每个访存的IP核提供一个窗口,每个IP核能在其窗口内独自使用访存总线以避免多个IP核同时访存的互相干扰和冲突。我们使用了集中式管理的策略来保障服务质量并设计了一个自适应的机制以精细地提高吞吐率。该方法还可以有效利用访存空闲时间,对访存IP核和其访存通路进行低功耗优化。实验结果表明,访存调度方法可以保障服务质量,在最大工作负载时提高36.5%的访存总线吞吐率并降低29%的CPU访存延迟。