On embedded processors that are increasingly equipped with multiple CPU cores, static hardware partitioning is an established means of consolidating and isolating workloads onto single chips. This architectural pattern is suitable for mixed-criticality workloads that need to satisfy both, real-time and safety requirements, given suitable hardware properties. In this work, we focus on exploiting contemporary virtualisation mechanisms to achieve freedom from interference respectively isolation between workloads. Possibilities to achieve temporal and spatial isolation-while maintaining real-time capabilities-include statically partitioning resources, avoiding the sharing of devices, and ascertaining zero interventions of superordinate control structures. This eliminates overhead due to hardware partitioning, but implies certain hardware capabilities that are not yet fully implemented in contemporary standard systems. To address such hardware limitations, the customisable and configurable RISC-V instruction set architecture offers the possibility of swift, unrestricted modifications. We present findings on the current RISC-V specification and its implementations that necessitate interventions of superordinate control structures. We identify numerous issues adverse to implementing our goal of achieving zero interventions respectively zero overhead: On the design level, and especially with regards to handling interrupts. Based on micro-benchmark measurements, we discuss the implications of our findings, and argue how they can provide a basis for future extensions and improvements of the RISC-V architecture.
翻译:在日益配备多CPU核心的嵌入式处理器上,静态硬件分割是将工作量合并和隔离于单一芯片的固定手段。这种建筑型态适用于需要同时满足实时和安全要求的混合临界工作量,考虑到适当的硬件特性。在这项工作中,我们侧重于利用当代虚拟化机制,分别实现工作量之间互不干扰的自由。我们提出了实现时间和空间隔离的可能性,同时保持实时隔离能力,包括静态分割资源,避免合用装置,以及确定超过坐标控制结构的零干预。这消除了硬件分割造成的间接费用,但意味着某些硬件能力尚未在当代标准系统中完全实施。为了解决这类硬件限制,可定制和可变的RIRC-V指令设置架构提供了迅速、不受限制的修改的可能性。我们提出了关于目前RISC-V规格及其实施的结论,这些结论要求采取超过宽控制结构的干预措施。我们发现了许多不利于实现我们实现零干预目标的问题,分别为:设计级别,特别是处理中断结果,我们如何改进了RISC结构。