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

Apparatus for performing modulo arithmetic with three-port adder

Assignee: Intel Corp
•
Filing: 1991-03-06
•
Granted: 1993-08-03
•
Expires: 2011-03-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for emulating the intermediate 16-bit truncation of the address in the 8086 architecture using a 32-bit adder. The preferred embodiment of the invention adds the displacement, base address, and segment base values in a three-port carry save adder. The displacement value and base address are also added together in a two-port full adder. The outputs of the three-port carry save adder and two-port full adder are then compared to determine whether a carry from bit 16, if any, resulted from the addition of the displacement and base address value or the addition of the segment base value. A logic unit determines whether a carry into bit position 16 of the linear address is modified. If the carry is the result of the addition of the segment base value to the effective address, the carry is not modified. If the carry is the result of the addition of the base and displacement value, the carry is modified by forcing the bit position 16 to zero.

Inventors

  • 👤 Myron Shak
  • 👤 Timothy E. Decker
  • 👤 Jim S. Blomgren

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 17:26
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/50; G06F7/505; G06F12/00; G06F12/02; G06F12/0223; G06F12/0292; G06F9/00; G06F9/06; G06F9/30; G06F9/34; G06F9/342; G06F9/355; G06F9/3552; G06F7/499; G06F7/49931

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 103 words
An apparatus for calculating a sum of a first, second and third values comprising: a two stage adder for adding said first, second and third values, said two stage adder including a first stage adder for outputting an intermediate carry and a second stage adder for outputting a sum; and a logic means, coupled to said two stage adder for determining if said intermediate carry of said first stage adder results from the addition of said first and second values, and for modifying said intermediate carry if said logic means determines said carry results from the addition of said first and second values.
Claim 2
Independent Claim 103 words
An apparatus for calculating a sum of a first, second and third values comprising: a two stage adder for adding said first, second and third values, said two stage adder including a first stage adder for outputting an intermediate carry and a second stage adder for outputting a sum; and a logic means, coupled to said two stage adder for determining if said intermediate carry of said first stage adder results from the addition of said first and second values, and for modifying said intermediate carry if said logic means determines said carry results from the addition of said first and second values.
Claim 3
Dependent Claim 32 words
The apparatus of claim 1 further comprising a second adder for adding said first and second values and indicating the presence of a carry at a bit position of said intermediate carry.
Claim 4
Dependent Claim 18 words
The apparatus of claim 2 wherein said first and second values are a base address and a displacement.
Claim 5
Dependent Claim 14 words
The apparatus of claim 3 wherein said third value is a segment base value.
Claim 6
Dependent Claim 31 words
The apparatus of claim 1 wherein the inputs to said logic means include a bit 15 carry of said second adder, and a bit 15 carry of said two stage adder.
Claim 7
Dependent Claim 52 words
The apparatus of claim 1 wherein said first stage adder is a three-port carry save adder producing a sum and a carry bit for each bit position and, said two stage adder further comprises a second stage full adder for producing a final sum from said first stage sum and carry bits.
Claim 8
Independent Claim 68 words
An apparatus for calculating a linear address of an instruction, comprising: a two stage adder for adding three values, including a base and a displacement; and a logic means, coupled to said two stage adder, for determining if the addition of said base and displacement causes a carry at a next bit position past an intermediate bit position, and for inhibiting said carry at said next bit position.
Claim 9
Independent Claim 68 words
An apparatus for calculating a linear address of an instruction, comprising: a two stage adder for adding three values, including a base and a displacement; and a logic means, coupled to said two stage adder, for determining if the addition of said base and displacement causes a carry at a next bit position past an intermediate bit position, and for inhibiting said carry at said next bit position.
Claim 10
Dependent Claim 32 words
The apparatus of claim 7 further comprising a second adder for adding said first and second values and indicating the presence of a carry at a bit position of said intermediate carry.
Claim 11
Dependent Claim 20 words
The apparatus of claim 8 wherein said three values are a base address, a displacement, and a segment base value.
Claim 12
Dependent Claim 35 words
The apparatus of claim 7 wherein the inputs to said logic means include a bit 15 carry of said second adder, and a bit 15 carry of said first stage of said two stage adder.
Claim 13
Dependent Claim 44 words
The apparatus of claim 7 wherein said two stage adder comprises a first stage producing a sum and a carry bit for each bit position and a second stage full adder for producing a final sum from said first stage sum and carry bits.
Claim 14
Independent Claim 102 words
A method for calculating an address from a first, second and third values comprising the steps of: first, adding said first, second and third values in a two stage adder, said two stage adder including a first stage adder for outputting an intermediate carry; second, determining in a logic unit coupled to said two stage adder if an intermediate carry in said first step results from the addition of said first and second values; and third, modifying said intermediate carry inn said logic unit if said second step determines said intermediate carry results from the addition of said first and second values.
Claim 15
Independent Claim 102 words
A method for calculating an address from a first, second and third values comprising the steps of: first, adding said first, second and third values in a two stage adder, said two stage adder including a first stage adder for outputting an intermediate carry; second, determining in a logic unit coupled to said two stage adder if an intermediate carry in said first step results from the addition of said first and second values; and third, modifying said intermediate carry inn said logic unit if said second step determines said intermediate carry results from the addition of said first and second values.
Claim 16
Dependent Claim 18 words
The method of claim 12 wherein said first and second values are a base address and a displacement.
Claim 17
Dependent Claim 14 words
The method of claim 12 wherein said third value is a segment base value.
Claim 18
Dependent Claim 50 words
The method of claim 12 further comprising an intermediate step of adding said first and second values, and wherein said second step includes the steps of providing as inputs to a logic unit a bit 15 carry of said intermediate step, and a bit 15 carry of said first step.
Claim 19
Independent Claim 173 words
An apparatus for calculating an address from a base address, displacement and segment base values comprising: a three-port adder including a three-port carry save adder first stage for adding said base address, a displacement and segment base values producing a sum and a carry bit for each bit position and a second stage consisting of a full adder for producing a final sum from said first stage sum and carry bits; means for adding said base address and displacement values; logic unit for determining if an intermediate carry produced by said three-port carry save adder first stage resulted from the addition of said base address and displacement values, the inputs to said logic unit being a bit 15 carry of said means for adding and a bit 15 carry of said three-port carry save adder first stage, said logic unit being coupled to said full adder of said second stage, said logic unit inhibiting said intermediate carry if said logic unit determines said intermediate carry results from adding said base address and displacement.
Claim 20
Independent Claim 173 words
An apparatus for calculating an address from a base address, displacement and segment base values comprising: a three-port adder including a three-port carry save adder first stage for adding said base address, a displacement and segment base values producing a sum and a carry bit for each bit position and a second stage consisting of a full adder for producing a final sum from said first stage sum and carry bits; means for adding said base address and displacement values; logic unit for determining if an intermediate carry produced by said three-port carry save adder first stage resulted from the addition of said base address and displacement values, the inputs to said logic unit being a bit 15 carry of said means for adding and a bit 15 carry of said three-port carry save adder first stage, said logic unit being coupled to said full adder of said second stage, said logic unit inhibiting said intermediate carry if said logic unit determines said intermediate carry results from adding said base address and displacement.
Claim 21
Independent Claim 157 words
A method for calculating an address from a first, second and third values comprising the steps of: adding said first and second values in a single stage adder, said single stage adder outputting a first intermediate carry; adding said first, second and third values in a two stage adder, said two stage adder including a first stage adder for outputting a second intermediate carry and a second stage adder for outputting a sum, wherein said first value is a base address, said second value is a displacement, sad said third value is a segment base value; providing as inputs to a logic unit coupled to said two stage adder said first and second intermediate carries; determining if said second intermediate carry results from the addition of said first and second values; and third, modifying said second intermediate carry if said determining step determines said second intermediate carry results from the addition of said first and second values.
Claim 22
Independent Claim 157 words
A method for calculating an address from a first, second and third values comprising the steps of: adding said first and second values in a single stage adder, said single stage adder outputting a first intermediate carry; adding said first, second and third values in a two stage adder, said two stage adder including a first stage adder for outputting a second intermediate carry and a second stage adder for outputting a sum, wherein said first value is a base address, said second value is a displacement, sad said third value is a segment base value; providing as inputs to a logic unit coupled to said two stage adder said first and second intermediate carries; determining if said second intermediate carry results from the addition of said first and second values; and third, modifying said second intermediate carry if said determining step determines said second intermediate carry results from the addition of said first and second values.

References Cited (Backward Citations)

US4831570A Cited
US4852040A Cited
US4893267A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag