目录
Leveraging Access Port Positions to Accelerate Page Table Walk in DWM-based Main Memory
利用存取端口位置加速基于DWM的主存中的页表遍历
摘要
元数据:用于描述和管理数据的数据(控制信息)
提出了一种方法解决元数据访问的问题(页表访问)
introduction
非易失性存储器(NVM)
DWM的访问延迟和能耗都与移位操作的数量成正比
研究减少位移量的论文
[4] Q. Hu, G. Sun, J. Shu, and C. Zhang, “Exploring Main Memory Design Based on Racetrack Memory Technology,” in ACM Great Lakes Symposium on VLSI (GLVLSI), 2016, pp. 397–402.
[5] R. Venkatesan, V. Kozhikkottu, C. Augustine, A. Raychowdhury, K. Roy, and A. Raghunathan, “TapeCache: A High Density, Energy Efficient Cache Based on Domain Wall Memory,” in Proc. Intl. Symp. Low Power Electron. & Design (ISLPED), 2012, pp. 185–190.
[6] S. Motaman, A. Iyengar, and S. Ghosh, “Synergistic Circuit and System Design for Energy-efficient and Robust Domain Wall Caches,” in Proc. Intl. Symp. Low Power Electron. & Design (ISLPED), 2014, pp. 195–200.
[7] M. Mao, W. Wen, Y. Zhang, Y. Chen, and H. Li, “Exploration of GPGPU Register File Architecture Using Domain-wall-shift-write based Racetrack Memory,” in Design Autom. Conf. (DAC), 2014, pp. 1–6.
主要工作
首先,从关键路径中消除了对准偏移;
其次,在不阅读PTE的情况下,其状态是先验已知的,因为在阅读数据之前,可以使用接入端口的位置来解释PTE的状态。
本文还提出了一种新的方法来放置页表页(称为PTpages)在基于DWM的主存。为了最小化共享相同磁道的PTE之间的潜在冲突,仅将具有非重叠访问时间的PTE放置在相同磁道上。
文章结构
第二节简要介绍了DWM、TLB和页表的背景。
第三节介绍了DWM主存中的页表组织以及预对齐和页替换算法。
第四节介绍了我们的实验研究结果。
第五节总结了论文。
准备工作
DWM简介
畴壁存储器(DWM),也称为赛道存储器,是一种非易失性存储器[2],由硅衬底上的数亿个铁磁纳米线制成。每个纳米线可以以磁化区域或畴的形式存储许多比特,这些磁化区域或畴通过超窄的畴壁彼此分离。
如图1所示,为了从磁道读取数据/向磁道写入数据,被称为访问(R/W)端口的强磁化铁磁层被放置在磁道上的某些固定位置处,并且被绝缘体层隔开。这样的结构形成了磁性隧道结(MTJ),通过它可以读取/写入存储的信息[10]。
由于多个位共享一个访问端口,因此可以在轨道的任一端施加电流脉冲,以向前或向后移动磁畴,从而将某个位与适当的访问端口对准。这种访问机制意味着DWM的访问延迟和能量是不均匀的,并且与移位的数量成比例。虽然一些工作建议使用自旋轨道扭矩方法[11]而不是电流诱导的畴壁运动来减少移位延迟,但仍然需要架构方法来减轻移位操作的不利影响。
先前的研究(减少移位延迟)
在[7]中,DWM用作GPGPU的寄存器文件。通过寄存器重映射和循环调度算法,分析了移位对执行延迟的影响。重新安排逻辑到物理寄存器映射以减少移位距离。
在[5]和[15]中,DWM被用作缓存。前者为每个磁道添加了一些低成本的只读端口,以减少性能关键的读取延迟,而后者利用压缩技术来减少要遍历的位数。
[16]中的暂存存储器(SMP)将DWM单元与STT-RAM单元组合以优化面积和性能。倾向于导致DWM中更多移位的数据存储在STT-RAM中。提出了一种调度算法,用于调度DWM中相邻访问同一数据的指令。
在[4]中,DWM被用作主存储器,并且通过在存储器子阵列中转置行和列来减少数据访问延迟。它不是将一个字节的所有8位放在同一个跑道上,而是将这些位分布在8个跑道上对齐的位置,允许并行读取或写入一个字节的所有位。
此前的研究没有考虑到元数据和普通数据的区别
本文方案
访问页表需要大量的对齐位移,影响延迟和功耗
预先对齐到要访问的位置
跨步存储,因为一条nanowire上的读写端口不是连续的,所以具有空间连续性的数据反而不要在nanowire上连续存储。根据读写端口的位置间隔跨步存储数据能够减少移动量