4 research outputs found

    From High Level Architecture Descriptions to Fast Instruction Set Simulators

    Get PDF
    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

    The XL Web Service Language : Concepts and Implementation

    Get PDF
    The XL programming language has been build on two very simple premises. First, XML is the forthcoming language used to describe and communicate complex data. Second, services provided via the internet are complex but loosely coupled and use XML. Services are neither bound to a certain platform, computer, or application scenario. The interaction between service provider and consumer is based on availability and reliability of interface descriptions and the coherence to internet standards like HTTP and XML. The XL language provides the means to easily describe complex services based on the XML data model, the XML query language XQuery and an XML storage model. In the following, the ideas behind the XL language, the language itself, and the XL runtime engine used as a prototype will be described in detail. Furthermore, different statement processing concepts, different usage scenarios and the non-functional requirements of the runtime engine itself are discusse

    Colloquium capita datastructuren

    Get PDF

    Love notes from a heretic: towards an anthropology of strategic supply

    Get PDF
    EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore