In modern real-time embedded systems, time predictability is vital. This extends to I/O operations which require predictability, timing-accuracy, enhanced performance, scalability, parallel access and isolation. Currently, existing approaches cannot achieve all these requirements at the same time. In this thesis, we propose a framework of hardware-implemented real-time I/O virtualization system to meet all these requirements simultaneously, termed BlueIO.

BlueIO integrates the important functionalities of I/O virtualization and low layer I/O drivers (achieved via Virtualized Complicated Device Controller (VCDC)), as well as a clock cycle level timing-accurate I/O controller (i.e. GPIO Command Processor (GPIOCP)). BlueIO provides this functionality in the hardware layer, supporting abstract virtualized access to I/O devices from the software domain. The hardware implementation includes I/O virtualization and I/O drivers provide isolation and parallel (concurrent) access to I/O operations and improves I/O performance. Furthermore, the approach includes GPIOCP to guarantee that I/O operations will occur at a specific clock cycle (i.e. be timing-accurate and predictable).

This thesis proposes the design and implementation of BlueIO, together with its components – GPIOCP and VCDC. It is demonstrated how a BlueIO-based system can be exploited to meet real-time requirements with significant improvements in I/O performance and low running cost on different OSs. The thesis presents a hardware consumption analysis of BlueIO, in order to show that it linearly scales with the number of CPUs and I/O devices, evidenced by the implementation which targets both FPGA and VLSI.

Finally, the thesis proposes a scalable real-time hardware hypervisor termed BlueVisor, which is built upon GPIOCP, VCDC and BlueIO. BlueVisor enables predictable virtualization on CPU, memory, and I/O; together with fast interrupt handling and inter-virtual machine communication. BlueVisor shows that the approaches towards I/O proposed in this thesis can be applied and expanded to different architectures and platforms, whilst maintaining real-time properties, performance and protection.

Download Not Available

BibTex Entry

 author = {Zhe Jiang},
 day = {1},
 month = {August},
 publisher = {University of York},
 school = {University of York},
 title = {Real-Time I/O System for Many-core Embedded Systems},
 url = {},
 year = {2018}