DE2811318C2 - Einrichtung zur Übertragung und Speicherung eines Teilwortes - Google Patents
Einrichtung zur Übertragung und Speicherung eines TeilwortesInfo
- Publication number
- DE2811318C2 DE2811318C2 DE2811318A DE2811318A DE2811318C2 DE 2811318 C2 DE2811318 C2 DE 2811318C2 DE 2811318 A DE2811318 A DE 2811318A DE 2811318 A DE2811318 A DE 2811318A DE 2811318 C2 DE2811318 C2 DE 2811318C2
- Authority
- DE
- Germany
- Prior art keywords
- word
- register
- data
- memory
- partial
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Description
28 ti 318
Verarbeitung von 32 bis 40 Prüfbits, Es ist klar, daß diese
Lösung für die meisten Datenverarbeitungsanlagen wegen des zu großen Bedarfes an Speicherplatz und
Pröfbitsverarbeitungseinrichtungen nicht in Betracht
kommt. Zum Vergleich sei auf die eingangs genannte US-PS 35 73 728 hingewiesen, in der zu 64 Datenbits
nur 8 Prüfbits vorgesehen werden müssen.
Der vorliegenden Erfindung Hegt die Aufgabe zugrunde, in einer Datenverarbeitungsanlage mit durch
Fehlerkorrekturcode geschützter Datenübertragung vom Prozessor in den Speicher der Anlage die
Übertragungszeit eines Teilblockes bei minimalem Schaltungsaufwand zu verringern. Diese Aufgabe wird
erfindungsgemäß durch die im Kennzeichen des Anspruches 1 beschriebene Einrichtung gelöst
Die Erfindung hat den Vorteil, daß die Übertragung des Teildatenblockes ohne Zeitverzögerung erfolgen
kann. Dies wird dadurch ermöglicht, daß die mit den Teilwörtern zu kombinierenden Datenwörter aus dem
Pufferspeicher im richtigen Zeitpunkt während der Datenübertragung ohne Zeitverlust zur Verfügung
stehen. Die Kombination findet während der Übertragung
des Datenblockes sozusagen »im Fluge« statt. Hierzu wird nur ein einziges Hilfsregister benötigt,
welches die schon auf etwaige Fehler überprüften Datenwörter bereithält
Der Verschiebeschalter hat nur eine einfache Aufgabe zu erfüllen und kann daher einfach aufgebaut
sein. Er maskiert gewisse Bytes von dem aus dem Hilfsregister gelieferten Datenwort und läßt dafür die
Bytes des Teilwortes vom Prozessor durch. Dabei wird er von einer Kontroilogik gesteuert, welche vom
Prozessor der Anlage nur die Startadresse und die Feldlängenangabe des Teildatenblockes erhalten muß.
Entweder stellt die Kontrollogik daraus selbst fest, daß es sich um eine Teildatenblockübertragung handelt,
oder es wird ihr ein solches Funktionssignal schon vom
Prozessor geliefert.
Ein weiterer Zeitvorteil ergibt sich daraus, daß die Vorab-Ausleseoperation der Teilwörter überlappend
erfolgen kann.
Insgesamt gesehen dauert also die Übertragung des Teildatenblockes trotz der Kombinationsnotwendigkeit
mit Speicherwörtern nicht länger als die Übertragung eines Voll-Blockes.
Eine vorteilhafte Weiterbildung der Erfindung ist dadurch gekennzeichnet, daß das Dateneingangsregister zum Pufferspeicher aus zwei Teilen, nämlich einem
sogenannten Master-Teil und einem Slave-Teil aufgebaut
ist, was die Möglichkeit bietet, den Eingang vies
Hilfsregisters an die Verbindung zwischen Master- und Slave-Teil anzuschließen. In dieser Konstellation wird
also für das Hilfsregister kein vollständiges zusätzliches Register benötigt, sondern nur ein zusätzlicher Slave-Teil
zum Master-Teil des Datenregisters.
Ein Ausführungsbßispiel der Erfindung soll nun
anhand von Figuren dargestellt werden. Es zeigt
F i g. 1 die wichtigsten Einheiten einer Datenverarbeitungsanlage,
in denen die erfindungsgemäße Einrichtung Verwendung findet,
F i g. 2 die Darstellung eines Datenblockes,
F i g. 3 ein Ausführungsbeispiel der Erfindung zur Übertragung vom Prozessor und Abspeicherung im
Pufferspeicher des in Fig. 2 dargestellten Datenblokkes.
F i g. 4 Einzelheiten des in F i g. 3 gezeigten Verschiebeschalters
und der Kontrollogik und
Fie. 5 den zeitlichen Ablauf der Vorab-Ausleseoperation
und der Übertragung des Teildatenblockes vom Prozessor zum Pufferspeicher,
F i g. 1 zeigt die Einheiten einer Datenverarbeitungsanlage, die für die nachfolgende Beschreibung des
Ausführungsbeispiels von vorrangiger Bedeutung sind. Für einen langsamen Speicher 1 mit großer Kapazität
ist ein vorgelagerter Pufferspeicher 2 vorgesehen. Der Pufferspeicher kann vorzugsweise auf demselben Chip
untergebracht sein, wie der Speicher 1. Der Pufferspeieher hat eine Kapazität von 8 Wörtern zu je 8 Bytes.
Pro Wort ist dabei eine Speicherstelle vorgesehen, wobei ein beliebiger Zugriff zu jeder Speicherstelle
möglich ist, sowie auch das sequentielle Lesen aufeinanderfolgender Speicherstellen. Am Ausgang des
Pufferspeichers 2 können 8 Bytes parallel gelesen werden, so daß die Gesamtkapazität des Pufferspeichers
von 64 Bytes in 8 Speicherzyklen erfaßt werden kann.
Zwischen dem Pufferspeicher 2 und dem in F i g. 1 gezeigten Prozessor 4 ist eine Fehlererkennungs- und -korrektureinrichtung 3 vorgesehen, weiche mit ECC angegeben ist. Beim Einschreiben eir·^, Wortes von 8 Bytes werden durch die Einrichtung 3 zu diesem Wort Prüfbits nach einem vorgegebenen Code erzeugt und zusammen mit dem Wort im Speicher abgespeichert. Zum Beispiel wird zu jedem Wort von 8 Bytes ein zusätzlichem Prüfbyte von 8 Bits erzeugt Dabei kann zu jedem Datenbyte ein Prüfbit gespeichert werden, so daß die gespeicherten Bytes nunmehr 9 Bits umfassen.
Zwischen dem Pufferspeicher 2 und dem in F i g. 1 gezeigten Prozessor 4 ist eine Fehlererkennungs- und -korrektureinrichtung 3 vorgesehen, weiche mit ECC angegeben ist. Beim Einschreiben eir·^, Wortes von 8 Bytes werden durch die Einrichtung 3 zu diesem Wort Prüfbits nach einem vorgegebenen Code erzeugt und zusammen mit dem Wort im Speicher abgespeichert. Zum Beispiel wird zu jedem Wort von 8 Bytes ein zusätzlichem Prüfbyte von 8 Bits erzeugt Dabei kann zu jedem Datenbyte ein Prüfbit gespeichert werden, so daß die gespeicherten Bytes nunmehr 9 Bits umfassen.
Beim Auslesen von Datenwörtern aus dem Speicher werden zu diesem Wort die Prüfbits durch die
Einrichtung 3 nochmals erzeugt und mit den ebenfalls ausgelesenen Prüfbits, welche zu diesem Wort gespeichert
waren, verglichen. Gegebenenfalls wird hieraus ein Fehlerkorrektursignal abgeleitet Von der Einrichtung
3 werden hiernach zu den Datenwörtern Paritätsbits erzeugt und zusammen mit den Datenwörtern
zum Prozessor übertragen.
Von der ECC-Einrichtung 3 können nur jeweils ganze Worte zu 8 Datenbytes verarbeitet werden. Der zur Erzeugung der Prüfbits verwendete Code ist nämlich für eine feste Anzahl von Datenbits ausgelegt, so daß bei Übertragung von Teilwörtern diese mit der zugehörigen Restinformation auf ein ganzes Wort ergänzt
Von der ECC-Einrichtung 3 können nur jeweils ganze Worte zu 8 Datenbytes verarbeitet werden. Der zur Erzeugung der Prüfbits verwendete Code ist nämlich für eine feste Anzahl von Datenbits ausgelegt, so daß bei Übertragung von Teilwörtern diese mit der zugehörigen Restinformation auf ein ganzes Wort ergänzt
werden müssen.
Fig.2 zeigt einen praktischen Fall, in dem die obenerwähnte Schwierigkeit bei der Übertragung von
Teilwörtern auftritt. F i g. 2a zeigt den im Pufferspeicher 2 gespeicherten Dateninhalt von 8 ganzen Wörtern zu
je 8 Bytes. In den Pufferspeicher soll nun ein
Teildatenblock vom Prozessor übertragen werden, wobei das erste Wort A und das letzte Wort O dieses
Teilblockes nur Teilwörter darstellen, also nicht die vollständige Länge von 8 Bytes haben. Aus F i g. 2b ist
ersichüich.daß beim Abspeichern dieses Teildatenblokkes
im Pufferspeicher das erste Wort überhaupt nicht, das zweite Wort a nur teilweise, die nächsten 5 Wörter
vollständig, und das achte Wort ο wieder nur teilweise überschrieben würden.
Fig,2c zeigt den Pufferspeicherinhalt nach der
Speicherung des Teildatenblockes. Aus Fig.2 ist zu
sehen, daß es bei der Erzeugung von Prüfbits in der ECC-Einrichtung 3 für die Wörter I und 3 bis 7 keine
Schwierigkeiten gibt. Hingegen muß erst dps Teilwort
A, das nur 7 Bytes aufweist, dem Byte 9 aus dem Pufferspeicher 2 ergänzt werden, bevor es durch die
ECC-Einric!iiung 3 laufen kann. Dasselbe gilt sinngemäß
für das Teilwort O, das die Bytes 57 bis 60 enthält
28 Π
und somit erst durch die Bytes 61 bis 64 aus dem
Pufferspeicher 2 ergänzt werden muß, bevor dieses letzte Wort durch die F.inrichtiing 3 laufen kann.
Ein Ausführungsbeispiel der Erfindung /ur Lösung
der geschilderten Schwierigkeiten ist in F i g. J gezeigt. ,
Bei der Übertragung von Daten vom Pufferspeicher 2 in den Prozessor 4 gelangen die Daten über den
Richtungsschalter RS I, ein erstes Datenregisier 12, die ECC-Einrichtung 3, ein zweites Datenregister IO und
einen zweiten Richtungsschalter RS 2 über die Leitung u,
14 in den Prozessor 4. Die geschilderten Datenwege weisen jeweils eine Datenbreile von 8 Bytes auf. Zum
Pufferspeicher 2 gelangen die Daten über einen Verschiebeschalter 6, dessen Funktion nachfolgend
noch genauer erklärt wird, den ersten Richtungsschalter ι -, RSi, das Datenregister 12. die ECC-Einrichtung 3, das
zweite Datenregister 10 und den zweiten Richtungsschalter RS2. Der erste bzw. zweite Richtungsschalter
führt das Bezugszeichen 9 bzw. 8.
Erfindungsgemäii werden nun die beiden Wörter a ;o
und o, mit denen später die Teil Wörter A und O aus dem
Prozessor kombiniert werden sollen, vor der Übertragung des Teildatenblockes aus dem Prozessor in den
Speicher 2 in einer Vorab-Ausleseoperation aus dem Pufferspeicher 2 ausgelesen. Dabei wird das Wort a y,
zuerst ausgelesen und gelangt über den Richtungsschalter 9, das Datenregister 12 und die ECC-Einrichtung 3
zum Datenregisier 10. Dieses Datenregister ist aus einem Master-Teil DR 2M und einem Slave-Teil DR 25
aufgebaut. Ein solcher Aufbau bietet Vorteile beim m
Überprüfen des Registers, da der Inhalt jeweils in einem der beiden Teile aufbewahrt werden kann, während der
andere Teil geprüft wird.
In einer bevorzugten Ausführungsform der Erfindung wird nun das Wort a schon am Ausgang des j,
Master-Teiles DR 2M abgegriffen und in einem Hilfsregister 5 gespeichert. Hiernach wird aus dem
Pufferspeicher 2 das Wort ο ausgelesen und gelangt auf dem oben geschilderten Weg in das Register DR 2M. Es
soll hierbei darauf hingewiesen werden, daß auch das Datenregister 12 aus einem Master-Teil DRiXf und
einem Slave-Teil DR IS aufgebaut ist. Der Aufbau
dieses Registers aus zwei Teilen ist jedoch zur Ausführung der vorliegenden Erfindung nicht notwendig.
Das Datenwort ο befindet sich nun also im Register DR 2/V/und bleibt dort für einen Zyklus gespeichert.
Nach diesen Vorab-Ausleseoperationen, welche überlappend
erfolgen können, kann die Übertragung des Teildatenblockes vom Prozessor 4 in den Pufferspeicher
2 beginnen. Da das erste zu übertragende Wort A ein λ Teilwort ist, muß es auf ein Vollwort ergänzt werden,
bevor es durch die Einrichtung 3 laufen kann. Hierzu ist der Verschiebeschalter 6 vorgesehen, welcher an seinen
beiden Eingängen fund //zu gleicher Zeit das Teilwort A und das Wort a aus dem Hilfsregister 5 angeliefert
bekommt. Eine Kontrollogik 7 liefert ein entsprechendes
Maskierungssignal an den Verschiebeschalter 6, was zur Folge hat, daß das Byte 9 aus dem Hilfsregister 5 und
die Bytes 10 bis 16 vom Prozessor 4 vom Verschiebeschalter 6 in ihrer richtigen Position durchgelassen μ
werden. Das auf diese Weise gebildete Vollwort kann nun über den Richtungsschalter 9, das Datenregister 12
in die ECC-Einrichtung 3 übertragen werden, wo es von dieser Einrichtung ohne Schwierigkeit zur Erzeugung
von Prüfbits verwendet werden kann. t,=>
Soba'd das Wort a aus dem Hilfsregister 5 zum
Verschiebeschalter 6 ausgelesen worden ist, wird das Wort ο aus dem Master-Teil DR 2M in das Register 5
übertragen und bleibt dort Ins zu seiner spateren
Verwendung gespeichert.
Hier soll darauf hingewiesen werden, daß im Register
5 nur fehlerfreie Wörter gespeichert wurden, d;i die
Wörter ;i und η bereits durch die ECC-F.inrichtung
gelaufen sind. Somit ist der restliche Weg der Datenübertragung für das kombinierte Wort α
(F i g. 2c) aus der F.CC-Einrichtung 3 über das Datenregister 10, den Richtungsschalter 8 in den Pufferspeicher
2 frei. Hierauf werden die nächsten fünf Wörter, d. h. die
Bytes 17 bis 56 vom Prozessor über den Verschiebeschalter 6 und den geschilderten Datenpfad in den
Pufferspeicher 2 1 'lertragen.
Die beim letzten Wort O notwendige Kombinierung
dieses Teilwortes mit dem Worl <>, das zu diesem Zeitpunkt noch im Hilfsregister 5 gespeichert ist, erfolgt
auf ähnliche Weise wie beim Teilwort A. Zur gleichen Zeit nämlich, /w der das Teilwort O dem Verschiebeschalter
6 zugeführt wird, wird auch das Wort ο aus dem Hiifsregisier 5 ausgeben um! üüei uic Leitung 16 dem
Verschiebeschalter 6 zugeführt. Die Kontrollogik 7 liefert hierzu ein Maskierungssignal, das die Bytes 57 bis
60 aus dem Prozessor und die Bytes 61 bis 64 aus dem Hilfsregister 5 in der richtigen Position zum anschließenden
Datenpfad durchläßt.
Da vom Prozessor 4 zur ECC-Einrichtung 3 die Datenbytes zusammen mit ihrem Paritätsbit übertragen
werden, entstehen bei der Kombination im Schalter 6 in bezug «:uf die Paritätsbits keine Schwierigkeiten, zumal
auch vom Hilfsregister 5 zum Schalter 6 die Datenbytes zusammen mit ihren zugehörigen Paritätsbits übertragen
werden. Jedes Datenbyte wird also vom Schalter 6 zusammen mit seinem Paritätsbii durchgelassen.
Die beschriebene Einrichtung gestattet also mit Hilfe nur eines zusatzlichen Registers, nämlich des Hilfsregisters
5, die Übertragung eines Teildatenblockes vom Prozessor 4 in den Speicher 2, und zwar praktisch ohne
Zeitverlust. Die Vorab-Ausleseoperation kann dabei sogar teilüberlappend erfolgen, wie weiter unten noch
erläutert wird. Entscheidend ist jedenfalls, daß die Kombination der Teilwörter des Teildatenblockes mit
den entsprechenden Pufferspeicherwörtern sozusagen »im Fluge« geschieht. Die Datenübertragung wird also
durch die notwendige Kombinationsoperation nicht unterbrochen. Dabei ist zur Speicherung der beiden
Pufferspeicherwörter a und ο nur ein einziges Register notwendig, das nach einer besonders vorteilhaften
Ausführungsform als zweites Slave-Register zum Master-Teil DR 2Mausgeführt sein kann, also nur einen
halben Registeraufwand erfordert.
Zur Steuerung der Übertragung des Teildatenblockes ist hauptsächlich die Kontrollogik 7 vorgesehen. Wenn
nämlich im Prozessor 4 im Operationsregister ein Befehl decodiert wird, welcher sich auf eine Teildatenblock-Übertragung
bezieht, erhält die Kontrollogik 7 über die Leitung 18 ein entsprechenden Steuersignal.
Zugleich werden die bei der Übertragung benötigten Adreßdaten, das sind die Startadresse SA und die
Feldlängenangabe FL über die Leitung 18 in die Kontrollogik 7 übertragen. Diese veranlaßt daraufhin
über die Leitung 20 die Puffersteuerung 22 die geschilderte Vorab-Ausleseoperation durchzuführen.
Zum richtigen Zeitpunkt veranlaßt die Kontrollogik 7 dann über die Leitung 24 den Prozessor 4 mit der
Logikübertragung zu beginnen. Dieser Zeitpunkt kann beispielsweise zusammenfallen mit der Übertragung des
Wortes a vom Master-Teil DR 2M in das Hilfsregister 5.
F i g. 4 zeigt die Kontrollogik 7 und den Verschiebe-
schalter 6 mehr im einzelnen. Zur Durchführung einer
Teildatcnblock-Übertragung enthalt die Kontrollogik 7 eine AdreßarilhmetikKinrichtung 32. Diese Einheit
erhalt die zur Adressenberechnung nötige Angaben von
einem Feldlängenregister 26, einem Register für die ·,
Startadresse 28 und einem Adreßzahler 30, der mit einer
Zeitsteuerung der Übertragungseinrichtung kombiniert ist. Die Einheiten 26, 28 und 30 erhalten die Angaben
über iie Leitung 18 vom Prozessor 4, wenn im
Operationsregister des Prozessors eine Operationsan- m gäbe OP deeodiert wird, die auf eine Teildatenblock-Ubertragung
z. B. dadurch hinweist, daß die Byte-Startadresse nicht an einer Wortgrenze liegt. In einem
solchen Falle werden aus dem Operationsregister die Feldlängenangabe FL und die .Startadresse SA in die ι,
Register 26 bzw. 28 der Kontrollogik 7 übertragen. Die Adreßarithmetik 32 berechnet daraufhin aus Startadresse
und Feldlängenangabe die Adresse des letzten Teilwortes des Teildatenblockes. Über die Leitung 20
...^».4 JM«n..ΓΙ,ΐ.* A;n \/*%^*»l^ I Arnin^lMt tn Anr Dttff *
nilUUfllaUIIIIII I.III »WI«l»i_.*.jv*._, i-*iu.»iiivjvi tuitt.,.fi«.uv 2<l
rung 22 ausgelöst und die beiden Wörter a und ο auf die oben geschilderte Weise aus dem Pufferspeicher 2 in das
Hilfsregister 5 bzw. in das Register DR 2M gebracht. Über die Leitung 24 wird der Prozessor 4 von der
durchgeführten Vorab-Ausleseoperation benachrichtigt >-,
und der Prozessor kann sodann mit der Teildatenblock-Übertragung beginnen, indem er das erste Teilwort A
zum Verschiebeschalter 6 überträgt.
Irr Schalter 6 muß nun das Wort A mit dem Wort a
aus dem Hilfsregister 5 kombiniert werden. Der jm Verschiebeschalter 6 muß zu diesem Zwecke das Byte 9
des I.Ortes a und die Bytes 10 bis 16 des Wortes A zum
Richtungsschalter 9 übertragen. Hierzu weist in einer möglichen Ausführungsform der Verschiebeschalter 6
acht Byte-Tore für die Bytes 1 bis 8 eines Wortes auf. r,
Jedes Byte-Tor empfängt eingangsseitig das betreffende Byte sowohl vom Prozessor am Eingang PaIs auch das
betreffende Byte vom Hilfsregister 5 am Eingang H. Die 8 Byte-Eingänge vom Prozessor sind in Fig.4 mit Pl
bis PS und die acht Byte-Eingänge vom Hilfsregister 5 .in
mit Hi bis HS bezeichnet. Jedes Byte-Tor erhält von
einer Maskier-Steuerung 34 in der Kontrollogik 7 ein
Steuersignal P/H und läßt als Funktion dieses Steuersignales entweder das Byte vom Prozessor oder
das Byte vom Hilfsregister 5 durch. ι -,
Bei der Übertragung durch den Verschiebeschalter 6 wird also durch die Maskier-Steuerung 34 eine Grenze
festgesetzt, d. h. von Fall zu Fall »verschoben«, wobei auf der einen Seite der Grenze nur Bytes vom Prozessor
4 und auf der anderen Seite der Grenze zu Bytes vom >n Hilfsregister 5 durchgelassen werden. Die Maskier-Steuerung
34 wird ihrerseits von den Angaben über die Teilworte A und O gesteuert. Die Übertragung nicht zu
kombinierender Worte, d. h. der Bytes 17 bis 56 nach
Fig.2b, erfolgt mit Hilfe des Adreßzählers und der Zeitsteuerung 30.
F i g. 5 zeigt noch einmal in übersichtlicher Weise den Zeitablauf bei der Übertragung eines Teildatenblockes.
Hierzu sind in F i g. 5 die Zyklen numeriert, wobei in der gewählten bevorzugten Ausführungsform ein Zyklus in
einen Master-Teil Ai und einen Slave-Teil 5 unterteilt
ist Die zeitliche Grenze beider Unterzyklen kann dabei in der Hälfte des Zyklus liegen; es kann aber auch für
den Zyklus Mmehr Zeit vorgesehen werden als für den
Zyklus S.
Wie in F i g. 5 gezeigt ist wird im Zyklus 1 das Wort a
aus dem Puffer ausgelesen und in den Master-Teil DR IAf des ersten Datenregisters 12 gebracht Ober den
Slave-Teil dieses Datcnrcgisiers gelangt das Wort ;i
dann in den Master-Teil DR 2A/dcs /weiten Datenregisters 10. Hierbei muß das Wort die ECC-Einrichtung 3
durchlaufen, was ungefähr 1,5 Zyklen in Anspruch nimmt. Zugleich mit dem Auslesen des Wortes a aus
DR 1S kann bereits das Auslesen des Wortes ο aus dem
Pufferspeicher in das Register DRiM erfolgen und
somit die Vorab-Ausleseoperation zeitlich überlappend ausgeführt werden. Im vierten Zyklus wird das Wort a
aus DR2M in das Hilfsregister 5 gebracht. Im selben Zyklus kann bereits die Datenübertragung vom
Prozessor durch Übertragung des ersten Wortes A. das im gezeigten Fall ein Teilwort ist, beginnen. Im fünften
Zyklus werden die beiden Worte A und a kombiniert und gelangen im Master-Teil dieses Zyklus 5 in das
Register DR IM. Ebenfalls im Master-Teil dieses Zyklus
5 kann das Wort ο in das Register DR IM eingelesen
werden, da dieses Register im vorhergehenden Zyklus bereits geräumt wurden war. Im Slave-Teil des Zyklus 5
bleibt dort gespeichert, bis es am Ende der Teildatenblock-Übertragung,
d. h. im gewählten Beispiel im Zyklus 11, mit dtm letzten Wort Odes Teildatenblockes,
das im gewählten Beispiel ebenfalls ein Teilwort ist, kombiniert wird.
Im Slave-Teil des Zyklus 5 wird vom Prozessor das nächste Wort ausgesendet, das in F i g. 5 in Übereinstimmung
mit den übertragenen Bytes mit »17/24« angegeben ist. In den Zyklen 5 bis 9 werden vom
Prozessor die fünf Vollworte des Teildatenblockes ausgesendet und gelangen über den Verschiebeschalter
6. den Richtungsschalter 9, das erste Datenregister 12,
die ECC-Einrichtung 3, das zweite Datenregister 10 und den Richtungsschaker 8 in den Pufferspeicher 2. Aus
F i g. 5 ist ersichtlich, daß das erste zu speichernde Wort a', das aus der Kombination des Teilwortes A mit dem
ursprünglich im Pufferspeicher 2 gespeicherten Wort a hervorgeht, im Master-Teil des Zyklus 8 in den
Pufferspeicher eingeschrieben werden kann. In den nachfolgenden fünf Zyklen, d. h. in den Zyklen 9 bis 13,
werden die nächsten Worte des Teildatenblockes in den Pufferspeicher 2 eingeschrieben.
Das im Slave-Teil des Zyklus 10 vom Prozessor ausgesendete letzte Wort O des Teildatenblockes, das
im geschilderten Fall ein Teilwort ist, gelangt nach Kombination mit dem vom Hilfsregister 5 geholten
Wort ο im Master-Teil des Zyklus 11 in das Register
DR XM. Von dort gelangt dieses letzte Wort o'über das
Register DR \S. die Fehlererkennungs- und -korrektureinrichtung 3, das zweite Datenregister 10 und den
Richtungsschalter 8 in den Pufferspeicher 2, wo es im Master-Teil des Zyklus 14 abgespeichert wird. Eine
Kombination im Verschiebeschalter 6, d. h. eine Aktivität der Maskierungs-Steuerung 34 ist also nur in
den Zyklen 5 und 11 erforderlich.
Fig.5 zeigt noch einmal deutlich, daß bei der Datenübertragung keine Verzögerung dadurch entsteht,
daß das erste und letzte Wort des zu übertragenden Datenblockes ein Teilwort ist Die
Übertragung vom Prozessor beginnt im Zyklus 4 und endet im Zyklus 10, dauert also sieben Zyklen.
Genausoviele Zyklen nur dauert die Abspeicherung im Pufferspeicher 2, nämlich vom Zyklus 8 bis zum Zyklus
14. Die Grundverzögerung von 4 Zyklen ist dabei überlappungsbedingt und wird nicht durch Teilspeicherprobleme
hervorgerufen.
In den F i g. 3 und 5 sind die beiden Datenregister 10 und 12 jeweils als aus einem Master-Teil und einem
230 267/209
Slave-'T eil aufgebaut dargestellt. Dieser Aufbau ist
jedoch zur Ausführung der Erfindung nicht unbedingt notwendig. In bezug auf das Datenregister 12 ist ohne
weiteres einzusehen, daß dieses Register auch aus einem einzigen Registerspeicher bestehen könnte. Wird auch
das Datenregister 10 in diesem Sinne vereinfacht, müßte der Eingang des Hilfsregisters 5 zwischen dem Ausgang
10
des Datenregisters 10 und dem Eingang des Richtungsschaltcrs
8 angeschlossen werden. In der gezeigen vorteilhaften A;.sführungsform nach den F i g. 3 und 5
jedoch ist zur Realisierung des Hilfsregisters 5 nur das Hinzufügen einrs zusätzlichen Slave-Teiles zum Datenregister
10 notwendig. Ein zusätzlicher Master-Teil wird also in dieser vorteilhaften Ausführungsform eingespart.
Hierzu 3 Blatt Zeichnungen
Claims (3)
- Patentansprüche:1, Einrichtung zur Übertragung und Speicherung eines Teilwortes in einem durch eine Fehlerkorrektureinrichtung geschützten Pufferspeicher einer Datenverarbeitungsanlage, wobei das Teilwort mit dem an der anzusteuernden Speicherstelle im Pufferspeicher gespeicherten Datenwort, das vorher ausgelesen wurde, kombiniert wird und das kombinierte Wort sodann über die Fehlerkorrekturein- richtung in den Speicher eingelesen wird, dadurch gekennzeichnet,daß zur Übertragung eines Datenblockes (Fig.2), dessen Beginn- (A) und/oder Endwort (O) ein Teilwort ist (Teildatenblock) ein Hilfsregister (5) zur Speicherung des aus der ersten Datenblockadresse im Pufferspeicher ausgelesenen Datenwortes (a) vorgesehen ist, daß in einer weiteren Ausleseoperation vor der Übertragung des Datenblockes (Vorab-Auileseoperalion) auch das an der letzten Speichersieiie des Datenbiockei im Pufferspeicher gespeicherte Datenwort foj ausgelesen und in einem Eingangsregister (10) zwischen der Fehlerkorrektureinrichtung (3) und dem Pufferspeicher (2) gespeichert wird, daß ein Verschiebeschalter ((?.. F i g. 3) zwischen dem Prozessor (4) und der Fehlerkorrektureinrichtung (3) zur Kombination des Beginnteilwortes (A) mit dem ersten Speicherwort (a) und zur Kombination des Endteilwortes (O) mit dem letzten Wort (o) v> vorgeseher ist, wobei nach der zuerstgenannten Kombination das letzte Speicherwort (o) aus dem Eingangsregister (10) in das Hilfsregister (5) nachrückt,und daß eine Kontrollogik (7, l· 1 g. 3) vorgesehen ist, J5 weiche mit Hilfe der Startadresse (SA) und Feldlängenangabe (FL) des Teildatenblockes den Verschiebeschalter (6) während der Übertragung des Beginnteilwortes (A) und des Endteilwortes (O) durch Byte-Maskierungssignale (TV/Zusteuert
- 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Eingangsregister (10) aus einem mit dem Ausgang der Fehlerkorrektureinrichtung(3) verbundenen Master-Register (DRlM) und einem damit verbundenen Slave-Register (DRIS) besteht und daß der Eingang des Hilfsregisters (5) an den Ausgang des Master-Registers angeschlossen ist.
- 3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Kontrollogik (7) eingangsseitig mit so einem Operationsregister (OP REG) im Prozessor(4) verbunden ist (Leitung 18), und eine Adreßarithmetik-Einheit (32) aufweist, welche aus der Startadresse (SA, Register 28) und der Feldlängenangabe (FL, Register 26) des Teildatenblockes die Adresse des Endteilwortes (O, F i g. 2) berechnet und daß die Adreßarithmelik (32) mit einer Maskensteuerung (34) zur Erzeugung der Maskierungssignale (P/H) verbunden ist.4, Einrichtung nach Anspruch 3, gekennzeichnet durch einen Adreßzähler und eine Zeitsteuerung (30), welche zusammen mit der Adreßariihmetik (32) an eine Pufferspeichersteuerung (22) zur Steuerung der Vorab-Ausleseoperation, sowie an den Prozessor (4) zur Steuerung des Beginnes der Datenüber- f>5 trngung angeschlossen sind (Leitung 20 bzw. 24).Die Erfindung betrifft eine Einrichtung der im Oberbegriff des Anspruchs 1 angegebenen Art.Eine solche Einrichtung ist in der US-PS 35 73 728 beschrieben. Zur Abspeicherung werden die Daten durch Prüfbits ergänzt, die zusammen mit den Daten abgespeichert werden. Infolge der Verwendung eines Einzelfehlerkorrektur- und Mehrfachfehlererkennungscodes können immer nur vollständige Wörter, die z. B. 8 Bytes enthalten können, zur Berechnung da Prüfbits herangezogen und gespeichert werden. Bei der Abspeicherung von Teildatenblöcken in den Speicher tritt nun das Problem auf, daß das erste oder das letzte Wort des Datenbiockes, oder auch beide ein Teilwort sein können, d. h. daß diese Worte nicht die vollständige Anzahl von 8 Bytes aufweisen. In der bekannten Einrichtung werden nun die Teilworte im Eingangsdatenregister zum Speicher vorerst gespeichert. Hierauf wird das entsprechende Wort aus dem Speicher ausgelesen und die zur Ergänzung des Teilwortes nötigen Bytes ebenfalls im Eingangsregister abgespeichert. Da jedoch die ausgelesenen Daten überprüft werden müssen, kann eine Abspeicherung des nunmehr auf ein volles Datenwort ergänzten Inhalts des Eingangsregisters in dem Speicher erst erfolgen, wenn das ausgelesene Wort mit Hilfe der Prüfbits auf Richtigkeit überprüft worden war. Der gleiche Vorgang läuft dann unter Umständen auch für das letzte Wort des abzuspeichernden Datenbiockes ab, sofern nämlich auch dieses Wort ein Teilwort ist Die beschriebene Einrichtung verursacht also erhebliche Verzögerungen bei der Übertragung von Teildatenblöcken vom Prozessor der Datenverarbeitungsanlage in den Speicher. Zum ersten muß nämlich bei Erhalt eines Teildatenwortes im Eingangsregister des Speichers das bisher im Speicher an der betreffenden Adresse gespeicherte Wort ausgelesen werden. Zum zweiten muß dieses ausgelesene Wort erst durch die Fehlererkennungs- und Fehlerkorrektureinrichtung laufen, um einen eventuellen Einzelfehler kc-Tigieren zu können. Da diese Korrektur in der bekannten Einrichtung im Eingangsregister erfolgt, müssen außerdem noch Einrichtungen vorgesehen werden, die verhindern, daß ein Byte korrigiert wird, welches nicht vom Speicher ausgelesen wurde, sondern vom Prozessor der Anlage erhalten wurde. Der hierzu nötige Aufwand, sowie die durch die bekannte Einrichtung verursachte Zeitverzögerung wirken sich bei der Übertragung von Teildatenblöcken sehr störend aus.Die DE-AS 2 ί 33 323 befaßt sich mit den oben geschilderten Zeit- und Aufwandsnachteilen der bekannten Einrichtung und insbesondere mit dem Fall, daß in einen halbwortorganisierten Speicher, dessen HaIbworte 2 Bytes umfassen, ein Byte neu eingeschrieben werden soll. Zur Verbesserung der bekannten Einrichtung schlägt die DE-AS 21 33 323 vor, die beiden Bytes sowohl in ein erstes, als auch in ein zweites Register auszulesen und für jedes Byte getrennt Prüfbits zu errechnen, wozu in dieser Einrichtung Festwertspeicher verwendet werden. Für jedes Byte müssen vier bis fünf zusätzliche Prüfbits errechnet werden. Durch die Aufteilung in einzelne Bytes, umgeht die bekannte Einrichtung die bei der Kombination von vom Prozessor gelieferten Teilwörtern mit aus dem Speicher ausgelesenen Vollwörtern entstehenden Schwierigkeiten. Dafür muß die bekannte Einrichtung jedoch den Nachteil in Kauf nehmen, daß für jedes Datenbyte außerordentlich viele Prüfbits errechnet werden müssen. Für 8 Bytes bedeutet das die Frrechnune und
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2811318A DE2811318C2 (de) | 1978-03-16 | 1978-03-16 | Einrichtung zur Übertragung und Speicherung eines Teilwortes |
US05/939,314 US4204634A (en) | 1978-03-16 | 1978-09-05 | Storing partial words in memory |
FR7903931A FR2420172A1 (fr) | 1978-03-16 | 1979-02-13 | Dispositif de transfert de blocs de donnees partiels dans un systeme de traitement de donnees |
IT20566/79A IT1166666B (it) | 1978-03-16 | 1979-02-27 | Dispositivo per trasferire e controllare una parola parziale |
JP54028816A JPS5918800B2 (ja) | 1978-03-16 | 1979-03-14 | 部分書込み方法 |
GB7909173A GB2016751B (en) | 1978-03-16 | 1979-03-15 | Data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2811318A DE2811318C2 (de) | 1978-03-16 | 1978-03-16 | Einrichtung zur Übertragung und Speicherung eines Teilwortes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2811318A1 DE2811318A1 (de) | 1979-09-27 |
DE2811318C2 true DE2811318C2 (de) | 1983-02-17 |
Family
ID=6034533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2811318A Expired DE2811318C2 (de) | 1978-03-16 | 1978-03-16 | Einrichtung zur Übertragung und Speicherung eines Teilwortes |
Country Status (6)
Country | Link |
---|---|
US (1) | US4204634A (de) |
JP (1) | JPS5918800B2 (de) |
DE (1) | DE2811318C2 (de) |
FR (1) | FR2420172A1 (de) |
GB (1) | GB2016751B (de) |
IT (1) | IT1166666B (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619913B2 (ja) * | 1984-03-30 | 1994-03-16 | パイオニア株式会社 | ビデオフオ−マツト信号に担持されるデ−タのエラ−訂正方式 |
US4977536A (en) * | 1984-12-10 | 1990-12-11 | Canon Kabushiki Kaisha | Document processor |
US5144628A (en) * | 1988-10-05 | 1992-09-01 | Nec Corporation | Microprogram controller in data processing apparatus |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5357622A (en) * | 1990-09-27 | 1994-10-18 | Dell U.S.A., L.P. | Apparatus for queing and storing data writes into valid word patterns |
JPH05225798A (ja) * | 1991-08-14 | 1993-09-03 | Internatl Business Mach Corp <Ibm> | メモリシステム |
US5721954A (en) * | 1992-04-13 | 1998-02-24 | At&T Global Information Solutions Company | Intelligent SCSI-2/DMA processor |
US5369651A (en) * | 1992-06-30 | 1994-11-29 | Intel Corporation | Multiplexed byte enable bus for partial word writes to ECC protected memory |
US6629168B1 (en) * | 2000-06-15 | 2003-09-30 | Hewlett-Packard Development Company, Lp. | Byte-swapping for efficient use of memory |
KR100855979B1 (ko) * | 2007-02-13 | 2008-09-02 | 삼성전자주식회사 | 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법 |
US8751905B2 (en) | 2011-09-16 | 2014-06-10 | Avalanche Technology, Inc. | Memory with on-chip error correction |
GB2516831B (en) | 2013-07-31 | 2020-10-21 | Advanced Risc Mach Ltd | Error code management in systems permitting partial writes |
CN105355167B (zh) * | 2015-11-13 | 2018-04-06 | 西安诺瓦电子科技有限公司 | Led校正系数数据合并方法 |
US11314588B2 (en) * | 2019-11-11 | 2022-04-26 | Winbond Electronics Corp. | Memory device and multi physical cells error correction method thereof |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3351915A (en) * | 1964-12-30 | 1967-11-07 | Bell Telephone Labor Inc | Mask generating circuit |
US3560942A (en) * | 1968-07-15 | 1971-02-02 | Ibm | Clock for overlapped memories with error correction |
US3573728A (en) * | 1969-01-09 | 1971-04-06 | Ibm | Memory with error correction for partial store operation |
DE2133323C3 (de) * | 1971-07-05 | 1974-08-08 | Ibm Deutschland Gmbh, 7000 Stuttgart | Fehlererkennungs- und Korrekturschaltung für binäre Datensignale |
US3809884A (en) * | 1972-11-15 | 1974-05-07 | Honeywell Inf Systems | Apparatus and method for a variable memory cycle in a data processing unit |
US3883854A (en) * | 1973-11-30 | 1975-05-13 | Ibm | Interleaved memory control signal and data handling apparatus using pipelining techniques |
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
US4058851A (en) * | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
US4100403A (en) * | 1977-04-25 | 1978-07-11 | International Business Machines Corporation | Method and means for discriminating between systematic and noise-induced error in data extracted from word organized memory arrays |
US4157586A (en) * | 1977-05-05 | 1979-06-05 | International Business Machines Corporation | Technique for performing partial stores in store-thru memory configuration |
US4139149A (en) * | 1977-08-31 | 1979-02-13 | Ncr Corporation | Display system |
-
1978
- 1978-03-16 DE DE2811318A patent/DE2811318C2/de not_active Expired
- 1978-09-05 US US05/939,314 patent/US4204634A/en not_active Expired - Lifetime
-
1979
- 1979-02-13 FR FR7903931A patent/FR2420172A1/fr active Granted
- 1979-02-27 IT IT20566/79A patent/IT1166666B/it active
- 1979-03-14 JP JP54028816A patent/JPS5918800B2/ja not_active Expired
- 1979-03-15 GB GB7909173A patent/GB2016751B/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS54127636A (en) | 1979-10-03 |
JPS5918800B2 (ja) | 1984-04-28 |
IT1166666B (it) | 1987-05-06 |
FR2420172A1 (fr) | 1979-10-12 |
GB2016751B (en) | 1982-01-20 |
FR2420172B1 (de) | 1981-11-20 |
GB2016751A (en) | 1979-09-26 |
DE2811318A1 (de) | 1979-09-27 |
US4204634A (en) | 1980-05-27 |
IT7920566A0 (it) | 1979-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2811318C2 (de) | Einrichtung zur Übertragung und Speicherung eines Teilwortes | |
DE2457312C3 (de) | Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung | |
DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE2351791C2 (de) | Datenverarbeitungsanlage | |
DE69114788T2 (de) | Datenübertragungssystem mit Kontrollsummerechenmittel. | |
DE2339636C2 (de) | Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
CH630735A5 (de) | Steuereinrichtung mit einem mikroprozessor. | |
DE2551238C3 (de) | Datenkonzentrator | |
DE2430464A1 (de) | Einrichtung zur fehlergesicherten datenuebertragung | |
DE2145709B2 (de) | ||
DE2353635A1 (de) | Datenverarbeitungssystem und verfahren zur datenverarbeitung | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2335991B2 (de) | Schaltung zur Lenkung eines zur Unterbrechung einer von mehreren Befehls-Recheneinheiten auffordernden Signals | |
DE2900586A1 (de) | Anordnung zum decodieren von codewoertern variabler laenge | |
DE10201865B4 (de) | Speichervorrichtung mit einer Vorauslesedaten-Ordnung | |
DE1935945C3 (de) | Taktsteuereinrichtung für mehrere Speicher und eine ihnen gemeinsame Fehlerkorrektureinrichtung | |
EP0075893A2 (de) | Schaltungsanordnung zum Ausrichten von Speicheroperanden für dezimale und logische Befehle | |
DE1499286B2 (de) | Datenbearbeitungsanlage | |
DE2915113A1 (de) | Busvorrichtung fuer ein datenverarbeitendes system | |
DE1296427B (de) | Datenbearbeitungssystem | |
DE2024584B2 (de) | Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung | |
DE2233164A1 (de) | Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern | |
DE1474090B2 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |