Implementing virtual memory in a vector processor with software restart markers

Implementing virtual memory in a vector processor with software restart markers
复制标题

使用软件重启标记在矢量处理器中实现虚拟内存

DOI:
--
复制
发表时间:
2006
期刊:
International Conference on Supercomputing
影响因子:
--
通讯作者:
K. Asanović
K. Asanović
中科院分区:
--
文献类型:
--
作者:
M. Hampton;K. Asanović

文献摘要

被引文献

相似文献

传统的向量架构通常缺乏虚拟内存支持,因为很难支持这些机器的快速和精确的异常。在本文中,我们提出了一个新的异常处理模型的向量架构的基础上,软件重启标记,划分成幂等区域的代码的程序。在区域内,处理器可以以任何顺序将指令结果提交到架构状态。如果发生异常,机器会立即跳转到异常处理程序并终止正在执行的指令。要重新开始执行,操作系统只需在区域的开始处开始执行。这种方法避免了缓冲未提交向量单元状态的面积和能量开销,否则高性能精确异常机制将需要缓冲未提交向量单元状态,但仍然为操作系统提供了简单的异常处理接口。我们的计划还删除了保留向量寄存器文件的内容在上下文切换的情况下的要求。我们表明,使用我们的方法会导致平均性能降低不到3%,在各种基准相比,不支持虚拟内存的向量机。
Traditional vector architectures often lack virtual memory support because it is difficult to support fast and precise exceptions for these machines. In this paper, we propose a new exception handling model for vector architectures based on software restart markers, which divide the program into idempotent regions of code. Within a region, the processor can commit instruction results to the architectural state in any order. If an exception occurs, the machine jumps immediately to the exception handler and kills ongoing instructions. To restart execution, the operating system has just to begin execution at the start of the region. This approach avoids the area and energy overhead to buffer uncommitted vector unit state that would otherwise be required with a high-performance precise exception mechanism, but still provides a simple exception handling interface for the operating system. Our scheme also removes the requirement of preserving vector register file contents in the event of a context switch. We show that using our approach causes an average performance reduction of less than 3% across a variety of benchmarks compared with a vector machine that does not support virtual memory.