This study compares the performance of executing Prolog code on the Berkeley PLM processor (a special-purpose CISC architecture) and the Berkeley SPUR processor (a general-purpose RISC architecture with tagged data). Fourteen standard benchmark programs were run on both the PLM and SPUR simulators. The two implementations were compared with regard to static and dynamic program size, execution speed, and cache performance. The simulated memory system included a direct-mapped mixed instruction and data cache. We found that, on average, the macro-coded SPUR implementation has a static code size 14 times larger than the PLM, executes 16 times more instructions, yet requires only 2.31 times the number of machine cycles. To have the same miss ratio with a much larger code size the SPUR also suggest minor changes to the SPUR instruction set to improve its Prolog execution and outline the design of a special-purpose SPUR coprocessor that would greatly reduce the code size and double SPUR''s Prolog performance.
[1]
Tohru Moto-Oka,et al.
Overview to the Fifth Generation Computer System project
,
1983,
ISCA '83.
[2]
David H. D. Warren,et al.
Applied logic : its use and implementation as a programming tool
,
1978
.
[3]
William F. Clocksin,et al.
Programming in Prolog
,
1987,
Springer Berlin Heidelberg.
[4]
Yale N. Patt,et al.
Performance studies of a Prolog machine architecture
,
1985,
ISCA '85.
[5]
Yale N. Patt,et al.
Design decisions influencing the microarchitecture for a Prolog machine
,
1984,
MICRO 17.
[6]
Barry Fagin,et al.
The Berkeley PLM Instruction Set: An Instruction Set for Prolog
,
1986
.
[7]
Emmanuel Katevenis,et al.
Reduced instruction set computer architectures for VLSI
,
1984
.
[8]
James R. Larus,et al.
Design Decisions in SPUR
,
1986,
Computer.