From high level architecture descriptions to fast instruction set simulators
dc.contributor.advisor
Franke, Bjoern
en
dc.contributor.advisor
Topham, Nigel
en
dc.contributor.author
Wagstaff, Harry
en
dc.contributor.sponsor
Engineering and Physical Sciences Research Council (EPSRC)
en
dc.date.accessioned
2016-01-20T16:04:49Z
dc.date.available
2016-01-20T16:04:49Z
dc.date.issued
2015-11-26
dc.description.abstract
As computer systems become increasingly complex and diverse, so too do the architectures
they implement. This leads to an increase in complexity in the tools used to design
new hardware and software. One particularly important tool in hardware and software
design is the Instruction Set Simulator, which is used to prototype new architectures and
hardware features, verify hardware, and test and debug software. Many Architecture
Description Languages exist which facilitate the description of new architectural or
hardware features, and generate a tools such as simulators. However, these typically
suffer from poor performance, are difficult to test effectively, and may be limited in
functionality.
This thesis considers three objectives when developing Instruction Set Simulators:
performance, correctness, and completeness, and presents techniques which contribute
to each of these. Performance is obtained by combining Dynamic Binary Translation
techniques with a novel analysis of high level architecture descriptions. This makes use
of partial evaluation techniques in order to both improve the translation system, and to
improve the quality of the translated code, leading a performance improvement of over
2.5x compared to a naïve implementation.
This thesis also presents techniques which contribute to the correctness objective.
Each possible behaviour of each described instruction is used to guide the generation
of a test case. Constraint satisfaction techniques are used to determine the necessary
instruction encoding and context for each behaviour to be produced. It is shown that
this is a significant improvement over benchmark-driven testing, and this technique
has led to the discovery of several bugs and inconsistencies in multiple state of the art
instruction set simulators.
Finally, several challenges in ‘Full System’ simulation are addressed, contributing
to both the performance and completeness objectives. Full System simulation generally
carries significant performance costs compared with other simulation strategies. Crucially,
instructions which access memory require virtual to physical address translation
and can now cause exceptions. Both of these processes must be correctly and efficiently
handled by the simulator. This thesis presents novel techniques to address this issue
which provide up to a 1.65x speedup over a state of the art solution.
en
dc.identifier.uri
http://hdl.handle.net/1842/14162
dc.language.iso
en
dc.publisher
The University of Edinburgh
en
dc.relation.hasversion
H. Wagstaff, M. Gould, B. Franke, and N. Topham, "Early Partial Evaluation in a JIT-Compiled, Retargetable Instruction Set Simulator Generated From a High-Level Architecture Description", in Proceedings of the 50th Annual Design Automation Conference (DAC’50), 2013
en
dc.relation.hasversion
T. Spink, H.Wagstaff, B. Franke, and N. Topham, "Efficient Code Generation in a Region-Based Dynamic Binary Translator", in Proceedings of the 2014 ACM SIGPLAN/SIGBED conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’14), 2014
en
dc.relation.hasversion
H.Wagstaff, T. Spink, and B. Franke, "Automated ISA Branch Coverage Analysis and Test Case Generation for Retargetable Instruction Set Simulators", in Proceedings of the 2014 International Conference on Compilers, Architectures and Synthesis of Embedded Systems (CASES’14), 2014
en
dc.relation.hasversion
T. Spink, H. Wagstaff, B. Franke, and N. Topham, "Efficient Asynchronous Interrupt Handling in a Full-System Instruction Set Simulator", under review for the 2015 ACM SIGPLAN/SIGBED conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’15), 2015
en
dc.relation.hasversion
T. Spink, H. Wagstaff, B. Franke, and N. Topham, "Efficient Dual-ISA Support in a Retargetable, Asynchronous Dynamic Binary Translator", under review for the International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS’15), 2015
en
dc.subject
computer architecture
en
dc.subject
Instruction Set Simulator
en
dc.subject
Dynamic Binary Translation
en
dc.subject
high level architecture descriptions
en
dc.subject
correctness objective
en
dc.title
From high level architecture descriptions to fast instruction set simulators
en
dc.type
Thesis or Dissertation
en
dc.type.qualificationlevel
Doctoral
en
dc.type.qualificationname
PhD Doctor of Philosophy
en
Files
Original bundle
1 - 1 of 1
- Name:
- Wagstaff2015.pdf
- Size:
- 1.36 MB
- Format:
- Adobe Portable Document Format
This item appears in the following Collection(s)

