DE2811318A1 - Einrichtung zur uebertragung und speicherung eines teilwortes - Google Patents
Einrichtung zur uebertragung und speicherung eines teilwortesInfo
- 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
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 (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)
- 281131PATEHTANS PRgCHEEinrichtung 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, jund 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 022909839/0121und des Endteilwortes (0) durch Byte-Maskierungssignale (P/H) steuert.
- 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. 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. 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ΤΌ22909839/0121
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)
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)
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)
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 |
-
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
Patent Citations (2)
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 |