DE2139731A1 - Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher - Google Patents

Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher

Info

Publication number
DE2139731A1
DE2139731A1 DE19712139731 DE2139731A DE2139731A1 DE 2139731 A1 DE2139731 A1 DE 2139731A1 DE 19712139731 DE19712139731 DE 19712139731 DE 2139731 A DE2139731 A DE 2139731A DE 2139731 A1 DE2139731 A1 DE 2139731A1
Authority
DE
Germany
Prior art keywords
memory
register
code
field
content
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
DE19712139731
Other languages
English (en)
Other versions
DE2139731C2 (de
Inventor
Josef Yorktown Heights Wesley Michael Andrew Somers NY Ravi v (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 DE2139731A1 publication Critical patent/DE2139731A1/de
Application granted granted Critical
Publication of DE2139731C2 publication Critical patent/DE2139731C2/de
Expired legal-status Critical Current

Links

Classifications

    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Anordnung und Verfahren zur Code-Umsetzung mit einem Assoziativ-Speicher.
Die Erfindung betrifft eine Anordnung und Verfahren zur Code-Umsetzung zwischen einem ersten Code mit Codewörtern gleicher Länge und einem zweiten Code mit Codewörtern unterschiedlicher Länge mit einem Assoziativ-Speicher.
Durch Codierung mit variabler Codewortlänge kann man eine gegebene Datenmenge, die durch Dateneinheiten mit festem Format dargestellt ist, zur Speicherung oder übertragung reduzieren. Dabei werden den häufiger vorkommenden Bytes oder Wörtern die kürzeren Codewörter zugeordnet, wodurch im Ganzen eine durchschnittliche Codewortlänge erreicht wird, die kleiner als die feste Codewortlänge ist. Die Auswahl und Zuordnung wird aufgrund einer statistischen Analyse des betreffenden Datenmaterials gemachte, Wenn die Daten z.B. als Bytes zu je 8 Bits vorliegen, kann man dem am häufigsten vorkommenden Byte ein Codewort von nur einem Bit, dem sweithäufigsten ein Coämio^t aus swei BItS4, usw.,
ÖiSdS/t!
zuordnen. Vorzugsweise ist keines der Codewörter im Code variabler Länge identisch mit dem Anfang irgendeines anderen Codewortes, damit eine eindeutige Unterscheidung möglich ist.
Obwohl eine Codierung der Daten in Codewörtern variabler Länge für Speicherung und übertragung vorteilhaft ist, muß man sie zur Verarbeitung meist wieder in eine Darstellungsform mit fester Länge der Dateneinheiten umsetzen. Der Vorteil, den man durch Codierung mit variabler Wortlänge erzielt, könnte also wegen der notwendigen Umsetzungen wieder verlorengehen. Wenn die Umsetzung aber beschleunigt und mit einer günstigen Anordnung durchgeführt werden kann, wird die Anwendung der Codierung mit variabler Wortlänge dadurch stark gefördert.
Es ist die Aufgabe der Erfindung, eine Anordnung und ein Verfahren anzugeben, mit denen solche Codeumsetzungen wirtschaftlich und schnell durchgeführt werden können.
Die Anordnung zur Code-Umsetzung zwischen einem ersten Code mit Codewörtern gleicher Länge und einem zweiten Code mit Codewörtern unterschiedlicher Länge, die einen Assoziativspeicher enthält, ist dadurch gekennzeichnet, daß gemäß der Erfindung im Assoziativspeicher erste Speicherfelder für Codewörter des ersten Codes, zweite Speicherfelder für Codewörter des zweiten Codes, und dritte Speicherfelder für Längenangaben der in den zweiten Speicherfeldern gespeicherten Codewörtern vorgesehen sind, wobei je ein erstes, zweites und drittes Speicherfeld einen Speicherplatz bilden, und daß die Speicherfelder aus binären Speicherzellen bestehen, wobei die Speichersellen in den ersten Speicherfeldern auch in einen neutralen Zustand versetzbar sind? ia dem sie b©i einsz
mit jeden eier beidssi BiSiäanw&rie fes glslslis liefera,? wtsltshcsm sonst ©iassr tib^seins
209309/1718
Docket YO §70 040
Ein Verfahren zum Betrieb der genannten Anordnung ist dadurch gekennzeichnet, daß zueinander zugeordnete Paare von Codewörtern des ersten und des zweiten Codes in das erste und zweite Speicherfeld je eines Speicherplatzes eingegeben werden; daß die Codewörter unterschiedlicher Länge in den zweiten Speicherfeldern alle am gleichen Ende bündig eingelesen werden und die über die Länge des jeweils eingelesenen Codewortes hinausgehenden Speicherzellen am andern Ende der zweiten Speicherfeider in den neutralen Zustand versetzt werden; und daß in das dritte Speicherfeld eines Speicherplatzes jeweils eine Längenangabe über das im zweiten Speicherfeld gespeicherte Codewort eingegeben wird.
(weiter auf Seite 4 oben)
209808/1718
Docket YO 970 040
AusführungsbeispieJe der Eivfindung sind in den Zeichnungen dargestellt und werden nachfolgend näher beschrieben. Es zeigen :
Fig. 1 eine allgemeine Darstellung eines Assoziativ
speichers, der Speicherzellen mit drei Zuständen enthält, mit Speicherplätzen für je ein Paar einander zugeordneter Codewörter und eine zugehörige Längen-
angabe ;
Fig. 2 eine schematische Darstellung einer in dem in Fig.
gezeigten Assoziativspeicher verwendeten Speicherzelle und der zugehörigen Steuerung ;
Fig. 3A und ein genaueres Schaltbild eines Assoziativspeichers Fig. 3B
: gemäss Fig. 1 und der zugehörigen Steuereinrichtungen ;
Fig. 4 ' ein Ablauf diagramm, welches die Operation der in den
Fign. 3A und 3B gezeigten Anordnung im Codierbetrieb
zeigt ;
Fig. 5 ein Ablaufdiagramm, welches die Arbeitsweise der
in den Fign. 3A und 3B gezeigten Anordnung im Decodierbetrieb zeigt ;
Fig. 6 eine allgemeine Darstellung eines Assoziativspeichers,
der ähnlich dem in Fig.. 1 gezeigten ist, jedoch Modifikationen zum "Kopieren" von Codewörtern enthält ;
YO9-70-040 - 4 -
209808/1718
Fig. 7 Einzelheiten einea Teils der SLeuerung für einen
Assoziativspeicher gemäss Fig. 6 ;
Fign. 8A, B, C ein Schaltbild einer Anordnung, welche einen modifizierten Assoziativspeicher reduzierter Grosse mit
Kopiereinrichtung verwendet ; Fig. 9 ein Ablaufdiagramm, welches die Arbeitsweise der
in den Fign. 8A bis 8C gezeigten Anordnung im
Codierbetrieb zeigt ; und Fig. 10 ein Ablaufdiagramm, welches die Arbeitsweise der
in den Fign. 8A bis 8C gezeigten Anordnung im
Decodierbetrieb zeigt.
Die Fign. 1 bis 5 zeigen ein Ausführungsbeispiel der Erfindung, r in welchem ein Assoziativspeicher 11 je einen Speicherplatz (eine Reihe von Zellen) für jedes mögliche Codewort fester Länge (ID-Codewort) aufweist. Wenn man annimmt, dass die festeC ode wort- Länge acht Bits oder ein Byte beträgt, so gibt es 256 mögliche Codebitkombinationen, und somit werden 256 Informationswörter in verschiedenen Stellen im Assoziativspeicher 11 gemäss Darstellung Fig. 1 gespeichert.
Das Feld für Codewörter veränderlicher Länge (VL-Code Wörter) wird lang genug gehalten, um das längste vorkommende C ode wort ■ aufnehmen zu können, das in diesem speziellen Beispiel mit 16 Bits
YÖ9- 70-040 2 0 9 8 frtfy 1 718
angenommen wird. Diese VL-Fekler des Assoziativspeicher« werden mit Codewörlern veränderlicher Länge geladen, welche Codewörtern, fester Länge zugeordnet sind, die jeweils in demselben Speicherplatz im ID-FeId gespeichert sind. Die VL-Codewöx-ter sind einwandfrei unterscheidbar ; keines dieser Codewörter veränderlicher Länge stellt den Anfang eines längeren Codewortes dar.
Die VL-Codewörter werden rechtsbündig gesetzt, so dass die signifikanten Bits eines jeden Codewortes die äussersten rechten Positionen des VL-Bildes belegen. Die Speicherzellen in diesem Feld, welche nicht zur Speicherung signifikanter Bits benutzt werden, werden gemäss nachfolgender genauerer Beschreibung in den X-Zustand versetzt, der in Fig. 1 auch durch ein X dargestellt ist. Im ersten Speicherplatz sind im VL-FeId eine 1 und eine 0 und 14X in der Reihenfolge von rechts nach links angeordnet. Das entsprechende ID-Codewort wird für dieses Beispiel mit 00000000 angenommen. Das Längenfeld enthält eine aus vier Bits bestehende Eintragung 0010, die angibt, dass zwei signifikante Bits in der zugehörigen VL-t^odeeintragung enthalten sind. In ähnlicher Weise gibt im letzten Speicherplatz die Eintragung im Längenfeld an, dass 14 signifikante Bits in der VL-Codeeintragung vorhanden sind. Die Eintragungen in den Speicherplätzen des Assoziativspeichers brauchen relativ zueinander nicht in einer gegebenen Reihenfolge vorgenommen zu werden.
YOO-70-040 209808/Π1 8
Für die Verwirklichung der I'-rfinflupg kann jede beliebige Form eines Asaoziativspeichers verwendet werden, vorausgesetzt, dass er im VL-Speicherteil Speicherzellen mit drei möglichen Zuständen enthält. Für die vorliegende Erfindung reicht ein Assoziativspeicher aus, wie er im USA-Patent Nr. 3. 317,, 898 beschrieben und in Fig. 2 der vorliegenden Anmeldung so modifiziert dargestellt ist, dass der X-Zustand nur in den Zellen des Speichers vorgesehen ist, die diese Eigenschaft wirklich bi-auchen.
In Fig. 2 ist in dem gestrichelten Hechteck 20 eine Assoziativspeicherzelle mit drei Zuständen gezeigt. Öiese Zelle 20 enthält ein Flipflop 22 zum Speichern einer binären 1 oder einer binären Wenn das gespeicherte Bit signifikant ist, wird ein anderes Flipflop in seinen 1-Zustand gesetzt ; ist das gespeicherte Bit jedoch nicht signifikant (d.h. wenn die Zelle 20 im X-Zustand steht), wird das Flipflop 24 auf 0 zurückgestellt.
Um Informationen in die1 Zelle 20 zu schreiben, wird eine von den drei Schreib-Eingangsleitungen 26, 28 und 30 dieser Bitposition zusammen mit einer Schreib-Wahlleitung 32 erregt, die zu dem Speicherplatz gehört, in welchem die Zelle 20 liegt. Wenn die Leitungen 26 und 32 gleichzeitig erregt sind, erzeugt das Zusammentreffen dieser Signale am UND-Glied 34 ein Signal zum Setzen des
YO9-70-040 20 98087^718
Flipflops 22 auf 1. Wenn die Leitungen 28 luid 3 2 gleichzeitig • erregt sind, wird ein Signal über das UND-Glied 36 zum Setzen des Flipflops 22 auf 0 erzeugt. Jedesmal wenn ein Signal durch das Tor 34 oder das Tor 36 zum Flipflop 22 geleitet wird, läuft dieses Signal auch durch das ODER-Glied 38 und wird an das Flipflop 24 angelegt, um es auf 1 zu setzen. Die 1-Ausgangssignale der Flipflops 22 und 24 werden an das mit drei Eingängen versehene UND-Glied 40 angelegt. Das 0-Ausgangssignal vom,Flipflop 22 und das 1-Ausgangssignal vom Flipflop 24 werden an das mit drei Eingängen versehene UND-Glied 42 angelegt. Dei" dritte Eingang zum UND-Glied 40 kommt von einer Verzweigung der 0-Abfrageleitung 44, während der dritte Eingang zum UND-Glied 42 von einer Verzweigung ■ der 1-Abfrageleitung 46 kommt. Die Abfrageleitungen 44 und 46 werden wahlweise mit einem Impuls beaufschlagt, abhängig davon, ob die jeweilige Bitpositipn auf eine 1 oder eine 0 hin abgesucht wird.
Die Ausgangs signale der beiden UND-Glieder 40 und 42 werden auf eine MNichtübereinstimmungs"-Leitung 48 geleitet, wobei eine derartige Leitung für jeden Speicherplatz des Assoziativspeichers vorgesehen ist. Im erregten Zustand stellt die Leitung 48 den Uebereinstimmungsanzeiger 50 für dieses Wort auf 0 zurück. Eine Nicht-Uebereinslimmung kann auftreten, wenn die Zelle 20 eine 0 speichert und auf die zugehörige 1-Signal-Leitung 46 ein Impuls
YO9-70-040 8
209808/Ί718
gegeben wird, oder wenn die Zelle 20 eine 1 speichert zu einem Zeitpunkt., zu welchem die zugehörige O-Leitüng 44 einen Impuls führt, vorausgesetzt, dass die Zelle nicht im X-Zustand steht. Die resultierende Koinzidenz der Eingangs signale entweder am UND-Glied 40 oder am UND-Glied 42 setzt ein Ausgangssignal auf die Leitung 48.
' Um die Zelle in den X-Zustand zu versetzen, wird die Schreibeingangsleitung 30 gleichzeitig mit der Schreibwahlleitung 32 erregt. Dadurch wird mit einem durch das UND-Glied 52 geleiteten Signal das Flipflop 24 auf 0 zurückgestellt. Wenn das Flipflop 24 im - O-Zustand steht, fehlt je eines der Eingangssignale zu jedem der beiden UND-Glieder 40 und 42, und dadurch werden diese beiden Tore so gesperrt, dass sie kein Signal auf die Leitung 48 weiterleiten können. Wenn die Zelle 20 in ihrem X-Zustand und das Flipflop 24 auf 0 stehen, wirkt die Zelle 20 immer so, als ob eine Uebereinstimmung vorläge, ungeachtet dessen, ob die Zelle über die zugehörigen Leitungen 46 oder 44 auf 1 oder 0 abgefragt wurde, wodurch die Zelle 20 effektiv von der Abfrage maskiert wird.
Die Assoziativspeichersteuerung ist in dem gestrichelten Rechteck 56 in Fig. 2 soweit fragmentarisch dargestellt, wie sie für
YO9-70-040 - 9 -
209808/171
die vorliegende Beschreibung benötigt wird. Weitere Einzelheiten dieser Steuerung sind in dem USA-Patent Nr, 3. 317. 898 beschrieben. Wenn Daten in einen bestimmten Speicherplatz des Assoziativspeicliers geschrieben werden sollen wird eine Schreibleitung 58 erregt, um ein Eingangssignal zu Schreibwahltoren 60 zu liefern, von denen für jeden Speicherplatz eines vorgesehen ist. Wenn ein Wortwahlsignal an den anderen Eingang dieses Tores gelegt wird, wird die entsprechende Schreibwahlleitung, wie z. B. die Leitung 32, erregt, um die Speicherzellen dieses Speicherplatzes zum Empfang von Daten von den Schreibeingangsleitungen 26, 28 und 30 vorzubereiten.
Wenn eine Abfrage- oder Suchoperation auszuführen ist, werden die Uebereinstimmungsanzeiger 50 aller Speicherplätze zuerst durch einen auf eine Rückstelleitung 62 gegebenen Impuls in den 1-Zustand zurückgesetzt. Dann werden auf die verschiedenen Abfrageleitungen,wie die Leitungen 44 und 46, wahlweise zur Abfrage der zugehörigen Speicherzellen Impulse gegeben."" Wenn eine oder mehrere Zellen in einem Wort ein Nicht-Uebereinstimmungssignal auf der entsprechenden Leitung 48 erzeugen, wird der Uebereinstimmungsanzeiger 50 für dieses Wort auf 0 gesetzt und dadurch ein Eingangssignal vom Lesewahltor 64 beendet und verhindert, dass das entsprechende Wort aufgrund der Abfrage ausgelesen wird.
-70-040 209808/J0? 18
Um ein übereinstimmendes Wort auszulesen, wird die Leseleitung 66 erregt. Beim übereinstimmenden Wort empfängt der Uebereinstiinmungsanzeiger 50 kein Nicht-Uebereinstimmungssignal und bleibt demzufolge im 1-Zustand, in den er am Anfang versetzt wurde, und das Lesewahltor 04 wird daher vorbereitet, um das Lesesignal von der Leitung C6 auf die Lese-Wahlleiturig weiterzuleben. Das Signal auf der Leitung 68 bereitet zwei UND-Glieder 70 und 72 vor zum Lesen der Daten aus allen Speicherzellen des gewählten Speicherplatzes. Abhängig vom Zustand des Flipflops 22 wird ein Signal durch eines oder das andere der beiden UND-Glieder 70 und 72 auf die 1-Leseausgangsleitung 74 oder die 0-Leseausgangsleitung 76 geleitet.
Wenn die Zelle 20 im X-Zustand steht (Flipflop 24 auf 0 gesetzt), hat diese Einstellung keinen Einfluss auf das Auslesen der im Flipflop 22 gespeicherten Daten. Der gerade im Flipflop 22 gespeicherte Wert (0 oder 1) wird ungeachtet dessen ausgelesen, ob die Zelle 20 im X-Zustand steht oder nicht. Ändere noch zu beschreibende Anordnungen sind vorgesehen, um die Bits zu übergehen, die aus den Zellen ausgelesen werden, die im X-Zustand stehen. Die X-Stellung sperrt lediglich die Tore 40 und 42. Sie beeinflusst die Auslesetore 70 und 72 nicht.
YO9-70-040 - Π -
209808/1718
Codierung.
Die Arbeitsweise der in den Fign. 3A und 313 gezeigten Einrichtung wird im Zusammenhang mit den Ablaufdiagrammen der Fign. 4 und 5 beschrieben. Zuerst wird die Codieroperation betrachtet, bei der ein ID-Codewort (Code mit fester Länge) in ein zugeordnetes VL-Codewort (Code mit veränderlicher Länge) umgewandelt wird. Es wird angenommen, dass der in Fig. 3A gezeigte Assoziativspeicher 11 vorher mit Paaren von ID-Codewörtern und zugeordneten VL-Codewörtern.zusammen mit den zugehörigen Längeneintragungen (zur. Bezeichnung der Anzahl signifikanter Bits im betreffenden VL-Codewort) geladen wurde.
Wie bereits gesagt, wird als Beispiel angenommen, dass die ID-Codewörter eine Länge von 8 Bits oder einem Byte haben, und dass die VL-Codewörter eine Länge von ein Bit bis zu 16 Bits haben können. Um eine Längenzahl von bis zu 16 Bits darzustellen (wobei 0000 eine 16 darstellt), genügen 4 Bits. Dementsprechend hat der in Fig. 3A gezeigte Assoziativspeicher 11 ein 16 Bit grosses Feld zur Speicherung von VL-Codewörtern, ein 8 Bit grosses Feld zur Speicherung der ID-Codewörter, von denen jedes ein Byte lang ist, und ein 4 Bit grosses Feld zu Längenangabe für das VL-Codewort. In dem Ausführungsbeispiel der Fign. 3A und 3B wird weiter angenommen, dass der Assoziativspeicher für alle möglichen ID-Bytekombinationen (insgesamt 256)Platz hat.
209808/1718
YO9-70-040 - 12 -
·■■ «■- ■■
Bevor die Codieroperation beginnt, wird die Anzahl der zu codierenden ID-Bytes in den Bytezähler 80 der Fig. 3B eingegeben. Eine Datenquelle oder Eingabeeinheit für die Lieferung dieser Bytezahl wird angenommen. Wenn die Eingabe einheit mit einer anderen Geschwindigkeit arbeitet als der Assoziativspeicher, kann entsprechend gepuffert werden. Die Einstellung des Bytezählers 80 wird schrittweise heruntergesetzt, während die Bytes codiert werden, und die laufende Einstellung wird durch einen Decodierer 82 zu "Null" oder "Nicht Null11 decodiert. Ein O-Ausgangssignal vom Decodierer 82 beendet die Codieroperation, was nachfolgend genauer beschrieben wird. :,
Die Codieroperation wird im Zusammenhang mit den Fign. 3A, 3B und 4 beschrieben. Die schematisch in den Fign. 3A und 3B gezeigte Einrichtung dient nur als Äusführungsbeispiel. Es braucht nicht unbedingt diese Form zu sein,inwelcher die Erfindung für kommerzielle Zwecke hergestellt wird. Die Codieroperation wird eingeleitet durch einen Startimpuls auf der Leitung 90, der zu einer Codier-Taktschaltung führt. Der Startimpuls läuft über ein ODER-Glied 92 auf eine monostabile Kippschaltung 94 und schaltet diese zur Erzeugung eines Impulses auf der Leitung El ein, welcher über ein Kabel 96 in den Fign. 3A und 3B läuft. Der Impuls auf
YOD-70-040 ... 13 -
209808/17
Leitung El wird an ein in Fig, 3A gezeigtes Tor 98 angelegt und schaltet dieses so ein, dass ein Byte von der nichtdargestellten Eingangseinheit zum ID-Argumenti'egister 100 geleitet wird. Das Argumentregister 100 enthält jetzt das Byte, welches gegenwärtig zu codieren ist. Derselbe Impuls wird ausserdem von der Leitung El über eine Verzögerungsschaltung 102 einer Eingabeeinheit zugeführt, damit diese das nächste ID-Codebyte auf die zum Tor 98 führenden Eingabeleitungen gibt. Der Impuls auf der Leitung El läuft ausserdem über ein ODER-Glied 106 in Fig. 3A- zur Leitung 62, die auch in Fig. 2 gezeigt ist, und stellt so die Uebereinstimmungsanzeiger in der Assoziativspeichersteuerung 56 auf 1. Jetzt ist das Gerät zur Codierung bereit.
Wenn die monostabile Kippschaltung 94 in Fig. 3B abfällt, schaltet sie die monostabile Kippschaltung 108 ein. Dadurch wird ein Impuls auf der Leitung E2 erzeugt, welcher über das Kabel 9G zum Argumentregister 100 läuft, um ein dem Inhalt des ID-Argumentregisters 100 entsprechendes Muster von Einsen "und Nullen auf die Leitungen 110 zu geben. Diese abfragenden Leitungen 110 übernehmen eine ähnliche Funktion wie die Abfrageleitungen 44 und 46, die oben im Zusammenhang mit Fig. 2 beschrieben wurden. Mit den Signalen auf den Leitungen 110 werden die gespeicherten ID-Codewörter abgefragt, um den Speicherplatz·zu finden, der ein ID-Codewort enthält das dem Inhalt des Argumentregisters 100 entspricht.
¥09-70-040 - 14 -
Wenn die monostabile Kippschaltung 108 in Fig. 3B abfällt, schaltet sie die nächste monostabile Kippschaltung 114 ein, die einen Impuls auf der Leitung E3 im Kabel 96 erzeugt. Der Impuls auf der Leitung E3 wird über ein ODER-Glied 116 in Pig. 3A zur Leseleitung 66 der Assoziativspeichersteuerung 56 in den Fign. 3A und 2 weitergeführt! Durch die Erregung der Leitung wird der gesamte Inhalt des Speicheiplatzes, bei dem Uebereinstimmung im ID-FeId festgestellt wurde, über ein Kabel 118 in Fig. 3A auf das Datenregister 120 ausgelesen. Diese Information umfasst die 16 Bits im VL-FeId zuzüglich der acht Bits im ID-FeId sowie die vier Bits im Längenfeld dieses Wortes. Gleichzeitig mit dieser Aktion wird der Impuls auf der Leitung E3 auch über ein ODER-Glied 122 geführt und schaltet den Bytezähler 80 um eine Einheit herunter. " ;
Wenn die monostabile Kippschaltung 114 abfällt, sendet sie einen Impuls über das ODER-Glied 124 und schaltet die monostabile Kippschaltung 126 ein. Diese Kippschaltung sendei einen Impuls auf die Leitung E4, der zum Tor 128 in Fig. 3A weiterläuft und dieses dadurch zur Uebertragung des äussersten rechten Bits von vom VL-FeId des Datenregisters 120 auf die Ausgabeeinheit vorbereitet.
YO9-70-040 - 15 _
209
Wenn das äusserste rechte Bit des VL-Codewortes auf diese Weise ausgegeben wurde, muss der Inhalt des VL-Feldes im Datenregister 120 um eine Bitspeicherposition nach rechts verschoben werden. Das geschieht, wenn die monostabile Kippschaltung 126 abfällt, wodurch die monostabile Kippschaltung eingeschaltet wird und einen Impuls auf der Leitung Εδ erzeugt. Dieser Impuls auf der Leitung E5 wird an eine nicht-dargestellte Verschiebeeinrichtung angelegt, um eine Rechts verschiebung der im VL-FeId des Datenregisters 120 gespeicherten Bits um ein Bit zu bewirken, wie es durch den Pfeil der Linie E5 in Fig. 3A gezeigt ist.
Der Teil des Datenregisters 120, der die 4-Bit-Längenangabe speichert, wird als Längenzähler benutzt. Für jede Rechtsverschiebung der im VL-FeId des Registers 120 gespeicherten Bits wird diese Längenzahl um eine Einheit reduziert. Diases Herunterzählen des Längenzählers erfolgt im vorliegenden Beispiel durch den Impuls E5, der durch ein ODER-Glied Ϊ32 zu einer Leitung 134 läuft, die zu der nicht-dargestellten Einrichtung zum Herunterzählen des im Längenzähler (die letzten vier Bits des Datenregisters 120) gespeicherten Wertes führen.
YO9-70-040 - 16 -
209808/1718
Mit einer Prüfung wii-d jetzt festgestellt, ob die Längenangabe auf 0 reduziert wurde, d. h. ob alle signifikanten Bits des VL-Codewortes aus dem Datem^egister 120 geschoben wurden. Wenn die monostabile Kippschaltung 130 abfällt (Fig. 3B), wird die monostabile Kippschaltung 136 eingeschaltet und gibt einen Impuls auf die Leitung E6, die zum Tor 138 in Fig. 3B führt. Die Anzeigeleitungen für Null (0) und Nicht-Null (0) werden zum Tor 138 weitergeführt von einem UND-Glied 140, an welches die Null-Ausgänge aller vier Stellen des Längenzählers angelegt werden. Wenn das UND-Glied 140 kein Ausgangssignal hat, bedeutet das, dass mindestens eines der Bits im Längenzähler auf 1 steht, und dann gibt ein Inverter 142 ein entsprechendes Signal auf die Nicht-Null-Anzeigeleitung 144 und an das Tor 138. Bei einer Einstellung des Längenzählers mit lauter Nullen wird die Null.-Anzeigeleitung 146 zum Tor 138 erregt. Wenn für den vorliegenden Fall angenommen wird, dass mehr als ein Codebit aus dem VL-FeId des Datenregisters 120 zu entnehmen ist, empfängt das Tor 138 ein Nicht-Null-Anzeigesignal und erregt dadurch eine vom Tor 138 kommende Ausgangsleitung 147. Die Leitung 147 läuft durch die Kabel 148 und 150 zum ODER-Glied 124, wodurch der Impuls für "Nicht-Null" auf die monostabile Kippschaltung 126 gegeben wird. Dadurch wird ein neuer Operationszyklus eingeleitet, zu welchem die aufeinanderfolgende Erregung der monostabilen Kippschaltungen 126, 130 und 136 ge-
YOO-70-040 - 17 -
it
hört. Während dieser Aktion'wird ein anderes Bit aus der äussersten rechten Position des VL-Feldcs des Datenregi.sters 120 ausgelesen und resultiert in einer Rechtsverschiebung der übrigen Bits in diesem Feld um ein Bit und einer Prüfung der Längenzählereinstellung auf lauter Nullen.
Die Operationsschritte, die die Erregungen der monostabilen Kippschaltungen 126, 130 und 136 sowie die resultierende Erregung der Leitungen E4, E5 und E6 umfassen, werden so oft wiederholt, bis die Längenangabe auf 0 reduziert ist. Zu diesem Zeitpunkt ist das letzte signifikante Bit aus dein VL-FeId des Datenregisters 120 entnommen worden, und die in diesem Feld verbleibenden Bits sind ohne Interesse, da sie von Speicherzellen kamen, die imX-Zustand standen, oder da sie anderweitig während des ersten Schiebe-Prozesses in das Register eingeführt wurden. Die Operation läuft jetzt aus der Routine für die Rechts verschiebung heraus. Wenn das in Fig. 3B gezeigte Tor 138 durch den Impuls auf der Leitung E8 betätigt wird, und die Null-Anzeigeleitung 146 aufgrund der Gesamt-NuIl-Anzeige des Längenzählers erregt ist, wird die Ausgangsleitung 154 vom Tor 138 auch erregt und gibt ein Eingangssignal auf jedes der UND-Glieder 156 und 158 in Fig. 3B. Ein zweites Eingangssignal zum UND-Glied 156 wird durch eine Null-Ausgangs-
YO9-70-040 - 18 -
20 9808/1718
leitung 160 vom Decodierer 82 nur geliefert, wenn der Bytezähler 80 auf 0 reduziert wurde: Wenn die Einstellung des Bytezählers 80 von 0 verschieden ist, liefert der Decodierer ein Ausgangssignal auf der Leitung 162 zum UND-Glied 158. Wenn jetzt angenommen wird, dass die Bytezählereinstcllung von 0 verschieden ist, bedeutet das, dass zusätzliche ID-Bytes zu decodieren sind, und das Zusammentreffen, der Eingangs signale am UND-Glied bewirkt einen Impuls auf der Leitung 164, der durch die Kabel und 150 zum ODER-Glied 92 läuft, welches dann einen Impuls zur monostabilen Kippschaltung 94 weiterführt. Damit beginnt ein neuer Codierzyklus gemäss der Darstellung in Fig. 4 mit den Schlitten El bis E6.
Der oben beschriebene Codierzyklus wird so oft wiederholt, bis der Bytezähler 80 ganz auf 0 steht. Wenn das letzte ID-Byte codiert wurde und die Einstellung des Bytezählers 0 wird, liefert der Decodierer 82 ein Null-Ausgangssignal, an das UND-Glied 156. Wenn dann die Längenzählereinstellung 0 wird und "anzeigt, dass die letzte codierte Stelle aus dem Datenregister 120 ausgelesen wurde, erzeugt die gleichzeitige Erlegung der Eingänge des UND-Gliedes 156 einen Impuls zur Beendigung der Systemoperation.
YO9-70-040 -19.-.
209808/1718
IO
Decodierung ^*
Wenn die Einrichtung im Deeodierbetrieb betrieben wird, werden die Bits des zu decodierenden VL-Codewortes sequentiell in ein YL- Argumentregister 178 in Fig. 3Λ gegeben, welches Über liß Bitsp eic herstellen verfügt, Die Anzahl der VL-Codewörter, ■die in diesem Register 17S zu irgendeinem Zeitpunkt gespeichert sind, ist unbestimmt. Zu Anfang einer jeden Decodieroperation ■muss jedoch das erste Bit eines neuen VL-Codewortes in die am weitesten rechts liegende Stelle des Argumentregisters 178 gesetzt werden.
Die Deeodleroperation des Systems wird nun im Zusammenhang mit den Fign. 3A^ 3B und 5 beschrieben. Im Ablaufdiagramm der Fig. 5 entsprechen die verschiedenen Sehritte Dl, D2, usw., den durch Impulse auf den verschiedenen Leitungen Dl, D2, usw., ausgelösten Operationen gemäss nachfolgender Beschreibung. Die Decodieroperation beginnt durch Anlegen eines Impulses an die Startleitung 180 zur Betätigung der monostabilen Kippsehaltung im Decodiertaktgeber. Wenn die monostabile Kippschaltung 182 eingeschaltet wird, sendet sie einen Impuls über die Leitung Dl und die Kabel 184 und 96 in den Fign. 3A und 3B zu einer Rückstelleinrichtung für den Längenzähler, der die vier äussersten
YO9- 70-040 * - 20 -
209808/1718
rechten Bitspeicherpositionen im Datenregister 120 umfasst. Der Impuls auf der Leitung Dl stellt den Längenzähler auf Gesamtnull zurück und bereitet ihn dadurch zum Zählen der ersten 16 Informationsbits vor, die sequentiell in das Argumentregister eingegeben werden. Bevor die Decodieroperationen beginnen können,
muss mit Hilfe des Längenzähler festgestellt werden, dass 16 Informationsbits in das Argumentregister 178 eingegeben wurden. .
Wenn die monostabile Kippschaltung 182 abfällt, sendet sie einen Impuls durch das ODER-Glied 186 an die monostabile Kippschaltung 190, die dann einen Impuls auf der Leitung D2 erzeugt. Dieser Impuls auf der Leitung D2 läuft durch ein ODER-Glied 192 in Fig. 3A und eine Leitung 194 zu einem Tor 196, welches dadurch so eingeschaltet wird, dass das erste Bit von der Eingabeeinheit in die äusserste linke Bitspeicherposition des Argumentregisters 178 geleitet wird. Der Impuls auf der Leitung 194 läuft ausserdem über eine Verzögerungsschaltung 198 in die Eingabeeinheit, damit das nächste Bit zur Uebertragung zur Verfügung gestellt wird. Das gerade in "das Argumentregister 178 eingegebene Bit muss schliesslich nach rechts verschoben werden, bis es die äusserste rechte Bitspeicherposition in diesem Register einnimmt. Der Impuls D2 läuft ausserdem über das ODER-Glied 132 in Fig. 3A auf die Leitung 134 und vermindert den Inhalt
YO9-70-040 - 21 -
209808/1718
des Längenzählers um eine Einheit. Wenn der Längenzähler am Anfang auf 0000 stand, wird seine Stellung durch den ersten Abzählschritt auf 1111 geändert.'
Wenn die monostabile Kippschaltung 190 in Fig. 3 B abfällt, wird die monostabile Kippschaltung 200 eingeschaltet und erzeugt einen Impuls auf der Leitung D3. Dieser D3-Impuls wird an ein Tor angelegt, welches ein Eingangssignal von der zum Längenzähler gehörenden Nicht-Null-Anzeigeleitung 144 oder der Null-Anzeigeleitung 146 empfängt. Wenn der Längenzähler wie im vorliegenden Beispiel nicht auf 0 steht, läuft ein Signal von der Leitung 144 durch das Tor 202 zur Leitung 204, die zu der in Fig. 3B gezeigten monostabilen Kippschaltung.208 führt.
Wenn die monostabile Kippschaltung 208 einschaltet, setzt sie einen Impuls auf die Leitung D4, der dann durch ein ODER-Glied 210 in Fig. 3A auf eine Leitung 212 läuft, die zu einer nicht-dargestellten Verschiebeeinrichtung des Argumentregisters 178 führt. Dadurch wird der Inhalt des Argumentregisters 178 um eine" Bitspeicherposition nach rechts verschoben, so dass die äusserste linke Bitspeicherstelle dieses Registers zum Empfang eines neuen Eingabebits bereit ist.
YO9-70-040 - 22 -
209808/1718
Wenn die monostabile Kippschaltung 208 abfällt, »sendet sie einen Impuls über die Leitung 21ß und das ODER-Glied 18Π zur rnonostabilen Kippschaltung 190 und schaltet diese dadurch ein. Die Reihenfolge der Schritte D2 und D3 i a Fig» 5 wird jetzt wiederholt, während die monostabilen Kippschaltungen IBQ und 2©0 iiaciieiiuander erregt werden. Beim Schritt D 3 wird wieder Me Einstellung des Längenzählers geprüft, und wenn .sie nicht flOOO ist, wird die monostabile Kippschaltung 208 eingeschaltet zur Ausführung des Schrittes D4, wodurch der Inhalt .des Argumentregisters 3.78 nach rechts verschoben wird.
Diese Reihenfolge der Eingabe eines Informationsbits in das Argumentregister 178 - Vermindern des Längenzäherinhalts, Prüfen der Längenzählersteliung und Rechtsverschiebung des Inhalts des Argumentregisters 178 - wird wiederholt, bis die Prüfung im Schritt D3 schliesslich ergibt, dass die Längenzählr stellung 0000 ist. Dadurch wird angezeigt, dass die ersten 16 Informationsbits in das Argumentregister 178 geleitet wurden und das erste Bit des ersten VL-Codewortes jetzt in der äussersten rechten Stelle des Registers 178 steht. Wenn an diesem Punkt der D3-Impuls auf das Tor 202 in Fig. 3B gegeben wird, läuft die Erregung weiter von der Null-Anzeigeleitung 146 des Längenzählers
YO9-70-040 - 23 -
209808/1718
J» ■
durch das Tor 202 zu einer Leitung 220, die zum ODER-Glied in Fig. 3B führt, wodurch die Erregung weitergeführt wird zur monostabilen Kippschaltung 224. Wenn die monostabile Kippschaltung 224 eingeschaltet wird, gibt sie einen Impuls auf eine Leitung D5, der über die Kabel 184 und 96 zum ODER-Glied 106 in Fig. 3A und die Uebereinstimmungsanzeiger-Rückstelleitung 62 weitergeführt wird, und dadurch die Uebereinstimmungsanzeiger in der Speichersteuerung 56 in den Fign. 3A und 2 auf 1 zurückstellt. Wenn die monostabile Kippschaltung 224 abfällt, schaltet sie die monostabile Kippschaltung 226 ein, und die Leitung D6 erhält einen Impuls. Dadurch wird ein Impuls auf das Argumentregister 278 in Fig. 3A gegeben und eine Abfrage operation eingeleitet, in welcher der Inhalt des Argumentregisters 178 über die Abfrageleitungen an die VL-Felder des Assoziativspeichers übertragen wird. Die Abfrageleitungen 230 umfassen Leitungen wie die Abfrageleitungen und 46 in Fig. 2 zur Abfrage der Speicherzellen, die die VL-Codewörter im Assoziativspeicher enthalten. Speicherzellen, die im X-Zustand stehen, können keine Signale für Nicht- Uebereinstimmung erzeugen. Eine Speicherzelle, die weder im X-Zustand steht noch einen Bitwert speichert, welcher mit dem Signal auf der zugehörigen Abfrageleitung (230 in Fig. 3A) übereinstimmt, erzeugt ein Nicht-Uebereinstimmungssignal und setzt damit den entsprechenden Uebereinstimmungsanzeiger auf 0.
YO9-70-040 . - 24 -
209808/1718
Wie bereits gesagt wurde, führen die VL-Codewörter kein Vorzeichen. Somit stimmen die Bits im Argumentregister 178 nur mit einem Codewort im Assoziativspeicher überein, und zwar mit dem Codeword, dessen signifikante Bits genau mit der entsprechenden Anzahl Bits übereinstimmen, die am rechten Ende des Argumentregisters 178 stehen. Das gilt ungeachtet der Anzahl anderer VL-Codewörter, die in den übrigen Positionen des Argumentregisters 178 gespeichert sind.
Wenn die monostabile Kippschaltung 226 abfällt, wird die monostabile Kippschaltung 232 eingeschaltet und erzeugt einen Impuls auf der Leitung D7, der über die Kabel 184 und 96 zum ODER-Glied in Fig. -3A weiterläuft. Dieser Impuls wird dann über das ODER-Glied 116 auf die Leseleitung 66 der Assoziativspeichersteuerung gegeben. Der Uebereinstimrnungsanzeiger, der dann auf 1 steht, bezeichnet den Speicherplatz im Assoziativspeicher, der das übereinstimmende VL-Codewort enthält. Der gesamte Inhalt dieses Speicherplatzes wird aus dem Assoziativspeicher über die Ausgangsleitungen 118 auf das Datenregister 120 ausgelesen. Diese Daten umfassen das gesuchte ID-Codewort und auch eine Längenangabe. Der Impuls D7 wird ausserdem durch das ODER-Glied 122 in Fig. 3A weitergeführt und vermindert den Inhalt des Bytezählers 80 in Fig. 3B um eine Einheit. . ■
209808/1718
ΎΟ9-70-040 - 25 -
ζ*
Wenn die monostabile Kippschaltung 232 abfällt, schaltet sie eine monostabile Kippschaltung 236 ein. Diese erzeugt einen Impuls auf der Leitung D8, der an ein Tor 238 in Fig. 3A angelegt wird und dieses zur Ueber-tragung des acht Bit umfassenden ID-Codewortes aus dem Datenregister 120 an die Ausgabeeinheit veranlasst.
Zu diesem Zeitpunkt enthält der Vier-Bit-Längenzähler (die rechten vier Positionen des Datenregisters 120 in Fig. 3A) die Anzahl der in dem gerade decodierten VL-Codewort enthaltenen signifikanten Bits. Der Inhalt des Argumentregisters muss jetzt um diese Bit-Anzahl nach rechts verschoben werden, um das erste Bit des nächstfolgenden VL-Codewortes in die äusserste rechte Position des Argumentregisters zu bringen. Das geschieht auf folgende Weise :
Wenn die monostabile Kippschaltung 236 abfällt, überträgt sie einen Impuls über das ODER-Glied 240 zum Einschalten an die monostabile Kippschaltung 242, Diese erzeugt einen Impuls auf der Leitung D9 in den Fign. 3B und 3A, der über das ODER-Glied 210 auf die Vex·- schiebeleitung 212 gelangt. Dadurch wird der Inhalt des Argumentregisters 178 am ein Bit nach rechts verschoben. Gleichzeitig läuft der Impuls auf der Leitung D9 durch" das ODER-Glied 132 in Fig. 3A zur Längenzähler-Dekrementierleitung 134 und vermindert den Inhalt des Längenzählers um eine Einheit.
209808/1718
YO9-70-040 - 26 -
Wenn die monostabile Kippschaltung 242 abfällt, schaltet sie die monostabile Kippschaltung 244 ein und erzeugt dadurch einen Impuls auf der Leitung DlO, Dieser Impuls läuft durch das ODER-Glied 192 und die Leitung 194 zum Tor 196 in Fig, 3A, um das nächste Bit in die äusserste linke Stelle des Argumentregisters 178 einzugeben. Gleichzeitig läuft der Impuls durch die Verzögerungseinheit 198 weiter zur Eingabeeinheit, so dass sie ein neues Bit für die Eingabeseite des Tores 196 zur Verfügung stellen kann.
Wenn die monostabile Kippschaltung 244 abfällt, schaltet sie die monostabile Kippschaltung 246 ein, welche dann einen Impuls auf die Leitung DIl gibt, der an das in Fig. 3B gezeigte Tor 248 weiterläuft und den Zustand des Längenzähle rs prüft. Wenn der Längenzähler noch nicht auf 0 reduziert wurde, leitet das Tor 248 einen Impuls von der Nicht-Null-Anzeigeleitung 144 auf eine Leitung 250, die zum in Fig. 3B gezeigten ODER-Glied 240 führt. Die Folge davon ist die erneute Einschaltung der monostabileh Kippschaltung und der erneute Beginn der in Fig. 5 gezeigten Reihenfolge der Schritte D9, DlO und DIl. Somit wird der Inhalt des Argumentregisters 178 progressiv nach rechts verschoben, bis die laufende Zahl im Längenzähler auf 0 reduziert ist. Wenn diese Bedingung
YO9-70-040 _ 27 _
209808/1718
erreicht wird, ist das Bit in der ersten Stelle des nächstfolgenden VL-Codeworles an das rechte Ende des Argumentregisters 178 gesetzt worden, und die Einrichtung ist dann zur Ausführung einer neuen Abfrageoperation mit diesem VL-Codewort bereit, .
Wenn die Längenangabe auf Q reduziert und die monostabile Kippschaltung 246 eingeschaltet ist, wird die Erregung von der Null-Anzeigeleitung 146 über das Tor 248 auf eine Leitung 255 ausgedehnt, die jeweils einen Eingang zu den beiden UND-Gliedern 254 und 256 bildet. Wenn der Bytezähler 80 zu diesem Zeitpunkt noch nicht auf 0 steht, liefert der Decodierer 82 ein Signal auf der Leitung 162, welches durch das UND-Glied 254 zu einer Leitung 260 und von dort durch das in Fig. 3B gezeigte ODER-Glied 222 zur monostabilen Kippschaltung 224 läuft und diese einschaltet. Daraufhin werden die in dem Ablaufdiagramm der Fig. 5 gezeigten Schritte D5 bis DIl wiederholt. Dieser Vorgang läuft weiter, bis der Bytezähler auf Null steht. Wenn dann die in Fig. 3B gezeigte monostabile Kippschaltung 246 einschaltet, wird das UND-Glied 256 aktiv und erzeugt ein Signal zur Beendigung der Decodieroperation.
YO9-70-040 - 28 -
209808/1718
Kopierbetrieb.
Die anhand der Fign. 1 bis 5 beschriebene Codier-Decodiereinrichtung arbeitet mit einem Assoziativspeicher, der für jedes mögliche ID-Codewort samt dem zugeordneten VL-Codewort einen eigenen Speicherplatz enthält. In dem zur Darstellung gewählten Beispiel haben die ID-Codewörter eine Länge von einem Byte (8 Bits), und der Assoziativspeicher muss daher für alle möglichen Bytekombinationen eine Kapazität von 256 Wörtern haben. Es gibt jedoch viele Situationen, in denen für einen kleinen Teil der gesamten Daten die Verdichtung (Codierung mit Codewörtern variabler Länge) geopfert werden kann, um einen grossen Teil der Speicherkosten zu spalten. Eine Analyse der in der Praxis wahrscheinlich auftretenden Datenbasen kann zeigen, dass nur für einen sehr kleinen Anteil der Daten die Verdichtung verlorengeht, wenn nur die 150 häufigsten ID-Codewörter in eindeutige Codewörter eines Codes mit veränderlicher Länge umgewandelt werden. Die übrigen 106 ID-Codewörter, die wesentlich seltener auftreten als die ersten 150 Codewörter, können dann ohne die übliche Codierung und Decodierung verarbeitet werden, IHe längeren VL-C ode Wörter werden normalerweise den-ID-Codewörtern zugeordnet, die nicht so häufig auftreten, so dass man durch ihre Verwendung ohnehin nur eine relativ kleine Verdichtung erreicht. Sobald eines dieser weniger häufigen ID-Codewörter auftritt, kann es in geeigneter Weise gemäss vorliegender Beschreibung gekennzeichnet und durch das System nicht codiert, sondern "kopiert", d.h. einfach unverändert übernommen werden. Diese Betriebsart wird in der vorliegenden Beschreibung als "Kopierbetrieb"
209808/1718
bezeichnet. .
Für den Kopierbetrieb wird das mit den Fign. 1 bis 5 .erläuterte System zu einer Einrichtung gemäss Darstellung in den Fign. G bis modifiziert. Ein Vergleich der Fig. 6 mit der Fig. l zeigt die erforderlichen Aenderungen. In diesem Ausführuügsbei spiel hat der Assoziativspeicher II1 in Fig. 6 eine Speicherkapazität von 150 Plätzen (für je ein ID-Codewort und ein zugeordnetes VL-Codewort.) ; dazu kommt ein weiterer Speicherplatz, welcher ein Kopie !-kennzeichen in seinem VL-FeId enthält. Der Inhalt des ID-Feldes in diesem zuletzt genannten Speicherplatz spielt solange keine Rolle, als er nicht mit einem der in den 150 übrigen Speicherplätzen enthaltenen ID-Codewörter identisch ist. Die nachfolgend rioch zu beschreibende Assoziativspeichersteuerung bewirkt, dass in den Fällen, wo keine Uebereinstimmung mit einem der 150 im Assoziativspeicher gespeicherten ID-Codewörter festgestellt wird, das Kopierkennzeichen automatisch abgegeben wird. Das "codierte" Ausgangswort besteht schliesslich aus den Kopierkennzeichen-Bits und den unmittelbar anschliessenden Bits des unveränderten ID-Codewortes. Dadurch entsteht zwar ein 11VL- Codewo.rt", das langer ist als die normalen ID"-Code Wörter ; da dies jedoch relativ selten eintritt, wird die Gesamtdatenverdichtung nicht wesentlich beeinflusst.·
YO9-70-040 · - 30 -
209808/1718
Die Grosse des A7-L-FeIdGS kann so gewählt werden, dass sie für die längsten VL-Codewörter ausreicht^ die unter normalen Codierbedingungen ausgegeben werden. Tn dem vorliegenden Beispiel wird für die Darstellung ein VL-FeId von 9 Bits Länge angenommen. Bei Verwendung dieses Schemas spart man somit sieben Speicherzellen pro Wort. Durch die Modifikation spart maß also nicht nur an der Anzahl der im Assoziativspeicher- 11' zu speichernden Wörter, sondern auch an der Anzahl der in jedem solchen Wort enthaltenen Bits. Eine Modifikation der Anordnung, die ein Kopieren ermöglicht, gestattet daher eine genügende Datenverdichtung und erfordert n,ur einen Assoziativspeicher bescheidener Grosse.
Das Kopierkennzeichen erfordert nicht unbedingt die mögliche Höchstzahl von Bits. Es muss aber von den andern VL-Codewörtern verwechlsungsfrei unterscheidbar sein . Das Kopierkennzeichen stellt effektiv alle 106 ID-Codewörter dar, die im vorliegenden Beispiel ohne normale Codierung behandelt werden. Diese Gruppe von ID-Codewörtern kann als eine Einheit in der Reihe der Häufigkeit zusammen mit den übrigen 150 ID-Codewörtern rangieren,, und die Häufigkeit, mit der Glieder dieser Codegruppe auftreten, bestimmt die Länge des zu ihrer gemeinsamen Darstellung verwendeten Kopierkennzeichen. Unter diesen Umständen kann das Kopierkennzeichen eine Länge (d.h. eine Anzahl signifikanter Bits) haben, die beträchtlich unter der Höchstlänge von 9 Bits der normalen VL-Codewörter liegt.
209808/171S
- 31 -
Wenn die in Fig. 6 gezeigte Einrichtung als Decodierer arbeitet, werden die hereinkommenden Codewörter (die in einigen Fäulen auch eine Kombination von Kopierkennzeichen und ID-Codewort sein können) sequentiell dem VL-Argumentregister zugeführt. • Jedes Kopierkennzeichen leitet eine Sonderoperation ein, in welcher die Bits des Kopierkennzeichens aus dem Argumentregister geschoben und die folgenden acht Bits des ID-Codewortes in die acht am weitesten rechts stehenden Positionen dieses Argumentregisters gebracht werden. Diese acht Bits des ID-Codewortes werden dann parallel aus dem VL-Argumentregister ausgelesen, und nicht wie sonst aus dem Daten-Decodierregister. Anschliessend wird das ID-Codewort aus dem VL-Argumentregister ausgeschoben, um das nächstfolgende VL-Codewort in Decodierposition zu bringen.
Wenn ein ID-Codewort, das im ID-Argumentregister steht, bei einer Codieroperation kein übereinstimmendes ID-Codewort im Assoziativspeicher 11' findet, erfolgt eine Sonderoperation, durch die das Kopierkennzeichen aus dem Assoziativspeicher in das Datencodierregister gelesen wird, von wo die Bits dieses Kopierkennzeichen dann . sequentiell ausgelesen werden. Unmittelbar anschliessend werden die acht Bits des ID-Codewortes aus dem ID-Argumentregister sequentiell ausgelesen und an die Reihe der Kopierkennzeichen-Bits angehängt, um eine aus Kopierkennzeichen-Bits und ID-Codewort-Bits zusammengesetzte Bitfolge der oben beschriebenen Art zu bilden.
Fig. 7 zeigt einen Teil der Schaltung in der Assoziativspeichersteuerung 56' für dieses ζλνοΐίθ Ausführungsbeispiel der Erfindung. In d eser sowie in den zugehörigen Fign. 6 und 8A bis 10 tragen die Teile, die Elementen des in den Fign. Ibis 5 gezeigten ersten Ausführungsbeispieles entsprechen, dieselben Bezugszahlen, an welche jedoch noch ein Strich (') angehängt wurde. In dem in Fig. 7 gezeigten Steuerschema sind eine Nicht-Uebereinstimmungsleitung 48' und ein Uebereinstimmungsanzeiger 50' jedem der Speicherplätze im Assoziativspeicher 11' der Fig. 6 zugeordnet, ausgenommen den einen Speicherplatz, welcher das Kopierkennzeichen enthält. Von jedem ID-Argument-Codewort, das keinem der 150 normal zu codierenden Wörter entspricht, wird angenommen, dass es zur Gruppe der ID-Codewörter gehört, die gemeinsam durch das Kopierkennzeichen bezeichnet sind. Wenn das ID-Argumentcodewort während einer Codieroperation mit keinem der Wörter übereinstimmt, zu denen Uebereinstimmungsanzeiger 50' gehören, werden alle diese Uebereinstimmungsanzeiger in den 0-Zustand zurückversetzt. Dadurch wird ein Schaltungsweg von der Leseleitung 66' in Fig. 7 über eine Reihe von UND-Gliedern 290 (von denen jedes ein Eingangssignal von der 0-Ausgangsseite des entsprechenden Uebereinstimmungsanzeigers 50' empfängt) zu einer Lese-Wahlleitung 292 für das Kopierkennzeichen hergestellt, woraufhin das Kopierkennzeichen als erster Teil des Ausgabe-Codewortes in das Datenregister übertragen wird. Gleichzeitig wird das Erregungs-
YO9- 70-040 ' ■ . - 33 -
209808/1718
signal durch die Leitung 292 und 294 auf ein Kopier-Flipflop 296 weitergeführt und dieses dadurch auf.l gesetzt, Dadurch werden die im ID-Argumentregister gespeicherten ID-Codebits sequentiell als zweiter Teil des Ausgabe-Codewortes ausgelesen. Somit bewirkt die Eintragung· eines der nicht im As.soziativspeicher enthaltenen ID-Codewörter in das ID-Argumentregister beim Codieren eine zusammengesetzte Codebitreihe, die aus einem Kopierkennzeichen, und einem anschliessenden ID-Codewort besteht. Dabei spielt es keine Rolle, ob das ID-Argument-Codewort mit dem ID-FeId im Kopierkennzeichenspeicherplatz übereinstimmt oder nicht. Das Kriterium besteht in der Nicht-Uebereinstimmung mit allen ID-Code Wörtern, die in den anderen Speicherplätzen des Assoziativspeichers II1 gespeichert sind. ·
Während einer Decodierung stimmt das als Argument verwendete VL-Codewort entweder mit einem der 150 gespeicherten VL-Codewörter überein, oder mit dem gespeicherten Kopierkennzeichen. Wenn das Argument ein Kopierkennzeichen ist, werden alle Üebereinstimmungsanzeiger 50' in Fig. 7 auf 0 zurückgestellt, und die Leseschaltung wird von der Leitung 66· über die UND-Glieder 290 und die Leitungen 292 und 294 zum Kopier-Flipflop 296 weitergeführt und dieses auf 1 gesetzt. Bei einer Decodierung werden die Kopierkennzeichen-Bits aus dem Argumentregister ausgeschoben,, und die Bits des folgenden ID-Codewortes so plaziert, dass sie gemass Darstellung in Fig. 6 direkt aus dem Argumentregister ausgelesen werden können.
209808/1718
Das Schaltbild in den Fign. 8A bis BC und die Ablaufdiagramme in den Fign. 9 und 10 zeigen genauer Aufbau und Arbeitsweise der modifizierten Assoziativspeicher-Anordnung, mit der auch Codewörter kopiert werden können. In diesen .Figuren sind die Schaltelemente mit den gleichen, nur durch einen Strich (') erweiterten Bezugszeichen versehen wie die entsprechenden Elemente im ersten Ausführungsbeispiel (Fign. 2 bis 5). Um die Ablaufdiagramme der Fign. 9 und 10 mit der in den Fign. 8A bis 8C gezeigten Einrichtung in Beziehung zu setzen, sind die Schritte in den Ablaufdiagrammeη mit den gleichen Bezugszeichen versehen wie die Leitungen, welche die Taktimpulse führen, die diese Schritte " einleiten. Der Schritt El1 in Fig. 9 wird z.B. eingeleitet durch einen Taktimpuls, welcher über die Leitung El" in den Fign. 8C und 8B angelegt wird. Wie bereits gesagt wurde, hat der in Fig. 8A gezeigte Assoziativspeicher 11' eine wesentlich kleinere Kapazität als der in Fig. 3A gezeigte Assoziativspeicher 11, da im vorliegenden Ausführungsbeispiel der Assoziativspeicher nicht dazu benötigt wird, eine C ode umwandlungs funktion für jede mögliche Codebitkombination auszuführen. Die häufiger auftretenden ID-Codewörter (von denen im .vorliegenden Beispiel angenommen wird, dass für sie eine VL-Codeform von 9 Bits ausreicht), werden im wesentlichen genauso behandelt, wie es oben im Zusammenhang mit den Fign. 1 bis 5 beschrieben wurde. Deshalb werden die solche Codewörter betreffenden Codier- und
YO9-70-040 - 35 -
209808/1718
Decodieroperationen hier nicht mehr genauer beschrieben. Hier werden nur die Operationen beschrieben, welche die weniger häufig auftretenden ID-Codewörter betreffen, solche also, für die bei noi-maler Codierung VL-Codewörter verwendet würden,, die eine Länge von S Bits überschreiten. Für solche ID-Codewörter wird ein besonderes Code-Kopierverfahren angewendet, welches jetzt genauer beschrieben wird. -
Im vorliegenden Fall wird angenommen, dass ein grosser Teil der möglichen 8-Bit-Kombinationen in die Kategorie der weniger häufig auftretenden ID-Codewörter fällt, für welche das Kopierverfahren benutzt werden soll. Allen Codewörtern in dieser Gruppe wird derselbe Wahrscheinlichkeitsrang zugeordnet, und sie werden kollektiv durch ein gemeinsames Kopierkennzeichen dargestellt, das im codierten Format vor dem ID-Codewort steht und dieses als ein Codewort kennzeichnet, das nicht umgewandelt, sondern einfach kopiert wurde. Ausserdem wird jedem Codewort in dieser Gruppe dieselbe Längenzahl entsprechend der Anzahl der signifikanten Bits im Kopierkennzeichen zugeordnet. Länge und Format des Kopierkennzeichens hängen vom Wahrscheinlichkeitsrang der Codewörter dieser Sondergruppe relativ zu den anderen Codewörtern ab.
YO9-70-040 - 36 -
209808/1718
Im Zusammenhang mit den Fign. 8A bis 8C und 9 wird nun eine Codieroperation beschrieben. Der Bytezälüer 80' in Fig. 8B wird auf die Anzahl der ID-Codewörter gesetzt, die zu codieren sind. Ein Startimpuls wird auf die Leitung 90· in Fig. 8C gegeben, um die Operation des Codiertaktgebers einzuleiten. Im Schritt El1 (Fig. 9) wird das zu codierende ID-Codewort in das Argumentregister lOO1 in Fig. 8A eingegeben. Die Uebereinstimmungsanzeiger 50' (Fig. 7) in der Assoziativspeichersteuerung werden auf 1 zurückgestellt. Im vorliegenden Ausführungsbeispiel wird durch den El·1-Taktimpuls eine zusätzliche Funktion übernommen. Wie aus Fig. 8B zu ersehen ist, wird der Impuls El' über ein ODER-Glied 300 auf das Kopier-Flipflop 296 geleitet und stellt dieses auf 0 zurück.
In den.Schritten E21 und E31 (Fig. 9) wird eine Abfrage (Suchoperation) mit dem ID-Codewort im Argumentregister vorgenommen, um ein übereinstimmendes Wort zu finden. Wenn ein übereinstimmendes Wort im Speicher 11' gefunden wird, wird das in diesem Speicherplatz enthaltene
VL-Codewort ausgelesen und in das Datenregister 120' in Fig. 8A eingegeben. Wenn kein übereinstimmendes Wort gefunden wird, erregt die Assoziativspeichersteuerung 56' in Fig. 7 die Lese-Wahlleitung für das Kopierkennzeichen, um dieses auszulesen und in das VL-FeId
YO9-70-040 - 37 -
209808/1718
des Datenregisters 120' einzugeben. Gleichzeitig leitet die Assoziativspeichersleuerung die Erregung über die Leitung 294 zum Kopier-Flipflop 296 in Fig. 8B und setzt dieses Flipflop in den 1-Zustand. Der Inhalt des Bytezählers 80' wird dann um eine Einheit vermindert.
Der aus den in Fig. 9 gezeigten Schritten E41, E51 und E61 bestehende Zyklus wird so oft wiederholt, wie es zum. sequentiellen Auslesen der in dem neun Bit grossen VL-FeId des Datenregisters 120' (Fig. 8A) gespeicherten signifikanten Codebits erforderlich ist. Das gilt ungeachtet dessen, ob die in diesem Feld gespeicherte Bitfolge ein VL-Codewort oder ein Kopierkennzeichen ist. Wenn das letzte signifikante Bit ausgelesen wird, ist der Inhalt des Längenzählers (die vier rechten Positionen des Datenregisters 120·) auf 0 reduziert. Zu diesem Zeitpunkt ist das Tor 138' in Fig. 8B, an welches der Taktimpuls E61 angelegt wurde, zur Weiterführung der Erregung von der Null-Anzeigeleitung 146' des Längenzählers über eine Leitung 302. an die drei UND-Glieder 304, 305 und*306 vorbereitet.
Wenn das Kopier-Flipflop 296 auf 1 gesetzt ist und damit anzeigt, dass ein Kopierkennzeichen ausgelesen wurde, muss eine Folge von Sonderschritten eingeleitet werden, um die Bits des im Argument-
YO9-70-040 - 38 -
register gespeicherten ID-Codewortes sequentiell unmittelbar nach dem letzten Bit des Kopierkennzeichens zu übertragen. Diese Folge von Sondersehritten ist in Fig. 9 mit ΈΊ bis ElO bezeichnet und wird eingeleitet, wenn Erregungssignale gleichzeitig an beide Eingänge des UND-Gliedes 304 angelegt werden^ dLh« wenn der Längenzähler auf 0 reduziert ist (Schritt E61 }, während das Kopier-Flipflop auf 1 steht. Durch das UND;-Glied 304 wird daraufhin ein Signal über die Leitung 310 geleitet, die gemäss Darstellung in den Fign. 8B und 8C durch ein Kabel 150r zu einer monostabilen Kippschaltung 312 läuft, welche dann durch das Signal eingeschaltet wird und einen Taktimpuls auf der Leitung E7· erzeugt. Dieser Taktimpuls E7 stellt den Längenzähler auf 1000 !Dezimal 8); ein. Dadurch wird der Längenzähler auf die Steuerung des Auslesevorganges der 8 Bits des im Argumentregister ICfCf* in; Fig„ SA gespeicherten ID-Codewortes vorbereitet. .
Wenn die monostabile Kippschaltung 312 abfällt, liefert sie einen Impuls über ein in Fig. 8C gezeigtes ODER-Glied 314 an eine monostabile Kippschaltung 316, die dadurch eingeschaltet wird und einen Taktimpuls auf der Leitung E8 erzeugt. Dadurch wird die Erregung an ein Tor 320 in Fig. 8A weitergeführt und das äusserste rechte Bit vom Argumentregister 100' an die Ausgabeeinheit übertragen.
YO9-70-040 - 39 1
203808/1718
ι.
Hb
Danach wird eine in Fig. 8C gezeigte monostabile Kippschaltung 322 eingeschaltet und auf diese Weise ein Taktimpuls auf der Leitung E9 erzeugt. Dieser Taktimpuls erregt einmal die Schiebeimpulsleitung für das ID-Argumentregister 100' in Fig. 8A und setzt zum anderen den Inhalt des Längenzählers um eine Einheit herunter. Danach wird die in Fig. 8C gezeigte monostabile Kippschaltung 324 eingeschaltet und so ein Taktimpuls auf der Leitung ElO erzeugt, der ein in Fig. 8B gezeigtes Tor 326 zur Prüfung des Längenzähler-Inhalts vorbereitet.
Wenn der Längenzähler nicht auf 0 steht (was bedeutet, dass weitere Codebits aus dem ID-Argumentregister auszulesen sind^wird der Erregungsimpuls von der Nicht-Null-Anzeigeleitung 144' des Längen-Zählers über das Tor 326 zu einer Leitung 330 und von dort durch ein in Fig. 8C gezeigtes ODER-Glied 314 zur monostabilen Kippschaltung 316 weitergeleitet. Dadurch wird die Reihenfolge der Schritte E8, E9 und ElO {Fig. 9) erneut eingeleitet und das nächste Codebit aus dem ID-Argumentregister ausgeschoben. Dieser Zyklus wird so oft wie nötig wiederholt, um alle ID-Codebits aus dem Argumentregister auszuschieben.
YO9-70-040 ~ 40 -
2098ÖÖ/ 1 7 1 Ö
Da acht ID-Cadebits aus dem Argumentregister auszulesen sind und der Längenzähler am Anfang im Schritt E7 auf den Wert acht (1000) gesetzt wurde, wird durch das Auslesen des letzten ID-Codebits die Einstellung des Längenzählers auf OOQÖ reduziert. Somit veranlassen die Prüfungen im Schritt ElO jetzt das in Fig. 8B gezeigte Tor 326 zur Weiterleitung des Erregungsimpulses von der NichtNull-Anzeigeleitung 1461 zu einer Leitung 332, die zu den UND-Gliedern 334 und 335 führt. Wenn angenommen wird, dass zu diesem Zeitpunkt die Bytezählereinstellung von 0 verschieden ist, wird der Erregungsimpuls vom UND-Glied 334 über eine Leitung und ein ODER-Glied 92' zur monostabilen Kippschaltung 94' weitergeführt, wodurch eine neue Codierfolge eingeleitet wird, die mit dem Schritt El1 (Fig. 9) beginnt. Zu diesem Zeitpunkt sind die acht Bits des ID-Codewortes aus dem Argumentregister 100' der Fig. 8A ausgelesen, und zwar anschliessend an die Kopierkennzeichenbits, die vorher aus dem neun-Bit grossen VL-FeId des Datenregisters 120' ausgelesen worden waren. Somit wurde eine zusammengesetzte Folge aus Kopierkennzeichenbits und ID-Codewortbits erzeugt.
Jetzt wird die oben beschriebene Reihenfolge der Schritte El1 bis E61 wiederholt. Wenn das nächstfolgende im Argumentregister 100' gespeicherte ID-Codewort nicht in die Kopier-Sonderkategorie fällt, behält das Kopier-Flipflop 29Θ in Fig. 8B seine Änfangseirtstellung
Ml
bei. Unter diesen Umständen gibt das UND-Glied 334 (Fign. 8B und 9) ein Signal zur erneuten Einleitung des Schrittes El1 ab, sobald das letzte signifikante Bit aus dem VL-FeId des Datenregisters ausgelesen wurde, sofern die Byte Zählereinstellung noch nicht auf 0 reduziert wurde. Die bei O-Stellung des Kopier-Flipflops ablaufenden Vorgänge , sind die normale Codierung und Decodierung, wie sie im Zusammenhang mit dem ersten in den Fign. 1 bis 5 gezeigten Ausführungsbeispiel beschrieben wurden.
1.
Wenn der Bytezähler auf 0 reduziert ist und das Kopier-Flipflop zu diesem Zeitpunkt ebenfalls auf 0 steht, gibt das UND-Glied 335 einen ENDE-Impuls ab, wenn das letzte Codebit aus dem Datenregister gelesen worden ist. Wenn das Kopier-Flipflop jedoch zu diesem Zeitpunkt auf 1 steht, bedeutet das, dass nur die Kopierkennzeichenbits ausgelesen wurden und die ID-Codebits, die hinter dem Kopierkennzeichen stehen sollen, noch ausgelesen werden müssen. In diesem Fall wird das UND-Glied 304 (Fign. 8B und 9) erregt und leitet die durch die Schritte E7 bis ElO dargestellte Verzweiguhgsoperation ein, in welcher die ID-Codebits ausgelesen werden. Wenn das letzte ID-Codebit ausgelesen worden ist und.der Bytezähler dann auf 0 steht, wird das UND-Glied 335 eingeschaltet und erzeugt einen ENDE-Impuls zur Beendigung der Operation.
YO9-70-Q4Ö -42-
203808/1718
Die De codier ope ration des modifizierten Systems wird anschliessend unter Bezug auf Fig. 10 im Zusammenhang mit den Fign. 8A bis 8C beschrieben. Wenn eine hereinkommende Bitfolge aus einem Kopierkennzeichen und einem anschliessenden ID-Codewort besteht, muss das Kopierkennzeichen bekanntlich unbeachtet bleiben, und die nachfolgenden acht Bits des ID-Codewortes werden dann direkt als Ausgangsbyte ausgelesen, wobei die normale Decodierung umgangen wird. Für alle anderen empfangenen Bitfolgen erfolgt die normale Decodierung, wie sie bereits oben im Zusammenhang mit dem in den Fign. 1 bis 5 gezeigten Ausführungsbeispiel beschrieben wurde.
Die Decodieroperation wird eingeleitet durch Anlegen eines Startimpulses an die Leitung 180', der eine monostabile Kippschaltung 182' einschaltet (siehe Fig. 8C). Der Bytezähler 80' wurde mit der Anzahl der einzugebenden Codewörter geladen, die zu decodieren, also in ID-Codewörter umzuwandeln, sind. Wenn die monostabile Kippschaltung 182' einschaltet, wird ein Taktimpuls über die Leitung Dl1 an eine Einrichtung angelegt, die in Fig. 8A dargestellt ist und den Längenzähler auf 1001 (dezimal 9) einstellt. In dieser Operations stufe muss das neun Bit grosse "VL-Argumentregister 178' mit neun aufeinanderfolgenden Bits aus dem eintreffenden Bitstrom gefüllt werden. Das VL-Argumentregister wird in den Schritten D21, D3' und D41
YO9-70-040 _ 43 -
209808/1718
(Fig. 9) gefüllt, die wiederholt werden, bis der Längenzähler im Schritt D3' den Wert 0000 erreicht. Dann leitet das in Fig. 8B gezeigte Tor 202' ein Signal von der Null-Anzeigeleitung 146' des Längenzählers auf die Leitung 220' und das ODER-Glied 222·, um die monostabile Kippschaltung 224' einzuschalten, die einen Takt-
impuls für die Leitung D51 erzeugt.
Der Taktimpuls D51 stellt die.Uebereinstimmungsanzeiger 50' der Assoziativspeichersteuerung 56' auf 1 zurück. Der Impuls läuft ausserdem durch das in Fig. 8B gezeigte ODER-Glied 300 und stellt das Kopier-Flipflop 296 auf 0 zurück. Die monostabile Kippschaltung 226· wird dann aktiv und erzeugt den Taktimpuls D6', dur-ch welchen der Inhalt des Argumentregisters 178' mit dem Inhalt der neun-Bit grossen VL-Felder des Assoziativspeichers 11' verglichen wird. Wenn ein übereinstimmendes Wort gefunden wird, wird es in das Datenregister 120' im Schritt D7' (Fig. 10) ausgelesen, und das Kopier-Flipflop 26 bleibt auf seiner 0-Einstellung. Wenn kein überein-, stimmendes Wort gefunden wird, wird die in den Fign. 8A und 8B gezeigte Leitung 294, welche von der Speichersteuerung 56' kommt, erregt und das Kopier-Flipflop auf 1 gesetzt und dadurch angezeigt, dass die im Argumentregister 178' am weitesten rechts gespeicherten Bits ein Kopierkennzeichen darstellen. Der Taktimpuls D7' vermindert ausserdem den Inhalt des Bytezählers 80'.
YO9-70-040 - 44 -
209808/1718
US
Wenn die monostabile Kippschaltung 232', die den Taktimpuls D71 erzeugte, abfällt, erzeugt sie einen Impuls auf der in den Fign. 8C und 8B gezeigten Leitung 350, die zu den Eingängen der UND-Glieder 352 und 354 läuft. Wenn das Kopier-Flipflop 296 auf 0 steht und also kein Kopierkennzeichen betroffen ist, wird ein Impuls von der
Leitung 350 über das UND-Glied 352 und die Leitung 356 in den
Fign. 8B und 8C bis zur monostabilen Kippschaltung 236' gegeben, die einschaltet und einen Taktimpuls für die Leitung DSr erzeugt. Die aus den S chritten D8f bis DIl' (Fig. 10) bestehende Decodierfolge wird dann ausgeführt und die Bits des wiedergewonnenen ID-Codewortes in dem acht- Bit grossen ID-FeId des Datenregisters 120' gespeichert, um parallel auf die Ausgabeeinheit ausgelesen zu werden» Die im Argumentregister 1781 gespeicherten Bits werden dann schrittweise verschoben, bis die Längenzählereinstellung auf 0 reduziert ist (D9· bis DIl'j. . . . ' '' > . " -..··„
' Wenn die Einstellung des Längenzählers auf 0 geht, wird das Signal von der Leitung 146' über das in Fig. 8B gezeigte Tor 248Ü weitergeführt zu einer zu den UND-Gliedern 362 und 364 führenden Leitung 360. Wenn die Bytezählereinstellung noch nicht auf 0 reduziert wurde, geht das Signal weiter über das UND-Glied 362, die Leitung 366 und das ODER-Glied 222' in Fig. 8C zur monostabilen Kippschaltung 224'
zwecks Einleitung einer neuen Reihenfolge der Schritte D51 bis D71 (Fig. 10), Wenn die Bytezählereinstellung jedoch 0 ist, wird das in
209808/1718
I- .
YO9-70-040 · ■ - ■ - 45 -
Fig. 8B gezeigte UND-Glied 364 erregt und ein ENDE-Impuls erzeugt. Abfrage- und Ausleseoperationen, werden gemäss obiger Beschreibung weitergeführt, bis ein Kopierkennzeichen im Argumentregister 178' angetroffen wird. Nachdem das Kopiei'kennzeichen in das Datenregister 120' (Schritt D7r in Fig.' 10) übertragen wurde, wird das Kopier-Flipflop 296 in Fig. 8B auf 1 gesetzt. Wenn unter diesen Umständen die monostabile Kippschaltung 2321 in Fig. 8C abfällt, erzeugt sie einen Impuls auf der Leitung 350, und das UND-Glied 354 in Fig. 8B leitet diesen Impuls von der Leitung 350 auf eine in den Fign. 8B und 8C gezeigte Leitung 370 und von dort durch ein ODER-Glied 372 auf eine monostabile Kippschaltung 374. Wenn die monostabile Kippschaltung 374 einschaltet, erzeugt sie einen Taktimpuls auf der Leitung D12 und leitet dadurch eine Folge von Sonderschritten D12 bis Dl5 (Fig. 10) zur Decodierung der aus einem Kopierkennzeichen und einem anschliessenden ID-Codewort bestehenden Kombination ein, die empfangen wurde. Diese - Sonder-Decodierung umfasst, kurz gesagt, das Ausschieben des Kopierkennzeichens aus dem Argumentregister 178' und dann das Lesen der acht folgenden Codebits aus diesem Register sowie die spätere Zusammensetzung des wiedergewonnenen ID-Codewortes.
Im folgenden wird diese Sonder-Decodierung im einzelnen betrachtet. Der Taktimpuls D12 wird über ein ODER-Glied 210· zur Verschiebeimpulsleitung 212' für das Argumentregister 178··geleitet. Dadurch
209808/1718
YO9-70-040 - 46 -
, wird der Inhalt des Argumentregisters 1781 um eine Bitposition . nach rechts verschoben. Gleichzeitig wird der Taktimpuls D12 auch über das ODER-Glied 132' in Fig. 8B an die Leitung 1341 angelegt, die im erregten Zustand den Inhalt des Längenzählers in Fig. 8 um eine Einheit reduziert.
Wenn die in Fig. 8C gezeigte, monostabile Kippschaltung 374 abfällt, schaltet sie die monostabile Kippschaltung 376 ein und erzeugt einen Taktimpuls,auf der Leitung D13. Dieser Impuls D13 läuft dann über das ODER-Glied 192' in Fig. 8B zur Leitung 194' und erregt das Eingangstor 1961 in Fig. 8A. Dieses Tor führt ein Bit von der Eingabe einheit in die äusserste linke Stelle des Argumentregisters 178', um das Bit zu ersetzen, welches aus diesem Register ausgeschoben wurde. - .
Wenn die monostabile Kippschaltung 376 abfällt, schaltet sie eine monostabile Kippschaltung 378 ein und erzeugt einen Taktimpuls auf der Leitung D14, die zu einem in Fig. 8B gezeigten Tor 380 führt. Wenn der Längenzähler zu diesem Zeitpunkt nicht auf 0 steht, wird die Erregung von der Nicht-Null-Anzeigeleitung 144' in Fig. 8B über das Tor 380, die Leitung 382 und das ODER-Glied 372 in Fig. 8C zur monostabilen Kippschaltung 374 weitergeführt, die einschaltet und erneut die Reihenfolge der Schritte D12 bis D14 (Fig. 10) einleitet.
209808/1718
YO9-70-040 - 47 -
Wenn das Kopierkennzeichen bei der Abfrageoperation (Schritt D61) angetroffen wurde, wurde bekanntlich das dieses Kopierkennzeichen enhaltende Wort ausgelesen und im Datenregister 120' gespeichert. Dadurch wurde die zum Kopierkennzeichen gehörende Längenangabe im Längenzählerteil des Datenregisters gespeichert. Die Reihenfolge der Schritte D12 bis D14 der Fig. 10 muss daher so oft wiederholt werden, wie durch die Einstellung dieses Längenzählers angezeigt wird, d.h. bis. alle Kopierkennzeichenbits aus dem Argumentregister 178' ausgeschoben sind. Wenn die Längenzählereinstellung den Wert 0 erreicht und anzeigt, dass das letzte Kopierkennzeichenbit aus dem Argumentregister ausgeschoben wurde, stehen in den acht am weitesten rechts liegenden Stellen des Argumentregisters 178' jetzt die acht Bits des ID-Codewortes, die unmittelbar hinter dem Kopierkennzeichen . folgen. Diese acht Bits müssen wiedergewonnen werden.
Wenn die durch den Taktimpuls D14 bewirkte Prüfung feststellt, dass der Längenzähler auf 0 steht, wird ein Signal von der Null-Anzeigeleitung 146' in Fig. 8B über das Tor 380 und die Leitung 386 in den Fign. 8B und 8C zur monostabilen Kippschaltung 39Ϊ) weitergeführt, die einschaltet und den Taktimpuls D15 erzeugt. Dieser Taktimpuls wird auf das Tor 392 in Fig. 8A gegeben, um die acht Bits, die in den am weitesten rechts liegenden acht Positionen des Argumentregisters 178' gespeichert sind, parallel an die Ausgabeeinheit zu über-
YO9-70-040 ' - 48 -
209808/1718
HS
tragen. Ausserdem wird der Impuls D15 an eine Einrichtung gegeben, die den Längenzähler im Datenregister 120' auf acht (1000) einstellt, um später die acht entnommenen Bits durch neue Bits aus dem eintreffenden Bitstrom ersetzen zu können.
Wenn die monostabüe Kippschaltung 390 in Fig. 8C abfällt, liefert sie einen Impuls auf die Leitung 394, welche zu den UND-Gliedern 396 und 398 in Fig. 8B führt. Wenn die Bytezahl zu dieser Zeit noch nicht auf 0 reduziert wurde, läuft dieser Impuls durch das UND-Glied 396 und die Leitung 400 zur monostabilen Kippschaltung 208· (in Fig. 8C), um über den Schritt D4' die De codier Operation der Fig. 10 neu einzuleiten. Es werden dann durch wiederholte Ausführung der Schritte D41, D21, D31 acht neue Bits über die linke Position in das Argumentregister 178' eingelesen. Dabei gelangt das einzelne Bit, welches schon im Argumentregister 178' stand, aber nicht zum ausgelesenen ID-Codewort gehörte, von der am weitesten links liegenden Position in die am weitesten rechts liegende Position. Es folgt dann eine weitere Abfrageoperation mit den Schritten D51, D61 und D71, wie schon weiter oben beschrieben. Wenn, die Bytezahl jedoch 0 beträgt, läuft der Impuls auf der Leitung 394 durch das Tor 398 in Fig. 8B und erzeugt ein ENDE-Signal zur Beendigung der Decodierung.
YO9-70-040 - 49 -
209808/1718

Claims (11)

  1. PATENTANSPRÜCHE
    Anordnung zur Code-Umsetzung zwischen einem ersten Code mit Codewörtern gleicher Länge und einem zweiten Code mit Codewörtern unterschiedlicher Länge, mit einem Assoziativspeicher, dadurch gekennzeichnet, daß im Assoziativspeicher (11) erste Speicherfelder für Codewörter·des ersten Codes, zweite Speicherfelder für Codewörter des zweiten Codes, und dritte Speicherfelder für Längenangaben der in den zweiten Speicherfeldern gespeicherten Codewörter vorgesehen sind, wobei je ein erstes, zweites und drittes Speicherfeld einen Speicherplatz bilden, und daß die Speicherfelder aus binären Speicherzellen bestehen, wobei die Speicherzellen (20) in den ersten Speicherfeldern auch in einen neutralen Zustand versetzbar sind, in dem sie bei einer Assoziativ-Abfrage mit jedem der beiden Binärwerte das gleiche Ausgangsergebnis liefern, welches sonst einer Übereinstimmung zwischen gespeichertem Bitwert und abfragendem Bitwert entspricht.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß ein erstes Argumentregister (100) vorgesehen ist, mit dessen Inhalt die ersten Speicherfelder assoziativ abgefragt werden können, daß ein erstes Datenregister (120, VL-FeId) vorgesehen ist, in das der Inhalt des zweiten Speicherfeldes eines ausgewählten Speicherplatzes übertragen werden kann, und dessen Inhalt sequentiell ausgelesen werden kann; und daß ein Längenzähler-Registerfeld vorgesehen ist, in das der Inhalt des dritten Speicherfeldes des ausgewählten Speicherplatzes übertragen werden kann.
  3. 3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß ein zweites Argumentregister (178) vorgesehen ist, das als Schieberegister ausgebildet ist und in welches Daten bitsequentiell ausgelesen werden können, und mit dessen Inhalt
    209808/1718
    Docket YO 970 040
    die zweiten Speicherfelder assoziativ abgefragt werden können; daß ein zweites Datenregister (120, ID-FeId) vorgesehen ist, in das der Inhalt des ersten Speicherfeldes eines ausgewählten Speicherplatzes übertragen werden kann, und daß ein Längenzähler-Registerfeld vorgesehen ist, in das der Inhalt des dritten Speicherfeldes des ausgewählten Speicherplatzes übertragen werden kann.
  4. 4. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß das erste Datenregister, das zweite Datenregister und das Längenzähler-Registerfeld eine Einheit (120) bilden, in die der Gesamtinhalt eines ausgewählten Speicherplatzes parallel übertragen werden kann.
  5. 5. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß beim ersten Argumentregister (10O1) Daten bitparallel eingelesen und bitsequentiell ausgelesen werden könneni daß beim zweiten Argumentregister (1781) Daten aus mindestens einem Teil der Registerzellen bitparallel ausgelesen werden können, und daß im Assoziativspeicher mindestens ein besonderer Speicherplatz vorgesehen ist, dessen Inhalt ausgelesen werden kann, wenn eine Abfrageoperation in keinem Feld der normalen Speicherplätze Übereinstimmung erbrachte.
  6. 6. Verfahren zum Betrieb der Anordnung nach den Ansprüchen .bis 5, dadurch gekennzeichnet, daß einander zugeordnete :Paare von Codewörtern des ersten und des zweiten Codes in das erste und zweite Speicherfeld je eines Speicherplatzes eingegeben werden, daß die Codewörter unterschiedlicher Länge in den zweiten Speicherfeldern alle am gleichen Ende bündig eingelesen werden und die über die Länge des jeweils ;.-; eingelesenen Codewortes hinausgehenden Speicherzellen am andern Ende der zweiten Speicherfelder in den neutralen Zustand versetzt werden; und daß in das dritte Speicher-. feld eines Speicherplatzes jeweils eine Längenangabe über
    2 0.9 8.0 8/1.7 1 8
    Docket YO 970 040
    das im zweiten Speicherfeld gespeicherte Codewort eingegeben wird.
  7. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß zur Umwandlung von Codewörtern des ersten Codes in Codewörter des zweiten Codes jeweils ein umzuwandelndes Codewort in das erste Argumentregister (100) eingegeben wird} daß dann die ersten Speicherfelder des Assoziativ-Speichers (11) mit dem Inhalt des ersten Argumentregisters abgefragt und bei Übereinstimmung der betreffende Speicherplatz markiert wird; daß dann der Inhalt des zweiten und dritten Speicherfeldes des markierten Speicherplatzes in das erste Datenregister (120, VL-PeId) und das Längenzähler-Registerfeld übertragen werden; und daß schließlich der Inhalt des ersten Datenregisters sequentiell ausgelesen und bei Entnahme je eines Bitwertes der Inhalt des Längenzähler-Registerfeldes um je eine Einheit vermindert wird, bis er zu Null geworden ist.
  8. 8. Verfahren nach den Ansprüchen 6 und 7, dadurch gekennzeichnet, daß zur Umwandlung von Codewörtern des zweiten Codes, wobei kein Codewort den Anfang eines anderen bildet, in Codewörtern des ersten Codes, aus dem Bitstrom der umzuwandelnden Codewörter ,das zweite Argumentregister (178) zunächst sequentiell gefüllt wird; daß dann die zweiten Speicherfelder des Assoziativ-Speichers (11) mit dem Inhalt des zweiten Argumentregisters abgefragt und bei Übereinstimmung der signifikanten Bits eines zweiten Speicherfeldes mit den zugeordneten Bits im zweiten Argumentregister der betreffende Speicherplatz markiert wird; daß dann der Inhalt des ersten und des dritten Feldes des markierten Speicherplatzes in das zweite Datenregister (120, ID-FeId) und das Längenzähler-Registerfeld übertragen werden; daß der Inhalt des zweiten Datenregisters als Ergebnis ausgegeben wird; und daß schließlich der Inhalt des zweiten Argumentregisters um soviel Bitpositionen verschoben und dabei soviel weitere
    209808/1718
    Docket YO 970 040
    Bits aus dem Bitstrom der umzuwandelnden Codewörter sequentiell neu eingegeben werden, die der Inhalt des Längenzähler-Registerfeldes am Anfang dieser Verschiebeoperation angab.
  9. 9. Verfahren nach den Ansprüchen 6 bis 8, wobei eine Untermenge des Codewörter des zweiten Codes aus einem einheitlichen Kopierkennzeichen und dem daran anschließenden zugeordneten Codewort des ersten Codes besteht, dadurch gekennzeichnet, daß diese Untermenge von Codewörtern nicht im Assoziativspeicher gespeichert wird, und daß das Kopierkennzeichen in das zweite Speicherfeld und eine Angabe über seine Länge in das dritte Speicherfeld des besonderen Speicherr platzes eingegeben werden.
  10. 10. Verfahren nach den Ansprüchen 7 und 9, dadurch gekennzeichnet, daß dann, wenn bei der Abfrageoperation alle normalen Speicherplätze Nicht-Übereinstimmung ergeben, das Kopierkennzeichen und seine Längenangabe aus dem besonderen Speicherplatz in das erste Datenregister und das Längenzähler-Registerfeld übertragen werden; daß danach das Kopierkennzeichen aus dem ersten Datenregister bitsequentiell ausgegeben wird nach Maßgabe des Inhalts des Längenzähler-Registerfeldes; und daß anschließend der Inhalt des ersten Argument-Registers bitsequentiell ausgegeben wird.
  11. 11. Verfahren nach den Ansprüchen 8 und 9, dadurch gekennzeichnet, daß dann, wenn bei der Abfrageoperation alle normalen Speicherplätze Nicht-Übereinstimmung ergeben, der Inhalt des dritten Speicherfeldes aus dem besonderen Speicherplatz in das Längenzähler-Registerfeld übertragen wird;
    • daß danach der Inhalt des zweiten Argumentregisters um soviele Bitpositionen verschoben wird, wie der Inhalt des Längenzähler-Registerfeldes am Anfang angibt, wobei eine entsprechende Anzahl neuer Bits in das zweite Argument-
    209808/1718
    Docket YO 970 040
    register eingegeben wird; und daß dann aus dem zweiten Argumentregister soviele Bits ausgegeben werden, wie die Codewörter des ersten Codes enthalten, und anschließend der Inhalt des zweiten Argumentregisters um eine entsprechende Anzahl von Bitpositionen bei gleichzeitigem Einlesen neuer Bits verschoben wird.
    209808/1718
    Docket YO 970 040
