JISE


  [1] [2] [3] [4] [5] [6] [7] [8]


Journal of Information Science and Engineering, Vol. 15 No. 6, pp. 859-884


Reducing Memory Traffic and Accelerating Prolog Execution in a Superscalar Prolog System


RUEY-LIANG MA AND CHUNG-PING CHUNG*

Computer & Communications Research Laboratories, ITRI

Hsinchu County, Taiwan 310, R.O.C.

E-mail: rlma@ozu.ccl.itri.org.tw

*Institute of Computer Science and Information Engineering

National Chiao Tung University Hsinchu,

Taiwan 300, R.O.C.


    Memory access operations constitute about 32.7% of all the operations executed in a typical Prolog program. Among these memory accesses, 75% are to the program control structures (environments and choice points). These memory accesses plus possible data cache misses greatly impair system performance, and the problem is even more severe in a VLIW, superscalar, or superpipelined Prolog system. This paper describes an innovative windowed register file management technique called SORWT (splittable overlapping register window technique). With SORWT, environments, choice points, and arguments can be stored in a windowed register file. SORWT reduces the number of memory accesses to only 25% of the number made when a conventional stack scheme is used. This paper describes in detail how Warren and PLM instructions can be implemented using SORWT, and it presents a register file overflow/underflow handling mechanism called the memory window matrix (MWM) and a mapping function for use between register windows and the MWM. Thirty benchmark programs are used to study performance issues, the overhead of SORWT, optimal register file and window sizes, and the argument overflow rate.


Keywords: fine-grained parallelism, memory traffic reduction, modified windowed register file, prolog system design, simulation, window overflow handling

  Retrieve PDF document (JISE_199906_08.pdf)