Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Recherche avancée dans les brevets | Images de page | Historique Web | Connexion

Brevets

  

niiiiiiiiiini

United States Patent m

Scales

US005761729A [ii] Patent Number: [45] Date of Patent:

5,761,729 Jun. 2, 1998

[54] VALIDATION CHECKING OF SHARED MEMORY ACCESSES

[75] Inventor: Daniel J. Scales. Palo Alto. Calif.

[73] Assignee: Digital Equipment Corporation,

Maynard. Mass.

[21] Appl. No.: 672,221
[22] Filed: Jul. 17, 1«96

[51] Int CI.6 G06F 12/00; G06F 15/167

[52] U.S. CI 711/148; 395/200.44; 711/156

[58] Field of Search 395/474,475.

395/200.03, 200.08. 472, 200.31. 200.32. 200.33, 200.43. 200.44. 200.45, 200.46;

711/145, 147, 148, 156

[56] References Cited

U.S. PATENT DOCUMENTS

5,117,350 5/1992 Parrish et al 395/401

5,193,180 3/1993 Hastings 395/710

5,335,344 8/1994 Hastings 395/183.11

5,528,761 6/1996 Oobaetal 395/200

5,566,321 10/1996 Paseetal 395/480

5,590,329 12/1996 Goodnow, H et al 395/708

5,613,063 3/1997 Eustace etal 395/183.14

OTHER PUBLICATIONS

"Fine-grain Access Control for Distributed Shared Memory," Schoinas et al.. Computer Sciences Dept.. University of Wisconsin-Madison, ACM ASPLOS VL Oct. 1994.

Primary Examiner—-Tod R. Swann

Assistant Examiner—Conley B. King. Jr.

Attorney, Agent, or Firm—Dirk Brinkman; Alfred A.

Stadnicki

[57] ABSTRACT

In a computer system a plurality of workstations are connected to each other by a network. Each workstation including a processor, a memory having addresses, and an input/ output interface connected to each other by a bus. The input/output interfaces connect the workstations to each other via the network. Valid data accesses are checked by a software implemented method. A set of the addresses of the memories are designated as virtual shared addresses to store shared data. A particular one of the programs allocates a portion of the virtual shared addresses to store a shared data structure as one or more blocks accessible by the programs executing in any of the processors. The size of a particular block depends on the size of the shared data structure. Each block including an integer number of lines, each line including a predetermined number of bytes. The program is instrumented to initialize the bytes allocated for the shared data structure to a predetermined flag value. The flag value indicates that the data are in an invalid state. Load instructions of the programs are instrumented to check if data loaded from the shared data structure are different than the predetermined flag value. The load instructions are executed if the data are different than the predetermined flag value. Otherwise, miss handling code is executed before the load instructions are executed.

12 Claims, 14 Drawing Sheets

[graphic][merged small][merged small]
[merged small][merged small][merged small][merged small][table][merged small][merged small][merged small][merged small]
[graphic][merged small][merged small]
[graphic]
« PrécédentContinuer »