DE2139731A 1970-08-10 1971-08-07 Anordnung zur Code-Umsetzung Expired DE2139731C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US6230670A 1970-08-10 1970-08-10

Publications (2)

Publication Number Publication Date
DE2139731A1 true DE2139731A1 (de) 1972-02-17
DE2139731C2 DE2139731C2 (de) 1983-06-16

Family

ID=22041630

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2139731A Expired DE2139731C2 (de) 1970-08-10 1971-08-07 Anordnung zur Code-Umsetzung

Country Status (5)

Country Link
US (1) US3675212A (de)
JP (1) JPS52339B1 (de)
CH (1) CH534453A (de)
DE (1) DE2139731C2 (de)
NL (1) NL7109574A (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3717851A (en) * 1971-03-03 1973-02-20 Ibm Processing of compacted data
US3921143A (en) * 1971-12-29 1975-11-18 Ibm Minimal redundancy encoding method and means
US3805251A (en) * 1972-07-21 1974-04-16 Ultronic Systems Corp Data processing apparatus for a printing system
FR111576A (de) * 1973-12-13 1900-01-01
US4038652A (en) * 1974-05-13 1977-07-26 Sperry Rand Corporation Digital communications line terminal compacter/expander
US4044347A (en) * 1975-05-19 1977-08-23 International Business Machines Corporation Variable-length to fixed-length conversion of minimum-redundancy codes
US4099257A (en) * 1976-09-02 1978-07-04 International Business Machines Corporation Markov processor for context encoding from given characters and for character decoding from given contexts
US4188669A (en) * 1978-01-13 1980-02-12 Ncr Corporation Decoder for variable-length codes
US4506325A (en) * 1980-03-24 1985-03-19 Sperry Corporation Reflexive utilization of descriptors to reconstitute computer instructions which are Huffman-like encoded
CA1228925A (en) * 1983-02-25 1987-11-03 Yoshikazu Yokomizo Data decoding apparatus
US5027376A (en) * 1985-10-30 1991-06-25 Microcom Systems, Inc. Data telecommunications system and method for transmitting compressed data
JPH0795269B2 (ja) * 1988-11-04 1995-10-11 富士通株式会社 命令コードのデコード装置
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
JP2956704B2 (ja) * 1989-02-21 1999-10-04 ケイディディ株式会社 可変長符号変成装置
US5034741A (en) * 1990-03-22 1991-07-23 United Technologies Corporation Variable length bit patterns for data representation
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5055841A (en) * 1991-02-01 1991-10-08 Bell Communications Research, Inc. High-speed feedforward variable word length decoder
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder
US5351047A (en) * 1992-09-21 1994-09-27 Laboratory Automation, Inc. Data decoding method and apparatus
US5537551A (en) * 1992-11-18 1996-07-16 Denenberg; Jeffrey N. Data compression method for use in a computerized informational and transactional network
US5982306A (en) * 1997-12-02 1999-11-09 Daewoo Electronics Co., Ltd. Variable-length coding method and apparatus thereof
GB2332127B (en) * 1997-12-08 2003-05-07 Daewoo Electronics Co Ltd Variable-length coding method and apparatus thereof
US6075470A (en) * 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
US6665793B1 (en) * 1999-12-28 2003-12-16 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for managing access to out-of-frame Registers
US6877020B1 (en) 2001-12-31 2005-04-05 Apple Computer, Inc. Method and apparatus for matrix transposition
US7114058B1 (en) 2001-12-31 2006-09-26 Apple Computer, Inc. Method and apparatus for forming and dispatching instruction groups based on priority comparisons
US7034849B1 (en) 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US6693643B1 (en) 2001-12-31 2004-02-17 Apple Computer, Inc. Method and apparatus for color space conversion
US7305540B1 (en) 2001-12-31 2007-12-04 Apple Inc. Method and apparatus for data processing
US7467287B1 (en) 2001-12-31 2008-12-16 Apple Inc. Method and apparatus for vector table look-up
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US7055018B1 (en) 2001-12-31 2006-05-30 Apple Computer, Inc. Apparatus for parallel vector table look-up
US6697076B1 (en) 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping
US7015921B1 (en) 2001-12-31 2006-03-21 Apple Computer, Inc. Method and apparatus for memory access
US6573846B1 (en) 2001-12-31 2003-06-03 Apple Computer, Inc. Method and apparatus for variable length decoding and encoding of video streams
US7558947B1 (en) 2001-12-31 2009-07-07 Apple Inc. Method and apparatus for computing vector absolute differences
US6931511B1 (en) 2001-12-31 2005-08-16 Apple Computer, Inc. Parallel vector table look-up with replicated index element vector
US6822654B1 (en) 2001-12-31 2004-11-23 Apple Computer, Inc. Memory controller chipset
US6707398B1 (en) 2002-10-24 2004-03-16 Apple Computer, Inc. Methods and apparatuses for packing bitstreams
US6781528B1 (en) 2002-10-24 2004-08-24 Apple Computer, Inc. Vector handling capable processor and run length encoding
US6707397B1 (en) 2002-10-24 2004-03-16 Apple Computer, Inc. Methods and apparatus for variable length codeword concatenation
US6781529B1 (en) 2002-10-24 2004-08-24 Apple Computer, Inc. Methods and apparatuses for variable length encoding
US7219325B1 (en) * 2003-11-21 2007-05-15 Xilinx, Inc. Exploiting unused configuration memory cells

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3257646A (en) * 1963-01-24 1966-06-21 Ibm Variable word length associative memory
DE1288143B (de) * 1967-08-17 1969-01-30 Starkstrom Anlagenbau Veb K Schaltungsanordnung zur Umwandlung eines beliebigen Programmkodes in einen anderen beliebigen Programmkode
US3448436A (en) * 1966-11-25 1969-06-03 Bell Telephone Labor Inc Associative match circuit for retrieving variable-length information listings

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3402394A (en) * 1964-08-31 1968-09-17 Bunker Ramo Content addressable memory
US3509328A (en) * 1965-03-15 1970-04-28 Bell Telephone Labor Inc Code conversion
US3465303A (en) * 1966-06-20 1969-09-02 Bunker Ramo Content addressable memory employing sequential control
US3483528A (en) * 1966-06-20 1969-12-09 Bunker Ramo Content addressable memory with means for masking stored information
US3461432A (en) * 1966-12-14 1969-08-12 Burroughs Corp Bi-directional code converter
US3533085A (en) * 1968-07-11 1970-10-06 Ibm Associative memory with high,low and equal search

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3257646A (en) * 1963-01-24 1966-06-21 Ibm Variable word length associative memory
US3448436A (en) * 1966-11-25 1969-06-03 Bell Telephone Labor Inc Associative match circuit for retrieving variable-length information listings
DE1288143B (de) * 1967-08-17 1969-01-30 Starkstrom Anlagenbau Veb K Schaltungsanordnung zur Umwandlung eines beliebigen Programmkodes in einen anderen beliebigen Programmkode

Also Published As

Publication number Publication date
CH534453A (de) 1973-02-28
JPS52339B1 (de) 1977-01-07
DE2139731C2 (de) 1983-06-16
NL7109574A (de) 1972-02-14
US3675212A (en) 1972-07-04

Similar Documents

Publication Publication Date Title
DE2139731A1 (de) Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher
DE2210044C2 (de) Verfahren zum Umsetzen von Codewörtern
DE2264090C3 (de) Datenverdichtung
DE2351791C2 (de) Datenverarbeitungsanlage
DE2205422A1 (de) Verfahren zur Verarbeitung verdichteter Daten
DE2551238C3 (de) Datenkonzentrator
DE2208664A1 (de) Verfahren zur Decodierung eines vorsatzfreien Verdichtungscodes veränderlicher Länge
DE2346525A1 (de) Virtuelle speichereinrichtung
DE2457732A1 (de) Verfahren und anordnung zur codierung und decodierung von information
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE2805294C2 (de) Codierende Übertragungsanlage für Faksimile-Signale
DE2227975A1 (de) Vorrichtung und verfahren zum verschluesseln von binaersignalen
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE2115198A1 (de) Verfahren zum Wiederauffinden von Datensätzen
DE1499206B2 (de) Rechenanlage
DE2454613C2 (de) Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2210426B1 (de) Verfahren zur vorranggesteuerten Auswahl einer von mehreren Funktionseinheiten zur Anschaltung an eine ihnen gemeinsam zugeordnete Einrichtung in Datenverarbeitungsanlagen und Schaltung zur Durchführung des Verfahrens
DE2461090A1 (de) Sende- und empfangsgeraet zur ueberwachung von ereignissen
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE3137704A1 (de) Vorrichtung zum decodieren eines baumfoermigen codes variabler laenge
DE2244163A1 (de) Verfahren zur verdichtung bzw. dehnung von dateninformationszeichen in einem datenverarbeitungssystem
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
DE1069406B (de) Imtpuilsgruppensortierung
DE2042596A1 (de) Schaltungsanordnung zur Umsetzung eines einzigen kodierten Eingangszeichens in eine Mehrzahl kodierter Ausgangszei chen

Legal Events

Date Code Title Description
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee