NL8006163A - Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen. - Google Patents

Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen.

Info

Publication number
NL8006163A
NL8006163A NL8006163A NL8006163A NL8006163A NL 8006163 A NL8006163 A NL 8006163A NL 8006163 A NL8006163 A NL 8006163A NL 8006163 A NL8006163 A NL 8006163A NL 8006163 A NL8006163 A NL 8006163A
Authority
NL
Grant status
Application
Patent type
Prior art keywords
number
data words
block
attribute
data
Prior art date
Application number
NL8006163A
Other languages
English (en)
Original Assignee
Philips Nv
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

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/226Priority queue, i.e. 1 word in, 1 word out sorter; Output word, i.e. min or max of words in memory

Description

...................’....."""............. ----.- —.......-........ I . ' ' I i PHN 9889 1

N.V. PHILIPS' GLOEILAMPENFABRIEKEN TE EINDHOVEN

"Inrichting voer het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuut-getallen."

ACHTERGROND VAN DE UITVINDING

De uitvinding betreft een inrichting voor het snel sorteren van een vooraf bepaald aantal datawoorden naar de waarde van een specifiek, bij elk datawoord behorend, attribuutgetal, welke datawoorden achtereenvolgens op een ingang worden toegevoerd. Er wordt in algemene zin onder-5 scheid gemaakt tussen twee soorten sorteerinrichtingen. In de eerste soort is het aantal datawoorden zeer groot, het betreft bijvoorbeeld de mutaties die op bankrekeningen moeten worden aangebracht. Deze mutaties moeten dan volgens bijvoorbeeld oplopend rekeningnummer (=attribuut-getal) worden gesorteerd. Het aantal mogelijke attribuutgetallen is 10 daarbij zeer groot. Het is dan onmogelijk deze sortering te bewerken tesamen met (in real time bedrijf) de door een elektronisch werkend toe-voermechanisme toegevoerde datawoorden. Er is dan een uitgebreide buffering nodig, waarbij twee databestanden tenslotte worden samengevoegd.

Op zo'n niet-tijdsgebonden groepsgewijze bewerking van een databestand 15 (off-line batch processing) heeft de uitvinding geen betrekking.

Een tweede kategorie sorteerinrichtingen werkt tesamen met de datatoevoer, maar daarbij zijn er slechts een beperkt aantal mogelijke waarden voor het attribuutgetal toegelaten. De attribuutgetallen kunnen bijvoorbeeld meetwaarden van evenzovele meetelementen zijn, waarbij het 20 datawoord de identiteit van het meetelement aangeeft. Een andere mogelijkheid is dat de waarde van het attribuutgetal een kwaliteitseigen-schap van het datawoord vertegenwoordigt en elk datawoord een a priori toegelaten mogelijkheid; de inrichting moet uit het beperkte aantal mogelijkheden de beste mogelijkheid kiezen en/of een aantal van de beste 25 mogelijkheden kiezen om zo mogelijk naderhand tot een uiteindelijke beste keuze te geraken. In zijn algemeenheid kan het probleem geformuleerd worden als het vinden van de maximale a posteriori waarschijnlijkheid van de toestandsvolgorde van een Markov-proces met diskrete tijdswaarden dat geobserveerd wordt in geheugenloze ruis. Het probleem 30 wordt in de litteratuur opgelost middels het Viterbi algorithme; een overzichtsartikel is gepubliceerd door G. David Fomey, jr. in Proceedings of the IEEE, Vol. 61, no. 3, maart 1973, blz. 268-278. Toepassings- 8 0 06 16 3

I I

PHN 9889 2 gebieden liggen bijvoorbeeld op het gebied van foutkorrigerende konvolu-tiekodes, interferentie tussen datasymbolen, het koderen (keying) middels frekwentieverschuiving bij kontinue fase (FSK), en tekstherkenning. Elk datawoord stelt voor een "pad" in het "hekwerk" of "trellis" volgens 5 Viterbi, welk pad een beginpunt en een eindpunt heeft. Daarbij bestaat een pad uit een aantal etappes en elke etappe is voorzien van een partieel attribuutgetal. De som der partiële attribuutgetallen van een pad vormt het attribuutgetal (metric) van dat pad/ en het gaat erom, juist het pad met het laagste (of juist het hoogste) attribuutgetal te vinden. In prin-10 cipe zet een pad zich voort met de inkomende datastrocm, zodat het eind telkens opschuift en voortdurend nieuwe etappes in rekening gebracht moeten worden; daarbij splitsen de paden zich voortdurend en kamen ze ook samen; bij een samenkomst wordt dan slechts van één van de aankomende paden het attribuutgetal verder beschouwd. In het kader van de uitvin-15 ding is een bijzonder geval van toepassing van het Viterbi-algorithme voor een foutkorrigerende kode volgens het principe van het vinden van de grootste waarschijnlijkheid bij het dekoderen (maximum likelihood decoder) beschreven in: A.J, Vinck, "Syndrome Decoding of Binary Convolutional Codes", Ph. D. Thesis, Eindhoven University of Technology, Eind-f 20 hoven, The Netherlands, 1980. Dit boekwerk is in zijn geheel vóórgepubliceerd.

SAMENVATTING VAN DE UITVINDING

Het is een doelstelling van de uitvinding on te verschaffen een inrichting voor het snel sorteren van een voorafbepaald aantal data-25 woorden (paden) naar de grootte van een specifiek, bij elk datawoord behorend attribuut getal, (metric), welke datawoorden achtereenvolgens op een ingang worden toegevoerd, waarbij de inrichting op zeer eenvoudige wijze intern voor gesorteerde opslag van de datawoorden naar attribuutgetal zorg draagt zodat op eenvoudige wijze direkt de uitlezing 30 bestuurbaar is in volgorde van de waarden der attribuutgetallen. De uitvinding realiseert de doelstelling doordat hij het kenmerk heeft, dat in het geval van M mogelijke waarden van het attribuutgetal, en ten hoogste N datawoorden met eenzelfde waarde van een attribuutgetal een in M blokken van elk N geheugenplaatsen verdeeld geheugen aanwezig is, dat een 35 opslag inrichting aanwezig is on een ontvangen datawoord op te slaan in het door de waarde van het bijbehorende attribuut getal geadresseerde blok en een telinrichting on per ontvangen datawoord een voor het zo ge- 8 0 0 6 16 3 PHN 9889 3 adresseerde blok bijgehouden en binnen dat blok als schrijfadres werkend telsaldo met een eenheid op te hogen om zo het aantal datawoorden in dat blok te signaleren, dat een leesinrichting aanwezig is met een priori-teitsbepaler cm onder besturing van alle telsaldi die een van nul ver-5 schillend aantal datawoorden in het 'betreffende blok aangeven daarvan het in rang hoogste blok te detekteren, en een leesadresgenerator om onder besturing van het rangnummer van het zo gedetekteerde, in rang hoogste, niet lege, blok en het bijbehorende telsaldo een datawoord te adresseren en bovendien het bij dat blok behorende telsaldo met een eenheid te ver-10 lagen.

Het is gunstig als voor het uitlezen van een tweede voorafbepaald aantal, kleiner dan genoemd eerste voorafbepaald aantal datawoorden, en het telkens daarbij bepalen van een attribuutgetal-verschil de leesinrichting bij het uitlezen van het eerste van genoemde datawoorden 15 het bijbehorende attribuutgetal in een arithmetisch register opslaat, waarvan een uitgang verbonden is met een arithmetiscbe eenheid en van daaropvolgende datawoorden het attribuutgetal direkt naar de arithmetische eenheid toevoert om een verschil als nieuwr attribuutsgetal te vormen.

In vele gevallen is het alleen nodig om een verschil in de attribuut-20 getallen als maat voor het al of niet selekteren van een datawoord te gebruiken. Cm bij voortgaand sorteren, waarbij telkens de attribuut-getallen aangevuld worden, en nooit verlaagd, de maximaal-waarde te beperken, worden zo telkens de attribuutsgetalverschillen als bijgewerkt attribuutsgetal gebruikt.

25 KORTE BESCHRIJVING VAN DE FIGUREN

De uitvinding wordt nader uitgelegd aan de hand van enkele figuren:

Fig. 1 illustreert het gebruik van de uitvinding bij een foutenkorrigerende kode; 30 Fig. 2 illustreert het sorteermechanisme volgens de uitvinding;

Fig. 3 geeft een globaal blokschema van een inrichting volgens de uitvinding;

Fig. 4 geeft een meer gedetailleerd blokschema van een inrichting volgens de uitvinding.

35 BESCHRIJVING VAN EEN TOEPASSING VAN HET SORTEERMECHANISME BIJ

EEN FOUTENKORRIGERENDE KODE.

Fig. 1 illustreert het gebruik van een inrichting volgens de 8 0 06 16 3 PHN 9889 4 uitvinding bij een foutenkorrigerende kode. De inrichting werkt als deko-deur-naar-de-grootste -waarschijnlijkheid (maximum likelihood decoder).

Op ingang 208 arriveren de kode-bits cm in register 200 te worden opgeslagen. In dit uitvoeringsvoorbeeld heeft dit register een kapaciteit die 5 voldoende is voor zes informatie-eenheden van de kode. Verder is er een geheugen 202. In dit voorbeeld bevat dit geheugen in eerste instantie 5 geheugenplaatsen, elk met een kapaciteit voor eveneens zes informatie-eenheden. De op ingang 208 arriverende stroom kodebits is redundant en heeft zekere foutenkorrigerende eigenschappen. Het is de bedoeling cm 10 uit deze, eventueel gestoorde, reeks kodebits een nieuwe reeks kodebits te vormen, waaruit de storingen zijn verwijderd. Dit gebeurt doordat een aantal mogelijke reeksen kodebits zijn gevormd, die allen storingsvrij zijn, en dat van deze storingsvrije kodebitreeksen er een gekozen wordt. Deze éne wordt zo gekozen dat de kode-afstand tussen de beschouwde inter-15 vallen van gestoorde reeks kodebits en de onderscheidene ongestoorde reeksen kodebits geminimaliseerd is. Men zegt dat de gestoorde reeks hoogst-waarschijnlijk uit de gekozen ongestoorde reeks is gevormd. Stel dat de reeks ontvangen bits foutloos is. Dan is in zo'n geheugen 202 deze zelfde reeks opgeslagen. De kodeafstand, aangegeven door pijl M1 20 heeft dan de waarde nul. Vervolgens wordt op ingang 208 een volgende eenheid informatie ontvangen. Deze eenheid is getekend als 1 bit. In de praktijk betreft dit een volgende hoeveelheid data-informatie plus de op basis van die volgende hoeveelheid datainformatie toegevoegde hoeveelheid redundantie-informatie. Bij een één kanaals-konvolutiekode met een kode 25 efficiency van ½ betreft dit dan 2 achtereenvolgens ontvangen kodebits.

Bij een konvolutiekode met 3 datakanalen en twee redundante kanalen betreft het 5 tesamen ontvangen bits, één voor elk van de kanalen. Deze extra hoeveelheid informatie is aangegeven in het onderbroken getekende hokje 204. Elke in geheugen 202 opgeslagen ongestoorde kode wordt met 30 eenzelfde hoeveelheid kodebits aangevuld, waarbijalle mogelijkheden die een ongestoorde kode leveren a priori zijn toegelaten. Bij een systematische kode en bovengenoemde efficiency ½ betreft dit dus 1 databit en de mede daardoor toe te voegen pariteitsbit. De indikaties "O" en "1" in de kolom 206 geven aan dat de databit een willekeurige inhoud kan 35 hebben. In de bovengenoemde voorbeelden betreffen dit dus respektievelijk 2 3 2 =2 en 2 =8 verschillende mogelijkheden. Elk van deze mogelijkheden levert een inkrementele kode afstand Δ M met betrekking tot de in war- 8 0 06 16 3 PEN 9889 5 kelijkheid ontvangen nieuwe kodebits. De inkrementele kode-afstand wordt in een niet aangegeven inrichting berekend. Daaruit is voorts voor elke uitbreiding van de ongestoorde kodereeksen een nieuwe kode-afstand M (1... .5)+A M gevormd. Zowel M als Δ M kunnen uitsluitend positief 5 of nul zijn. Als er dus 2 mogelijkheden voor uitbreiding van de kode zijn levert de getekende opzet hoogstens 10 nieuwe waarden van de kode-afstand. Daaruit worden er een aantal met de laagste afstandswaarden gekozen. Op zichzelf is dit aantal willekeurig en behoeft niet vast te zijn; het is begrensd door de fysieke beperkingen van de gebruikte in-10 richting (rekentijd, geheugenkapaciteit). Als er één ongestoorde kode in geheugen 202 was opgeslagen wordt er minstens één en hoogstens twee nieuwe kodes gekozen. Als in het voorbeeld 5 ongestoorde kodes waren opgeslagen worden er uit de 10 mogelijke uitbreidingen er hoogstens vijf gekozen; het kleinste aantal dat in de praktijk zal worden gekozen is 1, 15 gewoonlijk echter zullen het er meer zijn. Verder wordt die ongestoorde koze gekozen die de kleinste afstand heeft tot de ontvangen gestoorde kode. Daarvan wordt het minst recent ontvangen gedeelte dat evenveel informatie bevat als het in blok 204 gelegen deel af gegeven aan een gebruiker. In het algemeen zal elke ongestoorde kode leiden tot een aantal splitsin-20 gen tot nieuwe ongestoorde kodes; slechts een deel daarvan blijft bewaard. De korrektie geeft een exakt resultaat als elke nieuw als "beste" ongestoorde kode gekozen voortzetting geen diskrepantie vertoont met het resultaat wat de tot dusverre gekozen "beste" ongestoorde kode had vertoond. Als geheugen 202 een kapaciteit heeft die per voortzetting over-25 eenkomtmet, als getekend 6+1=7 (202+206) databits, dan moet de "nieuw" als beste gekozen kode dus de op 7 na meest recente databit èn alle eerdere databits overeenstemmend hebben met de eerder als beste voortzetting gekozen kodes. Als de informatie als bovengenoemd aan de gebruiker is toegevoerd wordt de informatie van alle gekozen voortzettingen één 30 plaats meer naar rechts opgeslagen, evenals de inhcud van register 200. Daarmee is hokje 204 beschikbaar voor de ontvangst van een nieuwe infor-matie-eenheid en de hokjes 206 voor de vorming van nieuwe voortzettingen van de ongestoorde kode.

De voortzetting in blok 206 is in dit voorbeeld gebeurd door 35 een willekeurige uitbreiding in de informatieinhoud van de ongestoorde kode en een telkens daaraan aangepaste inhoud van de redundantiebits.

In andere gevallen, zoals tekst herkenning, zal de voortzetting van de 8006163

I I

PHN 9889 6 informatie-inhoud niet willekeurig zijn, maar slechts te kiezen uit een aantal mogelijkheden. Deze mogelijkheden kunnen bijvoorbeeld gevonden worden doordat de inhoud van geheugen 202 telkens een adres vormt voor een woordenboek, dat in een dood geheugen is opgeslagen.

5 de afstand tussen ongestoorde en gestoorde kode, respektievelijk het verschil tussen "goede" tekst en "gestoorde" tekst, wordt in het verdere genoerrd "attribuutgetal".

BESCHRIJVING VAN EEN INRICHTING VOLGENS DE UITVINDING fig. 2 illustreert het sorteermechanisme volgens de uitvinding 10 In dit geval wordt gewenst om de datawoorden uit te lezen naar oplopende attribuutwaarde. Er is een geheugen 28 beschikbaar, dit vervult de funktie van geheugen 202 in fig. 1. Geheugen 28 is in 5 blokken verdeeld, die telkens door een dik getekende rand zijn aangegeven. Op ingang 20 verschij nt/voïgens een datawoord, dat schematisch is aangegeven door 15 blok 22, voorzien van een attribuutwaarde die schematisch is aangegeven door blok 24; blokken 22, 24 kunnen uiteraard in geschikte registerruimte zijn gelokaliseerd. Via lijn 26 werkt de inhoud van het datawoord als datagegeven voor geheugen 28. De inhoud van het attribuutgetal werkt via lijn 30 als adres voor het geheugen 28 cm één der vijf geheugenblokken 20 te adresseren. Er is verondersteld dat er vijf geheugenblokken zijn die elk plaats bieden aan drie datawoorden. De blokken zijn van boven naar beneden gereserveerd voor de waarden 0, 1, 2, 3 en 4 van de attribuut-getallen. Door de gearceerde blokken is aangegeven dat de geheugenblokken reeds respektievelijk 0, 0, 1, 2 en 1 datawoorden bevatten. Het 25 eerstvolgende datawoord heeft bijvoorbeeld het attribuutgetal 2. Voor elk geheugenblok is in een telregisterblok 34 telkens een telregister aanwezig dat tesamen met het geheugen 28 door de inhoud van het attribuutgetal 24 wordt geadresseerd; het derde telregister (stand 1) wordt nu op stand 2 gesteld (1:=2) en deze stand 2 adresseert de eerstvolgende 30 lege geheugenplaats in het derde geheugenblok. Aldaar wordt het desbetreffende datawoord ingeschreven. Bij aankomst van het volgende datawoord herhaalt de procedure zich, net zolang tot de voorafbepaalde, te sorteren reeks datawoorden is opgeslagen in geheugen 28. Het uitlezen van geheugen 28 gebeurt op overeenkomstige manier: de waarde van het attribuut-35 getal adresseert het betreffende geheugenblok; na het uitlezen wordt de stand van het desbetreffende telregister 34 met een eenheid verlaagd. Zo komt het geheugen 28 dus overeenmet geheugen 202 in Fig. 1.

8 0 06 16 3 , t · FHN 9889 7

Stel nu dat er slechts 4 datawoorden in het geding zijn (voortzettingen in fig. 1). De kodeafstand is nu respektievelijk 2, 3, 3, 4. De relatieve kode-afstand (ten opzichte van de beste voortzetting) is nu 0/ 1, 1, 2. Men kan nu bijvoorbeeld alleen net de drie beste verder 5 gaan. Deze worden dan uitgelezen, voorzien van een verdere voortzetting; de inkrementele kode afstand, vermeerderd met de tot dus ver geldende relatieve kode-afstand wordt berekend, en er vindt heropslag plaats. Zo kan de verwerking van de verschillende voortzettingen snel plaats vinden. Als het te kiezen aantal voortzettingen gebonden is aan een bekende boven-10 grens, kan de verwerking binnen een vaste tijd plaats vinden. Zo kan de inrichting tijdsgebonden (real-time) werken.

De inrichting werkt dus met een beperkt aantal voortzettingen van de ongestoorde kode. Deze voortzettingen (paden) vormen een aantal takken van de bocitistruktuur van de voortzettingen. Zo wordt slechts een 15 gereduceerd deel van deze boom verwerkt (reduced tree decoder).

Fig. 3 geeft een globaal blokschema van een inrichting volgens de uitvinding, waarbij het geheugen zelf (28 in fig. 2) niet is getoond.

Er is voorzien dat 2L datawoorden kunnen worden behandeld (in dit voorbeeld geldt: L=8). Er zijn M verschillende waarden voor het attribuut-20 getal toegelaten (in dit voorbeeld geldt: M=10) . Voorts is het hoogste aantal datawoorden met eenzelfde waarde van het attribuutgetal gelijk aan N (in dit voorbeeld geldt: N=8).

Bij het opslaan van de datawoorden wordt de tweeweg-schakelaar 56 door een extern toegevoerd stuursignaal op klem 54 in de onderste 25 stand gesteld. De binair gekodeerde attribuutgetallen worden toegevoerd aan de dekodeur 118 die de binaire kode omzet in een 1- uit -10 kode, zodat steeds één lijn van de lijnentundel 120 wordt bekrachtigd. Stel dat de binaire waarde 0011 is (decimaal 3), dan worden de bijbehorende elementen van de reeks tellers (68-86) en dataflipflop-elementen (88-106) 30 bekrachtigd; dit geldt nu dus de elementen 74 en 94. Een kloksignaal op ingang 112 (EC), een heentel-terugtelsignaal op ingang 116 (U/D) besturen nu in samenwerking met het selektiesignaal op lijnenbundel 120 het verder tellen van teller 74. Zo wordt het doortellen in element 34 (Fig. 2) gerealiseerd. Een kloksignaal op ingang 110 (EI) werkt voor 35 de dataflipflop-elementen 94 als opslagbesturingssignaal. Het dataflip-flop-element 94 heeft een kapaciteit van drie bits om de tellerstand die via lijn 75 is ontvangen, geheel op te slaan (deze teller heeft immers 8 0 06 16 3

e I

PHN 9889 8 een tellerbereik van N=8 standen. De stand van teller 74 werkt nu voor het opslaan van het datawoord in geheugen 28 (Fig. 2) als adres binnen het desbetreffende geheugenblok, het ophogen geschiedt voor het opslaan, respektievelijk het aflagen na het uitlezen. De dekodeur 118 komt overeen 5 met de dekodeur die het desbetreffende gehaigenblok van geheugen 28 elenent adresseert. In deze realisering heeft dataflipflop-^: 94 twee aspekten, namelijk een opslageffekt, en een uitgangsaspekt: de geselekteerde elementen 9 zijn met lijn 108 via een hoogimpedante uitgangstoestand verbonden (tri-state hiffer). Element 60 is een vermenigvuldiger met 10 8. In het geval van een binair gekodeerd getal betekent dit het opschuiven over drie bitposities. In het geval van een BCD gekodeerd getal kan ditzelfde gebeuren met een dekodeur die daarmee een geheel binair gekodeerd getal opleverd. Element 62 is een optelelement die op lijn 64 het uiteindelijke geheugen adres produceert. Dit kan dus 80 verschillende 10 adreswaarden voor het geheugen produceren.

Bij het uitlezen van het geheugen kunnen verschillende procedures worden gevolgd; het is in een bepaald geval bijvoorbeeld voordelig om van een aantal 2L opgeslagen datawoorden juist de helft (L exemplaren) uit te lezen en wel juist die helft welke de laagste waarden van de 20 attribuutgetallen hebben. In sommige gevallen zal het komen staan te gebeuren dat voor een be paalde waarde van het attribuutgetal slechts een deel van de datawoorden worden uitgelezen, maar de andere datawoorden met diezelfde waarde niet. Bij het uitlezen staat, onder besturing van een veranderd signaal op ingang 54, schakelaar 56 in de benedenste stand.

25 Het element 66 is een prioriteitsgenerator; deze ontvangt van alle tellers 68-86 de indikatie of de betreffende teller in de stand "O" staat (er zijn dan geen datawoorden opgeslagen met de bijbehorende waarde van het attribuutgetal), dan wel dat de betreffende teller in een stand 70 (ongelijk aan 0) staat. De betreffende indikatie kan één enkele 30 informatiebit zijn. De prioriteitsbepaler 66 indiceert nu op zijn ingang het nummer van die teller die van de niet op nul staande tellers de laagste waarde van het attribuutgetal betreft, en wel gekodeerd naar de zelfde konventie als waarin de attribuutwaarde gekodeerd was bij aankomst op ingang 50. In feite is dit rangnummer dus het attribuutgetal 35 zelf.

Het attribuutgetal wordt weer gekodeerd naar een 1=10 kode in element 118, waar nu aan.de zo gedetekteerde teller een terugstelsignaal 8 0 06 16 3 * * PHN 9889 9 toegevoerd wordt, terwijl de zo verlaagde stand in het bijbehorende data-flipflopelement (88-106) wordt opgeslagen. Vóór de zo uitgevoerde verlaging wordt de dan nog opgeslagen stand toegevoerd aan lijn 108 (onder besturing van een selektiesignaal op lijnenbundel 120 en een kloksignaal 5 op ingang 110) en onder besturing van (zo nodig) een niet getekend kloksignaal in optelelement 62 opgeteld bij 8x de waarde van het attribuut-getal (element 60) en via lijn 64 als leesadres aan het geheugen toegevoerd. Het lezen wordt beëindigd als een voorafbepaald aantal, bijvoorbeeld L datawoorden is uitgelezen.

10 De tellers 68-86 bezitten nog een enigszins schematisch aangegeven gezamenlijke stuuringang 114 voor een terugstelsignaal (CL): als er voldoende datawoorden zijn uitgelezen kan de geheugeninhoud voor het terugstellen van de tellers ongeldig worden gemaakt. Verder is er een gemeenschappelijke ingang 116 om een heentel/terugtelbesturingssignaal 15 toe te voeren. In feite is dit hetzelfde signaal als hetwelk via ingang 54 de stand van schakelaar 56 bestuurt.

Fig. 4 geeft van één en ander een meer gedetailleerd blok-schema. De schakeling is uitgevoerd in de bekende reeks TIL bouwelementen 74 LS.....(LS = Low Power Schottky). Alleen het onderste deel van 20 Fig. 3 is hier aangegeven, dus met name de onderdelen betreffende de in Fig. 3 meest onderin aangegeven attribuutgetal-waardes. Het element 132 is een bouwsteen van het type 74 LS 157, dit is een viervoudige 2-lijn naar 1-lijn data selektor/multiplexer. De aangegeven pennen 4, 7, 12, 9 vonten een uitgangslijn. De pennen 2, 5, 14,11 vormen de eerste ingangs-25 lijn. De pennen 3, 6, 13, 10 vormen de tweede ingangslijn. De pen 1 vormt de selektiebesturingsingang. Zo is element 56 uit Fig. 3 gerealiseerd. In verband met specifieke eigenschappen van de verdere onderdelen van de schakeling in deze realisatie ontvangt element T32 op de data-ingangen de informatie (9-x), waarbij x de normale BCD-representatie van 30 het attribuutgetal is. De vorming van dit 9-complement gebeurt met een bouwsteen van het type 74 LS 04 en één van het type 74 LS 283. Op zichzelf is het gebruik van deze bouwstenen hierna beschreven bij de elementen 158, respektievelijk 134.

Het element 152 is een bouwsteen van het type 74 LS 42. Dit 35 is een binair naar decimaal (1:10) dekodeur. De pennen 12, 13, 14, 15 vormen de BCD-ingang. De pennen 1-7, 9-11 vormen de 1:10 uitgangslijn.

Zo is element 118 in Fig. 3 beschreven.

8 0 06 16 3 PHN 9889 10

De elementen 140, 142, 144 zijn bouwstenen van het type 74 LS 169. Dit zijn synchroon werkende binaire heen-terugtellers. Pen 7 is een toestemmings-(enable)ingang. Pen 1 is een heen/terugtel-besturings-ingang. Pen 2 is een klokingang. Pen 9 is een laadbesturings ingang. De 5 pennen 1, 2, 9 zijn voor alle elementen 140, 142 .....parallel aangeslo ten. Pen 7 vormt telkens een selektie(adres)ingang. Pennen 12, 13, 14 zijn tellerstanduitgangen (pen 11 wordt in dit voorbeeld niet gebruikt). Pennen 3, 4, 5, 6 zijn de dataingangen; deze worden altijd voorzien van de waarde "O", zo kan elke teller door een signaal op pen 9 op nul worden 10 teruggesteld. Pen 15 is de uitgang voor een overdrachtsuitgangssignaal; de waarde daarvan geeft aan of de desbetreffende teller in de nulstand staat dan wel op andere waarde staat. Pen 10 betreft de tweede toestemmings (enable) ingang die door verbinding net aarde altijd geakti-veerd is.

15 Element 138 is een bouwsteen van het type 74 LS 04. Dit is een 6-voudige inverteur. Pennen 9, 11 zijn ingangen. De overeenkomstige pennen 8, 10, ......zijn uitgangen. Als de reeks 144, 142, ____uit tien elementen bestaat, zijn twee van deze bouwstenen benodigd. Uitgang 8 betreft het geheugenblok dat als laatste moet worden uitgelezen, en deze 20 uitgang hoeft daarom niet aan element 136 te worden toegeleid maar kan elders gebruikt worden (uitgang 12 van de plaat-met-gedrukte bedrading, waarop de schakeling van fig. 4 is aangebracht). Zo zijn de elementen 68 tot en met 86 in fig. 3 beschreven.

Element 136 is een bouwsteen van het type 74 LS 147. Dit is 25 een tien-lijn naar vier-lijn prioriteits encodeur. De pennen 14, 6, 7, 9 zijn bestemd voor een vier bits BCD-gekodeerd uitgangssignaal. Pennen 11, 12, 13, 1, 2, 3, 4, 5, 10 zijn in deze volgorde telkens bestemd voor een 1-bits-ingangssignaal (deze bouwsteen kan dus slechts negen ingangssignalen ter dekodering ontvangen).

30 Element 134 is weer een bouwsteen van het type 74 LS 04.

Pennen 1, 3, 5, 13 zijn ingangen, pennen 2, 4, 6, 12 zijn de bijbehorende uitgangen. Zo is element 66 uit Fig. 3 beschreven.

Elementen 146, 148, 150 zijn bouwstenen van het type 74 LS 374. Dit zijn acht-voudige D-type doorgeef trekkers (transparent latches) 35 annex flank gestuurde flipflops, voorzien van drie-toestands uitgangs-hiffers. Pennen 3, 4, 7 zijn ingangen voor datasignalen. Pennen 2, 5, 6 zijn de korresponderende uitgangen voor datasignalen. Pen 1 is bestemd 8 0 0 6 16 3 PHN 9889 11 * 1 voor een uitgangsbesturingssignaal. Pen 11 is bestemd voor een kloksignaal. Als klem 1 laag is wordt onder besturing van een opgaande klokflank de ingangsdata overgenomen, en verschijnt dan op de uitgang. Als het kloksignaal laag is blijft deze data op de uitgang beschikbaar.

5 Als klem 1 hoog is, blijft de opgeslagen data ongewijzigd en zijn de uitgangen hoogimpedant afgesloten. Zo zijn de elementen 88 t/m 106 van ? Fig. 3 geïmplementeerd.

Element 154 is een bouwsteen van het type 74 LS 147, overeenkomstig als element 136. In dit geval werkt deze als een 1-uit-10 naar BCD 10 enkodeur. Het zijn de specifieke eigenschappen van deze enkodeur die noodzaken tot de toevoer van de informatie (9-x) op lijnenbundel 130.

Element 160 is een bouwsteen van het type 74 LS 04.

Element 156 is een bouwsteen van het type 74 LS 373; deze is goeddeels overeenkomstig met het eerder besproken type 374, alleen 15 vindt de dataopslag plaats onder besturing van een hoog signaal op de toestemmings (enable) ingang 11: dan is deze opslag ook transparant naar de uitgang. Als het uitgangsbesturingssignaal laag is en het toestem-mingssignaal hoog blijft het opgeslagen signaal onveranderd beschikbaar op de uitgang. Als het uitgangsbesturingssignaal laag is zijn de uitgan-20 gen met een hoge impedantie afgesloten. In dit geval is de uitgangs-be-sturingslijn (niet getekend) voortdurend op een lage potentiaal.

Element 158 is een bouwsteen van het type 74 LS 283. Dit is een 4-bits binaire heel opteller met snel gegenereerd overdrachtssignaal.

Op de pennen 6, 2, 15, 11 zijn de vier bits van de eerste operand ont-25 vangbaar. Op de pennen 5, 3, 14, 12 zijn de vier bits van de tweede operand ontvangbaar. Middels de inversie in element 160 kan zo elk uitgelezen attribuutgetal verminderd worden net een vaste waarde,bijvoorbeeld de waarde van het attribuutgetal dat behoort bij het eerste datawoord dat uit geheugen 28 in Fig. 2 is uitgelezen. Cp die manier 30 wordt het laagste attribuutgetal bij elke uitlees-cyclus gelijk aan nul: dit betreft immers de beste overeenkomst tussen (bij de dekodeurs-naar-hoogste-waarschijnlijkheid) ongestoorde kodereeks en in werkelijkheid ontvangen kodereeks. De absolute waarde van de afwijking is bij de sortering niet ter zake. De elementen 154, 156, 158, 160 zijn in 35 Fig. 3 niet getoond, ze zijn in feite nodig voor het berekenen van de relatieve waarden van de attribuutgetallen, en zouden dus in Fig. 3 geschakeld zijn in lijnen-tundel 120. De uitgangen van element 158 zouden dan de lijn 58 in fig. 3 vormen. De elementen 60 en 62 in Fig. 3 worden 8 0 06 16 3 PHN 9889 12 op gebruikelijke manier gevormd. De tweede ingang 108 van element 62 wordt in fig. 4 door de lijnen 19L, 20L, 21L gevormd.

5 10 15 20 25 30 35 8 0 0 6 16 3

Claims (2)

1. Inrichting voor het snel sorteren van een eerste voorafbepaald aantal datawoorden naar de grootte van een specifiek, bij elk data-woord behorend, attribuutgetal, welke datawoorden achtereenvolgens op een ingang (50) worden toegevoerd, met het kenmerk, dat in het geval van M 5 mogelijke waarden van het attribuutgetal, en ten hoogste N datawoorden met eenzelfde waarde van een attribuutgetal een in M blokken van elk N ge-heugenplaatsen verdeeld geheugen (28) aanwezig is, dat een opslag inrichting aanwezig is om een ontvangen datawoord op te slaan in het door de waarde van het bijbehorende attribuutgetal geadresseerde blok en een tel- 10 inrichting (68 ... 86) on per ontvangen datawoord een voor het geadresseerde blok bijgehouden en binnen dat blok als scbrijfadres werkend tel-saldo met een eenheid op te hogen on het aantal datawoorden in dat blok te signaleren, dat een lees inrichting aanwezig is met een prioriteitsbe-paler (66) om onder besturing van alle telsaldi die een van nul verschil- 15 lend aantal datawoorden in het betreffende blok aangeven daarvan het in rang hoogste blok te detékteren, en een leesadresgenerator (62) cm onder besturing van het rangnummer van het gedetekteerde, in rang hoogste, niet lege, blok en het bijbehorende telsaldo een datawoord te adresseren en bovendien het bij dat blok behorende telsaldo met een eenheid te verlagen. 20
2. Inrichting volgens conclusie 1, met het kenmerk, dat voor het uitlezen van een tweede voorafbepaald aantal, kleiner dan genoemd eerste voorafbepaald aantal, datawoorden, en het telkens daarbij bepalen van een attribuutgetal-verschil de leesinrichting bij het uitlezen van het eerste van genoemde datawoorden het bijbehorende attribuutgetal in nc een aritbmetisch register (156) opslaat, waarvan een uitgang verbonden is met een arithmetische eenheid (158) en van daaropvolgende datawoorden het attribuutgetal direkt naar de arithmetische eenheid toevoert om een verschil als nieuw attribuutsgetal te vonnen. 30 8 0 06 1¾-3' 35
NL8006163A 1980-11-12 1980-11-12 Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen. NL8006163A (nl)

Priority Applications (2)

Application Number Priority Date Filing Date Title
NL8006163A NL8006163A (nl) 1980-11-12 1980-11-12 Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen.
NL8006163 1980-11-12

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
NL8006163A NL8006163A (nl) 1980-11-12 1980-11-12 Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen.
GB8133711A GB2088600B (en) 1980-11-12 1981-11-09 Apparatus for sorting data words on the basis of the valuees of associated parameters
FR8121064A FR2494009B1 (nl) 1980-11-12 1981-11-10
DE19813144563 DE3144563C2 (nl) 1980-11-12 1981-11-10
JP18046081A JPS6360416B2 (nl) 1980-11-12 1981-11-12
US06651634 US4570221A (en) 1980-11-12 1984-09-14 Apparatus for sorting data words on the basis of the values of associated parameters

Publications (1)

Publication Number Publication Date
NL8006163A true true NL8006163A (nl) 1982-06-01

Family

ID=19836155

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8006163A NL8006163A (nl) 1980-11-12 1980-11-12 Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen.

Country Status (6)

Country Link
US (1) US4570221A (nl)
JP (1) JPS6360416B2 (nl)
DE (1) DE3144563C2 (nl)
FR (1) FR2494009B1 (nl)
GB (1) GB2088600B (nl)
NL (1) NL8006163A (nl)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8203844A (nl) * 1982-10-04 1984-05-01 Philips Nv Geintegreerde, als bouwsteen uitgevoerde sorteerinrichting voor datawoorden en geintegreerde, dataverwerkende, processor voorzien van zo een meegeintegreerde sorteerinrichting.
JPS6043782A (en) * 1983-08-19 1985-03-08 Hitachi Ltd Matching result sorting device
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
US5179717A (en) * 1988-11-16 1993-01-12 Manco, Ltd. Sorting circuit using first and last buffer memories addressed by reference axis data and chain buffer memory addressed by datum number of the first and last buffer memories
JPH02289005A (en) * 1989-03-17 1990-11-29 Matsushita Electric Ind Co Ltd Alignment processing system for count information
US5222243A (en) * 1990-02-09 1993-06-22 Hewlett-Packard Company Sorting apparatus having plurality of registers with associated multiplexers and comparators for concurrently sorting and storing incoming data according to magnitude
US5369762A (en) * 1990-06-28 1994-11-29 Wolf; William M. Method for sorting data in a computer at high speed by using data word values for address locations
US5465371A (en) * 1991-01-29 1995-11-07 Ricoh Company Ltd. Sorter for sorting data based on a plurality of reference value data
US5704057A (en) * 1992-10-01 1997-12-30 The United States Of America As Represented By The Secretary Of The Navy Real-time data sorter
US20020069217A1 (en) * 2000-12-04 2002-06-06 Hua Chen Automatic, multi-stage rich-media content creation using a framework based digital workflow - systems, methods and program products
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
KR20150072051A (ko) * 2013-12-19 2015-06-29 에스케이하이닉스 주식회사 어드레스 검출회로 및 이를 포함하는 메모리

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3274563A (en) * 1963-07-02 1966-09-20 Ibm Sorter system
US3568155A (en) * 1967-04-10 1971-03-02 Ibm Method of storing and retrieving records
US3514760A (en) * 1967-09-13 1970-05-26 Stanford Research Inst Sorting array ii
NL7010586A (nl) * 1970-07-17 1972-01-19
US3714634A (en) * 1971-01-07 1973-01-30 Dirks Electronics Corp Method and system for sorting without comparator
US3760356A (en) * 1971-12-17 1973-09-18 Honeywell Inf Systems Technique for determining the extreme binary number from a set of binary numbers
US3794981A (en) * 1972-06-02 1974-02-26 Singer Co Realtime computer operation
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
DE2336618B2 (de) * 1973-07-18 1976-11-18 Anordnung zum nachtraeglichen einfuegen von daten zwischen bereits gespeicherte daten
US3944985A (en) * 1973-10-19 1976-03-16 Texas Instruments Incorporated Workspace addressing system
US3931612A (en) * 1974-05-10 1976-01-06 Triad Systems Corporation Sort apparatus and data processing system
US4295206A (en) * 1979-06-06 1981-10-13 Ncr Canada Ltd.-Ncr Canada Ltee Document sorting method
US4319355A (en) * 1979-12-28 1982-03-09 Compagnia Internationale Pour L'informatique Method of and apparatus for testing a memory matrix control character
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor

Also Published As

Publication number Publication date Type
FR2494009B1 (nl) 1984-07-13 grant
US4570221A (en) 1986-02-11 grant
DE3144563A1 (de) 1982-08-19 application
JPS57114940A (en) 1982-07-17 application
GB2088600B (en) 1985-02-06 grant
JPS6360416B2 (nl) 1988-11-24 grant
GB2088600A (en) 1982-06-09 application
DE3144563C2 (nl) 1991-02-28 grant
FR2494009A1 (fr) 1982-05-14 application

Similar Documents

Publication Publication Date Title
US7353444B2 (en) LDPC architecture
US5548775A (en) System and method for adaptive active monitoring of high speed data streams using finite state machines
US3665396A (en) Sequential decoding
US5487077A (en) Location dependent variable error correction processing for multi-track recording media using variable length coding means
US5664192A (en) Method and system for accumulating values in a computing device
US4979175A (en) State metric memory arrangement for a viterbi decoder
US5497485A (en) Method and apparatus for implementing Q-trees
US5680611A (en) Duplicate record detection
EP0576749A1 (en) Data pipeline system and data encoding method
US5592404A (en) Versatile error correction system
US20050132259A1 (en) Error correction method and system
US5668976A (en) Error correction method and apparatus for disk drive emulator
US4335458A (en) Memory incorporating error detection and correction
US5787127A (en) Viterbi decoding method and apparatus with balance among memory and processing requirements
US5430744A (en) Method and means for detecting partial response waveforms using a modified dynamic programming heuristic
US5530707A (en) Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes
US5537424A (en) Matched spectral null codes with partitioned systolic trellis structures
US20030061558A1 (en) Double error correcting code system
US5349608A (en) Viterbi ACS unit with renormalization
US6324226B1 (en) Viterbi decoder
US5068857A (en) Error correction circuit
US5300930A (en) Binary encoding method with substantially uniform rate of changing of the binary elements and corresponding method of incrementation and decrementation
US5995029A (en) Parallel bit counter using bit sorters
US4797887A (en) Sequential decoding method and apparatus
US20080301383A1 (en) Multiple access for parallel turbo decoder

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed