DE2117581B2 - Einrichtung zur Adressenprüfung - Google Patents

Einrichtung zur Adressenprüfung

Info

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
Application number
DE2117581A
Other languages
English (en)
Other versions
DE2117581C3 (de
DE2117581A1 (de
Inventor
Robert Glen Apalachin Dunbar Jun.
Karl Kay Endicott Womack
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2117581A1 publication Critical patent/DE2117581A1/de
Publication of DE2117581B2 publication Critical patent/DE2117581B2/de
Application granted granted Critical
Publication of DE2117581C3 publication Critical patent/DE2117581C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address 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)
  • Executing Machine-Instructions (AREA)
  • Techniques For Improving Reliability Of Storages (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..» „..η«-.!«.— «;«
W I1U-VJ lll.Ul.3 ~J t rV.IUUIIUl.il, UIIU IUIIIl UUL/WIUVIII VIII
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.
Wenn die Λί-Registeradresse kleiner ist als der
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.
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
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:
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
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
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:
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)

Patentansprüche:
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.
DE2117581A 1970-04-16 1971-04-10 Einrichtung zur Adressenprüfung Expired DE2117581C3 (de)

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)

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

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

Also Published As

Publication number Publication date
GB1288728A (de) 1972-09-13
FR2092531A5 (de) 1972-01-21
US3651475A (en) 1972-03-21
DE2117581C3 (de) 1979-08-16
DE2117581A1 (de) 1971-10-28
JPS543335B1 (de) 1979-02-21
CA934065A (en) 1973-09-18

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
DE2725396B2 (de) Pufferspeicher
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

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee