CSDL: Reusable Computing System Descriptions for Retargetable Systems Software
Bailey, Mark W., Department of Computer Science, University of Virginia
Davidson, Jack, Department of Computer Science, University of Virginia
In an era of rapid design of microprocessors for desktop systems, embedded systems, and handheld computing devices, the timely construction of systems software is essential. Systems software, such as assemblers, compilers, and debuggers, must be constructed before development of application software for a microprocessor can commence. However, the implementation of such machine-specific applications is difficult and time consuming. Therefore, to remain competitive, it is imperative that systems software designs focus on portability to reduce implementation time and ensure rapid delivery of complete systems to the market. This dissertation presents the Computing System Description Language (CSDL) framework that addresses these rapid development requirements.
We illustrate the CSDL framework by developing an instruction-set description component (τRTL), an optional procedure calling convention description component (CCL), and the mechanism we use to extend extant descriptions (CSDL). τRTL and its accompanying microinstruction descriptions (μRTL) further the state-of-the-art in specifying semantics of machine instructions. τRTL adds a new type system and abstract syntax that facilitates more accurate specification and automatic detection of errors by τRTL manipulators. τRTL machine descriptions are also application independent—they completely separate the specification of semantics from the application’s implementation. The CCL specification language is the first work to formally describe procedure calling conventions. We demonstrate two distinct uses for CCL descriptions: code generation and fault detection. Using CCL we have built compilers that are more robust, and found and diagnosed faults in production compilers. CCL, τRTL, and μRTL descriptions are bound together using CSDL. CSDL is the first description system to recognize that specifications must evolve and that specifications will frequently include application-dependent features. The CSDL environment provides facilities for adding new components, sharing information between components, and extending existing components for use in a wide variety of applications.
PHD (Doctor of Philosophy)
CSDL, computer systems, portability, software
All rights reserved (no additional license for public reuse)