Language Definition DSDL for Hawk

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 22, 1998
Accession Number
ADA343302

Entities

People

  • Byron Cook
  • John Launchbury
  • John Matthews

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Air Force
  • Computations
  • Computer Architecture
  • Computer Programming
  • Computer Programs
  • Computers
  • Computing System Architectures
  • Delay Circuits
  • Instruction Set Architecture
  • Language
  • Materials
  • Microarchitecture
  • Notation
  • Programming Languages
  • Simulations
  • Simulators
  • Standards

Fields of Study

  • Computer science
  • Engineering

Readers

  • Mathematical Modeling and Probability Theory.
  • Parallel and Distributed Computing.
  • Systems Analysis and Design