DE2517276A1 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- Publication number
- DE2517276A1 DE2517276A1 DE19752517276 DE2517276A DE2517276A1 DE 2517276 A1 DE2517276 A1 DE 2517276A1 DE 19752517276 DE19752517276 DE 19752517276 DE 2517276 A DE2517276 A DE 2517276A DE 2517276 A1 DE2517276 A1 DE 2517276A1
- Authority
- DE
- Germany
- Prior art keywords
- interrupt
- input
- interruption
- peripheral
- count
- 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
- 238000012545 processing Methods 0.000 title claims description 54
- 230000015654 memory Effects 0.000 claims description 97
- 230000002093 peripheral effect Effects 0.000 claims description 81
- 238000003860 storage Methods 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 30
- 238000012360 testing method Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 22
- 238000012546 transfer Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000026676 system process Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000009849 deactivation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010348 incorporation Methods 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Bus Control (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Description
51-01233 Ge TC-n-ne 18· ÄPr11 1975
HONEYVJELL INFORMATION SYSTEMS INC.
200 Smith Street
Waltham, Mass., USA
Waltham, Mass., USA
Datenverarbeitungssystem
Die Erfindung betrifft ein Datenverarbeitungssystem zur Durchführung
von Datenverarbeitungsoperationen hinsichtlich einer Vielzahl peripherer Geräte.
Im Stand der Technik ist es bestens bekannt, Speicherplätze für
Zustandsworte eines Programmes vorzusehen und diese Programm-Zustandsv/orte
jedesmal auszuwechseln, wenn ein Unterbrechungssignal von einer peripheren Einrichtung empfangen wird. Die
meisten Systeme umfassen einen Microprogrammprozessor, um einen hohen Grad an Flexibilität und Wirtschaftlichkeit zu erzielen.
Normalerweise reagiert bei einem solchen bekannten System der Prozessor auf ein Unterbrechungssignal und benutzt die Systemsoftware
um die Unterbrechung zu erkennen, die betroffene periphere Einrichtung zu bestimmen und die geeignete Maßnahme einzuleiten.
Eine solche Arbeitsweise hat sich als verhältnismäßig zeitaufwendig herausgestellt und erfordert einen beträchtlichen
Betrag an Speicherkapazität zur Speicherung des jeweiligen Zustandes
und von Unterprogrammen, insbesondere dann, wenn das System eine große Anzahl peripherer Einrichtungen bedienen soll,
509883/0621
Systeme dieser Art wurden zusätzlich für die Verarbeitung von Unterbrechungen vorgesehen, wobei die Unterbrechungen entweder
durch externe, periphere Einrichtungen oder durch prozessorsimulierte
externe Einrichtungen durch den Gebrauch eines in dem Festwertspeicher des Processors enthaltenen Micro-Unterprogrammes
verursacht werden. Während hierdurch einerseits die Verarbeitungszeit verringert wird, hat sich andererseits ein
solches System jedoch nicht als geeignet erwiesen, wenn eine große Anzahl peripherer Einrichtungen vorhanden ist, da das
Micro-Unterprogramm einer wiederholten Ausführung bedarf, um
den Unterbrechungszustand einer jeden peripheren Einrichtung
aus der Vielzahl dieser Einrichtungen zu bestimmen, insbesondere wenn diese an eine gemeinsame Datenschiene angeschlossen sind
und die Unterbrechungs-Systelleinrichtung gemeinsam benutzen.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Datenverarbeitungssystem
der eingangs genannten Art anzugeben, welches bei einem vertretbaren Aufwand die Durchführung der notwendigen
Operationen in einer angemessenen Zeit gestattet. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten
Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Anhand eines in den Figuren der beiliegenden Zeichnungen dargestellten
Ausführungsbeispieles wird das Datenverarbeitungssystem gemäß der Erfindung im folgenden näher beschrieben. Es
zeigen:
Figur 1 ein Blockdiagramm des erfindungsgemäßen Systems, Figur la die schematische Darstellung eines peripheren Systemes,
welches als Zielsystem von dem System gemäß Figur 1 emuliert wird,
Figur Ib eine schematische Darstellung der Auslegung des Hauptspeichers
im Zusammenhang mit der vorliegenden Erfindung,
509883/0621
Figur lc die Auslegung des Prozess-Steuerblockes innerhalb
des Hauptspeichers gemäß Figur 1,
Figur Id in näheren Einzelheiten die Codierung bestimmter
Steuerworte und Generalregisterworte des Prozess-Steuerblockes, Figur Ie die Auslegung der Eingangs-/Ausgangstabellen eines
Hauptspeichersegmentes gemäß der vorliegenden Erfindung, Figur 2 ein Blockdiagramm des Untersystems des zentralen
Prozessors gemäß Figur 1,
Figur 2a in näheren Einzelheiten den Steuerspeicher-Schnitt-.Stellenadapter
und die Steuerspeichereinheit gemäß den Figuren 1 und Ic,
Figuren 2b und 2c in näheren Einzelheiten die verschiedenen Teile der Rechen- und Logikeinheit gemäß den Figuren 1 und Ib,
Figur 3a ein Flußdiagramm betreffend die Prozess-Laderoutine einer Zielsystem-Emulation gemäß der vorliegenden Erfindung,
Figur 3b ein die Verarbeitung eines Steuer-Eingang-/Ausgang-Befehls darstellendes Flußdiagramm,
Figur 3c ein Flußdiagramm betreffend die Unterbrechungs-Behandlungsroutine
gemäß Figur 3b,
Figur 3d die ünterbrechungs-Behandlungsroutine gemäß Figur 3b
in näheren Einzelheiten,
Figur 3e ein die Verarbeitung eines Eingang-/Ausgang-Befehles für die Datenübertragung darstellendes Flußdiagramm,
Figur 4a ein Flußdiagramm für die Testroutine des Lese-/Schreibkanales gemäß Figur 3b,
Figur 4b ein Flußdiagramm für die Sektor-Testroutine gemäß Figur 3b,
Figur 5a das Format einer Tabellen-Eingangsstelle für den Lese-/ Schreibkanal,
Figur 5b das Format einer Tabellen-Eingangsstelle für einen Sektor,
Figur 5c ein Format für die Tabellen-Eingangsstelle einer peripheren
Steuereinheit und
Figur 6 die im Zusammenhang mit der vorliegenden Erfindung verarbeiteten,
codierten Eingang-/Ausgang-Befehle in näheren Einzel-
heiten· 509883/0621
Bevor das System gemäß Figur 1 beschrieben wird, sei zunächst Bezug auf Figur la genommen, welche in schematischer Form die
Unterbrechungsverarbeitung des Zielsystems darstellt. Wie aus Figur la ersichtlich, weist das durch das Wirtsystem zu emulierende
Zielsystem eine Anzahl peripherer Steuereinheiten (PCU) auf, welche an eine gemeinsame Sektorschiene angeschlossen sind,
die ihrerseits mit der zentralen Verarbeitungseinheit (CPU) verbunden ist.
Jedes Zielsystem weist einen bis maximal sechs Sektoren auf. In dem dargestellten einzigen Sektorsystem besitzt jede periphere
Steuereinheit (PCU) einen Unterbrechungsschaltkreis, welcher zwei Speichereinrichtungen umfasst: eine Freigabe-Speichereinrichtung
und eine Unterbrechungsfunktion-Speichereinrichtung. Wenn die Unterbrechungs-Speicherfunktion eingeschaltet ist, so
gibt die periphere Speichereinheit ein fortwährendes Unterbrechungssignal
an die zentrale Verarbeitungseinheit ab. Das Vorhandensein dieses Signales wird normalerweise in dem Zielsystem
durch die Benutzung eines Steuer-Eingang-/Ausgang-Befehles getestet. Dieser Befehl entspricht einem peripheren Steuer- und
Verzweigungsbefehl (PCB-Befehl) und ist zwecks Zuordnung zu der peripheren Steuerung codiert. Bevor die periphere Steuerung in
die Lage versetzt wird, das Unterbrechungssignal zu übertragen, muß der Freigabe-Funktionsspeicher durch einen PCB-Befehl umgeschaltet
werden. Auf diese Weise werden die Unterbrechungsschaltkreise für eine PCU ein- oder abgeschaltet, indem die Freigabefunktion
entsprechend ein- oder abgeschaltet wird.
Jede periphere Steuerung des Zielsystems kann bei der Ausführung einer Eingang-/Ausgang-Operation die PCU veranlassen, von dem
Belegtzustand in den nicht-belegt Zustand umzuschalten, welcher
509883/0621
Zustand seinerseit die Unterbrechungsfunktion setzen kann, sofern
zuvor die Freigabefunktion gesetzt worden ist. Auf diese Weise dient sich die periphere Steuereinheit dem Zielsystem
(CPU) an.
Wie aus Figur la ersichtlich, arbeiten alle PCU auf eine gemeinsame
Unterbrechungsleitung. Diese Anordnung bildet somit
hinsichtlich der Unterbrechungssignale eine logische ODER-Operation. Die Behandlung der Zielsystem-Programme durch die
CPU findet mit diesen ODER-verknüpften Unterbrechungssignalen
statt. Im allgemeinen, wenn die Zielsystem-CPU in einer normalen Betriebsweise arbeitet, spricht sie auf das periphere Unterbrechungssignal
an, um bei der Beendigung der Ausführung eines laufenden Befehles mit einer Unterbrechungs-Betriebsweise weiterzufahren.
Hat sie mit dieser Betriebsweise einmal begonnen, so wird die CPU für weitere Unterbrechungssignale gesperrt, bis
das Zielsystem-Programm über einen Befehl die CPU zur Wiederaufnahme ihrer normalen Betriebsweise veranlasst. Hinsichtlich weiterer
Einzelheiten betreffend diese Betriebsweise sei auf folgende Veröffentlichung verwiesen: "Series 200 Programmer's
Reference Manual (Models 200/420O)", Copyright 1971 durch Honeywell Information Systems Incorporation, Bestellnummer
BA85, Rev. O.
Aus Figur 1 ist ersichtlich, daß das System gemäß der vorliegenden
Erfindung eine Vielzahl von Untersystemen 100-1 bis 100-4 aufweist. Die verschiedenen Untersysteme des Systems werden
durch eine zentrale Verarbeitungseinheit 100-1, ein Eingangs-/ Ausgangs-Steuerwerk 100-2, eine Speicher-Schnittstelleneinheit
100-3, ein Hauptspeicher-Untersystem 100-4 und ein peripheres Untersystern 100-5 verkörpert. Das durch die zentrale Verarbeitungseinheit
verkörperte Untersystem 100-1 weist eine Daten-
509883/0621
Verwaltungseinheit (DMU) 101-1, eine Befehlabrufeinheit (IFU)
101-3, eine Rechen- und Logikeinheit (ALU) 101-6, einen Steuerspeicher-Schnittstellenadapter
(CIA) 101-4 und eine Steuerspeichereinheit (CSU) 101-5 auf, wobei diese Einheiten in der in
Figur 1 angegebenen Weise zusammengeschaltet sind. Das CPU-Untersystem führt die Rechenoperationen des Systems aus, wobei
diese Operationen unter der Steuerung von in der Steuerspeichereinheit 101-5 gespeicherten Microbefehlen zur Ausführung
gelangen. In einer bevorzugten Ausführungsform werden diese Befehle in die Steuerspeichereinheit 101-5 durch einen
Steuerspeicherlader geladen, der außerhalb der zentralen Verarbeitungseinheit
100-1 angeordnet ist.
Der CIA 101-4 weist die erforderlichen logischen Schaltkreise zur Fortschaltung der Steuerspeichereinheit 101-5 auf. Der CIA
101-4 erzeugt beispielsweise die erforderliche Adressenmodifikation, Adressenerzeugung, Testung und Verzweigungsschaltungen
auf Grund von Signalen, die auf Grund interner und äußerer Bedingungen erzeugt werden.
Die verschiedenen Rechenoperationen werden durch die ALU 101-6
ausgeführt, welche die Möglichkeit aufweist, sowohl Daten in Wort- als auch in Byte-Darstellung zu verarbeiten. Der ALU 101-6
ist eine lokale Speichereinheit (LSU) 101-7 zugeordnet, welche einen kleinen Zwischenspeicher und zugeordnete Logikschaltkreise
aufweist, um Steuerinformation ebenso wie Operanden und Teilresultate
zu speichern, welche während verschiedener Rechenoperationen erzeugt werden.
Eine Adressensteuereinheit (ACU) 101-2 verbindet die ALU 101-6 mit dem Speicheruntersystem und dient der Erzeugung von Adressen
zur Bezugnahme auf Informationen innerhalb des Speichers. Die ACU 101-2 ist zusätzlich an die IFU 101-3 angeschlossen, welche
509883/0621
Schaltkreise zum Abrufen von Befehlen im voraus aufweist, so
daß jeweils Befehle verfügbar sind/ bevor ein gerade ausgeführter Befehl vollständig behandelt ist.
Die DMU 101-1 bildet eine Schnittstelle zwischen dem CPU-Untersystem
und/oder einem Pufferspeicher 103-2. Die DMU 101-1 weist Schaltkreise zur Bestimmung desjenigen Teiles des Speichers des
Hauptspeicher-Untersystems auf, welcher die während aufeinanderfolgender
Speicherzyklen aufzusuchende Information enthält und sie ist in der Lage, diese Information in das CPU-Untersystem
im geeigneten Zeitpunkt zu übertragen.
Die das Untersystem 100-3 verkörpernde Hauptspeicher-Schnittstelleneinheit
weist einen Pufferspeicher 103-2, eine Pufferspeicheradressliste 103-3 und einen Hauptspeicher-Sortierer
103-1 auf. Der Pufferspeicher 103-2 dient der vorübergehenden Speicherung von Informationen, welche als nächstes durch das
CPU-Untersystem benutzt werden, sowie der zeitweiligen Speicherung
von Informationen, welche während der Datenverarbeitung häufig benutzt werden. Die Pufferspeicher-Adressliste 103-3
umfasst Schaltkreise zur Erzeugung einer Adresse für den Fall, daß die einer Operation zugeordnete Information in dem Pufferspeicher
103-2 gespeichert ist. Der Hauptspeicher-Sortierer 103-1 bildet eine Schnittstelle zwischen den verschiedenen
Modulen des Hauptspeicher-Untersystems 100-4 und den verschiedenen anderen Untersystemen.
Das Hauptspeicher-Untersystem 100-4 ist an den Hauptspeicher-Sortierer
der Speicherschnittstelleneinheit angeschlossen und umfasst in einer bevorzugten Ausführungsform vier Speichermodule
104-1 bis 104-4. Diese Module werden unter der Steuerung des Hauptspeicher-Sortierers in einer Anzahl von verschiedenen Verfahrensweisen
betrieben, wobei eine überlappende Betriebsweise zur Anwendung gelangt. Diese Module bilden den Speicherplatz
509883/0621
2517278
für Informationen, wie sie durch die verarbeitenden Komponenten
des Systems während der Ausführung laufender Aufgaben gefordert werden. Hinsichtlich weiterer Einzelheiten in Bezug auf den
Hauptspeicher-Sortierer sei auf die DOS 2 350 202 verwiesen.
Wie aus Figur 1 ersichtlich, stellt das IOC 100-2 die Verbindung
zu dem peripheren Untersystem 100-5 her. Das periphere üntersystem 100-5 weist eine Vielzahl von peripheren Steuereinheiten
auf, welche die Operationen einer Vielzahl peripherer Einrichtungen steuern, die mit diesen Einheiten verbunden sind,
z. B. Kartenleser, Drucker und Magnetbandantriebe. Das IOC 100-2 steuert die Informationsübertragung zwischen dem peripheren üntersystem
100-5 und dem Hauptspeicher-Untersystern. Es kann beispielsweise
für bis zu 16 periphere Untersysteme ausgelegt sein. Das IOC 100-2 besitzt eine Schnittstelle mit dem Hauptspeichersystem,
um Informationen zwischen dem Hauptspeicher und den peripheren Untersystemen zu übertragen und Gruppen von auf Kanalprogramme
bezogenen Befehlen aus dem Hauptspeicher abzurufen und diese Befehle ohne Unterbrechung der Operation der zentralen
Verarbeitungseinheit auszuführen.
Das IOC 100-2 weist zusätzlich eine Schnittstelle mit der zentralen
Verarbeitungseinheit 100-1 auf, um eine die peripheren Untersysteme
betreffende Zustandsinformation dem CPU zur Weiterverarbeitung anzubieten und um auf die Anforderungen der CPU mit der
Ausführung des Kanalprogrammes zu beginnen und die CPU wiederum zu informieren, wenn das Kanalprogramm vollständig ausgeführt
ist. Grundsätzlich werden bei der bevorzugten Ausführungsform der vorliegenden Erfindung die Ein-/Ausgang-Operationen unter
der Steuerung eines Kanalprogrammes ausgeführt, welches einen kompletten Satz von Befehlen sowie die Adresseninformation zur
Ausführung einer besonderen Ein-/Ausgang-Operation enthält. Das
IOC 100-2 weist sowohl die zur Ausführung eines Kanalprogrammes
509883/0621
erforderliche Hardware als auch die entsprechende Firmware auf. Die Ausführung eines Programmes durch das IOC erfolgt
durch eine Vielzahl von Kanälen. Unter einem Kanal wird ein Zugriffspfad von der CPU zu der peripheren Einrichtung zwecks
Ausführung einer Eingangs-/Ausgangs-Operation verstanden. Der Kanal umfasst die IOC-Systemeinrichtungen, einen gerätemäßig
vorhandenen Kanal zwischen dem IOC und dem peripheren Untersystem und einen logischen Kanal, der die zur Ausführung einer
gegebenen Eingangs-/Ausgangs-Operation erforderlichen Ausgestaltungen
in dem peripheren Untersystem umfasst. In dem bevorzugten
Ausführungsbeispiel kann ein peripherer Prozessor bis zu 255 logische Kanäle verarbeiten.
Wie aus Figur 1 weiterhin ersichtlich, umfasst das IOC-Untersystem
100-2 eine Speicher-Verwaltungseinheit 102-1, eine Dienstcode-Einheit 102-2 und eine Vielzahl von Kanalsteuereinheiten
102-3 bis 102-4. Da das IOC bis zu 16 periphere Untersysteme bedienen kann, umfasst es eine entsprechende Anzahl von Kanalsteuereinheiten.
Wie zuvor bereits erwähnt, werden die Eingangs-/ Ausgangs-Operationen durch Kanalprogramme hervorgerufen. Die
Kanalprogramme werden durch den peripheren Prozessor über logische Kanäle, welche den peripheren Einrichtungen zugeordnet
sind, ausgelöst. Das IOC enthält alle Informationen betreffend den Zustand eines jeden logischen Kanales und der damit verbundenen
Kanalprogramme. Die Kanalprogramme werden gleichzeitig mit der zentralen Operationsverarbeitung durchgeführt, wobei von
Mehrprogramm- und Simultanverarbeitungs-Möglichkeiten Gebrauch
gemacht wird.
Für die Zwecke der vorliegenden Erfindung kann die Anordnung zur Ausführung von Eingangs-/Ausgangs-Operationen als bekannt
vorausgesetzt werden. Zusätzliche Informationen können der Veröffentlichung "Computer Organization and the System/370"
509883/0621
von Harry Katzan Jr., veröffentlicht 1971 durch Van Nostrand, Rinehold Company, entnommen werden.
Bevor die verschiedenen Komponenten gemäß Figur 1 weiter beschrieben
werden, sei die Organisation des Hauptspeichers 104 im Zusammenhang mit Figur la im folgenden näher erläutert.
Ein Bereich, welcher dem unteren Ende des Hauptspeicher-Adressenraumes
entspricht, ist für die Benutzung durch die Hardware und Firmware des Systems reserviert. Die obere Grenze dieses Bereiches
wird durch den Inhalt eines Grenzadressregisters (BAR) gekennzeichnet, auf welches durch die Software des Systems zugegriffen
werden kann. Im allgemeinen wird der Inhalt des BAR auf einen vorbestimmten Wert zum Startzeitpunkt des Systems eingestellt.
Der Bereich unterhalb der durch den Inhalt des BAR bestimmten Adresse enthält normalerweise vom IOC benutzte Tabellen,
welche die Ausbildung des besonderen peripheren Untersystems bestimmen,
sowie Firmware-Befehle zur Steuerung der Operation der CPU. Wie aus Figur Ib ersichtlich, ist der Speicher in eine
Vielzahl von Segmenten unterteilt, auf welche durch einen vorgegebenen Prozess zugegriffen werden kann, wenn dies durch die
System-Software bestimmt wird.
Der Hauptspeicher kann als segmentierter, virtueller Speicher
bezeichnet werden, in welchem die Adressen von Programmen als Daten vorliegen, die durch den Namen des Segmentes, in dem sie
angeordnet sind und durch eine Verschiebung innerhalb dieses Segmentes repräsentiert werden. Den Segmenten sind Schutzringe
zugeordnet, welche den Inhalt des Segmentes vor einem Zugriff schützen. Die den Segmenten zugeordneten Schutzringe sind Teil
der dem Segment zugeordneten Daten. Bezüglich weiterer Informationen betreffend diese Speicherausgestaltung sei auf die
509883/0621
-U-
Veröffentlichung "The Multics Virtual Memory", veröffentlicht
durch Honeywell Information Systems Incorporation, Copyright 1972 hingewiesen.
Die Hauptspeicher-Emulatorinformation und Datenstrukturen# wie
sie aus Figur Ib ersichtlich sind, umfassen mehrere Segmente A bis D. Das Segment A ist so codiert, daß es ein Bild des Zielsystem-Steuerspeichers
speichert. Als solches enthält es die Verarbeitungsregister..Zusätzlich enthält das Segment verschiedene
Steuerworte ICWl, ICW2 und IRW, welche bei der Verarbeitung der Unterbrechungsoperationen benutzt werden. Das Segment A ist
dem System durch den Inhalt des Basis-Adressregisters 3 (BR3) erkenntlich. Das Segment B umfasst die Eingangs-/Ausgangs-Tabellen,
welche gemäß der vorliegenden Erfindung organisiert sind. Auf dieses Segment B wird durch den Inhalt des Basis-Adressregisters
4 (BR4) zugegriffen.
Der Zielsystem-Hauptspeicher ist dem Segment C zugeteilt und dieses Segment C ist durch den Inhalt des Basis-Adressregisters
2 (BR2) für das Emulationssystem erkennbar. Die Segmentgröße ist
so gewählt, daß sie der Speichergröße des zu emulierenden Zielsystems entspricht. Bei einer gegebenen absoluten Adresse M oder
einem Zeichen wird dieses Zeichen durch Indizierung des Inhalts des Basis-Adressregisters 2*durch M bestimmt. In dem bevorzugten
Ausführungsbeispiel entspricht das Format der in dem Hauptspeicher enthaltenen Information dem von dem Zielsystem benutzten
Informationsformat. Beide Systeme benutzen ein Zeichen, welches 8 Bits aufweist, von denen 6 Datenbits und 2 Interpunktionsbits
darstellen. Der einzige Unterschied zwischen der Art und Weise der Informationsdarstellung in dem Wirtsystem ist die Nummerierung
von links nach rechts mit 0 bis I1 anstatt von rechts nach
links mit 1 bis 8.
5 09883/0621
Das Segment D umfasst die Tabellen und Routinen zur Bearbeitung jener Funktionen/ welche nicht durch die Hardware oder Firmware
des Systems ausgeführt werden. Beispielsweise ist der Softwareteil, das Emulations-Unterstützungspaket (ESP) in der Lage, Eingangs-/Ausgangs-Befehle
des Zielsystems zu übersetzen und auszuführen. Ebenso kann dieses Paket verschiedene Hardwareteile des
Zielsystem-Aufbaues sowie verschiedene zuvor erläuterte, durch das Zielsystem ausgeführte Operationen simulieren.
Selbstverständlich sei hier festgestellt, daß die tatsächliche Ausführung der Eingang-/Ausgang-Operationen durch die Eingang-/
Ausgang-Struktur des Wirtsystems vorgenommen werden. Die in dem Segment D enthaltenen Tabellen enthalten beispielsweise periphere
Adressen, wie sie von den Zielsystemen benutzt werden und die dem Eingang-/Ausgang-System für eine besondere, der Emulation
unterworfene, Konfiguration entsprechen. Andere Tabellen werden
herangezogen, um den Zustand einer besonderen übertragung, die zugehörige Steuereinheit-Adresse, sowie den Zustand für alle
Lese-/Schreib-Kanäle des Zielsystems aufzuzeichnen.
Obwohl in Figur Ib nicht dargestellt, gibt es ein Segment oder
ein Teil eines Segmentes in dem Hauptspeicher, welches den Prozess-Steuerblock (PCB) enthält. Der PCB enthält die wichtigen
Informationen, welche zur Ausführung eines gegebenen Prozesses erforderlich sind. Die Art der in dem PCB enthaltenen Information
ist in Figur Ic dargestellt. Wie dieser Figur entnommen werden kann, stellt diese Information die gesamte erforderliche
Information zur Befähigung des Systems gemäß Figur 1 zwecks Emulation eines bestimmten Zielsystems dar. Der Inhalt des PCB
wird später in Zusammenhang mit der vorliegenden Erfindung beschrieben.
50 9 8 83/0621
Steuerspeicher-Schnittstellenadapter (CIA) und Steuerspeichereinheit (CSU)
Gemäß Figur 2a umfasst die Steuerspeicheranordnung 205-1 der CSU in dem bevorzugten Ausführungsbeispiel sowohl feste als
auch veränderbare Abschnitte. Der feste Abschnitt kann durch Verwendung eines programmierbaren Festwertspeichers (PROM)
verwirklicht werden und der veränderbare Abschnitt des Speichers umfasst einen Lese-/Schreib-Speicher in integrierter
■Schaltkreistechnik. Der gesamte Speicher ist über ein Adressregister
KS adressierbar und sein oberer Teil ist veränderbar, um die Möglichkeit zur Steuerung des Systems in verschiedenen
Verfahrensweisen zu schaffen. Eine solche Verfahrensweise wird benutzt bei der Emulation der Operation einer Anzahl verschiedener
Zielsysteme. Eine andere Verfahrensweise umfasst die Fähigkeit zur Untersuchung des Systems und seiner Teile auf
aufgetretene Fehler. Im vorliegenden Ausführungsbeispiel besitzt die Steuerspeicheranordnung eine Kapazität von 7K (K =
1024 Bits) und die Länge eines jeden Steuerspeicherwortes beträgt 84 Bits. Die Steuerspeicheranordnung ist in die folgenden
Abschnitte unterteilt: IK für Micrountersuchungen; 2K für die Emulation und 4K für die ursprüngliche Verfahrensweise. Es
liegt auf der Hand, daß die SteuerSpeicherplätze, die einen bestimmten
Abschnitt bilden, aneinandergrenzen können. Die für die. Micrountersuchung herangezogenen IK sind dynamisch veränderbar,
ebenso wie Teile, die für die Emulation und die ursprüngliche Verfahrensweise herangezogen werden. Die verbleibenden
Speicherplätze des Steuerspeichers sind nicht veränderbar.
Jedes Steuerspeicherwort ist in eine Vielzahl von Feldern unterteilt.
Ein erstes als "E"-Feld bezeichnetes Feld bildet ein Verzweigungs-Steuerfeld, welches die Art der vorzunehmenden Ver-
509 883/0621
zweigung kennzeichnet. Die Auswahlschaltkreise 204-1 bis 204-7 des CIA benutzen die Felder eines Microbefehlswortes zur Erzeugung
der Verzv/eigungsadressen.
Liegt keine Verzweigungsoperation vor, so wird der Steuerspeicher während eines Operationszyklus durch den Inhalt des
KS-Adressregisters 204-9 adressiert und der Inhalt der adressierten
Speicherplätze wird in eine Vielzahl von Datenverriegelungen 205-2 ausgelesen. Anschließend wird ein Teil der Ausgangssignale,
z. B. die Bits 26 bis 79 aus diesen Verriegelungen in nicht dargestellte Speicherregister übertragen, wobei diese Speicherregister
in jeder der Einheiten des CPU-üntersystems enthalten
sind. Eine jede dieser Einheiten umfasst nicht dargestellte, logische Decodierschaltkreise, welche in Form programmierbarer
Festwertspeicher realisiert sind, die ihrerseits die erforderlichen Unterbefehl-Steuersignale für die entsprechenden Einheiten
erzeugen. Auf diese Weise kann jede Einheit, die durch den programmierbaren Festwertspeicher erzeugten Steuersignale kombinieren,
diese Signale in Gruppen zwecks Kombination mit innerhalb dieser Einheit erzeugten anderen Signalen unterteilen, wie
dies für die Ausführung verschiedener Operationen erforderlich ist. Die Decodierschaltkreise 205-4 decodieren bestimmte Felder,
z. B. Verzweigungsfelder und erzeugen Signale, wie sie für Sortieroperationen gefordert werden.
Aus Figur 2a ist weiterhin ersichtlich, daß die SteuerSpeichereinheit
ein lokales Register KN 205-6 aufweist, welches über ein Register KW 205-8 mit dem Steuerspeicherfeld 205-1 verbunden ist.
Diese Anordnung erlaubt das Rückschreiben einer, während eines Speicherzyklus ausgelesenen Information in einen adressierten
Speicherplatz. Aus Gründen der Registergröße wird die ausgelesene Information in das Steuerspeicherfeld jeweils in Blöcken
zu je 12 Bit zurückgeschrieben.
509883/0621
Diese Einheit führt alle geforderten arithmetischen und logischen Operationen für das CPU-Untersystem aus. Die Einheit umfasst
gemäß Figur 2a eine Wort-ALU 206-1, welche mit einem Paar von Operanden, welche eine Länge von 4 Bytes aufweisen und in
einem Paar von Operandenregistern 206-3 und 206-5 gespeichert sind/ arithmetische und logische Operationen durchführt. Die
Inhalte der Operandenregister 206-3 und 206-5 werden der Recheneinheit 206-1 über Auswahlschaltkreise 206-7 und 206-9 zugeführt.
Die durch den Wortaddierer 206-1 gebildeten Ausgangsresultate v/erden dem Register 206-3 und einem Register LY zugeführt. Ein
Decodierschaltkreis 206-2 überprüft das Register 206-3 auf Nullstellen.
Ein Paar von Registern 206-11 und 206-12 dienen als Hilfsregister
und sind in der dargestellten Weise mit den entsprechenden Elementen und Schienen verbunden. Das AF-Register 206-12
empfängt über einen SFS-Auswahlschaltkreis 206-14 in Abhängigkeit
von den Steuersignalen eines Dreistufenzählers 206-16 Daten von einem AG-Register 206-88. Der SE-Zähler 206-16 wird
in seinem Zählstand durch einen Schaltkreis 206-18 jeweils um eins erhöht, bzw. um eins erniedrigt. Dieser Zähler wird von
Registern in dem Byte-Addierer und in dem Steuerspeicher-Schnittstellenadapter beaufschlagt.
Eine Vielzahl von Unterbrechungslogik-Decodierschaltkreisen, welche nicht dargestellt sind, sind an die AE- und AF-Register
206-11 und 206-12 angeschlossen und übernehmen die Decodierung des Inhalts der Register auf einer Byte-Basis. Die Ausgänge der
Decodierschaltkreise sind an eine Vielzahl von Sektor-Unterbrechungs-Flip-Flops angeschlossen, welche als Teil des Hinweisspeichers
für die Zwecke der Erfindung betrachtet werden können.
509883/0621
Die ALU umfasst weiterhin ein AI-Operationscode-Register 206-20,
Decodierschaltkreise 206-22 und Verfahrensweise-Steuerregister 206-24/ die in der dargestellten Weise angeordnet sind. Der Inhalt
der Register 206-24 setzt den Addierer in die Lage, die durch den Operationscode eines Befehles bestimmte Operation auszuführen.
Die ALU umfasst weiterhin eine 64-Bit-Verschiebeeinrichtung
206-30, welche mit den AC- und AE-Registern 206-3 und 206-11 verbunden ist und durch ein 8-Bit-Steuerregister 206-32
gesteuert wird. Das Register 206-32 wird entweder direkt aus den dargestellten Quellen oder indirekt über einen Auswahlschaltkreis
206-34 geladen.
Wie aus Figur 2 ersichtlich, beinhaltet die ALU einen 8-Bit (Byte)-Addierer 206-50, welcher in Figur 2c in näheren Einzelheiten
dargestellt ist. Für die Zwecke der vorliegenden Erfindung kann der Addierer 206-50 in herkömmlicher Weise ausgebildet
sein. Der Addierer 206-50 verarbeitet die Operanden Byte für Byte und umfasst logische Decodierschaltkreise, die jene durch
das Zielsystem geforderten Operationen ausführen. Zusätzlich weist der Addierer 206-50 dezimale Korrekturschaltkreise 206-72,
Nullresultat-Decodierschaltkreise 206-74, Ausgangs-Flip-Flops 206-75 und Ausgangs-Auswahlschaltkreise 206-76 auf. Der Addierer
206-50 beinhaltet ferner eine Vielzahl von Speicherregistern, welche an die gemeinsame Schiene QA und QB angeschlossen und
miteinander verbunden sind. Aus Figur 2c ist ersichtlich, daß ein Register 206-58 an die gemeinsame Daten-/Steuerschiene QB
und über Schaltkreise 206-78 an mit LSM, AA und ARB bezeichnete Quellen angeschlossen ist. Die Quelle LSM ist in der lokalen
Speichereinheit 101-7 gemäß Figur 1 enthalten. Diese Speichereinheit
bildet eine zeitweilige Speichereinrichtung für die ALU, sowie eine zeitweilige Speichereinheit für die der Verarbeitung
eines bestimmten Befehls zugeordnete Steuer- und Adresseninformation. Die Quellen AA und ARB sind dem Register 206-52 und dem
Byte-Addierer 206-50 entsprechend zugeordnet. Das Register 206-52 ist an die beiden Schienen QA und QB und über einen Selektor
206-65 an das AC-Register 206-3 angeschlossen.
509883/0621
_ IT _
Wie aus Figur 2c ersichtlich, dienen die AA- und AB-Register
206-52 und 206-54 in erster Linie als Register für die Operanden A und B, welche Register mit dem Byte-Addierer 206-50 über die
AAS- und ABS-Auswahlschaltkreise 206-56 und 206-58 verbunden
sind. Ein Betriebsart-Steuerregister 206-57 ist direkt mit dem Addierer 206-50 verbunden und der Inhalt dieses Registers versetzt
den Addierer in die Lage, die durch eine in das Register geladene Konstante gekennzeichnete Operation durchzuführen. Das
AB-Register 206-52 erhält ein ausgewähltes Byte aus 4 Bytes, welche in dem AD~Register des Wortaddierers gespeichert sind.
Das besondere ausgewählte Byte wird durch den Inhalt eines SD-Zählers
206-60 bestimmt, der einen Erhöhungs-ZErniedrigungsschaltkreis 206-61 enthält. Der Zählerinhalt dient als Hinweisadresse
zur Bestimmung desjenigen der Bytes, welches als nächstes in das AB-Register 206-58 zu laden ist. In gleicher Weise
enthält der SC-Zähler 206-62 einen Erhöhungs-ZErniedrigungsschaltkreis
206-63 und sein Zählstand dient als Hinweisadresse zur Bestimmung desjenigen Bytes, welches aus dem AC-Register
206-3 des Wortaddierers in das AA-Register 206-52 als nächstes
zu laden ist. Die Zähler SD und und SC versetzen somit die Auswahlschaltkreise
206-65 und 206-66 in die Lage, die Operandenregister AA und AB aus den Registern AC und AD zu laden.
Die AB- und AA-Register 206-58 und 206-52 können ebenfalls über
Gatterschaltkreise 206-78 und 206-80 geladen werden. Die Auswahlschaltkreise 206-65 und 206-66 können ein Paar von Steuerregistern
206-82 und 206-84 laden. Diese Register bilden zeitweilige Speichereinrichtungen für gewisse veränderliche Steuerzeichen
eines zu verarbeitenden Befehles. Ein Decodierschalt·"
kreis 206-86 ist an das Register 206-84 zwecks Decodierung der Bits des Cl-Zeichens angeschlossen.
509883/0621
Die Speicherregister weisen ein weiteres Register 206-88 auf, welches zur Ausführung bestimmter Ausblendoperationen benutzt
wird, wobei über einen Auswahlschaltkreis 206-90 Signale in das Register geladen werden und anschließend über einen Auswahlschaltkreis
206-54 dem Byte-Addierer 206-50 zugeführt werden. Das Register 206-88 wird ferner herangezogen, um einen dreistufigen
Abwärtszähler 206-92 zu laden. Der Zählstand dieses Zählers wird immer in Übereinstimmung mit der Anzahl der von dem Emulator
verarbeiteten Steuerzeichen gehalten. Der Zähler weist ferner einen Decodierschaltkreis 206-94 auf, welcher das Erreichen des
Zählstandes Null anzeigt.
Der Byte-Addierer 206-50 weist ferner eine Vielzahl von Flip-Flops
auf, welche von dem Wirtsystem für Steuer- und Speicherzwecke benutzt werden. Ein solches Flip-Flop 206-80 dient beispielsweise
der Anzeige der Emulationsbetriebsweise und kann durch die Firmware gesetzt und zurückgestellt werden. Andere
Flip-Flops bilden eine Vielzahl von Steuer-Flip-Flops CFO bis CF7, welche mit den Prüfschaltkreisen des Steuerspeichers verbunden
sind.
Der Byte-Addierer weist ferner eine Vielzahl bistabiler Hinweis-Speicherelemente
für das Zielsystem auf, wobei die Ausgänge dieser Speicherelemente mit den AE- und AF-Registern des Wortaddierers
verbunden sind. Diese Speicherelemente erhalten Signale von den SDS-Auswahlschaltkreisen 206-66 und den Ergebnis-Überwachungslogikschaltkreisen
des Byte-Addierers, wie dies dargestellt ist.
Die ACU 101-2 gemäß Figur 2 weist einen Zuordner 202-1 auf, welcher die Segmentrmmmer von bis zu 16 Segment-Descriptoren
speichert, die bei der Entwicklung der absoluten Adresse eines
509883/0621
gesuchten Segmentes benutzt v/erden. Die ACU v/eist ferner eine
Einheit-Registerdatei (URF) 202-20 auf, welche eine Vielzahl
von Basisregister-Speicherplätzen BRO bis BR7 von jeweils 32 Bit zusätzlich zu Arbeitsregister-Speicherplätzen UW4 bis UW7
enthält. Bestimmte Register davon enthalten Basisregister-Adressen,
welche von einem Befehl oder Microbefehl abgeleitet sind, die über die Schienen QA und QB zugeführt werden.
Bevor die Wirkungsweise des erfindungsgemäßen Systems beschrieben wird, soll auf Figur Ie Bezug genommen werden, welche den
Aufbau der Eingang-/Ausgang-Tabellen in Übereinstimmung mit der vorliegenden Erfindung zeigt. Im vorliegenden Ausführungsbeispiel
sind 6 allgemeine Klassen von Tabellen vorgesehen. Diese umfassen: eine Lese-/Schreibkanal-Tabelle, eine Sektortabelle, eine Beendigungstabelle,
periphere Steuereinheit-Tabellen, PCU-Erweiterungstabellen,
Gerätetabellen und Geräte-Erweiterungstabellen.
Die Lese-/Schreib-Kanal (RWC)-Tabelle ist auf der Basis eines
emulierten Zielsystems organisiert. Für jedes emulierte System existiert eine solche Tabelle. Der Inhalt des Basis-Adressregisters
4 (BR4) bestimmt den Beginn oder die Basis der RWC-Tabelle.
Jede Tabelle weist einen Adressenspeicherraum von 256 Bytes auf. Diese Bytes sind in 64 Eingangsstellen aufgeteilt, wobei eine
Eingangsstelle für jeden möglichen RWC-Code,wie er durch das Zielsystem-Programm bestimmt werden kann, vorgesehen ist. Jede
Eingangsstelle ist in der in Figur 5a dargestellten Weise codiert. Aus dieser Figur ist ersichtlich, daß jede Eingangsstelle ein
Bit-Zeitlücken-Maskenfeld, ein 6 Bit-Zähler-Codierungsfeld, ein
5 0 9883/0621
einzelnes erweitertes Eingang-/Ausgang-Bit (EXT), ein 3 Bit
Sektor-Codierungsfeld und ein 16 Bit RWC-Belegt-Maskenfeld
umfasst. Figur 5a zeigt ferner ein Beispiel einer RWC-FeId-Eingangsstelle
für ein bestimmtes Zielsystem. Wie aus Figur 5a weiter ersichtlich, können maximal 6 Zeitlücken in einem emulierten
Zielsystem dargestellt werden. Zum Beispiel die Zeitlücken 1 und la bis 3a. In diesem Fall sind zwei Zeitlücken
für den RWC-Code erforderlich und entsprechen einer Daten-Übertragungsrate von 167 Zeichen pro Sekunde in dem Zielsystem.
Dieses Feld zeigt jedoch nicht an, welche Zeitlücken belegt sind."
Der Zählercode entspricht der Adresse in Oktaldarstellung des mitlaufenden Speicherzählers, der für die Adressenspeicherung
durch einen Datenübertragungsbefehl mit dem ausgewählten RWC-Code benutzt wird. Im vorliegenden Beispiel weist die durch
den Zähler codierte Adresse die Zahl 22 in Oktaldarstellung auf. Die codierte Zahl besitzt normalerweise einen Wert im Bereich
zwischen 00 und 27 in Oktaldarstellung.
Irgendein Lese-ZSchreib-Kanalcode, welcher für das emulierte
System als illegal anzusehen ist, wird durch die die Zählercodierung angebende Eingangsstelle bestimmt. Für die, RWC-Eingangsstelle
entsprechend einem Code von 00 in Oktaldarstellung und für alle RWC-Eingangsstellen, die illegalen Codes in dem Zielsystem
zugeordnet sind, wird das Zähler-Codierungsfeld mit einem hochrangigen Bit von EINS codiert. Dieser Zählercode wird in
einer speziellen Weise behandelt. Immer wenn der Emulator einen Zählercode mit einem hochrangigen Bit von "EINS" während der
Verarbeitung eines Datenübertragungs-Eingang-ZAusgang-Befehls feststellt, erzeugt er eine bestimmte Nachricht, die auf das
Emulationsunterstützungspaket hinweist.
509883/0621
Das "EXT"-Bit weist den Wert O auf, was bedeutet, daß die erweiterte
Eingang-/Ausgang-Einrichtung nicht benutzt wird und die abgerufene Eingangsstelle zur Verarbeitung des Befehls
herangezogen wird. Wenn dieses Bit den Binärwert EINS einnimmt, so zeigt es an, daß es erforderlich sein kann, einen "effektiven"
RWC-Code zu benutzen anstelle des bestimmten RWC-Codes,der von dem Zustand eines erweiterten Eingang-ZAusgang-Zielsystem-Hinweises
abhängt. Wenn der Hinweis in Form einer binären EINS vorliegt, so wird die Information in der vorliegenden Eingangsstelle
herangezogen. Weist der Hinweis den Binärwert NULL auf, so wird die Information in einer abgewandelten Eingangsstelle abgerufen
und benutzt. Für jene Zielsysteme, welche diese Fähigkeit nicht aufweisen, wird dieses Bit immer auf den Binärwert
NULL eingestellt. Die durch dieses Merkmal gegebene Möglichkeit ist in näheren Einzelheiten in dem weiter vorne erwähnten Programmierungshandbuch
erläutert.
Der dem RWC-Code zugeordnete Sektor ist der Sektor 2, der durch die Bits 13 bis 15 des Sektorfeldes gekennzeichnet ist. Im Falle
des Vorliegens von Eingang-/Ausgang-Befehlen, welche keine Datenübertragung
erfordern und welche nur ein Cl Steuerzeichen aufweisen, werden die Bits 13 bis 15 des Sektorcodes benutzt, um
eine korrekte Zeitlücken-Zustands-Eingangsstelle abzurufen. In diesen Fällen beinhaltet ein Test eines Lese-/Schreib-Kanales
einen Test der Sektor-Zeitlücken. Der Grund hierfür liegt darin, daß eine feste Beziehung zwischen dem Sektor, einer Zeitlücke
und dem ausgewählten RWC in dem Zielsystem besteht. Im Falle eines Befehles, v/elcher eine Datenübertragung erfordert, werden
jedoch die Bits des Sektorcodes nicht benutzt.
Das 16 Bit-RWC-Belegt-Maskenfeld wird herangezogen, um anzuzeigen,
welche Lese-/Schreib-Kanäle belegt oder getestet werden sollen. Wie aus Figur 5a ersichtlich, kann ein Zielsystem maximal
16 Lese-/Schreib-Kanäle auf v/eisen, die in der dargestellten
509883/0621
Weise ausgebildet sind. Der Buchstabe "A" kennzeichnet einen Hilfskanal im Unterschied zu einem Hauptkanal. In manchen Zielsystemen
besteht eine feste Beziehung zwischen den Lese-/ Schreib-Kanälen und den Zeitlücken. Um eine höhere Übertragungsrate zu erzielen, welche mehr als eine Zeitlücke erfordert,
können Lese-/Schreib-Kanäle miteinander verbunden werden, was
bedeutet, daß mehr als ein Kanal und somit mehr als ein Zähler für die Ausführung des Befehls erforderlich ist. Im gegebenen
Beispiel, wo zwei Zeitlücken für die Übertragungsrate von 167 Zeichen pro Sekunde erforderlich sind, werden zwei Lese-/
Schreib-Kanäle herangezogen. Das RWC-Belegt-Maskenfeld ist demnach
so codiert, daß es die Lese-/Schreib-Kanäle 5 und 5a benutzt.
Ein weiterer in der Figur Ie vorhandener Tabellentyp ist die
Sektortabelle, wobei jeweils eine Sektortabelle für jedes zu emulierende Zielsystem vorhanden ist. Die Sektortabelle beansprucht für eine Adresse 32 Bytes, welche auf das letzte der
der RWOTabelle zugehörige Byte folgen. Die Sektortabelle-Eingangsstellen
sind in der in Figur 5b dargestellten Art codiert. Wie aus Figur 5b ersichtlich, weist die Sektortabelle-Eingangsstelle
ein Zeitlücken-Zustandsfeld (Bits 0 bis 5) auf, das durch seine Codierung anzeigt, welche Zeitlücken des Sektors
gerade in Benutzung sind. Ein 7 Bit-Feld (Bits 6 bis 12) ist für die Benutzung durch die Emulator-Software (ESP) reserviert.
Die Sektortabelle-Eingangsstelle weist ferner ein 3 Bit-Zustandsfeld
(Bits 13 bis 15) auf, wobei Bit 13 im Falle einer binären EINS anzeigt, daß der Sektor für das spezielle Zielsystem
nicht existent ist. Die Bits 14 und 15 des Zustandsfeldes sind für einen zukünftigen Gebrauch reserviert. Das
letzte Feld (Bits 16 bis 31) der Sektor-Eingangsstelle ist ein 16 Bit-Verschiebefeld, welches den Basisspeicherplatz der peripheren
Steuereinheit (PCU)-Tabelle für den Sektor, bezogen auf
509883/0621
■ - 23 -
den durch den Inhalt des Basisregisters 4 gekennzeichneten Speicherplatz bestimmt.
Eine einzelne Eingangsstelle in der Sektor-Tabelle wird eindeutig bestimmt durch Addieren eines Wertes von 256,Q plus eines
Wertes des vierfachen des Sektorcodes zu dem Inhalt des Basis-Adressregisters 4, wobei der Sektorcode einem 3 Bit-Feld entspricht,
welches wie folgt gebildet wird: a) wenn das erste veränderliche Zeichen Cl das einzige veränderliche Zeichen in
dem vorliegenden Befehl ist/ so wird der Sektorcode der RWC-Eingangsstelle,
welche durch das Zeichen Cl beziffert ist, entnommen (lediglich Eingang-ZAusgang-Steuerbefehle-PCB); b) wenn
die veränderlichen Zeichen Cl und C2 in dem Befehl vorliegen, wird der Sektorcode durch Übernahme der hochrangigen 3 Bits des
veränderlichen Zeichens C2 gebildet und die hochrangigen Bits werden auf den Binärwert NULL eingestellt; c) wenn der Befehl,
ein veränderliches Zeichen Cl und ein Steuerzeichen zur Codeveränderung mit oder ohne das veränderliche Zeichen C2 enthält,
wird der Sektorcode durch Übernahme der 3 niedrigrangigen Bits des Steuerzeichens gebildet. Dieser Vorgang wird in näheren Einzelheiten
anhand der Figur 6 erläutert.
Die periphere Steuereinheit (PCU) bildet einen dritten in Figur Ie dargestellten Tabellentyp. Für jeden Sektor in dem zu emulierenden
Zielsystem ist nur eine PCU-Tabelle vorhanden. Ebenfalls ist nur eine Eingangsstelle in der Tabelle für jede mögliche PCU-Adresse
vorhanden, welche durch das Programm des Zielsystems bezeichnet wird. Es ergeben sich somit 16 Eingangsstellen in der
Tabelle, wobei jede 4 Bytes aufweist.
Das Format der PCU-Tabelle ist in Figur 5c dargestellt. Wie aus Figur 5c ersichtlich, weist die Eingangsstelle Informationen betreffend
den Typ der PCU, das Vorhandensein der PCU und ihres
509883/0621
Belegt/Unterbrechungs-Zustandes auf. Insbesondere zeigt eine
Codierung von Nullstellen an, daß eine periphere Steuereinheit
für diesen PCU-Adressencode nicht existent ist. Wenn die ersten 4 Bits in der Form 0001 codiert sind, so zeigt dieser Wert an,
daß eine Zielsystem-Drucker-Steuereinheit emuliert wird. Sind
diese Bits in der Form 0010 codiert, so wird hierdurch angezeigt, daß ein Zielsystem-Taktgeber emuliert wird. Eine Codierung von
Olli zeigt die Emulation einer Zielsystem-Magnetband-Steuereinheit an und Codierungen von 1000 bis 1111 verweisen darauf, daß die zu emulierende periphere Steuereinheit als eine besondere
Einheit zu behandeln ist. Immer wenn ein Code betreffend eine
besondere Einheit festgestellt wird, überträgt der Emulator sofort den Befehl zu dem Emulator-Unterstützungspaket zwecks weiterer Verarbeitung.
Codierung von Nullstellen an, daß eine periphere Steuereinheit
für diesen PCU-Adressencode nicht existent ist. Wenn die ersten 4 Bits in der Form 0001 codiert sind, so zeigt dieser Wert an,
daß eine Zielsystem-Drucker-Steuereinheit emuliert wird. Sind
diese Bits in der Form 0010 codiert, so wird hierdurch angezeigt, daß ein Zielsystem-Taktgeber emuliert wird. Eine Codierung von
Olli zeigt die Emulation einer Zielsystem-Magnetband-Steuereinheit an und Codierungen von 1000 bis 1111 verweisen darauf, daß die zu emulierende periphere Steuereinheit als eine besondere
Einheit zu behandeln ist. Immer wenn ein Code betreffend eine
besondere Einheit festgestellt wird, überträgt der Emulator sofort den Befehl zu dem Emulator-Unterstützungspaket zwecks weiterer Verarbeitung.
Wenn das Bit 4 den Binärwert EINS annimmt, so wird hierdurch angezeigt,
daß die periphere Steuereinheit zeitweilig nicht verfügbar oder adressierbar ist. Wenn dieses Bit den Binärwert EINS
annimmt, so wird das PCU-Beleg-Bit (CB), welches dem Bit 7 entspricht,
ebenfalls auf den Binärwert EINS gesetzt. Das Bit 5 ist ein "kein-Zustands-Bit", welches im Fall der Annahme des Binärwertes EINS darauf hinweist, daß kein Zustand in den Bits 4 und
7 bis 15 dieser Eingangsstelle vorliegt und daß die Bits 10 bis 15 einen veränderlichen C2-Code enthalten, welcher auf die PCU-Tabellen-Eingangsstelle
verweist, in welcher die gewünschte Information abgelegt ist. In diesem Zustand sind die Bits 4 und 7
bis 11 für die Software reserviert.
Wenn das Bit 5 den Binärwert NULL einnimmt, so bestimmen die Bits 4 und 7 bis 15 den Zustand. In diesem Fall sind der Verschiebewert
des Geräte-Tabellenfeldes und des PCU-Typen-Feldes gültig
und das Bit 6 wird auf den Binärwert EINS gesetzt. Wenn das Bit 7 den Binärwert EINS einnimmt, so zeigt es an, daß die zu emulierende Zielsystem-PCU belegt ist. Die Bits 8 und 9 sind für den
Gebrauch der Software reserviert, während die Bits 10 bis 15 eine veränderbare PCU oder einen Unterbrechungszustand in Abhängigkeit
und das Bit 6 wird auf den Binärwert EINS gesetzt. Wenn das Bit 7 den Binärwert EINS einnimmt, so zeigt es an, daß die zu emulierende Zielsystem-PCU belegt ist. Die Bits 8 und 9 sind für den
Gebrauch der Software reserviert, während die Bits 10 bis 15 eine veränderbare PCU oder einen Unterbrechungszustand in Abhängigkeit
509883/0621
von dem Zustand des Bits 5 kennzeichnen. Wenn das NS Bit 5 den Binärwert EINS auf v/eist, so enthält dieses Feld einen versetzten
C2-Code für den durch den Befehl gekennzeichneten Sektor. Dieser versetzte C2-Code wird in der gleichen Weise wie der C2-Code
desjenigen Befehls verarbeitet, welcher benutzt wird, um
die Adresse derjenigen Tabellen-Eingangsstelle zu erhalten, welche eine bestimmte Zustandsinformation aufweist. Der Zweck
dieser Anordnung besteht darin, periphere Zielsystem-Steuereinheiten zu emulieren, die mehr als eine PCU-Adresse benutzen, da
sie mehr als ein zugeordnetes Gerät aufweisen, aber zur gleichen Zeit nur eine Eingang-/Ausgang-Operation ausführen können. Es
ergeben sich somit zwei Eingangsstellen in der PCU-Tabelle, die durch einen einzigen PCU-Code adressiert werden und über ein gemeinsames
Belegt-Zustands-Bit die den beiden Eingangsstellen zugeordneten Operationen verblocken.
Weist das Bit 5 den Binärwert NULL auf, so enthält das Feld einen ünterbrechungszustand,der wie folgt definiert ist: die
Bits 10 und 11 sind für den Gebrauch durch die Software reserviert;
das Bit 12 ist ein Steuereinheit-Unterbrechungs-Bit, welches für den Fall, daß es gesetzt ist, anzeigt, daß die
Steuereinheit-ünterbrechungsfunktion für die fragliche Zielsystem-PCU
wirksam ist; das Bit 13 ist ein Steuereinheit-Freigabe-Bit, welches für den Fall, daß es den Binärwert EINS einnimmt,
anzeigt, daß die PCU-Unterbrechungs-Freigabefunktion für das PCU-Zielsystem eingeschaltet ist; das Bit 14 ist ein Geräte-Unterbrechungs-Bit,
welches im Fall einer binären EINS anzeigt, daß die Geräte-Unterbrechungsfunktion für das PCU-Zielsystem
eingeschaltet ist; das Bit 15 ist ein Geräte-Unterbrechungs-Freigabe-Bit,
welches im Falle einer binären EINS anzeigt, daß die Geräte-Unterbrechungs-Freigabefunktion in der emulierten
Steuereinheit eingeschaltet ist und die Bits 16 bis 31 sind Verschiebe-Bits, welche den Basisspeicherplatz der Gerätetabeile
der PCU bezogen auf den durch den Inhalt des Basis-Adressregisters
4 gekennzeichneten Speicherplatz bestimmen.
509883/0621
Da die Beendigungstabelle, die PCU-Erweiterungstabelle, die
Gerätetabellen und die Geräte-Erweiterungstabellen nicht erforderlich sind zur Erklärung der Wirkungsweise der vorliegenden
Erfindung, sollen sie hier nicht diskutiert werden.
Wie aus Figur Ib ersichtlich/ nimmt das Segment A, welches ein
Abbild des Zielsystem-SteuerSpeichers enthält, die ersten 64
Worte des Segmentes in Anspruch, auf die durch den Inhalt des Basis-Verschieberegisters 3 (BR3) des PCE hingewiesen wird. Das
Segment A schließt eine Anzahl von Speicherplätzen ein, die nicht dargestellt sind und die bei der Behandlung der durch das
Zielsystem ausgeführten Funktionen benutzt werden. Der microprogrammierte Teil der CPU-Hardware, der als Kompatibilitätsschaltkreis
(CF) aufgefasst werden kann, führt hierbei die meisten Zielsystem-Befehle direkt aus. Dieser Teil des Systems
wird normalerweise auf Grund eines Startbefehles in Betrieb gesetzt, wobei ein Dekor-Erweiterungs-Ausführungsbefehl (EXDE)
das System in die die Kompatibilität ermöglichende Betriebsweise umschaltet.
Die Emulator-Softv/are ESP bewirkt die Übersetzung und Ausführung
der Eingang-/Ausgang-Befehle. Die ESP kann in dem System gemäß Figur 1 als eine "Prozess"-Gruppe betrachtet werden. Wie
bereits erwähnt, ruft die ESP die Kompatibilitätsschaltkreise
durch Benutzung eines Startbefehls oder eines Dekor-Erweiterungsbefehles auf. Wird der Startbefehl benutzt, so wird der von dem
Kompatibilitätsschaltkreis gesteuerte Prozess von dem ihn auslösenden ESP-Prozess getrennt. Im Fall eines Dekor-Erveiterungsbefehles
stimmt der Zielsystemprozess mit dem ihn auslösenden ESP-Prozess überein, wobei jedoch die CPU im Zielsystem-Betrieb
arbeitet. Vor der Ausführung des Dekor-Erweiterungsbefehls bewirkt
daher die ESP die Umschaltung ihrer Register auf den Inhalt und das Format, wie es durch die Codierung des PCB gemäß
Figur Ic dargestellt ist.
509883/0621
Die Konipatibilitätsschaltkreise veranlassen die ESP zur Ausführung
einiger der Eingang-VAusgang-Operationen, wie sie von dem
Zielsystemprozess gefordert werden. Die als Ergebnis eines ausgeführten Zielsystem-Kanalprogrammes gespeicherten Ereignisse
v/erden an die ESP-Ereignis-Behandlungseinrichtung weitergegeben.
Diese Behandlungseinrichtung ergänzt die Eingang-/Ausgang-Tabellen
und bestimmte Steuerworte, welche ein Unterbrechungs-Anforderungswort
und ein Unterbrechungs-Zählwort des Segmentes A gemäß Figur Ib umfassen. Wenn die Kompatibilitätsschaltkreise
eine Behandlung durch die ESP erfordern, so werden diese in die Lage versetzt, den Zustand des Zielsystems in den allgemeinen
Registern zu speichern und die geeigneten Parameter zu erzeugen, welche eine Bedienungs-Klassennummer (SCN) umfassen. Wenn die
Kompatibilitäts-Betriebsweise des Wirtssystems ausgeschaltet wird, so ruft dieses ein Unterbrechungs-Zählwort (ICW) ab, welches
sogenannte Wirts-Befehle benutzt.
Allgemeines Unterbrechungsregister und Steuerworte
Die Figuren Ic und Id zeigen in näheren Einzelheiten die Codierung
bestimmter Steuerworte, welche in dem Hauptspeicher gespeichert sind und von denen einige einen Teil des PCB bilden.
Die verschiedenen dargestellten Worte v/erden für die Behandlung der Unterbrechungsoperationen des Zielsystems herangezogen. Das
erste Wort ist dem allgemeinen Register 0 (GRO) zugeordnet, welches
gemäß Figur Ic verschiedene Bytes aufweist. Das letzte, und
vierte Byte ist als INC-Byte bezeichnet und in Figur Id näher
dargestellt und dient der Abgrenzung der Sektoren mit den Unterbrechungs-Masken-Bits.
Innerhalb des INC-Bytes ist jeweils ein
solches Bit für jeden Sektor vorgesehen. Die Masken-Bits sind so codiert, daß sie den Zustand der Zielsystem-Hinweise repräsentieren.
Durch diese Bits wird festgelegt, ob ein Sektor in der Lage ist, periphere Unterbrechungs-Bits (PI-Bit) zu erzeugen,
wodurch angezeigt wird, daß eine Unterbrechung in einem der Sektoren des Zielsystems vorliegt.
509883/0621
2517278
Das nächste Wort ist dem allgemeinen Register 4 (GR4) zugeordnet, welches ein INEI-Byte enthält, das in Figur Id in näheren
eine Einzelheiten dargestellt ist und eineVexterne Unterbrechung (EI)
markierendes Bit sowie eine eine interne Unterbrechung (II) markierendes Bit enthält. In dem Zielsystem,wie es in dem zuvor erwähnten
Programmierhandbuch näher beschrieben ist, werden durch ein externes Unterbrechungssignal Zielsystemhinweise erzeugt,
um die Quelle und die Art der Unterbrechung anzuzeigen.
Ein internes Unterbrechungssignal wird in dem Zielsystem durch eine Speicherschutz-Übertretung erzeugt. Durch dieses Signal
werden wiederum Zielsystem-Hinweise gesetzt, um die Ursache und die Art der Unterbrechung anzuzeigen. Der Zielsystem-Prozessor
arbeitet normalerweise in einer externen und einer internen Unterbrechungs-Betriebsweise, um auf diese Unterbrechungssignale
ansprechen zu können.
Das allgemeine Register 9 umfasst ebenfalls verschiedene Bits, die dem Unterbrechungsverfahren zugeordnet sind. Das erste Bit
ist mit "SP" bezeichnet und wird durch den Kompatibilitätsschaltkreis gesetzt, wodurch verschiedene Hinweise gesetzt werden
in Abhängigkeit von einem der Unterbrechungs-Steuerbefehle des Zielsystems, die als Rückspeicherveränderliche und Hinweis-Befehle
(RVI) ausgelegt sind. Normalerweise weist dieses Bit den Binärwert EINS auf. Die nächsten Bits, von denen nur zwei dargestellt
sind, sind Freigabe-Masken-Bits, die mit EMI und EM2 bezeichnet sind. Diese Eits werden durch die Kompatibilitätsschaltkreise herangezogen, um die Sektor-Unterbrechungs-Maskenhinweise
in Abhängigkeit von den RVI-Zielsystem-Befehlen zu
setzen. Im Fall der vorliegenden Erfindung kann angenommen werden, daß diese Bits den Binärwert EINS aufweisen.
Bei der Ausführung von Operationen betreffend die Unterbrechungsverarbeitung, stehen die Kompatibilitätsschaltkreise mit der ESP
über verschiedene Steuerworte der Information in Nachrichtenaustausch, wobei das Unterbrechungs-Zählwort und das Unterbrechungs-
509883/0621
251727S
Anforderungswort, welche beide in dem Segment A gemäß Figur Ib
enthalten sind, zur Anwendung gelangen. Wie aus Figur Ie ersichtlich,
enthält jedes der Unterbrechungs-Zählworte (ICViI und
2) auf die Bytegröße abgestimmte Zähler, welche die Anzahl der Unterbrechungen auf der Sektorschiene des Zielsystemes anzeigen.
Die ESP des Ereignis-Behandlungsprozesses wirkt in der vorstehend erwähnten Weise auf die Erhöhung des Unterbrechungs-Zählstandes
ein. Der Unterbrechungs-Zählstand wird durch die Kompatibilitätsschaltkreise oder die ESP in der erwähnten, Weise
vermindert. Das ünterbrechungs-Anforderungswort (IRW) wird benutzt,
um Unterbrechungsanforderungen zu retten und eine Einrichtung zu aktivieren, durch welche die Kompatibilitätsschaltkreise
Änderungen in dem Zustand der Unterbrechungsanforderung der ESP mitteilen. Der Zustand des Unterbrechungs-Anforderungswortes
wird durch die Kompatibilitätsschaltkreise immer dann geprüft, wenn ein EXDE-Befehl ausgeführt wird, wodurch das System
in die Kompatibilitäts-Betriebsweise umgeschaltet wird. Wie aus Figur Id ersichtlich, sind verschiedene Bits speziell
der Unterbrechungsbearbeitung zugeordnet. Ein mit "IAC" bezeichnetes Bit stellt ein Unterbrechungs-Betätigungs-Bit dar,
welches für den Fall, daß es den Binärwert NULL einnimmt, die Kompatibilitätsschaltkreise zeitweilig in die Lage versetzt,
auf Unterbrechungen und Ereignisse nicht zu reagieren. Dieses Bit nimmt normalerweise den Binärwert EINS ein. In dem INE-Byte
sind verschiedene Bits vorgesehen, welche den Anforderungs-Bits der externen Unterbrechungs-Betriebsweise der Zielsystem-C_uellenhinweise
entsprechen. Diese umfassen ein Bit AVEI, ein Bit MC, ein Bit OPI und ein Bit PI, welche für den Fall, daß sie den
Binärwert EINS einnehmen, das Erscheinen einer Adressenverschiebung,
eines Überwachungs-Anforderungsbefehls, eine Bedienungsfeld-Unterbrechung
und eine periphere Unterbrechung signalisieren. Das Byte INI enthält Betriebsweise-Bits einer internen Unterbrechung
der Zielsystem-Hinweise, von denen nur zwei dargestellt sind. Ein Bit AV und OCV signalisieren für den Fall, daß
sie den Binärwert EINS einnehmen, das Erscheinen einer Adressenverschiebung und eine Operationscodeverschiebung.
509883/0621
Bezug nehmend auf die Figuren 1, la bis Ie, 2, 2d, 5a bis 5c
und 6 wird die Wirkungsweise des Systems gemäß der vorliegenden Erfindung in Verbindung mit den Flußdiagrammen gemäß den Figuren
3a bis 3e und 4a bis 4b beschrieben. Die Wirkungsweise wird anhand eines Beispieles beschrieben, bei welchem das Wirtssystem Unterbrechungen des Zielsystems in Übereinstimmung mit
der vorliegenden Erfindung verarbeitet. Hierbei sind verschiedene spezifische Zeitpunkte gegeben, in denen die CPU in der
Kompatibilitäts-Betriebsweise arbeitet und den Zustand der Unterbrechungs-Zählregister jeder Sektorschiene prüft, um zu
bestimmen, ob es erforderlich ist, eine Unterbrechungsverarbeitung durchzuführen oder nicht. Dies tritt nach einer Prozess-Ladeoperation
auf, wenn die CPU bereit ist,unter Steuerung durch die Kompatibilitätsschaltkreise zu arbeiten und während der
Verarbeitung gewisser Unterbrechungs-Verarbeitungsbefehle des Zielsystems, wobei diese Befehle einen Setz-Veränderungshinweis
(SVI)-Befehl und einen Normalbetriebsweise-Wiederaufnahme (RNM)-Befehl
umfassen. Hinsichtlich weiterer Informationen betreffend diese Zielsystem-Befehle sei auf das zuvor erwähnte Programmierungshandbuch
verwiesen.
Die beiden in dem Steuerspeichersegment (Segment A) gespeicherten
Unterbrechungs-Zählworte (ICWl und ICW2) werden durch die
ESP bei der Beendigung der peripheren Eingang-/Ausgang-Befehle
ergänzt, sofern Unterbrechungs-Freigabehinweise in den Eingang-/ Ausgang-Tabellen auf den Binärwert EINS gesetzt sind, wodurch
bestimmte periphere Geräte in die Lage versetzt werden, Unterbrechungen zu erzeugen. Im Fall der vorliegenden Erfindung nehmen
diese Hinweise den erwähnten Wert ein, um die Verarbeitung der Unterbrechung durch die CPU zu gestatten.
Figur 3a stellt die Prozess-Laderoutine dar. Die nicht dargestellten
anfänglichen Microbefehle verursachen bei ihrer Ausführung das Laden des Inhalts des allgemeinen Registers des PCB in
609883/0621
2517278
entsprechende Speicherplätze des LSM zur unmittelbaren Eezugnahme.
Eine andere Gruppe von nicht dargestellten Microbefehlen laden die geeigneten Werte in das Basisregister des URF zwecks
Adressierung der verschiedenen Teile des Hauptspeichers, des SteuerSpeichers und der Eingang-/Ausgang-Tabellen während der
Ausführung eines Zielsystem-Programmes. Es sind ferner weitere
Microbefehle vorgesehen zur Abrufung des korrekten Basisregisterinhalts
entweder von dem Zuordner oder von dem Hauptspeicher, wenn die Information in dem Zuordner nicht vorhanden ist.
Wenn die Prozessladeoperation durchgeführt ist, v/erden weitere Microbefehle 125 bis 130 ausgeführt, durch welche die Bytes,
welche die CFCW-Hinweisinformation in der gemäß Figur Id codierten
Weise enthalten, Byte für Byte über den SDS-Selektorschaltkreis
des Eyte-Addierers geladen werden. Insbesondere wird die Information zuerst in dem AD-Register des Wortaddierers abgelegt
und der SDS-Selektorschaltkreis wird in die Lage versetzt, das
geeignete Byte auszuwählen, welches sodann üblicherweise in das AB-Register geladen wird. Trotz der Ladung des Bytes in das AB-Register
werden jedoch die Signale des SDS-Selektroschaltkreises
direkt in die Hinweis-Speicherschaltkreise geladen.
Die ausgewählten Hinweisschaltkreise werden in Übereinstimmung
mit der Byte-Information und in Abhängigkeit von dem Unterbefehl-Signal
EI8ClO gesetzt, wobei das Unterbefehl-Signal durch die ausgeführten Microbefehle erzeugt wird. Die Gruppe der gesetzten
Hinweise werden durch den Inhalt des SD-Hinweisregisters bestimmt, welches das Byte und die besonderen zu setzenden Speicher-Flip-Flops
auswählt. Wie in Figur 3a angedeutet, veranlassen die Microbefehle 131 bis 138 bei ihrer Ausführung die Speicherung anderer
Hinweis-Bytes in den zugeordneten Flip-Flops in Abhängigkeit von
dem Unterbefehl-Signal EI6C3O.
Es ist weiterhin ersichtlich, daß die Microbefehle 137 bis 139 das Abrufen der beiden Unterbrechungs-Sählworte aus dem Steuerspeichersegment
A des Hauptspeichers veranlassen. Insbesondere
509883/0621
veranlasst der Microbefehl 137 bei seiner Ausführung die Abrufung des ersten Unterbrechungs-Zählwortes (ICW2) und die
Speicherung desselben in dem Zwischenspeicherplatz W3d des LSM. Zur gleichen Zeit wird das Unterbrechungs-Zählwort in dem AF-Register
des Wortaddierers abgelegt. Während der Ausführung des Microbefehls 138 wird ein ADU-Betriebsweise-Flip-Flop auf den
Binärwert EINS geschaltet, wodurch die ACU in die Lage versetzt wird, eine Zielsystem-Betriebsweiseadressierung anstelle einer
Eigenbetriebsweise-Adressierung zu erzeugen. Die Zielsystem-Adressierung spricht in der dargestellten Weise auf Zeichen an
und ist in dem zuvor erwähnten Programmierungshandbuch ebenfalls beschrieben.
Die darauffolgende Ausführung des Microbefehls 139 veranlasst die Abrufung des zweiten Unterbrechungs-Zählwortes (ICWl) und
die Speicherung desselben in dem Arbeitsspeicherplatz 3c des LSM. Zur gleichen Zeit wird das Zählwort in dem AE-Register des
Wortaddierers abgelegt. Der Microbefehl 140 erzeugt bei seiner Ausführung ein Ünterbefehl-Signal EISEFO, welches die mit dem
AE- und AF-Register des Wortaddierers verbundenen Unterbrechungs-Logikschaltkreise
abtastet. Diese Logikschaltkreise weisen herkömmliche Decodierschaltkreise auf, welche auf einer Byte-Basis
den Inhalt des AE- und AF-Registers überprüfen, wenn die ünterbrechungs-Zählstände
hinsichtlich der verschiedenen Sektorschienen ebenfalls auf einer Byte-Basis gesetzt sind. Wenn irgendeines
der Bytes einen Wert von Null verschieden aufweist, veranlasst das Signal EISEFO das Schalten entsprechender Sektor- Unterbrechungs-Flip-Flops
in den binären EINS-Zustand, wodurch angezeigt wird, daß eine Unterbrechung auf jenen Sektorschienen ansteht.
Die Ausgänge der Sektor-Unterbrechungs-Flip-Flops werden über ein ODER-Gatter zusammengefasst, welches seinerseits ein
peripheres Unterbrechungssignal (PI-Signal) erzeugt, welches über einen Gatter- und Verstärkerschaltkreis als einer der Testeingänge
den Verzweigungs-Logikschaltkreisen des Steuerspeichers gemäß Figur 2a zugeführt wird.
509883/0621
Es sei vorausgesetzt, daß die vorstehend genannten Operationen, welche die Erzeugung des PI-Signales veranlassen, ebenfalls
durch Microbefehle ausgeführt werden können, welche bei ihrer Ausführung die Unterbrechungs-Zählworte prüfen und in Abhängigkeit
von deren Werten ein einziges Flip-Flop innerhalb des Kompatibilitätsschaltkreises setzen. Die Zustände der verschiedenen
Hinweise ergeben Bedingungen, welche die Kompatibilitätsschaltkreise zur Ausführung von Operationen veranlassen, die den
in dem Zielsystem erforderlichen Operationen entsprechen, so z. B. die Aufrechterhaltung eines externen Unterbrechungszustandes
anstelle der Herausziehung des nächsten Befehles innerhalb des Programms. Wenn das Kompatibilitätsmerkmal anstelle der
Vorabruf-Routine tritt, bewirkt es eine nicht programmierte Verzweigungsoperation,
bei welchem es eine Microbefehl-Verzweigung ausführt, die einen Verzweigungstest auf 64 Wegen veranlasst.
Dies führt zu dem Hinweis auf eine spezifische Microprogramm-Routine in dem Steuerspeicher, wobei diese auf dem Zustand der
Hinweise basiert.
Die Ausführung der Microbefehle 141 bis 146 veranlasst den Inhalt des B-Zählers, des Α-Zählers und des Folge-Zählers zur Umladung
in entsprechende Speicherplätze (UW4, UW6 und UWl) des URF. Die Ausführungen des Microbefehls 147 veranlasst die überprüfung
des zuvor geladenen aktiven Verschiebe-Flip-Flops. Wenn
dieses Flip-Flop auf den Binärwert EINS gesetzt ist, wodurch angezeigt wird, daß die Verschiebung v/irksam ist, so werden die
Inhalte des Basis-Verschieberegisters (BRR) in dem URF abgespeichert, wodurch ein Bezug auf die effektive BRR-Adresse hergestellt
wird. Die Ausführung des Microbefehls 248 veranlasst die BRR- und IBR-Werte in dem AC-Register zur Umspeicherung in den
Speicherplatz BRO des URF. Wenn das aktive Verschiebe-Flip-Flop
auf den Binärwert NULL gesetzt wird, so wird der Microbefehl ausgeführt und veranlasst die Einspeicherung von Nullstellen in
den Speicher BRO des URF. Der Microbefehl 150 veranlasst bei seiner Ausführung die Umspeicherung des Wertes in dem IBR in den
Speicher BRO des URF und die Umschaltung der nicht dargestellten
509883/0621
Flip-Flops ADT und ACT des Wortaddierers auf den Binärwert EINS, welche als Eingangsquellen des Wortaddierers durch Auswahl der
AD- und AC-Register dienen und die Eefehl-Abrufoperation vorbereiten.
Bei Beendigung der Prozess-Laderoutine und unter der Annahme, daß wenigstens ein Unterbrechungs-Zählwort der Sektorschiene
einen Zähler von eins enthält, werden die Kompatibilitätsschaltkreise wirksam und erzeugen das PI-Signal. Diesem Vorgang folgt
eine nicht programmierte Verzweigungsoperation, bei welcher die Kompatibilitätsschaltkreise veranlasst werden, eine Verzweigung
zu einer Eingangsstelle innerhalb des Steuerspeichers vorzunehmen,
zwecks Verarbeitung einer externen unterbrechung. Dies hat die Ausführung von Microbefehlen zur Folge, die ein Auswechseln
des Inhalts des Folgezählers mit dem Inhalt des externen Unterbrechungsregisters bewirken und das Herausholen desjenigen
Befehles einleiten, dessen Adresse in dem externen Unterbrechungsregister gespeichert war. Bevor dieser Befehl herausgeholt
wird, setzen die Kompatibilitätsschaltkreise den externen Unterbrechungshinweis auf den Binärwert EINS. Die Unterbrechungs-Verarbeitung
gehört zu Prozess-Unterbrechungen, die auf der gleichen Sektorschiene wie das unterbrochene Programm auftreten.
Wenn dies nicht der Fall ist, veranlasst die Unterbrechungs-Verarbeitungsfolge über die Ausführung von Unterbrechungs-Steuerbefehlen
(z.B. SVI und RVI) die Speicherung der zugehörigen Sektor-Bits. Wie zuvor bereits erwähnt, ist jeder Sektorschiene ein
Masken-Bit zugeordnet. Wenn in dem Zielsystem das Masken-Bit den Binärwert NULL einnimmt, so v/erden Unterbrechungen verarbeitet,
die von an diese Sektorschiene angeschlossenen Quellen herstammen.
Nimmt das Masken-Bit den Binärwert EINS ein, so werden die Unterbrechungen solange gespeichert, bis das Masken-Bit eine
Veränderung erfährt, oder die Unterbrechungsfunktion zurückgestellt wird. Unterbrechungen, die von dem Bedienungssteuerfeld
und der Überwachungseinrichtung herrühren, werden in dem Zielsystem
niemals maskiert. Ebenso veranlasst die Betätigung eines Auslöseknopfes auf dem Steuerfeld die Zurückstellung aller Masken-Bits
auf den Binärwert NULL. Die Ausführung eines SVI-Eefehls
§09883/0621
veranlasst die Speicherung der Masken-Bits,während die Ausführung
eines RVI-Befehls das Setzen oder Rückspeichern der Masken-Bits
in einer nochweiter zu erläuternden V/eise veranlasst.
In dem Zielsystem steht das von einer PCU erzeugte Unterbrechungssignal
solang an, bis ein peripherer Datenübertragungs-Befehl (PDT-Befehl) der PCU angezeigt wird, ein peripherer
Steuer- und Verzweigungs-Befehl (PCB-Befehl), welcher die Unterbrechungsfunktion
der PCU abschaltet, angezeigt wird oder die CPU zu arbeiten beginnt. Somit beginnen die Kompatibilitätsschaltkreise unter Steuerung des Zielsystems-Programraes mit der
Unterbrechungs-Verarbeitung durch Ausführung eines SVI-Befehles.
Zu diesem Zeitpunkt werden die Zustände der verschiedenen Hinweis-Speicher-Flip-Flops
in einem geeigneten Bereich des Hauptspeichers gespeichert, wobei die verschiedenen Hinweis-Speicher-Flip-Flops
der fortlaufenden Rückkehr zu dem unterbrochenen Programm sowie zur Informationsgabe zwecks Kennzeichnung der Unterbrechungsquelle
dienen. Sodann erzeugen die Kompatibilitätsschaltkreise unter Steuerung des Zielsystem-Programmes einen
PCB-Befehl für die PCU zwecks Abschaltung der Unterbrechungsfunktion oder sie verusachen einen PDT-Befehl für die PCU, falls
ein solcher für die PCU vorliegt.
Figur 3b zeigt ein Flußdiagramm, in welchem die während der Verarbeitung
des PCB-Befehls durchgeführten Operationen dargestellt sind. Es sei angenommen, daß der PCB-Befehl das folgende Format
aufweist: Operationscode/Cl/C2/C3 (siehe Figur 6). Das Cl-Steuerzeichen
bestimmt normalerweise einen Leser/Schreib-Kanal, und es
weist den Binärwert NULL auf, sofern eine Test- und Verzweigungsoperation nicht angefordert wird. Das C2-Zeichen ist so codiert,
daß es die Adresse der PCU festlegt, deren Unterbrechungszustand geändert werden soll. Das C3-Zeichen ist so codiert, daß es an
der höchsten Stelle den Code von 7ß aufweist, wodurch die Änderung
des Unterbrechungszustandes in der PCU angezeigt wird. Die
nächste Zahl zeigt durch ihren Code an, wie der Unterbrechungszustand
der PCU geändert werden soll. Beispielsweise wird· der
509883/0621
JD
folgende Oktal-Code benutzt, um die folgenden Operationsarten
für die Speichereinrichtungen festzulegen:
1. Og = Abschaltung der Steuer-Freigabefunktion
2. Ig = Einschaltung der Steuer-Freigabefunktion
3. 2g = Abschaltung der Geräte-Freigabefunktion
4. 3g = Einschaltung der Geräte-Freigabefunktion
5. 4g = Abschaltung der Steuer-Unterbrechungsfunktion
6. 5g = Verzweigung zur Adresse A, falls Steuer-Unterbrechungsfunktion
eingeschaltet ist
7. 6g = Abschaltung der Geräte-Unterbrechungsfunktion
8. 7g.= Verzweigung zur Adresse A, falls Geräte-Unterbrechungsfunktion
eingeschaltet ist.
Gemäß Figur 3b holen die Kompatibilitätsschaltkreise den PCB-Befehl
heraus und speichern verschiedene Teile des Befehls in der angegebenen Weise. Wenn angenommen wird, daß der Befehl keine
Testoperation kennzeichnet, so weist der RWC-Code den Binärwert NULL auf und die Kompatibilitätsschaltkreise bewirken die
Ausführung einer Sektor-Testoperation. Für andere RWC-Codes als NULL und 77 führen die Schaltkreise eine RWC-Testoperation aus,
welche die in Figur 4a dargestellten Operationen einschließt.
Figur 4b veranschaulicht die Sektor-Testroutine, in welcher ein nächstes veränderliches Steuerzeichen (z.B. das C2-Zeichen) abgerufen
wird zwecks Bestimmung des besonderen Befehlsformates. Wenn dieses Zeichen nicht das letzte Zeichen ist, so fällt der
Wortmarken-Test negativ aus und veranlasst die Kompatibilitätsschaltkreise zu einem Test daraufhin, ob die höchste Zahl den
Viert 1 oder 5 aufweist. Ist dies nicht der Fall, so ist das Testergebnis negativ und die niedrigrangigen Bits kennzeichnen
die Sektorschiene in dem Zielsystem (z.B. die Bits 3 und 4 des C2-Zeichens gemäß Figur 6). Wie aus dem Flußdiagramm ersichtlich,
wird dieser Viert gespeichert (z.B. wird die Sektor-Codeadresse in den Speicherplatz UW2 der URF eingeschrieben). Ebenso wird
509883/0621
der PCU-Code gespeichert (z.B. C2-Bits 6, 3, 2, 1 in Figur 6).
Als nächstes wird der Sektorcode herangezogen, um die Sektortabelle
zu bestimmen, zwecks Abrufung der Sektortabellen-Eingangsstelle
für den Test des Zustandes der Sektorschiene. Da
die Sektormaskierung in allen Binärstellen den Binärwert NULL aufweist, liefert der Test den entsprechenden Wert. Bei der
Ausführung des Tests kehrt die Routine zu der Hauptroutine zurück, wodurch mit der Ausführung der Zustands-Abrufroutine bezüglich
der peripheren Steuereinheit begonnen wird und die geeignete PCÜ-Eingangsstelle abgerufen wird. Die Routine adressiert
die PCü-Tabelle unter Heranziehung des PCü-Codes,der aus
dem C2-Zeichen erhalten wird und ruft die Eingangsstelle ab.
Der PCU-ID-Code wird gespeichert und dann zur Ausführung einer N-Weg-Verzweigung benutzt, die auf dem hexadezimalen Wert des
PCü-Codes basiert und die Auswahl der geeigneten Geräteroutine ermöglicht.
Die Geräteroutine führt die aufgezeigten Operationen aus, welche zunächst das Abrufen des nächsten veränderlichen Steuerzeichens
(z.B. C3-Zeichen) umfassen. Wie aus Figur 3b ersichtlich, testen die Kompatibilitätsschaltkreise den Wert des hochrangigen
Bits und wählen auf Grund dieses Wertes die geeignete Routine aus. Wenn das hochrangige Bit einen Oktalwert von 7 aufweist,
so wird die Unterbrechung-Behandlungsroutine gemäß Figur 3c ausgeführt. Diese Routine ist in Figur 3d in näheren
Einzelheiten dargestellt.
Gemäß Figur 3c bewirkt diese Routine die Verzweigung auf eine von 8 Folgen (z.B. Microbefehl 101 gemäß Figur 3d) zwecks Ausführung
der angezeigten Statusveränderung, welche die Änderung vorbestimmter in der PCU-Eingangssteile enthaltener Bits umfasst.
Wenn das niedrigrangige Bit einen Wert von 0 bis 3 aufweist, so schalten die Kompatibilitätsschaltkreise das Steuer-Freigabe-(CA)-
und das Geräte-Freigabe (DA)-Bit in der dargestellten Weise aus und ein (z.B. Microbefehle 200 bis 302). Werte von 5 und
7 hinsichtlich des niedrigrangigen Bits verursachen Verzweigungs-
509883/0621
operationen, welche den Zustand der Steuer-Unterbrechungs- und
Geräte-Unterbrechungs-Bits testen.
Wenn die niedrigrangige Zahl einen Wert von 4g oder 6„ aufweist,
so wird dadurch angezeigt, daß der Zustand der Unterbrechungsfunktion der PCU oder des Gerätes abgeschaltet v/erden soll. Wie
aus Figur 3c ersichtlich, führt dies zu einem Test., der CI- und
DI-Bits der PCU-Eingangsstelle und diese Bits werden, falls sie
den Binärwert EINS aufweisen,auf den Binärwert NULL umgeschaltet
(Microbefehle 204 bis 600, 206 bis 532 gemäß Figur 3d) . Anschließend v/erden Microbefehle ausgeführt, welche den Sektoi—
code und die Ünterbrechungs-Zählwörter abrufen. Das geeignete
Zählwort für die Sektorschiene wird zur Modifikation ausgewählt, wobei der Wert des Sektorcodes benutzt wird (Microbefehl 609
gemäß Figur 3d) . Zunächst wird das ausgewählte Unterbrechungs-Zählwort
daraufhin überprüft, ob es den Binärwert NULL aufweist. Ist dieser Test positiv, so erzeugen die Kompatibilitätsschaltkreise
einen vorbestimmten SCN-Code (z.B. Microbefehle 816 und 916), wodurch ein Zustand angezeigt wird, welcher einen nicht
programmierten Sprung zu der Eingang-/Ausgang-Dienstruf-Routine
verursacht zwecks Vervollständigung der Verarbeitung des PCB-Befehles. Hiernach ruft die PvOUtine die verbleibenden veränderlichen
Zeichen ab, von denen hier keines angefordert wird, lädt die passenden Teile des PCB-Befehls in den LSM und signalisiert
die ESP.
Unter der Annahme, daß das Unterbrechungs-Zählwort nicht den Binärwert NULL aufweist, bev/irken die Kompatibilitätsschaltkreise
eine Erniedrigung des Unterbrechungszählstandes um eins und erzeugen das Signal EISEFO (z.B. die Microbefehle 618 und 717
gemäß Figur 3d), durch welches das Unterbrechungs-Anforderungs-Flip-Flop
für die Sektorschiene entsprechend dem Ergebnis gesetzt wird. Als nächstes kehren die Kompatibilitätsschaltkreise
zu der Hauptroutine zurück, wodurch die Abrufung des nächsten veränderlichen Zeichens ausgeführt wird. Wenn das C3-Zeichen
509883/0621
m In exner Ei:
das letzte Zeichen ist, so endet die Operation in einer Eingang-/ Ausgang-Bedienungs-Rufroutine.
Aus vorstehendem ist ersichtlich, daß die Kompatibilitätsschaltkreise
bei der Feststellung eines PCB-Eefehls wirksam werden, die Abschaltung einer zuvor wirksamen Unterbrechungsfunktion bewirken
und eine Erniedrigung des ünterbrechungszählstandes hinsichtlich der durch den Befehl gekennzeichneten Sektorschiene
bewirken.
Die ESP führt eine gleiche Operation im Falle eines PDT-Befehls
aus, nachdem der Befehl durch die Kompatibilitätsschaltkreise
verarbeitet worden ist, sofern diese der ESP angezeigt haben, daß ein solcher Befehl ausgegeben werden kann, in dem alle durch
den Befehl bestimmten Quellen für eine Zuweisung verfügbar sind. Figur 3e stellt die Operationen f wie sie von den Kompatibilitätsschaltkreisen
zur Bestimmung der Verfügbarkeit der Quellen durchgeführt v/erden,dar. Im Fall der vorliegenden Erfindung kann angenommen
v/erdenr daß alle Quellen vorhanden sind, in welchem
Fall die Kompatibilitätsschaltkreise einen SCN-Code liefern, der die Art des PDT-Befehles, z.B. den Gerätetyp anzeigt.
Mittels abgerufener herkömmlicher Befehle, die den Befehlszählerinhalt
des PCB benutzen, kann die ESP im Falle der Bereitschaft zur Ausgabe des PDT-Befehls eine Befehlsfolge ausführen, durch
welche auf die Eingang-/Ausgang-Tabellen zugegriffen wird zwecks Errichtung des korrekten Zustandes, der die Wirkungsweise des
Zielsystems simuliert. Beispielsweise kann die ESP das Belegt-Bit (CB) in der PCü-Tabellen-Eingangsstelle auswählen und die
zugeordneten Zeitlücken in den Belegtzustand umschalten. Weiterhin kann die ESP während dieser Operationen die Unterbrechungs-Bits
(CI/DI) der PCU-Eingangsstelle in den unwirksamen Zustand
schalten. Entsprechend den gerade beschriebenen Operationen bezüglich des PCB-Befehls kann die ESP zur gleichen Zeit den Sektorzählstand
um eins erniedrigen, falls sie das Unterbrechungs-Bit im eingeschalteten Zustand vorfindet.
509883/0621
Auf einen PCB- oder PDT-Befehl führen die Kompatibilitätsschaltkreise
einen RVI-Eefehl zur Rückspeicherung des Zustandes aus,
der von einem RNM-Befehl zur Rückführung des Zielsystem-Programmes
auf das unterbrochene Programm gefolgt wird. Innerhalb der Verarbeitung des RNM-Befehles prüfen die Kompatibilitätsschaltkreise
die Inhalte der Unterbrechungs-Zählworte, um festzustellen, ob die Unterbrechungsverarbeitung weitergeführt werden soll,
z.B. ob noch eine Unterbrechung ansteht. Stehen keine Unterbrechungen mehr an, so werden die Inhalte des Folgezählers und
der Unterbrechungsregxster ausgewechselt und das EI-Flip-Flop
auf den Binärwert NULL zurückgesetzt, wodurch die Kompatibilitätsschaltkreise zu der normalen Verarbeitung zurückkehren. Stehen noch Unterbrechungen an, so werden die oben erwähnten Operationen wiederholt.
auf den Binärwert NULL zurückgesetzt, wodurch die Kompatibilitätsschaltkreise zu der normalen Verarbeitung zurückkehren. Stehen noch Unterbrechungen an, so werden die oben erwähnten Operationen wiederholt.
Es sei vorausgesetzt, daß jedesmal wenn eine Eingang-/Ausgang-Operation
vollständig ausgeführt ist, die herkömmliche ESP-Unterbrechungs-Behandlung-Software
aufgerufen wird. Dadurch wird die ESP veranlasst, eine Reihe von Befehlen zwecks Zugriff auf
die Eingang-/Ausgang-Tabellen auszuführen und die geeigneten
Zustandsänderungen vorzunehmen, Beispielsweise gibt sie die zugeordneten Zeitlücken frei und schaltet zusätzlich das Belegt-Bit (CB) ab, welches in der PCU-Eingangsstelle der speziellen
PCU enthalten ist. Insbesondere schaltet die ESP das PCU-Unterbrechungs-Bit (CI oder DI) ein. Zur gleichen Zeit ruft die ESP das Zählwort für die Sektorschiene ab und erhöht den Zählstand um eins. Diese Operation simuliert die Zielsystemoperation, in welcher die PCU oder das Gerät bei der Vervollständigung einer Eingang-/Ausgang-Operation auf seine Unterbrechungs-Speicherfunktion umschaltet, wodurch ein Unterbrechungssignal auf der
gemeinsamen Unterbrechungsleitung der ihr zugeordneten Schiene erscheint.
Zustandsänderungen vorzunehmen, Beispielsweise gibt sie die zugeordneten Zeitlücken frei und schaltet zusätzlich das Belegt-Bit (CB) ab, welches in der PCU-Eingangsstelle der speziellen
PCU enthalten ist. Insbesondere schaltet die ESP das PCU-Unterbrechungs-Bit (CI oder DI) ein. Zur gleichen Zeit ruft die ESP das Zählwort für die Sektorschiene ab und erhöht den Zählstand um eins. Diese Operation simuliert die Zielsystemoperation, in welcher die PCU oder das Gerät bei der Vervollständigung einer Eingang-/Ausgang-Operation auf seine Unterbrechungs-Speicherfunktion umschaltet, wodurch ein Unterbrechungssignal auf der
gemeinsamen Unterbrechungsleitung der ihr zugeordneten Schiene erscheint.
Aus dem vorstehend geschilderten Sachverhalt wird klar, daß die Anordnung gemäß der vorliegenden Erfindung in der Lage ist, eine
509883/0621
geeignete Unterbrechungsverarbeitung eines Zielsystem-Progranur.es
in dem Fall zu erzeugen, wo die Anschaltung einer Gruppe von peripheren Steuereinheiten oder Geräten eines Zielsystemes gemeinsam
betrieben wird. Ebenso ist der Emulator gemäß der vorliegenden
Erfindung durch die Eenutzung von in einer Anzahl von Tabellen enthaltenen Informationen in der Lage, alle geforderten
Unterbrechungs-Operationen durchzuführen, indem ein minimaler
Betrag von zusätzlicher Information herangezogen wird, wobei der Verlust an Verarbeitungszeit in dem System äußerst gering
gehalten wird. Aus diesen Tatsachen resultiert insgesamt eine beträchtliche Verbesserung des Wirtssystems.
Hinsichtlich der exakten Codierungen der geeigneten Microbefehle sind in der vorstehenden Beschreibung keine näheren Angaben gemacht,
da eine solche Codierung ohne weiteres dem Fachmann an die Hand gegeben ist. Weitere Details bezüglich einer solchen
Codierung können der Veröffentlichung: "Microprogramming Principles
and Practices" von S.S. Husson, Prentice-Hall, Incorporation,
1970 entnommen werden.
509883/0621
Claims (21)
- PatentansprücheDatenverarbeitungssystem zur Durchführung von Datenverarbeitungsoperationen hinsichtlich einer Vielzahl peripherer Geräte, gekennzeichnet durcha. einen Hauptspeicher mit einer Vielzahl von Speicherplätzen,b. eine erste Gruppe dieser Speicherplätze zur Speicherung von Befehlen mindestens eines Zielsystemprogrammes, wobei. diese Befehle mindestens einen Eingangs-/Ausgangs-Befehl betreffend die Verarbeitung einer Unterbrechung einer peripheren Zielsystem-Steuereinrichtung innerhalb einer Vielzahl solcher Steuereinrichtungen enthalten und die Steuereinrichtungen die Unterbrechungssystemeinrichtungen des Zielsystemes gemeinsam benutzenpc. eine zweite Gruppe dieser Speicherplätze zur Speicherung von Unterbrechungs-Zustandshinweisen für eine weitere periphere Steuereinrichtung,d. eine dritte Gruppe dieser Speicherplätze zur Speicherung des Hinweises auf den Unterbrechungszustand des Zielsystems, wobei wenigstens einer dieser dritten Speicherplätze eine Unterbrechungszahl entsprechend der Nummer der den Unterbrechungszustand aufweisenden peripheren Steuereinrichtung enthält unde. Microprogramm-Steuereinrichtungen zum Speichern von Folgen von Microbefehlen zur Steuerung der Operationen des Systems durch Verarbeitung von Befehlen wenigstens zweier verschiedener Arten, wobei beim Betrieb der Steuereinrichtung in der ersten Art diese während der Ausführung eines Zielsystem-Eingang-/Ausgang-Befehles die Änderung des Unterbrechungszustandes einer peripheren Steuereinrichtung bestimmt, um auf eine vorbestimmte Folge von Microbefehlen hinzuweisen, welche das System in die Lage versetzen, die Unterbrechungs-Zustandshinweise in einen vorbestimmten509883/0621Zustand zu schalten und die den laufenden Unterbrechungszustand aller peripheren Steuereinrichtungen anzeigende Unterbrechungszahl zu ändern.
- 2. System nach Anspruch 1, dadurch gekennzeichnet , daß die Microprogramm-Steuereinrichtung in Abhängigkeit von einer Art des Eingang-/Ausgang-Befehles, dessen Codierung eine Datentransfer-Operation bestimmt, wobei diese Operation die Verfügbarkeit einer Vielzahl von Systemmitteln einschließlich einer peripheren Steuereinrichtung zur Feststellung der Verfügbarkeit aller Systemmittel zwecks Ausführung der Übertragungsoperation erfordert, den Bezug auf eine Folge von Microbefehlen herstellt, um das System in die Lage zu versetzen, den Unterbrechungs-Zustandshinweis der genannten peripheren Steuereinrichtung zu schalten und den Unterbrechungs-Zählerinhalt um 1 zu erniedrigen.
- 3. System nach Anspruch 2, dadurch gekennzeichnet , daß die Folge von Microbefehlen ausgeführt wird, v/enn das System in der Lage ist. Befehle der zweiten Art zu verarbeiten.
- 4. System nach Anspruch 3, dadurch gekennzeichnet , daß das in der zweiten Betriebsweise betriebene System beim Empfang eines Unterbrechungssignales wirksam wird, wobei das Unterbrechungssignal die vollständige Ausführung der Datenübertragungsoperation durch das Wirtssystem anzeigt und einen Bezug auf eine Folge von Microbefehlen herstellt, die einen Zugriff auf den Unterbrechungs-Zählerinhalt zwecks Erhöhung des Zählstandes um 1 bewirken.
- 5. System nach Anspruch 1, dadurch gekennzeichnet , daß die Unterbrechungs-Zustandshinweise für jeden der peripheren Steuereinrichtungen umfassen:a. einen ersten codierten Bit-Speicherplatz zur Anzeige, ob ' eine periphere Steuereinrichtung eine Unterbrechung, gespeichert hat,509883/0621_ 44 -b. einen zweiten codierten Bit-Speicherplatz zur Anzeige, ob diese periphere Steuereinrichtung für eine Unterbrechung freigegeben ist,c. einen dritten codierten Bit-Speicherplatz zur Anzeige, ob ein mit dieser peripheren Steuereinrichtung verbundenes Gerät eine Unterbrechung gespeichert hat,de einen vierten codierten Bit-Speicherplatz zur Anzeige, ob die Unterbrechung hinsichtlich dieses Gerätes freigegeben ist unde. eine Einschaltung der Microprogramm-Steuereinrichtung für den Fall, daß der Eingang-/Ausgang-Befehl so codiert ist, daß er die Rückstellung der peripheren Steuereinrichtung oder des peripheren Gerätes bestimmt, indem er den ersten und dritten Bit-Speicherplatz von dem Binärwert EINS auf den Binärwert NULL umschaltet und den Unterbrechungszählstand um 1 erniedrigt.
- 6. System nach Anspruch 1, dadurch gekennzeich net, daß das System eine Einrichtung aufweist, die in Abhängigkeit eines von Null verschiedenen Unterbrechungs-Zählstandes entsprechend eines binären EINS-Resultates durch ODER-Verknüpfung aller Unterbrechungs-Hinweise der Vielzahl peripherer Steuereinrichtungen die Programm-Unterbrechungen des Zielsystems verarbeitet,und daß diese Einrichtung in Abhängigkeit eines Unterbrechungs-Zählstandes von Null entsprechend eines binären NULL-Resultates durch die ODER-Verknüpfung das System in die Lage versetzt, das Zielsystem-Programm auszuführen.
- 7. System nach Anspruch 1, insbesondere Wirtssystem, zur Verarbeitung eines Zielsystem-Programmes, welches eine: Vielzahl von Befehlen in irgendeinem Format aus einer Vielzahl von Formaten aufweist, dadurch gekennzeichnet, daß eine erste Speichereinrichtung mit mehreren Segmenten vorgesehen ist, von denen jedes Segment mehrere adressierbare Speicherplätze aufweist, daß ein erstes Segment509883/0621der Speicherung des Zielsystem-Programmes dient, wobei dieses Programm wenigstens einen Ein gang-/Ausgang-Ee£ehl mit einem Operationscodezeichen und mehreren Steuerzeichen aufweist, daß ein zweites Segment der Speicherung von Hinweisen auf den unterbrechungszustand wenigstens einer ersten Anzahl von peripheren Zielsysten-Elementen dient, die außerhalb des Wirtssystems angeordnetinauf eine gemeinsame Unterbrechungs-Systelleinrichtung arbeiten und der Ausführung der Eingang-/ Ausgang-Befehle dienen, daß ein drittes Segment der Speicherung eines den Unterbrechungszustand der ersten Anzahl von peripheren Zielsystem-Elementen kennzeichnenden Zählstandes dient, daß eine SteuerSpeicher-Einrichtung mit mehreren Microprogrammfolgen angeordnet ist, von denen jede Folge mehrere Microbefehle enthält, die bei ihrer Decodierung Steuersignale zur Ausführung von durch das Zielsystem-Programm vorgegebenen Operationen hinsichtlich des Systems veranlassen, wobei die Steuerspeicher-Einrichtung bei jedem Eingang-/Ausgang-Befehl mit einem Operationscode und einem vorbestimmten Steuerzeichen tätig wird und die Codierung der Steuerzeichen die Änderung des Ünterbrechungs-Zustandshinweises bestimmt, um auf eine vorbestimmte Microprogrammfolge hinzuweisen, daß die die Microprogrammfolge erzeugenden Signale das System zur umschaltung des unterbrechungszustandshinweises eines peripheren Elementes in einen vorbestimmten Zustand veranlassen und eine Veränderung des Zählstandes zur Anzeige der anstehenden Anzahl von Unterbrechungen hinsichtlich der ersten Anzahl peripherer Elemente bewirken.
- 8. System nach Anspruch 7, dadurch gekennzeichnet , daß das zweite Segment eine periphere Steuer-Systemmittel-Tabelle zur Speicherung mehrerer Eingangsstellen für die peripheren Elemente in dem Zielsystem aufweist, wobei jedem möglichen peripheren durch das Zielsystem-Programm bestimmten Element eine Eingangsstelle zugeordnet ist und deren Codierung den Unterbrechungszustand-IIinweis509883/0621beinhaltet, daß das dritte Segment mehrere Speicherplätze zur Zählstandsspeicherung als Hinweis auf den Unterbrechungszustand der peripheren Elemente aufweist/ daß die Steuerspeichereinrichtung auf die vorbestimmte Microprogrammfolge Bezug nimmt, wobei diese Folge einen ersten Satz von Microbefehlen aufweist, die den Zugriff des Systems auf eine der Eingangsstellen, wie sie durch den Eingang-/Ausgang-Befehl bestiromt v/erden, ermöglichen, und daß ein zweiter Satz von Microbefehlen innerhalb der Folge dem System den Zugriff auf einen einen Zählstand speichernden Speicherplatz gestattet, wobei der Befehl zur Anzeige der Zahl der Unterbrechungen den Zählstand verändert.
- 9. System nach Anspruch 8, dadurch gekennzeichnet , daß der Unterbrechungs-Zustandshinweis für jede der peripheren Steuereinrichtungen einen ersten Bit-Speicherplatz aufweist, der durch seine Codierung anzeigt, wenn ein peripheres Steuerelement eine Unterbrechung gespeichert hat und daß der erste Satz von Microbefehlen Microbefehle zur Umschaltung des ersten Bit-Speicherplatzes in den vorbestimmten Zustand aufweist.
- 10. System nach Anspruch 7, dadurch gekennzeichnet , daß eine der Microprogrammfolgen eine Gruppe von Microbefehlen aufweist, die in Abhängigkeit eines von Null verschiedenen Unterbrechungs-Zählstandes entsprechend einem binären EINS-Resultat durch ODER-Verknüpfung aller Unterbrechungs-Zustandshinweise der Vielzahl peripherer Steuerelemente das Wirtssystem in die Lage versetzt, die Zielsystem-Programmunterbrechung zu verarbeiten, und daß eine andere Gruppe von Microbefehlen entsprechend einem analog gebildeten Unterbrechungs-Zählstand von Mull das System zur v/eiteren Ausführung des Zielsystem-Programmes veranlasst.509883/0621
- 11. System nach Anspruch 7, dadurch gekennzeichnet , daß die Steuereinrichtung in Abhängigkeit von dem einen Eingang-/Ausgang-Eefehl, wobei ein Operations-Codezeichen eine Datentransferoperation, umfassend die Zuteilung einer Vielzahl von Systemmitteln einschließlich eines der peripheren Elemente, bestimmt, auf das System einwirkt und nachprüft, daß alle Systemmittel zur Ausführung der Transferoperation verfügbar sind, und ferner auf eine der Microprogrammfolgen Bezug nimmt, um das System in die Lage zu versetzen, den Unterbrechungs-Zustandshinweis des peripheren Elementes zu schalten und den Unterbrechungs-Zählerinhalt um 1 zu erniedrigen.
- 12. System nach Anspruch 11, dadurch gekennzeichnet , daß der Steuerspeicher eine Folge von Microbefehlen beinhaltet zur Steuerung der Operationen des Wirtssystems in ersten und zweiten Betriebsweisen und daß die Folge von Microbefehlen ausgeführt wird, wenn das Wirtssystem in der Lage ist, Befehle in der zweiten Betriebsweise zu verarbeiten.
- 13. System nach Anspruch 12, dadurch gekennzeichnet , daß das in der zweiten Betriebsweise betriebene Wirtssystem beim Empfang eines Unterbrechungssignales, welches die vollständige Ausführung einer Datentransf eroperation anzeigt, wirksam wird, und auf eine Folge von Microbefehlen Bezug nimmt zwecks Zugriff auf einen Unterbrechungs-Zählstand und Erhöhung desselben um 1.
- 14. System nach Anspruch 7, dadurch gekennzeichnet, daß mehrere Register mit der ersten Speichereinrichtung verbunden sind und der Speicherung verschiedener Steuerzeichen des Eingang-/Ausgang-Befehls während seiner Ausführung dienen, daß eine Rechen- und Logikeinrichtung an die Register angeschlossen ist, daß die509883/0621Steuerspeichereinrichtung mehrere Microprogrammfolgen mit jeweils mehreren Microbefehlen beinhaltet, die bei ihrer Decodierung Steuersignale für die übertragung von Informations-Bytes zwischen der ersten Speichereinrichtung, der Vielzahl von Registern und der Rechen- und Logikeinrichtung erzeugt, daß Verzweigungs- und Testeinrichtungen an die Rechen- und Logikeinrichtung und die Register angeschlossen sind, und daß die Steuerspeichereinrichtung durch die Verzweigungs- und Testeinrichtung und in Abhängigkeit eines jeden Eingang-/Ausgang-Befehles aktiviert wird.
- 15. Verfahren zur Verarbeitung von Unterbrechungen in Verbindung mit der Emulation verschiedener Arten von Eingang-/Ausgang-Befehlen eines Zielsystem-Programmes mittels eines Datenverarbeitungssystemes nach den Ansprüchen 1 bis 14, gekennzeichnet durcha. die Speicherung des Unterbrechungs-Zustandes in einer der Tabellen und Verbindung einer jeden Gruppe der Systemmittel mit einer gemeinsamen Sektorschiene zwecks Schaffung einer gemeinsamen Unterbrechungsmöglichkeit innerhalb des Zielsystems,b. Speicherung eines Zählstandes in einem weiteren Abschnitt, wobei der Zählstand die Anzahl der auf jeder Sektorschiene anstehenden Unterbrechungen angibt,c. Speicherung mehrerer Microbefehlfolgen in dem Steuerspeicher zwecks Zugriff zu verschiedenen Eingangsstellen aus der Vielzahl der Eingangsstellen innerhalb der Tabellen, wobei eine der Befehlsfolgen für die Verarbeitung der die änderung des Unterbrechungszustandes der Systemmittel angebenden Eingang-/Ausgang-Befehle herangezogen wird undd. Ausführung der einen Befehlsfolge in Abhängigkeit von einem Eingang-/Ausgang-Befehl, der die Änderung des Unterbrechungszustandes eines der genannten und an die Sektorschiene angeschlossenen Systemmittel spezifiziert, wobei509883/0621die Sektorschiene dem Abruf des Unterbrechungszustandes und des durch den Eingang-/Äusgang-Eefehl modifizierten Zählstandes dient.
- 16. Verfahren nach Anspruch 15, dadurch gekennzeichnet , daß die Ausführung der Eefehlsfolge hinsichtlich eines Eingang-/Ausgang-Befehles, der durch seine Codierung die Rückstellung des Unterbrechungszustandes eines in den Tabellen gespeicherten Systemmittels angibt, folgende Schritte umfasst:a. Rückstellung des Unterbrechungszustandes einer Eingangsstelle, die dem durch einen bestimmten Teil des zu verarbeitenden Eingang-/Ausgangs-Befehles gekennzeichneten Systemmittel zugeordnet ist undb. Erniedrigung des Zählstandes um 1 zwecks Anzeige der Anzahl der Unterbrechungen, die auf der Sektorschiene nach Ausführung des Eingang-/Ausgang-Eefehles anstehen.
- 17. Verfahren nach Anspruch 15, dadurch gekennzeichnet , daß die Ausführung eines eine Datenübertragung kennzeichnende und die Verfügbarkeit bestimmter Systemmittel erfordernden Eingang-/Ausgang-Befehles folgende Schritte umfasst:a. zunächst die Ausführung bestimmter Microbefehlfolgen zwecks Festlegung, wann alle vorgeschriebenen Systemmittel zur Ausführung der Übertragungsoperation verfügbar sind undb. Ausführung einer anderen Kicrobefehlfolge ähnlich der erstgenannten Microbefehlfolge zur Abrufung des Unterbrechungszustandes und des in Übereinstimmung mit dem Eingang-/Ausgang-Eefehl modifizierten Zählstandes.509883/0621
- 18. Verfahren nach Anspruch 17, dadurch ^g e' Ire τι η zeichnet , daß die Ausführung der anderen Microbefehlfolge eines die Rückstellung des Unterbrechungszustandes eines in den vorbestimmten Tabellen gespeicherten Systemmittels vorschreibenden Eingang-/Ausgang-Befehles zur Datenübertragung folgende Schritte umfasst:a. Rückstellung des ünterbrechungszustandes einer den Systemmitteln zugeordneten Eingangsstelle undb. Erniedrigung des Zählstandes um 1 zur Anzeige der Anzahl von Unterbrechungen, die auf der Sektorschiene nach Ausführung des Eingang-/Ausgang-Befehles anstehen.
- 19. Verfahren nach Anspruch 17, dadurch gekennzeichnet , daß die Ausführung der anderen Microbefehlfolge stattfindet, wenn das Datenverarbeitungssystem in der Eigen-Betriebsweise arbeitet.
- 20. Verfahren nach Anspruch 19, dadurch gekennzeichnet , daß eine vorbestimmte Microbefehlfolge beim Empfang eines Unterbrechungssignales in der Eigen-Betriebsweise ausgeführt wird, wobei das Unterbrechungssignal die vollständige Ausführung der Datenübertragungsoperation anzeigt, und der Zählstand um 1 erhöht wird zwecks Anzeige der Anzahl von Unterbrechungen auf der Sektorschiene nach der vollständigen Ausführung der Datenübertragungsoperation .
- 21. Verfahren nach Anspruch 15, gekennzeichnet durch folgende Schritte:a. Erzeugung eines Signales in Abhängigkeit eines von 0 verschiedenen Zählstandes entsprechend einer durch ODER-Verknüpfung aller Unterbrechungszustände gewonnenen Ergebnisses mit dem Einärwert EINS, um das System in die Lage zu versetzen, Zielsystem-Programmunterbrechungen zu verarbeiten und509883/0621b. Erzeugung eines Signales in Abhängigkeit eines Zählstandes von O entsprechend eines durch ODER-Verknüpfung aller ünterbrechungszustände gewonnenen Ergebnisses mit dem Binärwert NULL, um das System in die Lage zu versetzen, mit der Ausführung des Zielsysteiu-Programmes v;eiter zufahren.509883/0621
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/463,700 US4031517A (en) | 1974-04-24 | 1974-04-24 | Emulation of target system interrupts through the use of counters |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2517276A1 true DE2517276A1 (de) | 1976-01-15 |
Family
ID=23841013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752517276 Withdrawn DE2517276A1 (de) | 1974-04-24 | 1975-04-18 | Datenverarbeitungssystem |
Country Status (7)
Country | Link |
---|---|
US (1) | US4031517A (de) |
JP (1) | JPS50149246A (de) |
AU (1) | AU498651B2 (de) |
CA (1) | CA1029471A (de) |
DE (1) | DE2517276A1 (de) |
FR (1) | FR2269147B1 (de) |
GB (1) | GB1510347A (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4184201A (en) * | 1978-04-26 | 1980-01-15 | Sperry Rand Corporation | Integrating processor element |
US4184200A (en) * | 1978-04-26 | 1980-01-15 | Sperry Rand Corporation | Integrating I/O element |
US4277827A (en) * | 1979-01-02 | 1981-07-07 | Texas Instruments Incorporated | Microprocessor based system for the development and emulation of programmable calculator control read only memory software |
US4293909A (en) * | 1979-06-27 | 1981-10-06 | Burroughs Corporation | Digital system for data transfer using universal input-output microprocessor |
US4468729A (en) * | 1981-06-29 | 1984-08-28 | Sperry Corporation | Automatic memory module address assignment system for available memory modules |
JPS6017539A (ja) * | 1983-07-11 | 1985-01-29 | Hitachi Ltd | エミユレ−シヨン方式 |
US4873629A (en) * | 1984-06-20 | 1989-10-10 | Convex Computer Corporation | Instruction processing unit for computer |
US4744084A (en) * | 1986-02-27 | 1988-05-10 | Mentor Graphics Corporation | Hardware modeling system and method for simulating portions of electrical circuits |
US4875186A (en) * | 1986-02-28 | 1989-10-17 | Prime Computer, Inc. | Peripheral emulation apparatus |
US5088033A (en) * | 1986-04-28 | 1992-02-11 | Xerox Corporation | Data processing system emulation in a window with a coprocessor and I/O emulation |
US4920481A (en) * | 1986-04-28 | 1990-04-24 | Xerox Corporation | Emulation with display update trapping |
US4980850A (en) * | 1987-05-14 | 1990-12-25 | Digital Equipment Corporation | Automatic sizing memory system with multiplexed configuration signals at memory modules |
US5179703A (en) * | 1987-11-17 | 1993-01-12 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
US5129064A (en) * | 1988-02-01 | 1992-07-07 | International Business Machines Corporation | System and method for simulating the I/O of a processing system |
CA2002201C (en) * | 1988-12-06 | 1999-04-27 | John Charles Goettelmann | Translation technique |
US5109503A (en) * | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
US5093776A (en) * | 1989-06-15 | 1992-03-03 | Wang Laboratories, Inc. | Information processing system emulation apparatus and method |
US5276811A (en) * | 1989-06-30 | 1994-01-04 | Icom, Inc. | Method for emulating programmable logic controller by exchanging information between debug program which emulates I/O devices and ladder logic program |
US5809309A (en) * | 1990-09-28 | 1998-09-15 | Texas Instruments Incorporated | Processing devices with look-ahead instruction systems and methods |
US5542076A (en) * | 1991-06-14 | 1996-07-30 | Digital Equipment Corporation | Method and apparatus for adaptive interrupt servicing in data processing system |
JPH05216712A (ja) * | 1991-10-23 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | コンピュータシステムおよびこのコンピュータシステム上で内観的タスクを遂行する方法並びにi/oプロセッサアセンブリ |
US5375225A (en) * | 1991-12-31 | 1994-12-20 | Sun Microsystems, Inc. | System for emulating I/O device requests through status word locations corresponding to respective device addresses having read/write locations and status information |
US5768598A (en) * | 1993-09-13 | 1998-06-16 | Intel Corporation | Method and apparatus for sharing hardward resources in a computer system |
JP2734992B2 (ja) * | 1994-07-25 | 1998-04-02 | 日本電気株式会社 | 情報処理装置 |
US5819063A (en) * | 1995-09-11 | 1998-10-06 | International Business Machines Corporation | Method and data processing system for emulating a program |
US5983074A (en) * | 1996-06-17 | 1999-11-09 | Reactel, Inc. | Remote command, control and monitoring of apparatus by way of existing paging service network |
US6142682A (en) * | 1997-06-13 | 2000-11-07 | Telefonaktiebolaget Lm Ericsson | Simulation of computer processor |
DE59908019D1 (de) * | 1998-09-02 | 2004-01-22 | Infineon Technologies Ag | Verfahren und vorrichtung zur systemsimulation von mikrocontrollern/mikroprozessoren und zugehörenden peripheriemodulen |
US7392431B2 (en) * | 1999-02-19 | 2008-06-24 | Texas Instruments Incorporated | Emulation system with peripherals recording emulation frame when stop generated |
US7042909B2 (en) * | 2001-06-27 | 2006-05-09 | Freescale Semiconductor, Inc. | Method and apparatus for controlling the timing of a communication device |
US7260752B2 (en) | 2004-02-19 | 2007-08-21 | International Business Machines Corporation | Method and apparatus for responding to critical abstracted platform events in a data processing system |
JP4942790B2 (ja) * | 2009-06-18 | 2012-05-30 | アラクサラネットワークス株式会社 | スイッチ、ネットワークシステム及びトラフィック移動方法 |
US9292533B2 (en) * | 2010-06-08 | 2016-03-22 | Dell Products L.P. | Systems and methods for improving storage efficiency in an information handling system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3546678A (en) * | 1968-03-29 | 1970-12-08 | Bell Telephone Labor Inc | Telephone traffic data recorder |
US3560937A (en) * | 1968-10-28 | 1971-02-02 | Honeywell Inc | Apparatus for independently assigning time slot intervals and read-write circuits in a multiprocessor system |
US3599162A (en) * | 1969-04-22 | 1971-08-10 | Comcet Inc | Priority tabling and processing of interrupts |
US3596256A (en) * | 1969-08-08 | 1971-07-27 | Pitney Bowes Alpex | Transaction computer system having multiple access stations |
GB1264095A (de) * | 1970-02-13 | 1972-02-16 | ||
US3665415A (en) * | 1970-04-29 | 1972-05-23 | Honeywell Inf Systems | Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests |
US3713109A (en) * | 1970-12-30 | 1973-01-23 | Ibm | Diminished matrix method of i/o control |
-
1974
- 1974-04-24 US US05/463,700 patent/US4031517A/en not_active Expired - Lifetime
-
1975
- 1975-03-19 AU AU79270/75A patent/AU498651B2/en not_active Expired
- 1975-04-18 DE DE19752517276 patent/DE2517276A1/de not_active Withdrawn
- 1975-04-18 CA CA224,948A patent/CA1029471A/en not_active Expired
- 1975-04-23 FR FR7512715A patent/FR2269147B1/fr not_active Expired
- 1975-04-24 JP JP5016575A patent/JPS50149246A/ja active Pending
- 1975-04-24 GB GB16970/75A patent/GB1510347A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1510347A (en) | 1978-05-10 |
US4031517A (en) | 1977-06-21 |
CA1029471A (en) | 1978-04-11 |
FR2269147B1 (de) | 1982-03-19 |
AU7927075A (en) | 1976-09-23 |
JPS50149246A (de) | 1975-11-29 |
AU498651B2 (en) | 1979-03-22 |
FR2269147A1 (de) | 1975-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE3607889C2 (de) | ||
DE2500006A1 (de) | Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen | |
DE69730276T2 (de) | Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes | |
DE69833008T2 (de) | Prozessor mit instruktionskodierung mittels eines schablonenfeldes | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE2948285A1 (de) | Adressensteuersystem fuer softwaresimulation | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE102007025397B4 (de) | System mit mehreren Prozessoren und Verfahren zu seinem Betrieb | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2611598A1 (de) | Uebersetzungseinrichtung fuer speicheradressen | |
DE2459675A1 (de) | Datenverarbeitungssystem | |
DE3741850A1 (de) | Ausfuehrungseinheit fuer einen i/o-prozessor | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE2612054A1 (de) | Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens | |
DE1931966B2 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2612034A1 (de) | Ausfallsicherung in einem universalrechner | |
DE2626703A1 (de) | Intern programmierbares datenverarbeitungssystem | |
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
DE69233282T2 (de) | Datenverarbeitungsvorrichtung | |
DE2617127A1 (de) | Mehrfachprogramm-datenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |