The Bicameral Cache is a cache organization proposal for a vector architecture that segregates data according to their access type, distinguishing scalar from vector references. Its aim is to avoid both types of references from interfering in each other's data locality, with a special focus on prioritizing the performance on vector references. The proposed system incorporates an additional, non-polluting prefetching mechanism to help populate the long vector cache lines in advance to increase the hit rate by further exploiting the spatial locality on vector data. Its evaluation was conducted on the Cavatools simulator, comparing the performance to a standard conventional cache, over different typical vector benchmarks for several vector lengths. The results proved the proposed cache speeds up performance on stride-1 vector benchmarks, while hardly impacting non-stride-1's. In addition, the prefetching feature consistently provided an additional value.
翻译:双院缓存是一种面向向量架构的缓存组织方案,其根据数据访问类型进行隔离,区分标量访问与向量访问。该方案旨在避免两类访问相互干扰对方的数据局部性,尤其侧重于优先保障向量访问的性能。所提出的系统引入了一种额外的无污染预取机制,通过进一步利用向量数据的空间局部性,预先填充较长的向量缓存行以提高命中率。评估工作基于Cavatools模拟器开展,在多种典型向量基准测试及不同向量长度下,将本方案与标准传统缓存进行了性能对比。结果表明,所提出的缓存设计在步长为1的向量基准测试中能显著提升性能,而对非步长为1的测试影响甚微。此外,预取机制持续提供了额外的性能增益。