DE2723706A1 - Einrichtung zum adressenvergleich - Google Patents

Einrichtung zum adressenvergleich

Info

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
Application number
DE19772723706
Other languages
English (en)
Inventor
Robert William Callahan
Paul Eugene Kauffman
Jun Matthew Joseph Mitchell
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 DE2723706A1 publication Critical patent/DE2723706A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software 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
Adresse des Steuerspeichers, die Gegenstand des Vergleichs
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:
Fig. 1 ein Blockdiagramm einer Adreßvergleichsein-
richtung zusammen mit dem gleichzeitig benutzten Komponenten einer zugehörigen Datenverarbeitungsanlage ,
Fig. 2 ein Blockdiagramm mit weiteren Komponenten zum
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)

  1. 2773706
    PATENTANSPRÜCHE
    Einrichtung 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 der
    EN 975 017
    709881 /0669
    2723708
    Adreß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 O17
    709881/0669
DE19772723706 1976-06-30 1977-05-26 Einrichtung zum adressenvergleich Withdrawn DE2723706A1 (de)

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)

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

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

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

Cited By (1)

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