To design a new processor or to modify an existing one, designers need to gather data to estimate the influence of specific architecture features on the performance of the proposed machine (PM). To obtain this data, it is necessary to measure on an existing machine (EM) the dynamic behavior of typical programs. Traditionally, simulators have been used to obtain measurements for PMs. Since several hundred EM instructions are required to decode, interpret, and measure each simulated (PM) instruction, the simulation time of typical programs is prohibitively large. Thus, designers tend to simulate only small programs and the results obtained might not be representative of a real system behavior. In this paper we present an alternative tool for collecting architecture measurements: the Block-and-Actions Generator (BKGEN). BKGEN produces a version of the program being measured which is directly executable by the EM. This executable version is obtained directly with the EM compiler or with the PM compiler and a assembly-to-assembly translator. The choice between these alternatives depends on the EM and PM compiler technology and the type of measurements to be obtained. BKGEN also collects the PM events to be measured (called actions). Each EM block of instructions is associated with a PM block of actions so that when the program is executed, it collects the measurements associated with the PM. The main advantage of BKGEN is that the execution time is substantially reduced compared to the execution time of a simulator while collecting similar data. Thus, large typical programs (compilers, assemblers, word processors, ...) can be used by the designer to obtain meaningful measurements.
[1]
Samuel H. Fuller,et al.
Evaluation of computer architectures via test programs
,
1899,
AFIPS '77.
[2]
Charles W. Rose,et al.
N.mPc: A Study in University-Industry Technology Transfer
,
1984,
IEEE Design & Test of Computers.
[3]
B. A. Wichmann,et al.
Ackermann's function: A study in the efficiency of calling procedures
,
1976
.
[4]
Tomás Lang,et al.
Reduced register saving/restoring in single-window register files
,
1986,
CARN.
[5]
Reinhold Weicker,et al.
Dhrystone: a synthetic systems programming benchmark
,
1984,
CACM.
[6]
Mario Barbacci,et al.
Instruction set processor specifications (ISPS): The notation and its applications
,
1981,
IEEE Transactions on Computers.
[7]
P. J. Weinberger.
The UNIX system: Cheap dynamic instruction counting
,
1984,
AT&T Bell Laboratories Technical Journal.
[8]
Michael Beeler.
Beyond the Baskett benchmark
,
1984,
CARN.
[9]
Ludmila Svobodová.
Computer Performance Measurement and Evaluation Methods: Analysis and Applications.
,
1974
.
[10]
Liba Svobodova,et al.
The role of emulation in performance measurement and evaluation
,
1976,
SIGMETRICS '76.
[11]
Dave Hightower,et al.
The interconnection problem: A tutorial
,
1973,
Computer.
[12]
Carlo H. Séquin,et al.
A VLSI RISC
,
1982,
Computer.
[13]
Brian A. Wichmann,et al.
A Synthetic Benchmark
,
1976,
Comput. J..