Please note: This master’s thesis presentation will be given online.
Fatemeh
Hassani, Master’s
candidate
David
R.
Cheriton
School
of
Computer
Science
Supervisor: Professor Ali Mashtizadeh
The privileged architecture of modern systems is usually expanded using hardware-related approaches like instruction set extensions. These extensions are strongly tied to a particular microarchitecture and operating system developers are not able to customize the privileged mechanisms. As a result, they have to work around fixed abstractions provided by the processor to implement desired functionalities. Programmable approaches such as PALcode also remain heavily tied to the hardware and modifying the privileged architecture has to be done by the processor manufacturer. To accelerate operating system development and enable rapid prototyping of new operating system designs and security models, we need to rethink the privileged architecture design.
We present a new abstraction called Metal which is decoupled from the microarchitecture. It provides system developers with a general-purpose and easy-to-use interface to build a variety of applications that range from performance measurements to novel privilege models. We implement a simplified version of the Alpha architecture which we call Microalpha and build a prototype of Metal on this architecture. Micoalpha is a five-stage pipelined processor with a multi-level cache hierarchy. We then implement a few applications such as system calls and transactional memory on this architecture to show the practicality of Metal.