← Back to Patent Explorer
US5239641A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for synchronizing a plurality of processors

Assignee: Tandem Computers Inc
•
Filing: 1991-02-20
•
Granted: 1993-08-24
•
Expires: 2011-02-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for synchronizing a plurality of processors. Each processor runs off of its own independent clock, indicates the occurrence of a prescribed process or event on one line and receives signals on another line for initiating a processor wait state. Each processor has a counter which counts the number of processor events indicated since the last time the processors were synchronized. When an event requiring synchronization is detected by a sync logic circuit associated with the processor, the sync logic circuit generates the wait signal after the next processor event. A compare circuit associated with each processor then tests the other event counters in the system and determines whether its associated processor is behind the others. If so, the sync logic circuit removes the wait signal until the next processor event. The processor is finally stopped when its event counter matches the event counter for the fastest processor. At that time, all processors are synchronized and may be restarted for servicing the event. If no synchronizing event occurs before an event counter reaches its maximum value, and overflow of the event counter forces resynchronization. A cycle counter is provided for counting the number of clock cycles since the last processor event. The cycle counter is set to overflow and force resynchronization at a point before maximum interrupt latency time is exceeded.

Inventors

  • 👤 Robert W. Horst

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 17:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/18; G06F11/183; G06F11/184; G06F11/1658; G06F11/1666; G06F11/1675; G06F11/1683; G06F11/1687; G06F11/1691; G06F15/00; G06F15/16; G06F15/163; G06F15/17; G06F11/1679; G06F11/185; G06F11/20; G11; G11C; G11C29/00; G11C29/70; G11C29/74

Claims Analysis

Total Claims: 3
Claim 1
Independent Claim 263 words
Apparatus for synchronizing a plurality of processors, each of which processes during clock cycles according to a program in leading or trailing relationship to the processing during clock cycles of another processor according to the program, comprising for each processor: event indicating means for indicating the occurrence of a prescribed event within the processor; event counting means connected to the event indicating means, for counting the number of events indicated, said event counting means providing a sync request signal to the processor when the number of events counted equals a prescribed value; comparison means connected for receiving signals from the event counting means for each processor, for providing a signal when the number of events counted for the processor is greater than the number of events counted for another processor; cycle counter means for counting a number of clock cycles occurring after an event; means for providing a synchronizing request signal to the processor when the number of clock cycles counted equals a prescribed value; extra clock indicating means for indicating when the processor uses extra clock cycles to execute a program; sync request input means for receiving a synchronization request signal; and synchronization means, connected to the sync request input means and to the event counting means for suspending processing of the processor in response to a synchronization request signal when the number of events counted for the processor is not less than the number of events counted for another processor, said synchronization means providing a restart signal to the processor when the number of events counted for each processor is equal.
Claim 2
Dependent Claim 263 words
Apparatus for synchronizing a plurality of processors, each of which processes during clock cycles according to a program in leading or trailing relationship to the processing during clock cycles of another processor according to the program, comprising for each processor: event indicating means for indicating the occurrence of a prescribed event within the processor; event counting means connected to the event indicating means, for counting the number of events indicated, said event counting means providing a sync request signal to the processor when the number of events counted equals a prescribed value; comparison means connected for receiving signals from the event counting means for each processor, for providing a signal when the number of events counted for the processor is greater than the number of events counted for another processor; cycle counter means for counting a number of clock cycles occurring after an event; means for providing a synchronizing request signal to the processor when the number of clock cycles counted equals a prescribed value; extra clock indicating means for indicating when the processor uses extra clock cycles to execute a program; sync request input means for receiving a synchronization request signal; and synchronization means, connected to the sync request input means and to the event counting means for suspending processing of the processor in response to a synchronization request signal when the number of events counted for the processor is not less than the number of events counted for another processor, said synchronization means providing a restart signal to the processor when the number of events counted for each processor is equal.
Claim 3
Dependent Claim 40 words
The apparatus according to claim 1 wherein the cycle counter means further includes disable means, connected to the extra clock indicating means, for inhibiting the counting of clock cycles when the processor uses extra clock cycles to execute a program.

References Cited (Backward Citations)

US3602900A Cited
US3681578A Cited
US3735356A Cited
US3761884A Cited
US3810119A Cited
US3833798A Cited
US3848116A Cited
US3828321A Cited
US3921149A Cited
US4316245A Cited
US4432051A Cited
US4015246A Cited
US4015243A Cited
US4034347A Cited
US4224664A Cited
US4228496A Cited
US4672535A Cited
US4358823A Cited
US4187538A Cited
US4458307A Cited
US4366535A Cited
US4234920A Cited
US4257097A Cited
US4253144A Cited
US4380046A Cited
US4392199A Cited
US4315310A Cited
US4402045A Cited
US4426681A Cited
US4330826A Cited
US4321666A Cited
US4412218A Cited
US4493019A Cited
US4412281A Cited
US4392196A Cited
US4399504A Cited
US4375683A Cited
US4414624A Cited
US4430707A Cited
US4455605A Cited
US4438494A Cited
US4453215A Cited
US4654857A Cited
US4597084A Cited
US4616312A Cited
US4497059A Cited
US4783731A Cited
US4779008A Cited
US4667287A Cited
US4648035A Cited
US4541094A Cited
US4591977A Cited
US4644498A Cited
US4661900A Cited
US4577272A Cited
US4646231A Cited
US4709325A Cited
EP0141246A2 Cited
US4912698A Cited
US4564903A Cited
US4607365A Cited
US4783733A Cited
US4570261A Cited
US4638427A Cited
US4633394A Cited
US4589066A Cited
US4823256A Cited
US4959774A Cited
US4853872A Cited
US4827401A Cited
US4785453A Cited
US4757442A Cited
US4751639A Cited
US4683570A Cited
US4845419A Cited
US4733353A Cited
US4794601A Cited
US4703452A Cited
US4799140A Cited
US4757505A Cited
US4868832A Cited
US4763333B1 Cited
US4763333A Cited
US4819159A Cited
US4849979A Cited
US4774709A Cited
US4847837A Cited
US4831520A Cited
US4933940A Cited
US4914657A Cited
US4805107A Cited
EP0286856B1 Cited
US4800462A Cited
US4868826A Cited
US4868818A Cited
EP0316087A2 Cited
US4879716A Cited
US4907232A Cited
US4873685A Cited
US4965717A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-08-23 1997-02-22 1997-08-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-08-23 2001-02-22 2001-08-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-08-23 2005-02-22 2005-08-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag