Patent US4031520A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4031520A Expired / Lapsed US ⏱️ 0.0 years remaining

Multistage sorter having pushdown stacks with concurrent access to interstage buffer memories for arranging an input list into numerical order

Assignee: CAE Link Corp
•
Filing: 1975-12-22
•
Granted: 1977-06-21
•
Expires: 1995-12-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An input list of N numbers is clocked through a first sort stage having S1 locations entered into an interstage memory as S2 groups of S1 numbers each. The S1 numbers in each group are in numerical order. The first number in each group forms an initial group of S2 numbers which necessarily includes the smallest number of the N input numbers. This initial group is loaded into a second sort stack having S2 locations which arranges the initial S2 numbers in numerical order. The smallest number forms the first number in the output list. A replacement number from the interstage memory is numerically sorted into the second stack each time the smallest remaining number is clocked out. This replacement number is the next number from the same group as the most recently clocked out number. Each new smallest remaining number must either be the second number in the second stack or the replacement number. In one embodiment two candidates exist for the next replacement number: (1) the next number from the same group as the current replacement number and (2) the next number from the same group as the second number. These candidates are addressed in advance of the current output determination to minimize the clock period. Alternatively, preaddressing may be accomplished by having an initial group of 256 numbers -- the two smallest numbers in each of the S2 groups. There is only one candidate for the next replacement number, which candidate may be identified in advance.

