Conceptos Básicos
提出一種新的快取組織,稱為雙室快取(Bicameral Cache),針對向量架構的特性進行優化設計。該設計將標量和向量存取分離到不同的快取分區,以避免它們之間的干擾,並利用向量存取的特性進行預取以提升效能。
Resumen
本文提出了一種新的快取組織,稱為雙室快取(Bicameral Cache),專門針對向量架構的特性進行優化設計。
雙室快取由兩個不同組織的快取分區組成:
- 標量快取(Scalar Cache):用於處理標量記憶體指令的存取。採用傳統的組織,如4路組關聯性。
- 向量快取(Vector Cache):用於處理向量記憶體指令的存取。採用完全關聯的組織,並使用較長的快取行。
這種分離設計的目的是避免標量和向量存取之間的干擾,並能更好地利用向量存取的空間局部性。
此外,雙室快取還包含一個記憶體側的預取機制,能夠在向量快取線中預先填充後續的資料扇區,進一步提升效能。
在評估中,使用了多種典型的向量基準測試程式,包括stride-1和non-stride-1的存取模式。結果顯示,對於stride-1的基準測試,雙室快取搭配預取機制可以達到平均1.57倍的加速比。即使在non-stride-1的情況下,也能達到平均11%的效能提升。
總的來說,雙室快取的設計能夠有效地利用向量處理的特性,在不增加快取容量的情況下,透過快取組織的重新設計和預取機制的加入,顯著提升了向量程式的效能。
Estadísticas
向量長度為1024位元時,在stride-1基準測試中,雙室快取的平均記憶體存取時間從8.47個週期降至4.52個週期。
在non-stride-1基準測試中,雙室快取的平均記憶體存取時間從8.94個週期降至8.47個週期。
Citas
"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."