Abstract:
Modern microprocessors require an immense investment of time and effort to create and verify, from the high level architectural design downwards. We are exploring ways to...Show MoreMetadata
Abstract:
Modern microprocessors require an immense investment of time and effort to create and verify, from the high level architectural design downwards. We are exploring ways to increase the productivity of design engineers by creating a domain specific language for specifying and simulating processor architectures. We believe that the structuring principles used in modern functional programming languages, such as static typing, parametric polymorphism, first class functions, and lazy evaluation provide a good formalism for such a domain specific language, and have made initial progress by creating a library on top of the functional language Haskell. We have specified the integer subset of an out of order, superscalar DLX microprocessor, with register renaming, a reorder buffer, a global reservation station, multiple execution units, and speculative branch execution. Two key abstractions of this library are the signal abstract data type (ADT), which models the simulation history of a wire, and the transaction ADT, which models the state of an entire instruction as it travels through the microprocessor.
Published in: Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225)
Date of Conference: 16-16 May 1998
Date Added to IEEE Xplore: 06 August 2002
Print ISBN:0-8186-8454-2
Print ISSN: 1074-8970