DE2117581B2 - Einrichtung zur Adressenprüfung - Google Patents
Einrichtung zur AdressenprüfungInfo
- Publication number
- DE2117581B2 DE2117581B2 DE2117581A DE2117581A DE2117581B2 DE 2117581 B2 DE2117581 B2 DE 2117581B2 DE 2117581 A DE2117581 A DE 2117581A DE 2117581 A DE2117581 A DE 2117581A DE 2117581 B2 DE2117581 B2 DE 2117581B2
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- memory
- acb
- control
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Description
Die Erfindung betrifft eine Einrichtung zur Adressenprüfung der im Oberbegriff des Anspruchs 1 angegebenen
Art.
Zur Speicherung der Mikroprogramm-Befehle wurden früher Festwertspeicher verwendet. Diese Speicher
hauen von Vorteil einer geringen Zugriffszeit, doch war eine Änderung des Mikroprogramms nur schwer
möglich. Deshalb ist man dazu übergegangen, auch das Mikroprogramm im Hauptspeicher der Datenverarbeitungsanlage
zu speichern. Das Mikroprogramm besteht aus Steuerworten, welche in bekannter Weise eine
Adressenangabe sowie einen Funktionsteil aufweisen. Bisher wurde zur Aufnahme des Mikroprogrammes ein
fester Bereich des Hauptspeichers reserviert. Die Abgrenzung zwischen Datenspeicher und Steuerspeicher
erfolgte dabei durch Verdrahtungsmaßnahmen Durch diese feste Verdrahtung war eine Änderung des
Umfangs der beiden Speicherbereiche nicht möglich. In der Praxis kann es vorkommen, daß ein Benutzer nur ein
Mikroprogramm von relativ geringem Umfang benötigt, jedoch eine relativ große Datenmenge, außer dem
Benutzer-Makroprogramm, speichern muß. Auch der umgekehrte Fall ist denkbar, daß relativ wenig Daten
gespeichert werden müssen, jedoch ein relativ großer Bereich zur Aufnahme des Mikroprogramms notwendig
ist.
Eine Datenverarbeitungsanlage mit einem Speicher, der sowohl Programmbefehle als auch die zu verarbeitenden
Daten enthält, ist aus der DE-AS 12 67 888 bekanntgeworden. Eine Überprüfung auf richtige
Adressierung wird in dieser Einrichtung dadurch erzielt, daß für Befehle einerseits und Daten andererseits
verschiedene Paritäts-Codierungsvorschriften verwendet werden. Nach dem Auslesen der Information wird
überprüft, ob die richtige Information ausgelesen wurde. Damit wird verhindert, daß Datenwörter als Befehlswörter
und umgekehrt, interpretiert werden. Ein Mikroprogramm-Steuerspeicherbereich ist jedoch in
der bekannten Einrichtung nicht vorgesehen, und es sind auch keine Maßnahmen zur variablen Festlegung einer
Grenze zwischen den Speicherbereichen für Programme und Daten beschrieben.
Die DE-AS 12 47 707 beischreibt eine Speicherschutzeinrichtung,
welche eine Überprüfung dahingehend gestattet, ob die zv~ Adressierung verwendeten Daten
sich auf den dem gerade ablaufenden Programm zugeordneten Speicherbereich beziehen. Hierzu wird
jedem, einem Programm zugeordneten Speicherbereich, eine Kennzahl oder auch die beiden Adressengrenzen
des Bereiches zugeordnet Die vom Programm bereitgestellte Adresse wird dann z. B. mit den beiden
Adressengrenzen verglichen und festgestellt, ob die bereitgestellte Adresse innerhalb dieser Grenzen liegt
und abhängig vom Resultat dieses Vergleichs die Adressierung gestattet oder nicht.
Innerhalb eines bestimmten Speicherbereiches können die Befehle wohl aufeinanderfolgend gespeichert
werden, doch sind in dem betreffenden Speicherbereich auch die von diesem Programm zu verarbeitenden
Daten abzuspeichern. Die genannten Grenzen, die an sich variabel gewählt werden können, beziehen sich also
nicht auf Grenzen zwischen Befehlen und Daten.
Die CH-PS 4 56 205 beschreibt eine Speicherschutzeinrichtung, weiche in ähnlicher Weise wie oben
dargestellt, den Zugriff zu Speicherbereichen mittels Adressenvergieich schützen kann. Zusätzlich kann der
Schutz in dieser CH-PS noch von der Art der Operation — Lesen oder Schreiben — abhängig gemacht werden
und auf periphere Speicher ausgedehnt werden.
Auch die zuletzt beschriebene Einrichtung berücksichtigt jedoch nicht die beim Schutz eines Mikroprogrammspeichers
vorliegenden Verhältnisse. Diese sind darin zu sehen, daß in dem für das Mikroprogramm
vorgesehenen Speicherbereich nur Mikroinstruktionen gespeichert sind, während die Anwendungsprogramme,
zusammen mit den von ihnen zu verarbeitenden Daten, in anderen Speicherbereichen untergebracht sind.
Der Erfindung liegt daher die Aufgabe zugrunde, in einer mikroprogrammierten Datenverarbeitungsanlage
der im Oberbegriff des Anspruchs 1 angegebenen Art die Grenze zwischen Datenspeicher- und Steuerspeicherbereich
leicht veränderbar zu machen und eine Überprüfung zu ermöglichen, ob der richtige Speicherbereich
aufgerufen wird.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Anspruchs 1 beschriebenen Merkmale
gelöst.
Die Erfindung hat den Vorteil, daß der Hauptspeicherbereich
nach den Bedürfnissen des Benutzers flexibel, d. h. leicht veränderbar, in einen Datenspeicherbereich
und einen Steuerspeicherbereich gewünschten Umfangs unterteilt werden kann. Dabei wird vorteilhafterweise
für das Mikroprogramm ein ausreichend großer Bereich zur Verfügung gestellt und der Rest des
Hauptspeichers für die Problemdaten und das Benutzerprogramm freigehalten. Bei einer Änderung des
Umfanges der beiden Bereiche sind keine Änderungen in der Verdrahtung der Maschine nötig, sondern es
genügt einfach, in das Adressenprüfungs-Grenzregister eine neue Information einzuspeichern. Ferner wird die
Adressierung des Hauptspeichers nach der Erfindung dadurch erleichtert, daß für die beiden Bereiche
ähnliche Adressenwerte benutzt werden.
Eine -iorteilhafte Weiterbildung ist im Anspruch 2 gekennzeichnet.
Die im Anspruch 2 gekennzeichnete Maßnahme gestattet es, das Mikroprogrammsteuerwort in seinem
Umfang zu reduzieren, da auf diese Weise weniger Adressenbits im Mikroprogrammsteuerwort enthalten
sein müssen. Auch können die bisher verwendeten Basisregister zur Lieferung dieser Teiladresse entfallen.
Ein Ausführungsbeispiel der Erfindung soll nun anhand der Figuren näher erläutert werden. Es zeigen
Fig. la und Ib ein Blockschaltbild des Adressenprüfungs-Grenzenregisters
mit den dazugehörigen Steuerschaltungen,
Fig. 2 die Anordnung des Hauptspeicher-Adressenregisters.
Das Adressenprüfungs-Grenzenregister ACB, Fig. Ib, kann im Zusammenhang mit einem Hauptspeicher
verwendet werden, welcher in einen Datenspeicher und einen Steuerspeicher unterteilt ist. Das Makroprogramm
(Programminstruktion) wird dabei im Datenspeicher und die Steuerworte des Mikroprogramms
werden im Steuerspeicher gespeichert. Die zur Verarbeitung kommenden Daten werden im Datenspeicher
abgespeichert.
Zur Adressierung des Hauptspeichers 1, F i g. 2, ist ein Adressenregister 3 vorgesehen, über welcnes sowohl
der Datenspeicher Xb als auch der Steuerspeicher Xa adressiert werden.
Je nach gewünschter Konfigurat:on werden für den
Datenspeicher Ib und den Steilerspeicher la genügend
große Bereiche des Hauptspeichers 1 vorgesehen. Das Adressenprüfungs-Grenzenregister ACB wird übereinstimmend
mit diesen Bereichen sowie der Grenze zwischen diesen Bereichen mit bestimmten Informationen
geladen. Das Register ACB erfüllt folgende Aufgaben.
1. Die hochwertigen Adressenbits einer Steuerspeicheradresse
werden geliefert, was zu einer Verminderung der Anzahl Adressenbiis, welche in
einem Mikroprogrammsteuerwort vorgesehen werden müssen, führt. Hierdurch wird also auch der
Gesamtumfang des Steuerwortes reduziert.
2. Die hochwertigen Adressenbits, welche das Register ACB und/oder die vom Mikroprogramm
gelieferte Adresse zur Verfügung stellen, werden modifiziert, wenn dies notwendig ist.
3. Die Grenzadresse zwischen dem Datenspeicher und dem Steue. speicher wird angebogen, und ein
Fehlersignal wird erzeugt, wenn der Datenspeicher adressiert wird, wo der Steuerspeicher adressiert
werden sollte und umgekehrt.
4. Es werden Informationsdaten zur Verfügung gestellt über die Art (intern-extern) und den
Umfang des Hauptspeichers, sowie über die Systemart — Simplex (ein Prozessor) oder Duplex
ί (zwei Prozessoren).
In einer bevorzugten Ausführungsform enthält das Adressenprüfungs-Grenzenregister ACB 13 Bits (ohne
Paritätsbits) zur Angabe der oberen Grenzadresse des
ίο Datenspeichers und von Informationen, welche es
gestatten, die vier hochwertigen Adressenbits des Steuerspeichers zu bestimmen. Das Register ACB
schafft also die Möglichkeit, für einen Hauptspeicher bestimmter Größe verschiedene Speicherbereiche für
den Datenspeicher und den Steuerspeicher vorzusehen, ohne daß die Speichereinrichtungen selbst in irgendeiner
Weise an diese Unterteilung angepaßt werden müssen. Für die verschiedenen Anforderungen verschiedener
Benutzer der Datenverarbeitungsanlage kann
2<) also jeweils das optimale Verhältn. zwischen Datenspeichergröße
und Steuerspeichergröß : gewählt werden. Mit Hilfe des Registers ACB können auch interne
oder externe Speicheradressen bestimmt werden, wobei unter dem internen Speicher die maximale Speichergröße
ve standen wird, welche in der Zentraleinheit untergebracht werden kann.
Bei jedem Zugriff zum Steuerspeicher la oder Datenspeicher Xb wird die dem Hauptspeicheradressenregister
3 zugeführte Adresse mit der im Register ACB
jo gespeicherten Grenzadresse verglichen und festgestellt,
ob die angebotene Adresse gleich oder größer ist als die Grenzadresse im Falle eines Zugriffs zum Steuerspeicher
la, oder kleiner ist als die Grenzadresse im Falle eines Zugriffs zum Datenspeicher Xb. Wenn der
Vergleich nicht zufriedenstellend verläuft, wird ein Fehlersignal erzeugt. In einer bevorzugten Ausführungsform
geben neun Grenzadressenbits die Grenze in Stufen von jeweils 2000 Bytes an, bis zu einem
maximalen Speicherumfang von 1 048 576 Bytes.
Die drei niederwertigen Bits 5, 6 und 7 des ACB-Registers, Byte I1 zeigen an, ob in der Anlage ein
oder zwei Prozessoren vorgesehen sind (Bit 5), die beide den Hauptspeicher benutzen, sowie den Umfang des
Hauptspeichers (Bits 6 und 7), weicher extern zur Zentraleinheit untergebracht ist und gestatten die
Modifizierung der Steuerwortbits, welche vom ACB-Register und/oder vom Mikroprogramm geliefert
werden, und zur Adressierung des Steuerspeichers bestimmt sind.
Das /4Cß-Registsr ist in Fig. Ib gezeigt und in zwei
Teile 30a und 306 unterteilt. Im Teil 30a werden die Bus 3 bis 7 des Bytes 0 gespeichert, wobei die Bits 0 bis 2
d:ese^ 3yte 0 in der gezeigten Ausführungsform nicht
verwendet werden. Im Teil 30£> des ,4CÄ·Registers
werden die Bits 0 bis 7 des Byte 1 gespeichert. Das Laden des ACB-Registers erfolgt zusammen mit dem
Mikroprogramm bei jeder neuen Benutzung der Datenverarbeitungsanlage durch einen neuen Benutzer
(Kunden). Auf diese Weise werden die Speichergrößenanforderungen des Benutzers berücksichtigt.
Das zur Adressierung des Hauptspeicher? 1 vorgesehene
Adressenregister 3 ist in F i g. 2 gezeigt und enthält die Register Ml1 Ml und M 3 (110, 111 und 112). Die
Ausgangsleitungen * 16,117 und 118 dieser Adressenre-
hr) gister sind mit Hauptspeichertreiberschaltungen 113
verbunden. Mit den Registern 111 und 112 sind zwei Unterstützungsregister Λ/2 und Λ/3 (119 und 120)
verbunden. Adressen für Zugriffe zum Datenspeicher 1 b
oder Steuerspeicher Xn werden in den Registern M I.
M 2 und M3 gespeichert, wobei das M3-Register acht
Bits umfaßt und den niedcrwertigen Teil der Adresse spcicherl. Durch dieses Byte von acht Bits kann eines
von 64 Worten in jedem Grundspeichermodul adressiert werden. Das iV/2-Register hat ebenfalls einen
Umfang eines Bytes, und das /V/1-Register speichert
\ier Bits, durch welche die verschiedenen Grundspcichermoduln
adressiert werden. Das niederwertigc Bit 7 im Register /V/3 bestimmt die Byteauswahl. Bit 6
im Register M3 bestimmt die Halbwortauswahl und Bit 5 dieses Registers die Wortauswahl. Durch die Bits 0 bis
5 im Register M 3 kann also eines von 64 Worten, d. h. ein Modul, ausgewählt werden. Ober die acht Bits im
Register M 2 wird eine Auswahl zwischen den 256 Moduln, d.h. zwischen ungefähr 16 000 Worten
getroffen. Mit Hilfe der vier zusätzlichen Bits im Register M 1 können also insgesamt 256 000 Worte
wird diese neue Adresse in die Register M geladen, der Inhalt der Register N jedoch nicht verändert. Hierdurch
wird also der Übergang zur Adresse des nächsten Steuerwortes sichergestellt. Die durch den Programmsprung
eingeleitete Routine speichert den Inhalt der Register N ab, so daß die ursprüngliche Stcuerwortfolge
mit dieser abgespeicherten Adresse wieder aufgenommen werden kann, wenn die durch den Programmsprung
eingeleitete Routine beendet ist.
Die Register MB2 und MB3 (125 und 126) dienen
ebenfalls als Unterstützungsregister für die Register M2 und M3. Diese Unlestützungsregister MB2 und
MB3 werden mit der in den Registern M 2 und M3
gespeicherten Adresse geladen. Wenn der Taktgeber der Zentraleinheit stillgesetzt wird, enthalten die
Register MB 2 und MB3 also die Adressenbits des
vorher ausgeführten Steuerwortes, während die Register M2 und /V/3 die Adresse des Steuerwortes
/-I <» r·. 11 ff i\l rri-rtrl
gespeicherte 20-Bit-Adresse adressiert werden.
In einer bevorzugten Ausführungsform enthält der Stellerspeicher z.B. maximal 16 000 Worte, wobei für
Mikroprogrammzugriffe zu Steuerworten maximal nur 16 Adreßbus geliefert werden müssen.
Die Zugriffe zum Datenspeicher und Steuerspeicher adressieren jeweils ein Doppelwort. Die Speicherung
von Daten im Hauptspeicher I kann jedoch auf der Basis von Bytes, Halbwörtern oder ganzen Wörtern
erfolgen. Die vom Steuerwort eingeleitete Operation bestimmt dabei, welche der genannten Datengrößen
gespeichert werden soll.
Bei den meisten durch ein Steuerwort eingeleiteten Operationen braucht nur der Inhalt des Registers M3
verändert werden. Soweit möglich, werden die Steuerworte, welche in einem bestimmten Mikroprogramm
aufeinanderfolgen, im gleichen Modul gespeichert. Dadurch ist es möglich, die in den Registern M\ und
/V/2 gespeicherten Adressen auf dem gleichen Wert während aufeinanderfolgender Operationen zu belassen.
Über die Bits 4 und 5 im Register /V/3 kann eine Verzweigung des Programms in vier Richtungen erzielt
werden. Wie bereits erwähnt, bestimmt das Bit 5 im Register /V/3 die Auswahl eines geraden oder
ungeraden Wortes irn Doppcl^'ort, welches süsge'yser!
oder gespeichert wird. Dies ist besonders nützlich bei Zugriffen zu Steuerwörtern wie unten noch erklärt wird.
Das Bit 4 im Register M3 bestimmt, welches von zwei aufeinanderfolgenden Doppelwörtern im Datenspeicher
oder Steuerspeicher adressiert wird.
Die Register /V2 und Λ/3 dienen als Unterstützungsregister für den Zugriff von Steuerwörtern. Die Adresse
in Λ/2 als auch die in M2 stellt eine Moduladresse dar.
Wie bereits erwähnt, kann eine Reihe von Mikroprogramm-Operationen so eingeleitet werden, daß aufeinanderfolgende Steuerwörter im gleichen Modul im
Steuerspeicher adressiert werden. Die im Register Λ/2
gespeicherte Adresse wird nur geändert, wenn durch gegenwärtige Steuerworte ein Wechsel der Moduladresse verlangt wird. Dann werden die beiden Register
M 2 und N 2 mit dieser neuen Moduladresse geladen. Die neue Adresse verbleibt im Register Λ/2, bis ein
neuer Wechsel in der Moduladresse verlangt wird. Während der Adressierung von aufeinanderfolgenden
Steuerwörtern im gleichen Modul wird die Adresse im Register Λ/2 jeweils in das Register M2 übertragen, bis
ein Zugriff zu einem neuen Modul notwendig wird.
Wenn ein Programmsprung zu einer festen Adresse während der Ausführung eines Steuerwortes auftritt
Der Inhalt der Register MB2 und MB3 wird während Fehlersuchroutinen benötigt.
Die Adressendaten werden in die Register M und IS über Assemblerschaltungen 130, 131 und 132 geladen.
Für jedes Adressenbit sind in den Assemblern 130 bis 132 eine Mehrzahl von Und-Gliedern vorgesehen.deren
Ausgänge mit den Eingängen eines Oder-Gliedes verbünden sind. Die in den Oder-Gliedern angeführter
Ziffern A, 8, 8 sollen andeuten, daß jeweils vier
Schaltungen 130 und acht Schaltungen 131 und 132 vorgesehen sind. Die Ausgänge der genannten Oder-Glieder
sind mit d?n Eingängen der Register MX, M2
M3, N2 und Λ/3 verbunden. Mit den Eingängen des
Assemblers 130 ist eine erste Adressensammelleitung ACB+ 1 und eine weitere Sammelleitung ACB verbunden,
welche den Assembler mit einer Adressengrenzen-Prüfschaltung 133 verbinden. Durch diese Schaltung 133
können weitere Zugriffe zum Steuerspeicher durchgeführt werden und kann die Grenzadresse zwischen
Steuerspeicher und Datenspeicher gesetzt werden. Eine Zwingsammelleitung stellt einen dritten Eingang zum
Assembler 130 dar und wird dann benutzt, wenn
bestimmte Adressen, welche vom gegenwärtigen Steuerwort angegeben werden, in das Register M\
gesetzt v/erden sollen.
Wie bereits erwähnt, besteht die in die Register MX
M2 und M3 geladene Hauptspeicheradresse aus
maximal 20 Bits. Diese 20 Bits werden über eine Sammelleitung 153 von einem Register B in die
/V/-Register geladen, wobei die Sammelleitung 153 mil
den Eingängen der Assembler 130, 131 und 132 verbunden ist.
Außerdem können den mit C2 und C3 bezeichneten Eingängen der Assemblerschaltungen 131 und 132
bestimmte Steuerbits von einem nicht gezeigter C-Register mit der Kapazität eines Wortes zugefühn
werden.
Außerdem besteht die Möglichkeit, dem Grenzregister Daten über eine externe Sammelleitung EB,
zuzuführen. Die Kennzeichnung der Bytes und Bits erfolgt z.B. durch den Ausdruck: Ϊ32.4-7, weichet
angibt, daß die Bits 4 bis 7 des zweiten Bytes vom θ-Register übertragen werden. C2A bedeutet sinngemäß, daß das Bit 4 des zweiten Bytes vom C-Registei
übertragen wird.
Zum besseren Verständnis kann beispielsweise angenommen werden, daß die Zykluszeit der Zentraleinheit 180 Nanosekunden beträgt Zur Steuerung dei
logischen Glieder werden dabei Zeitsignale verwendet
die z.B. mit »O-Zeit«, »O-Zeitverzögerung«, »1 -Zeit«
usw. bezeichnet werden. Jedes dieser Taktsignale hat eine Dauer von 90 Nanosckunden und ist gegenüber
dem vorhergehtnden um 45 Nanosckunden versetzt. »O-Zeitverzögerung« ist also um 45 Nanosckunden
gegenüber »O-Zeit« verzögert, während »I-Zeit« wiederum um 45 Nanosekunden gegenüber »O-Zeitverzögn
ing« verzögert ist. Ebenso ist »!-Zeitverzögerung« um 45 Nanosekunden gegenüber »I-Zeit«
verzögert, usw.
Zum ursprünglichen Laden des Registers ACB wird
dem Register über die Sammelleitung EBI das Signal EBI03-7 über das Und-Glied 31 zugeführt (Fig. Ib).
Mit dem Eingang eines Und-Gliedes 32 sind Byte- und Wortauswahlleitungen »externe Bestimmung Decodierung
X 1«, »externe Bestimmung Decodierung Y2« und
»externe Bestimmung Byte 0« verbunden. Der Ausgang des Und-Gliedes 32 ist mit dem Eingang eines
i!_j /-'KnJ— οι u..«,4»» ..„*i r.-.L..» „..η«-.!«.— «;«
Rückstellsignal dem Teil 30a des Registers ACB zu. Das Register ACB besteht aus Verriegelungsschaltungen,
wobei von dem Und-Glied 32 die Einstell- und Rückstellsignale zu den einzelnen Registerstellen
geliefert werden. In ähnlicher Weise wird über die Und-Glieder 33 und 34 das Signal £5/1.0-7 dem Teil
30foals Einstell- und Rückstellsignal zugeführt.
Die Ausgänge der /ACß-Registerteile 30a und 306
sind mit den Eingängen einer Vergleichsschaltung 35 verbunden. Den weiteren Eingängen dieser Vergleichsschaltung
35 werden die Bits M 1.4-7 und M2.0 -4
züge.!ihn. Während jedes Zugriffs zum Hauptspeicher 1
werden also die Bits M 1.4 — 7 und M 2.0 — 4 mit den Bits
ACBOA-7 und ACB 1.0-4 verglichen und festgestellt, ob die Hauptspeicheradresse gleich oder größer ist als
der im /ICB-Register gespeicherte Wert oder ob diese
Adresse kleiner ist als dieser Wert. Das Resultat dieses Vergleichs wird auf den Leitungen 36 und 37 angezeigt.
Die Leitung 37 ist dabei mit der Leitung 36 über ein Inverterglied 38 verbunden.
Wenn der Vergleicher 35 anzeigt, daß die M-Registeradresse
gleich oder größer ist als der Wert im ACB-Register, sollte ein Zugriff zum Steuerspeicher des
Hauptspeichers 1 durchgeführt werden. Wenn die
a ..i»:»..«» oc «:- c: 1 r.-.i * ...: ι j__ ι t_j ^i:_j
nuagaiigaivKuiig Ju τ-iii oigliai tun! l, wiiu Ud3 LJlIU-VJIlCU
40 in Fig. Ib vorbereitet. Ein zweiter Eingang dieses
Und-Gliedes 40 ist mit einer Leitung »Datenspeicherzugriff« verbunden. Ein dritter Eingang dieses Und-Gliedes
40 ist mit dem Ausgang einer logischen Schaltung 41 verbunden.
Diese logische Schaltung 41 enthält ein erstes Und-Glied 42 mit dessen Eingängen die Taktpulsleitungen
»1-Zeitverzögerung« und »180-Zyklus« verbunden
sind. Die Leitung »180-Zyklus« ist auch mit dem Eingang eines Invertergliedes 43 verbunden, dessen
Ausgang mit einem Eingang eines Und-Gliedes 44 verbunden ist, das in der logischen Schaltung 41
enthalten ist Dem anderen Eingang des Und-Gliedes 44 wird das Taktsingal »2-Zeit« zugeführt. Wenn die
nötigen Eingangssignale an der logischen Schaltung 41 anliegen, wenn die Leitungen 36 und »Datenspeicherzugriff« in logischen »1-Zustand« sind, d.h. ein Signal
führen, wird durch das Ausgangssignal vom Und-Glied 40 eine Verriegelungsschaltung 45 gesetzt, und damit
angezeigt, daß ein Fehler vorliegt, weil das Signal »Datenspeicherzugriff« anzeigt, daß nicht ein Zugriff
zum Steuerspeicher, sondern zum Datenspeicher versucht wird.
ACB-Registerwert, und damit ein Signal auf der Leitung
37 erzeugt wird, wird über das Und-Glied 46 und Verriegelungsschaltung 47 eine Steueradressenprüfung
eingeleitet, d.h. ein Fehler angezeigt, wenn in diesem ) Zeitpunkt ein Zugriff zum Steuerspeicher durchgeführt
wird. Ein Eingang des Und-Gliedes 46 ist mit der Leitung 37 und ein anderer Eingang mit der
Ausgangsleitung der logischen Schaltung 41 verbunden. Der dritte Eingang zum Und-Glied 46 ist mit dem
κι Ausgang eines Invertergliedes 48 verbunden, dessen Eingang mit der Leitung »Datenspeicherzugriff« verbunden
ist.
Ein Assembler 50 (F i g. la) wird dazu benutzt, die Bits
4 bis 7 des Ml-Registers UO durch die ß-Registerbits
r> B 1.4-7, oder über die Sammelleitungen ACB bzw.
ACB+ I zu setzen. Diese Signale von den Sammelleitungen ACB, ACB+ 1 oder B 1.4 — 7 stellen Eingänge zu
den Und-Gliedern 51, 52 und 53 des Assemblers 50 dar.
A'tnwnf
I \r+A /~* 1 i rti-l rt ·- r· I η η
:n Eingängen einos Oder-Gliedes 54 verbunden, welches
über die Torschaltung 55 Signale zum Register HO liefert.
Die ACß-Eingänge zum Assembler 50 werden von
Schaltungen geliefert, welche das Oder-Glied 60
r, enthalten, dessen Ausgang mit dem Eingang eines Und-Gliedes 61 verbunden ist. Der Ausgang des
Und-Gliedes 61 wird von der Sammelleitung ACB gebildet. Die Eingänge zum Oder-Glied 60 werden von
den ACß-Registerausgangsleitungen ACB 1.5 und
in -,4CS 1.6 gebildet. Die anderen Eingänge zum
Und-Glied 61 werden von den ACß-Registerausgangsleitungen
ACBOA-7 gebildet. Wenn eine der beiden Bedingungen am Eingang des Oder-Gliedes 60 erfüllt
ist, d. h., wenn eine der beiden Leitungen ACB 1.5 oder
r, — ACB 1.6 ein Signal führen, wird durch das Ausgangssignal
des Oder-Gliedes 60 die Und-Schaltung 61 durchgeschaltet und damit die Bits ACBOA-I zum
Und-Glied 51 gebracht. Wenn das ACÖ0.3-Bit gleich »1« ist, wird über einen Addierer 62 der Wert »1« zum
Wert der Bits ACB 0.4 - 7 addiert. Dieser erhöhte Wert wird sodann über die Leitung ACB+1 dem Und-Glied
52 zugeführt. Wenn das Bit ACB0.3 gleich »0« ist, dann
wird über die Leitung ACB+\ der Wert ACBOA-T, ohne Erhöhung urn !,dem Und-G!ied52zugeführi.
4> Wenn das Bit M2.0 gleich »1« ist, dann v.-ird der Wert
auf der Leitung ACB+1 (entweder also der Wert A CB 0.4 - 7 oder der um 1 erhöhte Wert) in das Register
MX über das Und-Glied 52, das Oder-Glied 54 und die
Torschaltung 55 gesetzt. Wenn jedoch das Bit M 2.0 gleich 0 ist, dann wird mittels eines Invertergliedes 65
der Wert auf der Eingangssammelleitung ACB über das Und-Glied 51, das Oder-Glied 54 und die Torschaltung
55 in das MX -Register 110 gesetzt Diese ungewöhnliche Art, die Adressenbits in das Adressenregister zu
setzen, um einen Zugriff zum Steuerspeicher durchzuführen, wird weiter unten näher beschrieben.
Ein Oder-Glied 66, welches an seinen Eingängen die Signale C 2.4 und C 25 empfängt, dient mit anderen
Schaltungsgliedern dazu, um zu bestimmen, ob die ACß-Registerbits, die modifizierten ACB-Registerbits
oder die Adressenbits vom Ä-Register in das Register
110 über den Assembler 50 gebracht werden müssen. Der Ausgang des Oder-Gliedes 66 ist mit einem Eingang
eines Und-Gliedes 67 verbunden. Ein zweiter Eingang des Und-Gliedes 67 ist mit dem Ausgang eines
Invertergliedes 68 verbunden. Der Eingang zu diesem Inverterglied 68 wird durch die Leitung »Speicherwort
^-Adresse« gebildet Ein dritter Eingang zum Und-
Glied 67 wird vom Signal »Speicher 1-Zyklus« gebildet.
Der Ausgang des Und-Gliedes 67 ist mit einem Eingang des Oder-Gliedes 69 verbunden. Der Ausgang des
Oder-Gliedes 69 ist mit einem Eingang eines Und-Gliedes 70 über pin Inverterglied 71 verbunden. Der ■->
Ausgang des Und-Gliedes 70 wird durch die Leitung »bringe ACB zu Ml« gebildet, welche einen dritten
Eingang zu den Und-Gliedern 51 und 52 des Assemblers 50 darstellt. Wenn die Leitung »bringe ACB zu M 1« ein
Signal führt, werden entweder die Adressenbits von der κι Sammelleitung ACBoder ACB+ 1 in das Register M 1
gesetzt.
Das Signal »Hauptspeicher« stellt einen weiteren Eingang zum Oder-Glied 69 dar. Der Ausgang des
Oder-Gliedes 69, welcher mit »bringe Bi zu MI« r> bezeichnet ist, ist mit einem Eingang des Und-Gliedes 53
verbunden und bringt die Bits S 1.4-7 in das Register !!0. Es ist ä!so ZU seh**n ^a^ W^^r^nd f*!nP*s 7iicrnffp*;
zum Datenspeicher oder zum Steuerspeicher entweder die Leitung »bringe ACB zu Ml« oder die Leitung :n
»bringe B 1 zu M 1« ein Signal führt, d. h. im logischen »1 «-Zustand ist.
Der Ausgang des Und-Gliedes 72 ist über ein Inverterglied 73 mit einem zweiten Eingang des
Und-Gliedes 70 verbunden. Die Eingänge zum Und- 2> Glied 72 werden von den Leitungen »Speicherwort
K-Adresse« und »Speicher 1-Zyklus« dargestellt. Weitere Eingänge des Und-Gliedes 72 erhalten die
Bit-Signale -C 1.6 und -C 1.7.
Bei einer Adressierung, welche nicht nach dem K-Typ so
verläuft, kann die Adresse im Adressenlieferungsregister eine Steuerspeicheradresse oder eine Datenspeicheradresse
sein. Im Falle einer Steuerspeicheradresse werden nur die niederwertigen 16 Bits von der
Adressenquelle dazu benutzt, die M 2- und M3-Register r>
zusetzen. Für Datenspeicheradressierungen werden die niederwertigen 24 Bits benutzt, um die Register Ml,
M2und M 3 zu setzen.
Bei einer Adressierung nach dem K-Typ wird die
Hauptspeicheradresse derart geformt, daß ein bestimm- ·»<> ter Wert in das M-Reg;r>ter gesetzt wird. Adressierungen
nach dem K-Typ finden also statt bei Programmin diesem Falle geben die C 1.6,7 Bits die K-Kd: essierungsarten
und Einstellung des M-Registers an: Wenn diese beiden Bits gleich »0« sind, wird ein Zugriff zum ACB 0.4 —
Datenspeicher durchgeführt. Bei anderen Werten für und diese beiden Bits wird ein Zugriff zum Steuerspeicher ACB 1.0—4
durchgeführt.
Bei Zugriffen, welche nicht nach dem K-Typ verlaufen, wird ein Zugriff zum Datenspeichergebiet
durchgeführt, wenn die Bits C 2.4,5 gleich 01 oder 10 sind. Im übrigen werden 20 Bits vom Byte 1, Bits 4 bis 7
und von den Bytes 2 und 3 vom Adressenzulieferungsregister dazu benutzt, die M-Register zu setzen.
Die Ausgänge des Und-Gliedes 75 und eines Oder-Gliedes 76 stellen die Stell- und Rückstelleingänge zum
Ml-Register 110 dar. Die Eingänge zum Und-Glied 75
werden von den Taktleitungen » — 180-ZyUus« und
»0-Zeitverzögerung« gebildet Die Ausgangsleitung des Und-Gliedes 75 ist mit einem Eingang des Oder-Gliedes
76 verbunden. Der andere Eingang zum Oder-Glied 76 wird durch die Leitung »0-Zeit« gebildet Das
Ausgangssignal vom Oder-Glied 76 wird als Rückstell- ACB \5
signal für das Register 110 benutzt und das Stellsignal
wird von dieser Ausgangssleitung über ein Inverterglied
77 erzeugt ACB \5 In manchen Fällen, wie weiter unten noch näher
erläutert wird, :nuß das Bit M2.0 durch ein Exklusiv-Oder-Glied
80 invertiert werden, bevor es den Treiberschaltugnen 113 des Hauptspeichers 1 zugeführt
werden kann. Hierbei stellt die Bitleitung M2.0 einen Eingang zur Schaltung 80 dar, und der Ausgang eines
Und-Gliedes 81 stellt den anderen Eingang zum Exklusiv-Oder-Glied 80 dar.
Einem Oder-Glied 82 werden die Signale -ACB 1.7
und ACB 1.5 zugeführt, und sein Ausgangssignal wird einem Eingrng des Und-Gliedes 81 zugeführt.
Einem Eingang eines Und-Gliedes 83 wird das Bitsignal -ACB 1.5 und einem weiteren Eingang das
Signal ACB 1.6 zugeführt. Die Ausgangsleitung dieses Und-Gliedes 83 ist mit »Duplex« bezeichnet und wird
über einen Inverter 84 einem Eingang des Und-Gliedes 81 zugeführt. Einem weiteren Eingang des Und-Gliedes
81 wird das Signal »Hauptspeicherzugriff« zugeführt.
Rei Hrn Ausführungen soll beachtet werden, daß die
dem hochwertigen Byte des Steuerspeichers zugewiesene Adresse immer FFFF(MK Dezimal) ist, trotzdem die
tatsächliche Adresse im Hauptspeicher von System zu System verschieden sein kann und trotzdem es weniger
als 64/f-Bytes Steuerspeicher-Bereich in einem System
geben kann. Der Steuerspeicher befindet sich in den höherwertigen Adressenpositionen des Hauptspeichers
1. Die tatsächliche Adresse im Hauptspeicher 1 beginnt mit dem hexadezimalen Wert 0000.
Wie bereits erwähnt, wird das ΛCS-Register, welches
eine Kapazität von zwei Bytes aufweist, zusammen mit dem ursprünglichen Laden des Steuerprogrammes
geladen und gibt sodann die Speicherkonfiguration an. Vorzugsweise haben die betreffenden Bits des ACS-Registers
folgende Bedeutung.
ACB 0.3 = 0 Die Adressenprüfgrenze ist innerhalb der oberen 32K des verfügbaren internen
Speicherbereichs, d. h. des Speichers, der sich physikalisch im selben Gehäuse wie
die Zentraleinheit befindet und nahe der Zentraleinheit angebracht i.ct.
ACB 0.3 = 1 Die Adressenprüfungsgrenze ist unterhalb der oberen 32K des verfügbaren
internen Speicherbereichs (eine maximale Kapazität des internen Speichers von
256/i-Bytes kann vorgesehen werden).
Diese neun Bits geben die Adressenprüfgrenze, d. h. eine bestimmte 2048-Bytegrenze
an. Falls ein Datenspeicherzugriff bei dieser Grenze oder oberhalb dieser Grenze versucht wird, wird ein Adressenprüfungssignal erzeugt Wenn ein
Steuerbereichzugriff versucht wird unterhalb dieser Grenze, wird ein Maschinenprüfsignal erzeugt In der Duplexbetriebsart (zwei Prozessoren) wird die
Grenze zwischen Steuerspeicher und Datenspeicher an die obere Grenze des verfügbaren gemeinsamen Datenspeicherbereichs gelegt und hängt nicht
von der Konfiguration des Untersystems ab.
0 a. Das System ist Simplex (ein Prozes
sor) ohne externen Speicher, oder
b. das System ist Duplex.
1 Das System ist Simplex mit externem Speicher.
ACB 1.6,7 Wenn ACB 1.5 = i ist, dann geben die
Bits ACB 1.6,7 die Anzahl der Byter; im externen Speicher für ein .Simplexsystem
wie folgt an:
00 = 131,072 Bytes, 01 = 262,144 Bytes und
10 = 524,288 Bytes.
10 = 524,288 Bytes.
ACB 1.6 = 1 Wenn ACB 1.5 = 0 ist, dann ist das Bit ACB 1.6 = 1 wenn das System Duplex
ist.
ACB 1.6 = 0 Wenn ACB 1.5 = 0 ist, dann ist
,4CB 1.6 = 0 wenn das System Simplex ist.
ACB 1.7 = 0 Wenn ACB 1.5 = 0 ist, dann muß das Bit M 2.0 invertiert werden während eines
Steuerspeicherzugriffs.
ACB 1.7 = 1 Wenn ACB 1.5 = 0 ist, dann wird das Bit M 2.0 nicht während eines Steuerspeicherzugriffs
invertiert. Wenn ACB 1.5 = 1 ist, dann wird das Bit M 2.0 in Simplexsystemen während eines
Steuerspeicherzugriffes immer invertiert, unabhängig vom Wert ACPXJ. In
Duplexsystemen wird ACBOA — 7 und ACB \.0—4 nicht zum Vergleich mit
Hauptspeicheradressen benutzt wenn das ACB 1.7 = 1 ist. 'n Voll-Duplexsystemen
sollte das ACS 1.7-Bit nur auf 1
gesetzt werden bei einer Speichergröße von 1024 K.
Wie bereits erläutert, geben die Bits ACB0A — 7 und
ACB \.0—4 den Grenzwert an, an dem oder oberhalb welchem ein Adressenprüfungssignal erzeugt wird, falls
ein Datenspeicherzugriff versucht wird. Dies ist der FaI1
sowohl für Simplex- als auch für Duplexsysteme. In Duplexsystemen wird jedoch dem Steuerspeicher ein
anderer Adressenbereich zugewiesen als der höchste Adressenbereich (wie in Simplexsystemen). Die vier
höchstwertigen Bits der Adresse, welche in das Register M1 gesetzt wird, sind immer 0000 für Steuerspeicherzugriffe
in Duplexsystemen. Die vom Mikroprogramm gelieferten Adressen werden dann ohne Modifikation
dazu benutzt, einen Zugriff zur adressierten Steuerspeicherstelle durchzuführen. Der Grund hierfür ist
darin zu suchen, daß die Adressenregister M1, M2 und
Λ/3 nur 20 Bits enthalten und daß in einem 1024K-Byte-Voll-Duplexsystem alle Adressenbits den
Wert 1 haben, wenn ein Zugriff zur höchstwertigen Datenspeicherstelle stattfindet. Es können also keine
höheren Adressen erzeugt werden. Der Adressenbereich für den Steuerspeicher in einem Voll-Duplexsystem
ist daher entweder (abhängig davon, ob ein 32ΑΓ-
oder 64.K-Steuerspeicher montiert ist):
1. 08000 bis 0FFFF(32/:-Steuerspeicher),
r
r
2. 00000 bis OFFFF(64K-Steuerspeicher).
gleiche Adresse haben, kann also über die Auswahlsignale unterschieden werden, ob ein Zugriff zum
Steuerspeicher oder zum Datenspeicher stattfindet.
Beispiel 1
Folgende Annahmen werden getroffen:
Folgende Annahmen werden getroffen:
1. Ein Simplexsystem mit einer gesamtverfügbaren Speicherkapazität von 65 536 Bytes, welche alle
in intern gespeichert werden können.
2. Die oberen 32 768 Bytes werden dem Steuerspeicher
zugewiesen.
3. Die niederen 32 768 Bytes werden dem Datenspeicher zugewiesen.
I") Folgende Information wird dann in das ACß-Register
geladen:
Bit 0123456701234567
Wert 0000000010000001
Wert 0000000010000001
1. ACB 0.3 = 0 gibt an, daß die Adressenprüfgrenze
in den oberen 32 768 Bytes liegt und daß die Bus ,4CS 0.4 — 7 nicht mit 1 erhöht werden, um zur
r, tatsächlichen Steuerwortadresse zu gelangen.
2. Die Bits ACB0.4-7 und ACB 1.0-4 haben den
Wert 0000 10000 und definieren damit die Grenze an der Speicherstelle 32 768. Jeder Datenspeicherzugriff
an oder überhalb dieser Grenze, d. h. an der
j„ binären Adresse 0000 1000 0000 0000 0000 (08000
in Hexadezimal) erzeugt ein Adressenprüfungssignal, d. h. Fehlersigna]. Jeder Steuerspeicherzugriff
unterhalb dieser Adresse erzeugt ein Maschinenprüfsignal (Steuer-Adressenprüfungssignal).
j-, 3. ACB 1.5,6 = 00 geben an, daß das System Simplex
ist und keinen externen Speicher aufweist.
4. ACB 1.7 = 1 gibt an, daß das Bit M2.0 nicht durch
das Exklusiv-Oder-Glied 80 während eines Steuerspeicherzugriffs
investiert werden soll, um zur
j,, tatsächlichen Steuerwortadresse zu gelangen.
Die Bits, welche in das M\-Register über die Schaltungen 51 und 52 während eines Steuerst i'cherzugriffs
gesetzt werden, sind die Bits ACB0A—7, welche
4-3 in diesem Falle gleich 0000 sind. Auch in diesem Falle
wird das Bit A/2.0 nicht während eines Steuerspeicherzugriffs
modifiziert. Der Grund hierfür ist darin zu suchen, daß vom Mikroprogramm Zweite-Byte-Adressen
für den Steuerspeicher (d. h. 8000 bis FFFF) geliefert
-,ο werden, welche in dem von der einen Einheit tatsächlich
benützten Bereich (d. h. 08000 bis OFFFF) liegen. Das Oder-Glied 82 erzeugt kein Signal, wodurch das
Eingangssignal zur Schaltung 80 von der Schaltung 81 eine logische »0« ist Wird von einem Mikroprogrammsteuerwort
eine Steuerwortadresse unterhalb 8000 geliefert, wird ein Maschinenprüfsignal erzeugt, d. h. ein
Fehler angezeigt.
Im ersten Falle ist ACB 03 = 0 und im zweiten Falle ACB 03 = 1. Wenn das Bit ACB 03 = 0 ist, wird ein
Maschinenprüfsignal von der Verriegelungsschaltung 47 (Fig. Ib) erzeugt, wenn ein Steuerspeicherzugriff im
Adressenbereich 00000 bis 07FFF versucht wird. Hingegen sind alle Steuerspeicheradressen gültig, wenn
das Bit A CB 03 = list 6ä
Für Speicherzugriffe in Voll-Duplexsystemen werden
zwei Auswahlsignale benutzt Selbst wenn also eine Steuerspeicherstelle und eine Datenspeicherstelle d?e
Beispiel 2
Es wird angenommen:
Es wird angenommen:
1. Ein Simplexsystem mit einer gesamten verfügbaren Speicherkapazität von 98 303 Bytes.
2. Die höchsten 32 768 Bytes werden dem Steuerspeicherbereich zugewiesen.
3. Die niederen 65 536 Bytes werden dem Datenspeicher zugewiesen.
21 1 | 13 | η · | 7 | 581 | 14 |
Das /ICß-Register wird in diesem Fall mit der | Beispiel 3 | Bit 0123456701234567 | |||
folgenden Information geladen: | Es wird angenommen: | Wert 0001000010000000 | |||
Bit 0123456701234567 Wert OOOOOOOlOOOOOOOn |
Zum oben beschriebenen Beispiel 2 bestehen also nur | ||||
■ * ** ■ ·■ V \J V X^ t# V \J i \J \J \J \J \J \J \J ^J | I. Ein Simplexsystem mit einer toialen verfügbaren | die folgenden Unterschiede: | |||
1. ACB03 = 0 gibt an, daß die Adressenprüfgrenze | Speicherkapazität von 98 303 Bytes. | 5 | |||
in den höchsten 32 768 Bytes der Einheit 1 liegt und | 2. Die höherwertigen 65 536 Bytes werden dem | 1. ACB03 = 1 gibt nun an, daß die Grenze zwischen | |||
die Bits ACB 0.4—7 werden nicht erhöht | Steuerspeicher zugeteilt. | Datenspeicher und Steuerspeicher nicht in den | |||
2. ACBOA-7 und ACB 1.0-4 = 0001 00000, womit | 3. Die niederwertigen 32 768 Bytes werden dem | höchsten 32 768 Bytes der Einheit 1 liegt | |||
die Grenze in der Speichereinheit 1 bei der | Datenspeicher zugeteilt. | 2. Die Grenze zwischen Datenspeicher und Steuer | |||
Speicherstelle 65 536 festgelegt wird. | IO | speicher, welche durch die Bits ACB 0.4—7 und | |||
3. ACB 15,6 = 00 gibt an, daß das System Simplex ist | Der folgende Wert wird in das Register ACB | ACB 1.0—4 (gleich mit 000010000) gegeben ist, | |||
und ohne externen Speicher. | gespeichert. | liegt an der Speicherstelle 32 768. | |||
<. ACBM = 0 (und ACB\5,6 = 00) gibt an, daß | |||||
M 2.0 durch die Schaltung 80 invertiert werden soll, | Die Adressenbereiche in hexadezimaler Notierung | ||||
wenn ein Steuerspeicherzugriff zugeführt wird. In | 15 | für dieses System sind dann wie folgt: | |||
diesem Falle liefern die Schaltungen 81 und 84 eine logische 1 zur Schaltung 80. |
Datenspeicher-Adresse 00000 |
||||
Die tatsächlichen Speicheradressenbereiche in die | ^j ^j ^j ^j ^j bis |
||||
sem Systen sind wie folgt (in Hexadezimal): | 2Il | 07 FFF | |||
Datenspeicher-Adresse | Steuerspeicher-Adresse | ||||
00000 | 08000 | ||||
bis | bis | ||||
OFFFF | ,-, | 17 FFF | |||
Steuerspeicher-Adresse | Speicherstelle | ||||
10000 | 0 | ||||
bis | bis | ||||
17 FFF | J" | 32 767 | |||
Speicherstelle | Speicherstelle | ||||
0 | 32 768 | ||||
bis | bis | ||||
65 535 | Jl | 98 303 | |||
Speicherstelle | Die vom Mikroprogramm gelieferte Adresse 0000 | ||||
65 536 | (Hexadezimal) adressiert das Wort niedrigster Ordnung | ||||
bis | (an der Speirherstelle 08000) im Steuerspeicherbereich. | ||||
98 303 | 4(i | Dies wird wie folgt erzielt: | |||
Die Steuerspeicheradresse, welche vom Mikropro | 1. In die Register M2 und M3 wird der Wert 00OC | ||||
gramm geliefert wird und der tatsächlichen Adresse | (Hexadezimal) gesetzt. | ||||
10 000 entspricht ist 8000. Während eines solchen | 2. Das Ausgangssignal der Bitstelle Λ/2.0 wird in der | ||||
Steuerspeicherzugriffs werden die Bits M 1.4 — 7 auf den | ■r, | Schaltung 80 invertiert, da beide Bits ACB 1.7 unc | |||
gleichen Wert gebracht wie 4CÖ0.4 —7, der in diesem | ACB ].5 — 0 sind. Die Invertierung erfolgt in den | ||||
Falle gleich ist 0001 (I in Hexadezimal). Da | Schaltungen 81 und 84. | ||||
ACB 1.5.6 = 00 und ACB 1.7 = 0 ist, wird das höchste | 3. Die Bus ACB4 — 7 ( = 0000) werden in das Register | ||||
Bit der vom Mikroprogramm gelieferten Adresse | M 1.4 — 7 über die Schaltung 51 gesetzt, da | ||||
(M2.0) invertiert bevor die Adresse zu den Haupt- | in | M 2.0 = Oist. | |||
speichertreiberschaltungcn 113 gesandt wird. Die | |||||
Invertierung des höchstwertigen Bits der Zahl 8000 | Ein Zugriff zum Steuerspeicher im Adressenbereich | ||||
ergibt 0000. Die tatsächlich verwendete Adresse ist | 8000 bis FFFF für die Speicherkonfiguration dieses | ||||
daher 10 000. | Beispiels ist etwas verschieden. Die vom Mikropro | ||||
v> | gramm gelieferten Adressen im Bereich 8000 bis FFFf | ||||
entsprechen Hauptspeicheradressen im Bereich 10 000 | |||||
bis 17 FFF. Für eine vom Mikroprogramm gelieferte | |||||
Adresse 8000 müssen z. B. die folgenden Modifikationen | |||||
ausgeführt werden. | |||||
H) | |||||
I. 8000 wird in die Register M2 und M3 gesetzt. | |||||
2. Der Ausgang der Bitstelle M 2.0 wird durch die | |||||
Schaltung 80 invertiert. | |||||
3. Da vor der Inversion beide Bits ACBOZ unc | |||||
h"> | W2.0= 1 sind, werden die Bitstellen M 1.4 — 7 | ||||
durch die Signale ,4CÖ0.4-7 + 1 (d. h | |||||
0000 + 1 = 0001) über die Schaltune 52 gesetzt. | |||||
Die tatsächlich adressierte Speicherstelle ist dann 10000, welche durch Modifikation der vom Mikroprogramm
gelieferten Adresse 8000 gewonnen wurde.
Die folgende Tabelle gibt Aufschluß über typische Einstellungen des Registers ACB:
Simplex
In einer Duplexkonfiguration ist ein Versuch, die Adressengrenze außerhalb des angegebenen Steuerspeicherbereiches
zu verlegen, nicht möglich. Die internen Speichermöglichkeiten der Zentraleinheit
können nicht als Datenspeicher benutzt werden, da ein eigenes Auswahlsignal für den Steuerspeicher benutzt
wird.
Gesamt- | Steuer | Daten | ACB-Em- | Duplex | Steuerspeicher | ACß-Einslellung |
Speicher- kapazität |
speicher | speicher | stellung | Gesamtanzahl Bytes | (Hexadezimal) | |
(Bytes) | (Hexadezimal) | Geteilter Daten speicher |
||||
65 536 | 32 768 | 32 768 ac roc |
0081 | 32 768 | 0402 | |
98 304 | 32 768 | 65 536 | 0100 | 15 262 144 | 65 536 | 1402 |
131 072 | 32 768 | 98 304 | 0181 | 262 144 | 32 768 | 0802 |
131 072 | 65 536 | 65 536 | 1101 | 524 288 | 65 536 | 1802 |
294 912 | 32 768 | 262 144 | 0400 | 524 288 | 32 768 | OC 02 |
294 912 | 65 536 | 229 376 | 1380 | 786 432 | 65 536 | 1C02 |
425 984 | 32 768 | 393 216 | 0604 | 2» 786 432 | 32 768 | OFFB |
425 984 | 65 536 | 360 448 | 1584 | 1 048 576 | 65 536 | \FFB |
557 056 | 32 768 | 524 288 | 0805 | 1 048 576 | ||
557 056 | 65 536 | 491 520 | 1785 | Blatt Zeichnungen | ||
Hierzu 3 | ||||||
Claims (2)
1. Einrichtung zur Adressenprüfung in einer mikroprogrammierten Datenverarbeitungsanlage,
deren Hauptspeicher in einen Datenspeicherbereich zur Speicherung der Daten und Benutzerprogramminstruktionen
und einen Steuerspeicherbereich zur Speicherung der Mikroprogrammsteuerworte unterteilt
ist, wobei diese beiden Speicherbereiche über ein gemeinsames Adressenregister und gemeinsame
Treiberschaltungen adressiert werden, gekennzeichnet durch ein Adressenprüfungs-Grenzenregister
(ACB) zur Speicherung der Adresse der Grenzspeicherstelle zwischen Steuerspeicherbereiehe
(la) und Datenspeicherbereich (Ib), welches ausgangsseitig sowohl mit dem Adressenregister (3)
als auch mit einer Vergleichseinrichtung (35) verbunden ist, wobei der andere Eingang der
Vergleichicmrichtung (35) mit dem Ausgang des Adressenregisters (3) verbunden ist und durch
Einrichtungen (37 bis 48) zur Erzeugung eines Fehlersignals aus dem von der Vergleichseinrichtung
(35) gelieferten Signal (36) und einem Signal (D. SP. Zugriff, F i g. Ib) zur Anzeige, ob ein Zugriff zum
Datenspeicher- (ib) oder Steuerspeicher (la) gewünscht wird, wobei ein Fehlersignal erzeugt wird,
wenn die Hauptspeicheradresse fälschlicherweise unter- oder oberhalb der im Adressenprüfungs-Grenzenregister
(ACB) gespeicherten Adressengrenze liegt.
2. Einrichtung naci/ Ansprach 1 mit einem aus
mehreren Teilregistern bestehenden Adressenregister, dadurch gekennzeichnet, C .ß der Ausgang des
Adressenprüfungs-Grenzenregisters (ACB) mit dem Teilregister (Mi), das die hochwertigen Adressenbits
speichert, über einen Adressenassembler (50) verbunden ist und daß der Steuerspeicherbereich
(la) im obersten Adressenbereich des Hauptspeichers (1) liegt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2922670A | 1970-04-16 | 1970-04-16 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2117581A1 DE2117581A1 (de) | 1971-10-28 |
DE2117581B2 true DE2117581B2 (de) | 1978-12-14 |
DE2117581C3 DE2117581C3 (de) | 1979-08-16 |
Family
ID=21847926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2117581A Expired DE2117581C3 (de) | 1970-04-16 | 1971-04-10 | Einrichtung zur Adressenprüfung |
Country Status (6)
Country | Link |
---|---|
US (1) | US3651475A (de) |
JP (1) | JPS543335B1 (de) |
CA (1) | CA934065A (de) |
DE (1) | DE2117581C3 (de) |
FR (1) | FR2092531A5 (de) |
GB (1) | GB1288728A (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3725868A (en) * | 1970-10-19 | 1973-04-03 | Burroughs Corp | Small reconfigurable processor for a variety of data processing applications |
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
US3828320A (en) * | 1972-12-29 | 1974-08-06 | Burroughs Corp | Shared memory addressor |
US4025903A (en) | 1973-09-10 | 1977-05-24 | Computer Automation, Inc. | Automatic modular memory address allocation system |
USRE31318E (en) | 1973-09-10 | 1983-07-19 | Computer Automation, Inc. | Automatic modular memory address allocation system |
US3914747A (en) * | 1974-02-26 | 1975-10-21 | Periphonics Corp | Memory having non-fixed relationships between addresses and storage locations |
US3984812A (en) * | 1974-04-15 | 1976-10-05 | Burroughs Corporation | Computer memory read delay |
DE3036926C2 (de) * | 1980-09-30 | 1984-07-26 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und Anordnung zur Steuerung des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung |
US4445170A (en) * | 1981-03-19 | 1984-04-24 | Zilog, Inc. | Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment |
DE3609715A1 (de) * | 1986-03-21 | 1987-10-01 | Siemens Ag | Taktgenerator mit mehreren taktphasen zur erzeugung von gleichstromimpulsen mit extern steuerbaren muttertaktabhaengigen periodenlaengen |
US4882700A (en) * | 1988-06-08 | 1989-11-21 | Micron Technology, Inc. | Switched memory module |
JPH05233834A (ja) * | 1991-11-13 | 1993-09-10 | Nec Corp | シングルチップマイクロコンピュータ |
US5568622A (en) * | 1993-04-15 | 1996-10-22 | Bull Hn Information Systems Inc. | Method and apparatus for minimizing the number of control words in a brom control store of a microprogrammed central processor |
US5873126A (en) * | 1995-06-12 | 1999-02-16 | International Business Machines Corporation | Memory array based data reorganizer |
US20060294443A1 (en) * | 2005-06-03 | 2006-12-28 | Khaled Fekih-Romdhane | On-chip address generation |
US20180181504A1 (en) * | 2016-12-23 | 2018-06-28 | Intel Corporation | Apparatuses and methods for training one or more signal timing relations of a memory interface |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3340539A (en) * | 1964-10-27 | 1967-09-05 | Anelex Corp | Stored data protection system |
US3377624A (en) * | 1966-01-07 | 1968-04-09 | Ibm | Memory protection system |
US3496551A (en) * | 1967-07-13 | 1970-02-17 | Ibm | Task selection in a multi-processor computing system |
US3533077A (en) * | 1967-11-08 | 1970-10-06 | Ibm | Address modification |
-
1970
- 1970-04-16 US US29226A patent/US3651475A/en not_active Expired - Lifetime
-
1971
- 1971-03-25 FR FR7111204A patent/FR2092531A5/fr not_active Expired
- 1971-04-10 DE DE2117581A patent/DE2117581C3/de not_active Expired
- 1971-04-13 CA CA110076A patent/CA934065A/en not_active Expired
- 1971-04-16 JP JP2397071A patent/JPS543335B1/ja active Pending
- 1971-04-19 GB GB1288728D patent/GB1288728A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS543335B1 (de) | 1979-02-21 |
FR2092531A5 (de) | 1972-01-21 |
US3651475A (en) | 1972-03-21 |
CA934065A (en) | 1973-09-18 |
DE2117581C3 (de) | 1979-08-16 |
DE2117581A1 (de) | 1971-10-28 |
GB1288728A (de) | 1972-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2117581C3 (de) | Einrichtung zur Adressenprüfung | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE68923433T2 (de) | Einrichtung und Methode um Festwertspeicher in einem Rechnerspeicherbereich anzuordnen. | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE2844357A1 (de) | Speichererweiterung | |
DE2746505C2 (de) | ||
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2926322A1 (de) | Speicher-subsystem | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE3121046C2 (de) | ||
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE2403039A1 (de) | Verfahren zur adressenerweiterung einer elektronischen digitalrechenanlage | |
DE3000012A1 (de) | Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage | |
DE3586789T2 (de) | Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit. | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung | |
DE3341339C2 (de) | Befehlsfolgegenerator | |
DE1806464A1 (de) | Adressengenerator fuer einen Digitalrechner | |
DE69025268T2 (de) | Schaltungsanordnung zur erweiterten Adressierung | |
DE69801355T2 (de) | Anordnung und Verfahren, die es ermöglichen, einen Zweiwortbefehl in einem einzelnen Zyklus durchzuführen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |