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

Pipe-line method and apparatus for byte alignment of data words during direct memory access transfers

Assignee: NCR Voyix Corp
•
Filing: 1990-02-16
•
Granted: 1992-12-01
•
Expires: 2010-02-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Apparatus for correcting the byte alignment of multiple-byte data words during DMA word transfers. The apparatus includes a four-byte input word bus and a four-byte output word bus. A carrier register stores the second, third and fourth bytes of a first four-byte data word received on the input bus. A data selector including four 4:1 multiplexers determines which of the three stored word bytes and which of four bytes corresponding to a second data word received on the input bus should be placed on the four-byte output word bus and the sequential order of the bytes on the bus.

Inventors

  • 👤 Tri T. Vo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 07:57
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3816; G06F12/00; G06F12/02; G06F12/04; G06F13/00; G06F13/14; G06F13/20; G06F13/28

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 323 words
Apparatus for byte-aligning multiple-byte data words, wherein each data word includes first, second, third and fourth bytes, said apparatus comprising: an input word bus; an output word bus; means connected to receive word byte data from said input bus for latching and holding byte data obtained from a fist data word appearing on said input bus, said latching means comprising a first carrier register connected to receive from said input word bus the second byte of any data word appearing on said word bus; a second carrier register connected to receive from said input word bus the third byte of any data word appearing on said word bus; and a third carrier register connected to receive from said input word bus the fourth byte of any data word appearing on said word bus; and means connected to receive word byte data from said latching means and said input bus for selecting byte data from said latch means and a second data word appearing on said input bus and combining said selected byte data to form a re-aligned data word, said selecting means further including output means for providing said selected byte data to said output bus, said selecting means comprising a first 4:1 multiplexer connected to receive as inputs the first byte of any data word appearing on said input bus and the output of said first, second and third carrier registers; a second 4:1 multiplexer connected to receive as inputs the first and second bytes of any data word appearing on said input bus and the output of said first and second carrier registers; a third 4:1 multiplexer connected to receive as inputs the first, second and third bytes of any data word appearing on said input bus and the output of said first carrier register; and a fourth 4:1 multiplexer connected to receive as inputs the first, second, third and fourth bytes of any data word appearing on said input bus.
Claim 2
Dependent Claim 323 words
Apparatus for byte-aligning multiple-byte data words, wherein each data word includes first, second, third and fourth bytes, said apparatus comprising: an input word bus; an output word bus; means connected to receive word byte data from said input bus for latching and holding byte data obtained from a fist data word appearing on said input bus, said latching means comprising a first carrier register connected to receive from said input word bus the second byte of any data word appearing on said word bus; a second carrier register connected to receive from said input word bus the third byte of any data word appearing on said word bus; and a third carrier register connected to receive from said input word bus the fourth byte of any data word appearing on said word bus; and means connected to receive word byte data from said latching means and said input bus for selecting byte data from said latch means and a second data word appearing on said input bus and combining said selected byte data to form a re-aligned data word, said selecting means further including output means for providing said selected byte data to said output bus, said selecting means comprising a first 4:1 multiplexer connected to receive as inputs the first byte of any data word appearing on said input bus and the output of said first, second and third carrier registers; a second 4:1 multiplexer connected to receive as inputs the first and second bytes of any data word appearing on said input bus and the output of said first and second carrier registers; a third 4:1 multiplexer connected to receive as inputs the first, second and third bytes of any data word appearing on said input bus and the output of said first carrier register; and a fourth 4:1 multiplexer connected to receive as inputs the first, second, third and fourth bytes of any data word appearing on said input bus.
Claim 3
Dependent Claim 239 words
Apparatus according to claim 1 wherein said input bus receives word data not aligned along word boundaries and said output bus provides word boundary byte-aligned word data, and wherein: said first multiplexer is connected to receive the first byte of any data word appearing on said input bus at said first multiplexer's 00 input, and the outputs of said first, second and third carrier registers at said first multiplexer's 01, 10 and 11 inputs, respectively; said second multiplexer is connected to receive the first and second bytes of any data word appearing on said input bus at said second multiplexer's 11 and 00 inputs, respectively, and the outputs of said second and third carrier registers at said second multiplexer's 01 and 10 inputs, respectively; said third multiplexer is connected to receive the first, second and third bytes of any data word appearing on said input bus at said third multiplexer's 10, 11 and 11 inputs, respectively, and the output of said third carrier register at said second multiplexer's 01 input; said fourth multiplexer is connected to receive the first, second, third and fourth bytes of any data word appearing on said input bus at said fourth multiplexer's 01, 10 11 and 00 inputs, respectively; and said multiplexers share a common set of select lines, said select lines being connected to receive byte address information regarding the location within said first memory of the first word byte to be byte-aligned.
Claim 4
Dependent Claim 236 words
Apparatus according to claim 1 wherein said input bus receives word-boundary byte-aligned word data and said output bus provides re-aligned word data, wherein: said first multiplexer is connected to receive the first byte of any data word appearing on said input bus at said first multiplexer's 00 input, and the outputs of said first, second and third carrier registers at said first multiplexer's 11, 10 and 01 inputs, respectively; said second multiplexer is connected to receive the first and second bytes of any data word appearing on said input bus at said second multiplexer's 01 and 00 inputs, respectively, and the outputs of said second and third carrier registers at said second multiplexer's 11 and 10 inputs, respectively; said third multiplexer is connected to receive the first, second and third bytes of any data word appearing on said input bus at said third multiplexer's 10, 01 and 00 inputs, respectively, and the output of said third carrier register at said second multiplexer's 11 input; said fourth multiplexer is connected to receive the first, second, third and fourth bytes of any data word appearing on said input bus at said fourth multiplexer's 11, 10, 01 and 00 inputs, respectively; each of said multiplexers shares a common set of select lines, said select lines being connected to receive byte address information regarding the location within said second memory wherein the first re-aligned word byte is to be stored.
Claim 5
Dependent Claim 291 words
Apparatus for word boundary byte-aligning four-byte word data received from a first memory device and providing byte-aligned word data to a second memory device, said apparatus comprising: an input word bus; a first carrier register connected to receive from said input word bus the second byte of any data word appearing on said word bus; a second carrier register connected to receive from said input word bus the third byte of any data word appearing on said word bus; a third carrier register connected to receive from said input word bus the fourth byte of any data word appearing on said word bus; a first 4:1 multiplexer connected to receive as inputs the first byte of any data word appearing on said input bus and the output of said first, second and third carrier registers; a second 4:1 multiplexer connected to receive as inputs the first and second bytes of any data word appearing on said input bus and the output of said first and second carrier registers; a third 4:1 multiplexer connected to receive as inputs the first, second and third bytes of any data word appearing on said input bus and the output of said first carrier register; a fourth 4:1 multiplexer connected to receive as inputs the first, second, third and fourth bytes of any data word appearing on said input bus; each of said multiplexers having a single output; said multiplexers sharing a common set of two select lines for electing the four multiplexer inputs to be gated to said multiplexer outputs; first, second, third and fourth output registers connected to receive the output from said first, second, third and fourth multiplexers, respectively; and an output word bus connected to receive the output of said output registers.
Claim 6
Dependent Claim 291 words
Apparatus for word boundary byte-aligning four-byte word data received from a first memory device and providing byte-aligned word data to a second memory device, said apparatus comprising: an input word bus; a first carrier register connected to receive from said input word bus the second byte of any data word appearing on said word bus; a second carrier register connected to receive from said input word bus the third byte of any data word appearing on said word bus; a third carrier register connected to receive from said input word bus the fourth byte of any data word appearing on said word bus; a first 4:1 multiplexer connected to receive as inputs the first byte of any data word appearing on said input bus and the output of said first, second and third carrier registers; a second 4:1 multiplexer connected to receive as inputs the first and second bytes of any data word appearing on said input bus and the output of said first and second carrier registers; a third 4:1 multiplexer connected to receive as inputs the first, second and third bytes of any data word appearing on said input bus and the output of said first carrier register; a fourth 4:1 multiplexer connected to receive as inputs the first, second, third and fourth bytes of any data word appearing on said input bus; each of said multiplexers having a single output; said multiplexers sharing a common set of two select lines for electing the four multiplexer inputs to be gated to said multiplexer outputs; first, second, third and fourth output registers connected to receive the output from said first, second, third and fourth multiplexers, respectively; and an output word bus connected to receive the output of said output registers.
Claim 7
Dependent Claim 357 words
Apparatus for byte-aligning multiple-byte data words, said apparatus comprising: an input word bus; first latching means comprising: an input for receiving a clock signal; a first carrier register connected to receive from said input word bus the second byte of any data word appearing on said word bus; a second carrier register connected to receive from said input word bus the third byte of any data word appearing on said word bus; and a third carrier register connected to receive from said input word bus the fourth byte of any data word appearing on said word bus; said carrier registers being responsive to the receipt of said clock signal at said first latching means input to latch and hold received word byte data; a data selector comprising: inputs for receiving first and second select signals; a first 4:1 multiplexer connected to receive as inputs the first byte of any data word appearing on said input bus and the output of said first, second and third carrier registers; a second 4:1 multiplexer connected to receive as inputs the first and second bytes of any data word appearing on said input bus and the output of said first and second carrier registers; a third 4:1 multiplexer connected to receive as inputs the first, second and third bytes of any data word appearing on said input bus and the output of said first carrier register; and a fourth 4:1 multiplexer connected to receive as inputs the first, second, third and fourth bytes of any data word appearing on said input bus; each of said multiplexers having a single output and being responsive to said select signals to gate a selected multiplexer input to said multiplexer output; second latching means comprising: an input for receiving said clock signal; and first, second, third and fourth output registers connected to receive the outputs from said first, second, third and fourth multiplexers, respectively; said output registers being responsive to the receipt of said clock signal at said second latching means input to latch and hold received word byte data; and an output word bus connected to receive the output of said second latching means.
Claim 8
Dependent Claim 357 words
Apparatus for byte-aligning multiple-byte data words, said apparatus comprising: an input word bus; first latching means comprising: an input for receiving a clock signal; a first carrier register connected to receive from said input word bus the second byte of any data word appearing on said word bus; a second carrier register connected to receive from said input word bus the third byte of any data word appearing on said word bus; and a third carrier register connected to receive from said input word bus the fourth byte of any data word appearing on said word bus; said carrier registers being responsive to the receipt of said clock signal at said first latching means input to latch and hold received word byte data; a data selector comprising: inputs for receiving first and second select signals; a first 4:1 multiplexer connected to receive as inputs the first byte of any data word appearing on said input bus and the output of said first, second and third carrier registers; a second 4:1 multiplexer connected to receive as inputs the first and second bytes of any data word appearing on said input bus and the output of said first and second carrier registers; a third 4:1 multiplexer connected to receive as inputs the first, second and third bytes of any data word appearing on said input bus and the output of said first carrier register; and a fourth 4:1 multiplexer connected to receive as inputs the first, second, third and fourth bytes of any data word appearing on said input bus; each of said multiplexers having a single output and being responsive to said select signals to gate a selected multiplexer input to said multiplexer output; second latching means comprising: an input for receiving said clock signal; and first, second, third and fourth output registers connected to receive the outputs from said first, second, third and fourth multiplexers, respectively; said output registers being responsive to the receipt of said clock signal at said second latching means input to latch and hold received word byte data; and an output word bus connected to receive the output of said second latching means.

References Cited (Backward Citations)

US3341817A Cited
US3573744A Cited
US3916388A Cited
US4321665A Cited
US4507731A Cited
US4604695A Cited
US4959779A Cited
US4814976A Cited
US4814976C1 Cited
US5051894A Cited
US4961162A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-12-01 1996-06-01 1996-12-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-12-01 2000-06-01 2000-12-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-12-01 2004-06-01 2004-12-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag