Edinburgh Research Archive

Asynchronous Queue Machines with Explicit Forwarding

dc.contributor.advisor
Stirling, Colin
en
dc.contributor.author
Beringer, Lennart
en
dc.contributor.sponsor
German Academic Exchange Service (DAAD)
en
dc.date.accessioned
2004-03-02T14:34:31Z
dc.date.available
2004-03-02T14:34:31Z
dc.date.issued
2002-07
dc.description
http://www.youtube.com/watch?v=SJaMtBKnN-I
en
dc.description.abstract
We consider computational models motivated by processors which exhibit architectural asynchrony and allow operands to bypass the register bank using a forwarding mechanism. We analyse the interaction between asynchrony and forwarding, derive constraints on the usage of forwarding for various models of operation, and study consequences for compilers targeting such processors. Our approach to reasoning about processor behaviour is programming language based. We introduce an assembly language in which forwarding is explicitly visible. Operational models corresponding to processor abstractions are expressed as structural operational semantics for this language. The benefits of this approach for defining program execution and for relating processor models formally are demonstrated. Furthermore, we study the restrictions on the class of admissible programs for each operational model. Under our programming language perspective, these constraints are expressed as static semantics and formalised as type systems. Suitability of forwarding schemes for particular models of operation follows from soundness and completeness results which are established by standard programming language proof techniques. Well-typed programs are structurally correct and cannot experience run-time errors due to ill usage of the forwarding mechanism. Exposing asynchrony and forwarding to the programmer allows a compiler to optimise forwarding behaviour by scheduling operands. We show how program analysis can decide which values to communicate through registers and which ones to forward. The analysis is expressed as a dataflow problem for an intermediate language and is proven sound with respect to a dynamic semantics. Solutions to the dataflow equations yield translations into the assembly language which are functionally faithful to the operational semantics and also structure-preserving as resulting programs are well-typed. The theoretical development of the translation is complemented by a prototypical implementation. Experimental results are included for a symbolic conversion of Java virtual machine code into the intermediate language, indicating that application programs contain sufficient opportunities for forwarding to make our approach viable. In conclusion, we demonstrate the benefits of a programming language based view for reasoning about programs targeting architectures with asynchrony and forwarding.
en
dc.format.extent
1673659 bytes
en
dc.format.extent
2915679 bytes
en
dc.format.mimetype
application/pdf
en
dc.format.mimetype
application/postscript
en
dc.identifier.uri
http://hdl.handle.net/1842/370
dc.language.iso
en
dc.publisher
University of Edinburgh. College of Science and Engineering. School of Informatics.
en
dc.title
Asynchronous Queue Machines with Explicit Forwarding
en
dc.type
Thesis or Dissertation
en
dc.type.qualificationlevel
Doctoral
en
dc.type.qualificationname
PhD Doctor of Philosophy
en

Files

Original bundle

Now showing 1 - 2 of 2
Name:
ECS-LFCS-02-429.pdf
Size:
1.6 MB
Format:
Adobe Portable Document Format
Description:
Adobe PDF
Name:
ECS-LFCS-02-429.ps
Size:
2.78 MB
Format:
Postscript Files
Description:
Postscript

This item appears in the following Collection(s)