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

Data processor with speculative data transfer and address-free retry

Assignee: International Business Machines Corp
•
Filing: 1993-01-29
•
Granted: 1996-03-19
•
Expires: 2013-01-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processor with speculative data transfer has address circuitry (40) and data circuitry (42, 44). The address circuitry generates a memory address associated with a data block and with a tag. The tag is representative of the validity of the data block. The data circuitry receives the data block associated with the memory address at a first time and receives a signal at a second subsequent time. The signal is representative of the validity of the data block. The data circuitry rejects the data block responsive to the signal. The data processor is able to receive data while the validity of the data is determined in parallel by, for instance, an address comparison or an error correcting code scheme.

Inventors

  • 👤 Michael C. Becker
  • 👤 Charles R. Moore
  • 👤 John S. Muhich
  • 👤 Robert J. Reese

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 16:04
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0844; G06F12/0855; G06F12/0859; G06F13/00; G06F13/38

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 124 words
A data processor with speculative data transfer comprising: address circuitry for generating a memory address and transmitting the memory address to an external memory system, the memory address indexing a data block and a tag; and data circuitry for receiving the data block indexed by the memory address at a first time and for receiving a first signal and a second signal at a second subsequent time, the first signal representative of the validity or invalidity of the data block, the data circuitry selectively rejecting the data block responsive to the first signal, the data circuitry receiving the data block at a third time subsequent to the first time responsive to the second signal without retransmitting the memory address to the external memory system.
Claim 2
Dependent Claim 124 words
A data processor with speculative data transfer comprising: address circuitry for generating a memory address and transmitting the memory address to an external memory system, the memory address indexing a data block and a tag; and data circuitry for receiving the data block indexed by the memory address at a first time and for receiving a first signal and a second signal at a second subsequent time, the first signal representative of the validity or invalidity of the data block, the data circuitry selectively rejecting the data block responsive to the first signal, the data circuitry receiving the data block at a third time subsequent to the first time responsive to the second signal without retransmitting the memory address to the external memory system.
Claim 3
Dependent Claim 52 words
The data processor of claim 1 wherein the data circuitry further comprises: a first latch for receiving and storing the data block at a first time; and a second latch coupled to the first latch, the second latch receiving the data block at a second subsequent time responsive to the first signal.
Claim 4
Dependent Claim 174 words
A data processing system comprising: a data processor comprising: address circuitry for generating a memory address and transmitting the memory address to a memory circuitry, the memory address indexing a data block and a tag; data circuitry for receiving the data block indexed by the memory address at a first time and for receiving a first signal and a second signal at a second subsequent time, the first signal representative of the validity or invalidity of the data block, the data circuitry selectively rejecting the data block responsive to the first signal, the data circuitry receiving the data block at a third time subsequent to the first time responsive to the second signal without retransmitting the memory address to the external memory system; the memory circuit coupled to the address circuitry and to the data circuitry, the memory circuitry comprising: storage circuitry for retrieving the data block and the tag responsive to the data processor; and tag comparison circuitry for generating the first signal responsive to the associated tag retrieved by the storage circuitry.
Claim 5
Dependent Claim 174 words
A data processing system comprising: a data processor comprising: address circuitry for generating a memory address and transmitting the memory address to a memory circuitry, the memory address indexing a data block and a tag; data circuitry for receiving the data block indexed by the memory address at a first time and for receiving a first signal and a second signal at a second subsequent time, the first signal representative of the validity or invalidity of the data block, the data circuitry selectively rejecting the data block responsive to the first signal, the data circuitry receiving the data block at a third time subsequent to the first time responsive to the second signal without retransmitting the memory address to the external memory system; the memory circuit coupled to the address circuitry and to the data circuitry, the memory circuitry comprising: storage circuitry for retrieving the data block and the tag responsive to the data processor; and tag comparison circuitry for generating the first signal responsive to the associated tag retrieved by the storage circuitry.
Claim 6
Dependent Claim 32 words
The data processing system of claim 3 wherein the tag comparison circuitry comprises an external cache controller that compares the associated tag to a subset of address bits of the memory address.
Claim 7
Dependent Claim 53 words
The data processing system of claim 4 wherein the data circuitry further comprises: a first latch for receiving and storing the data block at a first time; and a second latch coupled to the first latch, the second latch receiving the data block at a second subsequent time responsive to the first signal.
Claim 8
Dependent Claim 24 words
The data processing system of claim 3 wherein the tag comparison circuitry comprises error correcting code circuitry for generating an error correcting code function.
Claim 9
Dependent Claim 53 words
The data processing system of claim 6 wherein the data circuitry further comprises: a first latch for receiving and storing the data block at a first time; and a second latch coupled to the first latch, the second latch receiving the data block at a second subsequent time responsive to the first signal.
Claim 10
Independent Claim 159 words
A method of speculatively transferring data to a data processor comprising the steps of: generating a plurality of address bits in a data processor, the address bits associated with a data block; transmitting the plurality of address bits to an external device; at a first time, receiving the data block from the external device at an input of the data processor; storing the received data block in the data processor; at a second subsequent time, receiving a first signal and a second signal from the external device at an input of the data processor, the first signal representative of the validity or invalidity of the received data block at an input of the data processor, discarding the received data block responsive to the first signal; and; at a third time subsequent to the second time, receiving the data block from the external device responsive to the second signal without transmitting the plurality of address bits to the external device.
Claim 11
Independent Claim 159 words
A method of speculatively transferring data to a data processor comprising the steps of: generating a plurality of address bits in a data processor, the address bits associated with a data block; transmitting the plurality of address bits to an external device; at a first time, receiving the data block from the external device at an input of the data processor; storing the received data block in the data processor; at a second subsequent time, receiving a first signal and a second signal from the external device at an input of the data processor, the first signal representative of the validity or invalidity of the received data block at an input of the data processor, discarding the received data block responsive to the first signal; and; at a third time subsequent to the second time, receiving the data block from the external device responsive to the second signal without transmitting the plurality of address bits to the external device.
Claim 12
Independent Claim 176 words
A method of transferring data within a data processing system comprising the steps of: generating a plurality of address bits in a data processor, the address bits associated with a data block; transmitting the plurality of address bits to a memory device; at a first time, receiving the data block from the memory device at an input of the data processor; storing the received data block in the data processor; comparing a tag indexed by the plurality of address bits to a predetermined value; at a second time subsequent to the first time, receiving a first signal and a second signal at the input of the data processor from the memory device, the first signal representative of the validity or invalidity of the received data block; discarding the received data block responsive to the first signal; at a third time subsequent to the second time, receiving the data block at the input of the data processor from the memory device responsive to the second signal without retransmitting the plurality of address bits to the memory device.
Claim 13
Independent Claim 176 words
A method of transferring data within a data processing system comprising the steps of: generating a plurality of address bits in a data processor, the address bits associated with a data block; transmitting the plurality of address bits to a memory device; at a first time, receiving the data block from the memory device at an input of the data processor; storing the received data block in the data processor; comparing a tag indexed by the plurality of address bits to a predetermined value; at a second time subsequent to the first time, receiving a first signal and a second signal at the input of the data processor from the memory device, the first signal representative of the validity or invalidity of the received data block; discarding the received data block responsive to the first signal; at a third time subsequent to the second time, receiving the data block at the input of the data processor from the memory device responsive to the second signal without retransmitting the plurality of address bits to the memory device.
Claim 14
Dependent Claim 21 words
The method of claim 9 wherein the step of comparing comprises generating an error correcting code function from the data block.
Claim 15
Dependent Claim 26 words
The method of claim 10 wherein the step of discarding comprises latching or not latching the data block in a register responsive to the first signal.
Claim 16
Dependent Claim 23 words
The method of claim 9 wherein the step of comparing comprises comparing the tag to a subset of the plurality of address bits.
Claim 17
Dependent Claim 26 words
The method of claim 12 wherein the step of discarding comprises latching or not latching the data block in a register responsive to the first signal.

References Cited (Backward Citations)

US4051355A Cited
US4493026A Cited
US4604750A Cited
US4845614A Cited
US4791642A Cited
US5210867A Cited
US5361267A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-03-19 1999-09-18 2000-03-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-03-19 2003-09-18 2004-03-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-03-19 2007-09-18 2008-03-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag