DE2119063C2 - Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen - Google Patents

Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen

Info

Publication number
DE2119063C2
DE2119063C2 DE2119063A DE2119063A DE2119063C2 DE 2119063 C2 DE2119063 C2 DE 2119063C2 DE 2119063 A DE2119063 A DE 2119063A DE 2119063 A DE2119063 A DE 2119063A DE 2119063 C2 DE2119063 C2 DE 2119063C2
Authority
DE
Germany
Prior art keywords
register
main memory
data
area
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2119063A
Other languages
English (en)
Other versions
DE2119063A1 (de
Inventor
Dan A. Moraga Calif. Neilson
Eleuthere Danville Calif. Poumakis
Harry G. Danville Calif. Schaffer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of DE2119063A1 publication Critical patent/DE2119063A1/de
Application granted granted Critical
Publication of DE2119063C2 publication Critical patent/DE2119063C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits

Description

Die Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung nach dem Oberbegriff des Patentanspruches 1.
Bei einer bekannten Datenverarbeitungseinrichtung nach dem Oberbegriff des Patentanspruches 1 (Lexikon der Datenverarbeitung, Verlag moderne Industrie 1969, Seiten 526-528) kann die Durchführung eines gerade laufenden Programmes unterbrochen werden. Dabei wird das betreffende Programm so lange nicht weitergeführt, bis die entsprechende Anfrage, die zur Unterbrechung geführt hat, erledigt worden ist. Treten so hintereinander mehrere Anfragen auf, das gerade laufende Programm zu unterbrechen, so wird nach der Durchführung einer entsprechenden Anfrage dasjenige wartende Programm ausgewählt, welches die höchste Priorität hat. Bei der bekannten Einrichtung wird streng nach Priorität in der Reihenfolge gearbeitet, was jedoch zu dem Nachteil führen kann, daß Programme mit geringerer Priorität eine mehr oder weniger lange Zeit warten müssen, bis sie durchgeführt werden. Beispielsweise ist es durchaus denkbar, daß Programme mit höheren Prioritäten fortwährend durchgeführt werden, wohingegen ein Programm mit einer geringen Priorität niemals vollständig durchgeführt wird.
Durch die vorliegende Erfindung soll für eine Datenverarbeitungseinrichtung nach dem Oberbegriff des Petantanspruches 1 sichergestellt werden, daß keines der einzelnen Programme den Prozessor monopolisiert. Erreicht wird dies durch die Maßnahmen
der Patentansprüche.
Bei der Datenverarbeitungseinrichtung gemäß der Erfindung ist eine konventionelle Einrichtung für die Speicherung von Instruktionen für jedes Programm separat von Instruktionen anderere Programme vorgesehen. Außerdem sind konventionelle Vorkehrungen für jedes Programm getroffen, damit dieses den Ablauf des Programms nachholt Beispielsweise ist ein Register vorgesehen, um die nächste Instruktion, die durchzuführen ist, festzuhalten, wobei dies unter Bezugnahme auf die Adresse der Speicherstelle getan wird, welche die nächste Instruktion enthält, wobei die Speicherstelle verändert wird, wenn das Programm weiter durchgeführt wird. Außerdem ist ein Zählregister vorgesehen, welches an seinem Ausgang anzeigt, welches spezielle Programm-Instruktionsregister zum gegenwärtigen Zeitpunkt eingesetzt wird. Dieser neue Zähler ist so ausgebildet, daß er, wenn er schrittweise weitergeschaltet wird, seinen Zyklus immer wieder von vorn durchläuft, und jedes Programmregister in Aufeinanderfolge auswählt Auf diese Art und Weise kann, falls ein spezielles Programm erst einmal aufgegeben worden ist, es nicht erneut eingegeben werden, bis alle anderen die Möglichkeit gehabt haben, mit dem Computer in Kontakt zu kommen. Das Zählregister wird in der Praxis tatsächlich nicht kontinuierlich fortgeschaltet, sondern es wird um einen Einzelschritt im Ansprechen auf eine von drei Bedingungen weitergeschaltet
Eistens wird ein Impulszähler so ausgebildet, daß er ein Signal erzeugt, falls einem Programm über eine bestimmte Zeitspanne gefolgt worden ist Es handelt sich hierbei um das sog. Aus-Zeit-Signal, welches zu dem durchgeführten Arbeitsvorgang selbst oder zu den zu verarbeitenden Daten keinerlei Beziehung hat.
Zweitens zeigt eine Peripherieeinheit an, daß sie zur Übertragung von Daten bereit ist, und zwar tut die Peripherieeinheit dies durch ein sog. Anfragesignal. In gleicher Weise kann auch die Datenverarbeitungseinrichtung so ausgestaltet werden, daß sie eine Übertragung von Daten einleitet, und um dies zu tun, kann sie ein Übertragungssignal abgeben. Diese Signale sind für gewöhnlich als sog. Unterbrechungssignale bekannt, und sie können aus verschiedenen Gründen auftreten, jedoch ist die Bildung eines Unterbrechungssignals und das Ansprechen auf ein Unterbrechungssignal im Zusammenhang mit dem Multiprogramming bekannt. Wenn erst einmal eine Unterbrechungsanfrage bearbeitet worden ist, wird das Zählregister weitergeschaltet, um zu ermöglichem, daß ein anderes Programm eingegeben wird.
Der dritte Weg, durch welchen das Zählregister weitergeschaltet werden kann, wird am besten aufgrund der folgenden Überlegung erläutert. Es wird angenommen, daß das Zählregister weitergeschaltet worden ist, und zwar aus einem der vorgenannten Gründe. Das Zählregister erlaubt dann, daß ein zweites Programm bearbeitet werden kann. Falls jedoch aus irgendeinem Grunde (beispielsweise, wenn das neue Programm selbst auf ein außen stattfindendes Ereignis wartet) dieses zweite Programmm nicht weitergeführt werden kann, dann wird der Zähler wiederum um einen weiteren Schritt weitergeschaltet.
Aus den vorangehenden Ausführungen ist ersichtlich, daß, wenn ein gegebenes Programm erst einmal unterbrochen worden ist, es nicht weiterverarbeitet werden kann, bevor alle anderen Programme mit dem Computer verbunden und abgefragt worden sind.
Ein Ausführungsbeispiel wird nachstehend an Hand
der Zeichnung beschrieben.
F i g. 1 ist ein vereinfachtes Blockdiagramm einer Datenverarbeitungseinrichtung gemäß der Erfindung.
F i g. 2 ist ein vereinfachtes Teil-Blockfjiagramm zum Blockdiagramm nach F i g. 1.
F i g. 3 ist eine Darstellung eines Datenwortes, wie es in dem Hauptspeicher nach F i g. 1 gespeichert ist
F i g. 4 ist eine vereinfachte Darstellung der Unterteilung des Hauptspeichers nach F i g. 1.
Fig.5 bis 7 zeigen vergrößerte Teilbereiche der Darstellung nach F i g. 4.
F i g. S ist eine Darstellung eines Instruktionswortes.
F i g. 9 zeigt, wie die F i g. 10 und 11 zusammenzusetzen sind.
Fig. 10 und 11 zeigen ein vereinfachtes Blockdiagramm des Prozessors für die Datenverarbeitungseinrichtung gemäß der Erfindung.
F i g. 1 zeigt einen Hauptspeicher 10 zur Speicherung einer Mehrzahl von Programmen. Daten von Peripherieeinheiten 20 werden empfangen oder zu diesen übertragen, wobei auf die in den Daten enthaltenen Informationen durch einen Prozessor 12 eingewirkt wird. Der Prozessor 12 ist über eine E/A-Datenleitung 14 mit den Peripherieeinheiten 20 über E/A-Steuerungen 18 und Adapter 24 verbunden und weist weiterhin eine Datenleitung 16 auf.
Bis zu zwanzig E/A-Steuerungen 18 können mit der E/A-Datenleitung 14 verbunden sein. Jeder E/A-Steuerung 18 können bis zu zehn der Peripherieeinheiten 20 über eine Zweidraht-Datenleitung 22 zugeordnet sein. Jede E/A-Steuerung 18 ist mit einer Pufferspeichcrung eines aus sieben binären Ziffern bestehenden Zeichens ausgestattet Jede Gruppe von Peripherieeinheiten 20 und deren zugeordnete E/A-Stuerung 18 wird vom Prozessor 12 als von den anderen Gruppen unabhängig behandelt.
Beispielsweise kann eine Peripherieeinheit 20 ein Terminal in einer Verkaufsstelle eines Geschäfts sein, in den durch manuelle Betätigung von Tasten oder über einen Kartenleser Daten eingegeben und zur zugehörigen E/A-Steuerung 18 übertragen werden können.
Der Adapter 24 gibt diese Daten seriell auf die Zweidraht-Datenleitung 22. Es ist oft der Fall, daß eine Peripherieeinheit von sich aus Daten seriell abgibt, und in diesem Fall ist kein Adapter notwendig.
Eine Magnetscheibensteuerung 26 stellt eine Verbindung von der Datenleitung 16 zu bis zu zehn Magnetscheibsn 28 her. Die Magnetscheibensteuerung 26 dient der Steuerung des Zugriffs zu bereits in den Magnetscheiben 28 gespeicherten Daten und der Aufzeichnung neuer über die Datenleitung 16 zugeführter Daten. Die Magnetscheiben 28 können z. B. Kreditinformationen über Kunden eines Geschäfts enthalten, und wenn ein Kunde seine Kreditkarte im Geschäft vorlegt wird über die Peripherieeinheit 20 des Geschäfts die Kontonummer manuell oder maschinell durch einen automatischen Kreditkartenleser eingegeben. Ober die Kontonummer wird mit Hilfe des Prozessors 12 von der zugehöligen Magnetscheibe 28 ein1; Kreditinformation über den Kunden abgerufen, z.B. in der Form eines Signals: »ausreichend, »nicht ausreichend«, oder »keine Information vorhanden, an den Geschäftsführer wenden«, und zur Peripherieeinheit 20 des Geschäfts übertragen.
In entsprechender Weise stellt eine Bandsteuerung 30 eine Verbindung zwischen der Datenleitung 16 und bis zu vier Magnetbändern 32 her. Die Bandsteuerung 30 arbeitet wie die Magnetscheibensteuerung 26 und ermöglicht die Speicherung von über die Peripherieeinheit 20 eingegebenen Geschäftsvorgängen auf Magnetbändern 32.
■ Außerdem können die auf den Magnetbändern 32 gespeicherten Daten zu einer zentralen elektronischen Datenverarbeitungsanlage 34, in Fig. 1 mit EDV abgekürzt übertragen werden. Hierzu dient ein an die Datenleitung 16 angeschlossener Adapter 36 und ein Modulator-Demodulator oder Modem 38, welcher mit einer Telefonleitung 40 verbunden ist
Der Prozessor 12 kann zu der elektronischen Datenverarbeitungsanlage 34 direkten Zugriff haben, um on-line arbeiten zu können.
Die Datendarstellung
In der nachfolgenden Beschreibung wird eine aus binären Bits gebildete Einheit von Daten mit dem Wort »Zeichen« bezeichnet Jedes binäre Bit wird durch einen Spannungspegel in einem Stromkreis oder durch eine Magnetisierungsrichtung in einem Magnetkernspeicher dargestellt
Jedoch wird in den Peripherieeinheiten 20 vorzugsweise der USAC II-Code verwendet welcher in der Tabelle I gezeigt ist.
Die Tabelle I zeigt Funktionssteuerakronyme in den Spalten 0 und 1 und Datensymbole in den Spalten 2 bis 7.
Die in F i g. 2 gezeigte E/A-Steuerung 18 empfängt und überträgt diese in Form von Sieben-Bit-Zeichen auf sieben Signalleitungen, die mit 61, b2, b3, £>4, 65, 66 und b 7 bezeichnet und Teil der E/A-Datenleitung 14 sind, zum Prozessor 12.
Im Prozessor 12 und im Hauptspeicher 10 werden nur sechs der sieben binären Bits verwendet und aus diesem Grunde endet die sechste Signalleitung b 6 im Prozessor 12. Alle Daten innerhalb des Prozessors 12 und des Hauptspeichers 10 weisen nur die ersten fünf Bits b 1, bi, bZ, b4 und b5 und das siebente Bit 67 des USAC II-Codes auf. Die Tabelle I zeigt, daß die Codes für die Datensymbole in den Spalten 6 und 7 nicht unterscheidbar sind.
Tabelle I 64 63 für USAC II-Code 0 0 1 1 0 1 0 2 0 1 1 3 1 0 4 1 0 1 5 1 1 0 6 1 1 1 7
Codetabelle ► 0 0 DLE SP 0 0 2 P - P
BITS 0 0 DCl j 1 A Q a q
67 o 0 ^^ U DC2 2 B R b r
Jl f 0 0 Spalte DC3 # 3 C S C S
Db 0 0 Reihe 0 DC4 S 4 D T d t
65 0 1 NUL NAK % 5 E U e U
0 1 62 61 0 SOH SYN & 6 F V f V
0 1 1 STX ETB 7 G W g W
0 1 0 0 2 ETX CAN ( 8 H X h X
1 0 0 1 3 EOT EM ) 9 I Y i y
1 0 1 0 4 ENQ SUB * : J Z j Z
1 0 1 1 5 ACK ESC + ; K [ k {
1 0 0 0 6 BEL FS < L \ 1 I
I
1 1 0 1 7 BS GS - = M ] m }
1 1 1 0 8 HT RS > N η ~
1 1 1 1 9 LF US I 7 0 DEL
i 1 0 0 10 VT
0 1 11 FF
1 0 12 CR
1 1 13 SO
0 0 14 SI
0 1 15
1 0
1 1
Wenn vom Prozessor 12 keine F'unktionssteuerakronyme, also Datensymboie, zu einer E/A-Steuerung 18 übertragen werden (Normalzustand), wird das siebte Bit £>7 durch einen Inverter 42 logisch umgekehrt und als das sechste Bit b6 auf der E/A-Datenleitung 14 zu der E/A-Steuerung 18 übertragen. Außerdem wird (im Normalzustand), das siebte Bit b7 durch einen Torschalter 44 über die E/A-Dats:nleitung 14 als das siebte Bit b 7 zur E/A-Steuerung 18 übertragen.
Wenn hingegen Funktionssteuerakronyme übertragen werden, wird durch den Torsch-ilter 44 die Übertragung des siebten Bits b 7 vom Prozessor 12 über die E/A-Datenleitung 14 unmöglich gemacht
Das Datenformat
Ein im Prozessor 12 verwendetes Datenzeichen weist sechs binäre Bits auf und es handelt sich hierbei um die Bits des USAC II-Codes, wobei das sechste Bit fallengelassen worden ist.
Ein Datenwort besteht aus mindestens einem Datenzeichen in aneinandergrenzenden Plätzen im Hauptspeicher 10, und dieses wird als Einheit mit Hilfe des gleichen Programmbefehls verarbeitet. Im allgemeinen stellt jedes Datenzeichen eine Dezimalzahl dar. Die ersten vier binären Stellen 611 b 2, b 3 und b 4 entsprechen der Dezimalzahl im BCD-Code, das binäre Bit £>5 der fünften Stelle ist immer »L« und das Bit 6 7 der sechsten Steile ist eine binäre »0«, wenn die Zahl positiv und ist eine binäre »1«, wen η die Zahl negativ ist.
Wie in Fig. 3 gezeigt, ist die Dezimalzahl »-1769« ein aus vier Datenzeichen bestehendes Datenwort Die Ziffern in den einzelnen Dezimalstellen sind in aufeinanderfolgenden Speicherplätzen 2301, 2302, 2303 und 2304 des Hauptspeichers 10 gespeichert Das sechste Bit b7 weist eine »1« auf, um zu kennzeichnen, daß die Dezimalzahl einen negativen Wert hat.
Ein »Feld« besteht aus einem oder mehreren benachbarten Speicherplätzen im Hauptspeicher 10, die für eine spezielle Kategorie von Daten reserviert sind. Ein Feld kann ein oder mehrere Wörter enthalten.
Der Hauptspeicher 10
In F i g. 4 ist die Unterteilung des Hauptspeichers 10 in einzelne Bereiche gezeigt
Die Adresse jedes Speicherplatzes ist durch eine Dezimalzahl festgelegt. Es ist jedoch nicht immer notwendig, die Ziffern in den höchsten Dezimalstellen für eine Adressierung zu verwenden.
Jede E/A-Steuerung 18 der F i g. 1 hat einen ihr zugeordneten Bereich im Hauptspeicher 10. Su gehört der Bereich 0 (F i g. 4) zur E/A-Steuerung 18 (F i g. 1) mit der Nr. 0 usf.
Jeder Bereich des Hauptspeichers 10 kann zwischen 1000 und 10 000 Speicherplätze haben, was in F i g. 4 mit 1 bis 1OK zum Ausdruck gebracht worden ist Die Bereiche müssen nicht gleich groß sein. So hat der Bereich 0 eine Größe von 7K, der Bereich 1 3K und der Bereich 2 10/C.
Jeder Bereich muß jedoch mit einem Speicherplatz beginnen, dessen Nr. ein Vielfaches von 1000 ist In F i g. 4 sind links die Nummern der Speicherplätze bzw. Adressen angegeben.
in jedem Bereich sind drei Gruppen von jeweils vier Speicherplätzen zu drei Indexregistern zusammengefaßt Zum ersten Indexregister jedes Bereichs gehören die Speicherplätze 11,12,13 und 14, d. h. für den Bereich
0 sind dies die Speicherplätze 5011, 5012, 5013 usf. Entsprechend gehören zum zweiten Indexregister des Bereichs 0 die Speicherplätze 5021,5022,5023 und 5024 usf. Diese Speicherplätze müssen nicht als Indexregister verwendet werden, sie können auch verwendet werden, um Daten zu speichern.
Die Speicherplätze 41, 42, 43 und 44 im Anfangsbereich der einzelnen Bereiche sind als Programmunterbrechungsspeicher vorgesehen, und dienen der Aufnahme einer vierziffrigen Programmunterbrechungszahl, abgekürzt Pl-Zahl, die im Prozessor 12 beim Auftreten und Feststellen bestimmter Fehler erzeugt wird. Die Pl-Zahl ist eine Zahl, die größer ist als die Adresse des Speicherplatzes, der die letzte Programminstruktion enthielt, bei deren Durchführung ein Fehler auftrat. Sollte zum Beispiel eine Ausgabe durchgeführt werden und ein Fehler festgestellt, so wird als Pl-Zahl die Adresse des Befehles, der zur Feststellung des Fehlers führte, erhöht um 1 verwendet.
Die einzelnen Fehler können in drei Gruppen unterteilt werden.
1. Adressierfehler
a. Der nachgesuchte Zugriff zu einem Speicherplatz hat eine Adresse, die größer ist als die obere Grenzadresse des dem Benutzer einer Peripherieeinheit 20 zugeordneten Bereichs des Hauptspeichers 10, dessen Programm zur Zeit ausgeführt wird.
Der nachgesuchte Zugriff zu einem Speicherplatz des nachfolgend beschriebenen gemeinsamen Bereichs des Hauptspeichers 10 hat eine Adresse, die größer als die obere Grenzadresse des gemeinsamen Bereichs ist.
c. Es wird Zugriff in den nachfolgend beschriebenen bevorrechtigten Bereich des Hauptspeichers 10 von einem dazu nicht berechtigten Benutzer versucht
2. Ungültiger Operationscode
Eine von einem Speicherplatz abgerufene Instruktion weist einen ungültigen Code auf.
3. Datenfehler
a. Fehlen einer binären »1« in der 5. Stelle eines Instruktionszeichens, das vom Hauptspeicher 10 während des Arbeitsvorganges BEGIN (Auffinden eines neuen Instruktionszeichens) des Prozessors 12 gesucht wird.
b. Fehlen einer binären »1«in der 1. Stelle irgendeines Zeichens, welches von einem Indexregister während des Arbeitsvorganges INDEX des Prozessors 12 gesucht wird.
c. Der Dezimalwert einer der 1. bis 4. binären Stellen irgendeines Zeichens überschreitet »9«.
Der gemeinsame Bereich des Hauptspeichers 10
Der gemeinsame Bereich kann bis zu 10 000 Speicherplätze aufweisen, die in Unterbereiche von je -60 1000 unterteilt sind. Nach Fig.4 hat der gemeinsame Bereich 5000 Speicherplätze.
Der gemeinsame Bereich ist allen Peripherieeinheiten gemeinsam zugeordnet
Der geschützte Bereich des Hauptspeichers 10
Die ersten 300 Speicherplätze des gemeinsamen Bereiches sind der geschützte Bereich. Durch die
40
45
50
55 Programme können von allen Peripherieeinheiten her Daten aus dem geschützten Bereich herausgelesen werden, jedoch nicht eingeschrieben werden. In den geschützten Bereich können lediglich durch spezielle Arbeitsvorgänge Daten eingeladen werden.
Das P-Adressenregister im geschützten Bereich
Die ersten 100 Speicherplätze des geschützten Bereiches sind das P-Adressenregister, welches in zwanzig Paare oder P-Wörter zu je fünf Zeichenplätze unterteilt ist. Jedes dieser Paare bzw. P-Wörter ist einer bestimmten Peripherieeinheit 20 bzw. einem bestimmten Bereich des Hauptspeichers 10, wie in Fig.4 gezeigt, zugeordnet. Der Inhalt jedes P-Wortes wird unter Bezugnahme auf die F i g. 5 beschrieben. In F i g. 5 ist das P-Wort Nr. i 1 gezeigt, welches der Peripherieeinheit Nr. 11 und dem Bereich 11 des Hauptspeichers 10 zugeordnet ist und in den Speicherplätzen 55 bis 59 des P-Adressenregisters des geschützten Bereichs gespeichert ist. Die ersten vier Stellen PO bis P3 des P-Wortes werden zur Kennzeichnung der Adresse einer Instruktion im Hauptspeicher 10 verwendet. Die ersten vier Bits b 1, b2, 63 und 64 der ersten vier Stellen PO bis P3 werden verwendet, um die Stelle der Instruktion festzulegen. Eine »eins« in der ersten Stelle PO zeigt an, daß der Prozessor 12 zur Zeit nicht den Bereich und die Peripherieeinheit bedient, der bzw. die dem P-Wort zugeordnet ist.
Wenn die erste Stelle PO eines P-Wortes »null« ist, so bedeutet dies, daß die zugehörige Periüherieeinheit bzw. der zugeordnete Bereich im Hauptspeicher z. Zt. gerade bedient wird.
Das sechste Bit b 7 der ersten Stelle PO des P-Wortes ist eine binäre »1«, um dadurch anzuzeigen, daß die durch die ersten vier Stellen PO bis P3 des P-Wortes festgelegte Instruktionsadresse sich im gemeinsamen Bereich befindet. Entsprechend bedeutet eine binäre »0«, daß die Instruktionsadresse sich in dem dem P-Wort zugeordneten Bereich des Hauptspeichers 10 befindet.
Das sechste Bit b7 der zweiten Stelle Pi des P-Wortes wird zur Speicherung des binären Zustandes eines Null-Flip-Flops oder NuIi-FF im Prozessor 12 benutzt, welches im folgenden mit mehr Einzelheiten beschrieben werden wird.
Das sechste Bit b 7 der dritten Stelle P 2 des P-Wortes wird zur Speicherung des binären Zustandes eines Minus-Flip-Flops oder Minus-FF im Prozessor 12 verwendet, welches im folgenden weiter beschrieben wei den wird.
Das sechste Bit i>7 der vierten Stelle />3 des P-Wortes wird zur Speicherung des binären Zustandes eines Übertrags-Flip-Flops oder Übertrags-FF im Prozessor 12 benutzt
Die Speicherung der Zustände des NuIl-FF, des Minus-FF und des Übertrags-FF ist notwendig, um nach Sprunginstruktionen oder Verzweigungen die Durchführung des Programms wieder aufnehmen zu können.
Die ersten vier Bits der fünften Stelle P4 des P-Wortes ist ein binärer Code (BCD), der die Größe des zugehörigen Bereichs des Hauptspeichers 10 anzeigt
Die Speicherung des Zustandes irgendeines der Flip-Flops ist ohne Bedeutung, wenn der Prozessor 12 Daten überträgt
Das B-Adressenregister im geschützten Bereich
Wie in Fig.4 gezeigt bilden die nächsten 100
Speicherplätze des geschützten Bereiches des gemeinsamen Bereichs des Hauptspeichers 10 das B-Adressenregister. Es besteht aus zwanzig B-Wörtern mit je 5 Speicherplätzen. Jedes B-Wort ist einem Bereich des Hauptspeichers 10 und einer Peripherieeinheit 20 zugeordnet.
In Fig.6 ist das B-Wort Nr. 11 dargestellt, welches die Speicherplätze 155 bis 159 mit seinen fünf Stellen B 4 bis BO einnimmt.
Die vier Stellen BO bis S3 eines B-Wortes ι ο kennzeichnen die um eins verringerte Zahl von Zeichen, die zwischen der E/A-Steuerung 18 und dem Prozessor 12 übertragen werden können.
Die ersten vier Bits b 1 bis b 4 jeder der vier Stellen BO bis S3 des B-Wortes werden als BCD-Code zum Festlegen der um eins verringerten Zahl von Zeichen verwendet, die zu übertragen sind. Das fünfte Bit b5 aller Stellen BO bis B 4 des B-Wortes ist ohne Bedeutung und stellt immer eine binäre »1« dar. Das sechste Bit bl aller Stellen BO bis 54 eines B-Wortes ist ohne Bedeutung und stellt immer eine binäre »0« dar.
Die ersten vier Bits der fünften Stelle B 4 eines B-Wortes werden zur Speicherung verschiedener Teile einer Instruktion und für Steuerzwecke verwendet. Das erste Bit b\ ist eine binäre »1«, falls die Instruktion Schreiben lautet, es ist eine binäre »0«, falls die Instruktion Lesen lautet. Das zweite Bit b2 ist eine binäre »1«, wenn Daten vom Prozessor 12 im Normalzustand, d. h. im internen 6-Bit-Code übertragen werden. Das zweite Bit ist eine binäre »0«, wenn Daten vom Prozessor 12 im 7-Bit-Code, im USAC II-Code übertragen werden. Das dritte Bit b 3 ist eine binäre »1«, wenn Daten aus der E/A-Steuerung 18 in einer modifizierten Form herausgelesen werden sollen, d. hM keines der vorherigen Daten wird gelöscht, wenn keine neuen Daten zum Einlesen verfügbar sind. Das dritte Bit b 3 ist eine binäre »0«, wenn Daten in normaler Art und Weise eingegeben werden sollen, d. h. das Fehlen von neuen Daten für ein Feld führt zum Löschen des restlichen Teiles des Feldes. Das vierte Bit 64 der fünften Stelle BA eines B-Wortes enthält eine binäre »1«, wenn die zugeordnete E/A-Steuerung aktiv ist.
Das A-Adressenregister im geschützten Bereich
Das dritte Hundert Zeichenplätze von 200 bis 299 des geschützten Bereiches des gemeinsamen Bereiches des Hauptspeichers 10 ist das A-Adressenregister. Es weist zwanzig A-Wörter mit je fünf Speicherplätzen auf, wie dies in F i g. 7 gezeigt ist. Die ersten vier Bits b 1 — b 4 der ersten vier Stellen A 0 bis A 3 werden verwendet, um im binärcodierten Dezimalcode den Speicherplatz oder die Adresse im Hauptspeicher zu speichern, wo das nächste Datenzeichen von der E/A-Steuerung zu schreiben bzw. zu lesen ist. Die fünften Bits bS der ersten vier Stellen Λ 0 bis Λ 3 sind ohne Bedeutung und sind ständig mit einer binären »1« gefüllt.
Das sechste Bit b 7 des ersten Zeichens A 0 ist eine binäre »0«, wenn die Adresse sich im entsprechenden Bereich des Hauptspeichers befindet, und sie ist eine binäre »1«, wenn sie sich im gemeinsamen Bereich befindet.
Das sechste Bit b 7 der zweiten bis vierten Stelle A 1 bis A 3 ist ohne Bedeutung und ist mit einer binären »0« aufgefüllt.
Die ersten vier Bits b\ bis b 4 der fünften Stelle A 4 werden verwendet, um eine Zugriffssperre zu irgendeinem oder allen vier Mangetbändern 32 (Fig. 1) anzuzeigen. Eine »1« im ersten Bit b 1 sperrt den Zugriff zum ersten Magnetband, eine »1« im zweiten Bit £2 sperrt den Zugriff zum zweiten Magnetband usw.
Das fünfte und sechste Bit b5 und b7 der fünften Stelle A 4 legen den Zugriff zu den Magnetscheiben 28 in der in F i g. 7 gezeigten Weise fest.
Der bevorrechtigte Bereich des Hauptspeichers 10
Innerhalb des gemeinsamen Bereichs ist ein bevorrechtigter Bereich, wie in F i g. 4 gezeigt, für bevorrechtigte Benutzer reserviert, welche über bestimmte Leitungen an der E/A-Steuerung 18 (Fig. 1) Zugriff haben.
Die untere Grenze des bevorrechtigten Bereiches wird durch eine bestimmte Verdrahtung im Prozessor 12 festgelegt, sie kann — falls erwünscht — verändert werden.
Das Instruktionswort
Das Instruktionswort hat eine Länge von zehn Dezimalstellen, so daß zehn aufeinanderfolgende Speicherplätze im Hauptspeicher 10 benötigt werden, wobei das Instruktionswort an einem Speicherplatz beginnt, dessen Nr. durch 10 ohne Rest teilbar ist.
In Fig.8 ist ein Instruktionswort dargestellt. Die sechsten Bits b 7 der ersten vier Stellen F 3, F2, Fi und FO weisen den Funktionscode auf. Die Instruktionen und die zugehörigen Funktionscodes sind in der Tabelle II gezeigt
Tabelle II
Instruktion
Funktionscodes F3 Fl
ffl
Kategorie
Lesen
Schreiben
Addieren
Teilen
Multiplizieren
Abziehen
Übertragung eines ganzen
Zeichens
numerische Übertragung
0 0 0 0
0 0 0 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
E/A
aritHmetisch
Datenverarbeitung
.1
ii Fortsetzung 21 19 η 063 1 12
Instruktion 0 0 \
0 J
Funktionscodes 1
1
0 Kategorie
Verzweigung, Sprung Fi 1 Fl 1
Redigieren
Bilden eines numerischen
Feldes
1 1 1 Logik
Vergleichen 1
1
0
0
Datenverarbeitung
Umspeichem 1 1 Logik
1 1 Datenverarbeitung
Das sechste Bit bl des fünften Zeichens ACmit der Speicherplatz-Nr. XXX4 weist eine binäre »1« auf, falls das A-FeId sich im gemeinsamen Bereich befindet, es enthält eine binäre »0«, falls die A-Feldadresse sich in einem anderen Teil des Hauptspeichers befindet.
Entsprechend enthält das sechste Bit b 7 des zehnten Zeichens BC mit der Speicherplatz-Nr. XXX9 eine binäre »1«, falls das B-Feld sich im gemeinsamen Bereich des Hauptspeichers befindet, es enthält eine binäre »0«, falls das B-Feld sich in irgendeinem anderen Bereich des Hauptspeichers befindet.
Die Bits b 7 des sechsten und siebenten Zeichens IA 1 und IAO eines Instruktionswortes legen fest, welches Indexregister des Bereichs im Hauptspeicher 10 zu verwenden ist, in welchem sich die Instruktion befindet, um so den Inhalt des gekennzeichneten Indexregisters zu der A-Feldadresse, die in der Instruktion gekennzeichnet ist, hinzuzuaddieren. Die Tabelle III zeigt die in IA 1 und IA 0 enthaltenen Codes und die gekennzeichneten Indexregister.
Tabelle III
Indexregister
IAl
keines
11-14
21-24
31-34
0
0
1
1
Entsprechendes gilt für die Bits bl des achten und neunten Zeichens IBl und /BO, wie dies aus Tabelle IV hervorgeht
Tabelle IV
Indexregister
IBl
keines
11-14
21-24
31-34
Das Bit b 5 aller Zeichen eines Instruktionswortes hat keine Bedeutung, es ist jedoch auf eine binäre »1« eingestellt.
Die ersten vier Bits b 1 bis b 4, die in F i g. 8 mit LA 1, LA2, LA3 und LA4 für den ersten Speicherplatz XXXO eines Instruktionswortes gezeigt sind, stellen einen binärcodierten Dezimalcode für die Zeichenlänge des Α-Feldes dar. Der Binärcode für die Dezimal zahl 10 ist »000«, demgemäß kann das A-FeId eine Länge von bis zu 10 Zeichen haben.
Entsprechend enthält der Speicherplatz XXX5 die Zeichenlänge des B-Feldes. Der 4 x4-Block der Bits im Instruktionswort aus den ersten vier Bits b 1 bis b 4 des zweiten bis fünften Speicherplatzes mit der Nr. XXXl, XXX2, XXX3 und XXX4 wird verwendet, um die Anfangsstelle des Α-Feldes festzulegen. Die Anfangsstelle eines Α-Feldes enthält in BCD-Form die bedeutsamste Dezimalstelle eines Datenwortes. Die darauffolgenden Dezimalstellen niedrigerer Ordnung sind in aufeinanderfolgenden Speicherplatz-Nrn. des Hauptspeichers bis zur Länge des Α-Feldes enthalten.
Die ersten vier Bits bl bis b4 des fünften Zeichens XXX4 des Instruktionswortes legen in BCD-Form die Anfangsstelle der Einer des Α-Feldes fest und die ersten vier Bitstellen öl bis 64 des vierten Zeichens XXX3 legen in BCD-Form die Anfangsstelle der Zehner des Α-Feldes fest usf.
In der gleichen Art und Weise wird der 4 χ 4-Block der ersten vier Bits b 1 bis b 4 des siebenten bis zehnten Speicherplatzes mit den Nm. XXX6, XXX7, XXX8 und XXX9 für das B-Feld verwendet.
Die Fig. 10 und 11 zeigen ein Blockdiagramm des Prozessors 12 der F i g. 1.
Die einzelnen Bauteile sind durch Leitungen miteinander verbunden, von denen einige lediglich als einzelne Linie gezeigt sind, obgleich es sich jedoch in Wirklichkeit um Vieldrahtleitungen handelt
Die Übertragung von Daten zwischen den verschiedenen Registern wird zu bestimmten Zeiten unter der Steuerung von Signalen bewirkt die in einer Steuereinrichtung 50 (F i g. 10) zum Erzeugen des Eingangssigna-. les erzeugt werden.
ω Das Arbeiten des Prozessors 12 ist durch Einteilung in vierzehn Hauptfunktionen organisiert die in vier bis siebzehn Schritte unterteilt sind. Die Kombination einer bestimmten Funktion mit einem bestimmten Schritt wird mit »Zustand« bezeichnet Beispielsweise ist die Funktion Lesen/Schreiben in Kombination mit dem Schritt 0 der Zustand RW-O.
Die 13 Instruktionen sind in neun Grundfunktionen, wie folgt gruppiert:
Instruktion
Funktion
Lesen
Schreiben
Addieren
Subtrahieren
Übertragen
numerisches
Übertragen
Umspeichem
Dividieren
Multiplizieren
Verzweigen
Redigieren
Bilden eines
numerischen Feldes
Vergleichen
Schalten
Anfangen
Weiterschalten
Unterbrechen
Anordnen
Lesen/Schreiben Addieren/Subtrahieren
Übertragen
Dividieren
Multiplizieren
Verzweigen
Redigieren
Bilden eines numerischen
Feldes
Vergleichen
(SW) Verändern des gerade bedienten Bereichs (BG) Holen neuer Instruktionen vom Hauptspeicher (IX) Modifizieren der Instruktionsadressen vor der Durchführung
(IT) Bedienen eines »inpro1 gressw-E/A-Steuerungsvorgangs
(PO) Schalten der A- und B-Register, um die weniger bedeutsame Stelle für arithmetische Operationen zu adressieren
10
15
20
25
30
35
Die Steuereinrichtung 50 decodiert die Instruktionscodes einer Instruktion, die vom Hauptspeicher rückgeholt wird, und erkennt Anfragen nach Bearbeitungen, die von der E/A-Steuerung 18 über die E/A-Datenleitung 14 (Fig. 1 und Fig. 10) erhalten werden.
Wenn eine E/A-Steuerung 18 eine Bearbeitung vom Prozessor 12 verlangt, wird ein Signal von der E/A-Steuerung 18 über die E/A-Datenleitung 14 in die Steuereinrichtung 50 des Prozessors 12 übertragen.
Die Steuereinrichtung 50 spricht auf dieses Signal an und erzeugt Steuersignale für den Zugriff zu demjenigen Bereich des Hauptspeichers, der der anfragenden E/A-Steuerung zugeordnet ist.
Die Funktion BEGIN
Die Einrichtung 50 holt die Instruktionen eines Programms nacheinander ab. Jede einzelne Instruktion wird ausgeführt, bevor die nächste Instruktion abgerufen wird. Dieser Vorgang des Einholens einer neuen Instruktion ist der BEGIN-Arbeitsvorgang. Als erster Vorgang werden das IA-Register 54 (Fig. 11), das I B-Register 56, das D-Register 58 und das H-Register 60 gelöscht und Signale von einem Steuertor 80 in ein Hauptspeicher-Adressenaddier-Register 70 abgegeben, dessen Signale die Größe des gemeinsamen Bereichs des Hauptspeichers 10 festlegen.
Dann führt die Steuereinrichtung 50 einen Test durch, um zu prüfen, ob ein Fehler-Flip-Flop eingestellt ist. Ist es eingestellt, so wird ein Check-Flip-Flop eingestellt. Der nächste Arbeitsvorgang ist ein Test, um zu Qberprüfen, ob eine der E/A-Steuerungen 18 mit Hilfe eines Unterbrechungssignales anfragt Falls kein Fehler vorliegt, so ist der nächste Arbeitsvorgang bereits der Test, um zu überprüfen, ob ein Unterbrechungssignal von einer der E/A-Steuerungen 18 vorliegt Falls eine Nachfrage vorliegt, addiert die Steuereinrichtung 50 die Dezimalzahl »eins« in ein X-Register 64 (Fig. 11) und das H-Register 60 hinzu und führt dann die Unterbrechungsfunktion durch.
Falls keine Anfrage vorliegt so wird das Check-Flip-Flop rückgestellt und die Steuereinrichtung 50 prüft dann, ob eine der E/A-Steuerungen 18 tätig ist oder ob ein von außen angelegtes Sperrsignal oder ein Energiemangel-Signal vorliegt Falls irgendeines dieser Signale vorhanden ist beginnt die Steuereinrichtung 50 mh der Schaltfunktion.
Ist dies nicht der Fall, so beginnt die Steuereinrichtung 50 mit dem nächsten Arbeitsvorgang der Funktion BEGIN, nämlich zu prüfen, ob eine Nachfrage vorliegt ein neues Programm in den z. Zt aktiven Bereich des Hauptspeichers 10 einzuladen.
Liegt keine Nachfrage vor, so wird wieder eine Prüfung hinsichtlich gültiger bzw. ungültiger Datencodes durchgeführt Dann wird das nächstfolgende Instruktionsw Mt, so wie es durch das Hauptspeicher-Adressenaddier-Register 70 adressiert ist in die Register eingegeben, in welchen es auf gültige oder ungültige Codes überprüft wird. Falls irgendeiner der Codes ungültig ist, wird ein Check-Flip-Flop eingestellt und die Steuereinrichtung 50 hört mit der weiteren Durchführung der Funktion BEGIN auf und geht zum Beginn einer anderen Funktion BEGIN über.
Falls jedoch die Codes im Instruktionswort eültie sind, dann überpüft die Steuereinrichtung 50 den Funktionscode, um festzustellen, ob z. B. eine Lese- oder Schreibinstruktion vorliegt.
Die Steuereinrichtung 50 überprüft außerdem einen Zeitzähler, welcher immer dann in Tätigkeit gesetzt wird, wenn in einen neuen Bereich des Hauptspeichers eingegeben wird, oder wenn ein Verzweigungsbefehl auftritt .
Wenn eine vorbestimmte Zeitspanne verstrichen ist, könnte eine Überprüfung irgendeiner anderen Instruktion in dem Programm durchgeführt werden, so daß durch eine der E/A-Steuerungen 18 die Steuereinrichtung 50 und der Hauptspeicher 10 nicht für die anderen E/A-Steuerungen blockiert werden können.
Wenn eine bestimmte Zeitspanne verstrichen ist und einem Verzweigungsbefehl Rechnung getragen wird, leitet die Steuereinrichtung 50 die Schaltfunktion ein, um auf das Programm des Bereichs mit der nächstfolgenden Nr. des Hauptspeichers weiterzuschalten, wobei dieses Programm durch eine Anfrage von einer anderen E/A-Steuerung unterbrochen werden kann, ansonsten führt die Steuereinrichtung die Funktion BEGIN direkt aus und holt die nächste Instruktion ein und führt diese
Die Unterbrechungsfunktion
Falls eine der E/A-Steuerungen 18 anfragt, führt die Steuereinrichtung 50 die Unterbrechungsfunktion aus, nachdem zuerst der Inhalt des Zählregisters 64 (F i g. 11) und des H-Registers 60 schrittweise weitergeschaltet worden sind, um auf die nächste E/A-Steuerung überzugehen.
Während der Unterbrechungsfunktion werden Daten zwischen einer der E/A-Steuerungen 18 und dem Hauptspeicher 10 übertragen.
Der erste Arbeitsvorgang der Unterbrechungsfunk-
tion ist zu überprüfen, ob eine Anfrage vorliegt Falls dies der Fall ist, bewirkt die Steuereinrichtung 50, daß die B-Adresse in das Α-Register gebracht wird. Dann wird der Inhalt der fünften Stelle BA des B-Adressenregisters in ein J-Register 76 (F i g. 10) eingegeben.
Der Inhalt des A-Regis^ers wird dann um eine dezimale 1 verringert.
Dann prüft die Steuereinrichtung 50, ob ein Lesesignal vorliegt Falls dies nicht der Fall ist überprüft sie, ob ein Übertrags-Flip-Flop in einem BCD-Addierer 78 (F i g. 11) eingestellt ist. Ist dies nicht der Fall, dann speichert die Steuereinrichtung den Inhalt des A-Registers 74 in das B-Adressenregister ein. Dann wird der Inhalt des J-Registers 76 in das B-Adressenregister des Hauptspeichers eingegeben.
Die Steuereinrichtung überträgt nun den Inhalt des A-Adressenregisters in das A-Register 74 und überprüft, ob es sich bei der Übertragung der Daten zwischen dem Prozessor 12 oder dem Hauptspeicher 10 und der E/A-Steuerung um einen Schreibvorgang handelt (Schreiben von Daten aus dem Hauptspeicher in die E/A-Steuerung) oder ob eine Anfrage nach Daten aus dem Hauptspeicher vorliegt.
Falls einer der beiden vorgenannten Fälle vorliegt, stellt die Steuereinrichtung 50 Zugriff zu dem Speicherplatz im Hauptspeicher her, der durch den Inhalt des A-Registers 74 gekennzeichnet ist, und gibt die aufgefundenen Daten in ein Pufferregister ein.
Dann addiert die Steuereinrichtung 50 eine dezimale »1« zu dem Inhalt des A-Adressenregisters 74 hinzu und speichert den Inhalt des Abschnitts des A-Adressenregisters.
Falls im ersten Arbeitsvorgang oder in der ersten Stufe der Unterbrechungsfunktion die anfragende E/A-Steuerung nicht diejenige ist, die durch die H- und D Register adressiert ist, werden jene Register überprüft, nämlich ob sie eine dezimale 20 anzeigen. Falls der Zählvert nicht 20 ist, werden die X- und Η-Register um eine dezimale »1« weitergeschaltet, und die Steuereinrichtung 50 kehrt zum Anfang der Unterbrechungsfunktion zurück, um den geschilderten Vorgang zu wiederholen.
Wenn der Zählwert in den H- und D-Registern 20 ist, überprüft die Steuereinrichtung 50, ob eine Datenleitung 16 benutzt wird. Falls dies nicht der Fall ist, kehrt die Steuereinrichtung 50 zur Durchführung der Funktion BEGIN zurück.
Falls die Datenleitung 16 benutzt wird, wird überprüft, ob Energiemangel vorliegt. Falls kein Energiemangel vorhanden ist, wird eine Überprüfung des Zustands der Datenleitung durchgeführt, und falls diese anzeigt, daß ein Übertragungsvorgang nicht komplett ist, findet eine Rückkehr zum Anfang der Unterbrechungsfunkticn nach dem schrittweisen Weiterschalten der X- und Η-Register um eine dezimale »1« statt.
Falls der Übertragungsvorgang vollständig ist, wird der Inhalt des B-Registers 82 in das B-Adressenregister des Hauptspeichers 10 eingespeichert, und die Steuereinrichtung 50 bewirkt einen Sprung zu den Arbeitsvorgängen in der Schaltfunktion, um die Datenleitung einzusetzen.
Die Schaltfunktion
Der Zweck der Schaltfunktion ist, den Durchlauf eines Programms anzuhalten und mit dem Durchlauf eines Programms für eine anfragende E/A-Steuerung zu beginnen.
Die erste Stufe in der Funktion BEGIN dient der Steuereinrichtung 50 dazu, eine dezimale »1« in die P0-Ziffer des P-Adressenregisters des Hauptspeichers zu bringen, das demjenigen Bereich zugeordnet ist, dessen Programmdurchlauf angehalten wird. Dies dient dazu, diesen Bereich als nicht aktiv zu markieren.
Als nächstes wird ein Test durchgeführt, um zu bestimmen, ob irgendwelche Fehler vorhanden sind. Falls Fehler vorhanden sind, wird der Inhalt des P-Adressenregisters und des Zustands-Registers 84 an den entsprechenden Plätzen 41 bis 44 gespeichert
Falls keine Fehler vorhanden sind, wird der Inhalt des P-Registers und des Zustandsregisters 84 in dem P-Adressenregister gespeichert
Dann führt die Steuereinrichtung 50 einen Test durch, um Energiemangel festzustellen. Falls dies der Fall ist bildet die Steuereinrichtung 50 kontinuierlich Schleifen, bis die volle Energie wieder verfügbar ist. Wenn die volle Energie verfügbar ist (d. h. kein Energiemangel besteht), prüft die Steuereinrichtung, ob die Datenleitung 16 benutzt wird. Falls dies der Fall ist wird der Inhalt des A-Registers 74 zum P-Register 52 übertragen, und die Unterbrechungsfunktion wird, wie vorangehend beschrieben, eingegeben.
Falls die Datenleitung 16 nicht benutzt wird, bewirkt die Steuereinrichtung 50 das Löschen des Funktionscodes durch Löschen des IA-Registers 54, des IB-Registers 56, des D-Registers 58 und des H-Registers 60; und die Größenbegrenzung des gemeinsamen Bereiches wird in das Hauptspeicher-Adressenaddier-Register 70 eingegeben.
Dann führt die Steuereinrichtung 50 einen Test durch, um zu bestimmen, ob das Check-Flip-Flop eingestellt ist und ob kein Sperrsignal für die Schaltfunktion vorhanden ist. Falls diese Bedingungen erfüllt sind, wird das X-Register 64 weitergeschaltei, um dadurch den nächstfolgendeil Bereich des Hauptspeichers zu adressieren.
Falls jedoch ein Sperrsignal und ein Fehler vorliegen, wird der X-Zähler nicht weitergeschaltet.
Dann überprüft die Steuereinrichtung 50, ob eine E/A-Steuerung dem neuen Bereich zugeordnet ist Falls dies nicht der Fall ist, bewirkt die Steuereinrichtung 50 die Löschung des ΙΑ-Registers, des IB-Registers usw., führt ein Weiterschalten des X-Registers durch und überprüft, ob c.ne E/A-Steuerung dem nächstfolgenden adressierten Bereich des Hauptspeichers 10 zugeordnet ist
Falls festgestellt wird, daß eine E/A Steuerung 18 tatsächlich dem adressierten Bereich zugeordnet ist, dann überträgt die Steuereinrichtung den Inhalt des zugeordneten Abschnitts des P-Adressenregisters des Hauptspeichers 10 in das P-Register 52 und löscht oder stellt eine Null in der P0-Stelle des P-Adressenregisters ein, was anzeigt, daß die zugeordnete E/A-Steuerung und der entsprechende Bereich aktiv sind.
Dann prüft die Steuereinrichtung, ob eine Datenleitung 16 benutzt wird. Falls dies der Fall ist, werden die Arbeitsvorgänge durchgeführt, um die Bedienung der Datenleitung zu beenden, sodann werden Fehlertests durchgeführt.
Falls die Datenleitung nicht benutzt wird, geht die Steuereinrichtung 50 unmittelbar zu den Fehlertests über. Falls ein Fehler vorhanden ist, gibt die Steuereinrichtung 50 ein Signal aus und geht dann auf die Anfangsfunktion über. Falls kein Fehler vorhanden ist, geht die Steuereinrichtung 50 unmittelbar zur Anfangsfunktion.
Hierzu 9 Blatt Zeichnungen
308113/15

Claims (2)

Patentansprüche:
1. Datenverarbeitungseinrichtung, bestehend aas einem Prozessor, einem Hauptspeicher, welcher eine Mehrzahl von Programmen zur Durchführung durch den Prozessor enthält, und aus einer Mehrzahl von Peripherieeinheiten, welche jeweils ein Unterbrechungssignal an den Prozessor zwecks Unterbrechung der Durchführung des gerade laufenden Programms und zwecks Bearbeitung der die Unterbrechung verursachenden Anfrage anlegen, gekennzeichnet durch ein Zählregister (64, F i g. 11), dessen Ausgang an den Hauptspeicher (10, F i g. 1) angeschlossen ist, um lediglich die Durchführung eines einzigen Programms durch den Prozessor (12) zuzulassen, und das auf ein Eingangssignal ansprechend schrittweise weitergeschaltet wird, um für jeden entsprechenden Schritt eines vollständigen Zyklusses von Programmen ein unterschiedliches Programm durchzuführen, und durch eine Steuereinrichtung (50, Fig. 10) zum Erzeugen des Eingangssignales, um das Zählregister (64, F i g. 11) weiterzuschalten, wenn wenigstens eine vorbestimmte Zeitspanne verstrichen ist, seitdem das Zählregister (64) zuletzt weitergeschaltet oder wenn eine die Unterbrechung verursachende Anfrage bearbeitet worden ist
2. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Einrichtung (50, Fig. 10) zum Erzeugen des Eingangssignals auf ein Signal anspricht, welches wenigstens einmal während der Durchführung jedes Programms nach einer bestimmten Zeitspanne nach dem letzten Weiterschalten des Zählregisters (64, F i g. 11) erzeugt wird.
DE2119063A 1970-04-21 1971-04-20 Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen Expired DE2119063C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US3224370A 1970-04-21 1970-04-21

Publications (2)

Publication Number Publication Date
DE2119063A1 DE2119063A1 (de) 1972-03-16
DE2119063C2 true DE2119063C2 (de) 1983-03-31

Family

ID=21863875

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2119063A Expired DE2119063C2 (de) 1970-04-21 1971-04-20 Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen

Country Status (7)

Country Link
US (1) US3699532A (de)
JP (1) JPS5759573B1 (de)
CA (1) CA951022A (de)
DE (1) DE2119063C2 (de)
FR (1) FR2093457A5 (de)
GB (1) GB1343454A (de)
NL (1) NL180709C (de)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761888A (en) * 1972-08-03 1973-09-25 Broadcast Products Inc Broadcast station logger and printout system
US3833773A (en) * 1972-08-28 1974-09-03 Gte Automatic Electric Lab Inc Telephone system trouble recorder
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
USRE31790E (en) * 1974-03-13 1985-01-01 Sperry Corporation Shared processor data entry system
US3911400A (en) * 1974-04-19 1975-10-07 Digital Equipment Corp Drive condition detecting circuit for secondary storage facilities in data processing systems
US3974480A (en) * 1974-05-08 1976-08-10 Francois Gernelle Data processing system, specially for real-time applications
US4355369A (en) * 1975-07-30 1982-10-19 Docutel Corporation Automatic banking machine
US4028668A (en) * 1975-12-22 1977-06-07 Honeywell Information Systems, Inc. Apparatus for selectively addressing sections and locations in a device controller's memory
DE2622140C3 (de) * 1976-05-19 1981-11-26 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Steuerung manueller Operationen
US4162520A (en) * 1976-09-30 1979-07-24 Burroughs Corporation Intelligent input-output interface control unit for input-output subsystem
GB1574469A (en) * 1976-09-30 1980-09-10 Borroughs Corp Interface system providing interfaces to central processing unit and modular processor-controllers for an input-out-put subsystem
US4103326A (en) * 1977-02-28 1978-07-25 Xerox Corporation Time-slicing method and apparatus for disk drive
US4156932A (en) * 1977-07-05 1979-05-29 Honeywell Information Systems Inc. Programmable communications controller
US4221933A (en) * 1978-12-21 1980-09-09 Cornell Ronald G Data storage and retrieval structure for a message storage system
US4447872A (en) * 1980-10-20 1984-05-08 Minnesota Mining And Manufacturing Company Alarm data concentration and gathering system
US4815034A (en) * 1981-03-18 1989-03-21 Mackey Timothy I Dynamic memory address system for I/O devices
US4592012A (en) * 1982-09-02 1986-05-27 Sebrn Corporation Method of interfacing peripheral devices with a central processor
US4497041A (en) * 1982-09-02 1985-01-29 Sebrn Corporation Parallel serial controller
US4633245A (en) * 1983-12-30 1986-12-30 International Business Machines Corporation Local area network interconnect switching system
US4713757A (en) * 1985-06-11 1987-12-15 Honeywell Inc. Data management equipment for automatic flight control systems having plural digital processors
US4821185A (en) * 1986-05-19 1989-04-11 American Telephone And Telegraph Company I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer
GB8622941D0 (en) * 1986-09-24 1986-10-29 Gen Electric Co Plc Computer system
JP2868141B2 (ja) * 1992-03-16 1999-03-10 株式会社日立製作所 ディスクアレイ装置
US6279098B1 (en) * 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
US6308250B1 (en) * 1998-06-23 2001-10-23 Silicon Graphics, Inc. Method and apparatus for processing a set of data values with plural processing units mask bits generated by other processing units
EP1912124B8 (de) 1999-10-14 2013-01-09 Bluearc UK Limited Vorrichtung und System zur Ausführung von Betriebsfunktionen
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US6934817B2 (en) 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US20020161650A1 (en) * 2001-02-21 2002-10-31 Buchanan Douglas O. Tabletop terminal for point of sale purchases
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US8041735B1 (en) * 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US8079034B2 (en) 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7287197B2 (en) 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7177967B2 (en) 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7356735B2 (en) 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US7305592B2 (en) 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
GB2569276B (en) * 2017-10-20 2020-10-14 Graphcore Ltd Compiler method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250481B (de) * 1959-12-31 1967-09-21
NL294820A (de) * 1962-07-03
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
US3344401A (en) * 1963-03-15 1967-09-26 Burroughs Corp Inquiry system
US3297994A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc Data processing system having programmable, multiple buffers and signalling and data selection capabilities
US3377619A (en) * 1964-04-06 1968-04-09 Ibm Data multiplexing system
US3378820A (en) * 1964-08-13 1968-04-16 Digital Equipment Corp Data communication system
US3407387A (en) * 1965-03-01 1968-10-22 Burroughs Corp On-line banking system
US3400376A (en) * 1965-09-23 1968-09-03 Ibm Information transfer control system

Also Published As

Publication number Publication date
NL180709C (nl) 1987-04-01
NL7105707A (de) 1971-10-29
CA951022A (en) 1974-07-09
US3699532A (en) 1972-10-17
GB1343454A (en) 1974-01-10
JPS5759573B1 (de) 1982-12-15
FR2093457A5 (de) 1972-01-28
DE2119063A1 (de) 1972-03-16

Similar Documents

Publication Publication Date Title
DE2119063C2 (de) Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE3424962C2 (de)
DE2714805A1 (de) Datenverarbeitungssystem
DE1279980B (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE1524102B2 (de) Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine
DE2629459A1 (de) Datenverarbeitungssystem
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE1549531A1 (de) Digitale Rechenanlage
DE2626703A1 (de) Intern programmierbares datenverarbeitungssystem
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE2912073A1 (de) Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem
DE1499206B2 (de) Rechenanlage
DE3545937A1 (de) Mikroprozessor
DE2233193A1 (de) Stapel-speichersystem
DE1474376A1 (de) Verfahren und Anordnung zum schnellen Zugriff bei grossen seriellen Speichern
DE1549399A1 (de) Verfahren und System zur grafischen Aufzeichnung von Kurvenzuegen
DE2517170A1 (de) Ansteuereinrichtung fuer sekundaerspeicher in datenverarbeitungssystemen
DE1762205C3 (de) Schaltungsanordnung für ein elektronisch gesteuertes Selbstwählamt
DE2644180C3 (de) Datenverarbeitungssystem
DE1424756B2 (de) Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführer, von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage

Legal Events

Date Code Title Description
OD Request for examination
OGA New person/name/address of the applicant
D2 Grant after examination
8328 Change in the person/name/address of the agent

Free format text: KOHLER, M., DIPL.-CHEM. DR.RER.NAT., 8000 MUENCHEN GLAESER, J., DIPL.-ING., PAT.-ANW., 2000 HAMBURG

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee