DE2117581C3 - Einrichtung zur Adressenprüfung - Google Patents
Einrichtung zur AdressenprüfungInfo
- Publication number
- DE2117581C3 DE2117581C3 DE2117581A DE2117581A DE2117581C3 DE 2117581 C3 DE2117581 C3 DE 2117581C3 DE 2117581 A DE2117581 A DE 2117581A DE 2117581 A DE2117581 A DE 2117581A DE 2117581 C3 DE2117581 C3 DE 2117581C3
- 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.)
- Expired
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)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Einrichtung zur Adressenprüfung
der im Oberbegriff des Anspruchs I angegcbe
nen Art.
Zur Speicherung der Mikroprogramm-Uefehle wurden früher Festwertspeicher vcrwcndcl. Diese Speicher
hatten von Vorteil einer geringen y.iigriffs*eit, (loch w;ir
eine Änderung des Mikroprogramm·» nur schwer
möglich. Deshalb isl man &<uu fibcrgcgangen. ;illrn '1'"»
Mikroprogramm im llanpts|iri<
Ικ-r flcr Datenverarbeitungsanlage
/h speit hrrn I Jas Mikroprogramm besteht
aus Slrnr.rwoMr.fi. writ hr ifi hrkarinlrr Weise eine
A'lre<;<;rn:irigat>f· sowie rmrri f iinktionsteil aufweisen.
IIhIit -«iir'lr /iir Aufnahm»· Ίγ« Mikroprogrammus ein
ffjfi-r fipfii ri ')f% H;mpt;|>n<
hrr·. reserviert. Die Λ ^»γ=·.·./μπ? /visihfTi Datrniprii her und Sleuerspei-■'-
=rfolefp -l-ihfi -111 rc (ι VridriihliingsmaUnahmen.
>ii--h ■]{('*/>
F»itf /Tdrahiiing war eine Änderung des
. -,-.fines -1-r ',"iilf η r.pn<
hetherciehe nicht möglich. In
■].-i- ;··,,.; Ii <r,r, "ς /'.r It rim me ii, (IaM 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 beschreibt eine Speicherschutz-
Die DE-AS 12 47 707 beschreibt eine Speicherschutz-
einrichtung, welche eine Überprüfung dahingehend gestattet, ob die zur Adressierung verwendeten Daten
sich auf den dem gerade ablaufenden Programm zugeoidneten Speicherbereich beziehen. Hierzu wird
jedem, einem Programm zugeordneten Speicherbe-
jü reich, 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
j-, 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 genanntßn 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 Speicherschutz-
4r) einrichtung, welche in ähnlicher Weise wie oben
dargestellt, den Zugriff zu Speicherbereichen mittels Adressenvergleich 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
,o 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
v. 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
ho 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 Speicher-
br, bereich aufgerufen wird.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Anspruchs 1 beschriebenen Merkmale
eelö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 vorteilhafte 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,
F i g. 2 die Anordnung des Hauptspeicher-Adressenregisters.
Das Adressenprüfungs-Grenzenregister ACB, F i g. 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 welches sowohl
der Datenspeicher \b als auch der Steuerspeicher la adressiert werden.
Je nach gewünschter Konfiguration werden für den Datenspeicher Xb und den Steuerspeicher 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 Adressenbits, 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 Steuerspeicher wird angebogen, und ein b5
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 also jeweils das optimale Verhältnis zwischen Datenspeichergröße
und Steuerspeichergröße 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
verstanden wird, welche in der Zentraleinheit untergebracht werden kann.
Bei jedem Zugriff zum Steuerspeicher la oder Datenspeicher 16 wird die dem Hauptspeicheradressenregister
3 zugeführte Adresse mit der im Register ACB 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 ib. 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 7.u einem
maximalen Speicherumfang von 1 048 576 Bytes.
Die drei niederwertigen Bits 5, 6 und 7 des ACß-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), welcher 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 ACß-Register ist in F i g. Ib gezeigt und in zwei
Teile 30a und 306 unterteilt. Im Teil 30a werden die Bits 3 bis 7 des Bytes 0 gespeichert, wobei d;e Bits 0 bis 2
dieses Byte 0 in der gezeigten Ausführungsform nicht verwendet werden. Im Teil 30f>
des A CB- 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 Hauptspeichers 1 vorgesehene Adressenregister 3 ist in F i g. 2 gezeigt und enthält
die Register Mi, M2 und M 3 (110. 111 v<ui 112). Die
Ausgangsleitungen 116,117 und 118 dieser Adressenregister
sind mit Hauptspeichertreiberschaltungen 113 verbunden. Mit den Registern 111 und It2 sind zwei
Unterstützungsregister N 2 und /vi (119 und 120)
verbunden. Adressen für Zugriffe zum Datenspeicher ib
oder Steuerspeicher la werden in den Registern Mi,
M2 und M3 gespeichert, wobei das A/3-Registcr acht
Bits umfaßt und den niederwertigen Teil der Adresse speichert. Durch diesos Byte von acht Bits kann eines
von 64 Warten in jedem Grundspeicherrnodul adres- ■■,
siert wtriien. Das /V/2-Register hat ebenfalls einen
limfang eines Bytes, und das Ml-Register speichert
vier Bits, durch welche die verschiedenen Grundspeichermoduln
adressiert werden. Das niederwertige Bit 7 im Register M3 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. Über die acht Bits im
Register A/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 AfI können also insgesamt 256 000 Worte durch die in den Registern Ail, M2 und M3
gespeicherte 20-Bit-Adresse adressiert werden. >u
In einer bevorzugten Ausführungsform enthält der Steuerspeicher z.B. maximal 16 000 Worte, wobei für
Mikroprogrammzugriffe zu Steuerworten maximal nur 16 Adreßbits geliefert werden müssen.
Die Zugriffe zum Datenspeicher und Steuerspeicher adressieren jeweils ein Doppelwort. Die Speicherung
von Daten im Hauptspeicher 1 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 M1 und
M 2 gespeicherten Adressen auf dem gleichen Wert während aufeinanderfolgender Operationen zu belassen.
Über die Bits 4 und 5 im Register M3 kann eine Verzweigung des Programms in vier Richtungen erzielt
werden. Wie bereits erwähnt, bestimmt das Bit 5 im Register Af 3 die Auswahl eines geraden oder
ungeraden Wortes im Doppelwort, welches ausgelysen oder gespeichert wird. Dies ist besonders nützlich bei 4=,
Zugriffen zu Steuerwörtern wie unten noch erklärt wird. Das Bit 4 im Register M 3 bestimmt, welches von zwei
aufeinanderfolgenden Doppelwörtern im Datenspeicher oder Steuerspeicher adressiert wird.
Die Register Λ/2 und Λ/3 dienen als Unterstützungsregister
für den Zugriff von Steuerwörtern. Die Adresse in /V 2 als auch die in M 2 stellt eine Moduladresse dar.
Wie bereits erwähnt, kann eine Reihe von Mikropro gramm-Operationen so eingeleitet werden, daß aufein
anderfolgende Steuerwörter im gleichen Modul im Steuerspeicher adressiert werden. Die im Register N 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 N 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 N2 jeweils in das Register Af 2 ü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.
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 Steuerworles sichergestellt. Die durch den Programmsprung
eingeleitete Routine speichert den Inhalt der Register N λό. so daß die ursprüngliche Steuerwortfolge
mit dieser abgespeicherten Adresse wieder aufgenommen wrrrien kann, wenn die durch den Programmsprung
eingeleitete Routine beendet ist.
Die Register MB2 und MB3 (125 und 126) dienen
ebenfalls als Unterstütziingsregister für die Register
Λ/2 und M3. Diese Untestützungsregister MB 2 und
MB 3 werden mit der in den Registern Ai 2 und M3
gespeicherten Adresse geladen. Wenn der Taktgeber der Zentraleinheit stillgesetzt wird, enthalten die
Register Afß2 und MB 3 also die Adressenbits des
vorher ausgeführten Steuerwortes, während die Register M 2 und M 3 die Adresse des Steuerwortes
enthalten, das darauffolgend ausgeführt werden soll. Der Inhalt der Register MB2 und MB3 wird während
Fehlersuchroutinen benötigt.
Die Adressendaten werden in die Register M und N ü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 verbunden sind. Die in den Oder-Gliedern angeführten
Ziffern 4, 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 den Eingängen der Register Λ/1, Μ 2,
A/3, 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 Mi gesetzt werden sollen.
Wie bereits erwähnt besteht die in die Register MX,
M 2 und Af 3 geladene Hauptspeicheradresse aus maximal 20 Bits. Diese 20 Bits werden über eine
Sammelleitung 153 von einem Register B in die A/-Register geladen, wobei die Sammelleitung 153 mit
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 gezeigten C-Register mit der Kapazität eines Wortes zugeführt
werden.
Außerdem besteht die Möglichkeit, dem Grenzregister Daten über eine externe Sammelleitung EBl
zuzuführen. Die Kennzeichnung der Bytes und Bits erfolgt z.B. durch den Ausdruck: Β2Λ—7, welcher
angibt, daß die Bits 4 bis 7 des zweiten Bytes vom ß-Register übertragen werden. C2.4 bedeutet sinngemäß, daß das Bit 4 des zweiten Bytes vom C-Register
übertragen wird.
Zum besseren Verständnis kann beispielsweise angenommen werden, daß die Zykluszeit der Zentraleinheit 180 Nanosekunden beträgt Zur Steuerung der
logischen Glieder werden dabei Zeitsignale verwendet,
die ζ. 3. mit »O-Zeit«, »0-Zeiiverzögcrung«, »; 7.ciu
usw. bezeichne' werden. Hdes dieser Takt^i.rnale hat
eine Dauer von 90 Nanosekunden und ist gegenüber
dem vorhergehenden um 45 Nsnoseknnden versetzt.
»O-Zeitverzögerung« ist also um 45 Nanosekunden
gegenüber »O-Zeit« verzögert, während »1-Zeit« wiederum um 45 Nanosekunden gegenüber »O-Zeitverzögerung«
verzögert ist. Ebenso ist »1-Zeitverzögerung« um 45 Nanosekunden gegenüber »1-Zeit«
verzögert, usw. iu
Zum ursprünglichen Laden des Registers ACB wird
dem Register über die Sammelleitung EBI das Signal EBI0.3-7 über das Und-Glied 31 zugeführt (Fig. Ib).
Mit dem Eingang eines Und-Gliedes 32 sind Byte- und Wortauswahlleitungen »externe Bestimmung Decodierung
X1«, »externe Bestimmung Decodierung Y2« und
»externe Bestimmung Byte 0« verbunden. Der Ausgang des Und-Gliedes 32 ist mit dem Eingang eines
Und-Gliedes 31 verbunden, und führt außerdem ein Rückstellsignal dem Teil 30a des Registers ACB zu. Das
Register ACB besteht aus Vcrriegelungsschaliungen,
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 ΕΒΠ.0-7 dem Teil
30b als 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 Λ/2.0—4
zugeführt Während jedes Zugriffs zum Hauptspeicher 1 werden also die Bits M1.4 — 7 und M 2.0—4 mit den Bits
ACB0.4-7 und ACB 1.0-4 verglichen und festgestellt,
ob die Hauptspeicheradresse gleich oder größer ist als der im ACS-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 Af-Registeradresse
gleich oder größer ist als der Wert im ACJS-Register, sollte ein Zugriff zum Steuerspeicher des
Hauptspeichers 1 durchgeführt werden. Wenn die Ausgangsleitung 36 ein Signal führt, wird das Und-Glied
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 »Datenspeichern- eo
griff« 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 es
zum Steuerspeicher, sondern zum Datenspeicher versucht wird.
Wenn die Af-Registeradresse kleiner ist als der
/ICTJ-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 110 durch die ß-Registerbits
B 1.4 — 7. oder über die Sammelleitungen ACB bzw. ACB+1 zu setzen. Diese Signale von den Sammelleitungen
ACB, ACB+1 oder B 1.4 - 7 stellen Eingänge zu
den Und-Gliedem 51,52 und 53 des Assemblers 50 dar.
Die Ausgänge dieser Und-Glieder sind mit den Eingängen eines Oder-Gliedes 54 verbunden, welches
über die Torschaltung 55 Signale zum Register ί 10
liefert.
Die /ICB-Eingänge zum Assembler 50 werden von
Schaltungen geliefert, welche das Oder-Glied 60 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 A CB- Registerausgangsleitungen A CB 1.5 und
-ACB\.6 gebildet. Die anderen Eingänge zum Und-Glied 61 werden von den ACß-Registerausgangsleitungen
A CB 0.4 -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
-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-7 zum
Und-Glied 51 gebracht. Wenn das AC0O3-Bit gleich
»1« ist, wird über einen Addierer 62 der Wert »1« zum Wert der Bits ACB0.4 -7 addiert. Dieser erhöhte Wert
wird sodann über die Leitung ACB+1 dem Und-Glied 52 zugeführt. Wenn das Bit ACB03 gleich »0« ist, dann
wird über die Leitung ACB+1 der Wert ACBOA-7,
ohne Erhöhung um 1, dem Und-Glied 52 zugeführt.
Wenn das Bit M 2.0 gleich »1« ist, dann wird der Wert
auf der Leitung ACB+1 (entweder also der Wert ACB 0.4 - 7 oder der um 1 erhöhte Wert) in das Register
Mi über das Und-Glied 52, das Oder-Glied 54 und die
Torschaltung 55 gesetzt. Wenn jedoch das Bit M2.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 Λ/1-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 C2.4 und CZ5 empfängt, dient mit anderen Schaltungsgliedern dazu, um zu bestimmen, ob die
y4CB-Registerbits, die modifizierten ACß-Registerbits
oder die Adressenbits vom B-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 verbundea Der Eingang zu diesem
Inverterglied 68 wird durch die Leitung »Speicherwort /C-Adresse« gebildet Ein dritter Eingang zum Und-
to
Glied 67 wird vom Signal »Speicher 1-Zyklus« gebildet.
Der Ausgang des Und-Güedes 67 ist mit einem Eingang des Oder-Gliedes 69 verbunden. Der Ausgang des
Oder-Gliedes 69 ist mit einem Eingang eines Und-Güedes 70 über ein Inverterglied 7i 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 ACßoder ACB+ 1 in das Register Ml
gesetzt.
Das Signal »Hauptspeicher« stellt einen weiteren Eingang zum Oder-Glied 69 dar. Der Ausgang Ues
Oder-Gliedes 69, welcher mit »bringe Al zu Ml«
bezeichnet ist, ist mit einem Eingang des Und-Gliedes 53 verbunden und bringt die Bits B 1.4 — 7 in das Register
110. Es ist also zu sehen, daß während eines Zugriffes 711m HitoncnDloKor rv/^or* 711m Qt-onorcnai^lier ontu'aHor
die Leitung »bringe ACB zu Ml« oder die Leitung
»bringe ölzuM 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-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 verläuft, kann die Adresse im Adressenlieferungsregister
eine Steuerspeicheradresse oder eine Datenspeicheradresse sein. Im Falle einer Steuerspeicheradresse
werden nur die niedervertigen 16 Bits von der Adressenquelle dazu benutzt, die M2- und M3-Register
zusetzen. Für Datenspeicheradressierungen werden die niederwertigen 24 Bits benutzt, um die Register Mi,
M 2 und M 31 zu setzen.
Bei einer Adressierung nach dem K-Typ wird die
Hauptspeicheradresse derart geformt, daß ein bestimmter Wert in das M-Register gesetzt wird. Adressierungen
nach dem K-Typ finden also statt bei Programmverzweigungen oder -rückkehr.
Fäll*
iTl.6 ^ Bits di
rungsarten und Einstellung des M-Registers an: Wenn diese beiden Bits gleich »0« sind, wird ein Zugriff zum ACB 0.4—7
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 C2.4.5 gleich 01 oder 10
sind. Im übrigen werden 20 Bits vom 3yte 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-Zyklus« und »O-Zeitverzögerung« gebildet Die Ausgangsleitung des ro
Und-Gliedes 75 ist mit einem Eingang des Oder-Gliedes
76 verbunden. Der andere Eingang zum Oder-Glied 76 wird durch die Leitung »O-Zeit« gebildet Das
Ausgangssignal vom Oder-Glied 76 wird als Rückstell- ACB signal für das Register 110 benutzt und das Stellsignal
wird von dieser Ausgangssleitung über ein Inverterglied
77 erzeugt ACB In manchen Fällen, wie weiter unten noch näher
erläutert wird, muß das Bit MZO durch ein Exklusiv-Oder-Glied 80 invertiert werden, bevor es den
Treiberschaltugnen 113 des Hauptspeichers 1 zugeführt
werden kann. Hierbei stellt die Bitleitung M 2.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 -ACBM und ACB 1.5 zugeführt, und sein Ausgangssignal wird
einem Eingang des Und-Gliedes 81 zugeführt.
Einem Eingang eines Und-Gliedes 83 wird das Bitsignal — ACßl.5 und einem weiteren Eingang das
Signal ACBX& 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.
Bei den Ausfühningen soll beachtet werden, daß die Hom hochwertigen B"te des ^teuersn<s'^hers zi|£ri*w'es£-
ne Adresse immer FFFF(64K Dezimal) ist, trotzdem die
tatsächliche Adresse im Hauptspeicher von System zu System verschieden sein kann und trotzdem es weniger
als 64K-Bytes Steuerspeicher-B ereich in einem System
geben kann. Der Steuerspeicher befindet sich in den höherwertigen Adressenpoiitionen des Hauptspeichers
1. Die tatsächliche Adresse im Hauptspeicher 1 beginnt mit dem hexadezimalen Wert 0000.
Wie bereits erwähnt, wird das ACö-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 ACB-Registers
folgende Bedeutung.
ACB OJ = 0 Die Adressenprüfgrenze ist innerhalb der
oberen 32K de« verfügbaren internen Speicherbereichs, d. h. des Speichers, der
sich physikalisch im selben Gehäuse wie die Zentraleinheit befindet und nahe der
Zentraleinheit angebracht ist
ACB 03 = 1 Die Adressenprüfungsgrenze ist unterhalb
der oberen 32K des verfügbaren internen Speicherbereichs (eine maxima-ίο
K.or*äzitäi des internsn S^C'ciisrs γοη
256K-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.
b. das System ist Duplex.
1 Das System ist Simplex mit externem Speicher.
ACB 1.6,7 Wenn ACS 1.5 = 1 ist, dann geh---, die
Bits ACB 1.6,7 die Anzahl der Bytes im externen Speicher für ein Simplexsystem
wie folgt an:
OC = 131,07? B>l-?s, 01 = 262,144 Bytes
und
11- = 5?4,288 Bytes.
11- = 5?4,288 Bytes.
ACa 16=1 Wenn ACB 1.5 = 0 ist, dann ist dss Bit
ACB \& — 1 wenn das Sys-'tcm Duplex
ist.
ACB 1.6 = 0 Wenn ACB\.5 = 0 ist, dann ist
ACB i .6 = 0 wann das System Simpicx ist.
ACB 1.7-0 Wenn ACB 1.5 - 0 ist, dann muß das Bii
iV/2.0 invertiert werden während eines Steuerspeicherzugriffs.
ACB 1.7 = 1 Wenn ACB \5 = 0 ist, dann wird das Bit
M'2.0 nicht während eines Steuerspeicherzugriffs
invertiert. Wenn ACB \5 = i ist, dann wird das Bit MIO in Simplexsystemen während eines
Steuerspeicherzugriffes immer invertiert, unabhängig vom Wert ACBXJ. In
Duplexsystemen wird ACB 0.4—7 und ACB 1.0—4 nicht zum Vergleich mit
Hauptspeicheradressen benutzt wenn das ACB 1.7 = 1 ist In Voll-Duplexsystemen.
sollte das ,4CS !.7 Bit nur auf 1
gesetzt werden bei einer Speichergröße von 1024/C
Wie bereits erläutert, geben die Bits ACB 0.4—7 und
ACB 1.0—4 den Grenzwert an, an dem oder oberhalb welchem ein Adressenprüfungssignal erzeugt wird, falls
ein Datenspeicherzugriff versucht wird. Dies ist der Fall 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, weiche in das Register
M1 gesetzt wird, sind immer 0000 für Steuerspeicherzugriffe
in Duplexsystemen. Die vom Mikroprogramm gelieferten Adressen werden dann ohne Modifikation
uaZU LfCnütZt, Cincn £jügi in Zur äuFcSSicFtcn otcücfspeicherstelle
durchzuführen. Der Grund hierfür ist darin zu suchen, daß die Adressenregister Mi, M2 und
Λ/3 nur 20 Bits enthalten und daß in einem 1024/C-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 64K-Steuerspeicher montiert ist):
1. 08000 bis OFFFF(32K-Steuerspeicher),
oder
oder
2. 00000 bis OFFFF(64X-Steuerspeicher).
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 (F i g. Ib) erzeugt, wenn ein Steuerspeicherzugriff im
Adressenbereich 00000 bis 07FFF versucht wird. Hingegen sind alle Steuerspeicheradressen gültig, wenn
das Bit ACB 03 = list
Für Speicherzugriffe in Voll-Duplexsystemen werden
zwei Auswahlsignale benutzt Selbst wenn also eine Steuerspeicherstelle und eine Datenspeicherstelle die
gleiche Adresse haben, kann also über die Auswahlsigrittie
unterschieden werden, ob ein Zugriff zum Steuerspeicher oder zum Datenspeicher stattfindet.
Beispiel!
Folgende Annahmen werden getroffen:
Folgende Annahmen werden getroffen:
1. Ein Simplexsystem mit einer gesamtverfügbaren
Speicherkapazität von 65 536 Bytes, weiche alle
ίο 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.
Folgende Information wird dann in das ACß-Register
geladen:
Bit 01 23456701 2 3 t j S 7
Wert 0000000010000001
Wert 0000000010000001
1. ACB0.3 = 0 gibt an, daß die Adressenprüfgrenze
in den oberen 32 768 Bytes liegt und daß die Bits ACi? 0.4—7 nicht mit 1 erhöht werden, um zur
tatsächlichen Steuerwortadresse zu gelangen.
2. Die Bits ACBOA—7 und ACB 1.0—4 haben den
Wert 0000 10000 und definieren damit die Grenze an der Speichersteüc 32 768. Jeder Datenspeicherzugriff
an oder überhalb dieser Grenze, d. h. an der binären Adresse 0000 1000 0000 0000 0000 (08000
in Hexadezimal) erzeugt ein Adressenprüfungssignal, d. h. Fehlersignal. Jeder Steuerspeicherzugriff
unterhalb dieser Adresse erzeugt ein Maschinenprüfsignal (Steuer-Adressenprüfungssignal).
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 Λ/2.0 nicht durch das Exklusiv-Oder-Glied 80 während eines Steuerspeicherzugriffs invertiert werden soll, um zur tatsächlichen Steuerwortadresse zu gelangen.
4. ACB 1.7 = 1 gibt an, daß das Bit Λ/2.0 nicht durch das Exklusiv-Oder-Glied 80 während eines Steuerspeicherzugriffs invertiert werden soll, um zur tatsächlichen Steuerwortadresse zu gelangen.
Die Bits, welche in das Ml-Register über die
Schaltungen 51 und 52 während eines Steuerspeicherzugi'iffs
gesetzt werden, sind die Bits ACBOA—7, weiche in diesem Falle gleich 0000 sind. Auch in diesem Falle
wird das Bit M 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
so 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
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 | Beispiel 3 | 7 | 581 | 14 |
Das ACB-Register wird in diesem Fall mit der | Es wird angenommen: | Bit 0123456701234567 | |||
folgenden Information geladen: | Wert 0001000010000000 | ||||
Bit 0123456701234567 Wert 0000000 100000000 |
1. Ein Simplexsystem mit einer totalen verfügbaren | Zum oben beschriebenen Beispiel 2 bestehen also nur die folgenden Unterschiede: |
|||
1. ACB 03 = 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. A CB 03 = 1 gibt nun an, daß die Grenze zwischen | |||
die Bits A CB 0.4—7 werden nicht erhöht. | Steuerspeicher zugeteilt. | Datenspeicher und Steuerspeicher nicht in den | |||
2. ACBQA-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. | l0 | speicher, welche durch die Bits ACB 0.4—7 und | |||
3. ACB 1.5,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. | |||
4. ACBU = 0 (und ACB 15,6 = 00) gibt an, daß | |||||
M ZO 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 | UWW bis |
||||
sem System sind wie folgt (in Hexadezimal): | 20 | 07FFF | |||
Datenspeicher-Adresse | Steuerspeicher-Adresse | ||||
00000 | 08000 | ||||
bis | bis | ||||
OFFFF | 25 | 17 FFF | |||
Steuerspeicher-Adresse | Speicherstelle | ||||
10000 | 0 | ||||
bis | bis | ||||
17 FFF | 30 | 32 767 | |||
Speicherstelle | Speicherstelle | ||||
0 | 32 768 | ||||
bis | bis | ||||
65 535 | 35 | 98 303 | |||
Speicherstelle | Die vom Mikroprogramm gelieferte Adresse 0000 | ||||
65 536 | (Hexadezimal) adressiert das Wort niedrigster Ordnung | ||||
bis | (an der Speicherstelle 08000) im Steuerspeicherbereich. | ||||
98 303 | 40 | Dies wird wie folgt erzielt: | |||
Die Steuerspeicheradresse, welche vom Mikropro | 1. In die Register M2 und M3 wird der Wert 0000 | ||||
gramm geliefert wird und der tatsächlichen Adresse | (Hexadezimal) gesetzt | ||||
10 000 entspricht ist 8000. Während eines solchen | 2. Das Ausgangssignal der Bitstelle M 2.0 wird in der | ||||
Steuerspeicherzugriffs werden die Bits M 1.4 — 7 auf den | 45 | Schaltung 80 invertiert, da beide Bits ACB 1.7 und | |||
gleichen Wert gebracht wie ,4Cß0.4—7, der in diesem | ACB 1.5 = 0 sind. Die Invertierung erfolgt in den | ||||
Falle gleich ist 0001 (1 in Hexadezimal). Da | Schaltungen 81 und 84. | ||||
ACB 1.5,6 = 00 und ACB 1.7 = 0 ist, wird das höchste | 3. Die Bits ACB 4—7 (=0000) werden in das Register | ||||
Bit der vom Mikroprogramm gelieferten Adresse | M 1.4-7 über die Schaltung 51 gesetzt, da | ||||
(M 2.0) invertiert bevor die Adresse zu den Haupt | 50 | M 2.0 = 0 ist. | |||
speichertreiberschaltungen 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 | ||||
55 | 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. | |||||
60 | |||||
1. 8000 wird in die Register M2 und M 3 gesetzt. | |||||
2. Der Ausgang der Bitstelie Λ/2.0 wird durch die | |||||
Schaltung 80 invertiert. | |||||
3. Da vor der Inversion beide Bits ACB0.3 und | |||||
tir> | M2.0 = I sind, werden die Bitstellen M 1.4 — 7 | ||||
durch die Signale ACBQA-T + \ (d.h. | |||||
0000 + 1 = 0001) über die Schaltung 52 gesetzt. | |||||
15
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 A C-?.·
Simplex
Gesarat-Speicher kapazität
(Bytes)
65 536 98 304 131 072 131 072 294 912 294 912 425 984 425 984 557 056
557 056
Steuerspeicher
Datenspeicher
ACB-Einstellung
(Hexadezimal)
32 32 32 65536 32 65 32 65 32 65
32
65
98
65
262144
229
393
360448
524
491
0081 0100 0181 1101 0400 1380 0604 1584 0805 1785
10
15
20
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.
Duplex
Gesamtanzahl Bytes
Geteilter Datenspeicher
262 144
262 144
524 288
524 288
786 432
786 432
1 048
1 048 Λ CS-Eins teilung
(Hexadezimal)
32 768 | 0402 |
65 536 | 1402 |
32 768 | 0802 |
65 536 | 1802 |
32 768 | OC 02 |
65 536 | 1C02 |
32 768 | OFFB |
65 536 | \FFB |
Hierzu 3 Blatt Zeichnungen
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 einAdressenprüfungs-Grenzenregister
(ACB) zur Speicherang der Adresse der Grenzspeicherstelle zwischen Steuerspeicherbereiche
(la) und Datenspeicherbereich (tb), welches ausgangsseitig sowohl mit dem Adressenregister (3)
als auch mit einer Vergleichseinrichtung (35) verbunden ist wobei der andere Eingang der
Vergleichseinrichtung (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 nach Anspruch 1 mit einem aus mehreren Teilregistern bestehenden Adressenregister,
dadurch gekennzeichnet, daß 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 DE2117581B2 (de) | 1978-12-14 |
DE2117581C3 true 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 |
USRE31318E (en) | 1973-09-10 | 1983-07-19 | Computer Automation, Inc. | Automatic modular memory address allocation system |
US4025903A (en) | 1973-09-10 | 1977-05-24 | 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 |
---|---|
CA934065A (en) | 1973-09-18 |
FR2092531A5 (de) | 1972-01-21 |
DE2117581A1 (de) | 1971-10-28 |
US3651475A (en) | 1972-03-21 |
GB1288728A (de) | 1972-09-13 |
JPS543335B1 (de) | 1979-02-21 |
DE2117581B2 (de) | 1978-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2117581C3 (de) | Einrichtung zur Adressenprüfung | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE2350225C2 (de) | ||
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2523414B2 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE3011552A1 (de) | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE2630323B2 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE2350215A1 (de) | Rechnersystem sowie bei diesem verwendbares mehrebenen-speichersystem | |
DE2115431A1 (de) | Universalmodul zum Verbinden von Einheiten in Patenverarbeitungsanlagen | |
DE2746505C2 (de) | ||
DE2758829C2 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE3128729A1 (de) | Halbleiter-speichersystem | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE3121046C2 (de) | ||
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE3000012A1 (de) | Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE3586789T2 (de) | Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit. | |
DE2842288A1 (de) | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |