SE445683B - Apparat for att omarrangera dataelement i en onskad sekvens - Google Patents

Apparat for att omarrangera dataelement i en onskad sekvens

Info

Publication number
SE445683B
SE445683B SE8400011A SE8400011A SE445683B SE 445683 B SE445683 B SE 445683B SE 8400011 A SE8400011 A SE 8400011A SE 8400011 A SE8400011 A SE 8400011A SE 445683 B SE445683 B SE 445683B
Authority
SE
Sweden
Prior art keywords
elements
sorting
module
key
rearranging
Prior art date
Application number
SE8400011A
Other languages
English (en)
Other versions
SE8400011D0 (sv
SE8400011L (sv
Inventor
A Huang
Original Assignee
Western Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Electric Co filed Critical Western Electric Co
Publication of SE8400011D0 publication Critical patent/SE8400011D0/sv
Publication of SE8400011L publication Critical patent/SE8400011L/sv
Publication of SE445683B publication Critical patent/SE445683B/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Sorting Of Articles (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

25 30 35 8400011-6 Z hastighetsbegränsningar har olika förverkliganden med maskinvura utarbetats för bubbelsortering med användning av konventionell teknologi med integrerade kretsar och anordningar med magnetbubbelomräden. Ett exempel på det senare är beskrivet i en artikel av D.T. Lee et al med titeln "An On-Chip Compare/Steer Bubble Sorter", lägg Trans. on Computers, volym C-30, nr 6, juni 1981, sidor- na 396-405 (se speciellt fig 6), under det att en IC- utformning är beskriven i en artikel av P.G. Jansen et al med titeh1'Ühe DIMOND: A Component fot the Modulator Construction of Switching Networks", IEE Trans. on Computers, volym C-29, nr 10, oktober 1980, sidorna 884-889 (se speciellt fig 8).
Effektiviteten av vart och ett av de tidigare kända bubbelsorteringsarrangemangen måste mätas med avseende på ett stort antal faktorer, till exempel den tillgängliga prestationen och latensen samt den erforderliga minnes- storleken. Föreliggande apparat är begränsad med avseende på det antal element, som kan sorteras i varje sats och utformningen är inte lämpad för modultillverkning med användning av VLSI-teknologi. Många av de kända sorterings- arrangemang, som har lyckats förbättra prestationsförmågan med avseende på något av de ovanstående kriterierna har inte desto mindre varit dyrbara och svåra att realisera.
Sammanfattning av uppfinningen Problemen löses enligt denna uppfinning för apparater för omarrangering av dataelement i en önskad sekvens, i vilken modulen innefattar en detekteringskretskoppling 'för att detektera om ett av de sekventiellt applicerade elementen i paret är ett unikt distanselement samt en första kretskoppling, som reagerar för detekteringen av det unika distanselementet för utmatning av ett par _ element, inkluderande det unika distanselementet, i samma ordning som paret av element mottogs av modulen.
Föreliggande uppfinning innefattar en seriekedja av identiskt likadana sorteringsmoduler, vilka alla kan klockstyras gemensamt. De för sortering avsedda data- elementen uppträder i satser, varvid varje element normalt har ett värde, som bestämmer den ordning, i vilken detta 10 15 20 25 30 css __..-uwnvwnwwnwvw~wmuunuuvuunu_____u axlar: 8400011-6 element skall arrangeras jämfört med andra element i satsen. Vid varje klockpuls ínplacerus ett element i den första modulen och varje modul innehållande två ele- ment är anordnad att jämföra elementens värden och att överföra något av elementen till nästa modul, beroende på den önskade sorteringstypen. Elementen kan sorteras numeriskt, alfabetiskt eller i övrigt i överensstämmelse med något annat förutbestämt förhållande. De icke fram- släppta tecknen bibehålles och används vid den följande jämförelsen.
Enligt föreliggande uppfinning är varje modul anord- nad att igenkänna ett speciellt "distans"-element, som föregår en sats element, som skall sorteras, eller som separerar en sats element från den följande. När ett distanselement mottages av en sorteringsmodul föres distanselementet och det andra element, som ingår i den- samma, ut (vid de följande två klockpulserna) i samma ordning som de mottogs. Detta gör att en kedja med N sorteríngsmoduler, anordnade såsom beskrivits ovan, effektivt kan sortera satser av upp till N element så länge elementen i varje sats är åtskilda av ett distans- element. Som resultat ökas prestationen och arrangemanget är mera flexibelt än en konventionell bubbelsorterare.
Ett likadant system kan användas för att sortera poster, som innefattar data och en därtill hörande nyckel.
Vid denna utformning föres nycklarna in i sorterings- modulerna, under det att motsvarande data omarrangeras av en serie slavmoduler.
Den effektiva sortering, som möjliggöres genom före- liggande uppfinning, kan även användas för att utföra permutationer genom omplacering eller manipulering av postnycklarna på ett önskat sätt. Såsom exempel kan sekvensen av en serie element omkastas i tid genom att elementen tilldelas nycklar i minskande ordning. Sorte- ring av dessa poster i ökande nyckelordning kommer sedan att ge elementen i omkastad tidssekvens. , En speciell applikation är växlingen av tidsluckor i en tidsmultiplexerad signal. Exempelvis kan varje tids- lucka i en tidsmultiplex signal betraktas såsom datadelen 10 15 Z0 30 35 8400011-6 av en post. Genom att associera en nyckel med data i varje tidslucka kan luckornas ordning bekvämt ändras helt enkelt genom behandling av posterna med användning av sorteringssystemet enligt föreliggande uppfinning.
Kort beskrivning av ritningen Föregående och ytterligare särdrag och fördelar med föreliggande uppfinning kommer att framgå bättre vid be- traktande av den följande detaljerade beskrivningen i samband med den bifogade ritningen, på vilken: Fíg 1-3 visar hur en serie element sorteras med använd- ning av ett tidigare känt bubbelsorteringsförfarande; fig 4-6 visar hur två satser av element behandlas med användning av bubbelsortering enligt föreliggande uppfin- ning; fig 7 och 8 visar blockdiagram för olika utförings- former av moduler, anordnade att sortera poster, som är utformade i överensstämmelse med föreliggande uppfinning; fig 9 visar ett alternativt arrangemang för utförande av distanselemcntdetekteringsfunktionen i sorteríngs- modulen enligt fig 8; fig 10 visar ett blockschema för en tidigare känd tids- luckväxlare; fig 11 visar användningen av en seriekedja av post- sorteringsmoduler, till exempel de i fig 7 eller 8, för växling av tidsluckorna för en tidsmultiplex (TDM)-signal; och fig 12 visar användningen av en kedja av postsorterings- moduler av den i fig 7 eller 8 visade typen för att om- arrangera tomma tidsluckor i en TDM-signal.
Detaljerad beskrivning Fig 1-3 visar grafiskt start-, mellan- respektive slut- cykler vid en konventionell bubbelsorteringsoperation. I alla dessa figurer används samma hänvisningsbeteckningar för samma element. Såsom visas i fig 1 antages att en sekvens av tio element, som har de numeriska värdena 8, 0, 1, 9, 7, 5, 3, 6, 4 och 8, skall sorteras och att elementen förladdas vid tidpunkten t=0 i ett tio-posí- tions-skiftregister 101 med enskilda minnesceller 101-1 - 101-10. Vid varje efterföljande klockpuls d på 10 _15 20 25 30 35 8400011-6 ledningen 102 flyttas regístrets 101 innehåll åt höger och det element, som just finns i cellen 101-1, applice- ras pâ ingången hos en seriekedja 111 av tio sorterings- modulcr 111-1 - 11-10.
Varje sorteringsmodul är anordnad att lagra två applicerade dataelement i minneselement, som visas grafiskt såsom övre och undre halvor, och att lagra värdena för de lagrade elementen för att utvälja ett ele- ment, beroende på den önskade sorteringstypen. I det föl- jande exemplet kommer ett arrangemang för åstadkommande av en lägsta till högsta ordning att beskrivas. Varje modul applicerar det valda dataelementet på sin utgång, som är kopplad till den följande sorteringsmodulen eller ansluten till en utnyttjningsanordning då det gäller den sista modulen. Samtidigt accepterar varje modul vid sin ingång ett efterföljande dataelement från den föregående modulen eller från registret 101 då det gäller den första modulen. Normalt arbetar modulerna synkront under styrning av klockpulser ø från en klockpulskälla (icke visad).
Den sista modulens 111-10 utgång är kopplad till en ut- nyttjningsanordning, till exempel till registret 121, vilket (liksom registret 101) innehåller tio minnesceller 121-1 - 121-10 och vilket klockstyres av pulser ø på led- ningen 102.
Såsom visas i fig 1 startas alla sorteringsmodulerna 111-1 - 111-10 vid tidpunkten t=0 och varje modul inne- håller två dataelement med "mycket små" värden, symboli- serade med bokstaven "s". Definitionsmässigt är värdet "s" mindre än yarjg väntat värde i den sats av dataelement, som skall sorteras. Startandet kan åstadkommas på ett flertal sätt och är nödvändigt vid tidigare kända arrange- mang av skäl, som skall beskrivas nedan. Vid tidpunkten t=0, efter det att en klockpuls ø har uppträtt, har registrets 101 innehåll skiftat en position åt höger och dataelementet med värdet "8" från minnescellen 101-1 lag- ras nu i sorteringsmodulen 111-1. Eftersom alla modulerna 111-1 - 111-10 från början innehöll element med samma värde s före förekomst av den första klockpulsen skiftades innehållet i en mínnescell (grafiskt den övre halvan) i 10 15 20 25 30 ,35 8400011-6 0 varje modul och det element, som mottog värdet "8" fràn minnescellen 101-1, fyller den tomma minnescellen i modulen 111-1 vid slutet av den första klockcykeln.
Elementet med utgångsvärdet "s" från den sista sorterings- modulen 111-10 måste elimineras, eftersom detta element inte tjänar någon ytterligare användbar funktion.
Efter det att den följande klockpulsen (t=0) har upp- trätt har innehållet i registret 101 åter skiftat åt höger och elementet med "O"-värde från minnescellen 101-1 har utgjort inmatning till sorteríngsmodulen 111-1.
Eftersom modulen 111-1 samtidigt jämför värdena 8 och "s" för de element, som nu är lagrade i dess två minnesceller, och överför elementet med värdet "s" till modulen 111-2, införes elementet med värdet "0" i den just tömda cellen (nedre halvan) hos modulen 111-1. De återstående moduler- na arbetar alla på ett liknande sätt. Eftersom alla andra moduler vid tidpunkten t=Z innehåller element med värdet "s" "pulserar" dessa element i själva verket genom de tömda cellerna (övre halvor) hos de återstående modulerna och att andra element med värdet "s" elimineras.
Den föregående processen upprepas vid varje efter- följande klockpuls ø. Efter den tredje klockpulsen har en jämförelse skett i modulen 111-1 mellan nyckelvärdena (8 och 0) hos de första två ingångselementen. Värdet är mindre och detta element appliceras på den följande modulen 111-2 i kedjan. När ännu en klockpuls uppträder jämföres värdet "O" med värdet för "s" i modulen 111-2; såsom angivits tidigare är värdet på "s" mindre och detta element skiftas. För att göra lokalíseringen av det ele- ment, som skall skiftas, lättare att detektera i den grafiska representationen i fig 1-3 har ett hörn av den övre eller undre modulhalva, som innehåller tecknet med H0!! det lägre värdet (för applicering av den följande pulsen d) skuggats.
Vid slutet av tio klockcykler har registret 101 tömts och dess innehåll är nu helt lagrat i sorteringsmoduler- na 111-1 - 111-5, vilka var och en lagrar två element.
Det är nu viktigt av nedan beskrivna skäl att börja rensa eller göra ren sorteringsmodulkedjan med element med 10 15 20 25 30 35 8400011-6 "stora" värden, betecknade med symbolen "L", vilka är större än varje möjligt värde, som redan finns i sorte- ríngsmodulerna. Införande av elementen med "stora" värden (20 erfordras l detta exempel) kan åstadkommas enkelt genom att bifoga element med de önskade stora värdena vid slutet av varje sats element, som det är önsk- värt att sortera, eller genom omställning av en ström- ställare 125, så att element med större värden lagrade i ett hjälpregister 130 appliceras på sorteringsmodul- kadjan efter det att elementen i varje sats helt har in- förts i kedjan.
Vi fortsätter med samma exempel men hänvisar till fig 2, varvid det första elementet med värdet "L", efter den 11:e klockpulsen (t=11), har inpasserat i sorterings- modulen 111-1. När 14 klockpulser har uppträtt ser man i fig Z att elementen är i den önskade sorterade ordningen.
Elementen måste emellertid behandlas via de kvarvarande modulerna, eftersom N moduler är nödvändiga vid sortering av andra satser med upp till N element. Efter det att 20 klockpulser har uppträtt är elementen färdiga att passera från modul 111-10. I åskådliggörande syfte visar fig 3 inpassage av från sorteringsmodulerna i registret 121 utställda element under de följande tio cyklerna, så att registret 121 vid slutet av 30 klockpulser är fyllt med de element, som har sorterats i den önskade ordningen, det vill säga element med de lägsta värdena först. Data- element med värdet "L" fyller nu alla 20 minnescellerna i sorteringsmodulerna 111-1 - 111-10 och dessa element kan utbytas mot element, som har värdet "s", vid förberedelse för sortering av den följande satsen.
Syftet med att åstadkomma först "s"-värden och till sist "L"-för-och-eftervärden vid kända bubbelsorterings- arrangemang är att separera element i närliggande satser applicerade pà seriekedjan av sorteringsmoduler och att hindra element från en sats från att infiltrera elementen i en föregående eller efterföljande sats. Om exempelvis det första elementet med värdet "L" i stället hade ett värde, som inte var större än värdena för alla tidigare element så skulle det röra sig framåt bland några av de 10 15 20 25 30 35 8400011-6 8 föregående elementen i sorteringsmodulerna med interval- let mellan den 10:e och den 30:e klockpulsen, vilket g skulle ge_ett fel. Om på samma sätt initialelementet med värdet "s" i stället hade ett värde, som var något mindre än värdena för alla efterföljande element så skulle elementen med de minsta värdena passera vissa av element- en i den föregående satsen, vilket återigen skulle resultera i en inkorrekt sorteringsutsekvens. Störning mellan satser kan ytterligare åskådliggöras genom betrak- tande av de tio element, som ursprungligen var lagrade i registret 101, såsom tillhörande två bestämda satser, in- kluderande fyra respektive sex element, utan några speciel- la för- eller efterelement ("s") respektive ("L"-värden) anordnade för separering. Efter det att dessa tio ele- ment (8-0-1-9 och 7-5-3-6-4-8) har lagrats är det önskade resultatet 0-1-8-9 och 3-4-S-6-7-8. Eftersom skillnaden mellan dessa element i olika satser har förlorats är den första grupp av element, som verkligen âstadkommes, 0-1-3-4 och den andra gruppen 5-6-7-8-8-9.
Anordnande av speciella element såsom för- och efter- element för varje sats om n element kan mer än fördubbla den tid, som erfordras för att sortera från Zn till 4n klockcykler, eftersom påbörjande med element, som har "s"-värden, eller rening av elementen med "L"-värden var för sig måste utföras i serieform över ett intervall om 2n klockcykler. Ändringen från element, som har Zn tidigare "L"-värden till den följande gruppen om Zn ele- ment med "s"-värden kan emellertid ibland utföras sam- tidigt i en klockcykel; eljest krävs likväl en ny Zn- -period. Förlust i behandlingshastighet, förorsakad av den beskrivna start-renings-processen är ännu allvarliga- re, på en relativ bas, i konventionella bubbelsorterare, som förverkligats med maskinvara. Speciellt har kedjan av sorteringsmoduler normalt gjorts tillräckligt lång för att hantera den största sats element, som skall sorteras, varvid N moduler är anordnade för en väntad maximal satsstorlek om N element. Om korta satser på- träffas måste hela sorteringsmodulkedjan inte desto mindre startas och rengöras med användning av tvâ N 10 15 20 25 30 35 8400011-6 speciella 5-och L-för/efter-element. l detta fall kräver start/rengöring mera tid än vad som erfordras för verklig sortering.
De svårigheter, som uppstår på grund av den just be- skrivna start/rengöringsprocessen undvikes enligt förelig- gande uppfinning genom införande av ett distanselement med ett unikt värde mellan varje sats av för lagring av- sedda elemcnt och genom att varje sorteringsmodul göres känslig för närvaro av distanselementet, vilket visas grafiskt i fig 4-6 såsom en asterisk "*". När ett distanselement detekteras av en modul är denna modul an- ordnad att utmata lagrade element i samma ordning, som de applicerades, under de följande två klockpulserna.
Detta arrangemang säkerställer att elementen från varje sats inte kommer att infiltrera elementen från föregående eller efterföljande satser. Såsom illustration antas samma tio element med samma värden, som användes i exemp- let för fig 1-3, utgöra en första sats med fyra element (8-0-1-9) och en andra sats med sex element (7-5-3-6-4-8).
Satserna är emellertid separerade genom ett extra distans- element eller en unik nyckel, som har ett unikt värde, symboliserat genom "*" i fig 4. I detta exempel antas att sorteringsmodulerna 111-1 - 111-10 från början innehåller element med värden "P" från en eller flera tidigare satser och att den närmaste inmatningen till modulen 111-1 utgöres av ett distanselement, som separerar den tidigare satsen element från den just för behandling av- sedda satsen, som har värden 8-0-1-9 och som lagras i regístercellerna 101-1 - 101-4.
Efter det att den första klockpulsen (t=1) har före- kommit har det tidigare element, som är lagrat i ett av mínnescellerna (undre halvan) hos sorteringsmodulen 111-1, skiftats till den följande modulen 111-2 och startelementet med värdet (8), lagrat i minnescellen 101-1, har ersatt detsamma. Detta inträffar, emedan distanselementet, representerat av asterisksymbolen "*", var det sista element, som passerade in i modulen 111-1.
När distanselementet detekterades bringades modulen 111-1 att kvarhålla detta element och att släppa fram de andra 10 TS 20 ZS 30 35' 8400011-6 10 lagrade elementen till den efterföljande modulen. Av sam- ma skäl överfördes distanselementet, efter den andra klockpulsen (t=2), till modul 111-Z, eftersom det då inte är det element, som senast inpasserat i modulen 111-1.
Efter fyra klockpulser ingår, såsom visas i fig 4, alla elementen i den första satsen i sorteríngsmodulerna 111-1 och 111-2. När den följande klockpulsen uppträder inpasse- rar det distanselement, som följer efter den första satsen och separerar den från den efterföljande satsen, i modulen 111-1.
Driften av sorteringsmodulerna vid närvaro av ett distanselement åskådliggöres ytterligare genom jämförelse av modulernas status före och efter den 6:e klockpulsen.
Det framgår att distanselementet i sorteringsmodulen 111-3 har flyttat till den följande modulen i detta inter- vall, eftersom detta element redan hade varit på plats under två klockcykler. Å andra sidan har distanselementet i modulen 111-1 inte flyttats, eftersom detta element hade införts först vid den föregående cykeln och därför var det senast införda elementet. Sammanfattningsvis arbetar sorteringsmodulerna enligt föreliggande uppfin- ning genom att jämföra två lagrade elements värden vid varje klockcykel och genom att applicera ett element pà den följande modulen, beroende pá förhål- landet mellan elementens värden. Normalt jämföres elementens värden, antingen numeriskt, alfabetiskt eller i överensstämmelse med något annat önskat för- hållande. När ett distanselement, som har ett unikt värde detekteras behandlas det emellertid speciellt och modulen arbetar annorlunda. Valet av ett element för över- föring till den följande modulen är nu baserat på den ordning, i vilken elementen applicerades på denna modul.
Det äldsta elementet appliceras på de följande modulerna oberoende av sitt värde, under det att det sist applice- rade elementet kvarhålles i varje modul under ett klock- intervall. _ Vi fortsätter nu med en beskrivning av fig S, varvid, efter det att den 12:e klockpulsen har inträffat, de sex elementen i den andra satsen samt det distanselement, som separerar denna sats från ännu en sats, helt har in- 10 15 20 25 30 35 8400011-6 11 passerat isorteríngsmodulkedjan. Ännu fler element kan ínpassera efter denna sats men för detta syfte med exemplet har dessa element helt enkelt betecknats med symbolen "A".
Sorteríngsapparatens drift fortsätter under flera ytterligare cykler till dess initíalelementet, efter den 20:e cykeln (se fig S), i den första satsen är redo att utgöra utmatning från modulen 111-10. Utgàngselementen kan införas i ett minnesregister eller appliceras på en annan utnyttjningsanordning. I illustrativt syfte visas emellertid elementen i fig 6 såsom de inkommer i och skiftas genom registret 121. Såsom kommer att framgå har, efter 30 klockpulser, båda satserna element sorterats korrekt utan att tid gått förlorad för att starta eller rengöra sorteringsmodulerna med speciella element, som har de små, (s) eller stora (L) nyckar, vilka erfordrades vid kända arrangemang, vilka angivits genom de i fig 1-3 visade exemplen.
Ett blockschema för en utföringsform av en post- sorteringsmodul, anordnat enligt föreliggande uppfin- nings principer, visas i fig 7. Principíellt innefattar varje postsorteringsmodul en sorteringskrets 700 för sortering av nycklar, som hör samman med varje post på det just beskrivna sättet, samt en slavkrets 750 för att omarrangera data hos varje post i samma sekvens som den motsvarande nyckeln. Sorteríngskretsen 700 mottager de nycklar, som hör samman med varje post, och utför en sortering på det ovan beskrivna sättet genom att jämföra nycklarna och utvälja en nyckel för utmatningen på basis av det relativa värdet eller ordningen för inpasserande av nycklarna. Slavkretsen 750 mottager data från den post, som har den motsvarande nyckeln, och utväljer data hos en post för utmatningen, när den motsvarande nyckeln valdes i sorteringskretsen.
För att utföra nyckelsortering utgör en nyckel, som hör samman med en post, inmatníngen på ledningen 740 och den införes i det ena eller det andra av de två nyckel- registren 701 och 702 vid förekomst av en följande klock~ puls d, som genereras av en inte visad klockkälla. Det 10 15 20 25 30 fw 84ÛÛ011~6 12 speciella registret av nämnda register, vilket mottager nyckeln, beror på vilken av nycklarna, lagrade i dessa register, som valdes för applícering på sorterings- kretsen hos den följande modulen i kedjan. Detta val göres vanligen genom jämförelse av värdena för de nyck- lar, som är lagrade i registren 701 och 702, vilka är be- tecknade "A" respektive "B" för att underlätta den följan- de beskrivningen. I det fall, då en av de lagrade nycklar- na har ett unikt värde, vilket igenkännes såsom ett distanselement, ignoreras emellertid värdena och nycklar- na placeras ut i samma tidsordning, i vilken de passerade in i registren 701 och 702. Val, baserat på nyckelvärde, utföres i en komparator 703, som mottager insignaler (det vill säga A och B) från båda registren 701, 702 och åstadkommer en hög utsignal på ledningen 707 om A 5 B, när det är önskvärt att exempelvis sortera elementen i lägsta till högsta numeriska ordning. Om den motsatta numeriska ordningen önskas modifieras komparatorn 703 lätt för ästadkommande av en hög utsignal, när A ¿ B.
När den i registret 701 lagrade nyckeln (A) är mindre än nyckeln (B) i registret 702 släpps komparatorns 703 höga utsignal genom AND-grinden 711 och OR-grinden 712 och sändes till aktiveringsingángen 721 hos registret 701, vilket bringar den för närvarande lagrade nyckeln (A) att sändas ut på ledningen 731, under det att den nya nyckeln (på ingångsledningen 740) föres in i regist- ret. Invertering av OR-grindens 712 höga utsignal med an- vändning av ínverteraren 716 säkerställer att registrets 702 aktiveringsingång 722 inte aktiveras, när A 3 B.
Nyckeln A är kopplad till sorteringskretsens 700 utgång 711 via en multiplexoromkopplare 705, som även mottager en positionsstyrínsignal från OR-grinden 712. Såsom visas i fig 7 kopplar omkopplaren 705 värdet A till ut- gången 710, när OR-grindens 712 utsignal är hög. När nyckeln i registret 701 är större än nyckeln i regist- ret 702 (A > B) är, alternativt, AND-grindens 711 och OR-grindens 712 utsignaler låga, vilket bringar inverte- raren 716 att aktivera registret 702 (vin ledningen 722) för applícering'av dess lagrade nyckel på omkopplaren 705 10 15 20 25 30 35 8400011-6 ~ 13 samt för att acceptera den följande nyckeln från led- ningen 740. Nyckeln B är kopplad till utgången 715 via den omställda omkopplaren 705.
Sorteríngskretsen enligt fig 7 innefattar även en distanselementdetektor 704, som mottager insignaler från de båda registren 701 och 702 och övervakar närvaron av ett unikt distanselementvärde í vilken minnescell som helst. Vid detektering blir detektorns utsignal hög, vil- ket avaktiverar AND-grinden 711 på grund av inverteraren 714 och aktiverar AND-grinden 713 för genomsläppning av en signal, som erhålles från den inverterade (QÜ utgång- en hos en vippa 706, till OR-grinden 712. Vippan 706 tjänar såsom ett enbitsminne genom att den mottager ut- signalen från OR-grinden 712 vid sin dataingáng (D-in- gång) och lagrar detta värde, till dess den följande klockpulsen ø appliceras vid en klockingáng. Om exempel- vis distanselementet utgjorde den senaste inmatningen till registret 701 bringar den höga utsignalen hos OR- -grinden 712, som tillät denna inmatning, Ö-utsignalen hos vippan 706 att vara låg och detta i sin tur säker- ställer att AND-grindens 713 och OR-gríndens 712 ut- signaler är låga, när den följande klockpulsen uppträder.
Såsom resultat skulle det följande elementet, vilket appliceras på multiplexorn 705, då komma från registret 702, oberoende av en värdesjämförelse. Eftersom distans- element blir kvar i registret 701 förblir detektorns 704 utsignal hög, vilket haller AND-grinden 713 aktiverad vid början av den följande cykeln. Nu bringar emellertid OR-grindens 712 låga utsignal Ö-utsignalen hos vippan att bli hög vid den följande klockpulsen d. De resulterande höga utsignalerna från AND-grinden 713 och OR-grinden 712 bringar distansnyckeln att utmatas från registret 701, vilket fullbordar den önskade tvåcykeldriften. Samman- fattningsvis väljer, vid normal drift, sorteringskretsen 700 en nyckel för applicering på den följande modulen såsom funktion av nycklarnas relativa värden. Efter detektering av ett distanselement utläses emellertid nycklarna i sorteringsmodulen i samma ordning som de applicerades. 10 15 20 25 30 35 8400011-6 14 Var och en av postsorteringsmodulerna 111-1 - 111-10 i fig 4-6 innefattar även slavkretsar, till exempel kretsen 750 i fig 7, vilka arrangerar data hos varje post i samma ordning som den motsvarande nyckel, som hör sam- man med denna post. För detta ändamål innefattar kretsen 750 dataregister 751 och 752, vart och ett i stånd att sortera data hos en post, mottagen på dataingången 760.
OR-grindens 712 utsignal, som direkt aktiverar registret 701 och som aktiverar registret 702 via inverteraren 716, sänder även aktiveringsinsignaler direkt till registret 751 och via inverteraren 756 till registret 752. Genom slavkoppling av dessa register till registren i sorte- ringskretsen 700 kan data införas i det lämpliga registret vid förekomst av en klockpuls ø. Slavkretsen 750 innefat- tar även en multiplexoromkopplare 755, identiskt likadan som multiplexorn 705, vilken också reagerar för OR- -grindens 712 utsignal, så att datautgången från det valda registret 751 eller 752 är kopplad till datautgángen 770.
Olika modifikationer med avseende på sorteringsmodul- arrangemanget enligt föreliggande uppfinning kan göras av fackmannen inom området beroende på arten av de element, som sorteras. Normalt är elementen multibitord med en teckenbit applicerad parallellt på registren 701 och 702 och komparatorn 703 är anordnad att numeriskt jämföra värdena, som ger igenkänning med avseende på teckenbitar.
Det kan emellertid vara önskvärt att sortera enbart med avseende på absolut storlek i vissa fall. Elementen kan även vara ord, som är sorterade alfabetiskt, eller alfanumeriska symboler, sorterade i överensstämmelse med något annat förutbestämt förhållande. Distanselementet kan vara ett unikt (vanligen multibitord) ord, som är reserverat för detta ändamål, och detektorn 704 kan vara en logisk krets, som är anordnad att jämföra varje in- signal med en i förväg lagrad version av distanselementet.
När poster sorteras kan registren 751 och 752 vara större än registren 701 och 702, beroende på den mängd data, som de innehåller.
. En annan utföringsform av en postsorteringsmodul, an- ordnad enligt föreliggande uppfinnings principer, visas 10 15 20 ZS 30 35 8400011-6 15 i fíg 8. På samma sätt som vid det just beskrivna arrangemanget är en sorteringskrets 800 och en slav- krets 850 anordnade för att var för sig sortera nycklar- na och motsvarande data i satser av poster. Sorterings- kretsen 800 innefattar ett första och ett andra nyckel- minnesregister 801 och 802 men varje nyckel, som appli- ceras på ingångsledningen 840, införes alltid i det första registret 801 vid varje klockpuls ø. De i registren 801 och 802 lagrade nycklarna jämföres i en komparator 803, som ger en hög utsignal, om värdet (kallat A) i registret 801 överstiger värdet (kallat B) i registret 802, under antagande att lägsta till högsta numeriska sortering önskas. För högsta till lägsta sortering blir komparatorns 803 utsignal hög, när A 5 B.
Om komparatorns 803 utsignal är hög positionerar den resulterande höga utsignalen hos OR-grinden 806 en multi- plexor 805 för koppling av den i registret 802 lagrade nyckeln till utgángsledningen 810. AND-grinden 807 aktive- ras för att framsläppa en klockpuls ø till registret 802, så att dess lagrade nyckel i själva verket kommer att sändas ut och ersättas av den i registret 801 lagrade nyckeln. Om, á andra sidan, komparatorns 803 utsignal är låg är också OR-grindens 806 utsignal låg, förutsatt att ett dístanselement inte detekteras. I detta fall omställes omkopplaren 805 för koppling av den i registret 801 lag- rade nyckeln (A) direkt till multiplexorn 805. AND- -grinden 807 aktiveras vid denna tidpunkt, så att nyckeln i registret 802 inte störs. Sammanfattningsvis jämför sorteringskretsen~800 värdet hos varje i registret 801 lagrad nyckel med värdet av den tidigare i registret 802 lagrade nyckelinsignalen. Om ett speciellt förutbestämt förhållande uppfylles (exempelvis om den sista insignalen är mindre än den tidigare) appliceras den nyligen mottag- na nyckeln pá sorteringskretsens utgång 810. Om förhål- landet inte uppfylles (exempelvis om den sista insignalen är större) kopplas den tidigare i registret 802 mottagna nyckeln till utgången 810 och ersätts av den sista in- signalen. För att detektera en unik nyckel för ett distanselement innefattar kretsen enligt fig 8 distans- 10 15 20 25 30 35 8400011-6 16 detektorcr 804a och 8040, som övervakar innehållet i registret 801 respektive 802. Om ett distanselement detekteras kopplas den höga utsignalen från detektorn 804a och 804b genom OR-grinden 806 för att säkerställa att multiplexorn 805 förblir i det i fíg 8 visade läget.
I detta tillstånd föres den nyckel, som lagrats i registret 802 under den längre tiden, ut och den nyckel, som hör samman med dístanselementet, överföres till registret 802 och utsändes då den följande klockpulsen d uppträder. Nyckelns ordning bevaras sålunda enligt önskan när en distansnyckel detekteras.
Liksom arrangemanget enligt fig 7 innefattar arrange- manget enligt fig 8 en slavkrets 850, som sorterar data eller poster för varje element i överensstämmelse med den nyckel, som hör samman med detta element. Kretsen 850 innefattar ett första och ett andra dataregister 851 respektive 852, varvid registret 851 mottager ett ingångs- -ord från ledningen 860 och överför sitt innehåll till ut- gångsledningen 870 via multíplexorn 855 när A 5 B och omkopplaren 855 är i nedläget. När A > B eller när en dístansnyckel detekteras är OR-gríndens 806 utsignal hög, är multiplexorn 855 i uppläget, såsom visas i fig 8, och utsändes den information, som finns i registret 852, och ersättes av data i registret 851 vid klockstyrning via AND-grinden 857.
En del av den i fig 8 visade sorteríngsmodulkretsen kan ändras, såsom visas i fig 9, genom att distansdetek- torn 804b utbytes mot en fördröjningskrets 901, anordnad att mottaga detektorns 804a utsignal och att lämna en hög utsignal vid den följande klockpulsen ø. Denna förenkling medger att när en distansnyckel detekteras i registret 801 (av detektorn 804a), så kommer den alltid att detek- teras i registret 802 (av detektorn 804b) en klockcykel senare. » _Den just beskrivna sorteringsapparaten och -tekniken har många tillämpningar, till exempel i en tidsluck- växlare, som kan omarrangera sekvensen av en serie tids- multiplexerade datasignaler. En traditionell tidsluck- växlar (växlarc) visas i fig 10. Data i en serie tids- 10 15 20 25 30 35 8400011~6 17 luckor 1000 är sekventiellt laddade i ett dubbelbuffrat minne, inkluderande buffertarna 1001 och 1002. När en av buffertarna laddas behandlas data från den andra. På samma sätt är buffertarna 1005 och 1006 organiserade såsom en dubbel- buffert, så att när bufferten 1006 läses skrivs bufferten 1005 och tvärtom. Ett minne 1004 är anordnat att in- struera en bohandlingsenhet 1003 om de önskade växlingarna; M exempelvis kan data, som från början befinner sig i tids- luckan B, destineras för tidsluckan B och så vidare. Be- handlingsenheten 1003 skulle då hämta data i tidsluckan E från bufferten 1001 eller 1002 och placera dem i bufferten 1005 eller 1006 i den cell, som motsvarar slits B. Efter det att data från alla i buffertarna 1001 eller 1002 lagrade tidsluckor har överförts till bufferten 1005 eller 1006 erhålles den önskade tidslucksekvensen 1007. Denna tidigare kända växlingsteknik kräver emeller- tid en avsevärd mängd maskinvara och en relativt lång be- handlingstid; varje tidsluckväxling kräver en läsning från minnet, en läsning från en buffert och en skrivning till en buffert. Sålunda kräver N tidsluckor SN cykler att behandla. Såsom resultat kan ingângs- och utgångs- buffertarna endast växlas en gång för SN cykler. Den totala latensen för en dylik tidsluckväxlare skulle vara 9N cykler. En ny tidslucka kan matas till tidsluckväxlaren var 3:e cykel.
En tidsluckväxlare, som i hög grad förbättrar behand- lingstiden med användning av sorteringstekniken enligt föreliggande uppfinning, visas i blockdiagramform i fig 11. Växlaren kan realiseras med användning av de. i fig 7 eller 8 visade postsorteringsmodulerna. Vid detta arrangemang utgör data, som skall sorteras, innehållet i tidsluckorna i varje ram hos en tidsmultiplexerad signal.
Tillhörande nycklar adderas till data av en nyckeltill- delare 1104 för angivande av de önskade tidsluckpositio- nerna. Såsom exempel placeras data i en ram med fem tids- luckor A-A, åskådliggjort i fig 11, på ledningen 1101 och införes i ett register 1102 i den mottagna ordningen (D-B-E-C-A). För att permutera tidsluckornas ordning till en önskad ordning, till exempel (C-A-D-E-BL associerar 10 ß 20 25 30 3§ 84100011-6 18 nyckeltilldelaren 1104 en nyckel med varje tídslucka.
Eftersom det í exemplet enligt fig 11 är önskvärt att flytta data í lucka C från den fjärde till den första positionen tilldelas den förra en nyckel med värdet "1".
På samma sätt skall data i lucka B flyttas från den andra till den femte positionen, varför den tilldelas en nyckel med värdet "5". En unik "distans"-nyckel 1103 placeras framför den ram, som består av fem poster, av en distans- generator 1105.
Tidsluckväxling åstadkommes genom applicering av posterna (nycklar och data) på en seriekedja om N post- sorteringsmoduler 1120-1, 1120-2 ... 1120-N, vilka, såsom nämnts tidigare, kan arrangeras på samma sätt som appara- ten enligt fíg 7 eller 8 för att innefatta en Sorterings- krets och en slavkrets. Nycklarna sorteras allteftersom de överföres från sorteringskretsen i en modul till sorteríngskretsen i den följande modulen, under det att data omarrangeras i den motsvarande sekvensen av slav- kretsarna. Värdet på N väljs för att vara lika med den längsta väntade satsen poster (i detta fall fem luckor).
Utmatningen från den sista sorteringskretsen i kedjan av moduler är ursprungsdata, sorterade i den önskade ord- ningen. Dessa data kan införas i ett register 1110 eller sändas till en ytterligare behandlingskretskoppling, om så önskas, under det att nycklarna överges.
Tidsluckväxling med användning av sortering, såsom just beskrivits, har en latens av SN, vilket betyder att information från upp till tre tidigare ramar måste behand- las innan information från den aktuella ramen sändes ut, och en ny tídslucka'kan behandlas vid varje cykel. Detta medför en reduktionsfaktor 3 i latens och en ökningsfaktor 3 i prestationsgrad i förhållande till den traditionella tidsluckväxlaren, såsom visas i fíg 10. 7 En kedja av postsorteringsmoduler av den typ, som visas i fig 7 eller 8, kan även användas för att om- arrangera tidsluckor i varje ram hos en tidsmultíplexad signal i syfte att åstadkomma användning av de tomma tids- luckorna.
Ramarna 1201 och 1211 innehåller tidsluckor avseende en 10 15 20 25 30 35 8400011-6 19 första respektive en andra tidsmultiplexad signal.
Nycklarna I - M är tilldelade de M luckorna i varje ram, så att ramarna kan samsorteras efter omarrangemang.
Speciellt utväljes unikt nycklarna för fyllda tidsluckor i en signal bland de nycklar, som är tilldelade tomma tidsluckor i den andra signalen. De till de återstående tidsluckorna i varje ram hörande nycklarna är, enligt önskan, tilldelade bland de kvarvarande icke använda nycklarna av de ursprungliga M nycklarna. De nycklar, som är tilldelade varje ram, sorteras sedan separat och där- till hörande tidsluckdata omarrangeras på motsvarande sätt. Nya sålunda åstadkomna ramar kan samsorteras för att ge en slutsekvens med färre tomma tidsluckor. Denna teknik kan appliceras så länge som det totala antalet fyllda luckor i båda ramarna är mindre än antalet luckor i varje ram. I det i fig 12 visade exemplet är de tomma luckorna 1, 3 och 4 i ram 1201 tilldelade nycklar 1, 3 och 5, under det att de fyllda luckorna 1, 2 och 3 i ram 1211 är tilldelade nycklar, som unikt valts ur samma mängd (1,3 och 5), tilldelad de tomma luckorna i ram 1201. De kvarvarande nycklarna tilldelas kvarvarande luckor i ramarna 1201 och 1211 i exempelsekvenserna 1202, 1212.
De sålunda bildade posterna (nycklar plus tídsluckdata) arrangeras separat av postsorteringsmoduler 1203 och 1213, som ger motsvarande nya ramar 1204 och 1214. Dessa ramar kan samsorteras via multiplexorn 1220 eller någon annan liknande kombineringsanordning för att ge en kombinerad utsignalram 1230, som med fördel saknar tomma Överskotts- tidsluckor.
Sorteringsmodularrangemanget enligt föreliggande uppfin- ning kan lätt realiseras med användning av VLSI-teknologi och utformningens modularitet tillåter talrika rationalíseríngar.
Olika anpassningar och modifikationer av föreliggande uppfinning kan göras av fackmannen inom området utan att man avviker fràn uppfinningens tanke och ram. Följaktligen skall uppfinningen begränsas endast av de bifogade patent- kraven. Ehur, såsom exempel, sorteringsmodulerna visades mottaga klockpulser från en enda klockkälla är det möjligt 840001-1-6 20 att seríekoppla modulerna med avseende på tídsstyrning, så att varje modul mottager en tidsstyrningspuls från den föregående modulen. Vidare torde medges att sortering och permutering är mycket lika varandra, och att en sorteringskedja kan användas för att utföra permuteringar helt enkelt genom ommärkníng av nycklarnas värden.

Claims (11)

8400011-6 21 Patentkrav
1. Apparat för att omarrangera dataelement i en önskad sekvens, innefattande åtminstone en sorteríngsmodul (700), som mottager sekventi- ellt applicerade element; och en jämförande kretskoppling (703) i varje modul, vilken normalt arbetar för att bestämma en ordning för utmatning av elementen genom att jämföra värdena hos par av element; k ä n n e t e c k n a d därav, att modulen innefattar; en detekteringskretskoppling (704) för att detektera huru- vida ett av de sekventiellt applicerade elementen i paret är ett unikt distanselementg och en första kretskoppling (711,714,705), som reagerar för detekteringen av det unika distanselementet för utmatning av paret av element, inklusive det unika distanselementet, i samma ordning som paret av element mottogs av modulen, varigenom ele- menten, separerade av åtminstone ett unikt distanselement, är omarrangerade oberoende av de andra elementen i sorterings- modulen.
2. Apparat för att omarrangera dataelement enligt kravet 1, k ä n n e t e c k n a d därav, att elementen är alfanumeriska symboler, som skall sorteras i överensstämmelse med ett förutbestämt förhållande.
3. Apparat för att omarrangera dataelement enligt kravet 1, k ä n n e t e c k n a d därav, att elementen är multibitord, som skall lagras i överensstäm- melse med sitt numeriska värde.
4. Apparat för att omarrangera element i överensstämmelse med kravet 1, k ä n n e t e c k n a d därav, att elementen är alfabetiska symboler, som skall lagras alfa- betiskt.
5. Apparat för att omarrangera dataelement enligt kravet 1, k ä n n e t e c k n a d därav, att elementen är nyckelvärden, som har därmed associerade poster. nycklarna till posterna, 8400011-'6 22
6. Apparat för att omarrangera dataelement enligt kravet 5, k ä n n e t e c k n a d därav, att apparaten vidare innefattar; en slavkrets (750) för att omarrangera posterna i samma sekvens som den därmed associerade nyckeln.
7. Apparat förs att omarrangera dataelement enligt kravet 1, k ä n n e t e c k n a d därav, att fapparaten vidare innefattar: en serie om N seríekopplade moduler, anordnade att sortera satser om upp till N element, varvid varje sats är separerad genom åtminstone ett av de unika distans- elementen. ß. Apparat för att omarrangera element enligt kravet 7.
8. R ä n n e t e c k n a d därav, att elementen är nyckelvärden, som har därmed associerade poster.
9. Apparat för att omarrangera dataelement enligt kravet 8, k ä n n e t e c k n a d därav, att apparaten vidare innefattar: en serie om N seríekopplade slavkretsar (750) för att omarrangera posterna i samma sekvens som den därtill hörande nyckeln.
10. Apparat för att omarrangera dataelement enligt kravet 9, k ä n n e t e c k n a d därav, att posterna är information i tidsluckor hos en tids- multiplexsignal; och att apparaten vidare innefattar: en tilldelningskretskoppling (1104) för att tilldela så att informationen i tidsluckorna efter sortering utbytes i en önskad sekvens (1230).
11. Apparat för att omarrangera dataelement enligt kravet 10, k ä n n e t e c k n a d därav, att tidsluckorna uppträder i ramar; och 8400011-6 23 att den första nyckeln i varje ram hos den tidsmultí- plexa signalen är det unika dístanselementet.
SE8400011A 1982-05-06 1984-01-02 Apparat for att omarrangera dataelement i en onskad sekvens SE445683B (sv)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/375,669 US4499555A (en) 1982-05-06 1982-05-06 Sorting technique
PCT/US1983/000542 WO1983004116A1 (en) 1982-05-06 1983-04-14 Sorting technique

Publications (3)

Publication Number Publication Date
SE8400011D0 SE8400011D0 (sv) 1984-01-02
SE8400011L SE8400011L (sv) 1984-01-02
SE445683B true SE445683B (sv) 1986-07-07

Family

ID=23481827

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8400011A SE445683B (sv) 1982-05-06 1984-01-02 Apparat for att omarrangera dataelement i en onskad sekvens

Country Status (9)

Country Link
US (1) US4499555A (sv)
EP (1) EP0109426B1 (sv)
CA (1) CA1192314A (sv)
DE (1) DE3344141C2 (sv)
GB (1) GB2129985B (sv)
IT (1) IT1170137B (sv)
NL (1) NL192354C (sv)
SE (1) SE445683B (sv)
WO (1) WO1983004116A1 (sv)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8600028A (nl) * 1986-01-09 1987-08-03 Philips Nv Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter.
US5060146A (en) * 1988-04-08 1991-10-22 International Business Machines Corporation Multilingual indexing system for alphabetical lysorting by comparing character weights and ascii codes
JPH02178730A (ja) * 1988-12-28 1990-07-11 Toshiba Corp 分割法を用いた内部ソート方式
JPH02289005A (ja) * 1989-03-17 1990-11-29 Matsushita Electric Ind Co Ltd 計数情報の整列処理方式
US5111465A (en) * 1989-06-30 1992-05-05 Digital Equipment Corporation Data integrity features for a sort accelerator
US5185886A (en) * 1989-06-30 1993-02-09 Digital Equipment Corporation Multiple record group rebound sorter
JPH0776906B2 (ja) * 1989-06-30 1995-08-16 ディジタル イクイプメント コーポレーション 分類加速装置のための速度及びメモリー制御
US5142687A (en) * 1989-06-30 1992-08-25 Digital Equipment Corporation Sort accelerator with rebound sorter repeatedly merging sorted strings
FR2649226B1 (fr) * 1989-07-03 1995-07-13 Sgs Thomson Microelectronics Circuit de brassage de donnees
US5077669A (en) * 1989-12-27 1991-12-31 International Business Machines Corporation Method for quasi-key search within a national language support (nls) data processing system
US5070456A (en) * 1989-12-27 1991-12-03 International Business Machines Corporation Method for facilitating the sorting of national language keys in a data processing system
US5072386A (en) * 1989-12-27 1991-12-10 International Business Machines Corporation Method for culturally predictable keysort within a national language support (nls) data processing system
US5274805A (en) * 1990-01-19 1993-12-28 Amalgamated Software Of North America, Inc. Method of sorting and compressing data
US5121493A (en) * 1990-01-19 1992-06-09 Amalgamated Software Of North America, Inc. Data sorting method
JP3152466B2 (ja) * 1991-04-04 2001-04-03 三菱電機株式会社 ソーティング装置およびソーティング方法
JPH06242925A (ja) * 1993-02-15 1994-09-02 Mitsubishi Electric Corp ソート処理装置
US6088701A (en) * 1997-11-14 2000-07-11 3Dfx Interactive, Incorporated Command data transport to a graphics processing device from a CPU performing write reordering operations
US6775667B1 (en) * 2000-05-01 2004-08-10 Broadcom Corporation Method and system for providing a hardware sort for a large number of items
US20020111936A1 (en) * 2001-01-19 2002-08-15 Ec Outlook, Inc. System and method for analyzing computer intelligible electronic data
FR2830644A1 (fr) * 2001-10-09 2003-04-11 Canon Kk Procede d'ordonnancement et d'execution de fonctions dans un reseau de communication
US7370068B1 (en) * 2002-09-04 2008-05-06 Teradata Us, Inc. Sorting of records with duplicate removal in a database system
GB2424722A (en) * 2005-03-21 2006-10-04 Think Software Pty Ltd Method and apparatus for generating relevance sensitive collation keys
TWI511038B (zh) * 2013-06-19 2015-12-01 Univ Nat Chiao Tung 可重組之排序裝置與排序方法
US10191744B2 (en) * 2016-07-01 2019-01-29 Intel Corporation Apparatuses, methods, and systems for element sorting of vectors
US20200004664A1 (en) * 2018-06-28 2020-01-02 Lendingclub Corporation Automatic mock enablement in a multi-module software system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4131947A (en) * 1976-08-06 1978-12-26 Armstrong Philip N Random access digital sorter
US4090249A (en) * 1976-11-26 1978-05-16 International Business Machines Corporation Apparatus for sorting records in overlap relation with record loading and extraction
US4110837A (en) * 1976-12-30 1978-08-29 International Business Machines Corporation Apparatus for the sorting of records overlapped with loading and unloading of records into a storage apparatus
US4209845A (en) * 1977-01-25 1980-06-24 International Business Machines Corporation File qualifying and sorting system

Also Published As

Publication number Publication date
GB2129985A (en) 1984-05-23
CA1192314A (en) 1985-08-20
SE8400011D0 (sv) 1984-01-02
IT8320954A0 (it) 1983-05-05
EP0109426A1 (en) 1984-05-30
EP0109426A4 (en) 1987-04-29
NL192354C (nl) 1997-06-04
US4499555A (en) 1985-02-12
NL192354B (nl) 1997-02-03
EP0109426B1 (en) 1989-08-16
WO1983004116A1 (en) 1983-11-24
DE3344141T1 (de) 1984-05-30
GB8333025D0 (en) 1984-01-18
DE3344141C2 (de) 1994-05-11
IT1170137B (it) 1987-06-03
NL8320161A (nl) 1984-04-02
GB2129985B (en) 1985-10-30
SE8400011L (sv) 1984-01-02

Similar Documents

Publication Publication Date Title
SE445683B (sv) Apparat for att omarrangera dataelement i en onskad sekvens
US5394031A (en) Apparatus and method to improve programming speed of field programmable gate arrays
US4110837A (en) Apparatus for the sorting of records overlapped with loading and unloading of records into a storage apparatus
US4554664A (en) Static memory cell with dynamic scan test latch
EP0447841A3 (en) Method for arranging virtual circuits in an atm (asynchronous transfer mode) switching system
EP0119319B1 (en) Sort mechanism for stored digital data
Ebergen Squaring the FIFO in GasP
US4064556A (en) Packed loop memory with data manipulation capabilities
US3505653A (en) Sorting array
WO1993025975A2 (en) A programmable logic device
JPH01251383A (ja) 多相メモリ配列の読出回路
US6700825B1 (en) Implementation of a multi-dimensional, low latency, first-in first-out (FIFO) buffer
IL116755A (en) Filter the shape of a series of digital data
EP0558291A2 (en) Reconfigurable switch memory
US4477918A (en) Multiple synchronous counters with ripple read
JPH0666050B2 (ja) ソート処理方法
CN100490328C (zh) 模数变换器和产生用于模数转换器的中间码的方法
US4302819A (en) Fault tolerant monolithic multiplier
SE441229B (sv) Stromstellarkrets for tidslegesomvandling i ett tidsmultiplexsystem
JPH0441376B2 (sv)
SU1193660A1 (ru) Устройство дл параллельной сортировки кодов
CN1592488B (zh) 恒定带宽tdm交换机中的可编程比特速率
KR0172508B1 (ko) 비트 시리얼 디지틀 정렬기
SU1223222A1 (ru) Устройство дл сортировки чисел
SU1256041A1 (ru) Устройство дл сжати двоичных векторов

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8400011-6

Format of ref document f/p: F

NUG Patent has lapsed

Ref document number: 8400011-6

Format of ref document f/p: F