DE2117581A1 - Einrichtung zur Adressenprüfung und -modifizierung - Google Patents

Einrichtung zur Adressenprüfung und -modifizierung

Info

Publication number
DE2117581A1
DE2117581A1 DE19712117581 DE2117581A DE2117581A1 DE 2117581 A1 DE2117581 A1 DE 2117581A1 DE 19712117581 DE19712117581 DE 19712117581 DE 2117581 A DE2117581 A DE 2117581A DE 2117581 A1 DE2117581 A1 DE 2117581A1
Authority
DE
Germany
Prior art keywords
address
memory
register
control
acb
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
DE19712117581
Other languages
English (en)
Other versions
DE2117581B2 (de
DE2117581C3 (de
Inventor
Robert Glen Apalachin; Womack Karl Kay Endicott; N.Y. Dunbar jun. (V.St.A.)
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

Description

2 11 7 R 8 1
Böblingen, 6. April 1971 lw-fr
Artmelderin: International Business Machines
Corporation, Armonk, N. Y. 10504
Amtl. Aktenzeichen: ' Neuanmeldung Aktenzeichen der Anmelderin: Docket EN 968 031
Einrichtung zur Adressenprüfung und -modifizierung
Die Erfindung betrifft eine Einrichtung zur Adressenprüfung und -modifizierung in einer mikroprogrammierten Datenverarbeitungsanlage, deren Hauptspeicher aus einem Datenspeicher zur Speicherung der Daten und Programminstruktionen und aus einem Steuerspeicher zur Speicherung der Mikroprogramm-Steuerworte besteht, wobei diese beiden Speicherbereiche über ein gemeinsames Adressenregister und gemeinsame Treiberschaltungen adressiert werden.
Zur Speicherung der Mikroprogramm-Befehle wurden früher Festwertspeicher verwendet. Diese Speicher hatten den 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 ümfangs 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 Auf-
109844/1620
nähme des Mikroprogramms notwendig ist.
Der Erfindung liegt daher die Aufgabe zugrunde, in einer mikroprogrammierten Datenverarbeitungsanlage der obengenannten Art die Grenze zwischen Datenspeicher und Steuerspeicher leicht veränderbar zu machen.
Zur Lösung dieser Aufgabe ist die Erfindung gekennzeichnet durch ein Adressenprüfungs-Grenzenregister zur Speicherung der Adresse der Grenzspeichersteile zwischen Steuerspeicher und Datenspeicher und von Steuerinformationen über den Hauptspeicherbetrieb (Größe des externen und internen Speicherbereiches, Simplex- oder Duplex-Betrieb), welches ausgangsseitig sowohl mit dem Hauptspeicheradressenregister, als auch mit einer Vergleichseinrichtung verbunden ist, wobei der andere Eingang der Vergleichseinrichtung mit dem Ausgang des Hauptspeicheradressenregisters verbunden ist und durch Einrichtungen zur Erzeugung eines Fehlersignales aus dem von der Vergleichseinrichtung gelieferten Signal, wenn die Hauptspeicheradresse fälschlicherweise unter- oder oberhalb der im Adressenprüfungs-Grenzenregister gespeicherten Adressengrenze liegt.
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 ümfangs 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-Grenzenregister eine neue Information einzuspeichern. Ferner wird die Adressierung des Hauptspeichers nach der Erfindung dadurch erleichert, daß für die beiden Bereiche ähnliche Adressenwerte benutzt werden.
Nach einer vorteilhaften Weiterbildung der Erfindung werden die
Docket η 968 031 109844/1623
höherwertigen Bits einer Hauptspeicheradressenangabe in einem Mikroprogrammsteuerwort von dem Adressenprüfungs-Grenzenregister geliefert.
Diese 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 weiterer Vorteil der Erfindung besteht darin, daß durch die im Adressenprüfungs-Grenzenregister gespeicherte Steuerinformation die Betriebsart des Hauptspeichers erfaßt werden kann. So kann z.B. der Hauptspeicher nur von einem Prozessor benutzt werden (Simplex), oder auch von zwei Prozessoren zugleich (Duplex). Je nach erforderlicher Hauptspeichergröße kann es notwendig sein, einen Teil der im Hauptspeicher abzuspeichernden Daten extern, z.B. auf einem Plattenspeicher, unterzubringen. Die genannte Steuerinformation gestattet bei der Adressierung des Hauptspeichers eine Unterscheidung zwischen internem Speicherumfang und externem Speicherumfang.
Die Erfindung soll nun anhand eines in den Figuren gezeigten Ausführungsbeispieles näher erläutert werden. Es zeigen:
Fig. la u. Ib ein Blockschaltbild des Adressenprüfungs-Grenzen-
registers 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 (Programminstruktionen) wird dabei im Datenspeicher und die Steuerworte des Mikroprogramms werden im Steuerspeicher ge-Docket EN 968 031 1098U/1620
speichert. Die zur Verarbeitung kommenden Daten werden im Datenspeicher abgespeichert.
Zur Adressierung des Hauptspeichers 1, Fig. 2, ist ein Adressenregister 3 vorgesehen, über welches sowohl der Datenspeicher Ib als auch der Steuerspeicher la adressiert werden.
Je nach gewünschter Konfiguration werden für den Datenspeicher Ib 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 angeboten 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,
109844/1620 Docket EN 968 031
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 Ib 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 zu einem maximalen Speicherumfang von 1 048 576 Bytes.
Die drei niederwertigen Bits des ACB-Registers zeigen an, ob in der Anlage ein oder zwei Prozessoren vorgesehen sind, die beide den Hauptspeicher benutzen, den Umfang des Hauptspeichers, 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.
Da* ACB-Register ist in Fig. Ib gezeigt und in zwei Teile 30a
und 30b unterteilt. Im Teil 30a werden die Bits 3 bis 7 des Byte
Docket en 968 031 109844/1620
gespeichert, wobei die Bits 0 bis 2 dieses Byte in der gezeigten Ausführungsform nicht verwendet werden. Im Teil 30b des ACB-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 der Benutzers berücksichtigt.
Das zur Adressierung des Hauptspeichers 1 vorgesehene Adressenregister 3 ist in Fig. 2 gezeigt und enthält die Register Ml, M2 und M3 (110, 111 und 112). Die Ausgangsleitungen 116, 117 und 118 dieser Adressenregister sind mit Hauptspeichertreiberschaltungen 113 verbunden. Mit den Registern 111 und 112 sind zwei Unterstützungsregister N2 und N3 (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 M3-Register acht Bits umfaßt und den niederwertigen Teil der Adresse speichert. Durch dieses Byte von achts Bits kann eines von 64 Worten in jedem Grundspeichermodul adressiert werden. Das M2-Register hat ebenfalls einen Umfang 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 Bytesauswahl. Bit 6 im Register M3 bestimmt die Halbwortauswahl und Bit 5 dieses Registers die Wortauswahl. Durch die Bits 0 bis 5 im Register M3 kann also eines von 64 Worten, d.h. ein Modul ausgewählt werden, über die acht Bits im Register M2 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 Mi können also insgesamt 256 000 Worte durch die in den Registern Ml, M2 und M3 gespeicherte Adresse adressiert werden.
In einer bevorzugten Ausführungsform enthält der Steuerspeicher z.B. maximal 16 000 Worte, wobei von den Mikroprogramm-Steuerworten maximal nur 16 Bits geliefert werden müssen.
Die Zugriffe zum Datenspeicher und Steuerspeicher adressieren
1098U/1620
Docket EN 968 031
jeweils ein Doppelwort. Die Speicherung von Daten im Hauptspei" eher 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 Ml und M2 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 M3 die Auswahl eines geraden oder ungeraden Wortes im Doppelwort, welches ausgelesen oder gespeichert wird. Dies ist besonders nützlich bei Zugriffen zu Steuerwörten 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 N2 und N3 dienen als Unterstützungsregister für den Zugriff von Steuerwörtern. Die Adresse in N2 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 N2 gespeicherte Adresse wird nur geändert, wenn durch gegenwärtige Steuerworte ein Wechsel der Moduladresse verlangt wird. Dann werden die beiden Register M2 und N2 mit dieser neuen Moduladresse geladen. Die neue Adresse verbleibt im Register N2 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 M2 übertragen bis ein Zugriff zu einem neuen Modul notwendig wird.
Docket EN 968 031 10984W1620
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 Steuerwortes sichergestellt. Die durch den Programmsprung eingeleitete Routine speichert den Inhalt der Register N ab, so daß die ursprüngliche Steuerwortfolge 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 jedenfalls als Unterstützungsregister für die Register M2 und M3. Diese Unterstützungsregister MB2 und MB3 werden mit der in den Registern M2 und M3 gespeicherten Adresse geladen. Wenn der Taktgeber der Zentraleinheit stillgesetzt wird, enthalten die Register MB2 und MB3 also die Adressenbits des vorher ausgeführten Steuerwortes, während die Register M2. und M3 die Adresse des Steuerwortes enthalten, das darauffolgend ausgeführt werden soll. Der Inhalt der Register MB2 und MB-3 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 Ml, M2, M3, N2 und N3 verbunden. Mit den Eingängen des Assemblers 130 ist eine erste Adressensammelleitung ACB+l 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 /assembler 130 dar und wird dann benutzt, wenn bestimmte .&dres-
DN 9bP 031 1 (1 (ί 8 k U / 1 C 7 0
BAD ORIGINAL
sen, welche vom gegenwärtigen Steuerwort angegeben werden, in das Register Ml gesetzt werden sollen.
Wie bereits erwähnt, besteht die in die Register Ml, M2 und M3 geladene Hauptspeicheradresse aus maximal 20 Bits. Diese 20 Bits werden über eine Sammelleitung 153 von einem Register B in die M-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 Speicher Daten über eine externe Sammelleitung EBI zuzuführen. Die Kennzeichnung der Bytes und Bits erfolgt z.B. durch den Ausdruck: B2.4-7, welcher angibt, daß die Bits 4 bis 7 des zweiten Bytes vom B-Register übertragen werden. C 2.4 bedeutet sinngemäß, daß das Bit 4 des zweiten Bytes vom C-Register übertragen wird.
Zum besseren Verständnis kann beispielsweise angenommen, daß die Zykluszeit der Zentraleinheit 180 Nanosekunden beträgt. Zur Steuerung der 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 Nanosekunden und ist gegenüber dem vorhergehenden um 45 Nanosekunden 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 "l-Zeitverzögerung" um 45 Nanosekunden gegenüber "1-Zeit" verzögert, usw.
Zum ursprünglichen Laden des Registers ACB wird dem Register über die Sammelleitung EBI das Signal EBIO.3-7 über das Und-Glied 31 zugeführt. Mit dem Eingang eines Und-Gliedes 32 sind Byte- und
1098U/1620 .
Wortauswahlleitungen "externe Bestimmung Decodierung Xl", "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 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 EBIl.0-7 dem Teil 30b als Einstell- und Rückstellsignal zugeführt.
Die Ausgänge der ACB-Registerteile 30a und 30b sind mit den Eingängen einer Vergleichsschaltung 35 verbunden. Den weiteren Eingängen dieser Vergleichsschaltung 35 werden die Bits Ml.4-7 und M2.O-4 zugeführt. Während jedes Zugriffs zum Hauptspeicher 1 werden also die Bits Ml.4-7 und M2.O-4 mit den Bits ACBO.4-7 und ACBl.0-4 verglichen und festgestellt, ob die Hauptspeicheradresse gleich oder größer ist als der im ACB-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 Ausgangsleitung. 36 ein Signal führt, wird das Und-Glied 40 in Fig. Ib vorbereitet. Ein zweiter Eingang dieses Und-Gliedes 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 11180-Zyklus" verbunden sind, Die Leitung "180-Zyklus" ist auch mit dem Eingang eines Invertergliedes 43 verbunden, dessen Aus-
Docket EN 968 031 109344/1620
gang mit einem Eingang eines ünd-Gliedes 44 verbunden ist, das in der logischen Schaltung 41 enthalten ist. Dem anderen Eingang des ünd-Gliedes 44 wird das Taktsignal "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 M-Registeradresse kleiner ist als der ACB-Registerwert, und damit ein Signal auf der Leitung 37 erzeugt wird, wird über das Und-Glied 46 und ie 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 ünd-Gliedes 46 ist mit der Leitung 37 und ein anderer Eingang mit der Ausgangsleitung der logischen Schaltung 41 verbunden. Der dritte Eingang zum nnd-Glied 46 ist mit dem Ausgang eines Invertergliedes 48 verbunden, dessen Eingang mit der Leitung "Datenspeicherzugriff" verbunden ist.
Ein Assembler 50 (Fig. la) wird dazu benutzt, die Bits 4 bis 7 des Ml-Registers 110 durch die B-Registerbits Bl.4-7, oder über die Sammelleitungen ACB bzw. ACB+1 zu setzen. Diese Signale von den Sammelleitungen ACB, ACB+1 oder Bl.4-7 stellen Eingänge zu den ünd-Gliedern 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 110 liefert.
Die ACB-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 ünd-Gliedes ei wird von -im Sammelleitung ACE gebildet. Die Eingänge zun Oder· 1Jl ie! ίθ v;eido.n ^on dem ACR^P
Docket EN 9iV OM ' - i ^ < ' 1 5 2 O
1 BAD ORfGINAL
leitungen ACBl.5 und -ACBl.6 gebildet. Die anderen Eingänge zum ünd-Glied 61 werden von den ACB-Registerausgangsleitungen ACBO.4-7 gebildet. Wenn eine der beiden Bedingungen am Eingang des Oder-Gliedes 60 erfüllt ist, d.h. wenn eine der beiden Leitungen ACBl.5 oder -ACBl.6 ein Signal führen, wird durch das Ausgangssignal des Oder-Gliedes 60 die Und-Schaltung 61 durchgeschaltet und damit die Bits ACBO.4-7 zum ünd-Glied 51 gebracht. Wenn das ACB0.3-Bit gleich "1" 1st, wird Über einen Addierer 62 der Wert zum Wert der Bits ACBO.4-7 addiert. Dieser erhöhte Wert wird sodann über die Leitung ACB+1 dem ünd-Glied 52 zugeführt. Wenn das Bit ACBO.3 gleich "O" ist, dann wird über die Leitung ACB+1 der Wert ACBO.4-7, ohne Erhöhung um 1, dem Und-Glied 52 zugeführt.
Wenn das Bit M2.0 gleich "1" ist, dann wird der Wert auf der Leitung ACB+1 (entweder also der Wert ACBO.4-7 oder der um 1 erhöhte Wert) in das Register Ml über das ünd-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 Ml-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 C2.5 empfängt, dient mit anderen Schaltungsgliedern dazu, um zu bestimmen, ob die ACB-Registerbits, die modifizierten ACB-Registerbits oder die Adressenbits vom B-Register in das Register HO ü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 K-Adresse" gebildet. Ein dritter Eingang zum Und-Glied 67 wird vom Signal "Speicher 1-Zyklus" gebildet. Der Ausgang des Und-Gliedes 67 1st mit einem Eingang des Oder-Gliedes 69 verbunden. Der Ausgang des
Docket. KH 968 031 10 9 8 U/1 6 2 0 BAD ORIGINAL
Oder-Gliedes 69 1st mit einem Eingang eines Und-Gliedes 70 über ein Inverterglied 71 verbunden. Der Ausgang des Und-Gliedes 70 wird durch die Leitung "bringe ACB zu Ml" gebildet, welche einen dritten Eingang zu den ünd-Gliedern 51 und 52 des Assemblers 50 darstellt. Wenn die Leitung "bringe ACB zu Ml" ein Signal führt, werden entweder die Adressenbits von der Sammelleitung ACB oder ACB+1 in das Register Ml gesetzt.
Das Signal "Hauptspeicher" stellt einen weiteren Eingang zum Oder-Glied 69 dar. Der Ausgang des Oder-Gliedes 69, welcher mit "bringe Bl und Ml" bezeichnet ist, ist mit einem Eingang des Und-Gliedes 53 verbunden und bringt die Bits Bl.4-7 in das Register 110. Es ist also zu sehen, daß während eines Zugriffes zum Datenspeicher oder zum Steuerspeicher entweder die Leitung "bringe ACB zu Ml" oder die Leitung "bringe Bl zu Ml" 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 -Cl.6 und -Cl.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 niederwertigen 16 Bits von der Adressenquelle dazu benutzt, die M2 und M3-Register zu setzen. Für Datenspeicheradressierungen werden die niederwertigen 24 Bits benutzt, um die Register Ml, M2 und M3 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.
Docket EN 968 031 1 0 9 8 A U 1 6 2 0
In diesem Falle geben die Cl.6,7 Bits die K-Adressierungsarten und Einstellung des M-Registers an: Wenn diese beiden .Bits gleich "O" sind, wird ein Zugriff zum Datenspeicher durchgeführt. Bei anderen Werten für diese beiden Bits wird ein Zugriff zum Steuerspeicher 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 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-Zyklus" und "O-Zeitverzögerung" gebildet. Die Ausgangsleitung des ünd-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ückstellsignal für das Register 110 benutzt und das Stellsignal wird von dieser Ausgangsleitung über ein Inverterglied 77 erzeugt.
In manchen Fällen, wie weiter unten noch näher erläutert wird, muß das Bit M2.0 durch ein Exklusiv-Oder-Glied 80 invertiert werden, bevor es den Treiberschaltungen 113 des Hauptspeichers l 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 -ACBl.7 und ACBl.5 zugeführt und sein Ausgangssignal wird einem Eingang des Und-Gliedes 81 zugeführt.
Einem Eingang eines Und-Gliedes 83 wird das Bitsignal -ACBl.5 und einem weiteren Eingang das Signal ACBl.6 zugeführt. Die Ausgangs-
Docket EN 968 031 1 O 9 8 A A / 1 6 2 O
leitung 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ührungen soll beachtet werden, daß die .dem hochwertigen Byte des Steuerspeichers zugewiesene 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-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 ACB-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.
ACBO.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 ist.
ACBO.3 = 1 Die Adressenprüfungsgrenze ist unterhalb der
-oberen 32K des verfügbaren internen Speicherbereichs teine maximale Kapazität des internen Speichers von 256K Bytes kann vorgesehen werden).
ACBO.4-7 Diese neun Bits geben eine bestimmte 2 048 Byte- und grenze an. Falls ein Datenspeicherzugriff bei
ACBl.0-4 bei dieser Grenze oder oberhalb dieser Grenze
versucht wird, wird ein Adrossenprüfungssignal erzeugt. Wenn ein Steuerberoichzugriff versucht
Doriot ι;« ·.)(.;? on 1 0 9 JU /+ / 1 B ? 0
BAD OFHGfNAL
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.
ACBl.5 = 0
a. Das System 1st Simplex (ein Prozessor) ohne externen Speicher, oder
b. das System ist Duplex.
ACBl.5 = 1
ACBl.6,7
ACBl.6
ACBl.6
ACBl.7 = 0
Das System ist Simplex mit externem Speicher.
Wenn ACBl.5 = 1 ist, dann geben die Bits ACBl.6,7
die Anzahl der Bytes im externen Speicher für ein
Simplexsystem wie folgt an:
00 = 131,072 Bytes, 01 = 262,144 Bytes und
10 = 524,288 Bytes.
Wenn ACBl.5 - 0 ist, dann ist das Bit ACBl.6 = wenn das System Duplex ist.
Wenn ACBl.5 = 0 ist, dann ist ACBl.6 = 0 wenn das System Simplex ist.
Wenn ACBl.5 = 0 ist, dann muß das Bit M2.0 invertiert werden während eines Steuerspeicherzugriffs.
ACBl.7
Wenn ACBl.5 = 0 ist, dann wird das Bit M2.0 nicht während eines Steuerspeicherzugriffs invertiert. Wenn ACBl.5 = 1 1st, dann wird das Bit M2.0 in Simplexsystemen während eines Steuerspeicherzugriffes immer invertiert, unabhängig vom Wert ACBl.7. In Duplexsystemen wird ACBO.4-7 und ACBl.0-4 nicht zum Vergleich mit
Docket EN 968 031
10984A/1620
Hauptspeicheradressen benutzt wenn das ACBl.7 = 1 ist. In Voll-Duplexsystemen sollte das ACBl.7-Bit nur auf 1 gesetzt werden bei einer Speichergröße von 1 O24K.
Wie bereits erläutert, geben die Bits ACBO.4-7 und ACBl.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 Duplexsysterne. 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 Ml 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 Ml, M2 und M3 nur 20 Bits enthalten und daß in einem 1 024K-Byte-Voll-Duplexsystern 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 32K- oder 34K-Steuerspeicher montiert ist):
1. 08000 bis OFFFF (32K-Steuerspeicher), oder
2. 00000 bis OFFFF (64K-Steuerspeicher).
Im ersten Falle ist ACBO.3 = 0 und im zweiten Falle ACBO.3 = 1. Wenn das Bit ACBO.3 = 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 ACBO.3 ■ 1 ist.
Für Speicherzugriffe in Voll-Duplexsystemen werden zwei Auswahl-Docket EN 968 031 109844/1620
Signale benutzt. Selbst wenn also eine Steuerspeicherstelle und eine Datenspeicherstelle die 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 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 ACB-Register geladen:
Bit 0123456701234567 Wert 0000000010000001
1. ACBO.3 = 0 gibt an, daß die Adressenprüfungsgrenze in den oberen 32 768 Bytes liegt und daß die Bits ACBO.4-7 nicht mit 1 erhöht werden, um zur tatsächlichen Steuerwortadresse zu gelangen.
2. Die Bits ACBO.4-7 und ACB1.0-4 haben den Wert 00OO 10000
und definieren damit die Grenze an der Speicherstelle 32 768. Jeder Datenspeicherzugriff an oder überhalb dieser Grenze, d.h. an der binären Adresse 0000 1000 0000 OOOO OOOO (08000 in Hexadezimal) erzeugt ein Adressenprüfungssignal, d.h. Fehlersignal. Jeder Steuerspeicherzugriff unterhalb dieser Adresse erzeugt ein Maschinenprüfsignal (Steuer-Adressenprüfungssignal) .
Docket EN 968 031 1 0 9 8 A 4 / 1 8 2 0
3. ACBl.5,6 = OO geben an, daß das System Simplex ist und keinen externen Speicher aufweist.
4. ACBl.7 = 1 gibt an, daß das Bit M2.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 Steuerspeicherzugriffs gesetzt werden, sind die Bits ACBO.4-7, welche in diesem Falle gleich 0000 sind. Auch in diesem Falle wird das Bit H2.O nicht während eines Steuerspeicherzugriffs modifiziert. Der Grund hierfür ist darin zu suchen, daß vom Mikroprogramm zwei Byteadressen für den Steuerspeicher (d.h. 80OO 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 "O" 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:
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.
Das ACB-Register wird in diesem Fall mit der folgende Information Docket en 968 031 1 0 9 8 4 4 / 1 6 2 0
- 20 -geladen:
Bit 0123456701234567 Wert 000000010000000 0
1. ACBO.3 = 0 gibt an, daß die Adressenprüfgrenze in den höchsten 32 768 Bytes der Einheit 1 liegt und die Bits ACBO.4-7 werden nicht erhöht.
2. ACBO.4-7 und ACBl.0-4 = 0001 00000, womit die Grenze in der Speichereinheit 1 bei der Speicherstelle 65 536 festgelegt wird.
3. ACBl.5,6 = OO gibt an, daß das System Simplex 1st und ohne externen Speicher.
4. ACBl.7 = O (und ACBl.5,6 = 00) gibt an, daß M2.0 durch die Schaltung 80 invertiert werden soll, wenn ein Steuerspeicherzugriff zugeführt wird. In diesem Falle liefern die Schaltungen 81 und 84 eine logische 1 zur Schaltung 80.
Die tatsächlichen Speicheradressenbereiche in diesem System sind wie folgt (in Hexadezimal):
Datenspeicher-Adresse Speicherstelle
OOOOO 0
bis bis
OFFFF 65 535
Steuerspeicher-Adresse Speicherstelle
10000 65 536
bis bis
17FFF 98 303
Die SteuerSpeicheradresse, welche vom Mikroprogramm geliefert wird und der tatsächlichen Adresse 10 000 entspricht ist 8000. Während eines solchen SteuerspeicherZugriffs werden die Bits
109844/1620 Docket EN 968 031
Ml.4-7 auf den gleichen Wert gebracht wie ACBO.4-7, der in diesem Falle gleich ist 0001 (1 in Hexadezimal). Da ACBl.5,6 = 00 und ACBl.7 = 0 ist, wird das höchste Bit der vom Mikroprogramm gelieferten Adresse (M2.0) invertiert bevor die Adresse zu den Hauptspeichertreiberschaltungen 113 gesandt wird. Die Invertierung des höchstwertigen Bits der Zahl 8000 ergibt 0000. Die tatsächlich verwendete Adresse ist daher 10 000.
Beispiel 3
Es wird angenommen:
1. Ein Simplexsystem mit einer totalen verfügbaren Speicherkapazität von 98 303 Bytes.
2. Die höherwertigen 65 536 Bytes werden dem Steuerspeicher zugeteilt.
3. Die niederwertigen 32 768 Bytes werden dem Datenspeicher zugeteilt.
Der folgende Wert wird in das Register ACB gespeichert.
Bit 0123456701234567 Wert 0001000010000000
Zum oben beschriebenen Beispiel 2 bestehen also nur die folgenden Unterschiede:
1. ACBO.3 = 1 gibt nun an, daß die Grenze zwischen Datenspeicher und Steuerspeicher nicht in den höchsten 32 768 Bytes der Einheit 1 liegt.
2. Die Grenze zwischen Datenspeicher und Steuerspeicher, welche durch die Bits ACBO.4-7 und ACBl.0-4 (gleich mit 000010000) gegeben ist, liegt an der Speicherstelle 32 768.
Docket EN 968 031 1 0 9 8 A 4 / 1 6 2 0
Die Adressenbereiche in hexadezimaler Notierung für dieses System sind dann wie folgt:
Datenspeicher-Adresse Speicherstelle
00000 . 0
bis bis
07FFF 32 767
Steuerspeicher-Adres se Speicherstelle 08000 32 768
bis bis
17FFF 98 303
Die vom Mikroprogramm gelieferte Adresse QOOO (Hexadezimal) adressiert das Wort niedrigster Ordnung (an der Speicherstelle 08000) im Steuerspeicherbereich. Dies wird wie folgt erzielt:
1. In die Register M2 und M3 wird der Wert 0000 (Hexadezimal) gesetzt.
2. Das Ausgangssignal der Bitstelle M2.O wird in der Schaltung 80 invertiert, da beide Bits ACBl.7 und ACBl.5 = 0 sind. Die Invertierung erfolgt in den Schaltungen 81 und 84.
3. Die Bits ACB.4-7 (=0000) werden in das Register Ml.4-7 über die Schaltung 51 gesetzt, da M2.0 = 0 ist.
Ein Zugriff zum Steuerspeicher im Adressenbereich 8Q00 bis FFFF für die Speicherkonfiguration dieses Beispiels ist etwas verschieden. Die vom Mikroprogramm gelieferten Adressen im Bereich 8000 bis FFFF entsprechen Hauptspeicheradressen im Bereich 10 bis 17FFF. Für eine vom Mikroprogramm gelieferte Adresse 8000 müssen z.B. die folgenden Modifikationen ausgeführt werden.
1. 8000 wird in die Register M2 und M3 gesetzt.
Docket EN 968 031 109844/1620
2. Der Ausgang der Bitstelle M2.0 wird durch die Schaltung 80 invertiert.
3. Da vor der Inversion beide Bits ACBO.3 und M2.0 = 1 sind, werden die Bitstellen Ml.4-7 durch die Signale ACBO.4-7 + 1 (d.h. OOOO + 1 = 0001) über die Schaltung 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: Steuerspeicher Datenspeicher ACB-Einstellung
(Hexadezimal)
Gesamt-
Speicher-
kapazität
(Bytes)
32 768 32 768 0081
65 536 32 768 65 536 0100
98 304 32 768 98 304 0181
131 072 65 536 65 536 1101
131 072 32 768 262 144 0400
294 912 65 536 229 376 1380
294 912 32 768 393 216 0604
425 984 65 536 360 448 1584
425 984 • 32 768 524 288 0805
557 056 65 536 491 520 1785
557 056
In einer Duplexkonfiguration 1st 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.
Docket EN 968 O31
109 8-4
62 0
Duplex:
Gesaontanzahl Byte· Geteilter Datenspeicher
en speicher ACB-Elnetellung
(Hexadezimal^
32 76B 0402
65 536 1402
32 768 O8O2
65 536 1SÖ2
32 im OCD2
65 536 1C02
32 768 OFFB
65 536 IFFB
2S2 144 262 144 524 238 524 2Ä8 im 432 7S6 432 O4S 5176 04S 576 BAD ORIGINAL

Claims (2)

  1. - 25 -PATENTANSPRÜCHE
    /Einrichtung zur Adressenprüfung und -modifizierung in einer nlkroprogrammierten Datenverarbeitungsanlage, deren Hauptspeicher aus einem Datenspeicher zur Speicherung.der Daten und Programminstruktionen und aus einem Steuerspeicher zur Speicherung der Mikroprogrammsteuerworte besteht, wobei diese beiden Speicherbereiche über ein gemeinsames Adressenregister und gemeinsame Treiberschaltungen adressiert werden,
    gekennzeichnet durch ein Adressenprüfungs-Grenzenreglster JACB) zur Speicherung der Adresse der Grenzspeicherstelle ■zwischen Steuerspeicher (la) und Datenspeicher (Ib) und non Steuerinformationen über den Hauptspeicherbetrieb (Grude des externen und internen Speicherbereiches, Simplex- oder Duplex-Betrieb), welches ausgangsseitig sowohl mit dem Hauptspeicheradressenregister (3) als auch mit einer Vergleichseinrichtung (35) verbunden ist, wobei der andere Eingang der Vergleichseinrichtung (35) mit dem Ausgang des Hauptspeicheradressenregisters (3) verbunden 1st und durch Einrichtungen (37 bis 48) zur Erzeugung eines Fehlersignales «us de« von der Vergleichseinrichtung (35) gelieferten Signal (36), wenn die Hauptspeicheradresse fälschlicherweise unter*- oder oberhalb der Im Adressenprüfungs-Grenzenreglster % (ACB) gespeicherten Adressengrenze liegt.
  2. 2. Einrichtung nach Anspruch l, gekennzeichnet durch eine
    Modlfislerschaltung (62) und einen Assembler (50) über den, abhängig von der Im Adressenprüfungs-Grenzenregister (ACB) gespeicherten Steuerinferaatlon (ACBO.3 und ACBl.5-7) eine wohl oder nicht modifixierte Adressenangabe aus dem \ Adress4nprüfungi-Grenienr«gieter (ACB), oder eine externe Adresse (Bl.4-7) In das Hauptspeicharadreseenregieter (3) ·*■ feladen werden kenn.
    j 3. lijuriehtung nach Anspruch 2, dadurch gekennzeichnet, daß Motet» »M03i 109844/1620' bad
    die höherwertigen Bits einer Hauptspeicheradressenangabe in einem Mikroprogrammsteuerwort vom Adresaenprüfurige-Grenzen register (ACB) geliefert werden.
    BAD ORIGINAL DOdWtEN 968 031 1098U/1S20
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 true DE2117581A1 (de) 1971-10-28
DE2117581B2 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
JPS543335B1 (de) 1979-02-21
FR2092531A5 (de) 1972-01-21
CA934065A (en) 1973-09-18
GB1288728A (de) 1972-09-13
DE2117581B2 (de) 1978-12-14
US3651475A (en) 1972-03-21
DE2117581C3 (de) 1979-08-16

Similar Documents

Publication Publication Date Title
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE2350884C2 (de) Adreßumsetzungseinheit
DE2645537C2 (de)
DE2350225C2 (de)
DE2117581A1 (de) Einrichtung zur Adressenprüfung und -modifizierung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2844357A1 (de) Speichererweiterung
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE2515696A1 (de) Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2746505C2 (de)
DE2556661A1 (de) Steuerschaltung mit adressenerweiterung
DE2115431A1 (de) Universalmodul zum Verbinden von Einheiten in Patenverarbeitungsanlagen
DE2718110A1 (de) Datenverarbeitungseinheit
DE2547488A1 (de) Mikroprogrammierte datenverarbeitungsanlage
DE2755611A1 (de) Steuereinheit fuer datenverarbeitungsanlagen
DE2926322A1 (de) Speicher-subsystem
DE2150751A1 (de) Digitaler Sinus-Kosinus-Generator
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE2912073A1 (de) Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem
DE2846054C2 (de) Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors
DE1524898A1 (de) Datenspeicher fuer Datenverarbeitungsanlagen zur gleichzeitigen Entnahme mehrerer Worte
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE19628039A1 (de) Speicheradressen-Steuerschaltung

Legal Events

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