This Article 
 Bibliographic References 
 Add to: 
Using Horizontal Prefetching to Circumvent the Jump Problem
November 1991 (vol. 40 no. 11)
pp. 1287-1291

The principle of a novel prefetching mechanism, horizontal demand prefetching, is presented. The mechanism allows deep prefetching without jump related misses by prefetching horizontally across independent instruction streams. The scheme can achieve high memory utilization at the expense of processor utilization. The mechanism permits very rapid context switching with no overhead for a hardware-limited number of tasks. The design and performance of a 16-b prototype machine is presented. The prototype exhibits a nonlinear relationship between the number of running streams and processor performance. This saturating performance-tasks relationship suggests that operations like process synchronization and interprocessor communication could be implemented very efficiently. Stalled streams need not greatly affect processor throughput.

[1] I. Flores, "Lookahead control in the IBM System 370 Model 165,"IEEE Comput. Mag., vol. 11, pp. 24-38, Nov. 1974.
[2] M. J. Flynn, "Shared resource multiprocessing,"IEEE Comput. Mag., vol. 5, pp. 20-28, Mar. 1972.
[3] J. Gilbreath, "A high-level language benchmark,"Byte, vol. 6, pp. 180- 198, Sept. 1981.
[4] J. L. Henessy, "VLSI processor architecture,"IEEE Trans. Comput., vol. C-33, pp. 1221-1246, Dec. 1984.
[5] W. J. Kaminsky and E. S. Davidson, "Developing a multiple instruction stream single chip processor,"IEEE Comput., vol. 12, pp. 66-76, Dec. 1972.
[6] J. K. Lee and A. J. Smith, "Branch prediction strategies and branch target buffer design,"IEEE Comput. Mag., vol. 17, pp. 6-22, Jan. 1984.
[7] D. J. Lilja, "Reducing the branch penalty in pipelined processors,"IEEE Comput. Mag.vol. 21, pp. 47-55, July 1988.
[8] D. A. Patterson and C. H. Sequin, "A VLSI RISC,"IEEE Comput. Mag., vol. 15, pp. 8-21, Sept. 1982.
[9] G. Radin, "The 801 minicomputer,"IBM J. Res. Develop., vol. 27, pp. 237-246, May 1983.
[10] K. Shimizu, E. Goto, and S. Ichikawa, "CPC (Cyclic Pipeline Computer)--An architecture suited for Josephson and pipelined-memory machines,"IEEE Trans. Comput., vol. 38, pp. 825-832, June 1989.
[11] B. J. Smith, "Architecture and applications of the HEP Multiprocessor Computer System," inProc. Real Time Signal Processing IV, vol. 298, Aug. 1981.
[12] W. Toy, B. Zee,Computer Hardware/Software Architecture. Englewood Cliffs, NJ: Prentice-Hall, 1986, ch. 4.
[13] R. P. Weicker, "Dhrystone: A synthetic systems programming benchmark,"Commun. ACM, vol. 27, pp. 1013-1030, Oct. 1984.

Index Terms:
horizontal prefetching; jump problem; independent instruction streams; memory utilization; processor utilization; context switching; design; performance; prototype machine; processor performance; process synchronization; interprocessor communication; computer architecture; instruction sets.
D.C. McCrackin, B. Szabados, "Using Horizontal Prefetching to Circumvent the Jump Problem," IEEE Transactions on Computers, vol. 40, no. 11, pp. 1287-1291, Nov. 1991, doi:10.1109/12.102835
Usage of this product signifies your acceptance of the Terms of Use.