DE2144113B2 - Verfahren zur codeumsetzung und assoziativ-speichereinrichtung zur durchfuehrung dieses verfahrens - Google Patents

Verfahren zur codeumsetzung und assoziativ-speichereinrichtung zur durchfuehrung dieses verfahrens

Info

Publication number
DE2144113B2
DE2144113B2 DE19712144113 DE2144113A DE2144113B2 DE 2144113 B2 DE2144113 B2 DE 2144113B2 DE 19712144113 DE19712144113 DE 19712144113 DE 2144113 A DE2144113 A DE 2144113A DE 2144113 B2 DE2144113 B2 DE 2144113B2
Authority
DE
Germany
Prior art keywords
code
length
memory
stored
code word
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE19712144113
Other languages
English (en)
Other versions
DE2144113C3 (de
DE2144113A1 (de
Inventor
Josef Yorktown Heights N.Y. Raviv (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2144113A1 publication Critical patent/DE2144113A1/de
Publication of DE2144113B2 publication Critical patent/DE2144113B2/de
Application granted granted Critical
Publication of DE2144113C3 publication Critical patent/DE2144113C3/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

Description

Die Erfindung betrifft ein Verfahren zur Codeumsetzung gemäß dem Oberbegriff des vorstehenden Patentanspruchs J.
Dabei handelt es sich um Umsetzungen von Codes, von denen der eine Code eine feste Wortlänge aufweist und der andere Code Codewörter variabler Länge enthält.
Das Codieren mit veränderlicher Wortlänge wird für Datenverdichtungszwecke angewandt. Dabei werden den häufiger vorkommenden Wörtern die kürzeren Codes und den seltener vorkommenden Wörtern die längeren Codes zugeordnet. Das am häufigsten vorkommende Wort kann dabei durch nur ein einziges Bit dargestellt werden. Dadurch läßt sich eine mittlere Codelänge erzielen, die kleiner als die Wortlange eines entsprechenden Codes mit fester Wortlänge ist.
Das Codieren mit variabler Wortlänge ist wegen der Verkürzung der erforderlichen Zeit für die Übertragung und Speicherung von Daten vorteilhaft. Jedoch können die Daten in dieser Form nicht von einem Rechner verarbeitet werden und müssen deshalb vor der Verarbeitung wieder in ein Format mit fester Wortlänge umgesetzt werden. Der Vorteil der Codierung mit variabler Wortlänge kann daher durch den Zeitverlust wieder aufgehoben werden, der bei der Durchführung von Codeumseizungen mittels herkömmlicher Verfahren entsteht. Es ist daher wünschenswert, ein schnelleres Verfahren zur Codeumsetzung zu finden, damit der Vorteil der Codierung mit veränderlicher Wortlängc tatsächlich zum Tragen kommt.
Aus der DT-AS 12 88 143 ist ein Verfahren zur Codeumsetzung unter Verwendung zweier Ringspeicher bekannt. Im einen Ringspeicher werden die
Wörter des Eingabecodes und im anderen Ringspeicher die Wörter des Ausgabecodes gespeichert. Beide Ringspeicher werden mittels eines Taktgebers gesteuert, so daß die in den beiden Ringspeichern gespeicherten Zeichen mit gleicher Frequenz und gleicher Phasenlage ständig umlaufen bzw. bitweise weitergeschoben werden. Steht ein im einen Ringspeicher gespeichertes Wort des Eingabecodes an einem Vergleicher, so steht jeweils das äquivalente, im anderen Ringspeicher gespeicherte Wort des Ausgabecodes an einer Ausgabetorschaltung. Das bekannte Verfahren erhebt zwar den Anspruch, sich zur Umsetzung eines beliebigen Codes in einen beliebigen anderen Code zu eignen, jedoch ist aus der Tatsache, daß die in den beiden Ringspeichern gespeicherten Wörter bitweise weitergeschoben werden, klar ersichtlich, daß die Wörter des Eingabecodes und die Wörter des Ausgabecodes die gleiche Wortlänge aufweisen müssen. Umsetzungen zwischen einem Code mit fester Wortlänge und einem Code mit variabler Wortlänge sind mittels des bekannten Verfahrens nicht durchführbar, da bei dem bekannten Verfahren jedem Bit eines Eingabecodewortes ein Bit des zugehörigen Ausgabecodewortes zugeordnet sein muß.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren gemäß dem Oberbegriff des vorstehenden Patentanspruchs 1 so auszubilden, daß Umsetzungen zwischen einem Code mit fester Wortlänge und einem Code mit veränderlicher Wortlänge schnell und ohne Notwendigkeit eines übermäßig großen Assoziativ-Speichers durchführbar sind.
Diese Aufgabe wird durch die im Kennzeichen des vorstehenden Patentanspruchs 1 angegebene Erfindung gelöst.
Da gemäß der Erfindung nicht sämtliche Codewörter fester Länge des einen Codes in Codewörter veränderlicher Länge des anderen Codes umgesetzt werden, sondern nur die häufig vorkommenden Codewörtcr fester Länge des einen Codes in Codewörter veränderlicher Länge umgesetzt und die weniger häufig vorkommenden Codewörter fester Länge des einen Codes als Elemente des anderen Codes identisch übernommen werden, bringt die Erfindung den technischen Fortschritt, daß zur Ausführung des Verfahrens ein Assoziativspeicher von nur bescheidener Größe erforderlich ist. In dem Assoziativspeicher brauchen nämlich infolge des erfindungsgemäßen Verfahrens nicht nur weniger Wörter gespeichert zu werden, sondern auch die Anzahl der in diesen Wörtern enthaltenen Bits ist geringer. Durch diese Maßnahme wird zwar ein geringer Teil der möglichen Datenverdichtung geopfert, dadurch aber eine große Einsparung an Assoziativ-Speicher-Kosten erzielt.
Bevorzugte Ausgestaltungen und Weiterbildungen des erfindungsgemäßen Verfahrens bilden Gegenstand der vorstehenden Unteransprüche 2 bis 4.
Eine Assoziativ-Speichereinrichtung zur Ausführung des erfindungsgemäßen Verfahrens ist in den vorstehenden Ansprüchen 5 bis 7 unter Schutz gestellt.
Das erfindungsgemäß aus Drei-Zustands-Zellen aufgebaute Speicherfeld der Assoziativ-Speichereinrichtung weist einen Feldbereich zum Speichern der Codes fester Länge, die nachfolgend als /D-Codes bezeichnet sind, einen Feldbereich zum Speichern der entsprechenden Codes veränderlicher Länge, die nachfnlnend als KL-Codes bezeichnet sind, und einen Längen-Feldbereich auf, in welchem die Anzahl der signifikanten Bits jedes KL-Codes gespeichert ist. Diejenigen Speicherzellen im FL-FeId, die keine signifikanten Codebits speichern, sind auf den »nicht beachten«-Zustand eingestellt, in welchem sie bei Abfrage- und Zuordnungs- bzw. Suchopera;ionen innerhalb des Speichers nicht beachtet werden. Infolge des Vorhandenseins des genannten Längen-Feldes ist es möglich, daß der erfindungsgemäße Assoziativ-Speicher als Codierer wahlweise eine Parallelbiteingabe mit fester Wortlänge in eine Serienbitausgabe veränderlicher Wortlänge umsetzen bzw. als Decodierer eine serielle Biteingabe mit veränderlicher Wortlänge in eine Parallelbitausgabe fester Wortlänge umsetzen kann.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher beschrieben. Es zeigt
F i g. 1 ein Schema einer Assoziativ-Speichereinrichtung mit Drei-Zustands-Speicherzellen nach der Erfindung,
F i g. 2 ein Schaltschema des Speichers nach F i g. 1 und der dem Speicher zugeordneten Steuereinrichtung,
Fig. 3A und 3B aneinandergefügt, ein ausführliches Schema des Assoziativ-Speichers nach der Erfindung und der diesem zugeordneten Steuereinrichtung,
F i g. 4 ein Flußdiagramm der Arbeitsweise der in den Fig. 3A und 3B dargestellten Einrichtung beim Codieren.
F i g. 5 ein Flußdiagramm der Arbeitsweise der in den Fig. 3A und 3B dargestellten Einrichtung beim Decodieren,
F i g. 6 ein Schema ähnlich F i g. 1 einer abgewandelten Ausführungsform eines Assoziativ-Speichers nach der Erfindung,
F i g. 7 einen Teil der Steuereinrichtung für den Assoziativspeicher nach F i g. 6,
Fig. 8A bis 8C aneinandergefügt, ein detailliertes Schaltschema einer abgewandelten Assozialiv-Speichereinrichtung mch der Erfindung.
F i g. 9 ein Flußdiagramm der Betriebsweise der in den Fig. 8A bis 8C dargestellten Einrichtung beim Codieren und
Fig. 10 ein Flußdiagramm der Betriebsweise der in den Fig. 8A bis 8C dargestellten Einrichtung beim Decodieren.
Die F' g. 1 bis 5 zeigen den grundsätzlichen Aufbau und Betrieb der Assoziativ-Speichereinrichtung. Gemäß den Fig. 1 bis 3B weist ein Assoziativspeicher/iS für jede mögliche /D-Codebitkombination eine Reihe von Speicherzellen auf. Beträgt die /D-Codelänge 8 Bits bzw. 1 Byte, so gibt es 256 mög-
liehe Codebitkombinationen. Deshalb sind 256 adressierbare Wortspeicherplätze innerhalb des Assoziativ-Speichers vorgesehen. Das FL-Codefeld ist so lang. daß es den längsten VL-Code, der bei dem gewählten Beispiel 16 Bits enthält, aufnehmen kann. Den in diesem Teil des Assoziativ-Speichers gespeicherten FL-Codes sind jeweils /D-Codes zugeordnet, die an den gleichen Wortadressen im /D-Feld des Speichers gespeichert sind. Die FL-Codes sind vorsatzfrei.
Die KL-Codes sind rechtsbündig gespeichert, so daß die signifikanten Bits jedes Codes die am weitesten rechts gelegenen Stellen in dem KL-FeId einnehmen. Die nicht zum Speichern signifikanter Bits
verwendeten Speicherzellen in diesem Feld sind auf zu setzen, wird eine Glciehstrom-Schreib-Eingangsden »nicht bcachtcne-Zusland gesetzt, was im folgen- leitung 30 gleichzeitig mit der Schrcibwahllcitimg 32 den noch näher erläutert ist. Der -»nicht beachten«- beaufschlagt. Dadurch wird über eine UND-Schal-Zustand ist in Fig. 1 durch ein y,X" dargestellt. lung 52 das Flipflop 24 auf seinen »(!«-Zustand Demzufolge enthält die erste Reihe von Zeilen in 5 zurückgestellt. Folglich kann, da jeweils ein Bindern VL-FcId zwei signifikante, d. li. gültige Bits . 1< gangssignal an den UND-Schaltungen 40 und 42 und »0« sowie vierzehn -.-nicht bcachten«-Bil·- Der fehlt, kein Signal an die Nichtübercinstimmungsentsprcchende /D-Codc in diesem besonderen Bei- leitung 48 gelangen. Die Zelle 20 wirkt daher spiel ist 00000000. Das Längen-Feld enthält die 4-Bit- im »nicht bcachtcne-Zustand immer so. als ob eine Information 0010 und gibt an. daß im zugehörigen io Übereinstimmung vorgelegen hat, unabhängig davon. FL-Codewort zwei signifikante Bits vorhanden sind. ob diese Zelle auf der »1«- oder »(!«-Zuordnungs-In gleicher Weise zeigt die Längeninformation für die leitung 46 oder 44 abgefragt worden ist.
letzte Zcllenreihe an, daß das FL-Codewort dort Die Assoziativ-Speicher-SteuerschalUing 56 ist nur vierzehn signifikante Bits enthält. so weit in Fig. 2 dargestellt, wie es für den vor-
In Fig. 2 ist eine typische Drei-Zustands-Assozia- 15 liegenden Zweck erforderlich ist. Zum Einschreiben
tiv-Speicherzelle 20 dargestellt. Diese Zelle 20 weist einer Information in eine bestimmte Wortadresse des
ein Flipflop 22 zum Speichern einer binären 1 oder Assoziativ-Speichers dient eine Schreiblcilung 58, die
einer binären 0 auf. Wenn das gespeicherte Bit signi- mit einer Anzahl von Schrcib-Wahl-Torschaltungen,
fikant ist. wird ein anderes Flipflop 24 auf seinen z. B. 60, von denen jede einer Wortadresse zuge-
»1 «-Zustand gesetzt. Wenn das gespeicherte Bit je- 2° ordnet ist, verbunden ist. Wenn ein Wortwahlsignal
doch nicht signifikant ist. wird das Flipflop 24 auf 0 an den anderen Eingang der betreffenden Torschal-
zurückgestcllt und die Zelle 20 befindet sich in ihrem tung angelegt ist, wird die entsprechende Schreib-
»nicht beachtcnw-Zustand. wahllcitung, beispielsweise 32. beaufschlagt, und die
Zum Einschreiben einer Information in die Zelle Speicherzellen dieser Wortadressc können Informa-20 wird eine von drei Schrcib-Eingangsleitungen 26, 25 tionen von den Schrcib-Eingangsleitungen, beispiels-28 und 30 für diese Bitstelle und gleichzeitig eine weise 26. 28 und 30, empfangen.
Schreibwahllcitung 32 beaufschlagt die der Speicher- Wenn eine Zuordnungs- bzw. Suchoperation auszcllcnreihc. in der sich die Zelle 20 befindet, züge- zuführen ist, werden die Übereinstimmungsanzeiger, ordnet ist. Wenn beispielsweise die Leitungen 26 und beispielsweise 50, für die verschiedenen Wortpiätzc 32 beaufschlagt werden, gibt eine UND-Schaltung 34 30 durch einen an eine Rückstelleitung 62 angelegten ein Signal ah, welches das Flipflop 22 auf seinen Impuls zuerst auf ihre ·■> 1 «-Zustände zurückgestellt. »!«-Zustand setzt. Bei einem Impuls an den Lcitun- Danach werden die verschiedenen Zuordnungslcitungen 28 und 32 gibt eine UND-Schaltung 36 ein gen. beispielsweise 44 und 46, zum Abfragen der Signal ab, welches das Flipflop 22 auf seinen »0«-Zu- betreffenden Speicherzellen wahlweise mit Impulsen stand setzt. Das Ausgangssignal der UND-Schaltung 35 versorgt. Wenn eine oder mehrere Zellen in einem 34 bzw. der UND-Schaltung 36 gelangt außerdem Wort ein Nichtübereinslimmungssignal auf der cntauch an eine ODER-Schaltung 38 und an ein Flip- sprechenden Niehtübercinstimmungsleitung, bcispielsfiop 24, welches dadurch auf seinen »1 «-Zustand weise 48. erzeugen, wird der Übereinstimmungsgesetzt wird. Die »!«-Ausgänge der Flipflops 22 und anzeiger. z.B. 50, für dieses Wort auf »0« gesetzt 24 sind mil einer drei Eingänge aufweisenden UND- 4° und dadurch ein Eingangssignal von einer Lese-Schaltung 40 verbunden. Der »(!«-Ausgang des Flip- Wahl-Torschaltung 64 für dieses Wort weggenommen flops 22 und der »!«-Ausgang des Flipflops 24 sind und dadurch verhindert, daß das betreffende Wort an eine weitere drei Eingänge besitzende UND- bei der Abfragung ausgelesen wird.
Schallung 42 gelegt. Der dritte Eingang der UND- Zum Auslesen des übereinstimmenden Wortes Schaltung 40 liegt an einer »(!«-Zuordnungsleitung44 45 wird die Lcseleitung 66 beaufschlagt. Nimmt man und der dritte Eingang der UND-Schaltung 42 an an, daß das übereinstimmende Wort dem Übcreinciner »1 «-Zuordnungslcitung 46. Die Zuordnungs- Stimmungsanzeiger 50 umgeordnet ist. so empfang! leitungen 44 und 46 werden wahlweise mit Impulsen dieser kein Nichtübereinstimmungssignal und bleibt beaufschlagt, je nachdem, ob in der betreffenden demzufolge in seinem »1 «-Zustand, auf den er anSpeicherzelle nach einer »1« oder nach einer »0«· 5« fänglich gesetzt war. Die UND-Schaltung 64 kann gesucht wird. deshalb das Lesesignal von der Leitung 66 zu dei
Die Ausgangssignalc der beiden UND-Schaltungen Lese-Wahlleitung 68 weiterleiten. Das Signal auf dei
40 und 42 werden an eine Nichtübcreinstimmungs- Leitung 68 bewirkt, daß zwei UND-Schaltungen 70
lcitunc 48 abgegeben. Für jede Speichcrzellenreihe und 72 die Daten aus der Speicherzelle 20 des bc-
bzw. jeden Wortspcicherplatz des Assoziativ-Spei- 55 treffenden Speicherwortes auslesen. In Abhängigkeil
chers ist eine solche Nichtübereinstimmungslcitung von dem Zustand des Speicherflipflops 22 wird eir
vorgesehen. Die Nichtübereinstimmungsleitung 48 Signal über die UND-Schaltung 70 oder über dit
stellt, wenn sie ein Signal führt, einen Übercinstim- UND-Schaltung 72 zu der »1«- oder »Oa-Lesc-
mungsanzeiger50 für das betreffende Wort auf seinen Ausgangsleitung 74 oder 76 weitergeleitet.
»0«-Zustand zurück. Eine Nichtübereinstimmung 6o Wenn die Zelle 20 im »nicht beachten«-Zustanc
liegt vor, wenn die Zelle 20 in dem Augenblick, in ist, also das Flipflop 24 auf 0 gesetzt ist, so hat dies«
«welchem die »!«-Zuordnungsleitung 46 Impulse Einstellung keine Auswirkung auf das Auslesen dei
führt, eine »0« speichert oder wenn die Zelle 20 in in dem Flipflop 22 gespeicherten Daten. Der 1- odei
dem Augenblick, in welchem die »Οκ-Zuordnungs- 0-Wcrt, der in diesem Zeitpunkt zufällig im Flipflor
leitung 44 Impulse führt, eine »1« speichert, voraus- 65 22 gespeichert ist, wird unabhängig davon ausgc
gesetzt, daß die Zelle nicht in ihrem »nicht beach- lesen, ob die Zelle 20 in ihrem »nicht beachten«
Itcn«-Zustand ist. Zustand ist oder nicht. Weitere, im folgenden nähci
Um die Zellen in ihren »nicht bcachlcn«-Zustand beschriebene Vorkehrungen sind getroffen, damit di(
aus den im »nicht bcachtene-Zustand befindlichen Zellen ausgelesenen Bits unbeachtet bleiben. Die »nicht beachtene-Einstellung sperrt lediglich die Nichtübercinstimmungsschaltungen 40 und 42 der Zelle, hat jedoch keine Auswirkung auf die Lcseschaltungen 70 und 72.
Der Betrieb der in den Fig. 3A und 313 dargestellten Einrichtung wird unter Bezugnahme auf die in den Fig. 4 und 5 dargestellten Flußdiagramme beschrieben. Zunächst wird der Codierbetrieb betrachtet, bei welchem ein /D-Code in einen entsprechenden FL-Code umgewandelt wird. Es sei angenommen, daß der Assoziativspeicher AS (Fi g. 3 A) vorher mit den nötigen /D- und KL-Codewörtern und den jeweils zugehörigen »Längen«-Daten zur Angabe der Anzahl signifikanter Bits in jeder VL-Codebitkette geladen worden ist.
Wie oben bereits erwähnt, weisen beim vorliegenden Beispiel die /D-Codes eine Länge von S Bits, d.h. einem Byte auf, und die KL-Codes können eine Länge von 1 Bit bis 16 Bits haben. Zur Darstellung einer Längenzählung bis zu 16 Bits, wobei »16« durch 0000 dargestellt wird, genügt eine 4-Bit-Längendarstellung. Demgemäß weist der Assoziativspeicher -45 ein 16-Bil-FeId zum Speichern der FL-Codes. ein 8-Bit-Feld zum Speichern der ID-Codes und 4-Bit-Längenfeld auf. Bei der in den Fig. 3A und 3B dargestellten Ausführungsform kann der Assoziativspeicher,4S sämtliche möglichen /D-Bytekonfigurationen (insgesamt 256) aufnehmen.
Vor Beginn der Codieroperation wird die Anzahl der zu kodierenden /D-Bytes in einen Bytezählcr 80 (Fig. 3B) eingegeben. Der Zählerstand des Bytezählers 80 wird während des Codierens der /D-Bytes fortschreitend vermindert. Der jeweilige momentane Zählerstand wird von einem Decodierer 82 in ein »Null«- oder »nicht Null«-Ausgangssignal umgesetzt. Das »Null«-Ausgangssignal des Decodiercrs 82 beendet die Codieroperation.
Die Codieroperation wird durch Anlegen eines Startimpulses an eine Leitung 90 eingeleitet, die zu einer Codiertaktschaltung führt. Dieser Startimpuls gelangt über eine ODER-Schaltung 92 zu einem monostabilen Multivibrator 94, der dadurch einen Impuls an eine Leitung £1 legt, die durch ein Kabel 96 (Fig. 3 A und 3B) hindurchgeführt ist. Dieser Impuls wird einer Torschaltung 98 (F i g. 3 A) zugeführt, welche didurch freigegeben wird und ein Byte aus der Eingabeeinheit (nicht dargestellt) zu einem /D-Argument-Register 100 leitet. Das Argument-Register 100 enthält nun das zu kodierende Byte. Der gleiche Impuls wird außerdem von der Leitung El über eine Verzögerungsschaltung 102 der Eingabeeinheit zugeführt, welche daraufhin das nächste /D-Codewort an die zu der Torschaltung 94 führenden Eingabeleitungen abgibt. Der £1-Impuls gelangt außerdem über eine ODER-Schaltung 106 (F i g. 3 A) zu der auch in F i g. 2 dargestellten Leitung 62, über welche die Übereinstimmungsanzeiger in der Assoziativ-Speicher-Steuerschaltung56 auf ihrem »1 «-Zustand zurückgestellt werden. Die Einrichtung ist nun codierbereit.
Der monostabile Multivibrator 94 schaltet beim Abschalten einen monostabilen Multivibrator 108 ein. Dadurch wird ein Impuls an eine Leitung El gelegt, die durch das Kabel 96 zum Argument-Register 100 hingeführt ist, so das entsprechend der Einstellung des /D-Argument-Registers 100 eine Folge von Einsen und Nullen auf die Zuordnungsleitungen 110 gebracht wird. Diese Zuordnungsleitungen 110 haben die gleiche Aufgabe wie die mit Bezug auf F i g. 2 beschriebenen Zuordnungslcilungen 44 und
46. Dadurch werden die verschiedenen /D-Codes aufgesucht, um denjenigen Worlplatz zu linden, der den l'/.-Code enthält, welcher dem betreffenden im Argument-Register 100 gespeicherten /D-Code entspricht.
ίο Wenn der monostabile Multivibrator 108 (Fig. 3 B) abschaltet, schaltet er den nächsten monosiabilcn Multivibrator 114 ein, welcher einen Impuls auf eine Leitung £3 im Kabel 96 gibt. Dieser Impuls gelangt über eine ODER-Schaltung 116 (Fig. 3A) zur Lescleitung 66 der Assoziativ-Speicher-Slcuerschaltung 56. Eine Impulsabgabe an die Leitung 62 bewirkt ein Auslesen des übereinstimmenden Wortes im Assoziativspeicher über ein Kabel 118 (Fig. 3A) in das Datenregister 120. Diese in das Datenregistcr
120 ausgelescnc Information enthält die 16 Bits des !-'/--Code-Bereichs des übereinstimmenden Wortes sowie die 8 Bits des /D-Code-Bereichs dieses Wortes und die 4 Bits im Langenfeld dieses Wortes. Gleichzeitig liegt der an der Leitung E3 liegende Impuls
über eine ODER-Schaltung 122 auch am Bytezählcr 80 an und vermindert dessen Zählerstand.
Der monostabile Multivibrator 114 gibt beim Abschalten über eine ODER-Schaltung 124 einen Impuls an einen weiteren monosiabilcn Multivibrator 126 ab und schallet diesen ein. Letzterer gibt einen Impuls über eine Leitung EA an eine Torschaltung 128 (Fig. 3A) ab, wodurch diese das rechtsbündige Bit aus dem I7L-FeId des Datenregisters 120 an die Ausgabeeinheit weiterleiten kann.
Nachdem das rechtsbündige Bit des I '/.-Codes auf diese Weise ausgegeben worden ist. müssen die Inhalte des VL.-Feldes im Datenregister 120 um eine Bitspeicherstelle nach rechts verschoben werden. Das geschieht beim Abschalten des monostabilen Multivibrators 126, wobei ein monostabiler Multivibrator 130 eingeschaltet wird, welcher einen Impuls an eine Leitung £5 hgt. Dieser Impuls wird an eine nicht dargestellte Verschiebeeinrichtung angelegt und bewirkt die Verschiebung des im Datenregister 120 gespeicherten FL-Codes um ein Bit nach rechts, was durch den Pfeil an der Leitung £5 in Fig. 3A angedeutet ist.
Der den 4-Bit-Längencode speichernde Teil des Datenregisters 120 dient als Längenzähler. Bei jeder
Rechtsverschiebung der in dem Register 120 gespeicherten FL-Codebits wird diese Längenzählung um 1 vermindert. Diese Verminderung geschieht im vorliegenden Fall mittels des £5-Impulses, der über eine ODER-Schaltung 132 an eine Leitung 134 gelangt.
die zu einer nicht dargestellten Einrichtung zur Verminderung des im Längenzähler gespeicherten Wertes führt.
Danach wird getestet, ob die Längenzählung den Wert 0 erreicht hat, d. h., ob sämtliche signifikanten
Bits des laufenden KL-Codes aus dem Datenregistei 120 ausgeschoben worden sind. Beim Abschalten des monostabilen Multivibrators 130 schaltet ein monostabiler Multivibrator 136 ein und legt einen Impuls an eine Leitung £6, die zu einer Torschaltung 138
in Fig. 3B führt. Diese Torschaltung 138 ist mil einer O-Eingangsleitung und einer Ü-Eingangsleitune verbunden, die von der UND-Schaltung 140 hergeführt sind, an welche die O-Ausgangssignale der
vier Stellen des Längenzähler angelegt sind. Solange die UND-Schaltung 140 kein Ausgangssignal abgibt, was bedeutet, daß mindestens eines der Bits im Längenzähler den Wert 1 hai, legt ein Inverter 142 über die Ü-Eingangsleitung 144 eine Spannung an die Torschaltung 138 an. Wenn sämtliche Bits des Längenzählcrs den Wert 0 haben, ist die Niill-Eingangsleitung 146 an der Torschaltung 138 signalführend. Empfängt die Torschaltung 138 ein Ü-Eingangssignal. so wird eine von dieser Torschaltung über Kabel 148 und 150 an die ODER-Schaltung 124 angeschlossene Leitung 147 sienalführcnd, so daß das Ö-Signal am monostabilcn Multivibrator 126 anliegt. Dadurch wird ein neuer Zyklus eingeleitet, in welchem die monostabilen Multivibratoren 126, 130 und 136 nacheinander tätig werden. Dabei erfolgt das Auslesen eines weiteren Bits aus der rechtsbündigen Stelle im FL-Code-Fcld des Datenregisters 120, sodann wiederum eine l-Bit-Rechtsverschicbung der übrigen Bits in diesem Feld und ein Testen des Längenzählerstandes.
Hat die Längenzählung den Wert 0 erreicht, so ist das letzte signifikante Bit aus dem FL-Codc-Feld des Datenregisters 120 ausgelesen worden, und die übrigen Bits in diesem Feld sind nicht von Interesse, da sie aus im »nicht beachten«-Zustand befindlichen Speicherzellen stammen oder während der Verschiebevorgänge in das Register hineingekommen sind. Wenn die Torschaltung 138 durch den Impuls in der Leitung E 6 aktiviert ist, ist die 0-Eingangslcitung 146 infolge der Nullstellung des Längenzählcrs signalführend, und eine Ausgangsleitung 154 der Torschaltung 138 legt ein Signal an UND-Schaltungen 156 und 158 (Fig. 3B). Ein weiteres Eingangssignal wird der UND-Schaltung 156 über eine 0-Ausgangsleitung 160 von einem Decodierer 82 nur dann geliefert, wenn die Einstellung des Bytezähleis 80 auf 0 vermindert worden ist. Solange der Zählerstand des Bytezählcrs 80 nicht 0 ist, liefen der Decodierer über eine Leitung 162 ein Ausgangssignal an die UND-Schaltung 158. Ist der Bytezählerstand nicht 0, was bedeutet, daß noch weitere /D-Bytcs zu verarbeiten sind, so wird durch die Koinzidenz der Eingangssignale an der UND-Schaltung 158 ein Impuls an eine Leitung 164 gegeben, die über die Kabel 148 und 150 mit der ODER-Schaltung 92 verbunden ist, so daß über diese ODER-Schaltung ein Impuls an den monostabilen Multivibrator 94 gelangt. Dieser startet einen neuen Codierzyklus.
Der Codierzyklus wird so oft wiederholt, bis der Bytezählerstand Null ist. Sodann liefert der Decodierer 82 ein 0-Ausgangssignal an die UND-Schaltung 156. Ist auch der Längenzählerstand Null, was bedeutet, daß das letzte der codierten Bits aus dem Datenregister 120 ausgelesen worder, ist, wird durch die Koinzidenz der Signale an der UND-Schaltung 156 ein Impuls zur Beendigung der Operation erzeugt.
Wird die Einrichtung als Decodierer betrieben, so werden die Bits des zu decodierenden FL-Codes seriell in ein Argument-Register 178 (F i g. 3 A) eingegeben, welches 16 Bitspeicherstellen aufweist. Beim Start der Decodicroperation ist es erforderlich, daß das erste Bit des jeweiligen FL-Codes rechtsbündig in das Argument-Register 178 gebracht wird.
Die Decodicroperalion wird mit Bezug auf die Fig. 3A, 3B und 5 beschrieben. In dem Flußdiagramm in F i g. 5 entsprechen die verschiedenen Schritte Dl, D 2 usw. den durch Impulse auf Leitungen Dl, /) 2 usw. hervorgerufenen Vorgängen, was im folgenden noch näher erläutert ist. Die Decodieroperalion wird durch Anlegen eines Impulses an die Start-Leitung 180 gestartet, wodurch ein monoslabiler Multivibrator 182 in der Dccodicrtaktschaltung aktiviert wird. Dieser monostabile Multivibrator 182 gibt einen Impuls über die Leitung Dl und Kabel 184 und 96 (Fig. 3 B und 3A) an die Rückstelleinrichtung für den Längenzähler weiter,
ίο der dadurch auf Null zurückgestellt wird. Der Längenzähler kann dann die ersten sechzehn Informationsbits zählen, die seriell in das Argument-Register 178 eingegeben werden. Es muß sichergestellt sein, daß sechzehn Bits einer neuen Information in das Argument-Register eingebracht worden sind, bevor eine Decodieroperation beginnt.
Wenn der monostabile Multivibrator 182 abschaltet, sendet er über die ODER-Schaltung 186 einen Impuls an einen monostabilen Multivibrator 190, welcher einen Impuls in der Leitung D 2 erzeugt. Dieser Impuls gelangt über eine ODER-Schaltung 192 (Fig. 3A) und eine Leitung 194 zu einer Torschaltung 196, so daß diese das erste Bit aus der Eingabeeinheit in die linksbündige Bilspeicherstelle des Argument-Registers 178 einbringen kann. Der Impuls in der Leitung 194 gelangt außerdem über eine Verzögerungsschaltung 198 zur Eingabeeinheit und bewirkt, daß das nächste Bit für die Übertragung zur Verfügung gestellt wird. Das soeben in das Argumenl-Register 178 eingebrachte Bit muß eventuell nach rechts verschoben werden, bis es die rechtsbündige Bitspcicherstelle in diesem Register einnimmt. Der D2-Impuls gelangt außerdem über die ODER-Schaltung 132 auf die Längcnzählcrverminderungsleitung 134 und bewirkt, daß die Lännenzählung um 1 vermindert wird. Wenn der Längenzähler anfänglich auf 0000 stand, ändert sich der Zählerstand bei diesem Verminderuniisvoreanc auf den Wert 1111.
Wenn der monostabile Multivibrator 190 abschaltet, w;rd ein inonostabiler Multivibrator 200 eingeschaltet, welcher einen Impuls in der Leitung D 3 erzeugt. Dieser D3-Impuis liegt an einer Torschaltung 202 an, welche ihr Eingangssignal von der Ü-Leitung 114 oder der U-Leitung 146 erhält, die mit dem Längenzähler verbunden sind. Wenn die Längenzählung nicht auf 0 steht, gelangt- ein Signal von der Leitung 144 über die Torschaltung 202 in eine Leitung 204, die zu einem monostabilen Multivibrator 208 führt.
Der monostabile Multivibrator 208 legt beim Einschalten einen Impuls an die Leitung D 4, welchei über eine ODER-Schaltung 210 an eine Leitung 212 gelangt, die zu der nicht dargestellten Verschiebungseinrichtung des Argument-Registers 178 führt. Dadurch werden die Inhalte des Argument-Register; 178 um eine Bitspeicherstelle nach rechts verscho ben, so daß die linksbündige Bitspeicherstelle diese; Registers ein neues Eingabebit empfangen kann.
Wenn der monostabile Multivibrator 208 ab schaltet, sendet er einen Impuls über eine Leitunj 216 und die ODER-Schaltung 186 zum monostabilei Multivibrator 190 und schaltet diesen ein. Dl Schritte DI und D3 werden nun wiederholt, inderi die monostabilen Multivibratoren 190 und 200 nach einander betätigt werden. Beim Schritt D 3 wird de Stand des Längenzählers wieder getestet, und, wem dieser Zählerstand noch nicht 0000 beträgt, wird de
Tionostabile Multivibrator 208 zur Ausführung des Schrittes D4 eingeschaltet, wodurch die Inhalte des 'X.rgument-Registers 179 nach rechts verschoben werden.
Diese aus dem Einbringen eines Informationsbits in das Argument-Register 178, dem Vermindern des Längenzählers, dem Testen des Längenzählerstandes und dem Verschieben der Inhalte des Argument-Registers 178 nach rechts bestehende Arbeitsfolge wird so lange wiederholt, bis der Test im Schritt D3 endgültig anzeigt, daß der Längenzählerstand 0000 ist, was anzeigt, daß die ersten 16 Informationsbits in das Argument-Register 178 eingegeben worden sind und sich das erste Bit des ersten KL-Codes rechtsbündig im Register befindet. Wenn nun der D 3-Impuls an der Torschaltung 202 anliegt, wird das Signal der O-Ausgangsleitung 146 des Längenzählers über die Torschaltung 202 an eine Leitung 220 weitergegeben, die zur ODER-Schaltung 222 hingeführt ist, über welche das Signal an einen monostabilen Multivibrator 224 weitergelangt. Der monostabile Multivibrator legt einen Impuls an die Leitung D 5, die über Kabel 184 und 96 und über die ODER-Schaltung 106 zur Übereinstimmungsanzeiger-Rückstellleitung 62 herstellt und dadurch die Übereinstimmungsanzeiger der Assoziativ-Speicher-Steuerschaltung 56 auf ihre 1-Zustände zurückstellt. Wenn der monostabile Multivibrator 224 abschaltet, wird der monostabile Multivibrator 226 eingeschaltet und ein Impuls an die Leitung D 6 abgegeben, welche ihn an das Argument-Register 178 anlegt und dadurch eine »Zuordnungs«-Operation einleitet, bei welcher die Inhalte des Argument-Registers 178 über die Zuordnungsleitungen 230 in das KL-Code-Feld des Assoziativ-Speichers AS übertragen werden. Die Zuordnungsleitungen 230 weisen Leitungen zum Abfragen der verschiedenen, die Κί,-Codes speichernden Zellen auf. Die im »nicht beachten«-Zustand befindlichen Speicherzellen können keine Nichtübereinstimmungssignale erzeugen. Diejenigen Speicherzellen, die nicht im »nicht beachien«-Zustand sind und die keine Bits speichern, welche mit den Signalen auf den Abfrageleitungen 230 übereinstimmen, erzeugen Nichtübereinstimmungssignale, welche die jeweiligen Übercinstimmungsanzeiger auf 0 setzen.
Wenn der monostabile Multivibrator 226 abschaltet, wird der monostabile Multivibrator 232 eingeschaltet und ein Impuls in der Leitung Dl erzeugt, der über Kabel 184 und 96 zu der ODER-Schaltung 116 gelangt. Dieser Impuls wird sodann über die ODER-Schaltung 116 an die Leseleitung 66 der Assoziativ-Speicher-Steuerschaltung 56 abgegeben. Der Übereinstimniungsanzeiger, welcher dann in seinem 1-Zustand ist, gibt die Adresse des übereinstimmenden Wortes im Assoziativspeicher an. Dieses übereinstimmende Wort wird aus dem Assoziativspeicher ausgelesen und über die Ausgangsleitungen 118 in das Datenregistcr 120 cingelesen. Das übereinstimmende Wort enthüll den gesuchten /D-Codc und außerdem eine Längcn/ählung. Diese Informationen werden in geeigneten Stellen des Datenregisters 120 gespeichert. Der D7-lmpuls wird außerdem über die ODER-Schaltung 122 zum Bytezähler 80 geleitet und vermindert dessen Zählerstand.
Wenn der monostabile Multivibrator 232 abschaltet, schaltet er einen monnsiabilcn Multivibrator 236 ein. Dieser erzeugt in der Leitung D8 einen Impuls. welcher an eine Torschaltunc 238 aimelect wird, so daß diese den 8-Bit-/D-Codeteil der im Datenregister 120 gespeicherten Information an die Ausgabeeinheit abgeben kann.
In diesem Zeitpunkt registriert der Längenzähler die Anzahl signifikanter Bits, die in dem soeben decodierten KL-Code enthalten sind. Die Inhalte des Argument-Registers müssen nun um diesen Wert nach rechts verschoben werden, um das erste Bit des nächstfolgenden KL-Codes in die rechtsbündige Stel-
lung des Argument-Registers zu bringen. Das wird in folgender Weise erreicht:
Wenn der monostabile Multivibrator 236 abschaltet, schaltet er durch einen Impuls über die ODER-Schaltung 240 einen monostabilen Multivibrator 242 ein. Dieser erzeugt einen Impuls in der Leitung D9, welcher über die ODER-Schaltung 210 zu der Rechtsverschiebungsleitung 212 gelangt. Infolgedessen werden die Inhalte des Argument-Registers 178 um ein Bit nach rechts verschoben. Gleichzeitig gelangt der
so Impuls auf der LeitungD9 über die ODER-Schaltung 132 zur Läng^nzählerverminderungsleitung 134, wodurch die Lungenzählung um I vermindert wird.
Wenn der monostabile Multivibrator 242 abschaltet, wird ein monostabiler Multivibrator 244 eingeschaltet und dadurch in der Leitung D10 ein Impuls erzeugt, welcher über die ODER-Schaltung 192 und den Draht 194 zu der Torschaltung 196 gelangt, so daß das nächste Bit in die linksbündige Stelle des Argument-Registers 178 eingegeben wird. Gleichzeitig gelangt ein Impuls über die Verzögerungsschaltung 198 zur Eingabeeinheit, so daß diese ein neues Bit auf der Eingangsseite der Torschaltung 196 abgeben kann.
Der monostabile Multivibrator schaltet beim Abschalten einen monostabilen Multivibrator 246 ein. Dieser erzeugt in der Leitung D11 einen Impuls, der zu einer Torschaltung 248 gelangt und das Testen des Längenzählers bewirkt. Ist der Längenzählerstand noch nicht 0, leitet die Torschaltung 248 einen Impuls von der Ö-Leitung 144 über eine Leitung 250 an die ODER-Schaltung 240. Das hat zur Folge, daß der monostabile Multivibrator 242 wieder eingeschaltet wird und die Folge der Schritte D 9, D 10 und DIl von neuem beginnt. Auf diese Weise werden die Inhalte des Argument-Registers fortschreitend so lange nach rechts verschoben, bis die laufende Längcnzählung auf 0 vermindert ist. 1st dieser Zustand erreicht, so befindet sich bereits das Bit mit dem niedrigsten Stellenwert des nächstfolgenden I7L-COdCS rechtsbündig im Argument-Register 178. Sodann kann der nächste Ki.-Code decodiert werden.
Hat die Längenzählung den Wert 0 erreicht, wird das Signal von der 0-Lcitung 146 über die Torschaltung 248 an eine Leitung 252 weitergegeben, welche jeder der UND-Schaltungen 254 und 256 ein Eingangssignal zuführt. Hat der Bytezähler 80 in diesem Zeitpunkt noch nicht den Zählerstand 0 erreicht, legt der Decodierer 82 an die Leitung 162 ein Signal an welches über die UND-Schaltung 254, eine Leitunt 260 lind die ODER-Schaltung 222 zum monosta bilcn Multivibrator 224 gelangt und diesen cinschal let. Das hat zur Folge, daß die Schritte D 5 bis DIl in dem Flußdiagramm nach F i g. 5 wiederholt wer den. Dieser Vorgang wiederholt sich so lange, bis de Bytezählcrstand auf 0 steht. Wenn dann der mono stabile Multivibrator 246 einschaltet, wird die Tor schaltung 256 wirksam und erzeugt ein Signal zu Beendigung der Dccodieropcration.
Bei der in den Fig. 1 bis 5 dargestellten Codier-Decodier-Einrichtung wird ein Assoziativspeicher mit einer Wortspeicheradresse für jeden möglichen /D-Code und dessen übereinstimmenden I L-Code verwendet. Der Assoziativspeicher muß, da uie ID-Codewortlänge 1 Byte beträgt, also eine Kapazität von 256 Worten haben, um sämtliche Bytekonfiuurationen aufnehmen zu können.
Wie bereits erwähnt, kann zwecks Einsparung von Speicherkosten ein Teil der möglichen Datenverdichtung geopfert werden, indem nur den häufig vorkommenden /D-Codewörtern ein KL-Codewort zugeordnet wird und die weniger häufig verkommenden /D-Codewörter nicht umgesetzt, sondern identisch übernommen, also kopien werden. Das ν erfahren der Codeumsetzung mit Kopieren der weniger häufigen /D-Codewörter wird im folgenden mit Bezug auf die Fi g. 6 bis JO beschrieben.
Zur Ermöglichung des Kopierens ist das in den Fig. 1 bis 5 dargestellte System gemäß cen Fig. 6 bis 10 abgewandelt. Ein Vergleich der Fi g. 1 mit der Fig. 1 zeigt in allgemeiner Weise die erforderlichen Abwandlungen. Gemäß Fig. 6 hat die Assoziativspeicher A S' eine Speicherkapazität von 150 Wörtern (ein Wort für jedes Paar einander zugeordneter VL- und /D-Codes) plus einem zusätzlichen Wort, welches im KL-FeId einen Kopier-Code enthält. Die Inhalte des /D-Feldes in diesem letztgenannten Wort sind unwesentlich, solange sie nicht mit irgendeinem der in den 150 Wortplätzen enthaltenen /D-Codes identisch sind. Die Assoziativ-Speicher-S:euerschaltung, die im folgenden näher beschrieben ist, ist so ausgelegt, daß, wenn keine Übereinstimmung mit irgendeinem der in den 150 Wortplätzen des Assoziativ-Speichers gespeicherten /D-Codes während einer Codieroperation erzielt wird, der Kopier-Code dann automatisch als KL-Code-Ausgangssignal erzeugt wird. Das vollständig codierte Ausgangssignal besteht beim Kopieren aus einer Bit-Kette, welche die Kopier-Code-Bits und unmittelbar anschließend die Bits des eingegebenen /D-Codes enthält Dadurch ergibt sich natürlich eine Code-Bit-Kette, welche langer als die normale /D-Code-Bit-Kette ist. Da das jedoch nicht häufig vorkommt, wird die Gesamtdatenverdichtung nicht merklich beeinflußt.
Die Größe des KL-Code-Feldes ist so gewählt, daß sie den längsten vorkommenden KL-Code aufnehmen kann. Beim vorliegenden Ausführungsbeispiel hat das KL-Codc-Feld eine Länge von neun Bits. Gegenüber dem bei dem System nach den F i g. 1 bis 5 verwendeten Speicher mit 256 Speicherplätzen wird also eine Einsparung von sieben Speicherzellen pro Wort erzielt. Durch Verwenden des Kopierverfahrens wird also nicht nur eine Einsparung hinsichtlich bei der nötigen Anzahl der Wortplätze im Assoziativ-Speicher erzielt, sondern auch hinsichtlich der Anzahl der in jedem dieser Worte enthaltenen Bits.
Wenn die in F i g. 6 dargestellte Einrichtung als Decodierer arbeitet, werden die ankommenden Codes, weiche Kombinationen von Kodier- und /D-Codes enthalten, seriell in das KL-Argumenl-Rcgister eingegeben. Jeder Kopier-Code leitet eine spzielle Operation ein, bei welcher die Bits des Kopier-Codes aus dem Argument-Register hinausgeschoben und die folgenden 8 Bits des /D-Codes in 6;; die rechten 8 Stellen dieses Argument-Registers eingebracht werden. Diese 8 Bits des //)-Cixies werden sodann aus dem !''/.-Argument-Register parallel ausgelesen. Im Anschluß daran wird der /D-Code aus dem I'/.-Argument-Register, in welchem er normalerweise gespeichert würde, hinausgeschoben, damit der nächstfolgende KL-Code eingegeben werden kann.
Wenn der /D-Code im Argument-Register während einer Codieroperation keinen übereinstimmenden /D-Code in dem Assoziativspeicher AS' findet, wird eine spezielle Operation durchgeführt, wodurch der Kopier-Code aus dem Assoziativspeicher in ein Codierdatenregister eingebracht wird, aus welchem dis Bits dieses Codier-Codes dann anschließend seriell ausgelesen werden. Unmittelbar danach werden die 8 Bits des /D-Codes im Argument-Register -,eriell ausgelesen und an die Kette der Kopier-Code-Bits angehängt, so daß eine zusammengesetzte Kopier-/D-Code-Bit-Kettc der oben beschriebenen Art gebildet wird.
In F i g. 7 ist ein Teil der Assoziativ-Speicher-Steuerschaltung 56' für das abgewandelte System dargestellt. Bei dem in F i g. 7 dargestellten Steuerschema sind jedem Wortplatz im Assoziativspeicher AS' mit Ausnahme desjenigen Wortplatzes, welcher den Kopier-Code enthält, jeweils eine Nichtübereinstimmungsleitung 48' und ein Übereinstimtnungsanzeiger 50' zugeordnet. Wenn während einer Codieroperation der /D-Argument-Code nicht mit einem der gespeicherten Wörter übereinstimmt, werden alle Übereiinstimmungsanzeiger auf ihre Null-Zustände gelöscht. Das hat eine Stromkreiserweiterung von der Leseleitung 66' über eine Reihe von UND-Schaltungen 290, die jeweils ein Eingangssignal von der 0-Ausgangsseitc des ihnen jeweils zugeordneten Übereinstimmungsanzeigers 50' empfangen, bis zu einer Lesewahlleitung 292 für den Kopier-Code hin zur Folge, so daß der Kopier-Code als erster Teil des codierten Signals ;n das Datenregister eingebracht wird. Gleichzeitig wird über die Leitungen 292 und 294 ein Kopier-FIipflop 296 auf seinen 1-Zustand gesetzt. Dadurch werden die im Argument-Register gespeicherten /D-Code-Bits seriell als zweiter Teil des codierten Signals ausgelesen.
Während einer Decodieroperation stimmt der VL-Codc, welcher als ein Argument verwendet wird, entweder mit einem der 150 gespeicherten Wörter im Assoziativspeicher AS' oder mit dem darin gespeicherten Kopier-Code überein. Wenn das Argument in Kopier-Code ist, sind sämtliche Nichtübereinstimmungsanzeiger 50' auf Null gelöscht, und der Lesestromkreis ist von der Leitung 66' aus über die UND-Schaltung 290 und die Leitung 292 und 294 bis zum Kopier-FIipflop 296 ausgedehnt, wodurch dieses auf seinen 1-Zustand gesetzt wird. Während einer Decodier-Operation werden deshalb die Kopier-Codebits aus dem Argument-Register hinausgeschoben und die Bits des folgenden /D-Codes in eine Stellung gebracht, in welcher sie direkt aus dem Argument-Register ausgelesen werden können, wie in F i g. 6 angegeben.
Der Schaltplan in üen F-" ig. 8 A bis 8 C und die Flußdiagramme in den F i g. <J und 10 zeigen mehr im einzelnen den Aufbau und die Arbeitsweise des abgewandelten Systems mit der Kopiermöglichkeit. Zur Korrelation der Flußdiagramme in den Fig. 9 und 10 mit der in den F i g. 8 Ä bis 8 C gezeigten Einrichtung sind die ein/einen Schritte in diesen Flußdiagrammen jeweils mit denjenigen Bezugszeichen versehen, mit welchen auch die Leitungen bezeichnet
609 520/466
JJ
j τ ι»·m sind, welche die diese Schritte einleitenden Takt.m-
PUIm Agenden" wird nun unter Bezugnahme auf die F^9KUndn8ARbiS»i.C SeiF sTS auf d e schrieben. Der BytezahlerSO (F i,g. !B) ist au (Le Anzahl der zu codierenden /D-Codewor er emge stellt. Ein an die Le.tung 90 angelegte, Startimpuls leitet den Codiertakt ein. Be.m Schritt £1 wird der zu codierende /D-Code in das Argument-Register 100' (Fig. 8A) eingegeben. Die übereinstimmungs- anzegerSO' in der Assoziativ-Speicher-Steuerschaltung werden auf 1 zurückgestellt. Gemäß Fig. 8B liegt der El'-Impuls außerdem über eine ODER-Schaltung 300 am Kopier-Flipflop 296 an und stellt dieses auf seinen 0-Zustand zurück.
Bei den Schritten £2' und £3' wird mit dem im Argument-Register befindlichen /D-Code eine Zu-Ordnungsoperation ausgeführt, um ein übereinstimmendes Wort zu finden. Wird im Speicher AS' ein übereinstimmendes Wort gefunden, so wird der in dem Speicher enthaltene KL-Code in das Datenregister 120' ausgelesen. Wird kein übereinstimmendes Wort gefunden, so aktiviert die Assoziativ-Speicher-Steuerschaltung 56' die Lese-Wahlleitung des Kopier-Codes und bewirkt dadurch, daß der Kopier-Code in das ^-Code-Feld des Datenregisters 120' ausgelesen wird. Gleichzeitig setzt die Assoziativ Speicher-Steuerschaltuno über die Leitung 294 das Kopier-Flipflop 296 auf seinen 1-Zustand. An-
angesteuert und das rechtsbündige Bit er 100' an die Ausgubeein-
heit
^ diesen v wird ein
stater Multivibrator 322 eingeschaltet, welcher Taktirnpuls in der Leitung £9 erzeugt. Daei H Verschiebeleit für das A
dur |führend und der Längenzahler um
te£'s£ ,* Demzufolge wird der monos.abile 1 zuruckgestern. ιλ e ... ;; n!le
m eier pg „, .,,,„ 7Shlm,.; ,
durch eine Torschaltung 326 den Zählerstand des Langenzahlers testet.
Steht der Längenzähler mch a ü, a·-bedeutet, '5 daß noch weitere Code-Bus aus dem //J-Argumem-Register auszulesen sind, «rd en Signal von der Ö-Ausgangsle.tung 144 des Langenzahlers aus uoer die Torschaltung 326, eine Le.tung 330 und die ODER-Schaltung 314 an den monostable,, Mu11- *o vibrator 316 gelegt. Dieser Vorgang leitet erneut die Folge der Schrittet 8, £9 und E 10 zur Verschiebung des nächsten Code-Bits aus dem /D-Argumem-Register ein. D.eser Zyklus w.rd so olt wiedcriL.lt, bis sämtliche /D-Code-Bits aus dem Argument-Regler ^5 ausgeschoben sind. Die Langenzahlung stein dann auf 0. Folglich leitet die Torschaltung 326 ein Signal von der O-Längenzahlerausgangsleitung 146 über eine Leitung 332 zu UND-Schaltungen 334 und 335.
ppp Ist der Byte-Zählerstand in diesem Augenblick nicht
schließend wird der Bytezählerstand um 1 vermindert. 30 0, so ist die UND-Schaltung 334 aktiv und betätigt Der Zyklus mit den Schritten £4'. £5' und £6' über eine Leitung 336 und die ODER-Schaltung 92' wird so oft wiederholt, wie es zum seriellen Auslesen den monostabilen Multivibrator 94'. Dadurch wiru der in dem 9-Bit-Feld des Datenreuisters 120' ge- eine neue Codierfolge eingeleitet,
speicherten signifikanten Codebits erforderlich ist. Die oben beschriebene Folge mit den Schritten
Das hängt davon ab, ob der in dem 9-Bit-Feld ge- 35 El' bis £6' wird nun wiederholt. Wenn der im speicherte Code ein FL-Code oder ein Kopier-Code Argument-Register 100' als nächstfolgender gespeiist. Wenn das letzte signifikante Bit ausgelesen ist, cherte /D-Code nicht zu den zu kopierenden Codes wird der Zählerstand des Längenzählers Null. In die- gehört, behält das Kopier-Flipflop 296 seine anfängsem Augenblick kann die Torschaltung 138' liehe 0-Stellung bei. Sodann findet eine normale Co-(Fig. 8B), an welcher der Taktimpuls £6' anliegt, 40 dier- oder Decodieroperation statt, wie an Hand der das Signal der O-Ausgangsleitung 146' des Längen- Einrichtung gemäß den Fig. 1 bis 5 beschrieben.
ähl b l Wird der Bytezählersland 0, und ist die Kopier
Flipflopeinstellung in diesem Zeitpunkt ebenfalls 0,
p g so wird die UND-Schaltung 335 aktiv und erzeugt,
deutet, daß ein Kopier-Code ausgelesen worden ist, 45 wenn das letzte Code-Bit aus dem Datenregister ausmuß eine spezielle Folge von Schritten eingeleitet gelesen worden ist, einen Ende-Impuls. Wenn jedoch werden, um die Bits des im Argument-Register ge- das Kopier-Flipflop in diesem Zeilpunkt auf 1 steht, speicherten /D-Codes unmittelbar im Anschluß an wird dadurch angezeigt, daß nur die Kopier-Codedas letzte Bit des Kopier-Codes seriell auszulesen. Bits ausgelesen worden sind und daß es noch erfor-Diese spezielle Folge von Schritten ist in Fig. 9 mit 5° derlich ist, auch die/D-Code-Bits auszulesen, die dem El bis £10 bezeichnet. Sie wird eingeleitet, wenn an Kopier-Code folgen müssen. In diesem Fall wird die der UND-Schaltung 304 koinzidente Signale vorhan- UND-Schaltung 304 wirksam und leitet die durch die den sind, d.h. wenn die Längenzählung 0 erreicht Schritte £7 bis £10' dargestellte Zweigoperalion ein, und das Kopier-Flipflop in seinem 1-Zustand ist. bei welcher die /D-Code-Bits ausgelesen werden. Daraufhin wird durch die UND-Schaltung 304 ein 55 Wenn das letzte /C'-Code-Bit ausgelesen worden ist Signal über eine Leitung 310 und das Kabel 150' an und der Bytezähler auf 0 steht, wird die UND-Schaleinen monostabilen Multivibrator 312 gelegt, der tung 335 wirksam und erzeugt einen Hnde-Impuls dann in der Leitung E7 einen Taktimpuls erzeugt. zur Beendigung der Operation.
Dieser £7-TaktimpuIs stellt den Längenzähler auf Die Decodieroperation des abgewandelten Systems
1000, was der Dczimalzahl 8 entspricht. Auf diese 6° wird unter Bezugnahme auf Fig. 10 in Verbindung Weise kann der Längenzähler das Auslesen der mit den F i g. 8 A bis; 8 C beschrieben.
8 Bits des in dem Argument-Register 100' gespeicher- Gemäß F i g. 8 C wird die Decodieroperation durch
ten /D-Codes steuern. einen auf der Leitung 180' ankommenden Slartim-
Wenn der monostabile Multivibrator 312 abschal- puls eingeleitet, welcher den monostabilcn Multivitet, gibt er über eine ODER-Schaltung 314 einen 65 brator 182' einschaltet. Der Bytezähler 80' ist mit der Impuls an einen monostabilen Multivibrator316 ab, Anzahl der zu codierenden !'/.-Codes geladen worwelcher daraufhin einschaltet und in der Leitung £8 den. Wenn der moncstabile Multivibrator 182' eineinen Taktimpuls erzeugt. Dadurch wird eine Tor- schaltet, wird über eine Leitung D 1'der Liincenzähler
g ggg g
Zählers über eine Leitung 302 an drei UND-Schaltungen 304, 305 und 306 weiterleiten.
Ist das Kopier-Flipflop 296 auf 1 gesetzt, was bedß
44 113
iuf 1001 (dezimal 9) zurückgestellt. An dieser Stelle ier Operation ist es erforderlich, das 9-Bit-Argument-Regisler 178' mit aufeinanderfolgenden Bits des ersten KL-Codes und folgender Codes bis auf die ersten 9 Bits zu laden. Dieser Vorgang wird mittels der Schritte Dl', Di' und D-*' (Fig. 9) ausgeführt, welche so lange wiederholt werden, bis der Längenzählerstand beim Schritt D 3' auf 0000 vermindert worden ist. Die Torschaltung 202' leitet sodann °in Signa! von der O-Ausgangsleitung 146' des Längenzählers zur Leitung 220' und an die ODER-Schaltung 222' weiter, so daß der monostabile Multivibrator 224' eingeschaltet wird und in der Leitung 5 D' einen Taktimpuls erzeugt.
Der D5'-Taktimpuls setzt die Übereinstimmungsanzeiger 50' der Assoziativ-Speicher-Steuerschaltung 56' auf 1 zurück. Außerdem löscht dieser Impuls über eine ODER-Schaltung 300 das Kopier-Flipflop 296 auf Null. Der monostabile Multivibrator 226' schallet sodann ein und erzeugt den Taktimpuls D 6', mit dessen Hilfe die Inhalte des Argument-Registers 178' den Inhalten des 9-BIt-KL-COdC-FeIdCs des Assoziativ-Speichers AS' zugeordnet weiden. Wenn ein übereinstimmendes Wort gefunden wird, wird es »us dem Datenregister 120' ausgelesen, und das Kopier-FH;-llop 296 bleibt auf seiner 0-Einstellung. Wenn kein übereinstimmendes Wort gefunden wird, wird über die von der Speicherstc-uerschaltung 56' kommende Leitung 294 das Kopier-Flipflop auf seinen 1-Zustand eingestellt, wodurch angezeigt wird, daß der im Argument-Register 178' rechts gespeicherte Code ein Kopier-Code ist. Der D7'-Takt:mpuls bewirkt außerdem die Verminderung des Bytezählers 80'.
Wenn der monostabile Multivibrator 232', welcher den Takiimpuls D7' erzeugt hat, abschaltet, legt er einen Impuls über eine Leitung 350 an die Eingänge von UND-Schaltungen 352 und 354. Wenn das Kopier-Flipflop 296 auf 0 steht, wird über die Leitung 350, die UND-Schaltung 352 und eine Leitung 356 der monostabile Multivibrator 236' eingeschaltet und legt einen Taktimpuls an die Leitung Z) 8'. Dann wird die normale, die Schritte D 8' bis DW umfassende Decodierfolge ausgeführt, und dabei werden die Bits des aufgefundenen /D-Codes parallel in die Ausgabeinheit ausgelesen. Die im Argument-Register 158' gespeicherten Bits werden fortschreitend nach rechts verschoben, bis der Längenzählerstand auf 0 vermindert ist.
Wird der Längenzählerstand 0, gelangt ein Signal über die Leitung 146', die Torschaltung 248' und eine Leitung 360 zu UND-Schaltungen 362 und 364. Wenn der Bytezählerstand noch nicht auf 0 vermindert worden ist, gelangt dieses Signal weiter über die UND-Schaltung 362, die Leitung 366 und die ODER-Schaltung 222' an den monostabilen Multivibrator 224', wodurch eine neue Folge der Schritte D5' bis DT eingeleitet wird. Ist der Bytezählerstand jedoch 0, so wird die UND-Schaltung 364 aktiviert und ein Ende-Impuls erzeugt, übercinslimmungs- und Ausleseoperationen werden in der oben beschriebenen Weise ausgeführt, solange im Argument-Register 178' der Kopier-Codc nicht erscheint. 1st der Kopier-Code im Datenregister 120' gespeichert worden, nimmt das Kopier-Flipllop 296 seinen i-Zustand ein. Wenn dann der monostabile Multivibrator 232' abschaltet und einen Impuls an die Leitung 350 legt.
der über die UND-Schaitung 354, eine Leitung 370 und eine ODER-Schaltung372 an einen monostabilen Multivibrator 374 gelangt. Dieser erzeugt beim Einschalten in der Leitung D 12 einen Taktimpuls und leitet dadurch eine spezielle Folge von Schritten D 12 bis D 16 zum Decodieren der eingegebenen Kombination des Kopier-Codes mit einem 7D-Code ein. Diese spezielle Decordieroperation besieht aus dem Ausschieben des Kopier-Codes aus dem Argument-Register 178' und dem anschließenden Auslesen des 8 Bits aufweisenden /D-Codes aus diesem Register. Im einzelnen wird bei dieser speziellen Decodieroperation der D 12-Taktimpuls über die ODER-Schaltung 210' an die Verschiebeleitung 212' für das Argument-Register 178' angelegt. Das hat zur Folge, daß das Argument-Register 178' seine Inhalte um eine Bitstelle nach rechts verschiebt. Gleichzeitig liegt der D 12-Taktimpuls auch über die ODER-Schaltung 132' an der Leitung 134' an, wodurch der Längen-Zählerstand um I vermindert wird.
Wenn der monostabile Multivibrator 374 abschaltet, schaltet er den monostabilen Multivibrator 376 ein, welcher einen Taktimpuls an die Leitung D 13 abgibt. Dieser D13-Impu!s aktiviert dann über di. ODER-Schaltung 192' und die Leitung 194' die »Ein«-Torschaltung 196'. Diese bringt ein Bit aus der Eingabeinheil in die linksbündige Stelle des Argument-Registers 178' ein, um das aus diesem Register ausgeschobene Bit zu ersetzen.
Wenn der monostabile Multivibrator 367 abschaltet, schaltet er den monostabilen Multivibrator 378 ein und erzeugt einen Taktimpuls auf der Leitung D 14, welche zu einer Torschaltung 380 führt. Wenn der Längenzählcrstand in diesem Zeilpunkt nicht 0 ist, wird über die Ö-Leitung 144' die Torschaltung 380, die Leitung 382 und die ODER-Schaltung 372 der monostabile Multivibrator 374 eingeschaltet und erneut die Foige der Schritte D 12 bis D 14 eingeleitet.
Wird bei dem mittels des D 14-Taktimpulses durchgeführten Test der Längenzählerstand 0 festgestellt, wird über die O-Längenzählerausgangslcitung 146' die Torschaltung 380 und die Leitung 386 der monostabile Multivibrator 390 eingeschaltet und der D 15-Takl^mpulit erzeugt. Dieser D 15-Taktimpuls wird an eine Torschaltung 392 angelegt, damit die in den letzten 8 Stellen des Argument-Registers 178' gespeicherten 8 Bits ausgelesen werden, welche sodann parallel in die Ausgabeeinheit eingegeben werden. Wenn der monostabile Multivibrator 390 abschaltet, schaltet er den monostabilen Multivibrator 393 ein, welcher einen D 16-Taklimpuls erzeugt, dei über die ODER-Schaltung 311 an die Leitung 312 gelangt und den Längenzähler auf 1000 zurückstellt Der monostabile Multivibrator 393 gibt beim Abschalten einen Impuls über die Leitung 394 an UND Schaltungen 396 und 398. Steht die Bytczählung ir diesem Zeitpunkt noch nicht auf 0, gelangt diese Impuls über die UND-Schaltung 396. eine Leituni 400 und die ODER-Schaltung 186' an den monosla bilen Multivibrator 190' und leitet einem den Schiit 1)2' der Decodieropcralion ein.
Steht die Bytezälilung beim Abschalten des mono
stabilen Multivibrators 393 auf 0. so wird der Im puls auf der Leitung 394 durch die Torschaltung 39;
iiindurchgelcitet und ein Ende-Signal zur Beendigun der Decodicroperation erzeugt.
Hierzu 11 Blatt Zeichnungen

Claims (7)

Patentansprüche:
1. Verfahren zur Codeumsetzung unter Verwendung eines Speichers, wobei die Codewörter eines ersten Codes in einem ersten Teil des Spei- s chers und die diesen jeweils zugeordneten Codewörter eines zweiten Codes in einem zweiten Teil des Speichers gespeichert werden und wobei die aufeinanderfolgend eingegebenen Codewörter des jeweils umzusetzenden Codes jeweils mit den im jo entsprechenden Speicherteil gespeicherten Codewörtern dieses umzusetzenden Codes verglichen werden, dadurch gekennzeichnet, daß der erste Code eine feste Wortlänge aufweist und daß der zweite Code die häufiger vorkommenden Codewörter des ersien Codes darstellende Codewörter veränderlicher Länge und mit den seltener vorkommenden Codewörtern des ersten Codes identische Codewörier iesler Länge enthält, daß ferner im ersten Teil des Speichers nur die häufig vorkommenden Codewörter des ersten Codes und im zweiten Teil des Speichers nur die diesen Codewörtern entsprechenden Codewörter veränderlicher Länge des zweiten Codes gespeichert werden, daß weiter zur Umsetzung des ersten Codes in den zweiten Code jeweils nach dem Vergleich eines eingegebenen Codeworts des ersten Codes mit den im ersien Teil des Speichers gespeicherten Codewörtern je nach dem Vergleichsergebnis einer der beiden folgenden Schritte ausgeführt wird:
a) falls das betreffende Hingabecodewort mit einem der im ersten Speicherteil gespeicherten Codewörter fester Länge übereinstimmt: Auslesen des entsprechenden, im zweiten Speicherteil gespeichorten Codeworts veränderlicher Länge als Ausgabecodewort, oder
b) falls das betreffende Eingabecodewort nicht mit einem der im ersten Speicherleil gespeicherten Codewörter übereinstimmt: Auslesen dieses Eingabecodeworts als Ausgabecodewort,
und daß beim Umsetzen des zweiten Codes in den ersten Code jeweils nach dem Vergleich eines eingegebenen Codewortes des zweiten Codes mit den im zweiten Teil des Speichers gespeicherten Codewörtern je nach dem Vergleichsergebnis einer der beiden folgenden Schritte ausgeführt wird:
c) falls das betreffende Eingabecodewort mit einem der im zweiten Speicherteil gespeicherten Codewörter veränderlicher Länge übereinstimmt: Auslesen des entsprechenden Codewortes fester Länge aus dem ersten Speicherteil als Ausgabecodewort, oder
d) falls das betreffende Eingabecodewort nicht mit einem der im ersten Speicherteil gespeicherten Codewörter übereinstimmt: Auslesen dieses Eingabecodewortes als Ausgabecodewort.
2. Verfahren nach Anspruch 1. dadurch gekennzeichnet, daß in einem dritten Teil des Speichers ein spezielles Hilfscodewort gespeichert wird, daß weiter bei der Umsetzung des eisten Codes in den zweiten Code im Falle der Ausfallrung des Schrittes b) dieses Hilfscodewort dem als Ausgabecodewort ausgelescncn Eingabecodewort fester Länge vorangestellt wird, und daß •beim Umsetzen des zweiten Codes in den erster Code im Falle der Feststellung eines Eingabecodeworts mit dein vorangestellten Hilfscodewor und der sich daraus ergebenden Ausführung de; Schritts d) das Hilfscodewort beim Auslesen de; Eingabecodeworts als Ausgabecodeworl unterdrückt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekenzeichnet, daß in einem vierten Teil des Speichers jeweils Längenangaben der im zweiten Teil des Speichers gespeicherten Codewörter veränderlicher Länge gespeichert werden, daß weiter bei der Umsetzung des ersten Codes in den zweiten Code im Falle der Ausführung des Schrittes a) des Anspruchs 1 das betreffende Ausgabecodewort veränderlicher Länge in ein Schieberegister eingebracht und durch Verschieben der Inhalte der Schieberegisterstufen um die der im vierten Speicherieii gespeicherten Längenangabe;] des betreffenden Ausgabecodeworts entsprechende Anzahl von Bitspeicherstellen ausgelesen wird und daß bei der Umsetzung des zweiten Codes in den ersten Code die Eingabecodewörter jeweils in ein weiteres Schieberegister eingegeben werden und die Inhalte der Schiebercgisierstufen im Falle der Ausführung des Schrittes c) des Anspruchs 1 um die der im vierten Speicherteil gespeicherten Längenangabe des betreffenden Eingabecodeworts entsprechende Anzahl von Bitspeicherstellen verschoben werden.
4. Verfahren nach Anspruch 2 und 3, dadurch gekennzeichnet, daß in einem fünften Teil des Speichers eine Längenangabe des Hilfscodeworts gespeichert wird und daß bei der Umsetzung des zweiten Codes in den ersten Code im Falle der Ausführung des Schrittes d) des Anspruchs 1 die Inhalte der Schieberegisterstufen des das jeweilige Eingabecodeworl enthaltenden weiteren Schieberegisters zunächst um die der im fünften Speicherteil gespeicherten Längenangabe des Hilfscodeworts entsprechende Anzahl von Bitspeicherstellen und dann während des Auslesens des betreffenden Eingabecodeworts fester Länge als Ausgabecodewort um die der Testen Wortlänge entsprechende Anzahl von Bitspeicherstellen verschoben werden.
5. Assoziativ-Speichereinrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 4, welche als Codierer-Decodierer Umsetzungen zwischen häufig vorkommenden Codewörtern fester Länge und diesen zugeordneten Codewörtern veränderlicher Länge, jedoch keine Umsetzungen der weniger häufig vorkommenden Codewörter fester Länge vornimmt, gekennzeichnet durch:
a) ein Speicherfeld (AS') mit einer Vielzahl von Speicherzellenreihen, in welchen jeweils eines der häufig vorkommenden Codewörter fester Länge zusammen mit dem jeweils zugeordneten Code wort veränderlicher Länge und eine die Anzahl dessen signifikanter Bits angebende Längen angabe speicherbar sind, und deren die Codewörter veränderlicher Länge speichernde Zellen, deren Anzahl bei allen Speicherzellcnrcihen gleich ist, Drei-Zustands-Zcllcn (20) sind, die jeweils einen binären 1- oder 0-Zustand oder einen »nicht beachtenv.-Z'.island einnehmen können.
b) eine Argument-Speichereinrichtung (100', 178') mit einem Teil (178'), der bei als Decodierer arbeitender Assoziativ-Speichereinrichtung Bitketten speichert, die in einer den Eingabecode bildenden Folge von Codewörtem veränderlicher Lunge und Codewönern fester Länge enthalten sind, und mit einem weiteren Teil (100'), der bei als Codierer arbeitender Assoziativ-Speichereinrichtung die Bits der den Eingabecode bildenden Code-Wörter fester Länge speichert,
c) eine Datenspeichereinrichtung (120') mit einem Teil (KL-FeId), der beim Codieren die Bits eines aus dem Speicherfeld ausgelesenen Codeworts veränderlicher Länge speichert, ferner mit einem weiteren Teil (/D-FeId), der beim Decodieren die Bits eines aus dem Speicherfeld ausgelesenen Codeworts fester Länge speichert, und mit einem Längenzähler zur Speicherung der aus dem Speicherfeld während des Codierens und des Decodierens ausgelesenen Längenangaben,
d) eine Codier-Steuereinrichtung (56') mit einem Vergleicher (50'), der das jeweils in der Argument-Speichereinrichtung (100') gespeicherte Codewort fester Länge mit den im Speicherfeld (A S') gespeicherten Codewörtern fester Länge vergleicht und bei Übereinstimmung mit einem der im Speicberfeld gespeicherten Codewörter fester Länge eine normale und bei Nichtübereinstimmung mit irgendeinem der im Speicherfeld gespeicherten Codewörter fester Länge eine spezielle Codieroperation signalisiert, ferner mit einem normalen Steuerteil (64'), welcher immer dann, wenn der Vergleicher eine normale Codieroperation signalisiert, das Auslesen des jeweils zugeordneten Codeworts veränderlicher Länge aus dem Speicherfeld in die Datenspeichereinrichtung (120') und danach das Ausschieben der Bits dieses Codeworts aus der Datenspeichereinrichtung nach Maßgabe der im Längenzähler gespeicherten Längenangabe bewirkt, und schließlich mit einem speziellen Steuerteil (290). welcher immer dann, wenn der Vergleicher eine spezielle Codieroperation signalisiert, das Eingeben eines speziellen Hilfscodeworts in die Datenspeichereinrichtung und danach durch Auslesen dieses Hilfscodeworts aus der Datenspeichereinrichtung und des Eingabecodeworts fester Länge aus der Argument-Speichereinrichtung die Erzeugung eines zusammengesetzten Ausgabecodeworts erzeugt; und
e) eine Decodier-Steuereinrichtung (56') mit einem Vergleicher (50'), der den Inhalt der Argument-Speichereinrichtung (178') mit den im Speicherfeld (AS') gespeicherten Codewörtern veränderlicher Länge vergleicht und bei Übereinstimmung mit einem der gespeicherten Codewörter veränderlicher Lunge eine normale und bei Nichtübereinstimmung mit irgendeinem der gespeicherten Codewörter veränderlicher Länge eine spezielle <>5 Decodieropcration signalisiert, ferner mit einem normalen Decodicr-Steucrteil (64'). welcher beim Signalisieren einer normalen Decodieroperaticn durch den Vergleicher das Auslesen des zugehörigen Codeworts fester Länge aus dem Speicherfeld und gleichzeitig das Einschieben eines neuen Eingabecode.wOits in die Argument-Speichereinrichtung nach Maßgabe der im Längenzähler gespeicherten Längenangabe bewirkt, und mit einem speziellen Decodier-Steuerteil (290, 296), welcher beim Signalisieren einer speziellen Decodieroperation durch den Vergleicher das Ausschieben des Hilfscodeworts des zusammengesetzten Eingabecodeworts aus der Argument-Speichereinrichtung und danach das Auslesen des nachfolgenden Codewortteils fester Länge des zusammengesetzten Eingabecodeworts aus der Argument-Speichereinrichtung als Ausgabecode wort bewirkt.
6. Assoziativ-Speichereinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der weitere Teil (100') der Argument-Speichereinrichtung (100', 178') und der eine Teil der Datenspeichereinrichtung (120') als Schieberegister ausgebildet sind.
7. Assoziativ-Speichereinrichtung nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß der eine Teil (178') der Argumeni-Speichereinrichtung (100', 178') und der weitere Teil der Datenspeichereinrichtung (120') als Schieberegister ausgebildet sind.
DE19712144113 1970-09-08 1971-09-03 Verfahren zur Codeumsetzung und Assozjathr-Speichereinrlchtung zur Durchführung dieses Verfahrens Expired DE2144113C3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7025170A 1970-09-08 1970-09-08
US7025170 1970-09-08

Publications (3)

Publication Number Publication Date
DE2144113A1 DE2144113A1 (de) 1972-03-16
DE2144113B2 true DE2144113B2 (de) 1976-05-13
DE2144113C3 DE2144113C3 (de) 1976-12-30

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3943879B4 (de) * 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3943879B4 (de) * 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
DE3943880B4 (de) * 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
DE3943881B4 (de) * 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
DE3912605B4 (de) * 1989-04-17 2008-09-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren

Also Published As

Publication number Publication date
US3675211A (en) 1972-07-04
DE2144113A1 (de) 1972-03-16
JPS52340B1 (de) 1977-01-07

Similar Documents

Publication Publication Date Title
DE2139731C2 (de) Anordnung zur Code-Umsetzung
DE2210044C2 (de) Verfahren zum Umsetzen von Codewörtern
DE3606869C2 (de) Vorrichtung zur Datenkompression
DE2205422C2 (de) Verfahren und Einrichtung zur Dekompression verdichteter Daten
DE2227148C3 (de) Schaltungsanordnung zur Umsetzung digitaler Daten
DE2519381C3 (de)
EP0230437B1 (de) Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE2457732A1 (de) Verfahren und anordnung zur codierung und decodierung von information
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE2821348A1 (de) Digitales dialogsystem
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE1964570B2 (de) Verfahren zum wiederauffinden gespeicherter informationen
DE102008052955B4 (de) Verfahren zur Übertragung von Programmcodes an einen Speicher eines Steuergerätes, insbesondere für Kraftfahrzeuge
DE3742142C2 (de)
DE1462688B2 (de) Einrichtung zur adressierung von empfangsstationen
DE1280592B (de) Schaltungsanordnung zur Ansteuerung eines Speichers
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
DE2144113B2 (de) Verfahren zur codeumsetzung und assoziativ-speichereinrichtung zur durchfuehrung dieses verfahrens
DE2144113C3 (de) Verfahren zur Codeumsetzung und Assozjathr-Speichereinrlchtung zur Durchführung dieses Verfahrens
DE1474017C3 (de) Datenverarbeitungsanlage
EP0193553A1 (de) Datenkompressions- und datenexpandiereinrichtung zum übertragen bzw. speichern von daten
DE2404259C3 (de) Schaltungsanordnung zum Zwischenspeichern von Datensätzen unterschiedlicher Länge

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee