DE2811318C2 - Einrichtung zur Übertragung und Speicherung eines Teilwortes - Google Patents

Einrichtung zur Übertragung und Speicherung eines Teilwortes

Info

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
Application number
DE2811318A
Other languages
English (en)
Other versions
DE2811318A1 (de
Inventor
Horst 7031 Holzgerlingen Barsuhn
Ulrich 7033 Herrenberg Olderdissen
Werner 7031 Holzgerlingen Schmidt
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
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 IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Priority to DE2811318A priority Critical patent/DE2811318C2/de
Priority to US05/939,314 priority patent/US4204634A/en
Priority to FR7903931A priority patent/FR2420172A1/fr
Priority to IT20566/79A priority patent/IT1166666B/it
Priority to JP54028816A priority patent/JPS5918800B2/ja
Priority to GB7909173A priority patent/GB2016751B/en
Publication of DE2811318A1 publication Critical patent/DE2811318A1/de
Application granted granted Critical
Publication of DE2811318C2 publication Critical patent/DE2811318C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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/1056Updating 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.
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
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
Wird ci2S NVorl O ΪΓΪ da*· »-Ijlf^rPiJictpr S pinijplpcpn ijnrj
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)

  1. 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. 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. 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
DE2811318A 1978-03-16 1978-03-16 Einrichtung zur Übertragung und Speicherung eines Teilwortes Expired DE2811318C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
IT7920566A0 (it) 1979-02-27
US4204634A (en) 1980-05-27
GB2016751A (en) 1979-09-26
FR2420172A1 (fr) 1979-10-12
IT1166666B (it) 1987-05-06
JPS54127636A (en) 1979-10-03
JPS5918800B2 (ja) 1984-04-28
GB2016751B (en) 1982-01-20
FR2420172B1 (de) 1981-11-20
DE2811318A1 (de) 1979-09-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
DE69114788T2 (de) Datenübertragungssystem mit Kontrollsummerechenmittel.
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
DE2712224A1 (de) Datenverarbeitungsanlage
CH630735A5 (de) Steuereinrichtung mit einem mikroprozessor.
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
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
DE2233164C3 (de) Schaltungsanordnung zur Übertragung von aufeinanderfolgenden Bitstellen zwischen zwei Registern
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
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
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