Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
A little Smalltalk
C++ primer
Abstract execution: a technique for efficiently tracing programs
Software—Practice & Experience
Techniques for efficient inline tracing on a shared-memory multiprocessor
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Experience with a software-defined machine architecture
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing object-oriented software
Designing object-oriented software
Column-associative caches: a technique for reducing the miss rate of direct-mapped caches
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Rewriting executable files to measure program behavior
Software—Practice & Experience
Fast and accurate instruction fetch and branch prediction
ISCA '94 Proceedings of the 21st annual international symposium on Computer architecture
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Generation and analysis of very long address traces
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Classical and Object-Oriented Software Engineering
Classical and Object-Oriented Software Engineering
Analysis of Cache Performance for Operating Systems and Multiprogramming
Analysis of Cache Performance for Operating Systems and Multiprogramming
Assuring Good Style for Object-Oriented Programs
IEEE Software
Planning the Software Industrial Revolution
IEEE Software
Issues in Trace-Driven Simulation
Performance Evaluation of Computer and Communication Systems, Joint Tutorial Papers of Performance '93 and Sigmetrics '93
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
Analysis of cache replacement-algorithms
Analysis of cache replacement-algorithms
Shade: A Fast Instruction Set Simulator for Execution Profiling
Shade: A Fast Instruction Set Simulator for Execution Profiling
Hi-index | 0.00 |
To study the performance of new architectural features, trace-driven simulation is commonly employed. Traditional trace-driven simulation models require the production of an input trace. Depending on the needs of the simulation study, traces can contain billions of references and consume gigabytes of disk or tape storage. Execution-driven simulation eliminates the need for producing and storing input trace tapes by dynamically generating the input trace stream. The first issue addressed in this paper will be the performance of an execution-driven simulation when compared to more traditional trace-driven methodologies. The time and effort spent developing each new model can make a thorough performance evaluation too costly. Instead, if a reusable library of architectural simulation models (e.g., caches, branch-predictors, etc.) can be constructed using an object-oriented paradigm, the cost to perform the simulation can be drastically reduced. Some of the advantages of using reusable code include: simplified implementation, improved reliability and reduced maintenance.We have developed such a set of execution-driven simulation models which were written using this object-oriented approach. The goal of this work is to provide a reusable framework for rapid prototyping of architecture-based simulation models. The framework is based on the ATOM execution-driven simulation tool provided by DEC. The simulation models are developed using portable C++.