DE2723706A1 - Einrichtung zum adressenvergleich - Google Patents
Einrichtung zum adressenvergleichInfo
- Publication number
- DE2723706A1 DE2723706A1 DE19772723706 DE2723706A DE2723706A1 DE 2723706 A1 DE2723706 A1 DE 2723706A1 DE 19772723706 DE19772723706 DE 19772723706 DE 2723706 A DE2723706 A DE 2723706A DE 2723706 A1 DE2723706 A1 DE 2723706A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- comparison
- page
- resident
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
Description
Böblingen, den 24. Mai 1977 •χ te-bm/sz
Anmelderin:
International Business Machines Corporation, Armonk, N. Y. 10504
Amtliches Aktenzeichen:
Neuanmeldung
Aktenzeichen der Anmelderin:
EN 975 017
Vertreter:
Patentassessor Dipl. -Phys. F. Teufel
70 30 Böblingen
Bezeichnung:
Einrichtung zum Adressenvergleich
709881/0669
2723708
Die Erfindung betrifft eine Einrichtung zum Adressenvergleich nach dem Oberbegriff von Anspruch 1. Ein bevorzugtes
Anwendungsgebiet ist in Datenverarbeitungsanlagen mit virtueller Adressierung.
In Datenverarbeitungsanlagen muß zu Prüfzwecken und zur Fehlerdiagnose ein Signal zur Verfügung stehen, das anzeigt, i
daß zu einer bestimmten vorgegebenen Adresse in einer Speicher einheit ein Zugriff erfolgt. Beispielsweise kann dieses Signal
bedeuten, daß eine vorher identifizierte Mikroinstruktion i in einem Steuerspeicher ausgeführt wird. Mit Hilfe dieses j
Signals kann dann ein Adreßstopp an diesem Programmpunkt ! erzwungen werden oder es kann zu diesem Zeitpunkt eine '
Oszillographenaufnahme elektrischer Parameter ausgelöst werden.!
Für diesen Adreßvergleich wird im datenverarbeitenden System
ein Register zugefügt, in das die zu vergleichende Adresse eingegeben werden kann und wo sie von einem Vergleichsschaltkreis
mit der jeweiligen Adresse in dem Speicheradreßregister !verglichen wird.
Im folgenden soll als Spezialfall ein System betrachtet
werden, das einen Steuerspeicher mit virtueller Adressierung besitzt. Das Prinzip der virtuellen Adressierung wird beispielsweise
in der Broschüre IBM GR2O-426O-1 beschrieben. Der Steuerspeicher weist 4096 adressierbare Wortspeicherstellen
auf, sein Adreßregister hat einen Umfang von 12 Bits. Gruppen von jeweils 64 Wörtern bilden einen sog. "Seitenrahmen
und enthalten jeweils eine "Seite" von Daten. Einige dieser Rahmen können nur einen bestimmten Satz von Mikroprogramminstruktionen
aufnehmen; der betreffende Teil des Speichers wird deshalb als "residenter Speicher" bezeichnet, die zugehörigen
Mikroprogramme heißen "residente Mikroprogramme". Diese Mikroprogramme werden von vielen anderen Programmen benutzt und
bleiben deshalb immer im Steuerspeicher. Andere Seitenrahmen
Ό17
709881/0689
2723708
gehören zum sogenannten "nicht-residenten Speicher" und enthalten "nicht-residente", in Seiten aufgeteilte Mikroprogramme. Diese Mikroprogramme werden in den Steuerspeicher jeweils
dann von anderen Speichermedien geladen, wenn sie benötigt werden. Daß ein derartiges nicht-residentes Steuerprogramm
benötigt wird, zeigt eine bestimmte Mikroinstruktion an, die hier als "Lade und Verzweige" bezeichnet wird. In dieser Instruktion ist die virtuelle Adresse (oder ein Teil der virtuellen Adresse) der Seite eines nicht-residenten Mikroprogramms enthalten, die zum zeitweiligen Gebrauch in den Steuerspeicher geladen werden muß (außerdem enthält die Mikroinstruk
tion noch die Speicherstelle der Instruktion, die als nächstes aus der neuen Seite geholt werden muß).
Der Adreßvergleich bei dieser Organisation des Steuerspeichers weist nun einige Besonderheiten auf. Befindet sich die
list, in einem nicht-residenten Teil des Steuerprogramms, so kann die zugehörige Seite entweder im Steuerspeicher sein
oder auch nicht. Es muß deshalb die gesamte virtuelle Adresise verglichen werden und nicht nur die Adressen des Steuerspeichers, um bei einer Ladeoperation einen Adreßvergleich
!durchführen zu können. Eine solche virtuelle Adresse kann aber viel länger sein als die 12 Bit-Adresse des Steuerspeichers. Die im Stand der Technik bekannten Schaltungen für
den Adreßvergleich sind bei derartig langen Adressen unerwünscht. Ein Vergleichsschaltkreis besitzt für jedes Paar
von Bits, das verglichen werden muß, ein EXKLUSIV-ODER-Glied
sowie ein ODER-Glied, um einen Unterschied in einem Bit anzuzeigen. Solche Schaltkreise sind teuer und arbeiten außerdem
sft langsam.
3N 975 017
709881/0689
Die vorliegende Erfindung hat es sich deshalb zur Aufgabe gemacht, eine Vergleichseinrichtung anzugeben, bei der lange
Adressen ohne große Vergleichsschaltkreise verarbeitet werden können.
Diese Aufgabe wird durch die im Hauptanspruch gekennzeichnete technische Lehre gelöst; Ausgestaltungen und Weiterbildungen
der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im wesentlichen beruht die Erfindung darauf, daß beim Adressenvergleich
die Adresse aufgespalten und die verschiedenen Teile in verschiedener Weise behandelt wird. Dazu verwendet
die Erfindung einen üblichen Vergleichsschaltkreis und zugehörige Register, um damit den Wortanteil der Steuerspeicheradresse mit dem Wortteil der vorgegebenen Adresse zu vergleichen.
Im Ausführungsbeispiel weist dieser Vergleichsschaltkreis eine Breite von nur 6 Bits auf; im allgemeinen
Wird er auch nur einige wenige Bits umfassen und aus nur wenigen Komponenten aufgebaut sein, die mit hoher Geschwindigkeit
arbeiten.
Für jeden Rahmen des Steuerspeichers, in den Seiten geladen werden können, die eine zu vergleichende Adresse enthalten,
sieht die Erfindung eine Verriegelungsschaltung vor, die gesetzt wird, wenn die Seite mit der gesuchten Instruktion
in den Seitenrahmen geladen wird. Dieser Teil der Adresse ist relativ lang und der Vergleich wird infolgedessen von
!Baueinheiten des zugehörigen Prozessors unter Steuerung eines Programms durchgeführt. Ein Übereinstimmungssignal wird dann
erzeugt, wenn der Wortvergleich in dem Schaltkreis positiv !ausfällt und die Verriegelungsschaltung für die Zugriffsöperation
zum Steuerspeicher in der betreffenden Zeitscheibe !gesetzt ist. Befindet sich die zu vergleichende Adresse dagegen
jin einer residenten Seite, so wird der Vergleichsschaltkreis
EN 975 017 709881/0669
für den Wortteil der Adresse mit einem Vergleichsschaltkreis für den Seitenteil der Adresse verbunden, um die Steuerspeicheradresse auf die Vergleichsadresse hin zu überprüfen.
Die Erfindung weist somit den Vorteil auf, daß Vergleichsoperationen, die normalerweise sehr breite Vergleichsschaltkreise erfordern, durch Mikroprogrammroutinen ersetzt werden,
die in einem der Seitenrahmen im nicht-residenten Speicherteil enthalten sind. Im Ausführungsbeispiel wird die Zeitscheibe 8 für diese und für andere Diagnostikroutinen verwendet, die von Wartungspersonal benötigt werden. Die Erfindung ist universell anwendbar für Adressenvergleiche in
residenten und nicht-residenten Speicherteilen, sie kann außerdem für Adreßvergleiche in Diagnostikprograminen eingesetzt werden, die in der Zeitscheibe 8 ablaufen.
Ein Ausführungsbeispiel der Erfindung wird nun anhand von !Zeichnungen näher erläutert.
Es zeigen:
richtung zusammen mit dem gleichzeitig benutzten Komponenten einer zugehörigen Datenverarbeitungsanlage ,
Adreßvergleich mit einem Schaltkreis nach Fig. 1 und den dazu benutzten Einrichtungen
eines zugehörigen Systems.
Anhand von Fig. 1 sollen zunächst einige Eigenschaften der zugehörigen Datenverarbeitungsanlage besprochen werden. In
131 »'>
°" 7Ö9881 / 0 6 69
Fig. 1 ist ein üblicher Steuerspeicher 6 dargestellt mit einer Matrix 7 von Speicherelementen, einem Datenregister
zur Aufnahme eines aus der Matrix ausgelesenen Wortes, einem Adreßregister 9 für die Adresse der Speicherstelle, zu der
zugegriffen werden soll und weitere nicht dargestellte Schaltkreise, mit denen eine Speicherstelle ausgelesen werden
kann. Das Adreßregister wird geladen, um die nächste Instruktion in einem Mikroprogramm aus dem Speicher auszulesen. Diese Adresse wird üblicherweise aus verschiedenen
Quellen zusammengesetzt, typischerweise aus der gerade bearbeiteten Instruktion der Maschinensprache, einem Feld in
der gerade aktiven Mikroinstruktion im Datenregister 8 und Verriegelungsschaltungen, die den Status verschiedener Operationen im System anzeigen. Das Datenregister 8 enthält auch
Bits zur Steuerung von Torschaltungen in der zugehörigen Datenverarbeitungsanlage, die deren verschiedene Komponenten
untereinander verbinden. In der Figur sind von diesen bekannten Eigenschaften und Einrichtungen eines Steuerspeichers
nur die für die vorliegende Erfindung wesentlichen dargestellt.
!Der Steuerspeicher in Fig. 1 zeigt die Wirkungsweise der
!Erfindung bei Adreßvergleichen sowohl von residenten als auch nicht-residenten Mikroprogrammen. Der hier betrachtete
Steuerspeicher hat 4096 adressierbare Wortstellen und arbeitet dementsprechend mit einer 12 Bit Adresse im Speicheradreßregister 9. Diese 12 Bit-Adresse kann in einen hochstelligen 6-Bit-Teil für die Seitenadresse und einen niedrigstelligen 6-Bit-Teil für die Wortadresse aufgespalten werden.
Beispielsweise zeigt der niedrigstellige 6-Bit-Teil 101010 (dezimal 48) auf die Speicherstelle 48 in jeder der 64 Seitenrahmen der Matrix. Diese Wortadresse kann mit der 6 Bit-Seitenadresse kombiniert werden, um damit das Speicherwort
EN 975 0T7
709881/0669
ι _ fi -
i S
in einer bestimmten Seite des Speichers zu adressieren. In ähnlicher Weise bezeichnet die Seitenadresse 101010 die Seite
48 in der Matrix und dient entweder alleine zur Bezeichnung der bestimmten Seite oder um auf eine nicht näher gekennzeichnete Speichersteile innerhalb der Seite 48 zu zeigen. Die
64 Wortstellen können als Wörter 0 bis 63 bezeichnet werden, ebenso die 64 Seiten als Seiten 0 bis 63.
'im Speicher der Fig. 1 sind die Seitenrahmen O bis 55 (OOOOOO
bis 100111) residente SpeichersteIlen und enthalten die
residenten Mikroprograiranodule. Der Inhalt des residenten
Speichers wird durch die hier beschriebenen Operationen nicht geändert. Die acht Seitenrahmen 56 bis 63 (111000 bis
111111) werden für die nicht-residenten Mikroprogrammodule verwendet. Jeder dieser acht Seitenrahmen ist einem von
insgesamt acht Programmen zugeordnet, die zu einem Zeitpunkt in verschränkter Weise im System ablaufen können. Jedes
!Programm erhält Zugang zum Steuerspeicher und zu anderen j ! j
Betriebsmitteln des Systems während eines bestimmten Zeitabschnittes, der als "Zeitscheibe" bezeichnet wird. Die j
Zeitscheiben werden mit den Nummern 1 bis 8 bezeichnet. | Zu jedem Seitenrahmen des nicht-residenten Speichers können j
nur Programme der entsprechenden Zeitscheibe zugreifen (jede Zeitscheibe kann Mikroprogramme im residenten Speicherbe- |
reich adressieren). Beispielsweise kann zum Seitenrahmen 56 | (dem ersten Rahmen des nicht-residenten Speichers) nur von
einem Programm zugegriffen werden, das während der Zeitscheibe 1 aktiv ist.
3ie zugehörige Datenverarbeitungsanlage weist eine Steuersinrichtung 12 für die Zeitscheiben auf, um die acht gleichseitig aktiven Programme in der beschriebenen Reihenfolge der
Seitscheiben zu aktivieren. Zur Steuerung der Reihenfolge und
m 9^ O1/ 709881/06 69
der Länge der Zeitscheiben sind im Stande der Technik verschiedene
Wege bekannt. Die Zeitscheiben-Steuerung 12 erzeugt auch ein Zeitscheiben-Signal auf jeder von acht Leitungen
TS1 bis TS8, mit denen die Betriebszeit für jede Zeitscheibe angegeben wird. Die Steuerung 12 kann beispielsweise einen
8 Bit-Ring-Schaltkreis enthalten, es können aber auch Vorrichtungen in ihr enthalten sein, um Wartezustände oder
nichtaktive Zeitabschnitte innerhalb einer Zeitscheibe festzustellen, damit die betreffende Zeitscheibe bei ihrem nächsten
Aktivwerden übersprungen werden kann. Im allgemeinen Fall muß die Steuerung 12 für die Zeitscheiben also Vorrichtungen
aufweisen, um ein Programm auszuwählen, das Zugang zum Speicher 6 und zu den anderen Systembetriebsmitteln
haben soll.
Das zugehörige Datenverarbeitungssystem hat auch (nicht gezeichnete)
Vorrichtungen, um Datenverarbeitungsaufgaben
(Jobs) in das System einzuführen und einem bestimmten Programm die Betriebsmittel zuzuordnen, die es zu seiner Ausführung
in einer zugewiesenen Zeitscheibe benötigt. Die hier betrachtete Erfindung benützt zusätzlich zu den in der Zeichnung
dargestellten speziellen Schaltkreisen einige der Funktionen des Steuerspeichers. Im speziellen Ausführungsbeispiel arbeitet
die erfindungsgemäße Einrichtung zusammen mit den Betriebsmitteln der Zeitscheibe 8. Das zur Ausführung der
Erfindung mitbenutzten Programm wird vorzugsweise als residentes Programm in den Seitenrahmen 63 gegeben und die
Zeitscheibe 8 bleibt inaktiv und bei der Vergabe von Zeitscheiben übersprungen, außer wenn eine Adreßvergleichspperation
durchgeführt wird. Das Programm kann aber auch in die Zeitscheibe 8 geladen werden (oder eine andere Zeitbcheibe),
sobald eine Adreßvergleichsoperation durchgeführt werden soll, während zu anderen Zeiten Zeitscheibe 8
ür andere Programme verwendet werden kann.
EN 975 °17 70988 1/0669
Im folgenden soll nun der Schaltkreis für den Adreßvergleich näher beschrieben werden. Wenn der aus 12 Bits bestehende
Seiten- und Wortteil einer zu vergleichenden Adresse in das Steuerspeicher-Adreßregister 9 geladen wird, erzeugt der
[Schaltkreis von Fig. 1 ein Signal "Adreßübereinstimmung" am usgang 14 eines ODER-Glieds 15.
ie Adressenvergleichsoperation beginnt, wenn ein Wartungsjingenieur ein Diagnostikprogramm aufsetzt, das eine Adreß-[vergleichsfunktion enthält. Das Diagnostikprogramm bewirkt
üblicherweise, daß eine entsprechende Seite von Mikrocodes in den Seitenrahmen 8 des Steuerspeichers geladen wird (es
kann auch sein, daß dieser Mikroprogrammmodul resident im Seitenrahmen 8 enthalten ist). Weiterhin wird eine Verriegelungsschaltung 16 bei Beginn einer Adreß-Vergleichsoperation
gesetzt und diese Schaltung am Ende der Operation zurückgesetzt. (D.h., ein Steuerwort, das in einem frühen Stadium
im Mikroprogramm der Zeitscheibe 8 ausgeführt wird, besitzt ein Bit oder eine decodierbare Kombination von Bits, um auf
der Leitung 17 ein Signal zu erzeugen, das die Verriegelungsschaltung 16 setzt und ebenso weist ein weiteres Steuerwort
in einer Ausgangsroutine dieses Mikroprogramms Mittel auf, um ein Signal auf der Leitung 18 zum Zurücksetzen der Verriegelungsschaltung 16 zu erzeugen.) Die Verriegelungsschaltung
16 steuert einige der Verzweigungen im Mikroprogramm und außerdem einige der Mikroprogramm-Decodierschaltkreise des
Steuerspeichers.
Vorzugsweise wird das Diagnostikprogramm als interaktives Programm ausgeführt, so daß der Wartungsingenieur angewiesen wird, die Adresse der Instruktion einzugeben, auf die
der Vergleich bezogen ist. (Diese Adresse kann aber auch durch spezielle Schaltkreise oder Vorrichtungen geladen
werden, die nur dem Wartungsingenieur zur Verfügung stehen.)
EN 975 017
709881/0669
Diese Adresse wird In eine bestimmte Speieherstelle des
lokalen Speichers der Zeitscheibe 8 eingegeben. Außerdem wird der Seltenteil und der Wortteil der Adresse In ein
Register 22 geladen, das als Vergleichs-Adreßregister bezeichnet wird.
Ein Vergleichsschaltkreis 24 vergleicht den Seitenanteil der Adresse im Steuerspeicher-Adreßregister 9 mit dem Seitenteil der Adresse im Vergleichs-Adreßregister 22 und
erzeugt ein Signal, "Seitenadreßübereinstimmung", auf
der Leitung 26, wenn die beiden Seitenadressen gleich sind. In ähnlicher Weise vergleicht ein Schaltkreis 28 den
Wortteil der Adressen in den Registern 22 und 9, um ein Signal auf der Leitung 29 abzugeben, wenn die beiden Adressen gleich sind. (Die Torschaltungen 68, 69, 70 in diesem
Datenpfad werden später genauer beschrieben.)
Wenn die zu vergleichende Adresse in den lokalen Speicher der Zeitscheibe 8 eingegeben wird, vergleicht das Mikroprogramm (das dem Diagnostikprogramm in Maschinensprache
entspricht) den Seitenteil dieser Adresse und die höchstwertige Seitenadresse des residenten Speichers (Seite 55 in diesem Beispiel). Das Ergebnis dieser Vergleichsoperation zeigt
an, ob die zu vergleichende Adresse im residenten Speicher oder im nicht-residenten Speicher enthalten ist. Durch
diese Vergleichsoperation werden Verriegelungsschaltungen
oder andere Statusanzeiger (nicht gezeichnet) gesetzt, so daß deren Ausgänge die Ergebnisse der Vergleiche anzeigen.
Ein Signal "Vergleich" auf Leitung 33 hat den logischen Wert 1, wenn die Adresse im Bereich des residenten Speichers
liegt (Seitenadresse gleich oder kleiner 55; ein Signal
"kein Vergleich" auf Leitung 34 hat den logischen Wert 1,
trenn die Adresse im Bereich der nicht-residenten Seiten
en 975 017 70988 1/0669
/13
(Seitenadresse größer 55) ist. Ein UND-Glied 39 oder 40 überträgt das Signal "Vergleich" oder "kein Vergleich", um
die Verriegelungsschaltung 43 zu setzen oder zurückzusetzen,
jwenn den Eingängen des UND-Glieds ein Bit eines Wortes aus
dem Steuerspeicher auf Leitung 36, eine 1 der Verriegelungs-
!schaltung 16 und das Zeitsignal TS8 zugeführt wird. Ist die
jVerriegelungsschaltung 43 gesetzt, so zeigt sie damit an, :daß die zu vergleichende Adresse im residenten Speicher enthalten ist.
:Im folgenden wird der Adreßvergleich im residenten Speicher
geschrieben. Ein UND-Glied 46 erzeugt zusammen mit dem ODER-Glied 15 das Signal "Adreßübereinstiiranung", wenn gleichzeitig
das Signal "Seitenadreß-Obereinstimmung" auf Leitung 26,
"Wortadreß-Ubereinstimmung" auf Leitung 29, ein Zeitsignal
"beliebige Zeitscheibe" auf Leitung 45 und der gesetzte Zustand der Verriegelungsschaltung 43 vorliegen. Das Zeitsignal auf Leitung 45 wird durch die Steuerung 12 der Zeitscheiben erzeugt und bedeutet, daß die anderen Eingänge an
das UND-Glied 46 gültig sind. Dieses Signal kann beispielsweise die ODER-Funktion der Zeitsignale TS1 bis TS7 darstellen.
Wenn die zu vergleichende Adresse im nicht-residenten Speicher enthalten ist, wird die Verriegelungsschaltung 43 zurückgesetzt. Der Mikroprogrammodul mit der zu vergleichenden
Adresse kann in jeden beliebigen nicht-residenten Seitenrahmen des Steuerspeichers geladen werden. Dieses Laden erfolgt durch
eine Mikroinstruktion, die als "Lade und Verzweige" (LAB) bezeichnet wird. Wird die LAB-Instruktion während der Verarbeitung einer Zeitscheibe angetroffen, erfolgt das Laden einer
Seite Mikrocode, die in der Instruktion bezeichnet ist, in einen Seitenrahmen des nicht-residenten Speichers, der zu
EN 975 017
7098 81/0
dieser, die Instruktion ausführenden Zeitscheibe gehört; dann wird die nächste Instruktion im Mikroprogramm für diese
Zeitscheibe entsprechend der Verzweigungsadresse geholt. Die LAB-Mikroinstruktion wird entsprechend diesem Verfahren ausgeführt,
sofern die Veirriegelungsschaltung 16 zurückgesetzt ist und damit anzeigt, daß eine Adreß -Vergleichsoperation derzeit
nicht durchgeführt wird; ist die Verriegelungsschaltung gesetzt, so erfolgt dagegen eine Verzweigung zu einem anderen
Mikrosteuerwort. Bei gesetzter Verriegelungsschaltung 16 folgt j auf die LAB-Instruktion die Abspeicherung der Adresse der neuen!
Seite zusammen mit der Identifizierung der Zeitscheibe in einer!
i festgelegten Speicherstelle, die der Zeitscheibe 8 zugänglich .
ist. (Ein bevorzugtes Speichersystem ist in Fig. 2 dargestellt und wird später besprochen.) Vorzugsweise wird die Zeitscheibe ',
mit der LAB-Instruktion bis zur nächsten Zeitscheibe unterbrochen, so daß ein Adreßvergleich nicht durchgeführt wird, bis :
der Schaltkreis der Zeichnung so vorbereitet ist, daß er die Übereinstimmung feststellen kann.
Zeitscheibe 8 enthält übliche Mikroinstruktionen zum Auslesen der festgelegten Speicherstelle und zum Vergleich der vollen
Adresse der neugeladenen Seite mit dem entsprechenden Teil der zu vergleichenden Adresse, die im lokalen Speicher der
Zeitscheibe 8 enthalten ist. Mit Hilfe der Statussignale "Vergleich" und "kein Vergleich" und einem Bit in einem
(Steuerwort des Programmes für Zeitscheibe 8 auf Leitung 50 jsrzeugen die UND-Glieder 51 und 52 ein Signal "Setzen" oder
!"Zurücksetzen" auf den Leitungen 53 und 54. Ein Register 60 besitzt für jede Zeitscheibe 1 bis 7 eine Bitstelle, entsprephend
den Zahlen in der Zeichnung. Die Angabe der Register-Stufe, die zu setzen ist, ist in der Speicherstelle im
lokalen Speicher der Zeitscheibe 8 enthalten; dieses Wort
ki 975 017 7Ö988T/Ö66T
wird dann auf eine Datensammelleitung 61 gegeben und zusammen
mit den Signalen "Setzen" und "Zurücksetzen" zur Steuerung
der Register verwendet.
Beispielsweise habe die Zeitscheibe 1 in den Seitenrahmen 56 eine Mikrocodeselte gegeben, in der die zu vergleichende
Instruktion enthalten ist. Dieser Sachverhalt wird durch den logischen Wert 1 am Ausgang 63 der Stufe 1 von Register
{60 angegeben. Ein UND-Glied 65 erzeugt zusammen mit dem ODER-JGlied 15 das Signal "Adreßübereinstimmung", wenn die Registerletufe 1 gesetzt ist und wenn die anderen Eingänge des UND-Gliedes 65 zeigen, daß eine Übereinstimmung aufgetreten ist.
Der Eingang TS1 der Zeitscheibensteuerung 12 bedeutet, daß
die Instruktion für die Zeitscheibe 1 ausgelesen wurde. Das Signal "Wortadressen-Übereinstimmung" auf Leitung 29 gibt an,
laß die ausgelesene Instruktion im Wortteil der Adresse verglichen werden soll. Die weiteren, in der Figur gezeigten
Komponenten, führen die entsprechenden Funktionen für die uideren Zeitscheiben aus.
)er Schaltkreis von Fig. 1 wurde bisher so beschrieben, als
fände das Auslesen der Instruktion im nicht-residenten Speicher teil statt und nicht im entsprechenden Wortteil eines
Seitenrahmens des residenten Speichers. In vielen Situationen cann man davon ausgehen, daß die meisten Ausleseoperationen
für Instruktionen tatsächlich im nicht-residenten Speicheren stattfinden; es können aber auch spezielle Prüfprogramme
rorbereitet werden, um sicherzustellen, daß das Programm nur Lm nicht-residenten Speicher arbeitet. Zugriffe zum residenten
Speicher oder zum nicht-residenten Speicher können jedoch ι lit einer Vielzahl von Verfahren in einfacher Weise festgestellt werden. Im dargestellten Schaltkreis geben ein UND-Clied 68 und ein ODER-Glied 70 das Signal "Wortadreß-Über-
EH 975 017 709881 /0669
_ yt
einstimraung" nur dann welter, wenn die Verrlegelungsschaltung
43 gesetzt 1st und damit anzeigt, daß das zu vergleichende Wort Im residenten Speicher enthalten 1st (und somit ein
Vergleich aller 12 Bits durchgeführt werden muß, um die Torschaltung 46 zu öffnen). Ein UND-Glied 69, zusammen mit
einem ODER-Glied 70, geben das Signal "Wortadreß-Übereinstimmung" nur dann weiter, wenn ein Signal "Verzweigung zum
nicht-residenten Speicher" auf einer Leitung 72 den logischen Wert 1 hat. Dieses Signal wird aus einem Statuswort
für jede Zeitscheibe abgeleitet, das im lokalen Speicher enthalten ist. Es wird bei einer Verzweigung zum nichtresidenten Speicher gesetzt und bei der Rückkehr zum
residenten Speicher zurückgesetzt. In entsprechender Weise j kann eine Ausleseoperation zum nicht-residenten Speicher
dadurch festgestellt werden, daß ein Wert 111 in den drei hochstelligen Bits des Wortadreßteils im Adreßregister 9
steht.
1FIg. 2 zeigt einen Schaltkreis zum Setzen des Registers 6O.
Ein besonderer Speicher 80 ist zur Aufnahme der Adresse einer Seite vorgesehen, die in den Steuerspeicher geladen wird. Der
Speicher 80 weist mehrere Wortspeicherstellen auf, deren jede einer bestimmten Zeitscheibe zugeordnet ist. Wenn
eine LAB-Instruktion auftritt, während Verriegelungsschaltung 16 gesetzt ist, führt die gerade wirksame Zeitscheibe
eine Mikroinstruktion aus, um die volle Adresse der neuen Seite aus ihrem lokalen Speicher in die zugeordnete Speicherstelle des Speichers 80 zu übertragen. (Allgemein ausgedrückt enthält der Speicher 80 jeden Teil der Adresse der
sonst für die weitere Bearbeitung in der Zeitscheibe 8 nicht mehr zu Verfügung steht.) Die Steuerung 12 der Zeitscheiben kann beispielsweise die Adresse für den Zugriff
zum Speicher 80 während dieser Operation zur Verfügung stellen. Vorzugsweise wird auch eine Verriegelungsschaltung 82
en 975 017 TO 9881/0669
-A-
!beim Auftreten einer LAB-Instruktion gesetzt. Ein UND-Glied 83 wird durch das gleichzeitige Auftreten eines
Signals "Adreßvergleich" (nicht gezeigten) Verriegelungs-I schaltung 16 und eines Bits (oder einer decodierbaren Kombination von Bits) aus einer Mikroinstruktion aktiviert,
die anzeigt, daß eine LAB-Instruktion ausgeführt wird. Ist die Verriegelungsschaltung 82 gesetzt, so erfolgt bei
der nächsten Operation in der Zeitscheibe 8 eine Verzwei-
gung zu einer Routine, die jede Wortspeicherstelle im Speicher 80 sequentiell ausliest (und danach löscht) und die
idle üblichen Betriebsmittel des Prozessors für eine Ver-
gleichsoperation (dargestellt durch Block 84) verwendet, bei der jede gültige Adresse im Speicher 80 und die zu
vergleichende Adresse im lokalen Speicher der Zeitscheibe 8 miteinander verglichen wird. Nach Beendigung dieser
Operation setzt Zeitscheibe 8 die Verriegelungsschaltung 82 zurück, indem sie ein Signal an ein UND-Glied 84 gibt.
Diese Operationen zum Setzen der Verriegelungsschaltung
aus Mikroinstruktionen, die während der Zeitscheiben 1 bis 7 ausgeführt werden und zum Zurücksetzen der Verrlegelungsschaltung 82 durch Mikroinstruktionen, die während der Zeitscheibe 8 ausgeführt werden, entsprechen den Operationen, die
schon für die Verriegelungsschaltung 16 beschrieben wurden.
Die Erfindung kann auch dazu verwendet werden, eine Adreßübereinstimmung in der Zeitscheibe 8 festzustellen. Dazu
ist eine Position im Register 60 und ein entsprechendes UND-Glied für die Zeitscheibe 8 vorgesehen. Die Mikroinstruktionsseiten, die in einen Seitenrahmen geladen werden
können, der der Zeitscheibe 8 zugeordnet ist, werden am Beginn der Seite mit einem Identifizierungsfeld versehen. Weiter
EN 975 017
709188170 669
werden diese Seiten dadurch modifiziert, daß die erste Instruktion, die auszuführen ist, eine Verzweigungsinstruktion
von Typ "Branch And Link" ist, die es erlaubt, die folgenden Operationen durch Mikroprogramme im residenten
Speicherteil durchzuführen. Die erste dieser Instruktionen stellt eine Rückkehr zur nächsten Mikroinstruktion in Zeitscheibe
8 dar, sofern die Verriegelungsschaltung 16 zurückgesetzt ist. Wenn die Verriegelungsschaltung 16 gesetzt ist/
um damit anzuzeigen, daß eine Adreß-Vergleichsoperatin stattfindet,
vergleichen die folgenden Mikroinstruktionen im residenten Speicher die Information im Identifikationsfeld der gerade in den nicht-residenten Speicher geladenen
Seite mit der vollen zu vergleichenden Adresse. Tritt eine Übereinstimmung auf, so wird die Bitposition im Register 60
für die Zeitscheibe 8 (in Fig. 1 nicht dargestellt) gesetzt, im andern Fall wird die Bitposition zurückgesetzt. Die Operation
kehrt dann zur nächsten Mikroinstruktion im nichtresidenten Speicher für Zeitscheibe 8 zurück. Eine Adreßübereinstimmung
in der Zeitscheibe 8 wird dadurch festgestellt, daß gleichzeitig der gesetzte Zustand des entsprechenden
Bits im Register 60, ein Signal TS8 der Zeitscheiben*
steuerung 12 und ein Signal "Wortadreß-übereinstimmung" auf
Leitung 29 auftreten.
EN 975 017
709881/0669
Leerseite
Claims (1)
- 2773706PATENTANSPRÜCHEEinrichtung zum Adressenvergleich bei Speicherzugriffen in Datenverarbeitungsanlagen, gekennzeichnet durch:a) Eine Vergleichsschaltung (24, 28; Fig. 1), die nur einen Teil der vorgegebenen Vergleichsadresse mit dem entsprechenden Teil der jeweils aktiven Speicheradresse vergleicht und bei Übereinstimmung ein erstes Signal abgibt,b) eine Speichereinrichtung (60), die angibt, welche Bereiche des in Blöcke eingeteilten Speichers (6) Daten enthalten, deren entsprechender Adreßteil mit dem verbleibenden Teil der Vergleichsadresse übereinstimmen,c) Steuerschaltungen (65, 15), die ein zweites Signal ("Adreßübereinstiinmung") erzeugen, wenn das erste Signal auftritt und gleichzeitig zum Speicherblock mit dem verbleibenden Adreßteil zugegriffen wird.Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Vergleichsadresse in einem Register (22) gespeichert wird und die jeweils aktive Speicheradresse einem Speicheradreßregister (9) entnommen wird.Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher (9) mit virtueller Adressierung arbeitet und die Adressen in Seitenadresse und Wortadresse aufgespalten sind.Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß der Speicher sowohl residente als auch nicht-residente Seiten enthält und daß eine Verriegelungsschaltung (43) vorgesehen ist, die angibt, ob derEN 975 017709881 /06692723708Adreßvergleich für eine residente oder für eine nichtresidente Seite vorgenommen wird.Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß bei residenten Seiten Wort- und Seitenadressen direkt verglichen werden (24, 28) und bei Koinzidenz der beiden Vergleichssignale ein Endvergleichssignal ("Adreßübereinstinunung") erzeugt wird.Einrichtungen nach Anspruch 4, dadurch gekennzeichnet, daß bei nicht-residenten Seiten die Seitenadresse beim erstmaligen Laden der Seite verglichen und ein Indikator, entsprechend dem Ergebnis des Vergleichs in die Speichereinrichtung (60) gesetzt wird.Einrichtungen nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Anzeige der Seite, zu der gerade ein Zugriff erfolgt, durch eine Zeitscheibensteuerung (12) erzeugt wird.Einrichtungen nach Anspruch 7, dadurch gekennzeichnet, ( daß eine weitere Speichereinrichtung (80, Fig. 2) vor- I gesehen ist, in der für jede Zeitscheibe eine Speicher- j stelle zur Aufnahme der vollen Seitenadresse enthalten ist.Einrichtung nach Anspruch 8, dadurch gekennzeichnet, daß in die weitere Speichereinrichtung (80) bei jedem Neuladen einer nicht-residenten Seite eingeschrieben wird und der Vergleich von geladenen Speicheradressen mit der Vergleichsadresse in periodischen Abständen zum Setzen der Speichereinrichtung (60) erfolgt.EN 975 O17709881/0669
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/701,400 US4048671A (en) | 1976-06-30 | 1976-06-30 | Address match for data processing system with virtual addressing |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2723706A1 true DE2723706A1 (de) | 1978-01-05 |
Family
ID=24817226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772723706 Withdrawn DE2723706A1 (de) | 1976-06-30 | 1977-05-26 | Einrichtung zum adressenvergleich |
Country Status (6)
Country | Link |
---|---|
US (1) | US4048671A (de) |
JP (1) | JPS6013211B2 (de) |
DE (1) | DE2723706A1 (de) |
FR (1) | FR2357002A1 (de) |
GB (1) | GB1535670A (de) |
IT (1) | IT1115666B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0007003A1 (de) * | 1978-07-17 | 1980-01-23 | International Business Machines Corporation | Eine Einrichtung zur Adressenübersetzung enthaltendes Datenverarbeitungssystem |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4156905A (en) * | 1974-02-28 | 1979-05-29 | Ncr Corporation | Method and apparatus for improving access speed in a random access memory |
US4161026A (en) * | 1977-11-22 | 1979-07-10 | Honeywell Information Systems Inc. | Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes |
US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
US4870644A (en) * | 1982-09-21 | 1989-09-26 | Xerox Corporation | Control crash diagnostic strategy and RAM display |
JPS5987566A (ja) * | 1982-11-12 | 1984-05-21 | Hitachi Ltd | メモリアクセス検出方式 |
JPS60183644A (ja) * | 1984-03-02 | 1985-09-19 | Yokogawa Hokushin Electric Corp | マイクロプロセツサアナライザ |
US4748556A (en) * | 1985-05-28 | 1988-05-31 | Tektronix, Inc. | Variable tracking word recognizer for detecting the occurrence of a dynamic-variable address |
JP2763547B2 (ja) * | 1988-06-15 | 1998-06-11 | 株式会社ホンダロック | 車両用電動ミラーのリモコン装置 |
EP0346915A3 (de) * | 1988-06-17 | 1991-03-13 | Modular Computer Systems Inc. | Cache-Speicherhaltepunktanordnung für Rechner |
US6288948B1 (en) | 2000-03-31 | 2001-09-11 | Cypress Semiconductor Corp. | Wired address compare circuit and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3286239A (en) * | 1962-11-30 | 1966-11-15 | Burroughs Corp | Automatic interrupt system for a data processor |
US3703708A (en) * | 1971-05-12 | 1972-11-21 | Gte Automatic Electric Lab Inc | Memory expansion arrangement in a central processor |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
-
1976
- 1976-06-30 US US05/701,400 patent/US4048671A/en not_active Expired - Lifetime
-
1977
- 1977-05-18 FR FR7716056A patent/FR2357002A1/fr active Granted
- 1977-05-26 DE DE19772723706 patent/DE2723706A1/de not_active Withdrawn
- 1977-05-31 JP JP52062902A patent/JPS6013211B2/ja not_active Expired
- 1977-06-01 GB GB23243/77A patent/GB1535670A/en not_active Expired
- 1977-06-07 IT IT24412/77A patent/IT1115666B/it active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0007003A1 (de) * | 1978-07-17 | 1980-01-23 | International Business Machines Corporation | Eine Einrichtung zur Adressenübersetzung enthaltendes Datenverarbeitungssystem |
Also Published As
Publication number | Publication date |
---|---|
JPS533132A (en) | 1978-01-12 |
US4048671A (en) | 1977-09-13 |
IT1115666B (it) | 1986-02-03 |
JPS6013211B2 (ja) | 1985-04-05 |
FR2357002B1 (de) | 1983-01-28 |
GB1535670A (en) | 1978-12-13 |
FR2357002A1 (fr) | 1978-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2948285C2 (de) | Adressensteuereinrichtung für einen Datenprozessor | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2629459C2 (de) | ||
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2339741A1 (de) | Anordnung zur bildung einer relativen adresse fuer einen speicher | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE3228405A1 (de) | Emulator zur erzeugung einer folge von steuersignalen | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE2145709B2 (de) | ||
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
DE2723706A1 (de) | Einrichtung zum adressenvergleich | |
DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE3421737A1 (de) | Vorrichtung zur erfassung von operandenueberlappungen | |
DE2906789A1 (de) | Speicherpruefsystem | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
DE3121046A1 (de) | Arithmetik-logikeinheit mit bit-manipulation | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung | |
DE3931389C2 (de) | Vorrichtung zur Erfassung der Koinzidenz von in einer Pufferspeichersteuerung abgespeicherten Operanden |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |