DE2811318A1 - Einrichtung zur uebertragung und speicherung eines teilwortes - Google Patents

Einrichtung zur uebertragung und speicherung eines teilwortes

Info

Publication number
DE2811318A1
DE2811318A1 DE19782811318 DE2811318A DE2811318A1 DE 2811318 A1 DE2811318 A1 DE 2811318A1 DE 19782811318 DE19782811318 DE 19782811318 DE 2811318 A DE2811318 A DE 2811318A DE 2811318 A1 DE2811318 A1 DE 2811318A1
Authority
DE
Germany
Prior art keywords
word
register
data
partial
data block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19782811318
Other languages
English (en)
Other versions
DE2811318C2 (de
Inventor
Horst Barsuhn
Ulrich Olderdissen
Werner 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 (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

knmelderih: IBM Deutschland GmbH
'■)_■'■ Pascal straße 100
i ; -■':' : " 7000 Stuttgart 80
!inrichtung zur übertragung und Speicherung eines Teilwortes
Die Erfindung betrifft eine Einrichtung der im Oberbegriff äes Anspruchs 1 angegebenen Art.
Eine solche Einriehtung ist in der US-PS 3 573 728 beschrieben ur Abspeicherung werden die Daten durch Prüfbits ergänzt, äie zusammen mit den Daten abgespeichert werden * Infolge der Verwendung eines Einzelfehlerkorrektur- und Mehrfachfehlererfeerinuhgscodes können inüner nur vollständige Wörter, die z.B. 8 Bytes enthalten können, zur Berechnung der Prüfbits herangezogen und gespeichert werden. Bei der Abspeicherung von Teiläatenblöcken in den Speicher tritt nun das Problem auf, daß das erste oder das letzte Wort des Datenblockes, oder auch beide ein Teilwort sein können, d.h. daß diese Worte nicht die vollständige Anzahl von 8 Bytes aufwei-sen. In der bekannten Einrichtung werden nun die Teilworte im Eingangsdatenregister zum Speicher yorerst gespeichert. Hierauf wird das entsprechende Wort aus dem Speicher ausgelesen und die zur Ergänzung des reilwortes nötigen Bytes ebenfalls im Eingangsregister abgespeichert. Da jedoch die äusgelesenen Daten überprüft werden tnüssenV 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 Datenblockes 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 Speiqher. Zum ersten muß nämlich bei Erhalt eines Teildaten-
E 7 — —
;\ :y^--T\ ■_:_-_: 909839/0121
281131
Wortes 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 Fehler- ; erkennungs- und Fehlerkorrektureinrichtung laufen, um einen eventuellen Einzelfehler korrigieren 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 sie ti bei der übertragung von Teildatenblöcken sehr störend aus.
!Die DT-AS 2 133 323 befaßt sich mit den oben geschilderten Zeit- und Aufwandsnachteilen der bekannten Einrichtung und insbesondere mit dem Fall, daß in einen halbwortorganisierten iSpeicher, dessen Halbworte 2 Bytes umfassen, ein Byte neu !eingeschrieben werden soll. Zur Verbesserung der bekannten Einrichtung schlägt die DT-AS 2 133 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 nuß 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 Errechnung und Verarbeitung von 32 bis 40 Prüfbits. Es ist klar, äaß diese Lösung für die meisten Datenverarbeitungsanlagen wegen des zu großen Bedarfes an Speicherplatz und Prüfbitsverarbeitungseinrichtungen nicht in Betracht kommt. Zum
77 022
909839/0121
Vergleich sei auf die eingangs genannte US-PS 3 573 728 hingewiesen, in der zu 64 Datenbits nur 8 Prüfbits vorge-'sehen werden müssen.
JDer vorliegenden Erfindung liegt die Aufgabe zugrunde, in ! jeiixer Datenverarbeitungsanlage mit durch Fehlerkorrekturcode Igeschützter Datenübertragung vom Prozessor in den Speicher jder Anlage die Übertragungszeit eines Teilblockes bei minijmalem Sehalturtgsaufwand zu verringern. Diese Aufgabe wird !erfindungsgemäß durch die im Kennzeichen des Anspruches 1 , ,■beschriebene Einrichtung gelöst. j
]Die Erfindung hat den Vorteil, daß die übertragung des Teil- ; jdatenblockes ohne Zeitverzögerung erfolgen kann. Dies wird [dadurch ermöglicht, daß die mit den Teilwörtern zu kombiniejrenden patenwö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 Datfnbiockes 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 Verschiebeschälter hat nur eine einfache Aufgabe zu er- ! füllen und kann daher einfach aufgebaut sein. Er maskiert gewisse Bytes von dem aus. dem Hilfsregister gelieferten Daten- ι wort und läßt dafür die Bytes des Teilwortes vom Prozessor durch. Dabei wird er von einer Kontrollogik gesteuert, welche vom Prozessor der Anlage nur die Startadresse und die FeIdlängenangabe des Teildatenblockes erhalten muß. Entweder stellt'"die Kbntrollogik daraus selbst fest, daß es sich um eine TelIdateriblockübertragung handelt, oder es wird ihr ein solches Funktionssigriai schon vom Prozessor geliefert.
Ein weiterer Zeitvorteil ergibt sich daraus, daß die Vorab-Ausleseoperation der Teilwörter überlappend erfolgen kann.
"977 XS22 -: "—— -/——--■■-— -
^V; Λ 909839/0121
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 des 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ührungsbeispiel der Erfindung soll nun anhand von Fign. dargestellt werden.
Es zeigen:
Fig. 1 die wichtigsten Einheiten einer Datenverarbeitungsanlage, in denen die erfindungsgemäße Einrichtung Verwendung findet,
Fig. 2 die Darstellung eines Datenblockes,
|Fig. 3 ein Ausführungsbeispiel der Erfindung zur überj tragung vom Prozessor und Abspeicherung im
Pufferspeicher des in Fig. 2 dargestellten i Datenblockes,
Fig. 4 Einzelheiten des in Fig. 3 gezeigten Verschiebeschalters und der Kontrollogik und
Fig. 5 den zeitlichen Ablauf der Vorab-Ausleseoperation und der übertragung des Teildatenblockes vom Prozessor zum Pufferspeicher.
1GE 977 022
909839/0121
281131
J . ■■-■.■■■■■ . , - 7 -
[Pig. 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 j Chip untergebracht sein, wie der Speicher 1. Der Pufferspeicher: 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 j 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 Fig. 1 gezeigten j Prozessor 4 ist eine Fehlererkennungs- und -korrektureinrich= | tung 3 vorgesehen, welche mit ECC angegeben ist. Beim Ein- i schreiben eines Wortes von 8 Bytes werden durch die Einrich- ; tung 3 zu diesem Wort Prüfbits nach einem vorgegebenen Code ! erzeugt und zusammen mit dem Wort im Speicher abgespeichert. | Z.B. wird zu jedem Wort von 8 Bytes ein zusätzliches 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.
GE 977 022
909839/0121
28Π31
~ 8 «■
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 Daten- i bits ausgelegt, so daß bei übertragung von Teilwörtern diese jmit der zugehörigen Restinformation auf ein ganzes Wort ergänzt werden müssen.
;Fig. 2 zeigt einen praktischen Fall, in dem die oben erwähnte [Schwierigkeit bei der übertragung von Teilwörtern auftritt. !Fig. 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 0 dieses !Teilblockes nur Teilwörter darstellen, also nicht die voll-
ständige Länge von 8 Bytes haben. Aus Fig. 2 ist ersichtlich, daß beim Abspeichern dieses Teildatenblockes im Pufferspeicher das erste Byte überhaupt nicht, das zweite Byte a nur teilweise, die nächsten 5 Bytes vollständig, und das achte Byte ο wieder nur teilweise überschrieben würden.
{Fig. 2c zeigt den Pufferspeicherinhalt nach der Speicherung ides 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 1 und 3 bis 7 keine Schwierigkeiten gibt. Hingegen muß erst das Teilwort A, das nur 7 Bytes aufweist, mit dem Byte 9 aus äem Pufferspeicher 2 kombiniert werden, bevor es durch die CC-Einrichtung 3 laufen kann. Dasselbe gilt sinngemäß für as Teilwort 0, das die Bytes 57 bis 60 enthält und «omit rst durch die Bytes 61 bis 64 aus dem Pufferspeicher 2 eränzt werden muß, bevor dieses letzte Wort durch die Einrichung 3 laufen kann.
Sin Ausführungsbeispiel der Erfindung zur Lösung der geschillerten Schwierigkeiten ist in Fig. 3 gezeigt. Bei der Oberbragung von Daten vom Pufferspeicher 2 in den Prozessor 4
jelangen die Daten über den Richtungsschalter RS 1, ein erstes 3E
909839/0121
JDatenregister 12, die ECC-Einrichtung 3, ein zweites Datenxegister 10 und einen zweiten Richtungsschalter RS 2 über -die Leitung 14 in den Prozessor 4. Die geschilderten Dateniwege weisen jeweils eine Datenbreite von 8 Bytes auf. Zum Pufferspeicher 2 gelangen die Daten über einen Verschiebeschalter 6, dessen Funktion nachfolgend noch genauer erklärt wird, den Richtungsschalter 9, das Datenregister 12, die Einrichtung 3, das Datenregister 10 und den Richtungsschalter
Erfindungsgemäß werden nun die beiden Wörter a und o, mit denen später die Teilwörter A und 0 aus dem Prozessor kombiniert werden sollen, vor der übertragung des Teildatenblockes aus dem Prozessor in den Speicher 2 in einer Vorab-Auslesejoperation aus dem Pufferspeicher 2 ausgelesen. Dabei wird das Wort a zuerst ausgelesen und gelangt über den Richtungsschalter 9, das Datenregister 12 und die ECC-Einrichtung 3 zum Datenregister 10. Dieses Datenregister ist aus einem Master-Teil DR 2M und einem Slave-Teil DR 2S aufgebaut. Ein solcher Aufbau bietet Vorteile beim Ü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 Ausfuhrungsform der Erfindung wird nun das Wort a schon am Ausgang des 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 DR 1M und einem Slave-Teil DR 1S 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 pR 2M und bleibt dort für einen Zyklus gespeichert.
9098 39/01 21
beim letzten Wort O notwendige Kombinierung dieses Teilwortes mit dem Wort o, das zu diesem Zeitpunkt noch Im Hilfsregister 5 gespeichert ist, erfolgt auf ähnliche Weise wie
GE 977 022 "~"
909839/0121
: j
- 10 - ;
Nach diesen Vorab-Ausleseoperatlonen, welche überlappend erfolgen können, kann die übertragung des Teildatenblockes vorn Prozessor 4 In den Pufferspeicher 2 beginnen. Da das erste
, i
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 P und H zu gleicher Zeit das Teil- J wort A und das Wort a aus dem Hilfsregister 5 angeliefert j bekommt. Eine Kontrollogik 7 liefert ein entsprechendes Mas- j kierungssignal 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 j Position durchgelassen werden. Das auf diese Weise gebildete ' Vollwort kann nun über den Richtungsschalter 9, das Datenre- j Igister 12 in die ECC-Einrichtung 3 übertragen werden, wo es i von dieser Einrichtung ohne Schwierigkeit zur Erzeugung von j Prüfbits verwendet werden kann.
Sobald 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 bis zu seiner späteren Verwendung gespeichert.
:Hier soll darauf hingewiesen werden, daß im Register 5 nur jfehlerfreie Wörter gespeichert werden, da die Wörter a und ο bereits durch die ECC-Einrichtung gelaufen sind. Somit ist der restliche Weg der Datenübertragung für das kombinierte Wort a' (Fig. 2c) aus der ECC-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 übertragen.
eim Teilwort A. Zur gleichen Zeit nämlich, zu der das Teil-Ort 0 dem Verschiebeschalter 6 zugeführt wird, wird auch das tort ö aus dem Hilfsregister 5 ausgelesen und über die Leiung16 dem Verschiebeschalter 6 zugeführt. Die Kontrollogik iefert hierzu ein Maskierungssignal, das die Bytes 57 bis 60 us dem Prozessor und die Bytes 61 bis 64 aus dem Hilfsregister; in der richtigen Position zum anschließenden Datenpfad durchsaßt. ■-;;". '... - :-/_ ■' . - !
a Vom Prozessor 4 zur ECC-Einrichtung 3 die Datenbytes zuammen mit ihrem Paritätsbit übertragen werden, entstehen bei er Kombination im Schalter 6 in bezug auf die Paritätsbits eine Schwierigkeiten, zumal auch vom Hilfsregister 5 zum ichalter 6 die Datenbytes zusammen mit ihren zugehörigen aritätsbits übertragen werden. Jedes Datenbyte wird also om Schalter 6 zusammen mit seinem Paritätsbit durchgelassen.
Die beschriebene Einrichtung gestattet also mit Hilfe nur eines zusätzlichen Registers, nämlich des Hilfsregisters 5, die übertragung eines Teildatenblockes vom Prozessor 4 in den Speicher 2, und zwar praktisch ohne Zeitverlust. Die Vorab-Aus-Leseoperation kann dabei sogar teilüberlappend erfolgen, wie weiter unten noch erläutert wird. Entscheidend ist jedenfalls, laß die Kombination der Teilwörter des Teildatenblockes mit den entsprechenden Pufferspeicherwörtern sozusagen "im Fluge" geschieht. Die Datenübertragung wird also durch die notwendige ombinationsoperation nicht unterbrochen. Dabei ist zur Speicherung der beiden Pufferspeicherwörter a und ο nur ein einziges Registernotwendig, das nach einer besonders vorteilhaften Aueführungsform als zweites Slave-Register zum tester-Tell DR 2M ausgeführt sein kann, also nur einen halben toglsteraufwand erfordert.
Sur Steuerung der übertragung des Teildatenblockes ist hauptsächlich die Kontrollogik 7 vorgesehen. Wenn nämlich Im Pro- f
909839/0121
zessor 4 im Operationsregister ein Befehl decodiert wird, welcher sich auf eine Teildatenblock-Übertragung bezieht, erhält die Kontrollogik 7 über die Leitung 18 ein entsprecheniden 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 j durchzuführen. Zum richtigen Zeitpunkt veranlaßt die Kontrol- ! logik 7 dann über die Leitung 24 den Prozessor 4 mit der Logik-) übertragung zu beginnen. Dieser Zeitpunkt kann beispielsweise I zusammenfallen mit der Übertragung des Wortes a vom Master- j Teil DR 2M in das Hilfsregister 5. j
; I
Fig. 4 zeigt die Kontrollogik 7 und den Verschiebeschalter 6 mehr im einzelnen. Zur Durchführung einer Teildatenblock- ! übertragung enthält die Kontrollogik 7 eine Adreßarithmetik- [ Einrichtung 32. Diese Einheit erhält die zur Adressenberechnung inötigen Angaben von einem Feldlängenregister 26, einem Regi- [ ister für die Startadresse 28 und einem Adreßzähler 30, der ! ;mit einer Zeitsteuerung der übertragungseinrichtung kombiniert ist. Die Einheiten 26, 28 und 30 erhalten die Angaben über idie Leitung 18 vom Prozessor 4, wenn im Operationsregister des Prozessors eine Operationsangabe OP decodiert wird, die auf eine Teildatenblock-Übertragung 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 wird daraufhin ein Vorab-Lesezyklus in der Puffersteuerung 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
GF-&77-O22
909839/0121
; - 13 -
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.
|Im Schalter 6 muß nun das Wort A mit dem Wort a aus dem Hilfει -."..."■.-
register 5 kombiniert werden. Der Verschiebeschalter 6 muß ,'zu diesem Zwecke das Byte 9 des Wortes a und die Bytes 10 bis 16 des Wortes A zum Richtungsschalter 9 übertragen. Hierjzu weist in einer möglichen Ausführungsform der Verschiebeschalter 6 acht Byte-'Tore für die Bytes 1 bis 8 eines Wortes .auf. Jedes Byte-Tor empfängt eingangsseitig das betreffende Byte sowohl vom Prozessor am Eingang P, als auch das betreffende !Byte vom Hilf sregister 5 am Eingang H. Die 8 Byte-Eingänge vom !Prozessor sind in Fig. 4 mit P1 bis P8 und die acht Byte-Eingänge vom Hilfsregister 5 mit H1 bis H8 bezeichnet. Jedes !Byte-Tor erhält von einer Maskier-Steuerung 34 in der Konjtrollogik 7 ein Steuersignal P/H und läßt als Funktion dieses Isteuersignales entweder das Byte vom Prozessor oder das Byte |vom Hilf sregister 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 nur Bytes vom Hilfsregister 5 durchgelassen werden. Die Maskier-Steuerung 34 wird ihrerseits von den Angaben über die Teilworte A und 0 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.
Fig. 5 zeigt nocheinmal in übersichtlicher Weise den Zeitablauf bei der übertragung eines Teildatenblockes. Hierzu sind in Fig. 5 die Zyklen numeriert, wobei in der gewählten, bevorzugten Ausführungsform ein Zyklus in einen Master-Teil M und
GET977 Ö22T~ ~
909839/0121
einen Slave-Teil S unterteilt ist. Die zeitliche Grenze beider Unterzyklen kann dabei in der Hälfte des Zyklus liegen; es kann aber auch für den Zyklus M mehr Zeit vorgesehen werden als für den Zyklus S.
Wie in Fig. 5 gezeigt ist, wird im Zyklus 1 das Wort a aus dem Puffer ausgelesen und in den Master-Teil DR 1M des ersten Datenregisters 12 gebracht, über den Slave-Teil dieses Datenregisters gelangt das Wort a dann in den Master-Teil DR 2M des zweiten 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 j das Register DR 1M erfolgen und somit die Vorab-Ausleseopera- ; tion zeitlich überlappend ausgeführt werden. Im vierten | Zyklus wird das Wort a aus DR 2M in das Hilfsregister 5 ge- j bracht. Im selben Zyklus kann bereits die Datenübertragung vom | Prozessor durch Übertragung des ersten Wortes A, das im gezeig-i ten 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 1M. Ebenfalls im Master-Teil dieses Zyklus 5 kann das Wort ο in das Register DR 2M eingelesen werden, da dieses Register im vorhergehenden Zyklus !bereits geräumt worden war. Im Slave-Teil des Zyklus 5 wird das Wort ο in das Hilfsregister 5 eingelesen und bleibt dort gespeichert, bis es am Ende der Teildatenblock-Übertragung, d.h. im gewählten Beispiel im Zyklus 11, mit dem letzten Wort 0 des Teildatenblockes, das im gewählten Beispiel ebenfalls ein Teilwort ist, kombiniert wird.
Cm Slave-Teil des Zyklus 5 wird vom Prozessor das nächste fort ausgesendet, das in Fig. 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 Teildaten-Dlockes ausgesendet und gelangen über den Verschiebeschalter 6, fien Richtungsschalter 9, das erste Datenregister 12, die ECC-GE 97? 022 —
909839/0121
Einrichtung 3, das zweite Datenregister 10 und den Richtungsjschalter 8 in den Pufferspeicher 2. Aus Fig. 5 ist ersieht- !lich, daß das erste zu speichernde Wort a1, das aus der Kombination des Teilwortes A mit dem ursprünglich im Pufferspei- , eher 2 gespeicherten Wort a hervorgeht, im Master-Teil des > Zyklus 8 in den Pufferspeicher eingeschrieben werden kann. In den nachfolgendenfünf Zyklen, d.h. in den Zyklen 9 bis i 13, werden die nächsten Worte des Teildatenblockes in den ; Pufferspeicher 2 eingeschrieben.
■ - - t
Dasim Slave-Teil des Zyklus 10 vom Prozessor ausgesendete J letzte Wort 0 des Teildatenblockes, das im geschilderten Fall j ein Teilwort ist, gelangt nach Kombination mit dem vom Hilfs- ! register 5 geholten Wort ο im Master-Teil des Zyklus 11 in das J Register DR 1M. Von dort gelangt dieses letzte Wort o1 über das| Register DR TS, die Fehlererkennungs- und -korrektureinrich- ί tüng 3, das zweite Dätenregister 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 nocheinmal 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 Fign. 3 und 5 sind die beiden Datenregister 10 und 12 jeweils als aus einem Master-Teil und einem Slave-Teil aufgebaut dargestellt. Dieser Aufbau ist jedoch zur Ausführung der Erfindung nicht unbedingt notwendig. In bezug auf das Daten-GE 977 u22 ~^~
909839/0121
register 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 des Datenregisters 10 und dem Eingang des Richtungsschalters angeschlossen werden. In der gezeigten vorteilhaften Ausführungsform nach den Fign. 3 und 5 jedoch ist zur Realisierung des Hilfsregisters 5 nur das Hinzufügen eines zusätzlichen Slave-Teiles zum Datenregister 10 notwendig. Ein zusätzlicher Master-Teil wird also in dieser vorteilhaften Ausführungsform eingespart.
GE "577 (522 """
909839/0121

Claims (4)

  1. 281131
    PATEHTANS PRgCHE
    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 Fehlerkorrektureinrichtung in den Speicher eingelesen wird, dadurch gekennzeichnet, daß zur übertragung eines Datenblockes (Fig. 2), dessen Beginn - (A) und/oder Endwprt (0) 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-Ausleseoperation) auch das an der letzten Speicherstelle des Datenblockes im Pufferspeicher gespeicherte Datenwort (o) ausgelesen und in einem j Eingangsregister (10) zwischen der Fehlerkorrektur-[ einrichtung (3) und dem Pufferspeicher (2) gespeichert wird,
    daß ein Verschiebeschalter (6, Fig. 3) zwischen dem Prozessor (4) und der Fehlerkorrektureinrichtung (3) zur Kombination des Beginnteilwortes (A) mit dem ersten Speicherwort (a) und zur Kombination des End- [ teilwortes (0) mit dem letzten Wort (o) vorgesehen j ist, wobei nach der zuerstgenannten Kombination das letzte Speicherwort (o) aus dem Eingangsregister (10) j in das Hilfsregister (5) nachrückt, j
    und daß eine Kontrollogik (7, Fig. 3) vorgesehen ist, ; welche mit Hilfe der Startadresse (SA) und Feldlängen- j angabe (FL) des Teildatenblockes den Verschiebeschalter (6) während der Übertragung des Beginnteilwortes (A)
    GE 977 022
    909839/0121
    und des Endteilwortes (0) durch Byte-Maskierungssignale (P/H) steuert.
  2. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Eingangsregister (10) aus einem mit dem Ausgang der Pehlerkorrektureinrichtung (3) verbundenen Master-Register (DR 2 M) und einem damit verbundenen Slave-Register (DR 2 S) 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 einem Operationsregister (OP REG) im Prozessor (4) ver- i bunden ist, (Leitung 18) und eine Adreßarithmetik- I Einheit (32) aufweist, welche aus der Startadresse (SA,j Register 28) und der Feldlängenangabe (FL, Register 26)j des Teildatenblockes die Adresse des Endteilwortes (0, Fig. 2) berechnet und daß die Adreßarithmetik (32) mit einer Maskensteuerung (34) zur Erzeugung der Maskierungssignale (P/H) verbunden ist.
  4. 4. Einrichtung nach Anspruch 3, gekennzeichnet durch
    einen Adreßzähler und eine Zeitsteuerung (30), welche zusammen mit der Adreßarithmetik (32) an eine Pufferspe;. chersteuerung (22) zur Steuerung der Vorab-Ausleseoperation, sowie an den Prozessor (4) zur Steuerung des Beginnes der Datenübertragung angeschlossen sind (Leitung 20 bzw. 24).
    ÖE 97ΤΌ22
    909839/0121
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 true DE2811318A1 (de) 1979-09-27
DE2811318C2 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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573728A (en) * 1969-01-09 1971-04-06 Ibm Memory with error correction for partial store operation
DE2133323B2 (de) * 1971-07-05 1974-01-10 Ibm Deutschland Gmbh, 7000 Stuttgart Fehlererkennungs- und Korrekturschaltung für binäre Datensignale

Family Cites Families (9)

* 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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573728A (en) * 1969-01-09 1971-04-06 Ibm Memory with error correction for partial store operation
DE2133323B2 (de) * 1971-07-05 1974-01-10 Ibm Deutschland Gmbh, 7000 Stuttgart Fehlererkennungs- und Korrekturschaltung für binäre Datensignale

Also Published As

Publication number Publication date
US4204634A (en) 1980-05-27
JPS5918800B2 (ja) 1984-04-28
FR2420172B1 (de) 1981-11-20
JPS54127636A (en) 1979-10-03
DE2811318C2 (de) 1983-02-17
IT7920566A0 (it) 1979-02-27
IT1166666B (it) 1987-05-06
GB2016751B (en) 1982-01-20
FR2420172A1 (fr) 1979-10-12
GB2016751A (en) 1979-09-26

Similar Documents

Publication Publication Date Title
DE1901228C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2811318A1 (de) Einrichtung zur uebertragung und speicherung eines teilwortes
DE2145709C3 (de) Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können
DE1449765B2 (de) Einrichtung zur Abfrage eines assoziativen Speichers
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE1951552B2 (de) Speichereinrichtung mit Sicherung durch Schutzschlüssel
DE2339636A1 (de) Programmsteuereinrichtung
DE2551238B2 (de) Datenkonzentrator
DE2429067C3 (de) Speicherschaltung
DE2353635A1 (de) Datenverarbeitungssystem und verfahren zur datenverarbeitung
DE2617485B2 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE3151120A1 (de) Datenverarbeitungsanlage mit arbeitsspeicher und mehreren in serie geschalteten prozessoren
DE3031964A1 (de) Rechnersystem, bei dem sich der programmspeicher zum durchlaufen eignet, wobei einem befehl nicht zugeordnete daten einzeln detektiert werden
DE2720842C3 (de) Datenübertragungssystem
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
DE1935945B2 (de) Taktsteuereinrichtung fuer mehrere speicher und eine ihnen gemeinsame fehlerkorrektureinrichtung
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE1499286B2 (de) Datenbearbeitungsanlage
DE2714106A1 (de) Verfahren zum zwischenspeichern von informationen in einem fifo-speicher
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung
DE2606295C3 (de) Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen

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