Inventors

  • 👤 Michel Alexandre Rohner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 13:23
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/22; G06F7/24

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 442 words
An M stage sorter for arranging input members into a numerical order, comprising: means for grouping the input numbers into groups; a first stage for ordering the input numbers within each of the groups, and formed by: first stage input means for sequentially receiving all of the input numbers within each of the groups; first stage means for comparing each currently received input number to the previously received numbers from the same group; and first stage storage means for inserting each currently received input number into proper numerical order among the numbers previously received from the same group; M-1 subsequent sequential stages for progressively forming fewer groups of more numbers each, the last stage of which provides all of the input numbers in numerical order, each stage formed by: interstage storage means for storing the ordered groups from the preceding stage; stack input means for sequentially receiving each of the numbers stored in the interstage storage means; stack comparing means for comparing each currrently received number to the previously received numbers currently in the sorting stack; stack pushdown storage means for inserting each currently received number into proper numerical order among the previously inserted numbers, which pushdown stormeans progressively fills up from a first-filled position to a last-filled position as each currently received number is inserted; interstage output means for advancing the current number in the last filled position to the next stage; replacement means for holding a replacement number from the interstage storage means for insertion into the stack pushdown storage means via the stack input means and stack comparing means as each current output number is advanced from the last filled position of the pushdown storage means to the interstage output means; candidate pointer means for providing a candidate pointer for a next replacement number candidate for each replacement number from the interstage storage means prior to entering the replacement means for identifying candidates for the next replacement number; first access means for permitting the candidate pointer for the current replacement number in the replacement means to access a first candidate for the next replacement number from the interstage storage means; second access means for permitting the candidate pointer for the current number in the last filled position of the pushdown storage means to access a second candidate for the next replacement number from the interstage storage means; and a candidate comparing means for selecting the next replacement number from the two candidates for entry into the replacement means as the current replacement number is inserted into the stack pushdown storage means; and output means for receiving the numbers in numerical order from the last of the M sequential stages.
Claim 2
Dependent Claim 442 words
An M stage sorter for arranging input members into a numerical order, comprising: means for grouping the input numbers into groups; a first stage for ordering the input numbers within each of the groups, and formed by: first stage input means for sequentially receiving all of the input numbers within each of the groups; first stage means for comparing each currently received input number to the previously received numbers from the same group; and first stage storage means for inserting each currently received input number into proper numerical order among the numbers previously received from the same group; M-1 subsequent sequential stages for progressively forming fewer groups of more numbers each, the last stage of which provides all of the input numbers in numerical order, each stage formed by: interstage storage means for storing the ordered groups from the preceding stage; stack input means for sequentially receiving each of the numbers stored in the interstage storage means; stack comparing means for comparing each currrently received number to the previously received numbers currently in the sorting stack; stack pushdown storage means for inserting each currently received number into proper numerical order among the previously inserted numbers, which pushdown stormeans progressively fills up from a first-filled position to a last-filled position as each currently received number is inserted; interstage output means for advancing the current number in the last filled position to the next stage; replacement means for holding a replacement number from the interstage storage means for insertion into the stack pushdown storage means via the stack input means and stack comparing means as each current output number is advanced from the last filled position of the pushdown storage means to the interstage output means; candidate pointer means for providing a candidate pointer for a next replacement number candidate for each replacement number from the interstage storage means prior to entering the replacement means for identifying candidates for the next replacement number; first access means for permitting the candidate pointer for the current replacement number in the replacement means to access a first candidate for the next replacement number from the interstage storage means; second access means for permitting the candidate pointer for the current number in the last filled position of the pushdown storage means to access a second candidate for the next replacement number from the interstage storage means; and a candidate comparing means for selecting the next replacement number from the two candidates for entry into the replacement means as the current replacement number is inserted into the stack pushdown storage means; and output means for receiving the numbers in numerical order from the last of the M sequential stages.
Claim 3
Dependent Claim 44 words
The M stage sorter of claim 1, wherein the candidates for the next output number from each pushdown stack storage means are the current replacement number in the replacement means and the number in the next-to-last filled position of the stack pushdown storage means.
Claim 4
Dependent Claim 71 words
The M stage sorter of claim 2, wherein: the first candidate for the next replacement number is the next number from the same group in the interstage storage means as the current replacement number; and the second candidate for the next replacement number is the next number from the same group in the interstage storage means as the current number in the last filled position of the stack pushdown storage means.
Claim 5
Dependent Claim 52 words
The M stage sorter of claim 3, further comprising M-1 initialization means, one within each of the subsequent M-1 stages, for causing the first number from each group within the preceding interstage storage means to initially enter the stack input means for sorting into numerical order in the stack push-down storage means.
Claim 6
Dependent Claim 35 words
The M stage sorter of claim 4, wherein each interstage storage means has a first and a second storage device, each of which stores all of the input numbers as they pass between sequential stages.
Claim 7
Dependent Claim 87 words
The M stage sorter of claim 5, wherein the first storage device is responsive to the candidate pointer for the replacement number in the replacement means via the first access means for addressing within the first storage device the first candidate for the next replacement number, and the second storage device is responsive to the candidate pointer for the second number in the stack pushdown storage means via the second access means for addressing within the second storage means the second candidate for the next replacement number.
Claim 8
Dependent Claim 62 words
The M stage sorter of claim 6, wherein both candidates for the next replacement number are concurrently addressed within the first and second storage device via the first and second access means as the current number in the last position is advanced to the interstage output means, permitting the next replacement number to be selected and immediately entered into the replacement means.
Claim 9
Dependent Claim 39 words
The M stage sorter of claim 7, wherein the first and second storage devices between each sequential stage are a first and second storage buffer, each of which identically stores the input numbers as the pass between sequential stages.
Claim 10
Dependent Claim 36 words
The M stage sorter of claim 8, further comprising M-1 buffer pointer means, one for each subsequent stage for providing each number stored in the storage buffers with a unique pointer for addressing the storage buffers.
Claim 11
Dependent Claim 20 words
The M stage sorter of claim 9, wherein each buffer pointer means is a counter for establishing sequential buffer pointers.
Claim 12
Dependent Claim 67 words
The M stage sorter of claim 10, further comprising M-1 buffer switching means, one associated with each subsequent stage between the first and second storage buffers and the replacement means, for receiving both candidates for the next replacement number from the storage buffers, and responsive to the candidate comparing means for directing the selected one of the candidates for the next replacement number into the replacement means.
Claim 13
Dependent Claim 16 words
The M stage sorter of claim 11, wherein the buffer switching means is a 2:1 multiplexer.
Claim 14
Dependent Claim 46 words
The M stage sorter of claim 11, wherein: the buffer pointer means provides a pointer for each number stored in the storage buffers; and the candidate pointer means increments the buffer pointer for each number to address a candidate for the replacement number for each number.
Claim 15
Dependent Claim 24 words
The M stage sorter of claim 13, wherein the number of numbers in each group (P) is equal to the number of groups (Q).
Claim 16
Dependent Claim 18 words
The M stage sorter of claim 13, wherein the number of input numbers is 256, M=2, and P=Q=16.

References Cited (Backward Citations)

US3015089A Cited
US2984822A Cited
US3013249A Cited
US3273127A Cited
US3388383A Cited
US3399383A Cited
US3740538A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1980-06-20 1980-12-20 1981-06-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1984-06-20 1984-12-20 1985-06-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1988-06-20 1988-12-20 1989-06-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag