DE2144113B2 - Verfahren zur codeumsetzung und assoziativ-speichereinrichtung zur durchfuehrung dieses verfahrens - Google Patents
Verfahren zur codeumsetzung und assoziativ-speichereinrichtung zur durchfuehrung dieses verfahrensInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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-
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
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
»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- 1β
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
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
ä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
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
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)
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3943880B4 (de) * | 1989-04-17 | 2008-07-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Digitales Codierverfahren |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
DE3943879B4 (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 |
---|---|
DE2144113A1 (de) | 1972-03-16 |
US3675211A (en) | 1972-07-04 |
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 |