White Rose University Consortium logo
University of Leeds logo University of Sheffield logo York University logo

Developing Embedded Software Using Compile-Time Virtualisation

Gray, I (2010) Developing Embedded Software Using Compile-Time Virtualisation. PhD thesis, University of York.

Available under License Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 UK: England & Wales.

Download (4Mb)


The architectures of embedded systems are becoming increasingly non-standard and app\-lic\-a\-tion-specific. They frequently contain multiple heterogenous processing cores, non-uniform memory, complex interconnect or custom hardware elements such as DSP and SIMD cores. However, programming languages have traditionally assumed a single processor architecture with a uniform logical address space and abstract away from hardware and implementation details. As a result, the programmer is prevented from making efficient use of unique hardware features by the abstraction models of the programming language and must use abstraction-breaking techniques such as libraries, OS calls, or inline low-level coding. This thesis describes Compile-Time Virtualisation (CTV), a virtualisation-based technique for assisting the mapping of general-purpose software onto complex hardware. CTV introduces the Virtual Platform, an idealised view of the underlying hardware that presents a simplified programming model. The Virtual Platform ensures that general-purpose code will execute correctly regardless of the complexity of the actual platform. In order to effectively exploit application-specific architectures, CTV allows the programmer to influence the mappings implemented by the Virtual Platform, for example to target specific processors or hardware elements. CTV differs from existing run-time virtualisation systems in that its virtualisation layer only exists at compile-time, resulting in a system which displays minimal run-time overheads. An implementation of CTV called Anvil is developed which is evaluated alongside the general CTV approach. Experiments and simulations demonstrate that CTV-based systems can be used to efficiently target a wide range of complex systems.

Item Type: Thesis (PhD)
Academic Units: The University of York > Computer Science (York)
Identification Number/EthosID: uk.bl.ethos.533490
Depositing User: Dr I Gray
Date Deposited: 16 Feb 2011 12:51
Last Modified: 08 Sep 2016 12:19
URI: http://etheses.whiterose.ac.uk/id/eprint/1223

You do not need to contact us to get a copy of this thesis. Please use the 'Download' link(s) above to get a copy.
You can contact us about this thesis. If you need to make a general enquiry, please see the Contact us page.

Actions (repository staff only: login required)