An Eecient Strategy for Developing a Simulator for a Novel Concurrent Multithreaded Processor Architecture
نویسندگان
چکیده
In developing a simulator for a new processor architecture, it often is not clear whether it is more eecient to write a new simulator from scratch or whether it is better to try and modify an existing simulator. Writing a new simulator has the advantages of needing to understand only the new processor architecture itself and being the \owner" of the nal code. However, it also forces the processor architect to develop or adapt all of the related software tools, such as compilers, assemblers, and so forth. On the other hand, modifying an existing simulator and related tools can be time-consuming and error-prone since the simulator writer must learn the details of someone else's code which is, typically, not well documented. We describe the SImulator for Multithreaded Computer Architectures (SIMCA) that was developed with the primary goal of obtaining a functional simulator as quickly as possible to begin evaluating the superthreaded architecture being developed at the University of Minnesota 2, 3]. The performance of the simulator itself was important, but secondary. We achieved our goal using a technique we call process-pipelining that exploits the unique features of this new architecture to hide the details of the underlying simulator, which is based on the SimpleScalar tool set 4]. This approach allowed us to quickly produce a functional simulator whose performance was only a factor of 3.8 to 4.9 times slower than the base SimpleScalar simulator. Because of the modularity of this approach, some simple optimizations allowed us to improve its performance by a factor of two with little eeort.
منابع مشابه
An Efficient Strategy for Developing a Simulator for a Novel Concurrent Multithreaded Processor Architecture
In developing a simulator for a new processor architecture, it often is not clear whether it is more efficient to write a new simulator or to modify an existing simulator. Writing a new simulator forces the processor architect to develop or adapt all of the related software tools. However, Modifying an existing simulator and related tools, which are usually not well-documented, can be time-cons...
متن کاملSimgen: Development of Eecient Instruction Set Simulators
A simulator is a powerful tool for both hardware and software development. However, implementing an eecient simulator by hand is a labour intensive and error-prone task. This paper describes a tool for automating signiicant portions of the work involved in developing instruction set architecture simulators while still generating an eecient simulator. We believe that the tool signiicantly shorte...
متن کاملA Concurrent Multithreaded Scheduling Model for Solving Fibonacci Series on Multicore Architecture
The emergence of multicore technology has led to essential changes in the hardware design of personal computers. These changes are represented by an increased growth of cores per chip. As a matter of fact, this growth has imposed new directions in planning not only in the hardware but also in the software side. This study is about developing new algorithms that make a class of software (Divide ...
متن کاملProgram Optimization for Concurrent Multithreaded Architectures
This paper presents some compiler and program transformation techniques for concurrent multithreaded architectures, in particular the superthreaded architecture 9], which adopts a thread pipelining execution model that allows threads with data dependences and control dependences to be executed in parallel. In this paper, we identify several important program analysis and transformation techniqu...
متن کاملExecution And Cache Performance Of A Decoupled Non-Blocking Multithreaded Architecture
In this paper we will present an evaluation of the execution performance and cache behavior of a new multithreaded architecture being investigated by the authors. Our architecture uses non-blocking multithreaded model based on dataflow paradigm. In addition, all memory accesses are decoupled from the thread execution. Data is pre-loaded into the thread context (registers), and all results are p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998