United States Patent [w]
Zuravleff et al.
US005812799A [ii] Patent Number: [45] Date of Patent:
[54] NON-BLOCKING LOAD BUFFER AND A MULTIPLE-PRIORITY MEMORY SYSTEM FOR REAL-TIME MULTIPROCESSING
[75] Inventors: William K. Zuravleff, Mountainview;
Mark Semmelmeyer, Sunnyvale;
Timothy Robinson, Boulder Creek;
Scott Furman, Union City, all of Calif.
[73] Assignee: Microunity Systems Engineering, Inc.,
Sunnyvale, Calif.
[21] Appl. No.: 480,738
[22] Filed: Jun. 7, 1995
[51] Int. C I. 1101.1 13/00
[52] U.S. CI 395/308; 395/837; 395/838;
395/840; 395/859; 395/876
[58] Field of Search 395/306, 307,
395/308, 292, 309, 438, 441, 479, 468, 469, 470, 250, 840, 841, 842, 847, 849, 859, 861, 864, 863, 872, 874, 876
[56] References Cited
U.S. PATENT DOCUMENTS
4,833,655 5/1989 Wolf et al 365/221
5,043,981 8/1991 Firoozmand et al. .
5,179,688 1/1993 Brown et al 395/425
5,208,490 5/1993 Yetter 307/452
5,249,297 9/1993 Brockmann et al 395/725
5,257,356 10/1993 Brockmann et al 395/725
5,289,403 2/1994 Yetter 365/49
5,299,158 3/1994 Mason et al 365/189.04
5.317,204 5/1994 Yetter 307/443
5,329,176 7/1994 Miller, Jr. et al 307/443
5,343,096 8/1994 Heikes et al 307/480
5,363,485 11/1994 Nguyen et al 395/250
5,367,681 11/1994 Foss et al 395/650
5,450,564 9/1995 Hassler et al 395/495
5,459,839 10/1995 Swarts et al 395/650
5,499,346 3/1996 Amini et al 395/308
5,507,032 4/1996 Kimura 395/826
5,526,508 6/1996 Park et al 395/449
5,535,340 7/1996 Bell et al 395/292
5.541,912 7/1996 Choudhury et al. .
5^542,055 7/1996 Amini et al 395/308
5,546,546 8/1996 Bell et al 395/292
5,548,791 8/1996 Casper et al 395/858
5,557,744 9/1996 Kobayakawa et al 395/200.01
5,568,620 10/1996 Sarangdhar et al 395/285
5,588,125 12/1996 Bennett 395/306
5,623,628 4/1997 Brayton et al 395/468
5,625,778 4/1997 Childers et al 395/287
OTHER PUBLICATIONS
Eric DeLano et al., "A High Speed Superscaler PA-RISC
Processor", IEEE, pp. 116-121, 1992.
Doug Hunt, "Advanced Performance Features of the 64-bit
PA-8000", IEEE, pp. 123-128, 1995.
Jonathan Lotz et al., "A CMOS RISC CPU Designed for
Sustained High Performance on Large Applications", IEEE
Journal of Solid-State Circuits, vol. 25, pp. 1190-1198, Oct.
1990.
Primary Examiner—Jack B. Harvey
Assistant Examiner—Raymond N. Phan
Attorney, Agent, or Firm—Burns, Doane, Swecker &
Mathis, L.L.P.
[57] ABSTRACT
A non-blocking load buffer for use in a high-speed microprocessor and memory system. The non-blocking load buffer interfaces a high-speed processor/cache bus, which connects a processor and a cache to the non-blocking load buffer, with a lower speed peripheral bus, which connects to peripheral devices. The non-blocking load buffer allows data to be retrieved from relatively low bandwidth peripheral devices directly from programmed I/O of the processor at the maximum rate of the peripherals so that the data may be processed and stored without unnecessarily idling the processor. I/O requests from several processors within a multiprocessor may simultaneously be buffered so that a plurality of non-blocking loads may be processed during the latency period of the device. As a result, a continuous maximum throughput from multiple I/O devices by the programmed I/O of the processor is achieved and the time required for completing tasks and processing data may be reduced. Also, a multiple priority non-blocking load buffer is provided for serving a multiprocessor running real-time processes of varying deadlines by prioritization-based scheduling of memory and peripheral accesses.
34 Claims, 9 Drawing Sheets
![[blocks in formation]](http://www.google.fr/patents?id=UHABAAAAEBAJ&hl=fr&ie=ISO-8859-1&output=text&pg=PA1&img=1&zoom=3&hl=fr&q=&cds=1&sig=ACfU3U2kCTONcH983SEgOkKrIa66aL8XeQ&edge=0&edge=stretch&ci=241,1012,537,330)