DE2139731A1 - Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher - Google Patents
Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ SpeicherInfo
- 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
Links
Classifications
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion 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
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. . . . ' '' > . " -..··„
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
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)
- PATENTANSPRÜCHEAnordnung 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. 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. 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 Inhalt209808/1718Docket YO 970 040die 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. 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. 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. 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 über2 0.9 8.0 8/1.7 1 8Docket YO 970 040das im zweiten Speicherfeld gespeicherte Codewort eingegeben wird.
- 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. 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 weitere209808/1718Docket YO 970 040Bits 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. 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. 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. 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/1718Docket YO 970 040register 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/1718Docket YO 970 040
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)
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)
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)
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 |
-
1970
- 1970-08-10 US US62306A patent/US3675212A/en not_active Expired - Lifetime
-
1971
- 1971-07-12 NL NL7109574A patent/NL7109574A/xx not_active Application Discontinuation
- 1971-08-06 CH CH1158371A patent/CH534453A/de not_active IP Right Cessation
- 1971-08-06 JP JP46059109A patent/JPS52339B1/ja active Pending
- 1971-08-07 DE DE2139731A patent/DE2139731C2/de not_active Expired
Patent Citations (3)
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 |