DE2117581C3 - Einrichtung zur Adressenprüfung - Google Patents

Einrichtung zur Adressenprüfung

Info

Publication number
DE2117581C3
DE2117581C3 DE2117581A DE2117581A DE2117581C3 DE 2117581 C3 DE2117581 C3 DE 2117581C3 DE 2117581 A DE2117581 A DE 2117581A DE 2117581 A DE2117581 A DE 2117581A DE 2117581 C3 DE2117581 C3 DE 2117581C3
Authority
DE
Germany
Prior art keywords
address
register
memory
acb
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2117581A
Other languages
English (en)
Other versions
DE2117581A1 (de
DE2117581B2 (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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung betrifft eine Einrichtung zur Adressenprüfung der im Oberbegriff des Anspruchs I angegcbe nen Art.
Zur Speicherung der Mikroprogramm-Uefehle wurden früher Festwertspeicher vcrwcndcl. Diese Speicher hatten von Vorteil einer geringen y.iigriffs*eit, (loch w;ir eine Änderung des Mikroprogramm·» nur schwer möglich. Deshalb isl man &<uu fibcrgcgangen. ;illrn '1'"» Mikroprogramm im llanpts|iri< Ικ-r flcr Datenverarbeitungsanlage /h speit hrrn I Jas Mikroprogramm besteht aus Slrnr.rwoMr.fi. writ hr ifi hrkarinlrr Weise eine A'lre<;<;rn:irigat>f· sowie rmrri f iinktionsteil aufweisen. IIhIit -«iir'lr /iir Aufnahm»· Ίγ« Mikroprogrammus ein ffjfi-r fipfii ri ')f% H;mpt;|>n< hrr·. reserviert. Die Λ ^»γ=·.·./μπ? /visihfTi Datrniprii her und Sleuerspei-■'- =rfolefp -l-ihfi -111 rc (ι VridriihliingsmaUnahmen. >ii--h ■]{('*/> F»itf /Tdrahiiing war eine Änderung des . -,-.fines -1-r ',"iilf η r.pn< hetherciehe nicht möglich. In ■].-i- ;··,,.; Ii <r,r, "ς /'.r It rim me ii, (IaM ein Benutzer nur ein Mikroprogramm von relativ geringem Umfang benötigt, jedoch eine relativ große Datenmenge, außer dem Benutzer-Makroprogramm, speichern muß. Auch der umgekehrte Fall ist denkbar, daß relativ wenig Daten gespeichert werden müssen, jedoch ein relativ großer Bereich zur Aufnahme des Mikroprogramms notwendig ist.
Eine Datenverarbeitungsanlage mit einem Speicher, der sowohl Programmbefehle als auch die zu verarbeitenden Daten enthält, ist aus der DE-AS 12 67 888 bekanntgeworden. Eine Überprüfung auf richtige Adressierung wird in dieser Einrichtung dadurch erzielt, daß für Befehle einerseits und Daten andererseits verschiedene Paritäts-Codierungsvorschriften verwendet werden. Nach dem Auslesen der Information wird überprüft, ob die richtige Information ausgelesen wurde. Damit wird verhindert, daß Datenwörter als Befehlswörter und umgekehrt, interpretiert werden. Ein Mikroprogramm-Steuerspeicherbereich ist jedoch in der bekannten Einrichtung nicht vorgesehen, und es sind auch keine Maßnahmen zur variablen Festlegung einer Grenze zwischen den Speicherbereichen für Programme und Daten beschrieben.
Die DE-AS 12 47 707 beschreibt eine Speicherschutz-
einrichtung, welche eine Überprüfung dahingehend gestattet, ob die zur Adressierung verwendeten Daten sich auf den dem gerade ablaufenden Programm zugeoidneten Speicherbereich beziehen. Hierzu wird jedem, einem Programm zugeordneten Speicherbe-
jü reich, eine Kennzahl oder auch die beiden Adressengrenzen des Bereiches zugeordnet. Die vom Programm bereitgestellte Adresse wird dann z. B. mit den beiden Adressengrenzen verglichen und festgestellt, ob die bereitgestellte Adresse innerhalb dieser Grenzen liegt
j-, und abhängig vom Resultat dieses Vergleichs die Adressierung gestattet oder nicht.
Innerhalb eines bestimmten Speicherbereiches können die Befehle wohl aufeinanderfolgend gespeichert werden, doch sind in dem betreffenden Speicherbereich auch die von diesem Programm zu verarbeitenden Daten abzuspeichern. Die genanntßn Grenzen, die an sich variabel gewählt werden können, beziehen sich also nicht auf Grenzen zwischen Befehlen und Daten.
Die CH-PS 4 56 205 beschreibt eine Speicherschutz-
4r) einrichtung, welche in ähnlicher Weise wie oben dargestellt, den Zugriff zu Speicherbereichen mittels Adressenvergleich schützen kann. Zusätzlich kann der Schutz in dieser CH-PS noch von der Art der Operation — Lesen oder Schreiben — abhängig gemacht werden
,o und auf periphere Speicher ausgedehnt werden.
Auch die zuletzt beschriebene Einrichtung berücksichtigt jedoch nicht die beim Schutz eines Mikroprogrammspeichers vorliegenden Verhältnisse. Diese sind darin zu sehen, daß in dem für das Mikroprogramm
v. vorgesehenen Speicherbereich nur Mikroinstruktionen gespeichert sind, während die Anwendungsprogramme, zusammen mit den von ihnen zu verarbeitenden Daten, in anderen Speicherbereichen untergebracht sind.
Der Erfindung liegt daher die Aufgabe zugrunde, in
ho einer mikroprogrammierten Datenverarbeitungsanlage der im Oberbegriff des Anspruchs 1 angegebenen Art die Grenze zwischen Datenspeicher- und Steuerspeicherbereich leicht veränderbar zu machen und eine Überprüfung zu ermöglichen, ob der richtige Speicher-
br, bereich aufgerufen wird.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Anspruchs 1 beschriebenen Merkmale eelöst.
Die Erfindung hat den Vorteil, daß der Hauptspeicherbereich nach den Bedürfnissen des Benutzers flexibel, d. h. leicht veränderbar, in einen Datenspeicherbereich und einen Steuerspeicherbereich gewünschten Umfangs unterteilt werden kann. Dabei wird vorteilhafterweise für das Mikroprogramm ein ausreichend großer Bereich zur Verfügung gestellt und der Rest des Hauptspeichers für die Problemdaten und das Benutzerprogramm freigehalten. Bei einer Änderung des Umfanges der beiden Bereiche sind keine Änderungen ι ο in der Verdrahtung der Maschine nötig, sondern es genügt einfach, in das Adressenprüfungs-Grenzregister eine neue Information einzuspeichern. Ferner wird die Adressierung des Hauptspeichers nach der Erfindung dadurch erleichtert, daß für die beiden Bereiche ähnliche Adressenwerte benutzt werden.
Eine vorteilhafte Weiterbildung ist im Anspruch 2 gekennzeichnet
Die im Anspruch 2 gekennzeichnete Maßnahme gestattet es, das Mikroprogrammsteuerwort in seinem Umfang zu reduzieren, da auf diese Weise weniger Adressenbits im Mikroprogrammsteuerwort enthalten sein müssen. Auch können die bisher verwendeten Basisregister zur Lieferung dieser Teiladresse entfallen.
Ein Ausführungsbeispiel der Erfindung soll nun anhand der Figuren näher erläutert werden. Es zeigen
Fig. la und Ib ein Blockschaltbild des Adressenprüfungs-Grenzenregisters mit den dazugehörigen Steuerschaltungen,
F i g. 2 die Anordnung des Hauptspeicher-Adressenregisters.
Das Adressenprüfungs-Grenzenregister ACB, F i g. Ib, kann im Zusammenhang mit einem Hauptspeicher verwendet werden, welcher in einen Datenspeicher und einen Steuerspeicher unterteilt ist Das Makroprogramm (Programminstruktion) wird dabei im Datenspeicher und die Steuerworte des Mikroprogramms werden im Steuerspeicher gespeichert. Die zur Verarbeitung kommenden Daten werden im Datenspeicher abgespeichert
Zur Adressierung des Hauptspeichers 1, F i g. 2, ist ein Adressenregister 3 vorgesehen, über welches sowohl der Datenspeicher \b als auch der Steuerspeicher la adressiert werden.
Je nach gewünschter Konfiguration werden für den Datenspeicher Xb und den Steuerspeicher la genügend große Bereiche des Hauptspeichers 1 vorgesehen. Das Adressenprüfungs-Grenzenregister ACB wird übereinstimmend mit diesen Bereichen sowie der Grenze zwischen diesen Bereichen mit bestimmten Informationen geladen. Das Register ACB erfüllt folgende Aufgaben.
1. Die hochwertigen Adressenbits einer Steuerspeicheradresse werden geliefert, was zu einer Verminderung der Anzahl Adressenbits, welche in einem Mikroprogrammsteuerwort vorgesehen werden müssen, führt. Hierdurch wird also auch der Gesamtumfang des Steuerwortes reduziert.
2. Die hochwertigen Adressenbits, welche das Register ACB und/oder die vom Mikroprogramm gelieferte Adresse zur Verfügung stellen, werden modifiziert, wenn dies notwendig ist.
3. Die Grenzadresse zwischen dem Datenspeicher und dem Steuerspeicher wird angebogen, und ein b5 Fehlersignal wird erzeugt, wenn der Datenspeicher adressiert wird, wo der Steuerspeicher adressiert werden sollte und umgekehrt.
4. Es werden Informationsdaten zur Verfügung gestellt über die Art (intern-extern) und den Umfang des Hauptspeichers, sowie über die Systemart — Simplex (ein Prozessor) oder Duplex (zwei Prozessoren).
In einer bevorzugten Ausführungsform enthält das Adressenprüfungs-Grenzenregister ACB 13 Bits (ohne Paritätsbits) zur Angabe der oberen Grenzadresse des Datenspeichers und von Informationen, welche es gestatten, die vier hochwertigen Adressenbits des Steuerspeichers zu bestimmen. Das Register ACB schafft also die Möglichkeit, für einen Hauptspeicher bestimmter Größe verschiedene Speicherbereiche für den Datenspeicher und den Steuerspeicher vorzusehen, ohne daß die Speichereinrichtungen selbst in irgendeiner Weise an diese Unterteilung angepaßt werden müssen. Für die verschiedenen Anforderungen verschiedener Benutzer der Datenverarbeitungsanlage kann also jeweils das optimale Verhältnis zwischen Datenspeichergröße und Steuerspeichergröße gewählt werden. Mit Hilfe des Registers ACB können auch interne oder externe Speicheradressen bestimmt werden, wobei unter dem internen Speicher die maximale Speichergröße verstanden wird, welche in der Zentraleinheit untergebracht werden kann.
Bei jedem Zugriff zum Steuerspeicher la oder Datenspeicher 16 wird die dem Hauptspeicheradressenregister 3 zugeführte Adresse mit der im Register ACB gespeicherten Grenzadresse verglichen und festgestellt, ob die angebotene Adresse gleich oder größer ist als die Grenzadresse im Falle eines Zugriffs zum Steuerspeicher la, oder kleiner ist als die Grenzadresse im Falle eines Zugriffs zum Datenspeicher ib. Wenn der Vergleich nicht zufriedenstellend verläuft, wird ein Fehlersignal erzeugt. In einer bevorzugten Ausführungsform geben neun Grenzadressenbits die Grenze in Stufen von jeweils 2000 Bytes an, bis 7.u einem maximalen Speicherumfang von 1 048 576 Bytes.
Die drei niederwertigen Bits 5, 6 und 7 des ACß-Registers, Byte I1 zeigen an, ob in der Anlage ein oder zwei Prozessoren vorgesehen sind (Bit 5), die beide den Hauptspeicher benutzen, sowie den Umfang des Hauptspeichers (Bits 6 und 7), welcher extern zur Zentraleinheit untergebracht ist und gestatten die Modifizierung der Steuerwortbits, welche vom ACB-Register und/oder vom Mikroprogramm geliefert werden, und zur Adressierung des Steuerspeichers bestimmt sind.
Das ACß-Register ist in F i g. Ib gezeigt und in zwei Teile 30a und 306 unterteilt. Im Teil 30a werden die Bits 3 bis 7 des Bytes 0 gespeichert, wobei d;e Bits 0 bis 2 dieses Byte 0 in der gezeigten Ausführungsform nicht verwendet werden. Im Teil 30f> des A CB- Registers werden die Bits 0 bis 7 des Byte 1 gespeichert. Das Laden des ACB-Registers erfolgt zusammen mit dem Mikroprogramm bei jeder neuen Benutzung der Datenverarbeitungsanlage durch einen neuen Benutzer (Kunden). Auf diese Weise werden die Speichergrößenanforderungen des Benutzers berücksichtigt.
Das zur Adressierung des Hauptspeichers 1 vorgesehene Adressenregister 3 ist in F i g. 2 gezeigt und enthält die Register Mi, M2 und M 3 (110. 111 v<ui 112). Die Ausgangsleitungen 116,117 und 118 dieser Adressenregister sind mit Hauptspeichertreiberschaltungen 113 verbunden. Mit den Registern 111 und It2 sind zwei Unterstützungsregister N 2 und /vi (119 und 120) verbunden. Adressen für Zugriffe zum Datenspeicher ib
oder Steuerspeicher la werden in den Registern Mi, M2 und M3 gespeichert, wobei das A/3-Registcr acht Bits umfaßt und den niederwertigen Teil der Adresse speichert. Durch diesos Byte von acht Bits kann eines von 64 Warten in jedem Grundspeicherrnodul adres- ■■, siert wtriien. Das /V/2-Register hat ebenfalls einen limfang eines Bytes, und das Ml-Register speichert vier Bits, durch welche die verschiedenen Grundspeichermoduln adressiert werden. Das niederwertige Bit 7 im Register M3 bestimmt die Byteauswahl. Bit 6 ι,, im Register M3 bestimmt die Halbwortauswahl und Bit 5 dieses Registers die Wortauswahl. Durch die Bits 0 bis 5 im Register M 3 kann also eines von 64 Worten, d. h. ein Modul, ausgewählt werden. Über die acht Bits im Register A/2 wird eine Auswahl zwischen den 256 <Moduln, d.h. zwischen ungefähr 16 000 Worten getroffen. Mit Hilfe der vier zusätzlichen Bits im Register AfI können also insgesamt 256 000 Worte durch die in den Registern Ail, M2 und M3 gespeicherte 20-Bit-Adresse adressiert werden. >u
In einer bevorzugten Ausführungsform enthält der Steuerspeicher z.B. maximal 16 000 Worte, wobei für Mikroprogrammzugriffe zu Steuerworten maximal nur 16 Adreßbits geliefert werden müssen.
Die Zugriffe zum Datenspeicher und Steuerspeicher adressieren jeweils ein Doppelwort. Die Speicherung von Daten im Hauptspeicher 1 kann jedoch auf der Basis von Bytes, Halbwörtern oder ganzen Wörtern erfolgen. Die vom Steuerwort eingeleitete Operation bestimmt dabei, welche der genannten Datengrößen gespeichert werden soll.
Bei den meisten durch ein Steuerwort eingeleiteten Operationen braucht nur der Inhalt des Registers M3 verändert werden. Soweit möglich, werden die Steuerworte, welche in einem bestimmten Mikroprogramm aufeinanderfolgen, im gleichen Modul gespeichert. Dadurch ist es möglich, die in den Registern M1 und M 2 gespeicherten Adressen auf dem gleichen Wert während aufeinanderfolgender Operationen zu belassen. Über die Bits 4 und 5 im Register M3 kann eine Verzweigung des Programms in vier Richtungen erzielt werden. Wie bereits erwähnt, bestimmt das Bit 5 im Register Af 3 die Auswahl eines geraden oder ungeraden Wortes im Doppelwort, welches ausgelysen oder gespeichert wird. Dies ist besonders nützlich bei 4=, Zugriffen zu Steuerwörtern wie unten noch erklärt wird. Das Bit 4 im Register M 3 bestimmt, welches von zwei aufeinanderfolgenden Doppelwörtern im Datenspeicher oder Steuerspeicher adressiert wird.
Die Register Λ/2 und Λ/3 dienen als Unterstützungsregister für den Zugriff von Steuerwörtern. Die Adresse in /V 2 als auch die in M 2 stellt eine Moduladresse dar. Wie bereits erwähnt, kann eine Reihe von Mikropro gramm-Operationen so eingeleitet werden, daß aufein anderfolgende Steuerwörter im gleichen Modul im Steuerspeicher adressiert werden. Die im Register N 2 gespeicherte Adresse wird nur geändert, wenn durch gegenwärtige Steuerworte ein Wechsel der Moduladresse verlangt wird. Dann werden die beiden Register M 2 und N 2 mit dieser neuen Moduladresse geladen. Die neue Adresse verbleibt im Register N 2, bis ein neuer Wechsel in der Moduladresse verlangt wird. Während der Adressierung von aufeinanderfolgenden Steuerwörtern im gleichen Modul wird die Adresse im Register N2 jeweils in das Register Af 2 übertragen, bis ein Zugriff zu einem neuen Modul notwendig wird.
Wenn ein Programmsprung zu einer festen Adresse während der Ausführung eines Steuerwortes auftritt.
wird diese neue Adresse in die Register M geladen, der Inhalt der Register N jedoch nicht verändert Hierdurch wird also der Übergang zur Adresse des nächsten Steuerworles sichergestellt. Die durch den Programmsprung eingeleitete Routine speichert den Inhalt der Register N λό. so daß die ursprüngliche Steuerwortfolge mit dieser abgespeicherten Adresse wieder aufgenommen wrrrien kann, wenn die durch den Programmsprung eingeleitete Routine beendet ist.
Die Register MB2 und MB3 (125 und 126) dienen ebenfalls als Unterstütziingsregister für die Register Λ/2 und M3. Diese Untestützungsregister MB 2 und MB 3 werden mit der in den Registern Ai 2 und M3 gespeicherten Adresse geladen. Wenn der Taktgeber der Zentraleinheit stillgesetzt wird, enthalten die Register Afß2 und MB 3 also die Adressenbits des vorher ausgeführten Steuerwortes, während die Register M 2 und M 3 die Adresse des Steuerwortes enthalten, das darauffolgend ausgeführt werden soll. Der Inhalt der Register MB2 und MB3 wird während Fehlersuchroutinen benötigt.
Die Adressendaten werden in die Register M und N über Assemblerschaltungen 130, 131 und 132 geladen. Für jedes Adressenbit sind in den Assemblern 130 bis 132 eine Mehrzahl von Und-Gliedern vorgesehen, deren Ausgänge mit den Eingängen eines Oder-Gliedes verbunden sind. Die in den Oder-Gliedern angeführten Ziffern 4, 8, 8 sollen andeuten, daß jeweils vier Schaltungen 130 und acht Schaltungen 131 und 132 vorgesehen sind. Die Ausgänge der genannten Oder-Glieder sind mit den Eingängen der Register Λ/1, Μ 2, A/3, N2 und Λ/3 verbunden. Mit den Eingängen des Assemblers 130 ist eine erste Adressensammelleitung ACB+ 1 und eine weitere Sammelleitung ACB verbunden, welche den Assembler mit einer Adressengrenzen-Prüfschaltung 133 verbinden. Durch diese Schaltung 133 können weitere Zugriffe zum Steuerspeicher durchgeführt werden und kann die Grenzadresse zwischen Steuerspeicher und Datenspeicher gesetzt werden. Eine Zwingsammelleitung stellt einen dritten Eingang zum Assembler 130 dar und wird dann benutzt, wenn bestimmte Adressen, welche vom gegenwärtigen Steuerwort angegeben werden, in das Register Mi gesetzt werden sollen.
Wie bereits erwähnt besteht die in die Register MX, M 2 und Af 3 geladene Hauptspeicheradresse aus maximal 20 Bits. Diese 20 Bits werden über eine Sammelleitung 153 von einem Register B in die A/-Register geladen, wobei die Sammelleitung 153 mit den Eingängen der Assembler 130, 131 und 132 verbunden ist.
Außerdem können den mit C2 und C3 bezeichneten Eingängen der Assemblerschaltungen 131 und 132 bestimmte Steuerbits von einem nicht gezeigten C-Register mit der Kapazität eines Wortes zugeführt werden.
Außerdem besteht die Möglichkeit, dem Grenzregister Daten über eine externe Sammelleitung EBl zuzuführen. Die Kennzeichnung der Bytes und Bits erfolgt z.B. durch den Ausdruck: Β2Λ—7, welcher angibt, daß die Bits 4 bis 7 des zweiten Bytes vom ß-Register übertragen werden. C2.4 bedeutet sinngemäß, daß das Bit 4 des zweiten Bytes vom C-Register übertragen wird.
Zum besseren Verständnis kann beispielsweise angenommen werden, daß die Zykluszeit der Zentraleinheit 180 Nanosekunden beträgt Zur Steuerung der logischen Glieder werden dabei Zeitsignale verwendet,
die ζ. 3. mit »O-Zeit«, »0-Zeiiverzögcrung«, »; 7.ciu usw. bezeichne' werden. Hdes dieser Takt^i.rnale hat eine Dauer von 90 Nanosekunden und ist gegenüber dem vorhergehenden um 45 Nsnoseknnden versetzt. »O-Zeitverzögerung« ist also um 45 Nanosekunden gegenüber »O-Zeit« verzögert, während »1-Zeit« wiederum um 45 Nanosekunden gegenüber »O-Zeitverzögerung« verzögert ist. Ebenso ist »1-Zeitverzögerung« um 45 Nanosekunden gegenüber »1-Zeit« verzögert, usw. iu
Zum ursprünglichen Laden des Registers ACB wird dem Register über die Sammelleitung EBI das Signal EBI0.3-7 über das Und-Glied 31 zugeführt (Fig. Ib). Mit dem Eingang eines Und-Gliedes 32 sind Byte- und Wortauswahlleitungen »externe Bestimmung Decodierung X1«, »externe Bestimmung Decodierung Y2« und »externe Bestimmung Byte 0« verbunden. Der Ausgang des Und-Gliedes 32 ist mit dem Eingang eines Und-Gliedes 31 verbunden, und führt außerdem ein Rückstellsignal dem Teil 30a des Registers ACB zu. Das Register ACB besteht aus Vcrriegelungsschaliungen, wobei von dem Und-Glied 32 die Einstell- und Rückstellsignale zu den einzelnen Registerstellen geliefert werden. In ähnlicher Weise wird über die Und-Glieder 33 und 34 das Signal ΕΒΠ.0-7 dem Teil 30b als Einstell- und Rückstellsignal zugeführt.
Die Ausgänge der ACß-Registerteile 30a und 306 sind mit den Eingängen einer Vergleichsschaltung 35 verbunden. Den weiteren Eingängen dieser Vergleichsschaltung 35 werden die Bits M 1.4 -7 und Λ/2.0—4 zugeführt Während jedes Zugriffs zum Hauptspeicher 1 werden also die Bits M1.4 — 7 und M 2.0—4 mit den Bits ACB0.4-7 und ACB 1.0-4 verglichen und festgestellt, ob die Hauptspeicheradresse gleich oder größer ist als der im ACS-Register gespeicherte Wert oder ob diese Adresse kleiner ist als dieser Wert. Das Resultat dieses Vergleichs wird auf den Leitungen 36 und 37 angezeigt Die Leitung 37 ist dabei mit der Leitung 36 über ein inverterglied 38 verbunden.
Wenn der Vergleicher 35 anzeigt, daß die Af-Registeradresse gleich oder größer ist als der Wert im ACJS-Register, sollte ein Zugriff zum Steuerspeicher des Hauptspeichers 1 durchgeführt werden. Wenn die Ausgangsleitung 36 ein Signal führt, wird das Und-Glied 40 in Fig. Ib vorbereitet. Ein zweiter Eingang dieses Und-Gliedes 40 ist mit einer Leitung »Datenspeicherzugriff« verbunden. Ein dritter Eingang dieses Und-Gliedes 40 ist mit dem Ausgang einer logischen Schaltung 41 verbunden.
Diese logische Schaltung 41 enthält ein erstes Und-Glied 42 mit dessen Eingängen die Taktpulsleitungen »1-Zeitverzögerung« und »180-Zyklus« verbunden sind. Die Leitung »180-Zyklus« ist auch mit dem Eingang eines Invertergliedes 43 verbunden, dessen Ausgang mit einem Eingang eines Und-Gliedes 44 verbunden ist, das in der logischen Schaltung 41 enthalten ist Dem anderen Eingang des Und-Gliedes 44 wird das Taktsingal »2-Zeit« zugeführt Wenn die nötigen Eingangssignale an der logischen Schaltung 41 anliegen, wenn die Leitungen 36 und »Datenspeichern- eo griff« in logischen »1-Zustand« sind, d.h. ein Signal führen, wird durch das Ausgangssignal vom Und-Glied 40 eine Verriegelungsschaltung 45 gesetzt, und damit angezeigt, daß ein Fehler vorliegt, weil das Signal »Datenspeicherzugriff« anzeigt, daß nicht ein Zugriff es zum Steuerspeicher, sondern zum Datenspeicher versucht wird.
Wenn die Af-Registeradresse kleiner ist als der /ICTJ-Registerwert, und damit ein Signal auf der Leitung 37 erzeugt wird, wird über das Und-Glied 46 und Verriegelungsschaltung 47 eine Steueradressenprüfung eingeleitet, d. h. ein Fehler angezeigt, wenn in diesem Zeitpunkt ein Zugriff zum Steuerspeicher durchgeführt wird. Ein Eingang des Und-Gliedes 46 ist mit der Leitung 37 und ein anderer Eingang mit der Ausgangsleitung der logischen Schaltung 41 verbunden. Der dritte Eingang zum Und-Glied 46 ist mit dem Ausgang eines Invertergliedes 48 verbunden, dessen Eingang mit der Leitung »Datenspeicherzugriff« verbunden ist.
Ein Assembler 50 (F i g. la) wird dazu benutzt, die Bits 4 bis 7 des Ml-Registers 110 durch die ß-Registerbits B 1.4 — 7. oder über die Sammelleitungen ACB bzw. ACB+1 zu setzen. Diese Signale von den Sammelleitungen ACB, ACB+1 oder B 1.4 - 7 stellen Eingänge zu den Und-Gliedem 51,52 und 53 des Assemblers 50 dar. Die Ausgänge dieser Und-Glieder sind mit den Eingängen eines Oder-Gliedes 54 verbunden, welches über die Torschaltung 55 Signale zum Register ί 10 liefert.
Die /ICB-Eingänge zum Assembler 50 werden von Schaltungen geliefert, welche das Oder-Glied 60 enthalten, dessen Ausgang mit dem Eingang eines Und-Gliedes 61 verbunden ist. Der Ausgang des Und-Gliedes 61 wird von der Sammelleitung ACB gebildet. Die Eingänge zum Oder-Glied 60 werden von den A CB- Registerausgangsleitungen A CB 1.5 und -ACB\.6 gebildet. Die anderen Eingänge zum Und-Glied 61 werden von den ACß-Registerausgangsleitungen A CB 0.4 -7 gebildet. Wenn eine der beiden Bedingungen am Eingang des Oder-Gliedes 60 erfüllt ist, d. h., wenn eine der beiden Leitungen ACB 1.5 oder -ACB 1.6 ein Signal führen, wird durch das Ausgangssignal des Oder-Gliedes 60 die Und-Schaltung 61 durchgeschaltet und damit die Bits ACBOA-7 zum Und-Glied 51 gebracht. Wenn das AC0O3-Bit gleich »1« ist, wird über einen Addierer 62 der Wert »1« zum Wert der Bits ACB0.4 -7 addiert. Dieser erhöhte Wert wird sodann über die Leitung ACB+1 dem Und-Glied 52 zugeführt. Wenn das Bit ACB03 gleich »0« ist, dann wird über die Leitung ACB+1 der Wert ACBOA-7, ohne Erhöhung um 1, dem Und-Glied 52 zugeführt.
Wenn das Bit M 2.0 gleich »1« ist, dann wird der Wert auf der Leitung ACB+1 (entweder also der Wert ACB 0.4 - 7 oder der um 1 erhöhte Wert) in das Register Mi über das Und-Glied 52, das Oder-Glied 54 und die Torschaltung 55 gesetzt. Wenn jedoch das Bit M2.0 gleich 0 ist, dann wird mittels eines Invertergliedes 65 der Wert auf der Eingangssammelleitung ACB über das Und-Glied 51, das Oder-Glied 54 und die Torschaltung 55 in das Λ/1-Register 110 gesetzt Diese ungewöhnliche Art, die Adressenbits in das Adressenregister zu setzen, um einen Zugriff zum Steuerspeicher durchzuführen, wird weiter unten näher beschrieben.
Ein Oder-Glied 66, welches an seinen Eingängen die Signale C2.4 und CZ5 empfängt, dient mit anderen Schaltungsgliedern dazu, um zu bestimmen, ob die y4CB-Registerbits, die modifizierten ACß-Registerbits oder die Adressenbits vom B-Register in das Register 110 über den Assembler 50 gebracht werden müssen. Der Ausgang des Oder-Gliedes 66 ist mit einem Eingang eines Und-Gliedes 67 verbunden. Ein zweiter Eingang des Und-Gliedes 67 ist mit dem Ausgang eines Invertergliedes 68 verbundea Der Eingang zu diesem Inverterglied 68 wird durch die Leitung »Speicherwort /C-Adresse« gebildet Ein dritter Eingang zum Und-
to
Glied 67 wird vom Signal »Speicher 1-Zyklus« gebildet. Der Ausgang des Und-Güedes 67 ist mit einem Eingang des Oder-Gliedes 69 verbunden. Der Ausgang des Oder-Gliedes 69 ist mit einem Eingang eines Und-Güedes 70 über ein Inverterglied 7i verbunden. Der Ausgang des Und-Gliedes 70 wird durch die Leitung »bringe ACB zu Ml« gebildet, welche einen dritten Eingang zu den Und-Gliedern 51 und 52 des Assemblers 50 darstellt. Wenn die Leitung »bringe ACB zu M 1« ein Signal führt, werden entweder die Adressenbits von der Sammelleitung ACßoder ACB+ 1 in das Register Ml gesetzt.
Das Signal »Hauptspeicher« stellt einen weiteren Eingang zum Oder-Glied 69 dar. Der Ausgang Ues Oder-Gliedes 69, welcher mit »bringe Al zu Ml« bezeichnet ist, ist mit einem Eingang des Und-Gliedes 53 verbunden und bringt die Bits B 1.4 — 7 in das Register 110. Es ist also zu sehen, daß während eines Zugriffes 711m HitoncnDloKor rv/^or* 711m Qt-onorcnai^lier ontu'aHor
die Leitung »bringe ACB zu Ml« oder die Leitung »bringe ölzuM 1« ein Signal führt, d. h. im logischen »1 «-Zustand ist.
Der Ausgang des Und-Gliedes 72 ist über ein Inverterglied 73 mit einem zweiten Eingang des Und-Gliedes 70 verbunden. Die Eingänge zum Und-Glied 72 werden von den Leitungen »Speicherwort K- Adresse« und »Speicher 1-Zyklus« dargestellt. Weitere Eingänge des Und-Gliedes 72 erhalten die Bit-Signale -C 1.6 und -C 1.7.
Bei einer Adressierung, welche nicht nach dem K-Typ verläuft, kann die Adresse im Adressenlieferungsregister eine Steuerspeicheradresse oder eine Datenspeicheradresse sein. Im Falle einer Steuerspeicheradresse werden nur die niedervertigen 16 Bits von der Adressenquelle dazu benutzt, die M2- und M3-Register zusetzen. Für Datenspeicheradressierungen werden die niederwertigen 24 Bits benutzt, um die Register Mi, M 2 und M 31 zu setzen.
Bei einer Adressierung nach dem K-Typ wird die Hauptspeicheradresse derart geformt, daß ein bestimmter Wert in das M-Register gesetzt wird. Adressierungen nach dem K-Typ finden also statt bei Programmverzweigungen oder -rückkehr.
Fäll*
iTl.6 ^ Bits di
rungsarten und Einstellung des M-Registers an: Wenn diese beiden Bits gleich »0« sind, wird ein Zugriff zum ACB 0.4—7 Datenspeicher durchgeführt. Bei anderen Werten für und diese beiden Bits wird ein Zugriff zum Steuerspeicher ACB 1.0—4 durchgeführt.
Bei Zugriffen, welche nicht nach dem K-Typ verlaufen, wird ein Zugriff zum Datenspeichergebiet durchgeführt wenn die Bits C2.4.5 gleich 01 oder 10 sind. Im übrigen werden 20 Bits vom 3yte 1, Bits 4 bis 7 und von den Bytes 2 und 3 vom Adressenzulieferungsregister dazu benutzt, die M-Register zu setzen. Die Ausgänge des Und-Gliedes 75 und eines Oder-Gliedes 76 stellen die Stell- und Rückstelleingänge zum Ml-Register 110 dar. Die Eingänge zum Und-Glied 75 werden von den Taktleitungen »-180-Zyklus« und »O-Zeitverzögerung« gebildet Die Ausgangsleitung des ro Und-Gliedes 75 ist mit einem Eingang des Oder-Gliedes
76 verbunden. Der andere Eingang zum Oder-Glied 76 wird durch die Leitung »O-Zeit« gebildet Das Ausgangssignal vom Oder-Glied 76 wird als Rückstell- ACB signal für das Register 110 benutzt und das Stellsignal wird von dieser Ausgangssleitung über ein Inverterglied
77 erzeugt ACB In manchen Fällen, wie weiter unten noch näher erläutert wird, muß das Bit MZO durch ein Exklusiv-Oder-Glied 80 invertiert werden, bevor es den Treiberschaltugnen 113 des Hauptspeichers 1 zugeführt werden kann. Hierbei stellt die Bitleitung M 2.0 einen Eingang zur Schaltung 80 dar, und der Ausgang eines Und-Gliedes 81 stellt den anderen Eingang zum Exklusiv-Oder-Glied 80 dar.
Einem Oder-Glied 82 werden die Signale -ACBM und ACB 1.5 zugeführt, und sein Ausgangssignal wird einem Eingang des Und-Gliedes 81 zugeführt.
Einem Eingang eines Und-Gliedes 83 wird das Bitsignal — ACßl.5 und einem weiteren Eingang das Signal ACBX& zugeführt. Die Ausgangsleitung dieses Und-Gliedes 83 ist mit »Duplex« bezeichnet und wird über einen Inverter 84 einem Eingang des Und-Gliedes 81 zugeführt. Einem weiteren Eingang des Und-Gliedes 81 wird das Signal »Hauptspeicherzugriff« zugeführt.
Bei den Ausfühningen soll beachtet werden, daß die Hom hochwertigen B"te des ^teuersn<s'^hers zi|£ri*w'es£- ne Adresse immer FFFF(64K Dezimal) ist, trotzdem die tatsächliche Adresse im Hauptspeicher von System zu System verschieden sein kann und trotzdem es weniger als 64K-Bytes Steuerspeicher-B ereich in einem System geben kann. Der Steuerspeicher befindet sich in den höherwertigen Adressenpoiitionen des Hauptspeichers 1. Die tatsächliche Adresse im Hauptspeicher 1 beginnt mit dem hexadezimalen Wert 0000.
Wie bereits erwähnt, wird das ACö-Register, welches eine Kapazität von zwei Bytes aufweist, zusammen mit dem ursprünglichen Laden des Steuerprogrammes geladen und gibt sodann die Speicherkonfiguration an. Vorzugsweise haben die betreffenden Bits des ACB-Registers folgende Bedeutung.
ACB OJ = 0 Die Adressenprüfgrenze ist innerhalb der oberen 32K de« verfügbaren internen Speicherbereichs, d. h. des Speichers, der sich physikalisch im selben Gehäuse wie die Zentraleinheit befindet und nahe der Zentraleinheit angebracht ist
ACB 03 = 1 Die Adressenprüfungsgrenze ist unterhalb der oberen 32K des verfügbaren internen Speicherbereichs (eine maxima-ίο K.or*äzitäi des internsn S^C'ciisrs γοη 256K-Bytes kann vorgesehen werden).
Diese neun Bits geben die Adressenprüfgrenze, d. h. eine bestimmte 2048-Bytegrenze an. Falls ein Datenspeicherzugriff bei dieser Grenze oder oberhalb dieser Grenze versucht wird, wird ein Adressenprüfungssignal erzeugt Wenn ein Steuerbereichzugriff versucht wird unterhalb dieser Grenze, wird ein Maschinenprüfsignal erzeugt In der Duplexbetriebsart (zwei Prozessoren) wird die Grenze zwischen Steuerspeicher und Datenspeicher an die obere Grenze des verfügbaren gemeinsamen Datenspeicherbereichs gelegt und hängt nicht von der Konfiguration des Untersystems ab.
0 a. Das System ist Simplex (ein Prozes
sor) ohne externen Speicher, oder
b. das System ist Duplex.
1 Das System ist Simplex mit externem Speicher.
ACB 1.6,7 Wenn ACS 1.5 = 1 ist, dann geh---, die Bits ACB 1.6,7 die Anzahl der Bytes im externen Speicher für ein Simplexsystem wie folgt an:
OC = 131,07? B>l-?s, 01 = 262,144 Bytes und
11- = 5?4,288 Bytes.
ACa 16=1 Wenn ACB 1.5 = 0 ist, dann ist dss Bit ACB \& — 1 wenn das Sys-'tcm Duplex ist.
ACB 1.6 = 0 Wenn ACB\.5 = 0 ist, dann ist ACB i .6 = 0 wann das System Simpicx ist.
ACB 1.7-0 Wenn ACB 1.5 - 0 ist, dann muß das Bii iV/2.0 invertiert werden während eines Steuerspeicherzugriffs.
ACB 1.7 = 1 Wenn ACB \5 = 0 ist, dann wird das Bit M'2.0 nicht während eines Steuerspeicherzugriffs invertiert. Wenn ACB \5 = i ist, dann wird das Bit MIO in Simplexsystemen während eines Steuerspeicherzugriffes immer invertiert, unabhängig vom Wert ACBXJ. In Duplexsystemen wird ACB 0.4—7 und ACB 1.0—4 nicht zum Vergleich mit Hauptspeicheradressen benutzt wenn das ACB 1.7 = 1 ist In Voll-Duplexsystemen. sollte das ,4CS !.7 Bit nur auf 1 gesetzt werden bei einer Speichergröße von 1024/C
Wie bereits erläutert, geben die Bits ACB 0.4—7 und ACB 1.0—4 den Grenzwert an, an dem oder oberhalb welchem ein Adressenprüfungssignal erzeugt wird, falls ein Datenspeicherzugriff versucht wird. Dies ist der Fall sowohl für Simplex- als auch für Duplexsysteme. In Duplexsystemen wird jedoch dem Steuerspeicher ein anderer Adressenbereich zugewiesen als der höchste Adressenbereich (wie in Simplexsystemen). Die vier höchstwertigen Bits der Adresse, weiche in das Register M1 gesetzt wird, sind immer 0000 für Steuerspeicherzugriffe in Duplexsystemen. Die vom Mikroprogramm gelieferten Adressen werden dann ohne Modifikation uaZU LfCnütZt, Cincn £jügi in Zur äuFcSSicFtcn otcücfspeicherstelle durchzuführen. Der Grund hierfür ist darin zu suchen, daß die Adressenregister Mi, M2 und Λ/3 nur 20 Bits enthalten und daß in einem 1024/C-Byte-voll-Duplexsystem alle Adressenbits den Wert 1 haben, wenn ein Zugriff zur höchstwertigen Datenspeicherstelle stattfindet Es können also keine höheren Adressen erzeugt werden. Der Adressenbereich für den Steuerspeicher in einem Voll-Duplexsystem ist daher entweder (abhängig davon, ob ein 32ΑΓ- oder 64K-Steuerspeicher montiert ist):
1. 08000 bis OFFFF(32K-Steuerspeicher),
oder
2. 00000 bis OFFFF(64X-Steuerspeicher).
Im ersten Falle ist ACB 03 = 0 und im zweiten Falle ACB 03 = 1. Wenn das Bit ACB 03 = 0 ist, wird ein Maschinenprüfsignal von der Verriegelungsschaltung 47 (F i g. Ib) erzeugt, wenn ein Steuerspeicherzugriff im Adressenbereich 00000 bis 07FFF versucht wird. Hingegen sind alle Steuerspeicheradressen gültig, wenn das Bit ACB 03 = list
Für Speicherzugriffe in Voll-Duplexsystemen werden zwei Auswahlsignale benutzt Selbst wenn also eine Steuerspeicherstelle und eine Datenspeicherstelle die gleiche Adresse haben, kann also über die Auswahlsigrittie unterschieden werden, ob ein Zugriff zum Steuerspeicher oder zum Datenspeicher stattfindet.
Beispiel!
Folgende Annahmen werden getroffen:
1. Ein Simplexsystem mit einer gesamtverfügbaren Speicherkapazität von 65 536 Bytes, weiche alle
ίο intern gespeichert werden können.
2. Die oberen 32 768 Bytes werden dem Steuerspeicher zugewiesen.
3. Die niederen 32 768 Bytes werden dem Datenspeicher zugewiesen.
Folgende Information wird dann in das ACß-Register geladen:
Bit 01 23456701 2 3 t j S 7
Wert 0000000010000001
1. ACB0.3 = 0 gibt an, daß die Adressenprüfgrenze in den oberen 32 768 Bytes liegt und daß die Bits ACi? 0.4—7 nicht mit 1 erhöht werden, um zur tatsächlichen Steuerwortadresse zu gelangen.
2. Die Bits ACBOA—7 und ACB 1.0—4 haben den Wert 0000 10000 und definieren damit die Grenze an der Speichersteüc 32 768. Jeder Datenspeicherzugriff an oder überhalb dieser Grenze, d. h. an der binären Adresse 0000 1000 0000 0000 0000 (08000 in Hexadezimal) erzeugt ein Adressenprüfungssignal, d. h. Fehlersignal. Jeder Steuerspeicherzugriff unterhalb dieser Adresse erzeugt ein Maschinenprüfsignal (Steuer-Adressenprüfungssignal).
3. ACB 1.5,6 = 00 geben an, daß das System Simplex ist und keinen externen Speicher aufweist
4. ACB 1.7 = 1 gibt an, daß das Bit Λ/2.0 nicht durch das Exklusiv-Oder-Glied 80 während eines Steuerspeicherzugriffs invertiert werden soll, um zur tatsächlichen Steuerwortadresse zu gelangen.
Die Bits, welche in das Ml-Register über die Schaltungen 51 und 52 während eines Steuerspeicherzugi'iffs gesetzt werden, sind die Bits ACBOA—7, weiche in diesem Falle gleich 0000 sind. Auch in diesem Falle wird das Bit M 2.0 nicht während eines Steuerspeicherzugriffs modifiziert Der Grund hierfür ist darin zu suchen, daß vom Mikroprogramm Zweite-Byte-Adressen für den Steuerspeicher (d. h. 8000 bis FFFF) geliefert
so werden, welche in dem von der einen Einheit tatsächlich benützten Bereich (d. h. 08000 bis OFFFF) liegen. Das Oder-Glied 82 erzeugt kein Signal, wodurch das Eingangssignal zur Schaltung 80 von der Schaltung 81 eine logische »0« ist Wird von einem Mikroprogrammsteuerwort eine Steuerwortadresse unterhalb 8000 geliefert, wird ein Maschinenprüfsignal erzeugt d. h. ein Fehler angezeigt
Beispiel 2
Es wird angenommen:
1. Ein Simplexsystem mit einer gesamten verfügbaren Speicherkapazität von 98 303 Bytes.
2. Die höchsten 32 768 Bytes werden dem Steuerspeicherbereich zugewiesen.
3. Die niederen 65 536 Bytes werden dem Datenspeicher zugewiesen.
21 1 13 Beispiel 3 7 581 14
Das ACB-Register wird in diesem Fall mit der Es wird angenommen: Bit 0123456701234567
folgenden Information geladen: Wert 0001000010000000
Bit 0123456701234567
Wert 0000000 100000000
1. Ein Simplexsystem mit einer totalen verfügbaren Zum oben beschriebenen Beispiel 2 bestehen also nur
die folgenden Unterschiede:
1. ACB 03 = 0 gibt an, daß die Adressenprüfgrenze Speicherkapazität von 98 303 Bytes. 5
in den höchsten 32 768 Bytes der Einheit 1 liegt und 2. Die höherwertigen 65 536 Bytes werden dem 1. A CB 03 = 1 gibt nun an, daß die Grenze zwischen
die Bits A CB 0.4—7 werden nicht erhöht. Steuerspeicher zugeteilt. Datenspeicher und Steuerspeicher nicht in den
2. ACBQA-7 und ACB 1.0-4 = 0001 00000, womit 3. Die niederwertigen 32 768 Bytes werden dem höchsten 32 768 Bytes der Einheit 1 liegt
die Grenze in der Speichereinheit 1 bei der Datenspeicher zugeteilt. 2. Die Grenze zwischen Datenspeicher und Steuer
Speicherstelle 65 536 festgelegt wird. l0 speicher, welche durch die Bits ACB 0.4—7 und
3. ACB 1.5,6 = 00 gibt an, daß das System Simplex ist Der folgende Wert wird in das Register ACB ACB 1.0-4 (gleich mit 000010000) gegeben ist,
und ohne externen Speicher. gespeichert. liegt an der Speicherstelle 32 768.
4. ACBU = 0 (und ACB 15,6 = 00) gibt an, daß
M ZO durch die Schaltung 80 invertiert werden soll, Die Adressenbereiche in hexadezimaler Notierung
wenn ein Steuerspeicherzugriff zugeführt wird. In 15 für dieses System sind dann wie folgt:
diesem Falle liefern die Schaltungen 81 und 84 eine
logische 1 zur Schaltung 80.
Datenspeicher-Adresse
00000
Die tatsächlichen Speicheradressenbereiche in die UWW
bis
sem System sind wie folgt (in Hexadezimal): 20 07FFF
Datenspeicher-Adresse Steuerspeicher-Adresse
00000 08000
bis bis
OFFFF 25 17 FFF
Steuerspeicher-Adresse Speicherstelle
10000 0
bis bis
17 FFF 30 32 767
Speicherstelle Speicherstelle
0 32 768
bis bis
65 535 35 98 303
Speicherstelle Die vom Mikroprogramm gelieferte Adresse 0000
65 536 (Hexadezimal) adressiert das Wort niedrigster Ordnung
bis (an der Speicherstelle 08000) im Steuerspeicherbereich.
98 303 40 Dies wird wie folgt erzielt:
Die Steuerspeicheradresse, welche vom Mikropro 1. In die Register M2 und M3 wird der Wert 0000
gramm geliefert wird und der tatsächlichen Adresse (Hexadezimal) gesetzt
10 000 entspricht ist 8000. Während eines solchen 2. Das Ausgangssignal der Bitstelle M 2.0 wird in der
Steuerspeicherzugriffs werden die Bits M 1.4 — 7 auf den 45 Schaltung 80 invertiert, da beide Bits ACB 1.7 und
gleichen Wert gebracht wie ,4Cß0.4—7, der in diesem ACB 1.5 = 0 sind. Die Invertierung erfolgt in den
Falle gleich ist 0001 (1 in Hexadezimal). Da Schaltungen 81 und 84.
ACB 1.5,6 = 00 und ACB 1.7 = 0 ist, wird das höchste 3. Die Bits ACB 4—7 (=0000) werden in das Register
Bit der vom Mikroprogramm gelieferten Adresse M 1.4-7 über die Schaltung 51 gesetzt, da
(M 2.0) invertiert bevor die Adresse zu den Haupt 50 M 2.0 = 0 ist.
speichertreiberschaltungen 113 gesandt wird. Die
Invertierung des höchstwertigen Bits der Zahl 8000 Ein Zugriff zum Steuerspeicher im Adressenbereich
ergibt 0000. Die tatsächlich verwendete Adresse ist 8000 bis FFFF für die Speicherkonfiguration dieses
daher 10 000. Beispiels ist etwas verschieden. Die vom Mikropro
55 gramm gelieferten Adressen im Bereich 8000 bis FFFF
entsprechen Hauptspeicheradressen im Bereich 10 000
bis 17 FFF. Für eine vom Mikroprogramm gelieferte
Adresse 8000 müssen z. B. die folgenden Modifikationen
ausgeführt werden.
60
1. 8000 wird in die Register M2 und M 3 gesetzt.
2. Der Ausgang der Bitstelie Λ/2.0 wird durch die
Schaltung 80 invertiert.
3. Da vor der Inversion beide Bits ACB0.3 und
tir> M2.0 = I sind, werden die Bitstellen M 1.4 — 7
durch die Signale ACBQA-T + \ (d.h.
0000 + 1 = 0001) über die Schaltung 52 gesetzt.
15
Die tatsächlich adressierte Speicherstelle ist dann 10000, welche durch Modifikation der vom Mikroprogramm gelieferten Adresse 8000 gewonnen wurde.
Die folgende Tabelle gibt Aufschluß über typische Einstellungen des Registers A C-?.· Simplex
Gesarat-Speicher kapazität (Bytes)
65 536 98 304 131 072 131 072 294 912 294 912 425 984 425 984 557 056 557 056
Steuerspeicher
Datenspeicher
ACB-Einstellung
(Hexadezimal)
32 32 32 65536 32 65 32 65 32 65
32
65
98
65
262144
229
393
360448
524
491
0081 0100 0181 1101 0400 1380 0604 1584 0805 1785
10
15
20
In einer Duplexkonfiguration ist ein Versuch, die Adressengrenze außerhalb des angegebenen Steuerspeicherbereiches zu verlegen, nicht möglich. Die internen Speichermöglichkeiten der Zentraleinheit können nicht als Datenspeicher benutzt werden, da ein eigenes Auswahlsignal für den Steuerspeicher benutzt wird.
Duplex
Gesamtanzahl Bytes Geteilter Datenspeicher
Steuerspeicher
262 144
262 144
524 288
524 288
786 432
786 432
1 048
1 048 Λ CS-Eins teilung (Hexadezimal)
32 768 0402
65 536 1402
32 768 0802
65 536 1802
32 768 OC 02
65 536 1C02
32 768 OFFB
65 536 \FFB
Hierzu 3 Blatt Zeichnungen

Claims (2)

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 einAdressenprüfungs-Grenzenregister (ACB) zur Speicherang der Adresse der Grenzspeicherstelle zwischen Steuerspeicherbereiche (la) und Datenspeicherbereich (tb), welches ausgangsseitig sowohl mit dem Adressenregister (3) als auch mit einer Vergleichseinrichtung (35) verbunden ist wobei der andere Eingang der Vergleichseinrichtung (35) mit dem Ausgang des Adressenregisters (3) verbunden ist und durch Einrichtungen (37 bis 48) zur Erzeugung eines Fehlersignals aus dem von der Vergleichseinrichtung (35) gelieferten Signal (36) und einem Signal (D. SP. Zugriff, F i g. Ib) zur Anzeige, ob ein Zugriff zum Datenspeicher- (ib) oder Steuerspeicher (la) gewünscht wird, wobei ein Fehlersignal erzeugt wird, wenn die Hauptspeicheradresse fälschlicherweise unter- oder oberhalb der im Adressenprüfungs-Grenzenregister (ACB) gespeicherten Adressengrenze liegt.
2. Einrichtung nach Anspruch 1 mit einem aus mehreren Teilregistern bestehenden Adressenregister, dadurch gekennzeichnet, daß der Ausgang des Adressenprüfungs-Grenzenregisters (ACB)mit dem Teilregister (Mi), das die hochwertigen Adressenbits speichert, über einen Adressenassembler (50) verbunden ist und daß der Steuerspeicherbereich (la) im obersten Adressenbereich des Hauptspeichers (1) liegt.
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 DE2117581B2 (de) 1978-12-14
DE2117581C3 true DE2117581C3 (de) 1979-08-16

Family

ID=21847926

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2117581A Expired DE2117581C3 (de) 1970-04-16 1971-04-10 Einrichtung zur Adressenprüfung

Country Status (6)

Country Link
US (1) US3651475A (de)
JP (1) JPS543335B1 (de)
CA (1) CA934065A (de)
DE (1) DE2117581C3 (de)
FR (1) FR2092531A5 (de)
GB (1) GB1288728A (de)

Families Citing this family (16)

* 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
CA934065A (en) 1973-09-18
FR2092531A5 (de) 1972-01-21
DE2117581A1 (de) 1971-10-28
US3651475A (en) 1972-03-21
GB1288728A (de) 1972-09-13
JPS543335B1 (de) 1979-02-21
DE2117581B2 (de) 1978-12-14

Similar Documents

Publication Publication Date Title
DE2117581C3 (de) Einrichtung zur Adressenprüfung
DE2350884C2 (de) Adreßumsetzungseinheit
DE2350225C2 (de)
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE2523414B2 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE2630323B2 (de) Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2350215A1 (de) Rechnersystem sowie bei diesem verwendbares mehrebenen-speichersystem
DE2115431A1 (de) Universalmodul zum Verbinden von Einheiten in Patenverarbeitungsanlagen
DE2746505C2 (de)
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
DE2718110A1 (de) Datenverarbeitungseinheit
DE3128729A1 (de) Halbleiter-speichersystem
DE2926322A1 (de) Speicher-subsystem
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE3121046C2 (de)
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
CH495584A (de) Datenverarbeitungsanlage
DE3586789T2 (de) Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit.
DE2842288A1 (de) Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher

Legal Events

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