DE1499225C3 - Schaltungsanordnung zur Reduzierung von Datenwortlängen - Google Patents

Schaltungsanordnung zur Reduzierung von Datenwortlängen

Info

Publication number
DE1499225C3
DE1499225C3 DE1499225A DE1499225A DE1499225C3 DE 1499225 C3 DE1499225 C3 DE 1499225C3 DE 1499225 A DE1499225 A DE 1499225A DE 1499225 A DE1499225 A DE 1499225A DE 1499225 C3 DE1499225 C3 DE 1499225C3
Authority
DE
Germany
Prior art keywords
data
bit
input
output
bits
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.)
Expired
Application number
DE1499225A
Other languages
English (en)
Other versions
DE1499225A1 (de
DE1499225B2 (de
Inventor
Clarence Thomas Poughkeepsie Apple
Clinton Valentine Kingston Davis Jun.
James Thomas Pleasant Valley Dervan
Luke F. White Plains Little
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 DE1499225A1 publication Critical patent/DE1499225A1/de
Publication of DE1499225B2 publication Critical patent/DE1499225B2/de
Application granted granted Critical
Publication of DE1499225C3 publication Critical patent/DE1499225C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Die Erfindung betrifft eine Schaltungsanordnung zur Reduzierung von Datenwortlängen von in Bytes dargestellten Daten durch Reduzierung der redundanten Teile der Datenworte, die von einer Eingangsquelle über einen Pufferspeicher in einen anderen Speicher eingegeben werden.
Derartige Schaltungsanordnungen zur Reduzierung der Länge eines zu verarbeitenden oder zu speichernden Datenwortes sind bekannt. -Sie haben den Zweck, den redundanten Anteil des Informationsgehaltes eines Datenwortes mit fester Wortlänge und einem bestimmten Code, im gewissen Umfange zu beseitigen, denn dadurch ist es möglich, weniger Bits bei gleichem Informationsgehalt im Computer zu verarbeiten bzw. im Speicher zu speichern. Dadurch wird effektive Rechenzeit und Speicherkapazität frei für andere Zwecke.
Eine bekannte Einrichtung nach USA.-Patentschrift 2 997 541 arbeitet so, daß die zu verarbeitenden Datenworte, im folgenden Dateneingangsworte genannt, die in einem bestimmten Code und fester Wortlänge vorliegen in einen weniger redundanten Code umgeformt werden, indem die Dateneingangsworte in einem Vergleicher mit Korrekturgrößen verglichen werden, um dann anschließend gegebenenfalls über einen Dodierer reduziert und umgeschlüsselt zu werden.
Durch Beibehalten einer festen Wortlänge für die Ausgangsdaten sind jedoch auch diese noch mit einem mehr oder weniger großen redundanten Anteil behaftet, der von der Rechenanlage mit verarbeitet bzw. gespeichert werden muß.
Die vorliegende Erfindung bezweckt die Beseitigung des redundanten Anteils in einem Dateneingangswort mit fester oder variabler Wortlänge und damit die Erhöhung der Rechenzeit des die Eingangsdaten verarbeitenden Rechners. Ein weiterer Zweck besteht darin, daß die erzeugten nicht redundanten Datenausgangsworte mit variabler Länge durch Unterprogrammsteuerung in den Ausgangscode konvertierbar sind.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine zeitgesteuerte Schaltungsanordnung zu schaffen, womit der redundante Anteil eines Eingangsdatenwortes beseitigt, der technische Aufwand kleingehalten wird und womit neue Ausgangsdatenwörter entsprechend des beseitigten redundanten Anteils mit unterschiedlicher Wortlänge gebildet werden.
Die erfindungsgemäße Lösung der Aufgabe besteht darin, daß am Ausgang des Eingabepuffers eine Codierschaltung angeschlossen ist, die jeweils die Bytes eines Eingangswortes mit den entsprechenden Bytes des vorhergehenden Eingangswortes vergleicht und daraus einen Steuercode bestehend aus mehreren Steuerbits zur Kennzeichnung der redundanten Bytes ableitet, daß dieser Steuercode und die Datenbytes auf eine der Codierschaltung nachgeschaltete Zusammenführungsschaltung gegeben werden, in der die Eingangsdatenworte mit dem gebildeten Steuercode zu einem nichtredundanten Datenausgangswort vereinigt werden und danach asynchron unter Steuerung einer Zeitgeberschaltung und der Taktfrequenz des Ausgabespeichers über einen Ausgabepuffer, der der Zusammenführungsschaltung nachgeschaltet ist, auf den Ausgabespeicher übertragen werden und daß mit Hilfe eines Mikroprogramms das in einem Speieher steht, die Rückumwandlung der nichtredundanten Datenworte in den redundanten Ausgangscode erfolgt.
Weitere wesentliche Merkmale des. Anmeldungsgegenstandes ergeben sich aus den Unteransprüchen.
Die Erfindung wird anschließend an Hand des in der Zeichnung dargestellten Ausführungsbeispiels erklärt. In der Zeichnung bedeutet
Fig. 1 ein Blockschaltbild der erfindungsgemäßen Vorrichtung zur Reduzierung der Länge von Datenworten,
Fig. 2 Einzelheiten einer Codiervorrichtung gemäß des entsprechenden Einzelblocks in Fi g. 1,
F i g. 3 Details eines Bytes-Vergleichers gemäß des entsprechenden Einzelblocks in Fi g. 1,
F i g. 4 die prinzipiellen Teile der Zusammenführungsschaltung für die Reduzierung von Informationen,
F i g. 5 Einzelheiten der Zusammenf ührungsschaltung gemäß F i g. 4,
F i g. 6 eine Möglichkeit zur Zusammenschaltung der Zusammenführungsregister,
Fig. 7A und 7B Details der Steuereinrichtung und des Eingangsdatenpuffers gemäß Fig. 1,
F i g. 8 A und 8 B ein Flußdiagramm, welches die prinzipiellen Schritte des Wiedergewinnungsprogramms zur Rekonstruktion der ursprünglichen festen Wortlänge der Information aus dem reduzierten Wort mit variabler Länge, das in einer Schaltung gemäß F i g. 1 gebildet wurde, enthält.
Allgemeine Beschreibung
In F i g. 1 ist eine Schaltungsanordnung gezeigt, mit der es möglich ist, die Länge der Daten gemäß der vorliegenden Erfindung einzuschränken. Diese Schaltungsanordnung erhält binäre Daten von einem Datengeber 1. Sie unterteilt die Daten, wenn notwendig, in Eingabe-Wortabschnitte von gleicher Länge — im vorliegenden Ausführungsbeispiel in 24 Bit-Eingabewörter. Die Eingabedaten werden in einem Eingabepuffer2 gespeichert. Mittels eines Codierers 3, der die numerischen Differenzen zwischen den Bytes jedes Eingangswortes und entsprechenden Bytes eines davorliegenden Eingabewortes bildet, wird ein Steuercode erzeugt. Eine Zusammenführungsschaltung 4 vereinigt ausgewählte (d. h. nichtredundante Teile) der Eingabewörter und Steuercode in verschieden stark verdichtete Ausgabewörter. Den verdichteten Ausgabewörtern werden dann zusätzliche Fremdbits entnommen, und die Ausgabewörter werden kontinuierlich in den Ausgabepuffer 5 gegeben, der eine Folge von 6 Bitzeichen auf Anforderung an einen Bandspeicher 6 weitergibt. Eine Zeitsteuerschaltung7 steuert den Datenfiuß zwischen dem Datengeber 1 und dem Bandspeicher 6, die beide nicht synchronisiert sind.
In dem beschriebenen speziellen Ausführungsbeispiel sind die Wörter jeweils 24 Bits lang. Der Eingabepuffer 2 besteht aus sechs 26stufigen Registern, die nacheinander mit 24-Bit-Wörtern vom Datengeber 1 und zwei Zustands-Bits »verlorene Daten« (LD) und »keine Daten« (ND) gefüllt werden. Die Bits LD und ND werden zusammen mit den 24 Datenbits als eine 26-Bit-Einheit verarbeitet. Von diesen 26 Bits werden die 24 Datenbits über den Codierer 3 geleitet und alle 26 Bits werden durch die Zusammenführungsschaltung 4 geleitet.
Der Codierer 3 behandelt jeden 24-Bit-Datensatz als sechs 4-Bit-Bytes und für jedes solche Byte erzeugt er ein binäres Steuersignal, das im folgenden als »primäres Code-Bit« (PC) bezeichnet wird. Das primäre Code-Bit ist eine, wenn und nur wenn der Wert des zugeordneten Datenbytes sich gegenüber dem Wert des entsprechenden Bytes des davor liegenden Eingabewortes nicht geändert hat. Somit ist PC gleich Null, wenn das zugeordnete Byte seinen Wert geändert hat. >
Somit erzeugt der Codierer 3 für ein 24-Bit-(6-Byte)-Eingabewort sechs primäre Code-Bits (FC1 _e), die den Redundanz-Zusatz als zugeordneten 4-Bit-Daten-Bytes kennzeichnen. Der Codierer 3 behandelt jede 6-Bit-Primär-Code-Gruppe PC1-0 als
ίο zwei 3-Bit-Primär-Code-Bytes (d. h. PC1^ und FC4-6). Der Codierer 3 erzeugt für jedes der letzteren Bytes Steuersignalbits, die im folgenden als sekundäre COdC-BItS(SC1 und 5C0) bezeichnet werden. Die sekundären Code-Bits sind 1 und nur 1, wenn das zugeordnete primäre Steuer-Byte sich gegenüber dem entsprechenden primären Steuer-Byte des vorhergehenden Eingabewortes nicht geändert hat und O im anderen Falle.
Um es noch einmal zusammenzufassen, die sekundären Code-Bits (5C1 2) werden aus den entsprechenden 3-Bit-Primär-Code-Bytes (FC1-3, PC^6) zweier aufeinanderfolgender Wörter abgeleitet, und die sechs primären Code-Bits werden für sich aus den sechs entsprechenden 4-Bit-Daten-Bytes zweier aufeinanderfolgender 24-Bit-Eingabedatenwörter ermittelt. In der Zusammenführungsschaltung 4 werden die Bits LD, ND, SC1, SC1, und ausgewählte der primären Code-Bits FC1-3 und PC4 _G sowie ausgewählte Bits der sechs Daten-Bytes vereinigt, so daß reversible verdichtete Informationseinheiten entstehen. Man erreicht das dadurch, daß ausgewählte FC-Bytes weggelassen werden, wenn die zugeordneten 5C-Bits 1 sind und indem man Datenbytes wegläßt, wenn die zugeordneten FC-Bits 1 sind. Die Zusammenführungsschaltung 4 erzeugt somit an ihrem Ausgang eine ununterbrochene Folge von LD-Bits, iVD-Bits, SC-Bits, ausgewählten FC-Bits und ausgewählten Daten-Bits. Das Ausgangssignal der Zusammenführungsschaltung 4 wird in 6-Bit-Einheiten über den Ausgabepuffer 5 weitergegeben, der aus acht 6-Bit-Puffer-Speicherregistern besteht, die asynchron wiederholt gefüllt und geleert werden. Die aus sechs Bits bestehenden verdichteten Zeichen werden in dem Ausgabepuffer 5 parallel zusammen mit einem siebten Paritätsbit auf einer siebten Spur des Magnetbandes gespeichert. Im dargestellten Ausführungsbeispiel werden damit Blöcke von 4098 Zeichen gebildet, und die Einspeicherung erfolgt unter Steuerung des Bandspeichers 6. Wenn die ursprüngliche Eingabeinformation benötigt wird, wird die verrichtete Information aus dem Band blockweise ausgelesen und in umgekehrter Richtung bearbeitet, z. B. durch ein Mikroprogramm, das in einem Speicher 8 steht. Wie diese Rückumwandlung durch Rekonstruktion der primären Code-Information und dann der Datenbyteinformation die jedem originalen Datenwort entspricht, geschieht, wird später beschrieben werden.
Die Informationsverdichtung durch Codierung und Zusammenführung wird am besten durch Betrachtung des in Tabelle 1 gezeigten Beispiels verstanden. Die linke Spalte der Tabelle enthält die Wortnummern. Diese zeigen die Ordnung des Auftretens an und die Verarbeitung der Wärter in den anderen Spalten der gleichen Reihe. Für jedes Wort sind die entsprechenden LD- und ND-Bits in einer vertikalen Folge in der zweiten Spalte angegeben. Die dritte Spalte enthält die entsprechenden SC-Bits und die vierte Spalte die zugehörigen FC-Bits. Die nicht weitergeleiteten Ein-
gabedatenwortbytes sind in den nächsten vier Spalten in einer einzelnen Reihe in den letzten vier bis vierunddreißig Spalten nach rechts angegeben.
Der Einfachheit halber ist jedes Eingabe-Datenbyte zusammen mit dem entsprechenden primären Code-Bit in einer getrennten Reihe der Tabelle dargestellt, so daß die sechs Eingabe-Bytes sechs Reihen einnehmen. Als weitere Hilfe stehen die LD- und SC-Bits eines jeden Wortes in der gleichen Reihe wie das erste Primär-Code-Bit (CP1), um Symmetrie zu erhalten und einen bequemen Vergleich von SC1 und PC1_S sowie ND und SC2, die mit PC1 der Symmetrie wegen und des bequemen Vergleichs mit PC4 _6 in der gleichen Reihe stehen. Die Ausgabewörter nehmen jeweils eine einzelne Zeile ein, deren erste vier Ausgabebits jeweils LD, ND, SC und SC2 entsprechen.
Die erste Reihe der Tabelle ist als Wort Nummer Null gekennzeichnet. In diesem Wort sind FC1-6 und alle Datenbits Null. LD, ND, SC und SC2 sind Eins. Das Ausgangssignal ist ein »Keine Daten«-Byte 1111, das aus den Bits LD, ND, SC1 und SC2 auf eine Weise gebildet wird, wie sie später an Hand der F i g. 5, 7 a und 7 b beschrieben werden wird.
Im Wort Nummer Eins ist wenigstens ein Ein-Bit in jedem Eingabe-Daten-Byte. Somit hat sich der Wert von jedem Daten-Byte relativ zum Rückstellwert geändert und der Primär-Code bleibt in allen Stellen Null. Da der Primär-Code sich nicht geändert hat, bleibt der Sekundär-Code 11 und beide 3-Bit-PC-Bytes werden nicht ins Ausgabe-Wort übernommen. Dies ist besonders interessant, weil man eigentlich annehmen sollte, daß, wenn alle Datenbytes im ersten Wort ihren Wert verändert haben, das Ausgabewort nicht nur alle Datenbytes sondern auch zehn Steuerbits LD, ND, SC und PC, d. h. insgesamt 34 Bits enthalten sollte. Somit wird eine effektive Reduktion von sechs Bits bei der Verarbeitung des ersten 24-Bit-Datenwortes und dem zugeordneten Zehn-Bit-Steuer-Code erzielt, obwohl hier tatsächlich im Ausgabewort vier Bits mehr enthalten sind als im Eingabewort. LD zeigt, da es Null ist, an, daß zwischen dem Wort Eins und dem Wort Zwei kein Datenverlust stattfand. ND ist Null und zeigt damit an, daß Daten verarbeitet wurden im Gegensatz zu dem »Keine-Daten«-Züstand im Wort Nummer Null.
Das Eingabewort Nummer Zwei ist das gleiche wie das Eingabewort Nummer Eins. Daher sind die entsprechenden Primär-Code-Bytes PC1-3 und PC4 _6 111 und 111. Da somit ein Wechsel in den beiden PC-Bytes stattgefunden hat, sind die entsprechenden sekundären Code-Bits jeweils Null. Damit sind im Ausgabewort Nummer Zwei die PC-Bytes enthalten, aber alle Daten-Bytes sind weggelassen. LD und ND bleiben Null, wie im Wort Nummer Eins.
Das Eingabewort Nummer Drei stellt den günstigsten Fall dar. Jedes Datenbyte hat sich verändert, und demzufolge wird jedes PC-Bit in Null verändert. Das Ausgabewort enthält alle der 34 Daten- und Steuerbits. Es ist jedoch interessant, daß die Eingabewörter mit den Nummern Eins bis Drei zusammen 24 · 3 = 72 Datenbits enthalten, während die entsprechenden Ausgabewörter Eins bis Drei insgesamt nur 28 + 10 + 34 =72 Steuer- und Datenbits enthalten. Somit würde auch unter den extremen Bedingungen der Änderungen, wie sie in diesen drei Wörtern stattfinden, die Zahl der gesamten Bits nicht ansteigen. Es sei bemerkt, daß im allgemeinen die Aussabesianale in Blöcken von 4098 · 6 = 24 588 Bits gespeichert werden, vonweichem 4088-6 = 24 528 Bits den Eingabedaten entsprechen und 60 Bits zur Anzeige der Zahl entsprechender Eingabewörter reserviert sind.'Man hat in der Praxis festgestellt, daß die 24 528 Bits wenigstens 2000 Bit-Wörter (d. h. 48 000 Bits) darstellen. Untersuchungen haben gezeigt, daß das durchschnittliche Verhältnis von Eingabe- zu Ausgabebits in den meisten praktischen Anwendungen größer als 2 zu 1 ist. Wenn
ίο auch in dem speziellen Fall der Wörter 1 bis 3 der Tabelle 1 keine Verminderung der Bitzahl erreicht wird, so sollte doch bedacht werden, daß bei einem Block größerer Länge eine beachtliche Verdichtung erzielt werden kann.
Beim Eingabewort Nummer Vier haben sich die ersten drei Datenbytes nicht verändert, aber die letzten drei Datenbytes sind anders. Das erste Primär-Code-Byte PC1 _3 ändert sich in Hl, aber das zweite Primär-Code-Byte PC4 _6 bleibt 000. Demzufolge
sind die Sekundär-Code-Bits jeweils Null und Eins (Änderung und keine Änderung). Im Ausgabewort Nummer Vier ist demnach das unveränderte Primär^- Code-Byte PC1 _ 6 und die unveränderten ersten drei Daten-Bytes weggelassen.
Im Eingabewort Nummer Fünf ist nur der erste und das dritte Daten-Byte verschieden, und demzufolge ist der Primär-Code 0101111. Das stellt eine Änderung in jedem Primär-Code-Byte dar und demzufolge ist der Sekundär-Code 00. Deshalb werden PC1 _g und die Datenbytes 1 und 3 in das Ausgabewort übernommen, und die Datenbytes 2, 4, 5 und 6 werden weggelassen.
Im Eingabewort Nummer Sechs unterscheidet sich nur das zweite Datenbyte von dem entsprechenden Byte des davor liegenden Wortes. Demnach wird der Primär-Code von 0101111 in 101111 verändert. Es verändert sich also nur das Primär-Code-Byte PC1_Z. Damit ist der Sekundär-Code 01, und nur PC1^3 und das Daten-Byte 2 werden mit LD, ND und SC in das Ausgabewort Nummer Sechs übernommen.
In allen Ausgabewörtern Eins bis Acht ist das zweite Bit (ND) oder das »Keine-Daten«-Bit (wenn es Eins ist) oder das Synchronisationsbit (wenn es Null ist) im Null-Zustand. Dieses Bit zeigt also an, daß der Datengeber im Augenblick Daten in ausreichender Menge abgibt, um genügend Daten an den Bandspeicher abzugeben. In allen Wörtern außer dem Wort Sechs ist das erste Bit (LD), das auch verlorene Daten genannt wird Null und zeigt somit an, daß eine Kontinuität zwischen allen Wörtern außer den Wörtern Sechs und Sieben besteht. Das LD-Bit in Wort Nummer Sechs zeigt den Verlust (das Weglassen) eines oder mehrerer 24-Bit-Datenwörter am Datengeber an, was den Zweck hatte, mit der Aufnahmegeschwindigkeit des Ausgabespeichers 6 Schritt zu halten. Dieser wurde offensichtlich durch die Liefergeschwindigkeit des Datengebers 1 zu der Zeit als das Wort Nummer Sechs angeliefert wurde, überfordert. Somit wurde ein gleichmäßiger Fluß von Bits zwischen dem Datengeber 1 und dem Ausgabespeicher 6 aufrechterhalten, und durch Untersuchung der Wörter Sechs und Sieben ist es, wenn diese wiederhergestellt werden, möglich, die fehlenden Wörter zu interpolieren.
Die Eingabewörter Nummer Sieben und Nummer Acht sind gleich dem Eingabewort Nummer Sechs. Somit ändert sich im Wort Nummer Sieben das zweite Primär-Code-Bit PC-, vom Zustand Null in den Zu-
stand Eins, und der Sekundärcode bleibt 01. Deshalb ist nur das erste Primär-Code-Byte im Ausgabewort Nummer Sieben enthalten. Im günstigsten Fall bleiben das Eingabewort Nummer Acht und sein zugeordneter Primär-Code beide unverändert, und deshalb enthält das Ausgabewort Nummer Acht nur LD, ND und die Sekundär-Code-Bits, so daß sich die Bitfolge 0011 ergibt.
Beim in Tabelle 1 dargestellten Ausführungsbeispiel enthalten die acht Eingabewörter insgesamt 8 · 24 = 192 Datenbits, während die entsprechenden acht Ausgabewörter insgesamt nur 28 + 10 + 34 + 19 + 18 + 11 + 8 + 4 = 131 Bits enthalten. Das heißt eine Verminderung der Bitzahl um 61 oder im Durchschnitt eine Verminderung von 7, 625 Bits pro Eingabewort.
Für den speziellen Fall hat es sich gezeigt, daß es günstiger ist, die aus dem Ausgabespeicher 6 entnommene Information mittels einer programmgesteuerten Vielzweckdatenverarbeitungsanlage herzustellen, statt ein Spezialgerät zu verwenden, weil im allgemeinen die Wiederherstellung ohne den Datengeber und die Zeitsteuerung des Ausgabespeichers 6 erfolgen. Im allgemeinen wird es auch nicht immer nötig sein, alle gespeicherten Daten wiederherzustellen, weil im allgemeinen einige der ursprünglichen Eingabedaten nicht von Interesse sind. Nimmt man z. B. an, daß die Eingabedatenwörter Befehle eines Programmes darstellen, das einen Datengeber-Computer steuert, und daß es erforderlich ist, Befehle aufzuzeichnen, wie sie ausgeführt wurden, so daß die Aufzeichnung später zur Fehlersuche oder zur Überprüfung der Wirksamkeit des Programmes ausgenutzt werden soll. In diesem Fall ist es erwünscht, alle Befehle im verdichteten Format zu speichern, und es ist mir erforderlich, nur Fehler verursachende Abschnitte des Programms, z. B. einen Abschnitt, der ein Unterprogramm darstellt und der mehr als die erwartete Computerzeit verbraucht. Es wäre deshalb sehr teuer, eine Spezialschaltung zu verwenden, die die verschiedensten Datenwiederherstellungsarten beherrschen müßte, und die je nach den speziellen Umständen spezielle Zusätze benötigen würde. Dagegen arbeitet die in den F i g. 1 bis 7 dargestellte Schaltung bei den verschiedensten Arten von Datengebern und den verschiedensten Arten von Ausgabespeichern zuverlässig. Das Wiederherstellungsprogramm ist in F i g. 1 schematisch durch den Block 8 dargestellt. Die Verbindung zwischen dem Ausgabespeicher 6 und diesem Programm wird durch eine gestrichelte Linie 9 schematisch dargestellt. Wesentliche Elemente oder Schritte in dem Wiederherstellungsprogramm sind in Blockform in den F i g. 8 a und 8 b dargestellt und werden später beschrieben. Die Einzelheiten der Blöcke der Fig. 1 werden nachfolgend in verschiedener Ausführlichkeit beschrieben.
Codierer
In den F i g. 2 und 3 ist der in F i g. 2 mit 3 bezeichnete Codierer dargestellt, der die primären und sekundären Daten des Steuercodes erzeugt. Die 24-Bit-Eingabedätenwörter werden parallel über die Leitungen 15 und 16 in ein 24-stufiges Pufferregister 17 eingegeben. Jede solche Übertragung wird durch einen Ubertragungstorimpuls gesteuert, der über die Leitung 18 zu einem vorherbestimmten Zeitpunkt der auch die Übertragung des gleichen Datenwortes durch die Züsammenführungsschaltung 4 folgt. Die sechs 4-Bit-Bytes jedes augenblicklichen und vorhergehenden Eingabedatenwortes (d. h. die Eingangssignale und die Ausgangssignale! des Registers 17) werden jeweils sechs gleichen Datenbytevergleichern 19 zugeführt, von denen einer mit 20 bezeichnet in F i g. 3 im Detail dargestellt ist.
Jeder Datenbytevergleicher (F i g. 3) besteht aus vier inversen Exklusiv-Oder-Schaltungen 21 bis 24 einer Und-Schaltung 25, deren vier Eingänge mit den
ίο vier Ausgängen der Schaltungen 21 bis 24 verbunden sind. Jede inverse Exklusiv-Oder-Schaltung besteht wie 26 in F i g. 3 zeigt, aus einer Und-Schaltung 27, zwei Oder-Schaltungen 28 und 29 und einem Inverter 30. Wenn man die Eingangssignale zur Schaltung 26 mit A und B bezeichnet, so stellt das Ausgangssignal 31 a ■ b + α · Έ dar (d. h. das Ausgangssignal
31 ist Eins, wenn und nur wenn α und b gleich sind). Da die Ausgangssignale der Schaltungen 21 und 24 zusammen der Und-Schaltung 25 zugeführt werden, ist das FC-Ausgangsbit des Vergleichers 20 Eins, wenn und nur wenn alle vier Paare der Exklusiv-Oder-Eingangssignale gleich sind, und demnach sind auch die sechs FC-Bitaüsgangssignale auf der Leitung
32 (F i g. 2) jeweils Eins, wenn und nur wenn die zugeordneten verglichenen 4-Bit-Datenbytes gleich sind, im anderen Fall sind sie Null.
Jeder 6-Bit-Primär-Code auf der Leitung 32 wird parallel zu der in F i g. 4 gezeigten Züsammenführungsschaltung und zu einem 6-Bit-Pufferregister 33 unter der Steuerung eines Torsignals, das auf der Leitung 34 zugeführt wird, weitergeleitet. Somit stellen die Eingangs- und Ausgangssignale des Registers 33, die unmittelbar vor den Torsignalen auftreten, den Primärcode dar, der aus zwei aufeinanderfolgenden D at en Wörtern abgeleitet ist. Die Eingangssignale und die Ausgangssignale des Registers 33 werden in zwei 3-Bit-Bytegruppen durch zwei Primär-Code-Vergleicher 35 verglichen. Die zwei Aüsgangssignale dieser Vergleicher, die unmittelbar vor den Torimpulsen bei 34 auftreten, stellen den Sekundär-Code dar. Die Primär-Code-Byte-Vergleicher sind alle gleich und sind so aufgebaut, wie die Schaltung 36 in Fig. 3. Der Vergleicher 36 in Fig. 3 stimmt im wesentlichen mit dem Datenbytevergleicher 20 in der gleichen Figur überein, mit der Ausnahme jedoch, daß die erstere nur drei Paare von Eingängen hat und demzufolge nur drei inverse Exklusiv-Qder-Schaltungen 37 bis 39 hat, während die letztere davon vier besitzt. Demzufolge liefert die Und-Schaltung 40 des Vergleichers 36 als SC-Ausgangsbit eine Eins, wenn und nur wenn die drei Paare von Eingängen jeweils gleich sind. : ; \
Züsammenführungsschaltung
In der Schaltung der F i g. 4 werden die augenblicklichen Sekundärcodes und ausgewählte Bytes des augenblicklichen Primär-Codes sowie Datenwörter zusammen mit der Koordinierungsinformation in Form der LD und Nö-Bits vier bitweise in ein 48stufiges Zusammenführungsregister50 mittels einer Löschschaltung 51 verbunden. Die Löschschaltung 51 bewirkt, daß redundante 3-Bit-Primär-Code-Bytes und 4-Bit-Daten-Bytes beseitigt werden, so daß nur die Koordinierungsinformation die Sekundär-Code-Bits und nichtredundante Prima'r-Code-Bits und Daten-Bytes in dieser Reihenfolge in aufeinanderfolgende 4stufige Unterregister im Register 50 eingegeben werden.
Tabelle 1
10
WORT LD
ND
SC
1
2
FC
1
2
6
Eingabe-Bytes Verdichtetes Ausgabewort
(4 bis 34 Bits)
0 1
1
1
1
0
0
0
0
0
0
0000
0000
0000
0000
0000
0000
1111
(»Keine Daten«)
1 0
0
1
1
0
0
0
0
0
0
1010
1011
0011
1011
1000
1001
0011101010110011101110001001
(PC-Bytes weggelassen)
2 0
0
0
0
1
1
1
1
1
1
1010
1011
0011
1011
1000
1001
0000111111
(Alle Datenbits weggelassen)
3 0
0
0
0
0
0
0
0
0
0
1001
1000
0000
1001
0001
0110
0000000000100110000000100100010110
(Ungünstigster Fall)
4 0
0
0
1
1
1
1
0
0
0
1001
1000
0000
1010
1111
1110
0001111101011111110
(PC-Byte 2 und Datenbytes 1, 2 und 3
weggelassen)
5 0
η
0 0
1
η
1010
1000
ΠΠΠ1
000001011110100001
(Datenbytes 2, 4, 5 und 6 weggelassen)
0 1
1
1
VJUUX
1010
1111
1110
6 1
0
0
1
1
0
1
1
1
1
1010
1011
0001
1010
1111
1110
10011011011
(Alle außer LD, ND, SC^2, PC1 _3 und
Datenbyte 2 weggelassen)
7 0 0 1
1
1
1010
1011
ΠΠΠ1
0001111
(Alle außer SC und PC1 _3 weggelassen)
0 1 1
1
1
1
UUUJL
1010
1111
1110
8 0
0
1
1
1
1
1
1
1
1
1010
1011
0001
1010
1111
1110
0011
(Günstigster Fall — alle außer SC weg
gelassen)
Das Format und die Verarbeitung der Information, wie sie durch die Löschschaltung 51 gegeben werden, werden an Hand der Tabelle 2 nachfolgend beschrieben werden.
4-Bit-Datenbytes werden getrennt in aufeinanderfolgende 4-stufige Unterregister des Registers 50 kommutativ in einem von zwei Zyklen eingegeben. Im Modus Eins (das »Keine Daten«-Signal ist Eins) sind die Eingabedatenpuffer 2 (Fig. 1) alle leer und können demzufolge keine Datensignale auf die Leitung 15 geben. Infolgedessen werden die Eingangsschaltungen in der Löschschaltung 51 so gesteuert, daß nur die Leitungen LD, ND und SC der aus 26 Einzelleitungen bestehenden Eingangsleitung 15 während eines vollen Zyklus eines 22-phasigen Taktzählers (AC), der in der Schaltung 7 (Fig. 1) enthalten ist, abgetastet. In diesem Modus werden durch die Bedingungen auf den Leitungen LD, ND und SC durch die Schaltungen der Fig. 7 in jedem Zyklus des Taktzählers ein Nichtdatenbyte 1111 in der Phase 1 des ^C-Zyklus in die Ausgabeinformation gebracht, und die Löschschaltung 51 wird für die übrigen 21 Phasen im Ruhezustand gehalten, wobei nur ein 4-Bit-Unterregister im Register 50 gefüllt wird.
Im Modus Null (das »Kleine-Daten«-Signal ist Null) wird der Taktzähler AC zyklisch durch alle Phasen 1 bis 22 hindurchgeschaltet und in den ungeradzahligen 1 bis 17 dieser Phasen werden der Steuercode und die Datenbits in 4-Bit-Bytes in das Register 50 gebracht.
In der Phase 1 dieses Modus (A C1) setzt sich das durch die Löschschaltung 51 verarbeitete Byte aus dem LD-Bit, das entweder Eins (verlorene Daten) oder Null (nicht beachten) ist, abhängig davon, ob die dem jeweiligen Eingabewort folgende Daten im Eingabepuffer 2 (F i g. 1 und 7) weggelassen wurden, um die zeitliche Steuerung zwischen der Zeitsteuerung des Datengebers 1 und dem Ausgabespeicher 6 (F i g. 1 und 7), das ND-Bit (Synchronisationsbit) das unverändert Null ist und die 5C1 und 5C2-Bits aufrechtzuerhalten.
In der Phase AC3 wird die erste Bit-Position durch das »Nicht-beachten«-Bit X eingenommen und die anderen drei Plätze sind für die ersten drei Primär-Code-Bits PC1, PC2 und PC3. Auch in der Phase AC5 werden ein »Nichtbeachten«-Bit X und die letzten drei Primär-Code-Bits PCV PC5 und PC6 verarbeitet.
In den Phasen AC1, ACa,
ACn, ACn, AC15 und
AC17 werden die sechs Bytes der Eingabedaten nacheinander verarbeitet.
Mit Ausnahme der »Keine-Daten«- und der Mode-Null-Sekundär-Code-Bytes werden in jedem Zyklus des Zusammenführungstaktzählers Bytes selektiv ausgelassen oder in Übereinstimmung mit dem Wert der SC- und PC-Steuercodebits übertragen. Jedes zu übertragende Byte wird in eines von zwölf 4stufigen Unterregistern des Registers 50 eingespeichert. In Übereinstimmung mit jeder solchen Übertragung wird ein Formbit parallel in eine von 12 entsprechenden Stufen des Formatregisters 52 über die aus 12 Einzelleitungen bestehende Leitung 53 eingegeben. Das Formatbit ist Eins, wenn das übertragene Byte nur drei Bits nutzvoller Information enthält, d. h., wenn das erste Bit ein »Nicht-beachten«-Bit (d. h. ein Null-Bit in der Phase ^4C1 ist oder irgendeinen Wert X in der Phase AC3 oder AC5 hat). Im anderen Falle ist das Format-Bit Null.
Die Ausgangssignale des Formatregisters definieren also das Format der Information, die in den 12 entsprechenden 4stufigen Unterregistern des 48stufigen Formatregisters 50 enthalten sind. Abtastschaltungen, die in F i g. 6 dargestellt sind ( und nachfolgend beschrieben sind) nutzen diese Information aus und bewirken eine weitere Reduzierung der Ausgabeinformation, während sie zyklisch die Ausgänge der Register 50 jeweils ein Bit zu einer Zeit abtasten, indem sie die »Nicht-beachten«-Bits X der drei Bit-Bytes unterdrücken. Wie in Fig. 6 weiter gezeigt, werden die vom Formatregister 50 abgetasteten Ausgabebits nacheinander in acht 6stufige Pufferregister gebracht, von wo sie direkt in parallelen sechs Bitzeichengruppen in sechs entsprechende Spuren einer Magnetbandaufzeichnung gebracht werden.
Tabelle
Keine Daten Zusammen Bit Bit
2
Informationsbyte Bit
4
0 SC, SC2 Steuercode-Bit
Steuerung führung
Takte
1 1(ND) Bit
3
1 (SC2) (Synch.-Bit)
1 ac, 1(LD) 1 (SC1) (»Keine-DatenÄ-Codebyte)
O AC, 1 »Verlorene PC, pc, PC3
Daten« oder
Null PC, PC5 pc.
(Nicht beachten) SC,
AC3 X Daten-Bit 2 Daten-Bit 3 Daten-Bit 4
(Nicht beachten) Daten-Bit 6 Daten-Bit 7 Daten-Bit 8 SC2
AC5 X Daten-Bit 10 Daten-Bit 11 Daten-Bit 12
(Nicht beachten) Daten-Bit 14 Daten-Bit 15 Daten-Bit 16 PC,
AC7 Daten-Bit 1 Daten-Bit 18 Daten-Bit 19 Daten-Bit 20 pc,
AC9 Daten-Bit 5 Daten-Bit 22 Daten-Bit 23 Daten-Bit 24 pc.
ACn Daten-Bit 9 pc,
AC, 3 Daten-Bit 13 pc.
AC15 Daten-Bit 17 pc.
AC17 Daten-Bit 21
Zusammenführungsschaltung — Einzelheiten
In F i g. 5 sind Einzelheiten der logischen Schaltung der F ig. 4 dargestellt. Die Verbindungsschaltung j 60 verbindet wahlweise vier von 34 Eingängen zu einem 4-Drahtausgang 61 in einem vorbestimmten Abtastzyklus. Die Signale auf dem Ausgang 61 werden über eine Verbindungsschaltung 62, die die Signale auf vier Eingangsleitungen in Signale auf vier von 48 Ausgangsleitungen umwandelt, aufeinanderfolgend ausgewählten 4stufigen Unterregistern eines Zusammenführungsregisters 50 zugeführt. Gleichzeitig mit jeder Signalübertragung in das Register 50 überträgt eine Verbindungsschaltung 64, die ein Eingangsignal auf einer Eingangsleitung in ein Ausgangssignal auf 12 Leitungen umwandelt, ein Formatsignal in eine entsprechende von 12 Stufen eines Formatregisters 52.
In die Schaltung 60 werden horizontal von links Informationssignale und vertikale Torsignale eingegeben. Die 5C- und PC-Steuer-Code-Bits werden sowohl als horizontale Informationseingänge über die Leitungen 66 und als vertikale Steuereingänge über die Leitung 67 in die Schaltung 60 eingegeben. Die Schaltung 60 besteht aus 34 Und-Schaltungen, neun Invertern und vier Oder-Schaltungen. Die 34 Und-Schaltungen, die die Bezeichnung 71 bis 75 führen, sind in sieben Gruppen zu je vier Schaltungen und zwei Gruppen von je drei Schaltungen angeordnet, von diesen Gruppen sind nur vier, nämlich 71, 72, 73 und 75 in der Zeichnung im einzelnen dargestellt. Die fünf fehlenden Gruppen von Und-Schaltungen sind schematisch durch die Punkte bei 74 angedeutet. Vier Und-Schaltungen 71 verbinden bei bestimmten Bedingungen die LD-, ND-, SC1- und 5C2-Bitsignale mit entsprechenden Leitungen einer aus vier Einzelleitern bestehenden Leitung 77. Drei Und-Schaltungen 72 verbinden unter bestimmten Bedingungen die Bits PC1 bis PC3 mit entsprechenden Leitungen auf einer aus drei Leitern bestehenden Leitung 78. Drei Und-Schaltungen 73 verbinden bei bestimmten Bedingungen PC1 bis PC6 mit entsprechenden Leitungen auf einer aus drei Einzelleitern bestehenden Leitung 79. Vier Und-Schaltungen in jeder von fünf Gruppen, die mit dem Bezugszeichen74 gekennzeichnet sind, verbinden bei entsprechenden Bedingungen ihre Eingänge (das 1. 2. 3. 4. und 5. Datenbyte) mit fünf entsprechenden Leitungen 80, die jeweils vier Einzelleiter aufweisen. Schließlich verbinden vier Und-Schaltungen 75 bei bestimmten Bedingungen ihre Eingänge (das 6. Datenbyte) mit der Leitung 81, die ebenfalls vier Einzelleiter aufweist.
Die zwei Sekundär- und sechs Primär-Code-Bitleitungen aus der Steuerleitung 67 sind mit jeweils acht Invertern verbunden, welche die Bezugszeichen 82 bis 84 tragen. Die Ausgangssignale dieser Inverter werden als Steuereingangssignale den zugeordneten acht Und-Schaltungen 72 bis 75 zugeführt. Für die Zeitsteuerung werden die neun ungeradzahligen Phasenausgangssignale von 1 bis 17, die mit AC1, AC3 .. . AC11 bezeichnet sind und von einem Zähler AC (F i g. 7), der 22 stabile Zustände aufweist, herkommen, zugeordneten neun Gruppen von Torschaltungen 71 bis 75 zugeführt. Somit werden während der Umschaltung des Zählers AC mit 22 Zuständen die neun Gruppen von Und-Schaltungen 71 bis 75 nacheinander adressiert. Die 34 Einzelleitungen auf den neun Leitungen 77 bis 81 werden auf eine aus sieben Einzelleitungen bestehende Leitung 86 und drei Leitungen 87 bis 89 mit je neun Einzelleitern
< gemäß dem folgenden Plan umgeleitet. Die Leitung, welche das durch eine Torschaltung hindurchgelassene Bit LD auf der Leitung 77 und die Leitungen, die das erste von vier Bits in jedem durch eine Torschaltung hindurchgelassenen Datenbyte führen, werden in der Leitung 86 vereinigt. Die Leiter, welche in der Leitung 77 das iVD-Bit in der Leitung 78 das
ίο PC1-BIt in der Leitung 79 das PC4-BU und die zweiten Bits der sechs Datenbytes in den Leitungen 80 bis 81 führen, werden in der Leitung 87 vereinigt. Die Leiter, die die Signale SC1, PC2, PC5 und das dritte Datenbit jedes Datenbytes führen, werden in der Leitung 88 vereinigt. Schließlich werden die Leiter, die die Signale 5C2, PC3, PC6 und die vierten Bits jeden Datenbytes führen, in der Leitung 89 vereinigt. Die Leitungen 86 bis 89 führen jeweils zu einer Von vier Oder-Schaltungen, die alle mit 90 bezeichnet sind. Die vier Ausgänge dieser Oder-Schaltungen werden als Leitung 61 zu der Verbindungsschaltung 62 geführt, welche zwölf Gruppen von nicht gezeigten Und-Schaltungen, vier Und-Schaltungen jeder Gruppe, enthält. Die zwölf Gruppen von Und-Schaltungen in der Verbindungsschaltung 62 werden nacheinander zyklisch durch entsprechende Ausgangssignale ARICl bis ARIC12 eines 12stufigen Eingabezählers ARIC für die Zusammenführungsschaltung in F i g. 7 vorbereitet. Der Eingabe-Zähler ARIC wird nur dann weitergeschaltet,, wenn ein nichtredundantes Informationsbyte über die Verbindungsschaltung 62 (d. h. nach jedem Impuls AC1 und nach ungeraden Impulsen AC3 bis AC11) zugeführt wurde. Wenn ein redundantes Byte (SC oder PC Steuerleitung auf 1) durch den AC-Zähltr adressiert wird, so notiert die Verbindungsschaltung 62 nur die Zeit, in ihrer gegenwärtigen Position aber sie läßt die Information nicht hindurch. Somit werden, da die zwölf Gruppen von Ausgangssignalen der Verbindungsschaltung 62 mit je einem von zwölf 4stufigen Unterregistern des Registers 50 verbunden sind, nur die nichtredundanten Informationsbytes aufeinanderfolgend im Register 50 abgespeichert.
In entsprechender Weise werden zwölf Und-Schaltungen (nicht dargestellt) innerhalb der Verbindungsschaltung 64 durch je eines der Signale ARICl bis ARIC12 gesteuert, um ein Signal von einer Eingangsleitung 94 zu einer von zwölf Ausgangsleitungen 95 zu übertragen. Die Leiter 95 führen zu Eingängen des 12stufigen Formatregisters 52. Die Ausgänge dieses Formatregisters sind mit FR1 bis FR12 bezeichnet. Das Signal auf Leitung 94 ist durch die Schaltung 96 bis 99 wie folgt bestimmt. Die Eingangssignale zur Und-Schaltung 96 sind das Signal ^4C1 und dessen Komplement aus dem Zähler für die Zusammenführungsschaltung und den Signalen LD nicht des LD-Bit-Signals. Die Und-Schaltung 98 wird durch AC3 und das Ausgangssignal SC1 nicht des Inverters 82 gesteuert und die Und-Schal-
tung 99 wird durch AC5 und das Ausgangssignal SC2 des Inverters 82 gesteuert. Die Signale SV1, SV2 und ZZ) bleiben während eines wesentlichen Teiles jedes Zählzyklus konstant, aber werden somit jeweils nur an den Zählstellen AC1, AC3 und AC5 geprüft.
Bei dem Beispiel der Tabelle 2 wird es nunmehr klar, daß ein 1-Signal gemäß den Bedingungen zur Leitung 94 zu den Zeiten AC1, AC3 oder AC5 übertragen wird, wodurch die Übertragung eines 3-Bit-
15 16
Bytes über die Schaltung 60 gekennzeichnet wird, rungsschaltung 4, der Ausgabepuffer 5 und der Bandwenn keine Daten zur Zeit AC1 verlorengegangen speicher 6 als Kästen dargestellt, während anderersind, oder wenn das sekundäre Code-Bit 5C1 oder seits der Eingabepuffer 2 und die Koordinierungs- SC2 zur ZeitAC3 oder AC5 Null ist. Andernfalls Steuerungen 7 genauer veranschaulicht sind,
bleibt das Signal auf Leitung 94 Null. Damit wird 5 Der Eingabepuffer 2 besteht wie Fig. 7B zeigt, das Formatbit, das im Formatregister 52 gespeichert aus einer Verbindungsschaltung 141 für »26 zu 26 ist, nur eine Eins sein, während ein 3-Bit-Byte aus 156«, sechs 26stufigen Eingabepufferregistern (PC1-3, PC4-6 oder ein Synchronisierungsbit TD und 142 und einer Verbindungsschaltung 143 für »26 aus 1SC12) gleichzeitig über die Verbindungsschaltungen 156 zu 26«. Die Informationen werden in aus 26 Bits 60 und 62 übersetzt wird. 10 bestehenden Gruppen aus der 24adrigen Quellendaten-Sammelleitung 144, der »Verlorene-Daten«-
Pufferung der Ausgabeinformationen und Format- Eingangsleitung 145 (LD) und der »Keine-Daten«-
verdichtung Leitung 146 (ND) entnommen und nacheinander
durch die Verbindungsschaltung 141 in die 26stufi-
Wie aus Fig. 6 hervorgeht, fließen die Informa- i5 gen Eingangspufferregister 142 übertragen. Die Vertionen vom Ausgang des Zusammenführungsregisters bindungsschaltung 141 wird durch sechs einander 50 über eine Verbindungsschaltung 110 mit 48 Ein- ausschließende Eingabezählsignale RIC1 _e gesteuert, gangen und einem Ausgang, eine Verbindungsschal- Die in den Pufferregistern enthaltenen Informationen tung 111 mit einem Eingang und sechs Ausgängen, werden in zyklischer Folge zu der 26adrigen Auseine Auswahlschaltung 112 und eine Verbindungs- 20 gabesammelleitung 15 über die Verbindungsschaltunschaltung 113 für »6 zu 6 aus 48« in eins von acht gen 143 übertragen, die durch sechs Entnahmezähl-6stufigen Ausgabepufferregistern, die durch das Sym- signale AOC1-6 gesteuert werden. Weiterhin werden, bol 114 dargestellt sind. Jedes Ausgabepufferregister wie es in der Besprechung von F i g. 2 bis 6 vorkann daher ein parallel auf sechs Spuren des Aus- stehend erläutert worden ist, die Daten durch den gabebandes aufzuzeichnendes 6-Bit-Zeichen spei- 25 Codierer 3 (Fi g. 2) codiert, durch die Zusammenchern. Die Ausgangssignale der Register 114 gelan- führungsschaltung 4 (Fig. 5), die wahlweise aus drei gen über eine Verbindungsschaltung 115 für »6 aus Bits bestehende Primärcodebytes aus vier Bits be-48 zu 6« direkt in den Bandspeicher 6 (Fig. 1), und stehende Datenbutes unter der Steuerung der Sekunzwar über die aus sechs Leitungen bestehende Sam- dar- und Primärsteuercodes ausscheidet, zusammenmeileitungllö. Die Verbindungsschaltungen 113 und 30 geführt und in Einheiten zu je sechs Bits, die einer 115 mit je acht Stellen werden in relativ asynchronen wahlweisen Löschung (Formatverdichtung) von zyklischen Folgen abgetastet durch die zyklischen »Uninteressant«-Bits unterzogen werden, über die Zählsignale BRIC (für »Buffer Read In Count«) und in F ig. 6 dargestellten Ausgabedatenpuffer 114 in BROC (für »Buffer Read Out Count«), die über den Bandspeicher 6 übertragen.
8adrige Steuersammelleitungen 118 bzw. 119 geleitet 35 Die Zeitsteuerungseinrichtungen, die die Auswahl werden. Die Verbindungsschaltung 111 wird zyklisch und Übertragung von Daten aus der 26adrigen Eindurch 48 Zählsignale AROC (für Assembly Read gabesammelleitung 144 bis 146 zu der 6adrigen Out Count«) null bis 47 abgetastet, wie es bei 121 Ausgabesammelleitung 150 in zueinander asynchroangedeutet ist. Gemäß Fig. 7 und der nachstehen- nen Zyklen steuern, bestehen aus dem Eingabezähden Erläuterung dienen die Ausgangssignale des For- 40 ler (RIC) 151, dem Ausgabezähler (ROC) 152, matregisters 52 zur Steuerung des Fortschaltens von dem Zusammenführungszähler (AC) 153, dem Zu- TRIC an den »Uninteressant«-Abtaststellen der Ver- sammenführungseingabezähler (ARIC) 154, dem bindungsschaltung 110. Tatsächlich wird jeder TRIC- Zusammenführungsentnahmezähler (AROC) 155, Impuls, der ein »Uninteressant«-Bit aus dem Zusam- dem Bandeingabezähler (TRIC) 156, dem Puffermenführungsregister 50 in eins der Bandpufferre- 45 eingabezähler (BRIC) 157 und dem Pufferentgister 114 weiterleiten könnte, unterdrückt, und da- nahmezähler (BROC) 158. Darüber hinaus steuern durch wird das Fremdbit aus dem Strom von Aus- ein Zeichenzähler 159 und ein Wortzähler 160 die gabeinformationen gelöscht. Bezüglich der Bespre- Umordnung der in eine kompakte Form gebrachten chung von Tabelle 2 und Fig. 5 sei darauf hinge- Bandaufzeichnungen in Blocks zu je 4098 6-Bit-Zeiwiesen, daß solche Fremdbits mit denjenigen koinzi- 50 chen, von denen die letzten drei die Zahl der nichtdieren, die bei den AC-Zählständen AC1, AC3 und verdichteten Wörter darstellen, die den ersten 4088 AC5 bedingt in das Zusammenführungsregister 50 6-Bit-Zeichen des verdichteten Blocks entsprechen, eingegeben werden. Bei der Rekonstruktion jedes Blocks kann also die
Daher müssen die Schaltungen 110, 111 und 113 Gültigkeit der rekonstruierten Daten in einfacher
so arbeiten, daß die der Reihe nach den Inhalt des 55 Weise dadurch geprüft werden, daß die aufgezeich-
Zusammenführungsregisters 50 bitweise in aufeinan- nete Zahl von Wörtern (Zeichen 4096 bis 4098) mit
derfolgende Stufen des Bandpufferregisters 114 über- der tatsächlichen Zahl von rekonstruierten Wörtern,
tragen, wobei Fremdbits unter der Steuerung der die erlangt wird, verglichen wird.
Ausgangssignale des Formatregisters bedingt über- Die drei Paare von bedingt weitergeschalteten Takt-
sprungen werden. 60 zählern RIC und ROC, ARIC und AROC, BRIC
„ . .. , „ und BROC führen bezüglich der durch die Schal-
Zeithche Steuerungen tungen2 bis 5 fließenden Informationen entgegen-
Wie aus Fig. 7A und 7B hervorgeht, werden gesetzte Funktionen aus. Das heißt, die bedingt wei-
alle vorstehend genannten Operationen wie folgt ge- tergeschalteten 6stufigen Zähler RIC und ROC steu-
steuert und kodiert: In Fig. 7A ist das in Fig. 1 65 era die Eingabe von Informationen in die bzw. die
allgemein dargestellte System detaillierter veran- Entnahme von Informationen aus den sechs 26stufi-
schaulicht, und zwar sind hier die vorstehend be- gen Eingabepufferregistern 142; der 12stufige Zähler
schriebene Codiereinrichtung 3, die Zusammenfüh- ARIC und der 48stufige Zähler AROC steuern die
Eingabe von Informationen in das bzw. die Entnahme von Informationen aus dem Zusammenführungsregister 50 (s. F i g. 5 und 6); und die 8stufigen Zähler BRIC und BROC steuern die Eingabe von Informationen in die bzw. die Entnahme von Informationen aus den acht 6stufigen Bandpufferregistern 114 (F i g. 6). Da diese Zählerpaare nicht zueinander synchron sind, ist ein besonderes Eingreifen immer dann erforderlich, wenn der eine den anderen überholt, damit die Informationsfolge in dem Ausgabestrom und damit die Rekonstruierbarkeit der verdichteten Informationen erhalten bleiben. Für jedes Zählerpaar sind daher »Renn«-Überwachungsschaltungen vorgesehen, die feststellen, ob Überholbedingungen bevorstehen, und diese verhindern. Für das Zählerpaar RIC und ROC besteht die entsprechende »Renn«-Überwachungsschaltung aus den beiden Und-Schaltungen 170 und 171, für ARIC und AROC ist die Überwachungsschaltung 172 vorgesehen, und für das Paar BRIC und BROC ist die entsprechende »RennÄ-Uberwachungsschaltung mit 173 bezeichnet.
Die Zähler AC, ARIC, AROC und TRIC zählen bedingt die 2-MHz-Taktimpulse CC, die auf der Sammelleitung 175 erscheinen. Die Phasenteiler 176 und 177 unterteilen jeweils die Taktimpulse CC in ungerad- und geradphasige Impulse, so daß die Zähler/ί C und TRIC mit einer Höchstfrequenz von 4 MHz und die Zähler ARIC und AROC mit einer Höchstfrequenz von 2 MHz weitergeschaltet werden. Der Zähler BRIC wird für jeden Umlauf des Zählers TRIC einen Schritt weitergeschaltet, falls aus dem Bandspeicher kein »Aufzeichnungs-Ende«-Signal (EOR) kommt. Bei jedem Schritt TRIC13 des Zählers TRIC wird also die Und-Schaltung 178 durch EÜ7? und TRIC13 in den Stand gesetzt, Zähler BRIC zu betätigen. Ebenso wird der Zähler ROC für jeden Umlauf des Zählers AC einmal betätigt über die zwischen ^4C20 und den Weiterschalteingang von ROC liegende Und-Schaltung 179, die nur betätigt wird, wenn auf Leitung 180 kein »Keine-Daten«-Signal vorliegt. Der Wortzähler 160 schaltet für jeden Umlauf von Zähler AC (zur Zeit AC1) je einmal weiter, und der Zähler RIC schaltet bedingt weiter auf Taktimpulse hin, die von der Datenquelle 1 (Fig. 1) geliefert und durch die Verzögerungsschaltungen 182 und 183 verzögert werden, wenn die Und-Schaltung 184 durch das Nichtvorliegen eines Ausgangsimpulses aus der Oder-Schaltung 185 vorbereitet ist. Schließlich werden der Zähler BROC und der Zeichenzähler 149 (CRC) auf Bandzeitimpulse TC hin weitergeschaltet, die vom Speicher 6 auf Leitung 187 synchron mit der Speicherung von 6-Bit-Zeichen auf dem Band abgegeben werden.
Beginnend am Eingabeende wird die Steuerung des Flusses von Signalen von den Sammelleitungen 144 bis 146 zur Sammelleitung 15 wie folgt bewirkt: Zu Beginn jeder Aufzeichnung werden die Zähler RIC und ROC in den Zustand RIC1 bzw. ROC1 gebracht und ermöglichen dadurch den Anschluß der Leitungen 144 bis 146 an die Eingänge eines ersten 26stufigen Registers 142 und der Leitungen 15 an die Ausgänge desselben Registers. Die Ausgangsverbindungen werden bedingungslos hergestellt, und die Eingabedatenverbindungen werden nur dann hergestellt, wenn ein Taktimpuls aus der Datenquelle über die Und-Schaltung 190 zu der Verbindungsschaltung 141 gelangt. Eine sperrende Steuerung der Und-Schaltung 190 erfolgt durch ein »Volk-Ausgangssignal aus der Und-Schaltung 170, die an die Ausgänge der /VD-Bit-(Kennzeichen-Bit)-Speicherstufen aller Register 142 angeschlossen ist. Wenn diese Stufen gleichzeitig »O«-Kennzeichenbits enthalten, gibt die Und-Schaltung 170 ein »Volk-Signal i ab. Wenn die gleichen Stufen gleichzeitig »!«-Kennzeichenbits enthalten, erzeugt die Und-Schaltung 171 ein »Leer«-Signal. Kennzeichenbits »0« werden immer dann eingeführt, wenn Quellendaten von den
ίο Leitungen 144 aus über die Verbindungsschaltung 141 geleitet werden, und Kennzeichenbits »1« werden unmittelbar vor Zustandsänderungen des Zählers ROC bei AC19 eingeführt.
Solange also kein »Volk-Zustand besteht, werden die Schaltungen 141 von dem Taktgeber betätigt und übertragen Daten von der Sammelleitung 144 aus in entsprechende Stufen der Register 142, die entsprechend dem Zustand des Zählers RIC1 ausgewählt werden, und während des Umlaufs des Zählers AC werden die Register 142 der Reihe nach entleert.
LD-Bits werden bedingungslos durch den Taktgeber aufgesetzt und durch die Verzögerungsschaltung 182 verzögert, so daß selbst dann, wenn eine Datenübertragung durch das Bestehen eines » VoIk-Zustandes verhindert wird, ein LD-Bit in ein entsprechend dem Zustand des Zählers RIC ausgewähltes Register 142 eingeführt wird. Das so eingestellte LD-Bit ist Eins oder Null in Abhängigkeit davon, ob das Ausgangssignal der Und-Schaltung 170 einen »Volk-Zustand anzeigt oder nicht, da der LD-Bit-Eingang direkt an den »Volk-Ausgang angeschlossen ist. Die Wirkung eines »Volk-Ausgangssignals wird auf dem Wege von der Und-Schaltung 170 zur Oder-Schaltung 185 durch eine dazwischengeschaltete Verzögerungsschaltung 191 so verzögert, daß eine durch ein »Volk-Signal auf die i?/C-Eingabetorschaltung 184 ausgeübte sperrende Steuerung bis nach dem Zeitpunkt verzögert wird, wenn der Taktimpuls, der das entsprechende LD-Bit 1 eingegeben hat, den Zähler RIC weitergeschaltet hat. Der Zähler RIC schaltet also schrittweise weiter, bis alle Pufferregister 142 besetzt sind, und kommt zum Stillstand in dem Zustand, der der Position des nächsten zu füllenden Registers entspricht.
In gleicher Weise schaltet der Zähler RIC bei jedem ^4C20-Impuls einen Schritt weiter, bis alle sechs Kennzeichenstufen im Register 142 gleichzeitig auf Null stehen (leer). Wenn dies eintritt, wird ein FHpflop 193 eingestellt und zeigt damit »Keine-Daten« an. Das Flipflop 193 wird rückgestellt durch ein Λ C21-SIgIIaI, falls das Einstellausgangssignal der Und-Schaltung 171 sich geändert hat. Der Zähler ROC zählt daher weiter, bis in den Puffer-Registern 142 keine Daten mehr zur Verfügung stehen, gelangt dann zum Stillstand unter Hinweis auf das nächste mit Daten zu füllende Register und nimmt den Zählvorgang bedingt wieder auf, wenn der Zähler A C, der, wie noch gezeigt werden wird, unter gewissen Umständen der sperrenden Steuerung durch ein »Keine-Daten«-Signal unterworfen ist, wieder zu zählen beginnt. Tatsächlich wird also immer dann, wenn die Zähler RIC und ROC in entsprechenden Zuständen sind (RIC1 = ROC1), der Zählvorgang entweder von RIC oder von ROC unterbrochen in Abhängigkeit davon, ob zu dem betreffenden Zeitpunkt die Register 142 alle voll bzw. alle leer sind.
Nun sei der Codierer 3 betrachtet (s. F i g. 2 und 7).
19 20
Datenausgangssignale auf der Sammelleitung 15 wer- kleiner als 3 ist) oder PCk (falls k größer als 2 ist) den von ^iC19 eines ^IC-Umlaufs bis AC18 des nach- nicht auf 1 gestellt ist. Wie schon erwähnt, werden, sten Umlaufs konstant gehalten und Steuer-Codeaus- jedoch unter »Keine-Daten«-Bedingungen alle SC-gangssignale auf der 8adrigen Sammelleitung 195 und PC-Bits für die Dauer des ganzen folgenden ACh werden von AC11 eines ^IC-Umlaufs bis ,4C16 des 5 Umlaufs auf 1 festgelegt. Unter diesen Bedingungen nächsten Umlaufs konstant gehalten. Das Signal AC16 schaltet also ARIC nur einmal am Ende der AC1-wird bedingt durch die Und-Schaltung 196 (F i g. 2) Zeit weiter und bleibt während der Zeit A C2 bis geleitet, um die Primärcode-Pufferregister 33 (F i g. 2) ,4C18 im Ruhezustand. Zur Zeit AC19 wird ÄRIC rückzustellen, und AC17 wird bedingt durch die Und- abgeschaltet, und zur ZUtAC1 wird er wieder einschaltung 197 geleitet, um einen neuen Primärcode io geschaltet. ARIC kann also in der Zeit zwischen von der Sammelleitung 32 (F i g. 2) aus in das Re- AC1S bis ,4C1 des folgenden /IC-Umlaufs nicht weigister 33 zu übertragen. AC18 wird bedingt durch die terschalten, und daher wird unter »Keine-Daten«-Be-Und-Schaltung 198 (F i g. 2) geleitet, um das Puffer- dingungen ARIC nur einmal (am Ende der Zeit ,4C1) register 17 rückzustellen, und AC19 wird bedingt in einem vollständigen AC-XJml&ut weitergeschaltet. durch die Und-Schaltung 199 geleitet, um neue Daten 15 Die Verbindungsschaltung 62 (Fig. 5) überträgt also in das Register 17 einzuführen. Die Und-Schaltungen die Ausgangssignale 1111 der Torschaltungen 71 zur 196 bis 199 sind alle einer sperrenden Steuerung ZeItAC1 in ein 4stufiges Teilregister des Registers durch ein »Keine-Daten«-Ausgangssignal aus dem 50 und bleibt dann an das nächstfolgende Teilregister Flipflop 193 unterworfen. Daher wird gegen Ende für den restlichen Teil des ylC-Umlaufs angeschlos- (AC16, -4C17) eines ylC-Zählumlaufs der laufende 20 sen, während O-Ausgangssignale von den Torschal-Primärcode im Register 33 als der alte Primärcode tungen 72 bis 75 abgegeben werden. Tatsächlich wird gespeichert, und zur Zeit AC19, AC20 werden dann daher ein aus 1111 bestehendes »Keine-Daten«-Byte die dem neu gespeicherten Primärcode entsprechen- durch die Schaltungen 60 (F i g. 5) in das Register 50 den alten Daten in das Register 17 unter der Voraus- gesteuert, und die Schaltungen 60 schalten eine Stelle setzung eingegeben, daß das Flipflop 193 nicht das 25 weiter, um an das nächste Byte-Teilregister im Re- »Keine-Daten«-Signal abgibt, d. h. unter der Vor- gister 50 angeschlossen zu werden,
aussetzung, daß dann nicht alle Register 142 leer Da Zähler ARIC durch AC1 ein- und durch AC19 sind. ausgeschaltet wird (Fig. 7), ist die zeitliche Steue-Falls also vor AC16 eines ^C-Zählumlaufs (also rung von Zähler ARIC tatsächlich mit der von Zähvor AC1 desselben Umlaufs, da die Kennzeichen- 30 ler AC koordiniert. Da auch Zähler ROC bedingt rückstellung bei AC19 erfolgt) ein »Keine-Datene-Si- durch AC00 gesteuert wird, ist die Steuerung von gnal vorliegt, behalten die Register 33 und 17 ihren Zähler AC, wie nachstehend im einzelnen erläutert jeweiligen Inhalt für die Dauer eines weiteren AC- wird, kritisch für die leistungsfähige Arbeit der EinUmlaufs bei. Unter den gleichen Bedingungen wird gabepuffer, des Codierers und der Zusammenfühjedoch Zähler ROC zur Zeit AC20 nicht weiterge- 35 rungsschaltung. Wenn der i?OC-Zählstand den RIC-schaltet, und daher bleiben die Daten auf der Sam- Zählstand überholt (keine Daten), kann der AC-melleitung 15 für die Dauer eines weiteren AC-Um- Zählstand trotz des Fehlens von Eingabedaten weiterlaufs unverändert. Die Primärcode-Ausgangssignale schalten (AC »Ein«), jedoch nur dann, wenn sowohl für den nächsten AC-XJmlaui lauten also 111111. Auf das Zusammenführungsregister 50 (Fig. 5) als auch ein MD-Bit 1 hin wird also das Sekundär-Code-Aus- 40 die Ausgabepuffer 114 (F i g. 6) im Begriff sind, leer gangssignal durch nicht dargestellte Mittel für die Dauer zu werden. »Keine-Daten«-Bytes werden daher über des folgenden A C-Umlaufs auf 11 eingestellt. Zur Zeit das Register 50 und die Ausgabepuffer 114 nur dann ,4C19 werden die LD- und ND-(Kennzeichen)-Bits in zum Ausgabeband weitergeleitet, wenn dies absolut dem zuletzt adressierten Register 142 beide auf notwendig ist, und nicht einfach dann, wenn die Ein-1 gestellt. Für jeden ,4C-UmIaUf, während dessen ein 45 gabepuffer 142 (Fig. 7) als erste leer werden. Wenn »Keine-Daten«-Signal vorliegt, sind also die LD-, der i?OC-Zählstand den i?/C-Zählstand nicht über- ND-, SC- und PC-Eingangssignale für die Zusam- holt hat (d. h., wenn einige der Eingabepuffer 142 menführungsschaltung 4 alle 1-Bits. Es läßt sich also noch unverarbeitete Informationen enthalten), kann leicht beweisen, daß nur Torschaltungen 71 (Fig. 5) AC nur dann weiterschalten, wenn die Differenz (Moin der Verbindungsschaltung 60 (Fig.5) der Zusam- 50 dulus 12) zwischen dem ,4Ä/C-Zählstand und einem menführungsschaltung 4 während des folgenden AC- Viertel des ^.ROC-Zählstandes sich auf eine vorUmlaufs (genau zur Zeit AC1) erregt werden muß herbestimmte Ziffer (3) verringert hat. Deswegen und daß daher zur Zeit AC1 die Leitungen 61 alle kann der ,4i?/C-Zählstand nicht um mehr oder we-1-Bits führen und bei den anderen AC-Phasen die niger als zwölf Bitstellen in bezug auf das Zusam-Ausgangssignale auf 61 O-Bits sind. Wie man aus 55 menführungsregister 50 vor dem /l-ROC-Zählstand den Eingangssignalen für die Und-Schaltung 200 liegen, ohne daß der /IC-Zähler eine Korrektur vor-(F i g. 7) schließen kann, wird Zähler ARIC bedingt nimmt.
durch die Impulse weitergeschaltet, welche AC in Der Zähler AC wird durch ein Ausgangssignal der
geradzahlige Zustände weiterschalten, und zwar je Und-Schaltung 210 eingeschaltet. Die Und-Schaltung
nach den Werten bestimmter 5C- und PC-Bits bei 60 210 wird durch das Ausgangssignal FC des »Niedrige-
bestimmten der ungeradzahligne Zustände von AC, Daten«-Flipflops 172 und das Ausgangssignal der
insbesondere der ungeradzahligen Zustände AC3 bis Oder-Schaltung 211 gesteuert. FC wird durch ein
AC17 (oder kurz der Zustände AC2;+1; / = 1 bis 8). Ausgangssignal der Oder-Schaltung 212 ein- und
Bei jedem dieser letztgenannten Zustände, z. B. beim durch das Ausgangssignal des 2. Schrittes eines
Zustand AC2 k +1 (wobei k eine beliebige ganze Zahl 65 4-Schritt-Zählers 213 ausgeschaltet, der ARIC-
von 1 bis 8 ist), wird Zähler ARIC durch das »Schalte- Schrittschaltimpulse zählt, wenn die Und-Schaltung
AC-in-geradzahligen-Zustand«-Signal nur dann wei- 214 betätigt ist. Die Und-Schaltung 214 wird betä-
tergeschaltet, wenn das entsprechende SCk (falls k tigt durch das Fehlen eines »Allgemeine-Rückstel-
Iung«-Signals, wenn AC eingeschaltet ist. Ein »Allgemeine-Rückstellung«-Signal tritt auf, wenn die Oder-Schaltung 215 entweder durch das dem 4097-Zustand entsprechende Ausgangssignal des Zeichenzählers 159 oder durch ein Aufzeichnungsanfang-Signal (SOR) aus dem Bandspeicher 6 erregt wird. Die Oder-Schaltung 212 wird entweder durch ein »Allgemeine-Rückstellung«-Signal oder durch ein Signal erregt, das durch den folgenden Booleschen Ausdruck dargestellt wird: s. Seite 37, Zeilen 6 bis 8 der USA.-Beschreibung).
Da sich ARIC bekanntlich gegenüber dem Zusammenführungsregister 50 um jeweils vier Schritte weiterbewegt (d. h. ARIC1 adressiert die Bitstellen 4r4 bis 4rl des Zusammenführungsregisters) und AROC sich um jeweils einen Schritt weiterbewegt (AROCj adressiert die Bitstelle / des Zusammenführungsregisters), geht aus dem Vorstehenden hervor, daß dann, wenn AROC um genau acht Bitstellen hinter ARIC zurückliegt oder wenn ein »Allgemeine-Rückstellung«-Signal auftritt, eine »Niedrige-Daten«- Bedingung (Fc) eingestellt wird und für die Dauer von zwei ^jR/C-Zählschritten (oder zwei solchen Schritten nach Beendigung eines »Allgemeine-Rückstellung«-Signals) bestehenbleibt.
Die Oder-Schaltung 211 wird erregt durch ein Signal »Keine-Daten« (nicht »Keine-Daten« oder durch das Ausgangssignal Fb der logischen Schaltung 173, welches anzeigt, daß BROC droht, BRIC zu überholen. Wenn also Daten in den Eingabepuffem 142 zur Verfügung stehen, liegt das Signal »Keine^ Daten« vor, und wenn die Daten in den Ausgabepuffern 114 (F i g. 6) zur Neige gehen (Fb) und eine Zuführung von Daten zum Zusammenführungsregister 50 nötig ist (Fc), wird AC eingeschaltet und führt seine Operationsfolge aus.
Ausgeschaltet wird AC durch ein Ausgangssignal der Oder-Schaltung 220, die auf ein Ausgangssignal aus einre der beiden Und-Schaltungen 221 oder 222 anspricht. Die Und-Schaltung 221 wird erregt durch Tc (nicht »niedrige Daten«) und AC20, während die Und-Schaltung 222 auf AC01 und ein Signal anspricht, das während der Dauer des Zählens von Ausgangszeichen CRC 4088 bis CRC 4094 des Zählers 159 besteht. AC wird daher gegen Ende seines Umlaufs (^C20 oder AC21) ausgeschaltet, falls entweder ARIC seit dem Aufsetzen des Signals »Niedrige Daten« (Fc) zwei Schritte weitergeschaltet hat (Fc) oder die Speicherung eines Bandblocks kurz vor ihrem Abschluß steht (CRC 4088 bis CRC 4094). Im wesentlichen schaltet daher AC nur dann weiter, wenn in den Zusammenführungs- und Ausgabepufferregistern ein Datenvorrat benötigt wird.
Da ARIC zur Zeit /4C18 aus- und zur Zeit AC22 einschaltet, arbeitet auch er nur unter den für AC angegebenen Bedingungen und darüber hinaus nur auf Ausgangssignale der Und-Schaltung 200 hin. Diese werden nur beim Vorliegen der »/4C-auf-geraden-Zählstand-weiterschalten«-Impulse erzeugt, welche AC aus ungeradzahligen zu geradzahligen Zuständen weiterschalten, jedoch unter der Voraussetzung, daß dann, wenn der Zustand von AC ein ungeradzahliger Zustand von 3 bis 17 ist, ein entsprechendes Steuerbit 5C112, PC1.6 eine Null ist. Gemäß Fig. 5 schaltet also immer dann, wenn eine der Gruppen von Torschaltungen 72 bis 75 nicht auf den zugeordneten ungeradzahligen /IC-Impuls anspricht, ARIC nicht weiter, und daher werden getastete Datenbytes nur in aufeinanderfolgende Teilregister des Zusammenführungsregisters 50 eingegeben.
Beim Entleeren des Zusammenführungsregisters 50 unter der Steuerung von Zähler AROC ist zu beachten, daß Zähler AROC nur eingeschaltet wird, wenn die Und-Schaltung 225 erregt ist. Dies erfolgt nur, wenn Zähler TRIC im Aus-Zustand ist und Zähler BRIC nicht dabei ist, Zähler BROC zu überholen (Fa) und der Ausgang der logischen Schaltung
ίο 226 erregt ist. Die Schaltung 26 spricht auf die Signale AC aus, Fc, Fb, »Keine-Daten« und »Zähle 2. /1/UC-Schritt« gemäß der folgenden Booleschen Funktion an: (AC aus + Fc+»Zähle 2. ARIC-Schritt«) · (AC aus + Fb + »Keine-Daten«). So erzeugt die Schaltung 225 z. B. ein hohes Aüsgangssignal, wenn AC aus ist oder wenn AC im Ein-Zustand ist und Eingangsdaten in den Eingabepuffern zur Verfügung stehen (»Keine-Daten«) oder wenn Daten im Zusammenführungsregister 50 verfügbar sind (Fc) und Zähler BROC dabei ist, Zähler BRIC zu überholen (F2>), und so fort. Zähler AROC arbeitet also nur beim Vorliegen einer Anzeige (Fa), daß ein Datenvorrat von den Ausgabepuffern angenommen werden kann, während gleichzeitig damit andere Anzeigen gegeben werden, daß Daten derart zugeführt werden können und tatsächlich benötigt werden. Ausgeschaltet wird Zähler AROC durch das Ausgangssignal der Oder-Schaltung 227 (»Allgemeine Rückstellung« oder TRICn). Zähler AROC wird also gegen Ende jedes TÄ/C-Umlaufs und während der Rückstellung, die mit dem Beginn jeder neuen Aufzeichnung oder jedes neuen Aufzeichnungsblocks verbunden ist, ausgeschaltet.
Schließlich wird Zähler TRIC eingeschaltet durch AROCPin und ausgeschaltet durch die Oder-Schaltung 228, die auf das Ausgangssignal y>AROCail:; ■ TRIC 14« der Und-Schaltung 229 oder auf das »Allgemeine-Rückstellung«-Signal anspricht. Tatsächlich folgt also Zähler TRIC beim Ein- und Ausschalten auf Zähler AROC. Außerdem wird TRIC in gerad- und ungeradzahlige Zustände weitergeschaltet durch Ausgangssignale des Phasenteilers 177, die über Und-Schaltungen 230 bzw. 231 geleitet werden. Diese Schaltungen werden gemeinsam gesteuert durch:
FR1 ■ AROCn + FR2 ■ AROC 4 + ...+Fi^ + 1- AROC\ , + .. . + Fr12 · AROCu;
dies bedeutet, daß Zähler TRIC am Weiterschalten gehindert wird, wenn eine Formatanzeige im Register 52 (F i g. 5) so eingestellt ist, daß sie ein 3-Bit-Byte im Zusammenführungsregister 50 darstellt, dessen erstes Bit (»Uninteressant«) zu dieser Zeit von AROC adressiert wird. Die Fremd- oder »Uninteressant«- Bits werden daher ausgemerzt.
Um nun die vorstehenden Ausführungen zu unterstreichen, sei als Beispiel die Aufzeichnung eines Blocks von 4088 verdichteten 6-Bit-Zeichen betrachtet, und zwar des ersten Blocks einer aus mehreren Blocks bestehenden Aufzeichnung. Wenn das Band die Aufzeichnungsgeschwindigkeit erreicht, wird ein »Aufzeichnungsanfang«-Signal (SOR) abgegeben. Dieses setzt über hier nicht gezeigte Mittel die Datenquelle in den Stand, den Haupttakt und die Datensignale abzugeben sowie ein »Allgemeine-Rückstellung«-Signal über die Oder-Schaltung 215 zu erzeugen. Durch das »Allgemeine-Rückstellung«-Signal werden das Zusammenführungsregister auf lauter Nullen, der /IC-Zähler auf den Zustand ^iC22, die
RIC- und ZiOC-Zähler auf ZiZC1 bzw. ROC1, der ARIC-Zählei auf ARIC1, der AROC-Zähltr auf AROC0, die ÄRZC- und 5/?OC-Zähler auf BRIC0 bzw. BROC0, der Wortzähler auf den Zustand Null und der Zeichenzähler auf CRC1 rückgestellt.
Jetzt sendet der Bandspeicher 5 vorläufige Zeitsteuerimpulse TCA, die über die Oder-Schaltung 235 BROC weiterschalten, wodurch dem Band fünf O-Zeichen zugeführt werden. Gewöhnlich wird mit jedem 6-Bit-Zeichen, das auf dem Band gespeichert wird, ein siebtes Gerade-Parität-Bit auf einer siebten Spur gespeichert, so daß gewöhnlich ein Null-Zeichen mit einem Paritätsbit 1 zusammen gespeichert wird. Die durch 2TM abgetasteten fünf Zeichen werden jedoch mit dem Paritätsbit Null gespeichert und erscheinen daher als Leerraum auf dem Band. Dies hat zur Wirkung, daß BROC gegenüber BRIC fünf Stellen weitergeschaltet wird. Wenn der Zähler um nur eine oder zwei Zählstellen vor Zähler BRlC liegt, gibt die logische Schaltung 173 das Signal Fa ab (BRIC nähert sich BROC), und wenn Zähler BROC so steht, daß er sich dem Zustand des Zählers BRIC von hinten um zwei oder drei Zählstellen nähert (BROC nähert sich BRlC), tritt das Signal Fb auf. Wenn also Zähler BROC auf BROC5 und Zähler BRIC auf BRIC0 stehen, erscheint Fb.
Mit dem SOR begleitenden »Allgemeine-Rückstellunge-Signal wird die Selbsthalteschaltung (latch) 172 auf Fc (Niedrige Daten) eingestellt, und daher können die Zähler AC und ARIC mindestens um zwei y4Z?ZC-Schritte weiterschalten. Wenn alle Eingabepuffer leer sind (»Keine-Daten«), weil keine Quellendaten- und -taktsignale vorliegen, wird Zähler A C eingeschaltet durch Signale Fb (da BROC sich BRlC genähert hat) und Fc und führt zwei Umläufe aus, um zwei »Keine-Daten«-Bytes (1111) zu speichern, woraufhin die Selbsthalteschaltung 172 abschaltet (Fc). Da aber der Zähler ARIC um zwei Byte-Zählstellen weitergeschaltet worden ist, liegt er um genau acht Bitstellen des Zusammenführungsregisters vor dem Zustand des Zählers AROC, und daher wird die Selbsthalteschaltung 172 sofort wieder eingeschaltet. AC bleibt also im Ein-Zustand und läuft für mindestens zwei weitere /lZ?ZC-Zählstellen weiter.
Wenn bald nach SOR (»Keine-Daten«) Daten in den Eingabepuffern zur Verfügung stehen, findet die gleiche Weiterschaltung von Zähler AC für die Dauer von mindestens vier /iZ?/C-Zählstellen statt, aber diesmal schaltet ARIC bei jedem ungeradzahligen ^IC-Schritt von AC3 bis AC11 bedingt weiter, so daß mindestens vier der sieben Bytes des ersten codierten Eingabewortes in das Zusammenführungsregister gelangen. Während dieser Vorgänge beginnt Zähler AROC zu laufen, sobald der zweite ^ZiZC-Schritt gezählt wird, und daher halten die Zähler ARIC und AROC Schritt, um einen ARIC-Vorsprung von acht Bits aufrechtzuerhalten und dadurch Fc fortzusetzen. Dieser Vorgang mit den Zählern AC, ARIC, AROC, TRIC und BRIC, die bedingt weitergeschaltet werden, setzt sich fort, um einen Vorrat an bedeutsamen Informationszeichen in den Ausgabepuffern aufrechtzuerhalten. Immer wenn alle Eingabepuffer voll sind (»Verlorene Daten«), wird ein LD-Bit 1 in dem zuletzt adressierten Eingabepuffer zusammen mit einem /VD-BitNull eingegeben, und die Kombination 10 zeigt einen Datenverlust nach dem Ausgabewort, in dem sie auftritt, an. Wnen keine Daten verlorengegangen sind und nicht alle Puffer leer sind, werden die Bits LD und ND beide auf Null gesetzt, und bei der Verarbeitung der resultierenden Kombination o, o, SC1, SC2 löschen die Formatsteuerungen die erste Null. Falls alle Eingabepuffer leer sind und der Zähler AC weitergeschaltet wird, werden LD, ND, SC1 und SC0 alle auf Eins gestellt und PCX_Ü sind gleich Eins, dank der Sperrung der Codierregister-Rückstellungen bei AC16 bis AC19, so daß unterscheidende »Keine-Daten«-Bytes (1111) zu den Ausgabepuffern weitergeleitet werden.
Wenn das 4088. 6-Bit-Zeichen des Blocks auf dem Band registriert wird und AC seinen dann laufenden Umlauf abgeschlossen hat, schalten die Torschaltungen 220 und 222 um. Die Zähler AC und ARIC werden auf ARIC1 und Zähler AROC auf AROC0 gestellt, und das Zusammenführungsregister 50 wird auf Null rückgestellt; all das wird durch hier nicht gezeigte Mittel bewerkstelligt.
Infolgedessen wird eine Folge von »Null«-Zeichen durch AROC zu den Band-Ausgabepuffern geleitet, bis der Zeichenzählstand 4095 registriert wird. Zwischen den Zeichenzählständen 4094 und 4097 wird dann der Wortzählstand im Zähler 160 durch die Auswählschaltungen 112 abgetastet und in die Verbindungsschaltungen 113 (F i g. 6) eingegeben. Die Auswählschaltungen 112 bestehen aus sechs Oder-Schaltungen, die die Wortzählstandbits direkt den Null-Bits überlagern, die zu dieser Zeit aus dem rückgestellten Zusammenführungsregister kommen, wobei die Bitauswahl des Wortzählstandes über nicht gezeigte Mittel durch die y4Z?OC-Zeitausgangssignale gesteuert wird.
Wenn nun der Zähler AC im Aus-Zustand ist, werden die Zähler AROC und TRIC im Umlaufen gehalten, bis sich Zähler BRIC dem Zustand des Zählers BROC nähert (Fa), und daher hält der Zähler AROC den Zähler BRIC zwei Schritte hinter dem Zustand des Zählers BROC, so daß die von CRC 4094 bis CZ?C4097 abgetasteten Informationen über den Wortzählstand während der letzten drei Zeichenzählstände 4095 bis 4098 auf dem Band aufgezeichnet werden.
Bei CRC 4098 (CRC 4097+) stellt das »Allgemeine-Rückstellung«-Signal die oben angegebenen Bedingungen für SOR her, und es beginnt die Aufzeichnung eines neuen Blocks.
Besonders zu beachten ist, daß das soeben beschriebene Zeitsteuerungssystem für viele verschiedene Quellen- und Speicherfrequenzen wirksam ist, trotz der den verschiedenne Zählern auferlegten Beschränkungen, Zum Beispiel können 729 Bandeinheiten mit Frequenzen von 20 000 bis 90 000 Zeichen/sec aufzeichnen, und es ist zu erwarten, daß Datenquellen (Computer) des für die in F i g. 7 gezeigte Anwendung in Betracht gezogenen Typs Programmadresseninformationen (Eingabedatenwörter) in Abständen von nur 250 nsec (1A ^sec) und in Abständen von 1 msec erzeugen können je nach den Bedingungen der Programmausnutzung. Trotzdem läßt das System von F i g. 7 Eingangssignalstöße, die die Umlauf frequenz von Λ C überschreiten, durch Datenverluststeuerung sowie Eingabebedingungen, die zur Entleerung aller Eingabepuffer führen (»Keine-Daten«) außer acht. Der Zähler AC schaltet bedingt weiter auf die Ausgangssignale des Phasenteilers 176 hin, und zwar mit einer Höchsfrequenz von 4 Millionen Schritten/sec oder V22 Millionen AC-Umläufen/sec (oder etwa 182 000 Hertz). AC kann
ίλπ mn
also maximal 182 000 Eingangswörter zu je 24 Bits pro Sekunde durch den Codierer 3 leiten. Die Höchstleistung wird erreicht, wenn dafür gesorgt wird, daß der Zähler AC mit Höchstgeschwindigkeit arbeitet. Dies kann nur geschehen, wenn das Band das Äquivalent von 182 000 Eingabewörtern/sec aufzeichnet, während die Quelle mindestens 182 000 Wörter/sec abgibt. Bei einem mit einer Höchsfrequenz von 90 000 Zeichen/sec arbeitenden Band und einem durchschnittlichen Bitverdichtungsverhältnis von drei zu eins zwischen Ausgabe und Eingabe, das durchaus wahrscheinlich ist, würde das Band das Äquivalent von 18-90 000 Eingangsbits/sec oder 18Am · 90 000 = 67 500 Eingangswörter/sec aufzeichnen. Der Zähler AC könnte also mit einem Drittel seiner Frequenzkapazität im Durchschnitt betrieben werden und dabei mindestens dreimal so viele Informationen zum Band liefern, wie ohne Verdichtung aufgezeichnet würden, während gleichzeitig Eingabedaten außer acht gelassen werden, die er infolge von Frequenzbeschränkungen nicht verarbeiten kann.
Es gibt zur Zeit Bandaufzeichnungseinheiten, die 170 000 Acht-Bit-Zeichen/sec oder 8/e · 170 000 (= etwa 226 000) Sechs-Bit-Zeichen/sec auf zeichnen können. Für besondere Anwendungen könnten solche Bandeinheiten also das Äquivalent von etwa 18Au · 226 000 (= 169 500) 24-Bit-Eingabewörtern/ sec assimilieren und dadurch AC nahe an der Spitzenfrequenz betreiben, wenn die Zuführungsfrequenz der Quellenwörter ausreichend ist.
Auf jeden Fall kann jedoch das System von F i g. 7 zwischen fast jeder zur Zeit erhältlichen Serienspeichereinheit und jeder Datenquelle mit einer über der Bitfrequenz des Speichers liegenden maximalen Bitfrequenz eingeschaltet werden, und es erzeugt eine Echtzeit-Aufzeichnung, deren Informationsgehalt mindestens doppelt so groß ist wie der in einer ohne Verdichtung erzeugten Aufzeichnung.
Vielleicht noch bedeutsamer ist es, daß das vorstehende Verdichtungsschema, bei dem der Primärcode durch Sekundärcodierung noch weiter verdichtet wird, das Bitverhältnis zwischen Ausgabe und äquivalenter Eingabe gegenüber demjenigen, das bei Verwendung nur eines Primärcodes erreicht würde, deutlich vergrößert.
Die Anwendung dieses Prinzips auf andere gleichwertige Schemata für die asynchrone Verarbeitung von Daten zwischen Quellen (Computer)-Puffern und Bestirnmungs(Band)-Puffem ist selbstverständlich möglich. Wichtige Faktoren, die die Leistung und die Wirksamkeit der oben beschriebenen Anordnung beeinflussen, sind die Frequenz des gemeinsamen Taktschwingers (CC). Diese muß größer sein als die grundlegende Zeichen-(Sechs-Bit)-Schreibfrequenz des Bandspeichers (z. B. mindestens zehnmal so groß wie die Zeichenfrequehz) und die durchschnittliche Datenausgabe der Quelle 1, die die Bandschreibgeschwindigkeit um einen Faktor überschreiten muß, der in Beziehung zu dem von dem vorliegenden Reduziersystem erwarteten durchschnittlichen Bitreduzierverhältnis steht. . ;
Wie schon erwähnt, werden die in eine kompakte Form gebrachten Informationen vorzugsweise in Blocks von Sechs-Bit-Parallel-«Zeichen« feststehender Länge auf dem Band aufgezeichnet; eine gut geeignete Blocklänge umfaßt 4098 solcher »Zeichen«. Hierdurch wird der Wiedergewinnungs- oder Entnahmeprozeß vereinfacht, durch den nicht ausge,-schiedene Datenwörter rekonstruiert werden, und außerdem wird sichergestellt, daß nicht mehr als 4098 »Zeichen« von verdichteten Informationen in; dem Fall verlorengehen, daß Informationen in demi Block zerstört werden.
In dem allerbesten Falle, daß die Eingabedatenwörter aus lauter Nullen bestehen, wäre es möglich, blockweise das Äquivalent von 196176 Eingabedaten-Bits oder 8174 Eingabedatenwörtern zu je 24 Bits aufzuzeichnen, und zwar mittels 6 ■ 4098 = 24 588 Ausgabebits gemäß der nachstehenden Codierregel:
im ersten Codierumlauf (AC) Bitzusammenführung _ neun aus einem »Nulk-Synchronbit bestehende Bits, zwei »Nulk-SC-Bits und sechs »Einse-ZC-Bits. Dann 8173 Codierumläufe, die jeder ergeben—drei Bits, bestehend aus einen »NulkSynchronbit und zwei »Eins«-5C-Bits. Dann zehn »Null«- und Wortzählstandzeichen für insgesamt 9 + 3 · 8173 + 10-6 =24 588 Ausgabebits. Hierbei wird angenommen, daß keine »Verlorene-Daten«-Bits in den verdichteten Strom eingefügt zu werden brauchen.
Wie F i g. 8 A zeigt, beginnt der Wiedergewinnungs-(Ent-Verdichtungs)-Vorgang mit einem Unterprogramm300, durch das die Zustände aller Speicherzellen in einen Ausgangszustand gebracht werden. Dazu gehört das Herausholen eines ersten verdichteten Blocks aus einer Folge von Blocks auf einem Band und das Eingeben der ersten 36 Bits dieses Blocks in einen Wortpuffer. Bei 301 sind alle Betriebsregister in einen Ausgangszustand gebracht worden für die Rekonstruktion eines neuen 24-Bit-Datenwortes. Bei 302 wird ein erstes Bit »herausgeholt« mittels des in Fig. 8B gezeigten Bithol-Unterprogramms. Bei 303 wird dieses Bit darauf geprüft, ob es eine Eins oder eine Null (Synchronbit) ist. Wenn es eine Eins ist, wird ein zweites Bit in 304 »herausgeholt«. Wenn dieses zweite Bit bei 305 als Eins festgestellt wird, besteht eine potentielle »Keine-Daten«- Bedingung (1111). Diese Bedingung wird dadurch geprüft, daß die nächsten beiden Bits in 306 »herausgeholt« und in 307 auf die Kombination 11 hin geprüft werden. Wenn 11 festgestellt wird, kehrt das Programm zu 301 zurück. Jede andere Kombination (01, 00 oder 10) zeigt einen Fehler in dem ursprüngliehen Codiervorgang an, und der Wiedergewinnungsprozeß wird bei 308 unterbrochen. In den Wiedergewinnungsprozeß ist also eine weitere Fehlerprüfung zusätzlich zu der Blockwortzählung eingebaut.
Was nun wieder Schritt 305 betrifft, ist das zweite Bit, wenn es keine Eins ist, das Null-Synchronbit, das auf ein »Verlorene-Daten«-Bit 1 folgt. Ein Anzeigebit für »Verlorene-Daten« wird dann auf Eins gesetzt, und das Programm kehrt zu derselben Operation 310 zurück, die auf die Feststellung eines » NuIk-Synchronbits als erstes Bit einer Folge von 24 Bits folgen würde. Bei 310 werden die beiden nächsten Bits (d. h. die Sekundärcodebits) »herausgeholt«, und bei 311 wird das erste von ihnen (SC1) darauf geprüft, ob es eine Eins ist. Wenn dies nicht der Fall ist, geht die Steuerung auf die Operation 312 über, und es werden drei weitere Bits »herausgeholt«. Bei
313 werden diese drei Bits an Stelle der vorher decodierten und gespeicherten Primärcodebits PCt_s eingegeben, und die Steuerung geht auf 314 über. Bei
314 wird das zweite durch die Operation 310 herausgeholte Bit (SC2) darauf geprüft, ob es eine Eins ist. Wenn es keine Eins ist, .werden diese, drei Bits an
die Stelle der vorher wiedergewonnenen Primärcodebits FC4 _e gesetzt.
Bei 317 wird die Bytezähl-Veränderliche t (die von eins bis mindestens sieben rangiert) zunächst auf Eins gesetzt, und bei 318 wird das Primärcodebit PC1 (t = 1) geprüft. Wenn es eine Null ist, werden bei 319 vier Datenbits »herausgeholt«. Im Schritt 320 treten diese vier Bits an die Stelle des vorher wiedergewonnenen ersten Datenbytes. Im Schritt 321 wird die Bytezähl-Veränderliche t um Eins erhöht, und im Schritt 322 wird geprüft, ob sie größer als sechs ist. Wenn das nicht der Fall ist, wird die Steuerung auf 318 zurückgeführt zur weiteren Verarbeitung der entsprechend numerierten Primärcodebits. Wenn t größer als sechs ist, geht die Steuerung zur Operation 323, in der das wieder zusammengeführte 24-Bit-Datenwort und die evnetuell vorhandene vorausgehende »Verlorene-Daten«-Anzeige in einem Ausgabepuffer gespeichert werden. Die Ausgabewortzähl-Veränderliche q wird bei 324 um Eins erhöht, und die Steuerung wird zu 301 zurückgeführt, nachdem ein nachstehend beschriebener Zwischenzählprüfvorgang durchgeführt worden ist.
Das »Bithol«-Unterprogramm, das hier im Beispiel mit einem IBM-7090-Processor ausgeführt werden soll, ist in Fi g. 8 B veranschaulicht. Bei Schritt 400 wird ein Signal in Zusammenhang mit einem der Arbeitsschritte 302, 304, 306, 310, 312, 315 oder 319 in Fig. 8A empfangen, welches anzeigt, daß η aufeinanderfolgende Bits des verdichteten Codes herauszuholen sind (wobei η gleich 1, 2, 3 oder 4 ist), und eine 7090-Bitzähl-Veränderliche / wird um η erhöht. Die erhöhte Veränderliche (; + „) wird bei 401 darauf geprüft, ob sie größer als 36 ist, da ein 7090-Wort aus 36 Bits besteht. Wenn / größer als 36 ist, wird eine 7090-Wortzähl-Veränderliche / bei 402 um Eins erhöht und bei 403 darauf geprüft, ob sie größer als 683 ist, wobei es sich um die Anzahl von 36-Bit-7090-Worteinheiten in einem Block von 4098 6-Bit-Bandzeichen handelt. Wenn ; größer als 36 und i nicht größer als 683 sind, wird / um 36 verringert (Schritt 404), und bei 405 wird das nächste 36-Bit-7090-Wort i herausgeholt und in einer zusammenhängenden Folge in dem 7090-Wortpuffer neben den nichtverarbeitenden Bits des vorhergehenden Wortes gespeichert.
Wenn / größer als 683 ist, zeigt das an, daß alle q Eingabewörter in einem verdichteten Aufzeichnungsblock verarbeitet sind. Daher werden im Schritt 406 wiederzusammengeführte q Datenwörter als eine Blockeinheit zum Bandspeicher übertragen, und im Schritt 407 wird ein neuer Eingabeaufzeichnungsblock vom Band »geholt«. Im Schritt 408 werden die Zahl-Veränderlichen / und / auf Eins rückgestellt, und bei 409 wird auf ein Reihenende-Signal auf dem Eingabeband hin geprüft. Wenn keins vorliegt, geht die Steuerung auf 405 über. Wenn jedoch bei 409 die Antwort »ja« lautet, wird bei 410 ein Signal »Ende der Arbeit« erzeugt.
Bei Schritt 411, der entweder auf Schritt 401 (i kleiner als oder gleich 36) oder auf Schritt 405 (36 neue Bits mit den übrigen unverarbeiteten Bits verkettet) folgt, werden η aufeinanderfolgende Bits zur weiteren Verarbeitung entsprechend dem Verfahren von Fig. 8A (Hauptprogramm) übertragen, und die Steuerung geht wieder auf das Hauptprogramm über.
Zusammenfassend kann man sagen, daß 24-Bit-Datenwörter aus den verdichteten Informationen rekonstruiert werden durch eine Folge von wahlweisen Bithol-, Bitprüf-, Byteersatz und Zählstandberiehtigungsoperation. Zu Beginn jeder Wortrekonstruktion werden Bits herausgeholt und auf »Keine-Daten«- und »Verlorene-Daten«-Bedingungen hin geprüft.
Wenn Daten vorliegen, werden zwei 3-Bit-Primärcodebits wahlweise entsprechend den Werten der beiden Sekundärcodebits rekonstruiert, und die sechs '4-Bit-Datencodebytes werden wahlweise zu 24-Bit-Datenwörtem gemäß den sechs entsprechenden Primärcodebits rekonstruiert.
Bei der Rekonstruktion jedes Datenbytes wird ein Bytezählstand t um Eins erhöht, und bei der Rekonstruktion jedes Datenwortes wird ein Zählstand q für rekonstruierte Datenwörter um Eins erhöht.
Als Teil des Rekonstruktionsprozesses ist es nötig, wiederholt und wahlweise eine veränderliche Zahl η von aufeinanderfolgenden Bits (n = 1, 2, 3 oder 4) aus dem unrekonstruierten (verdichteten) Block herauszuholen und die herausgeholten Bits in entsprechende Stellen innerhalb des in Rekonstruktion begriffenen Wortes einzusetzen. Um dies mit dem 7090-Processor praktisch ausführen zu können, hat es sich als vorteilhaft erwiesen, jeden unrekonstruierten Block aus 4098 6-Bit-Zeichen als eine Folge von 683 unrekonstruierten 36-Bit-Wörtern zu behandeln und einen Zählstand / für unrekonstruierte Bits und einen Zählstand i für unrekonstruierte Wörter während der Verarbeitung der unrekonstruierten Bits jeweils auf den laufenden Stand zu bringen. Wenn der Bitzählstand 7 über 36 steigt, wird er um 36 verringert, und die nichtverarbeiteten Bits des dann an der Reihe befindlichen Wortes und die 36 Bits des nächsten Wortes in der Folge von 683 Wörtern werden aneinandergehängt (verkettet). Auf diese Weise bleibt ein ständiger Vorrat an verdichteten Bits erhalten.
Innerhalb des Hauptprogramms (F i g. 8 A) wird nach Erhöhung des Zählstandes q für rekonstruierte Wörter um Eins der Zählerstand / für unrekonstruierte Wörter im Schritt 420 darauf geprüft, ob gerade das 683. 36-Bit-7090-Wort verarbeitet wird. Wenn das nicht der Fall ist, geht die Steuerung auf den ersten Schritt 301 über, während bei einer Antwort »ja« der Zählstand7 für unrekonstruierte Bits im Schritt 421 darauf geprüft wird, ob er größer als 22 ist, was anzeigen würde, daß die letzten drei Zeichen eines Bandblocks gerade verarbeitet werden. Wenn / nicht größer als 22 ist, geht die Steuerung wieder zu 301 über. Wenn dagegen 7 größer als 22 ist, wird der Zählstand q für rekonstruierte Wörter im Schritt 422 mit einem Teil des 683. unrekonstruierten Wortes, genauer mit den letzten 13 Bits dieses Wortes verglichen. Diese Bits sind durch die Einrichtung 112 in F i g. 6 so vorgeordnet worden, daß sie die erwartete Zahl von rekonstruierten 24-Bit-Datenwörtern in dem gerade betrachteten Block darstellen. Bei einer Nichtübereinstimmung geht die Steuerung über zu der Fehlerstopp-Operation im Schritt 308. Bei einer Übereinstimmung wird jedoch j auf einen über 36 liegenden Wert gesetzt, und die Steuerung geht auf 301 über, so daß bei Ausführung des nächsten Bithol-Unterprogramms (F i g. 8 B) nacheinander die Schritte 400, 401, 402, 403, 406, 407 und 408 ausgeführt werden, wodurch die richtigen Anfangswerte von i und 7 eingestellt und die nächste Aufzeichnung erlangt werden.
Es muß betont werden, daß das vorstehende verallgemeinerte Programm lediglich als Beispiel angeführt
wird, um die Umkehrbarkeit (d. h. Brauchbarkeit) des durch die in F i g. 1 bis 7 dargestellte Spezialeinrichtung erzeugten D'atenreduzierungsefiekts zu demonstrieren.
Besonders ist zu beachten, daß die von der Spezialeinrichtung und dem allgemeinen Programm ausgeführten umgekehrten Prozesse nicht einfach Gegensätze zueinander sind. Die Anordnung ist asynchronen Zeitsteuerungseinschränkungen unterworfen, die das Programm nicht beeinträchtigen. Das Programm ist imstande, alle Informationen auf dem Band zu verarbeiten, während die Anordnung gelegentlich ge-
zwungen ist, ein oder mehrere Informationswörter zu verwerfen, um ihre Eingabe- und Ausgabedatenströme zu koordinieren.
Dem Fachmann dürfte es durchaus möglich sein, die Einzelheiten des oben allgemein beschriebenen Wiedergewinnungsprogramms praktisch zu verwirklichen. Notwendigerweise können jedoch durch »Verlorene-Daten«Bits angezeigte verlorengegangene Datenwörter nur nach einem Rateverfahren wiedergewonnen werden, das auf dem Wissen um ein vorherbestimmtes Verhältnis zwischen den rekonstruierten Daten und den verlorenen Daten beruht.
Hierzu 3 Blatt Zeichnungen

Claims (5)

Patentansprüche·
1. Schaltungsanordnung zur Reduzierung von Datenwortlängen von in Bytes dargestellten Daten durch Reduzierung der redundanten Teile der Datenworte; die von einer Eingangsquelle über einen Pufferspeicher in einen anderen Speicher eingegeben werden, d a du r ch g ekennz ei chnet, daß am Ausgang des Eingabepuffers (2) ein Codierer (3) angeschlossen ist, der jeweils die Bytes eines Eingangswortes mit den entsprechenden Bytes des vorhergehenden Eingangswortes vergleicht und daraus einen Steuercode bestehend aus mehreren Steuerbits (PC, SC) zur Kennzeichnung der redundanten Bytes ableitet, daß dieser Steuercode und die Datenbytes auf eine dem Codierer (3) nachgeschaltete Zusammenführungsschaltung (4) gegeben werden, in der die Eingangsdatenworte mit dem gebildeten Steuercode zu einem nicht redundanten Datenausgangswort vereinigt werden und danach asynchron unter Steuerung einer Zeitgeberschaltung (7) und der Taktfrequenz (TC) des Bandspeichers (6) über einen Ausgabepuffer (5), der der Zusammenführungsschaltung (4) nachgeschaltet ist, auf den Bandspeicher (6) übertragen werden und daß mit Hilfe eines Mikroprogramms, das in einem Speicher (8) steht, die Rückumwandlung der nicht redundanten Datenworte in den redundanten Ausgangscode erfolgt.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Zeitsteuerung, die die Auswahl und Übertragung von Eingangsdaten zwischen Datengeber (1) und Ausgabepuffer (5) bzw. einen Bandspeicher (6) steuert, durch eine Schaltungsanordnung aus einem Eingabezähler (151), einem Ausgabezähler (152) zwei weiteren Zusammenführungsschaltungen (154, 155), einem Bandeingabezähler (156) und einem Pufferentnahmezähler (158), die durch die Taktfrequenz gespeist werden, erfolgt.
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß der Eingabe- und der Ausgabezähler (151 und 152) mit den Zusammenführungsschaltungen (154 und 155) im Verhältnis 2:1 untersetzt sind und der Pufferentnahme-Zähler (158) bei jedem Durchlauf des Bandeingabezählers (156) einen Schritt weiterschaltet, wenn kein Aufzeichnungsendsignal vom Bandspeicher (6) erscheint.
4. Schaltungsanordnung nach Anspruch 2 und 3, dadurch gekennzeichnet, daß die Frequenz (CC) des die Zeitsteuereinrichtung (7) steuernden Taktgebers größer ist als die zugrunde liegende Zeichenschreibfrequenz des am Ausgabepuffer (5) angeschlossenen Bandspeichers (6).
5. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Zeichenschreibfrequenz des Bandspeichers (6) um den Faktor kleiner wie die Eingabegeschwindigkeit des Datengebers (1) ist, der etwa dem Verhältnis zwischen Dateneingangswort und dem reduzierten Datenausgangswort entspricht.
DE1499225A 1964-10-26 1965-10-21 Schaltungsanordnung zur Reduzierung von Datenwortlängen Expired DE1499225C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US40646264A 1964-10-26 1964-10-26

Publications (3)

Publication Number Publication Date
DE1499225A1 DE1499225A1 (de) 1969-09-25
DE1499225B2 DE1499225B2 (de) 1973-07-19
DE1499225C3 true DE1499225C3 (de) 1974-03-14

Family

ID=23608096

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1499225A Expired DE1499225C3 (de) 1964-10-26 1965-10-21 Schaltungsanordnung zur Reduzierung von Datenwortlängen

Country Status (7)

Country Link
US (1) US3490690A (de)
BE (1) BE671294A (de)
CH (1) CH437866A (de)
DE (1) DE1499225C3 (de)
GB (1) GB1072379A (de)
NL (1) NL156521B (de)
SE (1) SE316639B (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593309A (en) * 1969-01-03 1971-07-13 Ibm Method and means for generating compressed keys
US3603937A (en) * 1969-06-26 1971-09-07 Ibm Multilevel compressed index generation method and means
US3612660A (en) * 1969-09-08 1971-10-12 Wendell S Miller Digital data compaction
US3656178A (en) * 1969-09-15 1972-04-11 Research Corp Data compression and decompression system
US3717851A (en) * 1971-03-03 1973-02-20 Ibm Processing of compacted data
US3772654A (en) * 1971-12-30 1973-11-13 Ibm Method and apparatus for data form modification
FR2231972B1 (de) * 1973-05-29 1977-04-29 Electricite De France
US3914586A (en) * 1973-10-25 1975-10-21 Gen Motors Corp Data compression method and apparatus
US4185190A (en) * 1974-10-28 1980-01-22 Compagnie Internationale pour L'Informatique, CII-Honeywell Bull (Societe Anonyme) Data accumulation and compression apparatus
US4077034A (en) * 1974-11-04 1978-02-28 Dell Harold R Data compression
DE3118676A1 (de) * 1981-05-12 1982-12-02 Heinz Karl Eckhart Dr Jur Verfahren zur kompression redundanter folgen serieller datenelemente
US4956808A (en) * 1985-01-07 1990-09-11 International Business Machines Corporation Real time data transformation and transmission overlapping device
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6604158B1 (en) * 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7103685B1 (en) * 2004-01-16 2006-09-05 Xilinx, Inc. Bitstream compression with don't care values
US7477935B2 (en) * 2004-11-29 2009-01-13 Cameron Health, Inc. Method and apparatus for beat alignment and comparison
US7482954B1 (en) 2005-02-25 2009-01-27 Xilinx, Inc. Bitstream compression for a programmable device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3022005A (en) * 1959-01-12 1962-02-20 Ibm System for comparing information items to determine similarity therebetween
FR78935E (de) * 1959-12-24 1963-01-30
US3354466A (en) * 1960-02-12 1967-11-21 Gen Electric Apparatus in data processing system for coordinating memory communication among processors and peripheral devices
US3233236A (en) * 1961-06-28 1966-02-01 Lear Siegler Inc System for bandwidth compression of binary signals
US3185824A (en) * 1961-10-24 1965-05-25 Ibm Adaptive data compactor
DE1162398B (de) * 1961-10-24 1964-02-06 Ibm Verdichter fuer Daten, die aus Bits verschiedener Wertigkeit bestehen
DE1249924B (de) * 1962-07-17
US3311893A (en) * 1963-08-29 1967-03-28 Sperry Rand Corp Memory organization wherein only new data bits which are different from the old are recorded
US3278907A (en) * 1964-02-17 1966-10-11 Hughes Aircraft Co Time compressor

Also Published As

Publication number Publication date
CH437866A (de) 1967-06-15
DE1499225A1 (de) 1969-09-25
US3490690A (en) 1970-01-20
SE316639B (de) 1969-10-27
DE1499225B2 (de) 1973-07-19
NL156521B (nl) 1978-04-17
BE671294A (de) 1966-02-14
GB1072379A (en) 1967-06-14
NL6513798A (de) 1966-04-27

Similar Documents

Publication Publication Date Title
DE1499225C3 (de) Schaltungsanordnung zur Reduzierung von Datenwortlängen
DE68924138T2 (de) Daten-kompressions/dekompressionsanordnung.
DE2547035C3 (de) Datenverarbeitungseinrichtung
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE68925547T2 (de) Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom
DE69117592T2 (de) Datenspeicherung auf magnetband
DE1449765B2 (de) Einrichtung zur Abfrage eines assoziativen Speichers
DE2521436B2 (de) Informationswiedergewinnungsanordnung
DE1474062A1 (de) Datenverarbeitungsanlage
DE1474094B (de) Programmgesteuerte Datenverarbeitungs anlage
DE2551238A1 (de) Informationsuebertragungseinrichtung
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE2053341A1 (de) Verfahren zur Kompression und Dekompression digital kodierter Daten für graphische Zeichen
DE2807500A1 (de) Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge
DE3711201A1 (de) Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet
DE1964570B2 (de) Verfahren zum wiederauffinden gespeicherter informationen
DE2202952A1 (de) Datenverarbeitungssystem und bei diesem anwendbares Verfahren zur Vorverarbeitung von Eingabedatenposten
DE2752996A1 (de) Digitale multiplexiervorrichtung fuer plesiochrone bitfolgen
DE2613018A1 (de) Digitalspeichersystem
DE2014325A1 (de) Elektronische Rechenmaschine
DE4009823C2 (de)
DE1499708A1 (de) Verfahren und Anordnung zur Wiedergabe magnetisch gespeicherter digitaler Informationen
DE3742142A1 (de) Verfahren und vorrichtung zur kompression und rekonstruktion von datenfolgen
DE68905099T2 (de) Datenkodierung und formungsvorrichtung fuer ein aufzeichnungsgeraet mit drehenden koepfen.
DE3843372C2 (de) Verfahren und Schaltungsanordnung zur Taktanpassung in der digitalen Nachrichtentechnik

Legal Events

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