🤖 AI Summary
This work addresses the inability of existing heterogeneous parallel error detection architectures to protect privileged-mode execution, which often leads to performance degradation or deadlocks. To overcome these limitations, we propose PEEK, the first parallel error detection architecture supporting privileged modes. By restructuring the verification pipeline and introducing a novel heterogeneous synchronization mechanism, PEEK effectively eliminates high overhead and potential deadlock issues. The architecture is validated through RTL-level full-system simulation, Linux-based testing, and 28nm tape-out verification. Experimental results demonstrate that PEEK achieves comprehensive privilege protection within Linux environments with negligible performance loss and manageable hardware overhead. Consequently, this work provides an efficient and reliable error detection solution for privileged execution in safety-critical processors.
📝 Abstract
Heterogeneous parallel error detection architecture has been widely studied for safeguarding OoO superscalar processors in safetycritical systems, as it achieves significantly lower hardware overhead compared to traditional LockStep, by exploiting the parallelism that exists in a secondary execution. However, previous works do not cover the protection of privileged-mode execution, impeding their effectiveness in real-world deployment. Moreover, naive extension to privileged-mode can cause a litany of issues, from abysmal performance due to high synchronization costs, to full deadlocks. Here, we present PEEK, the first privileged parallel error detection architecture. Based on a deep analysis of privileged execution, we redesign the verification pipeline, addressing all the bottlenecks and bugs identified in privileged-mode protection. Evaluated using various metrics on an RTL-level full system running Linux, PEEK achieves full-privilege protection on Linux with negligible performance slowdown and affordable hardware overhead. PEEK has been taped out using a 28nm process, and its source is available at https://anonymous.4open.science/r/PEEK-3000.