DE2756762A1 - Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlage - Google Patents
Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlageInfo
- Publication number
- DE2756762A1 DE2756762A1 DE19772756762 DE2756762A DE2756762A1 DE 2756762 A1 DE2756762 A1 DE 2756762A1 DE 19772756762 DE19772756762 DE 19772756762 DE 2756762 A DE2756762 A DE 2756762A DE 2756762 A1 DE2756762 A1 DE 2756762A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- address
- bit
- bit field
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Storage Device Security (AREA)
Description
te-bz
Verfahren und Anordnung zum Zugriff zu beliebigen Bitfeldern im
Hauptspeicher einer Datenverarbeitungsanlage.
Die Erfindung betrifft ein Verfahren und eine Anordnung zum Zugriff
zu beliebigen Bitfeldern im Hauptspeicher einer Datenverarbeitungsanlage, wobei die Grenzen der Bitfelder unabhängig von der adressierbaren
Struktur des Hauptspeichers wählbar sind.
In bekannten Datenverarbeitungssystemen wird der Inhalt des Hauptspeichers
zur Adressierung in kleine Bitgr-ippen unterteilt. Diese
Gruppen oder Dateneinheiten können z.B. Bytes (8 Bits zur Darstellung je eines Zeichens) oder Wörter aus je zwei Bytes sein. Wichtig ist die
Feststellung, dass die ganze Speicheradresseinrichtung nur Information an der Grenze einer adressierbaren Einheit ansteuern kann, und dass
Daten vom Hauptspeicher als einfache oder mehrfache Dateneinheiten abgerufen
oder dorthin gespeichert werden.
Benutzer oder Programmierer herkömmlicher Datenverarbeitungssysteme
müssen besondere Vorkehrungen treffen, wenn sie versuchen, mit Hauptspeicheroperanden
zu arbeiten, die nicht auf die Grenzen der adressierbaren Einheiten ausgerichtet sind oder nicht dieselbe Grosse wie eine
Einheit oder ein ganzes Vielfaches davon haben.
In der Vergangenheit gehörte zum Abruf, d.h. zum Lesen, eines
beliebigen Bitfeldes das Laden des Wortes oder Bytes (oder mehrerer
Wörter bzw. Bytes), die das gewünschte Bitfeld enthielten, in ein Register, und dann wurde das betreffende Bitfeld mit zwei Verschiebungen
oder dergleichen isoliert und ausgerichtet. Die Emulations- und
809821/0746
£> - ?- -iC9-'6-022
Interpretationstechniken machen hiervon starken Cebrauch. Die
umgekehrte Operation, d.h. das Speichern eines beliebigen Bitfeldes,
verlangte bisher eine dermassen extensive Manipulation, dass die Daten im
Speicher oft nicht gepackt waren, wenn sie hinterher nochmals in beliebiger Reihenfolge benutzt werden mussten (und daraus ergab sich eine Verringerung
des Wirkungsgrades des Speichers).
Der Stand der Technik beschreibt bisher Teillösungen dieses Problems
insofern, als Einrichtungen beschrieben werden, durch die der Anfang eines nicht ausgerichteten Operanden angesteuert werden kann. In der bisherigen
Technik werden jedoch Situationen behandelt, in denen der Operand Hon Anfang der nächsten adressierbaren Einheit nicht überlappt. Das
bedeutet, dass alle direkt zugänglichen, nicht ausgerichteten Operanden
vollständig innerhalb einer Adressiereinheit liegen müssen. Obgleich die
Belastung des Benutzers geringer wird, weil der Programmierer weniger mit der Spezialadressierung von Bitfeldern belastet ist, wird das Problem
dadurch doch nicht völlig gelöst. Im Gequnsatz zur vorliegenden Erfindung
gestattet die Technik bisher nicht die vollständig freie Adressierung
beliebiger nicht ausgerichteter Bitfelder unterschiedlicher Länge ohne
Rücksicht auf Grenzen von Adressiereinheiten im System.
Der Erfindung liegt die Aufgabe zugrunde, die oben aufgezeigten
Schwierigkeiten zu überwinden und eine leichte Handhabung nicht ausgerichteter
Bitfelder unterschiedlicher Länge mit einem einzelnen Maschinenbefehl zu bewirken. Dadurch soll eine Speicheroptimierung für Daten
möglich werden, die als Bitfelder beliebiger Länge (bis zu einer vorgegebenen Höchstlänge) vorliegen, ohne dass Bytegrenzen oder Wortgrenzen
berücksichtigt zu werden brauchen.
Der Gegenstand der Erfindung ist in den Patentansprüchen dargestellt.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt
und wird anschliessend näher beschrieben. Es zeigen: Fig. 1 ein Blockdiagramm einer Datenverarbeitungsanlage, in der
die vorliegende Erfindung beschrieben wird,
Fig. 2Λ-2Η die Hauptbestandteile und den Datenfluss des bevorzugten
Ausführungsbeispiels eines Prozessors einer Datenverarbeitungsanlage
gemäss Fig. 1,
Fig. 3 eine Uebersicht zur Darstellung des Zusammenwirkens einiger
Funktionseinheiten der beschriebenen DV-Anlagen bei der Bearbeitung von Aufgaben,
809823/0746
Fig. | 7 |
Fig. | 8 |
Fig. | 9 |
Fig. | 10& 11 |
1- -af- hC9- '6-022
Fig. 4 eine Uebersicht des Registerstapels aus Fig. 2 und Fig. 3,
Fig. 5 in einem Blockdiagramm die Verbindungen zwischen den
verschiedenen Stufenregistern und einer damit zusammenarbeitenden
Unterbrechungsbehandlungseinrichtung,
Fig. 6 schematisch die Festspeichersteuerung (ROS-Steuerung) des
in Fig. 2 gezeigten Prozessors,
das Format der Mikroprogramminstruktionen, die Taktierungsgrundsignale für die Ausführung des Mikroprogramme s,
das Format der Mikroprogramminstruktionen, die Taktierungsgrundsignale für die Ausführung des Mikroprogramme s,
eine Uebersicht der verschiedenen Bereiche im Festspeicher (ROS) des beschriebenen Prozessors,
die für einen als Beispiel gezeigten Maschinenbefehl "Direkt Addieren" ausgeführte Mikroprogrammroutine sowie
die Taktgrundzyklen für diese Routine, Fig. 12 die Taktierung der Speicherzyklen,
Fig. 13 & 14 Taktierungsdiagranme für die Ausführung der letzten Mikroprogramminstruktion
einer Routine zur Maschinenbefehls-Ausführung,
Fig. 15 bestimmte Teile der Steuerschaltung für bedingte Verzweigungen,
die im beschriebenen Ausführungsbeispiel benutzt wird,
Fig. 16 das Format von vier neuen Befehlen, welche zur Ausführung der Erfindung in der beschriebenen DV-Anlage vorgesehen
sind,
Fig. 17 schematisch die Anordnung mehrerer aufeinanderfolgend gespeicherter Bitfelder variabler Länge, zur Veranschaulichung der Vorgänge bei Durchführung des Befehls "Feld laden und erhöhen", und
Fig. 17 schematisch die Anordnung mehrerer aufeinanderfolgend gespeicherter Bitfelder variabler Länge, zur Veranschaulichung der Vorgänge bei Durchführung des Befehls "Feld laden und erhöhen", und
Fig. 18 ein Ablaufdiagramm eines Mikroprogramms, das im beschriebenen
DV-System für die Ausführung der Erfindung benutzt werden kann.
Gemäss dem Ausführungsbeispiel der Erfindung ist eine Anlage zum
Erkennen und Ausführen von vier neuen Befehlen vorgesehen. Drei dieser Befehle sind Ladebefehle, durch die ein bestimmtes Bitfeld vom Speicher
in ein angegebenes Register geladen wird. Der vierte Befehl ist ein Speicherbefehl, durch den ein in einem angegebenen Register enthaltenes
Bitfeld in den Speicher eingegeben wird. Im Ausführungsbeispiel enthält
80982^/0746
^- l/- I5C9-76-O22
jeder dieser Befehle zusätzlich zum Operationscode:(1.) eine Angabe eines
Maschinenregisters, das die Quelle oder der Bestimmungsort des Bitfeldes ist, (2.) eine Angabe eines Registers, das die Speicherbyte-Basisadresse
enthält,und (3.) eine Angabe der Länge des Bitfeldes (im Ausführungsbeispit'l
ein Wert, der um eins kleiner ist als die tatsächliche Länge des Bitfeldes). Die Bitstelle des Bitfeldanfanges im Speicher erhält
man durch Summieren des Inhaltes des Byte-Basisadressregisters und des Inhaltes eines bestimmten vorgegebenen Maschinenregisters (Distanzadressregister),
der den Betrag angibt, um den das Bitfeld gegenüber der Basisadresse im Speicher versetzt ist. Im Ausführungsbeispiel sind
ausserdem Einrichtungen zur Fortschreibung des Inhaltes des Distanzadressregisters
vorgesehen, wenn aufeinanderfolgende Bitfelder mit
unterschiedlicher Länge geladen oder abgespeichert werden.
Sonstige Einzelheiten der für das Ausführungsbeispiel gewählten
Datenverarbeitungsanlage sind in folgenden deutschen Patentanmeldungen
beschrieben: a) P 27 16051.6, b) P 27 18051.4, und c) P 27 19253.6 .
8098 2*7 0746
-/-
BC9-76-022
Fig.l zeißt ein Uebersichtsblockdiogrcmrn eines Systems, in dem die voiliegende
Erfindung verwendbar ist. Der Prozessor 1 ist das Hauptclcment des Systems
und ist im einzelnen in den Fign. 2A bis 2H dargestellt. Er führt Befehle aus und steuert die Signale auf den beiden Houptschniltstellen
des Systems, nämlich der Eingabe/Ausgabe-Schnittstelle 2 und der Speicher/
Uebeisetzerschnitistelle 3 .
Mehrere Eingabe/ Ausgabe-Geräte 4-1 bis 4-n sind mit der E/A - Schnittstelle
2 über entsprechende Geräteanschlüsse 5-1 bis 5-n verbunden. Die Geräteanschlüsse 5-1 bis 5-n steuern zusammen mit dem Prozessor
die Datenübertragung zwischen dem Prozessor 1 und den E/A- Geräten 4 -1 bis 4 -n.
Die Speicher-Uebersetzer-Schnittstelle 3 koppelt den Prozessor 1 mit
einem Hauptspeicher 8 und einem Verschiebungsübersetzer 9 ( Adressübersetzer)
Eine Schnittstelle 11 koppelt den Adressübersetzer 9 mit einem asynchronen Speicher 10. Der Hauptspeicher 8 enthält einen inneren
Speicherteil 14 ( Innenspeicher ) und einen äusseren Speicherteil 15
( Aussenspeicher). Eine Schnittstelle 12 koppelt den Prozessor 1 mit dem Hauptspeicher 8, um die Datenübertragung zwischen dem Prozesoor und
dem inneren Speicher 14 zu steuern. Eine Schnittstelle 13 koppelt den Hauptspeicher
8 mit dem Adressübersetzer 9, um die Datenübertragung zwischen dem Prozessor 1 und dem äusseren Speicher 15 zu steuern. Eine Bedienkonsole
ist mit dem Prozessor über eine Schnittstelle 7 gekoppelt.
80982Ϊ/0746
/ bC9- 76-022
Die Schnittstelle 2 enthalt eine E/A-Adiosssammi;llei(ung , eine E/A-Dateri.r,ammclleifung
und führt E/A-Sclinitlstellensteucrsignale, die noch genauer im Zusammenhang
mit Fig.2 beschrieben werden. Die Schnittstelle 3 enlha.lt eine Hauplspeictiersummelleitung
und Steuersignalsammei leitungen zwischen Prozessor und Uebeisetzer.
Die Schnittstellen 12 b/.w. 13 sind der Wog für die Innenrpeichersteuersignale und
die Aussenspeichersteuersignole wahrend der Dalenübertragungeo. Die Schnittstelle
enthüll eine Datenausgangssammelleitung und eine Dateneingangssammelleiluiig zusammen
mit Schnittstellensteuersignalleitungen. Soweit diese Schniltstellen mit der votliegenden
Erfindung zu tun haben, werden sie nachfolgend beschrieben. Datenfluss im Pro7.essor(Fig. 2A bis 2H)
Der Prozessor enthalt ein Rechenwerk (ALU) 51 (Fig. 2E) konventioneller
Bauweise. Ein Paar Eingangsregister ist für das Rechenweik 51 vorgesehen,
und zwar das WA-Register 52 und das Y-Registcr 53, und diese Register sind
über die Sammelleitungen 54 und 55 mit dem Rechenweik 51 verbunden. Das Rechenwerk 51 hat eine Ausgangssammelleifung 56, die mit der Prozessorsammei
leitung 57 über das UND-Glied 53 verbunden ist. Die Prozessorsammelleitung
57 ist an die Register 52 und 53 durch die UND-Glieder 60 und 61 gekoppelt zur Lieferung der Eingabedaten an das Rechenweik 51.
Die Prozessorsammelleitung 57 wirkt als Hauptdatensammelleitung für
Quellen und Bestimmungsdaten. Daher ist jede als Quelle wirkende Funktionseinheit des Prozessors mit der Piozessorsammelleitung 57 über ein
UND-Glied verbunden und jede Funktionseinheit des Prozessors 1, die Be-Stimmung
scinheit ( Empfcingseinheit) sein kann, ist mit der Prozessorsammclleitung
über ein, onderes UND-Glied verbunden. Die meisten Funktions -
80982^/0746
- /- flC9-76-O2k
einlieitf.n des Systems wirken sowohl als Quelle wie auch als Bestimmung
für Daten und sind dnhcr mit der ProzessoiSammelleitung 57 durch Quellen-UN
D- Glieder und duich Bestimmungs-UND-Gliedcr verbunden.
Die Prozcssoreiisamrnellcitung 57 ist an ein Z-Rcgister 65 angeschlossen über
ein Bestimmungs-UND-Glied 66 und ein Quellen-UND-Glied 67, an- ein
Prozessoispeicheidafenregister 70 über ein Bestimmungs-UND-Glicd 71
und ein Quellen-UND-Glied 72, an einen Zähler 75 durch ein Bestimmungs-UND-Glied
76 und ein Quellen-UND-Glied 77, an einen l'egisterstnpcl
80 durch ein Bestimmungs-UND-Glied 81 und ein Quellen-UND-Glied 82,
an ein Adressschlüsselregister 85 durch ein Bestimmungs-UNO-Glied 86
und ein Quellen-UND-Glied 87, an ein Stuienstatusregister 90 durch ein
Bestimmungs-UND-Glied 91 und ein Quellen-UND-Glied 92 und an ein
Prozessorsspeicheradressregister 95 durch ein Bestimmungs-UND-Glied 96 und ein Quellen UND-Glied 97.
Die Prozessorsammelleitung 57 ist an die Konsole 6 (Fig. 2A) angeschlossen
durch ein Quellen-UND-Glied 100 und eine Schnittstellensammelleitung 7a. Daten werden von der Prozessorsammelleitung 57 an die Konsole gerichtet
über das UND-Glied 66, das Z-Register 65 und die Schnittstellensammelleitung 7b. Ein Operationsregister 101 (Fig.2F) ist an die Prozcssorsammclleitung
57 angeschlossen über Quellen-UND-Glied 102. Operationscode werden im OP-Register 101 vom Prozessorspcicherdatemegisler
70 über ein UND-Glied 103 gespeichert. Ein Stapeladressregisler
( Fig. 2G) iit mit der Prozessorsammelleitung 57 über ein Bestimmungs-UND-
80982^/0746
BC9-76-022
Ma
Glied 10ό verbunden.Ein Adreßregister 107 für den aktiven ( laufenden)
Befehl ist mit der Piozessorsommelleitung 57 über ein Quellen-UND-Glied
109 verbunden. Der Eingang des Registers 107 wird auf den Ausgang des
Registcrstapels BO durch eine Sammelleitung 108 gekoppelt. Eine Speicherschutzanoidmmg
1 10 (fiy. 2H) isl mit der PiO/.tissorssaiiirm;! leitung 57 durch das
Bestimmungs-UND-Glied 111 und das Qucllc-n-UND" Glied 112 vribunden.
Ein Programmstatuswortregister (PSW-Rcgistcr) 1 15 ist nii! '.·- i'ein Ausgang
1 16 an die Piozcssoisammelleitung 57 angeschlossen über ein UND-Glied 117. Die
Eingangssignale zum Register 115 kommen von verschiedenen Systernprüfeingangsleitungen
120, von einem Schlüsselvergleichsregister 121 und von einer Speicherprüfbedingungssammelleitung 136.
Eingangssignal zum Schlüssel Vergleichsregister 121 worden vom Speicher-Schutzregister
110 über die Ausgangssammelleilung 125 der Einrichtung
110 und von einer Schlüsselwahl-Logikschaltung 126 über eine Sammelleitung
127 geliefert. Der Ausgang 128 vom Register 85 ist auf einen Eingang der
Schaltung 126 gekoppelt, deren zweiter Eingang 129 von den Cycle-Steal-Schutzkippgliedern
130 ( Fig. 2D) kommt. Die Eingangssammelleilung 129 von den Kippgliedern 130 istauch mit dem Register 90 gekoppelt.
Den Ausgang der Schlüsbelwahl-Logikschali .ng 126 wird auch auf den Hauptspeicher
8 und den Adressübersetzer 9 durch die Ausgangssarnmel leitung
gekoppelt, die einen Teil der Schnittstelle 3 zwischen Speicher und Uebersetzer
bildet.
Die Schnittstelle 3 enthält auch eine Synchronisationssammclleitung 135
( Fig. 2H), eine Piüfbedingungssammelleiturig 136, eine Adrcsssammel lei lung
80982V0746
-j/- BCy-76-022
/13
und die Eingabe- und Ausgabesammelleitungen 138 und 139. Der Ausgang
140 des Prozessoren;icheradrcssrogister 95 ist über das UND-Glied 141 mir der
Adressrarnmelleilung 137 gekoppelt. Das Cycle-Srcal-Speicheradressrngister
14/1 ist mit seinem Ausgang 143 über das UND-Glied 144 an die Adrewsammelleitung
137 angeschlossen.
Der Eingang eines Null-Detektors 150 (Fig. 2C) ist mil der Prozessorsarnmelleitung
57 gekoppelt und der Ausgang 151 mit der Steuerschaltung 152 für bedingte Verzweigungen ( Fig. 2A). Der Ausgang 151 des Null-Detektors
150 ist ausserdem mit dem Eingang einer Ergebnisanzeigeschaltung 153 (Fig. 2G) verbunden. Ein zweites Eingangssignal 154 zur Ergebnisanzeigeschaltung 153 wird
abgeleitet von einem Ausgangssignal des Prozessors 51. Die Prozessor — Sammelleitung 57 bildet auch einen Eingang zur bedingten Verzweigungs —
schaltung 152.
Der Ausgang 160 des Zählers 75 (Fig. 2F) liefert Eingangssignale zu einem
Anhalte- E/A- Decodierer 161 und zu den Cycle-Steal-Speicheradressregistern
142. Der Ausgang 162 des Decodieren 161 ist mit einer SchnittstellensSeuerschaltung
239 ( Fig. 2D) verbunden. Die Eingangsdatensammellcitung 138 vom Hauptspeicher ist mit dem Prozcssorspeicherdateniegister 70 ( Fig. 2E)
über ein UND-Glied 165 und mit dem Cycle-Steal-Speichcrdatenrcgisrer
166 über ein UND-Glied 167 verbunden. Der Ausgang 168 vom Prozessors Speicherdatenregister
70 ist mit der Ausgangsdatensammelleitung 139 zum Haupt speicher
verbunden über ein UND-Glied 169. Das Register 166 ist über ein UND-Glied 170 mit der Sammelleitung 139 gekoppelt. Die Ausgänge der
Register 70 und 166 sind ebenfalls mit der Speicherparitätsprüfschaltung
80982^/0746
- Jto - BC9-76-022
Ak
(F ig. 2F) veibunden. Die Piüfschal tung 171 liefert Pari teils bits auf die
Ausgurig:doterisariiincl Initung 139, wenn kein Paritcitsfcliler vorliegt, und
sie gibt ein Ausgang«ignuI auf die Leitung 173, wenn ein Speicrierparilüisfehler
eikannt wird.
Ein Maskenregisler 175 (Fig. ?A) ist mit der Prozessoisammel leitung 57
( Bits 12, 13) über die Eingang,-und Ausgangstore 1 76 und 177 verbunden.
Der Ausgang 173 des Maskenregislers 175 ist auch mit einem Aklivstufeniegister
181 über die Treiberschaltungen 130 und eine Sammel leitung 182a verbunden.
Ein Voiwahlstufenregister 185 ist mit der Prozessorsammelleitung 57 ( BiIs 14,15)
über den Eingang gekoppelt. Ein Ausgang 185a des Registers 185 ist mil dem Stapel··
Adressregister 105 ( Fig. 2G) über eine Toischaltung 185b verbunden. Der
Ausgang 185a ist ausseidem mil dem Aktivstufenregisler 181 über die Decodiei—
schaltung 190 und den Aus gang 191 der Decodierschallung 190 verbi-nlm.
Der Ausgang 192 des Aktivstufenregisters 181 ist mit dem Fcsbpeicher-Adressregisler
(ROSAR) 193 ( Fig. 2B) einer Mikroprogrammsteuerung 200 des Prozessois
verbunden. Der Ausgang 181a des Registers 181 ist rnil dem Stapel-Adressregister
105 über eine Torschaltung 181b verbunden,, wobei durch den Codierer 181c
eine Reduzierung von vier auf zwei Bits erfolgt.
Die Mikroprogrammsteuerung 200 enthält einen Festspeichci (ROS) 201, der
mit der Prozessorsammelleitung 57 über ein ROS-Ausgabcdatenregister 202
und ein Quellen-UND-Glied 203 verbunden isl. Ein zweiter Ausgang 204
des ROS-Ausgabedatenregisters 202 ist mit einer Quellen-Decodiersduiltung 205,
einer ßestimrnungs-DecD dierschaltung 206, einer Speichcisteuer-Decodicr -
80982^/0746
- 1Λ - BC9-76-022
AS
schal lung 207, einer Rechuriwcik-FunkMons-Decodierschallung 203,
weiteren Sleueidecodieischaltungcn 209 und dem Festspeicher-Adressregister
(ROSAU) 193 verbunden.
Die Adresse für den Festspeicher ROS 201 wird van ROSAR 193 über die Sammelleitung
212 /u einer Adieisdecodierschaltung 213 gegeben. Die Eingänge
eines ersten Veibindungsregisters 210 und eines zweiten Verbindungsregister
211 sind mit dem ROSAR 193 über die Sammolleitung 212 gekoppelt.
Diese Register haben Ausgänge 214,215. Das Prozessorspeicheidatenregister 70
(Fig. 2E) bildet einen v/eiteren Eingang zum ROSAU 193 über die Sammelleitung
73. Die bedingte Verzweigungsschaltung 152 bildet einen Eingang zum ROSAR
193 über die Sammelleitung 216.
Die Quellen-Decodierschaltung 205 enthält die Ausgangsquellensteuerleitungen
231, über die iiie verschiedenen Quellen-UND-Glieder ( wie das UND-Glied
102) für den Zugriff zu Quellendaten gesteuert werden. Der Bestimmungsdecodierer
20ό enlhält Ausgangsbestimmungssteuerleitungen 232, die verschiedene Bestimmungs-UND-Glieder
( wie das UND-Glied 76) zur Weitergabe von Bestimmungs-Daten an die richtigen Register oder andere Funktionseinheiten steuern.
Die Rechenwerk-Funktions-Decodierschaltung 208 enthält Rechenwerk-Funktionssteuerleitungen
233, über die die verschiedenen Funktionen des Rechenwerks währenc
der Prozessor zyklon gesteuert werden. Die Bestirnmungssteuerungen, Quellensteuerungen und Rechenwerk-Funktionssteuerungen werden nachfolgend noch
insoweit genauer beschrieben, als sie mit der Erfindung der vorliegenden Anmeldung
zu tun haben.
B0982|/0746
ί y-76-022
Die Speiclierstf-ufi-DecodieiT-cliultung 207 hat einen Ausgang 235, del mit
einer Speicherstt'ijuischaltuny 236 verbunden ist, die einen zweiten f.ingang
aufweist.dei mit der Decodicischoltung 209 verbunden ist, und einen dritten
Eingang 238 von der KanaUchnittstellensfeuerschal rung 239 (Fig. 2D).
Die Sammelleitung 230 ist in beiden Richtungen benutzbar ( Zwcirichfungs-Leitung)
und wird während di-r Datenübertragungen zwischen den E/A"Geräten
4-1 bis 4-10 und dein Prozessor 1 benutzt. Die Schnittstellensammelleiturig
12 und die Synchronisationssurnmelleitung 135 sind beide mit der Speichcrsteuerschaliuiig
236 gekoppelt.
Die Decodicrschalhingen 209 haben einen Statussteucrausgang 240, einen
Abtaslunterbrechung;- Anforderungsausgang 241 und einen Fehleranzeigeausgang
242. Ausserdem ist ein Ausgang 243 von den Decodierschaltungen
mit den Taktsteuerschal tungen 245 (Fig. 2C) gekoppelt. Ein Kristalloszillator
246 liefert Signale an einen Frequenzteiler 247, der seinerseits mit dem Eingang der Taktsteucrung 245 gekoppelt ist und die Taktimpulse
für den Dalenfluss und die Steuerungen des Prozessors 1 liefert. Diese Taktimpulse für den Datenfluss und die Steuerungen des Prozessors werden über
die Ausgangsleitungcn 248-1 bis 248-n der Taktsteuerschaltung 245 geliefert.
Die Synchronisationssamrnelleitung 135 ist mit der Taktsteuerschaltung 245 gekoppelt. Sie ist eine Zweirichtungs-Uebertragungsleitung.
Die Kanalschallungsanordnung 250 (Fig.2A,2D) wird anschliessend im einzelnen
beschrieben. Sie enthält mehrere Treiber- und Empfängerschaltungen 251
982^70746
- /4 - BC9-76-022
bis 256, die mit den verschiedenen Einzelleitungen und Scimmelleitungen
der E/A-Schnittslellc 2 gekoppelt sind. Der Empfänger 251 ist mit einer Anforderungseingaiigssamrr.ellnitung
261 (Bits 0 bis 3) gekoppelt, der Empfänger 252 mit einer
Anforderungsfingangssa minelleitung 262 ( Bit 16). Eine Gruppe von Treiberund
Empfängerschaltungen 253 ist mit der Aufrufleitung 263, der Aufruflücklcitung
264 und der Bündelrückleitung 265 verbunden. Die Treiberschaltung
254 ist mit dor Aufiufidentifiziersammelleitung 266 ( Bits 0 bis 4)
gekoppelt. Die Treiber- und Empfängerschaltungen 255 sind mit den Leitungen
267-1 bis 267-10 verbunden, bei denen es sich um die Leitungen für das Serviceschaltsignal, das Serviceschalt-Rücksignal, das Adressschaltsignal,
das Adresschcilt-Rücksignal, das Datentastsignal, das Anhalte- oder Maschinenfehlersignal,
das Systeinrückstellsignal, das Wort/Byte-Anzeigesignal, das Eingangs/Ausgcingsanzeigesignal und die Leitungen für die Bits 0 bis 3
der Cycle-Stenl-Zustandssammelleitung handelt. Die Empfänger 256 sind mit
der Bedingungscode-Eingangssammelleitung 268 ( Bits 0 bis 2) verbunden. Die E/A-Schnittstelle 2 enthält auch eine Datensammelleitung 269, eine
Adresssammelleitung270 ( Bits 0 bis 15) und eine Adrcsssammelleitung 272
(Bits 16) sowie eine Stromeinschalt-Rückstelleitung 271.
Die Datensummelleitung 269 ist mit dem Eingang einer E/A-Schnittstellen-Paritätsprüf-
und Paritätsgeneratorschaltung 275 verbunden. Die Schaltung enthält einen ersten Ausgang 276, der Paritütsbits
an die E/A~Schnittstellen-Datensammelleitung 269 liefert, wenn kein Fehler
in den von dem E/A-Gerät an den Prozessor 1 übertragenen Daten vorliegt.
809829/0746
- yC - UC9-76-022
Die Schaltung 2/5 enthält einen zweiten Ausgang 777, der ein Signal liefert,
wenn ein Paritätsfehlor auf der Dütcnsainmel leitung 269 auftritt. Die DaiensammIleitung
269 ist mit der Piozessoisanimelleilung WI über ein Quellen-UND-Glied
2/8 verbunden. Die Daieiisammellei tunjj ?ό9 ist mir dem Eingang
des Cycle - Siecil-Speicheidatenregister 166 über das UND-Glied 280 und mit
dem Ausgang dieses Registers über dis UND-Glied 2/9 sowie mit dem Ausgang
55 des Y-Regislers 53 über da: UND-Glied 281 veibunden.
Die Adresssammelleitung 270 ist mit dem Eingang des Cycle-Steal-Speicheradressiegisteis
142 und mit dem Ausgang des Zählers 75 über eine Torschaltung 273 gekoppelt.
Der Ausgang 182b der Empfängerschaltung 251 ist mit einem Eingang des
Registers für die aktive Stufe (181) über ein UND-Glied 187c gekoppelt, dessen anderer Eingang der Maskenlreiberausgang 182a ist. Die Treiberund
Empfängerschaltungen 252, 253,254 sind mit einer Aufruffolge-Steuerschaiiung
285 gekoppelt. Das Regisler 181 für die aktive Stufe bildet einen weiteren Eingang für die Schaltung 235 über den Ausgang 131a. Eine Anforderungsbestütigungsleitung
286 bildet einen weiteren Eingang zur Aufruffolge-Steuerschaltung
285, die ebenfalls mit der Schnittstellensteuerschaltung
239 über eine Leitung 289 veibunden ist. Eine Steuerschaltung
288 für die Schnittstellen-Folgesteuerung und zur Zeitl imitierung (Abschaltung
nach vorgegebener Maximalzeit) ist mit der Aufruffolge-Steuerschciltung
über eine Leitung 287 verbunden. Die Stronieinschalt-Rückstellcilung 271
bildet einen weiterer) Eingang für die Steuerschaltung 285.
80982 ty 0746
a ßC9-76-022
Die Leitungen 290-1 bis 290-10 koppeln die Tieiber- und Empfänger schaltungen
255 mil der Schnittstdlensteuerscholtung 239.
Die Piozessorsammelleitung 57 ist 16 Bit breil und dienl zur Informationsübertragung
zwischen Quellen- und Bestimmungseinheiten im Datenfluss des Prozessots, die durch Mikroprogrammsteuerung ausgewühlt sind.
Das Operationsregister (OP-REG) 101 ist 16 Bits lang und enthält das
erste Befehlswort einsehtiesslich der RegisteradressargumcMte für den
Registerstapel 80 während der Befehlsdecodierung. Es wird ausserdem als
Datenzwischenregister benutzt, wenn es nicht das erste Befehlswort enthält. Sein Ausgang ist eine der Quellen für die Prozessorsammelbitung 57. Es
empfängt seine Daten vom Speicherdateoregister 70.
Das Rechenwetk ist 16 Bit breit und führt arithmetische und logische Funktionen
aus nach Vorschrift durch die Befehle. Sein Ausgang 56 ist eine weitere Quelle für die Prozessorsammei leitung 57. Es empfängt seine Eingangsdaten vom
WA-Register 52 und vom Y-Register 53.
Das WA-Register 52 ist 16 Bits lang . Es:ist der primäre Eingang für das Rechenwerk
51 für arithmetische und logische Operationen. Es empfängt seine Eingangsdaten als Bestimmungseinheit von der Prozessoisammelleitung 57.
Das Y-Register 53 ist 16 Bits lang. Es ist der Sekundäreingang für das Rechenwerk 51 für arithmetische und logische Operationen. Mit dem WA- Register
zusammen übernimmt es die Verschiebung bei Doppelwort-Schiebcoperationen.
Es empfängt seine Eingangsdaten als Bestimmungseinheit von der Prozessorsammei-
Β0982Φ/0746
ά bC9-76-022
teilung 57. Dieses Register 53 stellt auch die Duti.'iihahn dai für ausgehende Daten
an die L/A--Ou1ensammelleilung 269 für die direkten f/A-Operationen
unter Progiammsleucrung.
Das Prozessorspeicherdatenregister (PROZ.-SDR^ 70 ist 16 Üi!s lang, und durch
dieses Register weiden alle Daten vom und zum Hauptspeicher ( mit Ausnahme
der Cycle-Steal -Daten) übertragen. Des erste Wort eines jeden Befehles,
der vom Hauptspeicher 8 geholt wird, wird durch dieses Register 70 in das OP-Register
101 übertrugen. Wahrend anderer Prozessoioperationen dient das
Register 70 auch als Datenzwischenspeicher. Es kann daher seine Eingabedaten als Beslimmungseinheit von der Prozessorsammelleitung 57 empfangen, und es gibt
Daten als Quelle Ouf diesel PiozessorsammeIleitung 57 aus.
Das Cycle-Steul-Speicherdateriregister (CS-SDR) 166 ist 16 Bits lang, und durch
dieses Register werden alle Doten vom und zum Haupt speicher 8 über die E/A-Datensammelleitung
269 und über die Speichereingabe- oder Ausgabesammelleilung bzw. 139 während der Cycle-Steal-Operationen übertragen.
Die acht wertniederen Bits des 16 Bit langen Zählers 75 werden bei Proto kollierung
der verschiedenen Prozessoroperati onen als Zähler und auch als vorübergehendes Speicherregister für andere Prozessoroperationen benutzt.
Es handelt sich daher um eine Quelle- und Bestimmungseinheit für die
Prozessorsammelleitung 57 und wird auch zum Festhalten der Gciätcadressc für
die Gerätewahl benutzt. Der E/A-Befehl wird über die Torschaltung 273
an die E/A-Adresssammelleitung 270 wührend der direkten Programmsteuer operationen
geleitet.
e0982»/0746
i Cy-76-022
Das Prozessorspeicht rciclressrcgister (PROZ. -SAR) 95 ist ein 16 IUl langer.
Register in dem primär die llauptspeiclieradrcsse fcstgchallen wird. Der Inhalt
des Registers wird über die Torschaltung 141 an die Speichorciflrosssommolleitung
137 für Speicherzugriffe während der normalen Verarbeitung und der direkten Piogrammstcueropeiationen übertragen. Ausserdem dient dieses
Register als Vorübergehendes Speicherdatenregister, wenn es nicht fUr
die Adressierung des Hauptspeichers benutzt wird.
Das Cycle -Steal- Speicheradressiegisters (CS-SAR) 142 isf 16 Bits lang
und hält die über die E/A-Adresssammelleitung 270 vom E/A- Gerät
während der Cycle-Steal-DalenüberhPgungsoperationen übertragene
Hauptspeicheradresse. Der Regislerinhaltwird über die Torschaltung 141 an die
Speicheradresssammelleitung 137 nur für Speicherzugriffe im Cycle-Steal-Vcrfahren
übertragen.
Das 16 Bit lange Z -Register 65 dient hauptsächlich zum Fcsthclten der Daten
für die Bedienungsdatenanzeige (nicht dargestellt) der Konsole 6. Es wird ausserdem eis vorübergehendes Speicherregister bei anderen Prozessoroperationen
benutzt und ist Quellen - und Besiimmungseinheit für die Prozessorsammelleitung
Der Registerstapel 80 in Fig. 3 ist eine Anordnung monolithischer bistabiler
Speicherglieder (Kippglieder) zum Festhalten der Registerinhalte des Stufenstatus,
(SSR)(des Adressschlüssels (ASR) und der Befehlsadresse(BAR) für jede
der vier Unterbrechungsstufen. Er enthält uusserdem Arbei tsregister, die vom
Mikroprogramm benutzt werden, d.h., TEMP, TEMP 1 .... TEMP 3, DBUF,SOA 1,
80982^/0746
- ya - 3C9-76-022
5a
SOA/, sowie k(-i)htci zur Rettur.n (Ab5poichoiunf;j der uhlivn Stufe uirl de:, /Nd rc rs sch
I ir. U1I:;, üif.|'ii;ir,idt nach Dcn;lelluiKj in Firj. 3.
Die Register TEMP und TEMP 1 ... TEMP 3 enthalten, vom Mil,ι ορι G;jt'i"im v.ährend
der noimalcn Verarbeitung benutzte Kur?zeitdjten. SOA 1 enthält dl·.· manuell
eingoci'.'bene Adresse, die für die Adress- Stopopera iioncn zu benutzen iit.
SOA 2 enthält den Konsolenopeicherschlüsscl in den unteien drei BiI^, die
überiycn Bits sind Null. Das DBUI'-Register ist der Konsolendcifenpufici .
Der Inhalt dieses Puffers speist die Datenanzeicjer ( nicht dcngestellt ) auf
der Konsole 6 . Das Register für die aktive Stufe enthalt die Kennzeichnung
der Stufe, die bei Eintritt des Stopzustandcs aktiv war. Dos ASR-Register enthält
eine Kopie des Adressschlüsscls der aktiven Stufe.
Die Daten in den Registern SSR, ASR, und BAR des Stapels 80 für die aktive
Stufe werden ebenfalls in zugeordneten(als separate Schaltungen ausgebildeten
Registern 90, 85, 107 aus Leistungsgründen festgehalten, d.h., um die Anzahl
der Stapelzugriffe zu reduzieren. Der Stapel 80 des Aucführungsbeispiels besteht
aus zwei Gruppen zu je 64 χ 9 Speicherplätzen in Parallelschaltung zur
Bildung einer Speichergiuppe von 64 χ 18 Speicherplätzen.
Das Stapeladressregister 105 ist ein sechs Bit langes Register zur Adressierung
des Stapels 80. Die Eingangsdaten zum Register 105 ko.nmcn von einer Addierschaltung
320 über ein Stapelvcrbindungsrcgister 321 und eine Torschaltung 322, vom Register
185 für die vorgewählte Stufe über die Sammelleitung 185a und die Torschaltung
185b, vom Register 181 für die aktive Stufe über die Sammelleitung
181a und die Torschaltung 181b, vom OP-Regisler 101 über die Sammelleitung
80982^/0746
- yf - BC9-76-022
.23
101α und die Torschaltung 101b, und von der Prozessorsrmrncl leitung 57.
Das Siapelodiessiegislcr 105 wird von der Prozessorsammei Iei lung 57 über
die Torschaltung 106 geladen.
Das separate Stufenstatusregister (SSR) 90 ist ein 16 ßit langes separates
Register zum Festhalten des aktiven Stufenslatus. Während der Arbeit auf
einer bestimmten Stufe ändert sich der Inhalt des Registers SSR 90 aufgrund arithmetischer und logischer Operationen. Das Aktivstufenregister im Registerstapel 80 bleibt unverändert, bis ein Stufenwechsel erfolgt. Zu diesem
Zeitpunkt wird der Inhalt des SSR-Registers 90 in das SSR-Register im Registerstapel 80 der verlassenen Stufe gesetzt, und der neue Stufenstotus vom Registcrstapel 80 wird in das SSR-Registcr 90 gesetzt.
0 Geradeanzeiger
1 Uebertragsanzeiger
2 Ueberlaufanzeiger
3 Anzeiger negatives Ergebnis
4 Anzeiger Null-Ergebnis
8 Ueberwachungszustand
9 In Verarbeitung Zustandssteuerungcn
10 Protokollierung
11 Summenmaske
809821/0746
HC9-76-022
3k
Die Eryebnisanzciger werden von den Programmen für die Entschoidungsfindung
benutzt.
Die Anzeige für "Gerade","Uebeitragend "Ueberlauf" werden auch bei
E/A-Operationen benutzt, um die an den Prozessor 1 von den E/AGeräten
4-1 bis 4-n gesendeten Bedingungscodes festzuhalten.
Während der Ausführung eines E/A-Befehls werden folgende Bedingungscodewerte
den Anzeigern für "Gerade","Uebertrag" und'Ueberlauf"
zugeordnet :
Bedingungscode Gerade | 0 | Uebertrag | Ueberlauf | Bedeutung |
0 | 0 | 0 | 0 | Gerät nicht angeschlossen |
1 | 0 | 0 | 1 | Belegt |
2 | 0 | 1 | 0 | Belegt nach Rückstellung |
3 | 1 | 1 | 1 | Kommaridozurückweisung |
4 | ) | 0 | 0 | Eingreifen erforderlich |
5 | 1 | 0 | 1 | Schnitfstel lendatenprüfung |
6 | 1 | 1 | 0 | Steuerung belegt |
7 | 1 | 1 | Zufriedenstellend | |
Während der Unterbrechungsannahme | werden alle Bedingungscodes durch das |
betreffende Gerät abgegeben. Die Anzeiger für "Gerade", "Ueberirag"
und "Ueberfauf" erhalten dann folgenden Bedingungscodewerte zugeordnet :
809829/0746
0 | 0 | - >f- SS |
Definitionen der Slufenstatusregisterbits | i>C 9-76-022 | |
2756762 TABELLE 3 |
0 | 0 | Ueberlauf | Bedeutung | |
BedingungscofJe Gerade Ueberirag | 0 | Steuerung Ende | |||
0 | 0 | 1 | 1 | Programmgesteuerte Unter | |
1 | 0 | 1 | brechung | ||
1 | 0 | 0 | Ausnahme | ||
2 | 1 | 0 | 1 | Geräteende | |
3 | 0 | Achtung | |||
4 | 1 | 1 | 1 | Achtung und prograinmgesteuei i | |
5 | 1 | 1 | Unterbrechung | ||
TABELLE 4 | 0 | Achtung und Ausnahme | |||
ό | 1 | Achtung und Geräteende | |||
7 | |||||
Geradeanzeiger ~ auf Eins gesetzt, wenn das wertniedere Bit des Ergebnisses
Null ist, sonst auf Null gesetzt.
Uebertragsanzeiger- auf Eins gesetzt, wenn das Ergebnis von Addjtionen oder
Subtraktionen nicht als Zahl ohne Vorzeichen dargestellt werden kann, sonst auf Null gesetzt.
Ueberlaufanzeiger- auf Eins gesetzt, wenn das Ergebnis einer Rechenoperation
nicht als Zahl mit Vorzeichen dargestellt werden kann, sonst auf Null gesetzt.
809829/0746
- lit -
3C9-76-02
Ueberwachungs-zustand
Negativanzeiger auf Eins gesetzt, wenn Bit Null des Ergebnis Eins ist.
sonst auf Null gesetzt.
Nullanzeigcr - auf Eins gesetzt, wenn das Ergebnis aus lauter Nullen besteh',
sonst auf Null gesetzt.
auf Eins gesetzt, sobald der Prozessor 1 in den Ueberwachuny
zustand eintritt. Der Eintritt in den Ueberwachuncjszustand erfolgt wenn :
ein Ueberwachungsaufrufbefehl ausgeführt wird, eine Klassenunterbrechung auftritt^
eine E/A-Unterbrechung angenommen wird
eine E/A-Unterbrechung angenommen wird
In Verarbeitung - dieses Bit wird ein- oder ausgeschaltet durch das entsprechen
Bit im SSR des Speicherstufenstatusblocks (SSB), sobald der Ladebefehl für den Slufenstatusblock (SSB-LD) ausgeführt wire
Dieser Befehl lädt einen SSB vom Speicher 3 in den SSB der bezeichneten Stufe im Stapel 80.
dieses Bit wird durch das entsprechende Bit im SSR-Register de
Speichers SSB gesetzt oder zurückgestellt,sobald der lokale Stufensfatusblockbefehl ausgeführt ist.SSB-LD lädt einen SSf'
vom Speicher 8 in die bezeichnete Stufe SSB im Stapel 30. wenn die Summenmaske gleich Null ist, werden alle Prioritüi
Unterbrechungen auf allen Stufen abgeschaltet. Wenn die Maske gleich Eins ist, werden alle Prioritätsunlerbrechungcn
auf allen Stufen eingeschaltet. Die Summenmaske wird durch folgende Vorgänge auf Eins gesetzt(eingeschaltet) :
Protokoll -
Summenmaske -
60982^/0746
- rf - 3C9-76-022
3?
Ausführung des Freistil >obefeh!s mil Diί" 10 r;
Systemrückstellung, Rückstellung I -i Slromcin'diCiltung,!!'!.
Ausführung eines SSB-LD-licfehls, wobei BiI 11 des
Speicher - SSR ^ 1
Annahme einer PriorUciteunleiLiciilsung auf de·
unterbrechenden Stufe.
Die Summenmaske wird dutch fclyt-nde Vorg^nyo ouf Null
gesetzt ( abgeschaltet) :
Ausf ührung des Aufrufbefehls für drss Uoberwochungs -
programm (SVC).
Ausführung des Sperrbefehls mit Bii 15 =
Konsole
Ausführung des SSB-LD-Befehls mit Bit 11 des Speicher -
SSR = 0 .
Der Prozessor 1 betrachtet die Zahlen nicht als solche mit oder ohne Vorzeichen,
sondern führt die bezeichneten Operationen auf den gegebenen Werten aus. Alle
Anzeiger geben dos Ergebnis der Operation wieder. Dadurch kann der Programmierer
80982^/0746
_ y( - BC9-76-022
Ergebnisse des ausgeführlen Opeiatioiistyps überprüfen.
Das Progiorriinslatusvvortregistcir (PSW) 115 ist 16 Bits lang und enthält
Fehler- und Ausnahmeinformation, die zu einem Piogrammfchler , einem
Maschinenfehler, einer weichen Ausnahmeverzweigung oder zum Auftreten einer Slromlhermowainung führ). Drei Statuskennzeichen sind ebenfalls im PSW-Register
115 enthalten. Das PSW-Register 115 wird über separate Schaltungen
und vom Mikroprogramm abgefühlte Bedingungen gesetzt.
8098 2^/0746
2756762 TABELLE |
- | Weiche Ausnahme | - "jii - BC9-76-022 39 5 |
Bedeutung |
Verzweigung | Prozessorstaluswort | SpezifiUationsprüfung | ||
Bit | Ungültige Speicheradresse | |||
0 | Vorrecht verletzt | |||
1 | Schutzfehler | |||
Programmfehler | 2 | Ungültige Funktion ( entweder Programmfehlci oder | ||
3 | weiche Ausnahme/ | |||
4 | GI e i tkomma-Aus nähme | |||
Stapelausnahme | ||||
5 | ||||
6 | ||||
7 Reserviert
8 Speicherparitätsprüfung
Maschinenfehler | 9 | Reserviert |
10 | Prozessorsteuerprüfung | |
η | E/A - P rüfung | |
12 | Rcihenfolgeanzeiger | |
Slatuskennzeichen | 13 | Auto- IPL |
14 | Ueberserzer eingeschaltet | |
Strom/Theimo | 15 | Strom/Thermowarnung |
Das Adressschlüsselregister ( ASR) 85 in Fig. 2G ist ein 16 Bit langes separates
Register und enthält während der Verarbeitung auf einer Stufe jeweils den
80982^/0746
Adresschlüssel der aktiven Stufe. Dus ASR-Register 85 liefert den Adressschlüssel,
der in der ScI, eil lung 121 mil dein Schlitzschlüssel der Speichoranordnung
110 verglichen wird. Dieser Vergleich wird für jeden Speicherzugriff mit Ausnahme der Cyclc-Steal-Operationen vorgenommen. Das Schlüsselfcld
(ISS) des ASR für den ßefehlsadressbereich wird ebenfalls als Konsoladressschlüssel
für manuelle Speicherzugriffe von der Konsole 6 aus benutzt.
80982^/0746
- *fl - BC9-76-O22
31
Adi esschlüssel register
Bit Bedeutung
O Operandenberei die Gleichsetzung
5 Operand 1 Schlüsselbit 0
6 Operand 1 Schlüsselbit 1
7 Operand 1 Schlüsselbit 2
9 Operand 2 Schlüsselbit 0
10 Operand 2 Schlüsselbit 1
11 Operand 2 Schlüsselbit 2
13 Befehlsbereichschlüsselbit
14 Befehlsbereichschlüsselbit
15 Befehlsbereichschlüsselbit
Das Adressregister für den laufenden (akuten) Befehl (LPAR) 107 (Fig.2G) enhäl»
die Adresse des ausgeführten Befehls. Das LBAR-Register 107 wird arn
Anfang eines jeden Befehls g eladen, und während der Ausführung wird das Stufen - BAR
im Stapel 80 auf die nächste Befehlsadresse fortgeschrieben. Sollte die vollständige
Ausführung des laufenden Befehls durch eine Klassenunterbrechung gestoppt werden, wird die Klassenunterbrechung verarbeitet und dann mit dem
Inhalt des LBAR-Registers 107 der unterbrochene Befehl wieder adressiert und
dann noch einmal ausgeführt.
80982^/0746
- ZU - BC9-76-O22
39.
Die Spei ehe ι schul/anordnung 110 (Fig. 2H) besteht aus 32 Spcicheischlüsse'lregislem
( nicht dargestellt). Die Anordnung wild eingeschaltet, wenn der
Speicherschutz eingebaut und freigegeben ist. Jedes Register enthält den Sc hutzschlüssel und ein Nur-Lescbit, um einen 2048 Byte grossen Block des
Speichers 8 anzusteuern. Der Speicherschlüssel-Eingabebefehl setzt den Schlüssel und dus Nur-Lesebit in ein bestimmtes Speicheischlüsselregister.
Der Spe icherschlüssel-Kopieibefehl liest ein bestimmtes Speicherschlüsselregister
aus.
Das Aktiv-Stufeniegisfer 185 ( Fig. 2A) besteht aus einem zwei Bit grossen
Register, indem der Anzeiger für die aktive, gegenwärtige v/irksam Stufe festgehalten wird. Das Register 185 wird geladen, sobald die Stufe wechselt.
Das Register 185 wird bei der Adressierung des Stufcnstatusblocks im
Speicherslapel 80 und auch bei der Entscheidung über eine Unterbrechungsannahme
benutzt. Für den letzteren Zweck wird ein Zwei-in-Vier-Bit-Stufendecodierer
verwendet. Das Register 185 ist eine Quellcn-und Bestimmungseinheit für die
Prozessorsammelleitung 57.
Das Maskenregister 175 ( Fi g. 2A) istein vier Bit langes Register und dient
dazu, die Prioritätsunterbrechungen auf den vier Unterbrechungsstufen wie folgt freizugeben oder zu sperren :
Bit 0 = 0 Stufe 0 Unterbrechungen gesperrt
Bit 1 - 0 Stufe 1 Unterbrechungen gesperrt
Bit 2 = 0 Stufe 2 Unterbrechungen gesperrt
609821/0746
- Λ - BC9-76-022
Bit 3 = 0 Stufe 3 Unterbrechungen gesperrt
Bit 0 = 1 Stufe 0 Unterbrechungen freigeben
Bit 1 = 1 Stufe 1 Unterbrechungen freigeben
Bit 2 = 1 Stufe 2 Unterbrechungen freigeben
Bit 3 = 1 Stufe 3 Unterbrechungen freigeben
Die Bits im Maskenregister 175 werden durch den Maskenladebefehl gesetzt.
Das Register ist eine Quellen - und Bestimmungseinheit für die Prozessor Sammelleitung
57.
Die Maskenregisterausgänge 178 sind ebenfalls mit den Maskentreibern 180
verbunden, so dass die vier Bits des Maskenregisters 175 mit den entsprechenden Prioritäisunterbrechungsanforderungsbits von den E/A-Schnittstellenempfängern
251 und der Sammelleitung 261 UND- verknüpft werden können , um die
Unterbrechungsannahme festzulegen.
Ein Kristalloszillator 246 erzeugt eine Taktgrundfrequenz für den Prozessor 1
Ein Frequenzteiler 247 erzeugt die freilaufenden Taktimpulse A,B,C und D
nach Darstellung in Fig. 8. Der obere Pegel bezeichnet die logische Eins.
Die Impulse dauern 55 Nanosekunden und erscheinen alle 220 Nanosekunden.
Die Taktsteuerungen 245 steuern das Stoppen und Starten der Taktimpulse, verteilen
die Taktimpulse auf den Datenfluss und die Steuereinrichtungen und erzeugen bestimmte Spezialtaktimpulse für die Hauptspeichertaktierung. Die
geschalteten Taktimpulse haben dieselbe Form wie die oben beschriebenen Impulse A, P>, C und D, können jedoch durch Bedingungen gestoppt und ge -
609821/0746
- pt - BC9-76-022
startet v/erden, die im Mikroprogramm entstehen.
Die Sammclleitungs-Null-Detektorschaltung 150 besteht aw>
einer Gruppe von logischen Elementen, die feststellen können , ob der Wert auf der Prozessoisammelleitung
Null ist. Ihr Ausgangssignal wird vom Mikroprogiamm bei der Entscheidungsfindung verwendet.
Die Pari töisprüf- und Pari tätsgeneralorschaltung 171 prüft alle vom Hauptspeichers
durch den Prozessor empfangenen Bytes auf ungerade Parität, und erzeugt die Parität für alle Bytes, die vom Prozessor 1 an den Hauptspeicher 8 gesendet
werden. Das Erkennen eines paritätsfehlers bei einkommenden Daten setzt das
Speicherparitätsbit im PSW-Register 115 und löst eine Unterbrechung in der Klasse
Maschinenfehler aus. Das Erkennen eines Paritätsfehlers in der Cycle-Steal-Anordnung
fürht dazu, dass dem aktiven E/A-Gerät eine Fehletbedingung signalisiert
wird.
Die E/A- Schnittstellen- Paritatsprüf- und PariUitsgeneratorschaltung 275 prüft alle
über die E/A- Schnitlstellendatensammelleitung 2 empfangenen Bytes auf ungerade
Parität. Sie erzeugt die ungerade Parität für alle über die E/A-Schniltslellendatensammelleitung
2 übertragenen Bytes. Wenn auf hereinkommenden Daten ein Paritätsfehler erkannt wird, wird die Fehlerbedingung dem aktiven E/A-Gerät
signalisiert.
Der Anhalt-E/A-Decodierer 161 decodiert den Anhalt-E/A-Befehl, der durch
den Kanal 250 und nicht durch ein E/A-Gerät ausgeführt wird. Dadurch werden alle E/A-Gerüte 4-1 bis 4-n rückgestellt, die an das Sysiern angeschlossen
sind.
80982^/0746
Mit der Schlüsselwahllogik 126 wird einer der drei ASR-Schlüssel im Uegistcr 85
oder der Cyclc-Steol-Sc.hlüssel über die Sammelleitung 129 für den Hauptspcicherzutirifi
gewählt. Vv.ihrend der Cycle-Steol-Operationen wird der E/A-Cycle-Steal-Schlüssel
an den prozessor 1 auf der Redingungscodegangssammelleitung 268 der E/A-Schnittstelle
2 Ubeitragen. Die Ausgangsdcitcn 127 dieser Schaltunq 1Π6 werden an den
Ueberselzer 9 und an die Schlüsselvergleichsschaltung 121 gesendet.
In der Schlüsielvergleichsschaltung 121 wird der gewählte Schlüssel mit dem
Speicherschutzschlüssel von der Speicherschutzanordnung 110 verglichen.
Bei einer Verletzung wird das Speicherschutzfehlerbit im PSW gesetzt, und es tritt eine Unterbrechung ein.
Die Aufruffolgestcuerung 285 erzeugt das Aufrufsignal auf der Leitung 263 und das
Aufrufkennzeichen auf der Sammelleitung 266, und liefert Signale an die
Schnittstollonsteuerschaltung 239 für die Service-Durchschaltoperation und
an die Steuerschaltung 288 (Schnittstellen-Folgesteuerung· und Zeitlimitierung)
für die Fehlerprüfung. Mit dieser Anordnung soll ein Wettbewerb zwischen mehreren Geräten aufgelöst v/erden, die eine Verbindung zur gleichen
Quellencinheit im Prozessor anfordern.
Die Schnittstellensteuerschaltung 239 erzeugt die Adresse und die Service-Durchschaltsignale
für die Schnittstelle und sorgt für die Auflösung von Konfliktsituationen, registriert Cycle-Steal-Speicherzugriffsfehler zur Präsentation an
das Gerät, besorgt die Signalisierung von und zu den Speichersteuerungen, korrigiert die Signale auf den Schnitlstellensarnmelleitungen und steuert
den Bedingungscode in den Kippgliedern 130.
B0 98 2V 07 4 6
- yf- BC9-76-022
Die Steuerschaltung 288 für Schnittstellen-Folgesteuerung und Zeiflimitieiung
besorgt die Maximalzeitsteuerung für die Reihenfolgefehleiprüfung auf der
Schnittstelle 'J1 cnldcckt ungültige Kombinationen von Schnilfstellensignalen
und berichtet die Erkennung von Maschinenfehlerbedingungen auf der Schnittstelle
an den Prozessor 1.
Die E/A-Schniüstelle 2 verbindet den Prozessor 250 mit den Geiäteanschlüsscn
5-1 bis 5-n . Sie besteht aus den nachfolgeno beschriebenen Elementen.
Die t/A-Dc!lensam,nelleitung 269 ist eine Zweirichtungs-Sammelleitung mit 16 Daten
und zwei Paritütsleitungen. Sie dient der Datenübertragung von und zu den C/A-Geröfcii
4-1 bis 4-n während der direkten Programmsteueroperationen und der Cycle-Steal-Oper*;
tionpn, und sie dient der Uebertragung der Einheitenadresse und des Unterbrechungsstatus
byte an den Prozessor 1 während der Unterbrechungsannahme.
Die E/A-Adresssammelleitung 270 ist eine Zweirichtungs-Sammelleitung mit
16 Leitungen für Geräteadressen für die Gerätewahl und für E/A-Befehle an
die E/A-Geräte 4-1 bis 4-n, während der direkten programmgesteuerten Operationen. Sie dient der Uebertragung von Hauptspeicheradressen vom
aktiven E/A-Gerät an den Prozessor 1, während der Cycöe-Steal- Operation.
Die E/A Schnittstellensteuersignale auf den Leitungen 267-1 bis 267-10 sind eine
Gruppe von Signalen mit denen Bedingungscodes an den Prozessor 1 geleitet, der
jeweiligen Zustand an die E/A-Geräte 4-1 bis 4-n gegeben, E/A-Operationen
gewählt und gesteuert werden, mit denen Unterbrechungs- und Cycle-Steal-Anforderungen
an den Prozessor 1 übertragen, Reihenfolgen für Unterbrechungs-
- /J - BC9- 76-022
3?
und Cycle-Slcal-Operotionen gesteuert werden, mit denen Rückstellungen
gesteuert werden, und die die richtige Reihenfolge der direkten Programmsteueroperationen und der Cycle-Steal-Operationen bewirken.
Die Geräteanschlüsse 5-1 bis 5-n steuern die E/A-Geräte 4-1 bis 4-n
und schalten sie an die E/A-Schnittstelle an. Ein Anschluss ( wie beispielsweise der Anschluss 5-1) kann mehr als ein E/A-Gerät (z.B. das Gerät 4-1)
steuern.
Die Speicher/Uebersetzer-Schnitrstelle 3 enthält eine Hauptspeichersammel leitung.
Die besteht aus der Adresssammelleitung 137 für die Adressierung des Hauptspeichers 8 und fUr die Uebertragung logischer und physischer Speicheradressen
zwischen dem Prozessor 1 und dem Verschiebungsübersetzer ( Adressübersetzer) 9, sowie aus den Sammelleitungen 138 und 139 zur Datenübertragung zwischen dem
Hauptspeicher 8 und dem Prozessor 1, und zwischen dem Adressübersetzer 9 und dem Prozessor 1.
Die Schnittstelle 3 enthält ausserdem die Steuersignal leitungen 127, 135 und
136 zwischen Prozessor und Uebersetzer für die Uebertragung aktiver AdressschJUssel, der Prüfungsbedingungen und der Synchronisationssignale zwischen dem
Prozessor und dem Adressübersetzer 9.
Die Innenspeicher-Steuersignal leitung 12 übernimmt die physische Wahl des
inneren Speicherbereiches 14, die Teilgruppenwahl im gewählten Bereich und die richtige Reihenfolgeschaltung der Lese/Schreibsteuersignale zur Adressierung des
Bereiches zwischen 0 und 64 Kilobyte des inneren Hauptspeicherbereiches
80982^/0746
- K" - BC9-76-022
Die Bedienungskonsole 6 bietet dem Bediener und dem Programmierer umfassenden
Zugriff zu den Datenflusselementen im Prozessoi 1 und zum Hauptspeicher 8. Sie ist on den Prozessor 1 über eine Mikroprogramm-gesteuerte
Schnittsteile angeschaltet, die in den Datenfluss des Prozessors I integriert ist.
Mikroprogrammsteuerung ( Fign. 6 bis 9 )
Die Fign. 6 und 7 zeigen den Datenfluss und das Format des Prozessors 1
und der Festspeicher-Steuerungen, Fig. 8 zeigt die Zyklustaktierung und Fig. 9
einen Plan des Festspeichers ROS 201. Die Mikroprogrammsteuerung arbeitet nach
dem Prinzip, dass jeder Maschinenbefehl nur soviele Mikrozyklen wie nötig benutzt. Während eines jeden Mikrozyklus kann eine "Quelleneinheit" zur
-Zweirichtungs-Prozessorsommlleitung 57 durchgeschaltet werden, und eine
oder mehrere "Bestimmungseinheiten" können aus dieser Sammelleitung 57 geladen werden. Im Ausfuhrungsbeispiel wird angenommen, dass der Prozessor 1
einen 32 Bit breiten Festspeicher ROS 201 benutzt. 22 Bits werden zum Steuern
des Datenflusses des Prozessors I Über die Sammelleitung 204b benutzt. Das Feld
"nächste Adresse" (NA) (Bits 22 bis 31) eines jeden ROS -Wortes liefert Über
die Sammelleitung 204a die zehn wertniederen Bits an das Festspei eher-Adressregister
ROSAR 193 (Fig.o). Das eine werthohe Bit des ROSAR 193 wird (durch Schaltungselemente oder durch Mikroprogramm) über ein Kippglied
"ROSAR Bit 0 setzen"302 und ein UND-Glied 303 geliefert. Die Sammelleitungen
204a und 204b bilden zusammen die in Fig. 2ß gezeigte Sammelleitung 204.
8O982V0746
- ?S -
BC9-76-022
Im ROS gibt es nach Darstellung in Fig. 2B fünf Eintritts+ellen für Zwangsadressen. Für jede gib! es eine oder mehrere, schaltongsabhängige Eintritts—
bedingungen ( im Gegensatz zu Befehlen.)
Wenn keine schaltungsbedingte Zwangseingabe erfolgt, erzwingen die ersten
fünf Bits des Befehles eine ROS-Eingabe nach Darstellung im oberen rechten Teil der Fig. 9. Bei befehlsbedingten Eingaben wird das Kippglied
"ROSAR Bit 0 setzen" 302 in Fig. 6 gesetzt. Von diesem Punkt an bis zum
Ende des Befehles gibt das Kippglied 302 zusammen entweder mit dem zehn Bit langen Feld "nächste Adresse" ( NA) vom ROS-Datenregister (ROS DR)
202 oder mit dsm Inhalt eines der zehn Bit langen Verbindungsregister 210
oder 211 das nächste auszuführende ROS-Wort an.
Gewählte"nächste Adressen" in Hexadezimaldarstellung werden durch die
Decodierschallung decodiert, um einen letzten Mikroz yklus zur Beendingung
des ausgeführten Befehles zu wählen, die Kippglieder SR 1 und SR 2 305 und
zurückzustellen und einen neuen Befehl über eine Anfangseingabe einzuleiten. Eine
rückstellendes Laden oder eine Klassenunterbrechung beendet ebenfalls die
Befehlsausführung, stellt die.Kippglieder SR 1 und SR 2 305 und 306 zur ück und
erzwingt eine Verzweigung zum Start des Mikroprogramms.
80982^/0746
- la - BC9-76-022
ROS - Verbindung! egister und Taktierung
Jeder Impuls des Zeitsignals C ;taktet das ROS-Adressregister (ROSAR) 193.
Jeder Impuls des Zeitsignals A taktet des ROS- Darenregister (ROSDR) 202.
Jeder Zeitimpuls A leitel die ROSAR-Bits 1 bis 8 in das ROS Verbindungsregister
(210), Bit 1 bis 8 , während die ROSAR-Bits 9 bis 10 durch eine Inkrementierschaltung
307 in die Bits 9 bis 10 des ROS- Verbindungsregisters 1 gelangen, wenn
nicht das Unterroutinen-Kippglied 305 (SR 1) gesetzt ist. Dadurch wird das
Verbindungsregister 210 auf den Wert des ROSAR + 1 gesetzt, ausser wenn die letzten zwei Bits des ROSAR 193 beide gesetzt sind. Dann wird das Ver bindungsregister
210 auf den Wert des ROSAR -3 gesetzt. Das ist die Rückkehradresse von der Unterroutine der ersten Stufe zurück in das Hauptprogramm.
Ausser wenn das Kippglied SR 2 (306) eingeschaltet ist, leitet jeder Zeitimpuls
A genau denselben Wert in das Verbindungsregister2(211), wie es
oben für das Verbindungsregister 1 (210) beschrieben wurde. Das ist die
Rückkehradresse für die zweite Stufe. Das Kippglied SRl ( 305) und das Kippglied
SR 2 ( 306), die den Zustand des Verbindungsregister 1 (210) bzw. Verbindungsregister
2 ( 211) einfrieren, werden durch das Zeitsignal D getaktet.
Unterroutinenaufruf der ersten Stufe
Ein Unterroutinenaufruf besteht aus einer Verzweigung zu einem bestimmten
Bereich ( Gruppe von ROS-Adiessen). Wenn eine Verzweigung vom unteren
Hauptprogrammbereich zum Unterroutinenbereich 1 erfolgt (Fig. 9 ), steht
am Ende des Zeitimpuls A die UnterroutinenrUckkehradresse im Verbindungsregister
(210). Während des Zeitimpuls D wird das SR 1 Kippglied 305 gesetzt und so
809829/0746
- ϊί - BC9-76-022
der Wert im Verbindungsregister 1 (210) eingefroren. Die Unterroutine
der ersten Stufe kann alle ROS-Adressen benutzen mit Ausnahme derjenigen
im Unterroutinenbereich 2. Wenn eine Verzweigung vom hohen Bereich des
der ROSAR-BitsteHe 0 getaktet, was in einer Verzweigung nach
01 X XXXX XXXX resultiert. Das bedeutet denselben Unterroutinenaufruf
wie vom unteren Hauptprogrammbereich.
Die Unterroutine der ersten Stufe kehrt zum Hauptprogramm zurück
durch eine "nächste Adresse" (NA) mit dem Hexadezimalwert 03 F, der durch die Schaltung 209 decodiert wird. Beim Zeitimpuls C wird das
ROSAR 193 vom Verbindungsregister 1 (210) geladen, so dass das Hauptprogramm an der früher eingefrorenen Unterroutinenrückkehradresse
wieder aufgenommen wird. Beim nächsten Zeitimpuls D wird das Kippglied SR 1 (305) zurückgestellt. Wenn die rufende Stelle im hohen Hauptprogrammbereich lag, erfolgt die Rückkehr zurück zum hohen Hauptprogrammbereich, da das Kippglied 302 noch eingeschaltet ist und das
ROSAR-Bit 1 auf Null gesetzt ist. Die letzte Mikrozyklusdecodierung erzwingt auch die Unterroutinenrückkehr.
809829/0746
- /6 - BC9-76-022
te
Wenn zum Unterroutinenbereich zwei verzweigt wird, wird die Unterroutinenrückkehradresse
im Verbindungsregister 2 (211) über das Kippglied SR 2 (306) genauso eingefroren, wie es oben für den Aufruf der ersten
Stufe beschrieben wurde. Die Unterroutine der zweiten Stufe kann jede ROS-Adresse benutzen.
Die Unterroutine der zweiten Stufe kehrt zur Unterroutine der ersten Stufe zurück durch eine "nächste Adresse" mit dem NA-Hexadezimalwert
03 E. Zur Zeit C wird das ROSAR 193 vom Verbindungsregister 2 (211) geladen und nimmt so die Unterroutine der ersten Stufe an der vorher
eingefrorenen Unterroutinenrückkehradresse wieder auf. Bein nächsten
Zeitimpuls D wird das Kippglied SR 2 (306) zurückgestellt. Die letzte Mikrozyklusdecodierung erzwingt auch eine Unterroutinenrückkehr.
Eine Unterroutine der zweiten Stufe kann direkt zum Hauptprogramm zurückkehren über eine "nächste Adresse" 03 F. Zur Zeit C wird das
ROSAR geladen vom Verbindungsregister 1 (210) und nimmt so das Hauptprogramm an der vorher eingefrorenen Unterroutinenrückkehradresse
wieder auf. Zur nächsten Zeit D werden die beiden Kippglieder 305 und 306 für SR 1 bzw. SR 2 zurückgestellt, so dass ein neuer Unterroutinenaufruf
nach nur einem Wort des Hauptprogramms erfolgen kann.
8098 2^/074
?*
BC9-76-022
Wenn eine Verzweigung direkt von einem Hauptproyramm zum Unterroutinenbereich 2 vorgenommen wird (NA-Bits 1, 2 = 1, 1), wird dus Kippglied SR 2
(306) gesetzt und das Verbindungsregister 2 (211) eingefroren genau wie für
einen Aufruf der zweiten Stufe. Der Ausgang zurück zum Hauptprogramm ist die " nächste Adresse " 03 E, genau wie für einen Ausgang der zweiten Stufe.
Dadurch kann eine Unterroutine im Bereich 2 entweder als Unterroutine der ersten Stufe oder als Routine der zweiten Stufe benutzt werden. Die Rückwege sind nachfolgend zusammengefasst.
TABtLLE 8
03F Register 1 ein aus Hauptprogramm 1. Stufe Bereich 1
03F Register 1 ein ein Hauptprogramm 2. Stufe Bereich 2
03E Register 2 ein ein I.Stufe 2. Stufe Bereich 2
03E Register 2 aus ein Hauptprogramm I.Stufe Bereich 2
03F stellt beide Kippglieder SRI und SR2 zurück. 03E stellt nur das Kippglied SR 2 zurück
80982^/0746
f BC9-76-022
Stcuersc haltung 152 für bedingte ROS-Verzweigung
Dei Prozessor hat bedingte ROS-Verzweigungen mit 4, 8 und 16 Wegen.
Wenn eine bedingte Verzweigung vorgegeben und die Bedingung erfüllt
ist, wird das enliprechende NA-Bit. zwangsweise gesetzt. Wenn eines
der NA-BiIs bereils gesetzt ist, handelt es sich um einen Neutralitätszustand, so dass alle Vier-Weg-Verzwcigungen in Z wei-Weg-Vei zweigungen
unterteilt weiden können, Ιό-Weg-Verzweigungen können 12-Weg-Verzweigungen
werden usw.
Die NA-Bits, die an den bedingten ROS-Verzweigungen teilnehmen, sind
die Bits 5 bis 8. Da für die Rückkehr die NA-Bits 9 bis 10 benutzt werden, können diese bei bedingten ROS-Verzweigungen für bedingte Unterroutinenrückkehr
benutzt werden.
Wenn z.B. die Stelle 0001 10000 11 einen Unterroutinenaufruf der ersten
Stufe abgab und die Unterroutine eine bedingte Vier-Weg-ROS-Verzweigungsrückkehr
ausführte, sind die vier Rückkehradressen folgende :
00011000011 . . ·
00011010011
00011100011
00011110011
80 98 2V 074 6
ROS-Bi r-Dccodiersignale ( Anweisungen)
Die durch Decodierung gewonnenen Steuersignale (Anweisungen) steuern
verschiedene Operationen im Prozessor 1. Die bedingten ROS-Verzweigungen
gestatten dem Mikroprogramm die Verzweigung zu verschiedenen Plälzen
abhängig von den Maschinenbedingungen. Das Quellenfeld gibt an, welche Quelle auf die Prozessorsammelleitung 57 durchzuschalten ist. Das Bestimmungsfeld
gibt einen oder mehrere Bestimmungsorte an, die von der Prozessorsammelleitung 57 zu laden sind. Das Feld "nächste Adresse" gib1 das als
nächstes auszuführende ROS-Wort an.
Emitterfeld
Es gibt vier Decodier-Steuersignale (Anweisungen), die nicht nur die Bestimmungseinheit
angeben, sondern auch die Abgabe der ROS-Bits O bis 15 an
die Prozessorsammelleitung 57 bewirken. Es gibt 12 Decodier- Steuersignale
(Anweisungen), die die Abgabe der ROS-Bits 8 bis 15 ah die Prozessorsammelleitung
57 bewirken. Dadurch kann das Feld " Steuerung bedingte Verzweigung" in demselben ROS-Wort als 8-Bit-Emitter benutzt werden.
Hauptspeichersteuersignale ( Anweisungen)- ROS-Bits 13 bis 15 ( NichtEmitter) : .
Wert Funktion
Wert Funktion
0 Kein Speicherzyklus
1 SR - die nächsten Anweisungen LW ( oder SW)ändern in "Laden(oder Abspeichern)
Segmentregister", wenn Uebersetzer
809821/0746
->2 - BC9-76-022
kto
eingebaut ist. Wenn Uebersetzer nicht eingebaut ist, Programmfehleranzeige
" ungültige Funktion" setzen
2 BR- die nächsten Anweisungen LW oder SW sperren. Der Nächste Befehl
LlW, LUW, LW oder SW kann im zweiten Mikrozyklus nach dem gesperrten
LW oder SW ausgeführt werden.
3 SBY- die nächsten Anweisungen LW oder SW in eine Byteanforderung anstelle
einer Wortanforderung ändern.
Den nächsten Taktergebnisanzeiger in einen Taktbyteergebnisanzeiger
ändern und Veränderung von Byte 0 in demselben Wort sperren.
4 LIW- Befehlswort in SDR mit ISS ( Befehlsabrufschlüssel) laden
5 LUW- unbedingtes Wort in SDR mit OPS ( Operandenzugriff-Schlüssel) laden
6 LW-Datenwort ( zwei Bytes) in SDR laden.
7 SW-Datenworf vom SDR in Speicher abspeichern.
Arbe its v/eise
Die normalen Speicheianforderungen sind LIW,LW und SW. Alle anderen
modifizieren diese. Die vier modifizierenden Speichersteueranweisungen werden zum Verändern gemeinsamer Unterroutinen benutzt. Die Anweisungen
SR, BR, und SBY werden vor einer gemeinsamen Unterroutine ausgeführt, die
LW oder SW enthält , die sie zu modifizieren haben. Diese drei haben keinen
Einfluss auf LIW. Die BTR- Anweisung wird unmittelbar nach LIW, LW oder SW im letzten-Wort einer gemeinsamen Unterroutine ausgeführt.
80982^/0746
- ψ- BC9-76-022
Die SBY-Anweisung verändert nicht nut die beiden Spcichersleueranweisungen
LW und SW, sondern auch die Taktierung der Ergnbnisanzeigor zum Betreiben von
nur acht Bits anstelle von 16 Bits.
BR hat die oberste Priorität und stellt SR und SBY zurück . SR hat die zweite Priorität und stellt SBY zurück
SBY hat die niedrigste Priorität.
Die Figo. 10 bis 14 zeigen verschiedene Zyklustaktierungen im Prozessor,
der als Ausfuhrungsbeispiel der Erfindung gewählt wurde.
Fig.10 zeigt die fünf Mikroinstruktionen, die ausgeführt werden zur Durchführung eines direkten Additionsbefehls auf Maschinenebene, und Fig.11
zeigt die Taktierung von Quelle, Bestimmung und Speicherzugriff während der Ausführung der fUnf Mikroinstruktionen.
der als letzte Makroinstruktion einer jeden Routine zur Ausführung der
( oder Nichterkennung) einer Ausnahme-Bedingung wird entweder die Taktierung
der Fig. 13 oder die der Fig. 14 wirksam.
80982^/0746
- ^r - BC9-76-022
Untorbiechungen
Der wirksame Betrieb eines Zentralprozessors hängt von der prompten
Antwort auf Bedienungsanforderungen von F/A-Gcräten ab. Diese prompte
Reaktion erfolgt nach einem Unterbrechungsschema, das die laufende Prozessoropeiation
stoppt, zu einer Peripheriegeräte-Bedienungsroutine verzweigt, die Gerälebedicnung abwickelt und dann zur Fortsetzung der unterbrochenen
Operation zurückgekehrt. Ein Prozessor 1 kann viele E/A-Geräte 4-1 bis 4-17 steuern, und daher wird eine Unterbrechungspriorität festgelegt, um die
wichtigeren Operationen vor den unwichtigeren abzuwickeln. Bestimmte Fehler- oder Ausnahmebedingungen ( z.B. Maschinenfehler) lösen ebenfalls
Unterbrechungen aus. Diese werden Klassenunterbrechungen genannt und ähnlich gehandhabt wie die E/A-Unterbrechungen.
Die Unterbrechungspriorität witd fesgelegt durch vier Priori tätsunterbrechungsslufen,
die in der Prioritätsreihenfolge 0, 1, 2, 3 aufgelistet sind, wobei die
Stufe 0 die höchste Priorität hat. Unterbrechungsstufen werden den E/A-Geräten 4-1 bis 4-n über Programmsfeuerung zugeordnet. Dadurch erhält man die
nötige Beweglichkeit, um die Geräteprioritäten bei wechselnden Anwendungen
neu zuzuordnen.
Jeder der vier Prioritätsstufen hat nach Darstellung in Fig. 4 ihren eigenen
Registersatz oder Stufenstatusblock ( SSB Stufe 0 bis SSB Stufe 3). Diese
bestehen aus dem Adressschlüssclrcgister ( ASR), einem Stufenstatusregister (SSR), acht allgemeinen Register ( R 0 bis R 7) und einem Befehlsadressenregister
( BAR). Information über eine Stufe wird automatisch in diesen separaten
60982?/0746
Stapelregistern gerettet, wenn eine Unterbrechung auftritt.
E/A- und Klassenunterbrechungen enthalten eine automatische Verzweigung
zu einer Bedienungsroutine. Feste Stellen im Hauptspeicher 8 sind für Verzweigungsadressen oder Zeiger reserviert, die während der Unterbrechungsverarbeitung angezogen werden. Die Verarbeitung einer Unterbrechung durch
separate Schaltungseinrichtungen enthält die automatische Verzweigung zu einer Bedienungsroutine. Der Prozessor 1 benutzt einen reservierten Speicherbereich
im Hauptspeicher 8 für die Verzweigungsinformation. Der reservierte Bereich beginnt an der Hauptspeicheradresse 0030. Die Gesamtgrösse des
Bereiches hängt ab von der Anzahl der angeschlossenen unterbrechenden
Geräte 4-1 bis 4-n. Ein Wori ( zwei Bytes) ist für jedes unterbrechende Gerät reserviert.
Die für eine Klassenunterbrechung benutzten Speicherstellen enthalten jeweils
einen Stufenstatusblockzeiger ( SSB-Zeiger), der auf die erste Adresse
eines Bereiches im Hauptspeicher 8 zeigt, wo ein Stufenstatusblock gespeichert ist, und eine Startinstruktionsadresse (SlA), die auf die erste Instruktion der
Bedienungsroutine zeigt.
Jedes für eine E/A-Unterbrechung benutzte Speicherwort enthält einen Geratedatenblockzeiger
(GDB), der die Adresse des ersten Wortes eines Gerätedatenblocks
ist. Dieses Wort wird benutzt, um die Startinstruktionsadresse für
die Bedienungsroutine zu bekommen.
609829/0746
Möglichkeiten zur Unterbrechungsmaskierung bilden eine weitere Programmsteuerung
der vier Prioritätsstufen. System- und Stufenmaskierung werden durch
eine Summenmaske und das Unlcrbiechungsstufenmaskenregister 175 gesteuert.
Die Gerätemaskioiung wird gesleuert durch eine Gerätemaske in der durch den
E/A-Vorbereitungsbefehl übertragenen Information. Die Manipulation der Maskenbits kann Unterbrechungen auf allen Stufen, einer bestimmten Stufe
oder für ein bestimmtes Gerät freigeben oder sperren.
Es existieren, wie schon gesagt, vier Priori tälsunlerbrechungsstufen. · Jedem
E/A-Gerät 4-1 bis 4-n wird eine Stufe abhängig von der Anwendung dynamsich
zugeordnet. Wenn eine Unterbrechung auf einer gegebenen Stufe akzeptiert wird, bleibt diese Stufe aktiv, bis eine Stufenausgangsinstruktion (LcX) ausgeführt
oder eine Unterbrechung mit höherer Priorität akzeptiert wird. In letzterem Fall
schal tet der Prozessor 1 auf die höhere Stufe um, erledigt die Ausführung ( ein-
schliessl ich einer LE X-|nstruktion) und kehrt dann zu der Stufe zurück, auf der
die Unterbrechung erfolgte . Diese automatische Rückkehr kann durch andere Unterbrechungen mit noch höherer Priorität verzögert werden .
Eine auf der gegenwärtig aktiven Stufe wartende Unterbrechungsanforderung
wird erst nach Ausführung einer LEX-|nstruktion durch das laufende Programm
akzeptiert. Wenn keine andere Unterbrechungsstufe wartet bei Ausführung einer Stufenausgangsinstruktion, geht der Prozessor 1 in den Wartezustand, in dem
keine Verarbeitung stattfindet, der Prozessor jedoch Unterbrechungen annehmen kann , die erwartet werden.
8098 21/0746
OC9-76-G22
Der Ueberwachungszustand wird angefangen bei jedem Empfang einer
Prioritätsunterbrechung. Der Prioritätsunterbrechungsalgorithmus ist
folgender:
1. Die Summenmaske muss freigegeben sein.
2. Das Maskenbit (Unterbrechungsstufenmaskenregister 175) für die
unterbrechende Stufe muss eingeschaltet sein.
3. Für E/A-Unterbrechungen muss das Gerät sein Gerätemaskenbit eingeschaltet haben.
4. Die Unterbrechungsanforderung muss die höchste Priorität der ausstehenden Anforderungen und eine höhere Priorität als die aktive
Stufe des Prozessors haben.
5. Der Prozessor darf nicht gestoppt sein.
Klassenunterbrechungen ändern die Prioritätsstufen nicht und werden auf
der gegenwärtig aktiven Stufe verarbeitet. Wenn sich der Prozessor beim Auftreten einer Klassenunterbrechung im Wartezustand befindet, wird zur
Verarbeitung der Unterbrechung die Prioritätsstufe 0 benutzt.
Ausser aufgrund der oben beschriebenen Unterbrechungsbedingungen
sind noch Unterbrechungsumschaltungen durch Programmsteuerung mittels der Befehle "Steuerstatusblock laden" (SSB-LD) und "Steuerstatusblock
abspeichern" (SSB-SP) vorgesehen. Einzelheiten hierzu sind beschrieben in der deutschen Patentanmeldung P 27 18051.4, wobei die zugehörigen
Zeichnungen auch im Zeichnungssatz der vorliegenden Beschreibung enthalten sind.
Um Bitfelder unterschiedlicher Länge im Speicher abspeichern und aus dem
Speicher in ein Register unabhängig von den Grenzen adressierbarer Speicherelemente laden zu können, ist die Erkennung und Ausführung von
vier neuen Befehlen vorgesehen. Ihr Format ist in Fig. 16 gezeigt. Jeder dieser Befehle ist im Ausführungsbeispiel 16 Bits lang. Die ersten
fünf Bits 0 bis 4 sind der Operationscode, der für alle vier Befehle
gleich ist (10110). Die nächsten drei Bits 5 bis 7 bezeichnen ein Maschinenregister R als Quelle bei der Ausführung eines Abspeicher-Befehls, oder als Bestimmungsort eines Bitfeldes, wenn einer der drei
Ladebefehle ausgeführt wird. Die beiden nächsten Bits 8 und 9 bezeichnen ein Register RB, das die Adresse einer adressierbaren Speicherungseinheit (Adressiereinheit) innerhalb des Speichers (z.B. ein Byte oder
ein Wort) enthält. Diese Adresse dient als Basisadresse. Die nächsten
80982^/0746
beiden Bits (FN) im Befehl, nämlich die Bits 10 und 11, werden durch das
System decodiert, um anzuzeigen, welcher der vier neuen Befehle auszuführen ist. Die letzten vier Bits L (Bits 12 bis 15) enthalten eine Dualzahl,
die um Eins kleiner ist als die Länge des Bitfeldes. Somit kann man
bis zu 16 Bits lange Felder behandeln. Ausser den durch den in Fig. 16 gezeigten Befehl explizit angegebenen Maschinenregistern ist als weiteres
Maschinenregister das allgemeine Register 7 (R7) von besonderer Bedeutung, weil in ihm immer eine Distanzadresse mit Vorzeichen enthalten ist,
welche die Verschiebung des Bitfeldanfangs gegenüber der durch den Inhalt
von RB angegebenen Adresse angibt. Diese Distanzadresse mit Vorzeichen in R7 bestellt aus einer Byte-Distanzadresse mit Vorzeichen in den oberen
13 Bits des Registers und einer Bitverschiebung (= Verschiebung gegenüber der Bytegrenze) in den unteren drei Bits des Registers.
Bei der Ausführung eines dieser Befehle bestimmt man zur Errechnung
der effektiven Bitadresse des ersten Bits im Bitfeld zuerst die Speicherbteile (Byte), in der das Bitfeld beginnt. Hierfür addiert man den
Inhalt des durch RB angegebenen Registers zu der Byte-Di'stanzadresse (13 werthohe Bits) von R7. Bei der Ausführung dieser Addition müssen die
Bits der Byte-üistanzadrcsse von R7 rechtsbündig stehen. Die ursprünglichen
drei wertniederen Bits von R7 bestimmen diejenige Bitposition dieses Bytes, welche der Anfang des gewünschten Bitfeldes ist.
Die vier erwähnten Befehle sind drei Befehle, mit denen jeweils
ein Bitfeld in ein angegebenes Register vom Speicher geladen werden kann,
und ein Abspeicherbcfehl, mit dem ein in einem angegebenen Register enthaltenes
Bitield in den Speicher eingegeben wird. Die Funktion der vier
Befehle wird ansc.hl i essend beschrieben.
Feld laden (IJ): FN = 00.
Das angegebene Bitield wird vom Speicher in das Register R geladen.
Das Feld steht im Register R rechtsbündig, die wert hohen Bits werden mit
Nullen auf gel ül 11. . Die Sys t em-Ergebni sanzei ger worden so eingestellt,
dass sie den in das Register R geladenen Kndwert anzeigen.
Feld laden und erhöhen (LF+): FN = 01.
Das angegebene Bitfeld wird in das Register R geladen und steht dort
rechtsbündig, wobei die werthohen Bits mit Nullen aufgefüllt sind. Der
Wert L ^ 1 wild zum Inhalt von R7 addiert und ersetzt diesen, wodurch der
Inhalt aiii ilen Anfang de:; nächsten Bitfeldes zeigt . Die System—Ergebnisanzeiger
werden so eingestellt, dass sie den in das Register R geladenen
Kndweit .πι/ei gen.
80982^/0746
- ψ9 - CJO BC9-76-022
Vermindern und Feld laden (LF-): FN = 10.
Vom Inhalt des Registers R7 wird der Wert L + 1 subtrahiert und der
Inhalt von R7 dadurch ersetzt. Das angegebene Bitfeld wird dann rechtsbündig in das Register R geladen, das in den werthohen Bits mit Nullen
aufgefüllt wird. Dadurch kann eine Kette von Bitfeldern von rechts nach links verarbeitet werden. Die System-Ergebnisanzeiger werden so eingestellt,
dass sie den in das Register R geladenen Endwert wiedergeben.
Feld abspeichern (STF): FN = 11.
Die wertniederen L + 1 Bits des Registers R werden in das angegebene
Speicherfeld gespeichert, ohne dass andere Bits gestört werden.
Als Beispiel für die Benutzung der Anweisung "Feld laden und erhöhen"
(LF+) zeigt Fig. 17 einen Teil eines Speichers, der 5 Bitfelder A, B, C, D und E mit 7, 11, 8, 5 bzw. 7 Bits enthält. Es wird angenommen, dass
das erste Bit im Feld A um zwei Bits gegenüber der Anfangsgrenze der Bytestelle 1000 versetzt ist (d.h., das erste Bit des Feldes A steht in
der dritten Bitstelle im Byte Nr. 1000 im Speicher). Wenn jetzt angenommen wird, dass die Felder A, B, C, D und E in die fünf Maschinenregister
Rl, R2, R3, R4 bzw. R5 geladen werden sollen, dann muss das hierzu erforderliche Computerprogramm zuerst ein Basisregister RB und
das Register R7 initialisieren. Wenn RO als Basisregister dienen soll, dann besteht die Initialisierung aus einer Anweisung, die RO mit dem
Wert 1000 lädt und einer Anweisung, die R7 mit dem Wert 2 lädt. (Die werthohen 13 Bits von R7 würden in diesem Beispiel eine Byteverschiebung
von 0 angeben.) Nach der Initialisierung könnten die fünf Register Rl bis R5 leicht mit folgenden fünf Befehlen geladen werden:
LF+ R= Rl, RB = RO, L = 6
LF+ R= R2, RB = RO, L = 10
LF+ R= R3, RB = RO, L = 7
LF+ R = R4, RB = RO, L = 4
LF+ R= R5, RB = RO, L = 6 .
LF+ R= R2, RB = RO, L = 10
LF+ R= R3, RB = RO, L = 7
LF+ R = R4, RB = RO, L = 4
LF+ R= R5, RB = RO, L = 6 .
Nach der Ausführung dieser fünf Befehle sind die Register Rl bis R5
mit den Bitfeldern Λ bis E geladen. Jedes Bitfeld steht rechtsbündig in seinem Register, und die werthohen Registerpositionen sind mit Nullen
gefüllt. Der Inhalt von R7 wurde so erhöht, dass er die Dualzahl lOlOOO (gleich der Dezimalzahl 40) enthält, und das System ist jetzt zum Laden
des nächsten Feldes F bereit. (Wenn das Feld F nicht von Interesse ist, kann die fünfte der obigen Instruktionen auch die Anweisung LF sein,
60982^/0746
anstelle von LF+.) In diesem Beispiel stellt die binäre Zahl lOlOOO
in R7 eine Byteverschiebung (Byte-Distanzadresse) von 101 (gleich dezimal
5) und eine Bitverschiebung von 000 dar. Damit zeigt sie genau auf den
Anfang des Bitfeldes F, das um fünf Bytes gegenüber der im Basisregister RO angegebenen Adresse verschoben ist. Das Beispiel gilt natürlich
genauso, wenn RO mit einer anderen Zahl initialisiert wird, z.B. 456, und
der werthohe Teil von R7 (Byteverschiebung/Byte-Distanzadresse) mit einer Zahl initialisiert wird, die gleich 100 minus dem Inhalt von RO, in diesem
Fall 544, ist.
Die Erfindung lässt sich auf einem gegebenen Prozessor mit speziellen
Schaltungsanordnungen oder durch Mikroprogrammierung oder mittels
einer Kombination der beiden Techniken ausführen. Die spezielle Ausführungsform hängt dabei stark von den durch das System bedingten
Beschränkungen ab. Anschliessend werden die Grundschritte für die Ausführung obiger Befehle beschrieben.
Anfangsbedingungen: Folgendes wird angenommen:
Einer der obigen Befehle steht im OP-Register; seine Adresse steht
im Arbeitsregister (WA); die Basis-Byteadresse steht im Register RB; die Distanzadresse steht im allgemeinen Register R7, und das Zielregister
ist R. In Fig. 18 sind die nachfolgend beschriebenen Steuerungen gezeigt.
Die Befehlsadresse wird um Zwei erhöht und in das Speicheradressregister
und in das Befehlsadressregister für den Abruf des diesem
Befehl folgenden Befehls gespeichert (siehe Block 1). (Wie später gezeigt wird, wird das Speicheradressregister tatsächlich während der Ausführung
der Anweisung überschrieben. Die Bestinimungssteuerung ist jedoch dem
Speicheradressregister und dem Befehlsadressregister gemeinsam, so dass
es am bequemsten ist, die fortgeschriebene Befehlsadresse in beide Register
einzugeben.) Ausserdem wird der Wert 3 in das Arbeitsregister WA
und an einen Zähler ausgegeben. (Soweit nichts anderes angegeben ist, werden in dieser Beschreibung alle Werte dezimal dargestellt.) Die
nächsten zehn Blöcke bilden eine Maske rechtsbündiger Kinerbits, deren
Länge um Eins grosser ist als die im L-FeId des Befehls angegebene Länge.
Dazu werden die werthöchsten Bit des L-Feldes im !Hock 2 abgefragt (d.h.
die Bits 12 und IJ) und ein Einerkoinp lementwer t an das Y-Register ausgegeben.
(In den Blöcken i, 4, 5 und 6 als Hexadezimalzahlen dargestellt.)
Nach Darstellung in Block 7 werden die beiden wertniedersten Bits I \
und 15 abgefragt und der Wert im Y-Register nach links oder rechts /.i
80982^/07A 6
*}5 BC9-76-O22
Bildung der Einerkomplementmaske um den entsprechenden Betrag verschoben
(Blöcke 8, 9 und 10). Die Maske wird dann invertiert und in der Stelle TEMP im Stapel gespeichert (Block 11). Der Inhalt des OP-Registers (der
Befehl) wird in das Arbeiteregister WA eingegeben (Block 12) und unmittelbar danach ein Feld "OOOF" (hexadezimal) in das Y-Register eingegeben
(Block 13). Dann werden der Inhalt von WA und Y miteinander UND-verknüpft
(Block 14) und das Ergebnis in das Speicherdatenregister SDR eingegeben. Durch die in den Blöcken 12, 13 und 14 dargestellten Operationen wird
nur das Längenfeld vom Befehl in das Speicherdatenregister kopiert, wo
es zur späteren Benutzung festgehalten wird. Dann wird der Inhalt des Registers 7, die Bitverschiebung mit Vorzeichen, abgerufen und in das
Arbeitsregister WA eingegeben (Block 15). In demselben Zyklus wird der
Inhalt des Y-Registers um eine Position nach rechts verschoben, so dass der darin enthaltene Wert am Ende des Mikrozyklus 0007 ist. Dann werden
die beiden Werte vom Arbeitsregister und vom Y-Register miteinander UND-verknüpf t und wieder in den Platz 11TEMP 1" im Speicherstapel eingegeben.
Am Ende enthält TEMP 1 die wertniederen drei Bits der Bitverschiebung, mit denen nachher die Anfangsbitposition für das gewählte Bitfeld bezeichnet wird. Nach Darstellung in Block 17 werden im OP-Register dann
die Bits 10 und 11 abgefragt (geprüft). Der Wert 00 in diesem Feld
entspricht "Feld laden". 01 entspricht der Anweisung "Feld laden und erhöhen", 10 entspricht de Anweisung "Vermindern und Feld laden", und
11 entspricht "Feld abspeichern".
Verlässt man den Block 17 über den Zweig 01 (Feld laden und erhöhen),
so nimmt das System die vorher (s. Block 14) im Speicherdatenregister SDR gespeicherte Längenangabe des Bitfeldes wieder auf (s. Block 18), addiert dann
den Originalwert der Bitverschiebung, der im WA steht, zum Längenweit der laufenden Bitfeldoperation, der in Y steht, und eine weitere Eins (Block 19),
so dass das Ergebnis direkt auf den Anfang des Bitfelds zeigt, das über die nacbi öl gonde Feldanweisiing zu behandeln ist. Das Ergebnis wird in d'-πι Registei stapel in das Register 7 der laufenden Stufe gesetzt. Durch dr-n in den
BlöfI-en 18 und 19 dargestellten Vorgang wurde der Wert der Bitversrhiebung
(mit Vorzeichen) um +1 erhöht, um den Bit zeiger automatisch fortzusc-lireiben.
Di-i aiisclil icssend beschriebene Vorgang gilt für die beiden Λην.τ i sungen "l'fld laden" und "Feld laden und erhüben". Das System erzeugt die
Byl(>.idrcsso. derjenigen Stelle, die das erste Bit des Feldes enthält. Der
Inhalt des die Bitverschiebung enthaltenden Arbeitsregisters wird um drei
80982^/0746
/OO BC9-76-O22
Stellen nach rechts verschoben (Block 20), um eben die Bitverschiebung
zu eliminieren und eine Byteadresse zurückzulassen. In demselben Zyklus wird die Basisadresse von RB vom Registerstapel geholt und in
das Y-Register eingegeben. Nach Darstellung in Block 21 werden die Inhalte von WA und Y dann addiert und das Ergebnis in das Speicheradressregister
SAR eingegeben, das dann die effektive Adresse desjenigen Byte enthält, das das erste Bit des gewählten Feldes enthält. Dann wird
das Speicherdatenregister SDR in das Arbeitsregister WA kopiert (Block
22). Das die Länge des Bitfeldes enthaltende Speicherdatenregister muss jetzt als flüchtig betrachtet werden, da ein Speicherzyklus stattfindet.
Bei allen Speicherzyklen werden in das Speicherdatenregister SDR Daten aus dem Speicher eingegeben, so dass man es vorher in das Arbeitsregister
kopieren muss, um seinen Inhalt zu retten. In diesem Zyklus wird ausserdem
der Hauptspeicher gelesen, um das erste Byte zu bekommen. Die Bitanzahl wird von Register TEMP 1 vom Registerstapel geholt und in das Y-Register
eingegeben (Block 23). (Referenzen auf den Registerstapel beziehen sich auf den Teil der Maschinenausrüstung im Ausführungsbeispiel,
der die allgemeinen Register, die Stufenstatusregister, die Adressschlüsselregister
und interne Register, wie TEMP und TEMP I enthält, die als interne Arbeitsbereiche dienen und vom Programmierer aus nicht
direkt adressierbar sind.) Die Bitanzahl steht jetzt wieder im Y-Register. Sie wird zur Länge addiert, und dann wird von der Summe die Konstante 8
subtrahiert (Blöcke 25 und 26). Dadurch soll festgestellt werden, ob bei der jeweiligen Startbitposition und Länge des Bitfeldes ein Ueberlauf
in das nächste Hauptspeicherbyte erfolgen wird. Diese Prüfung ist im Block 27 dargestellt.
Wenn die im Block 26 dargestellte Subtraktion ein negatives Ergebnis
hat, bedeutet das, dass ein Bitfeld nicht in die nächste Byteposition hineinreicht. Dann wird der Inhalt des Speicherdatenregisters
in das Y-Register eingegeben (Block 28). Das vom Speicherdatenregister in das Y-Register verschobene Byte enthält in diesem Fall Anfang und
Ende des Bitfeldes, da festgestellt wurde, dass das Bitfeld nicht über
die Grenzen dieses Byte hinausläuft. Dann wird der Inhalt der Register WA und Y nach rechts verschoben und ein Zählerinhalt mit jeder Verschiebung
um 1 vermindert, bis er den Wert Null erreicht. (Nach Darstellung in 27 wurde der Zähler auf den entsprechenden Anfangswert
gesetzt). Wenn der Zähler Null erreicht hat, ist das Byte entsprechend
60982Y/0746
weit nach rechts verschoben worden und steht in der äussersten rechten
Byteposition des Y-Kegisters. Der Inhalt des Befehlsadressregisters BAR wird dann an das Speicheradressregister übertragen, um die Adressierung
des nächstfolgenden Befehls einzuleiten (Block 30). Nach Darstellung in Block 31 wird der Wert im TEMP-Register, der die nach Darstellung in den
Blöcken 2 bis 11 festgelegte Maske enthält, in das Arbeitsregister WA geladen und der Hauptspeicher gelesen, um den nächstfolgenden Befehl zu
holen, vorzugsweise (für eine optimale Leistung) überlappt mit dem Ende der Ausführung des laufenden Befehls. Dann werden der Inhalt des Arbeitsregisters WA und des Y-Registers UND-verknüpft und in das Zielregister
im Registerstapel eingegeben (Block 32). Dadurch werden bestimmte Bits
des Byte vom Y-Register nach den Angaben der Bitfeldparameter in das Register eingegeben, das durch das R-FeId angegeben ist. Durch die Einstellung
der Ergebnisanzeiger zur Wiedergabe der Charakteristik des gerade in das Register gespeicherten Wertes wird dann die Befehlsausführung
beendet.
Wenn die im Block 27 dargestellte Prüfung nicht negativ war, reicht
das Bitfeld ganz bestimmt in das nächste und vielleicht auch noch in ein drittes Byte hinein. In diesem Fall wird die Konstante 8 im Y-Register
wieder von der Summe Längenwert plus Bitzahl (Block 34) subtrahiert, um festzustellen, ob die Länge des Bitfeldes in ein oder zwei weitere
Bytes hineinreicht. Das Ergebnis der Subtraktion wird invertiert und dann wieder auf einen negativen Wert abgefragt (Block 35).
Wenn das Ergebnis negativ ist (d.h. wenn das Bitfeld zwei Bytes belegt), wird die für das erste Byte benutzte Speicheradresse in das
Arbeitsregister verschoben (Block 36). Nach Darstellung in Block 37 wird das Speicherdatenregister, das das erste gemäss Block 22 abgerufene Byte
enthält, in das Y-Register geladen. Die frühere Speicheradresse für das erste Byte wird dann um Eins erhöht und in das Speicheradressregister
zurückgespeichert. Es folgt ein weiterer Abruf im Hauptspeicher (Block 38). Das Y-Register wird um acht Positionen nach links verschoben (Block
39), um das frühere Byte und das laufende Byte hinterher kombinieren zu können. Inzwischen wurde das Byte in die wertniedere Byteposition des
Speicherdatenregisters eingelesen und in das Arbeitsregister kopiert (Block 30). Der Inhalt des Arbeitsregisters WA wird dann mit demjenigen
des Y-Registers ODER-verknüpft und das Ergebnis in das Y-Register eingegeben
(Block 41). Dadurch werden die beiden betreffenden Bytes im
60982^/0746
K § BC9-76-022
Y-Register kombiniert, wobei das werthöhere die Bitpositionen 0 bis 7
und das wertniedere die Bitpositionen 8 bis 15 belegt. Die Ausführungszweige werden jetzt wieder im Block 29 vereinigt, so dass als nächste
Schritte folgen: Rechtsausrichtung des Bitfeldes, Laden des Zielregisters R, Takten der Ergebnisanzeiger und Abruf des nächsten Befehls.
Wenn sich das Bitfeld über drei Bytes erstreckt, wird nach der Negativprüfung (Block 35) nochmals der Wert 8 vom Inhalt des Arbeitsregisters subtrahiert (Block 42) und die entsprechende Anzahl der Bitpositionen,
um die verschoben werden muss, in den Zähler eingegeben (Block 43). Das Speicheradressregister wird in das Arbeitsregister
kopiert (Block 44), die Operandenadresse im Hauptspeicher wieder um Eins erhöht (Block 45) und der Hauptspeicher gelesen. Der Inhalt des Speicherdatenregisters
wird im Register TEMP I gerettet (Block 46), der bereits das erste vom Hauptspeicher geholte Byte enthält. Der Inhalt des Speicherdatenregisters
(der durch den in Block 45 dargestellten Speicherabruf
eingegeben wurde), wird in das Y-Register verschoben (Block 47). Dieses Register enthält dann das zweite zu dem Bitfeld gehörige Byte.
Der Inhalt des Arbeitsregisters, also die Speicheradresse dieses Byte,
wird um Eins erhöht und ins Speicheradressregister eingegeben, so dass
er das dritte Byte adressiert (Block 48). In diesem Zyklus erfolgt dann ein HauptspeicherzugriEf. Dann wird der Inhalt des Y-Registers um acht
Stellen nach links verschoben (Block 49), um das wertniederste Byte aufzunehmen,
das gerade jetzt vom Hauptspeicher kommt und nach seiner Ankunft in das Arbeitsregister eingegeben wird (Block 50). Das zweite
und dritte Byte werden miteinander ODER-verknüpft und auf diese Weise
kombiniert (Block 51). Dann wird das werthöchste Byte aus dem TEMP 1-Register im Stapel gelesen und in das Arbeitsregister eingegeben (Block
52). Es folgen dann die Endschritte, welche für alle Zweige gleich sind (ab Block 29). Der gesamte Inhalt des Arbeitsregisters WA und des
Y-Registers wird nun laut Darstellung im Block 29 nach rechts verschoben, bis der Zähler 0 enthält, und dann wird die Ausführung des Befehls
weiter so beendet, wie schon oben beschrieben.
Aus der obigen genauen Darstellung der Befehle "Feld laden" und "Feld laden und erhöhen", lässt sich die Ausführung anderer Befehle
leicht ableiten. Daher sind die Befehle "Feld speichern" sowie "Vermindern und Feld laden" nicht näher beschrieben.
8098 2^/07A 6
& J5 BC9-76-022
Für der. Fachmann dürfte es klar sein, dass zur Verwirklichung der
Erfindung noch viele andere, vom beschriebenen Beispiel abweichende
Ausführungsformen möglich sind. Die Variationen hängen hauptsächlich von zwei Faktoren ab: (1) Einschränkungen, die durch das vorhandene
System gegeben sind, in dem die Erfindung benutzt werden soll, und (2) besondere Anforderungen des betreffenden Anwendungsbereichs.
Die maximal zulässige Länge des Bitfeldes könnte z.B. von 16 verschieden sein. Wenn im Befehlsformat für die Längenangabe L fünf Bitstellen zur Verfügung stehen, dann können Bitfelder von maximal 32
Bit Länge verarbeitet werden. Bei drei Bits für L wäre die mayimale
Bitfeldlänge acht.
Auch muss das Distanzadressenregister (R7 im AusfUhrungsbeispiel)
nicht auf jeden Fall vorher festgelegt werden. Wenn die Konstruktion des verwendeten DV-Systems es erlaubt, könnte auch der Programmierer
das Distanzadressenregister festlegen.
Ausserdem könnten das Zielregister R und/oder das Basisregister RB
vorher festgelegt werden, statt die Auswahl dem Programmierer zu überlassen. Bei den meisten Anwendungen ginge aber viel an Flexibilität
verloren, wenn dem Programmierer die Möglichkeit genommen würde, wenigstens das Zielregister (oder Quellenregister) R auszuwählen.
Im beschriebenen Ausführungsbeispiel hatten alle vier Befehlsarten den gleichen Operationscode, wobei die eigentliche Unterscheidung
durch das Feld FN gemacht wird. Es könnten aber auch ebensogut, je nach den gegebenen Umständen, zwei oder mehr voneinander verschiedene Operationscodee für die verschiedenen vorgesehenen Befehlsarten verwendet
werden.
Es müssten auch nicht unbedingt genau drei Ladebefehle und ein einzelner Abspeicherbefehl sein. Man könnte mehr oder auch weniger als
drei Ladebefehle vorsehen, und für die Abspeicherbefehle gelten die gleichen Variationsmöglichkeiten. Die Auswahl hängt hauptsächlich von
der vorgesehenen Anwendung ab.
80982^/0746
Claims (9)
- BC9-76-022 PATENTANSPRUECHE ' 27567( Iy Verfahren zum Zugriff zu beliebigen Bitfeldern im Hauptspeicher einer Datenverarbeitungsanlage, wobei die Grenzen der Bitfelder unabhängig von der adressierbaren Struktur des Hauptspeichers wählbar sind, dadurch gekennzeichnet, dass- in ein Basisregister (RB) die Adresse einer Adressiereinheit des Hauptspeichers als Basisadresse eingegeben wird; in ein Distanzadressregister (R7) ein Wert zur Darstellung des Abstandes zwischen dem Anfang eines gewünschten Bitfeldes und dem Anfang einer durch eine Basisadresse bezeichneten Adressiereinheit eingegeben wird;in ein Befehlsregister (OP) ein Zugriffsbefehl eingegeben wird, der in einem vorgegebenen Feld (L) einen Wert zur Angabe der Länge des Bitfeldes enthält, zu dem zugegriffen werden soll;- die Inhalte des Basisregisters und des Distanzadressregisters in einer Verarbeitungseinrichtung (51, 52, 53) verknüpft werden zur Erzeugung einer Kennzeichnung der Anfangsbitstelle des zu adressierenden Bitfeldes; und- mittels der so erzeugten Bitfeld-Anfangskennzeichnung und der im Befehlsregister enthaltenen Längenanpabe (L) zum gewünschten Bitfeld zugegriffen wird.
- 2. Verfahren nach Patentanspruch 1, dadurch gekennzeichnet, dass in das Distanzadressregister (R7) als Distanzadresse eingegeben wird die Kombination von(a) einem Wert, welcher den Abstand darstellt zwischen dem Anfang einer durch eine Basisadresse bezeichneten Adressiereinheit und dem Anfang der die erste Bitstelle des gewünschten Bitfeldes enthaltenden Adressiereinheit, und(b) einem Wert, welcher den Abstand zwischen dem Anfang der letztgenannten Adressiereinheit und der Anfangsbitstelle des gewünschten Bitfeldes darstellt.80982V0746- 5/ - BC9-76-022
- 3. Verfahren nach Patentanspruch 2, dadurch gekennzeichnet, dass zur Verknüpfung der Inhalte von Basisregister (RB) und Distanzadressregister (R7) zunächst in der Verarbeitungseinrichtung (51, 52, 53) der erste Wert aus dem Distanzadressregister zu dem Wert im Basisregister addiert wird, und dass zur Bildung der Bitfeld-Anfangskennzeichnung der zweite Wert aus dem Distanzadressregister mit dem Ergebnis der Addition durch Anhängen verkettet wird.
- 4. Verfahren nach Patentanspruch 1, 2 oder 3, dadurch gekennzeichnet, dass der jeweilige Inhalt des Distanzadressregisters (R7) mit der jeweiligen im Befehlsregister (OP) enthaltenen Längenangabe (L) in der Verarbeitungseinrichtung (51, 52, 53) miteinander verknüpft werden, und dass das Ergebnis als neue Distanzadresse für das nächstfolgende Bitfeld in das Distanzadressregister eingegeben wird.
- 5. Verfahren nach Patentanspruch 1, dadurch gekennzeichnet, dass das zu verwendende Basisregister (RB) aufgrund einer im Befehlsregister (OP) vorhandenen Angabe aus dem jeweiligen Zugriffsbefehl bestimmt wird, während das Distanzadressregister (R7) unabhängig vom jeweiligen Befehls registerinhalt vorgegeben ist.
- 6. Anordnung zum Zugriff zu beliebigen Bitfeldern im Hauptspeicher einer Datenverarbeitungsanlage,wobei die Grenzen der Bitfelder unabhängig von der adressierbaren Struk tur des Hauptspeichers wählbar sind, gekennzeichnet durch: - mindestens ein Basisregister (RB) zur Eingabe der Adresse einer adressierbaren Speicherungseinheit des Hauptspeichers als Basisadresse;ein Distanzadressregister (R7) zur Eingabe einer den Abstand zwischen dem Anfang eines gewünschten Bitfeldes und dem Anfang einer adressierbaren Speicherungseinheit darstellenden Distanzadresse ;ein Befehlsregister (OP) zur jeweiligen Aufnahme eines Zugriffsbefehls mit einer BitfeId-Längennngabe;8 0 9 8 2^/0 7 A Rse9-75-022275S7&2Verknüpfungseinrichtungen (50, 51, 52) zur Verknüpfung der Inhalte eines Basisregisters und des Distaivzadressregisters zu einer Bitfeld-Anfangskennzeichnung; sowie Einrichtungen (Fig. 2) zur Steuerung der Entnahme von Daten aus oder Abspeicherung von Daten in einem Bitfeld des Hauptspeichers aufgrund einer ihnen zugeführten Bitfeld-Anfangskennzeichnung aus den Verknüpfungseinrichtungen und einer ihnen ausserdem zugeführten Längenangabe aus dem Befehlsregister.609821/0-746BC 976 022
- 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daßaus dem Hauptspeicher vollständige adressierbare Speicherungseinheiten (z.B. Byte) ausgelesen werden und die darin enthaltenen adressierten Bitfelder in den Verknüpfungseinrichtungen (50, 51, 52) durch eine logische UND-Funktion zwischen der ausgelesenen Speicherungseinheit und einer entsprechend dem Bitfeld erzeugten Maske (TEMP) selektiert werden.
- 8. Datenverarbeitungsanlage mit einer Anordnung nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß zum Auslesen bzw. Einspeichern von Bitfeldern, deren Lage im Bezug auf die Adreßgrenzen beliebig ist, Instruktionen des Formats "Op-Code, R, RB, FN, L" (Fig. 16) vorgesehen sind, wobei der Op-Code die Gruppe dieser Instruktionen bezeichnet, R ein Register ist, das als Quelle oder Bestimmungsort des Bitfeldes dient, RB ein Basisregister mit der Adresse der ersten adressierbaren Speichereinheit, in der ein Teil oder das ganze Bitfeld enthalten ist, FN Funktionsbits zur näheren Kennzeichnung der Instruktion und L die Länge des Bitfeldes.
- 9. Datenverarbeitungsanlage nach Anspruch 8, dadurch gekennzeichnet, daß die durch Funktionsbits unterschiedenen Funktionen sind: Einschreiben eines Bitfeldes in den Speicher, Auslesen eines Bitfeldes aus dem Speicher (Laden eines Registers), Auslesen eines Bitfeldes aus dem Speicher mit gleichzeitiger Erhöhung der Bitfeldadresse zum nächsten Bitfeld, Auslesen eines Bitfelds aus dem Speicher mit gleichzeitiger Erniedrigung der Bitfeldadresse.80982370746
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/755,105 US4103329A (en) | 1976-12-28 | 1976-12-28 | Data processing system with improved bit field handling |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2756762A1 true DE2756762A1 (de) | 1978-07-06 |
Family
ID=25037752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772756762 Withdrawn DE2756762A1 (de) | 1976-12-28 | 1977-12-20 | Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlage |
Country Status (8)
Country | Link |
---|---|
US (1) | US4103329A (de) |
JP (1) | JPS5847738B2 (de) |
BR (1) | BR7708707A (de) |
DE (1) | DE2756762A1 (de) |
ES (1) | ES464418A1 (de) |
FR (1) | FR2376460A1 (de) |
GB (1) | GB1593053A (de) |
IT (1) | IT1114166B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3539129A1 (de) * | 1985-11-05 | 1987-05-14 | Kloeckner Moeller Elektrizit | Schaltung zur aufbereitung externer daten fuer mikroprozessoren |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2754890C2 (de) * | 1977-12-09 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Programmunterbrechung |
US4321665A (en) * | 1979-01-31 | 1982-03-23 | Honeywell Information Systems Inc. | Data processing system having centralized data alignment for I/O controllers |
US4307447A (en) * | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
US4388682A (en) * | 1979-09-04 | 1983-06-14 | Raytheon Company | Microprogrammable instruction translator |
JPS5652454A (en) * | 1979-10-05 | 1981-05-11 | Hitachi Ltd | Input/output control method of variable word length memory |
US4287563A (en) * | 1979-11-13 | 1981-09-01 | Motorola, Inc. | Versatile microprocessor bus interface |
US4342081A (en) * | 1979-12-12 | 1982-07-27 | Honeywell Information Systems Inc. | Tape device adapter |
US4520439A (en) * | 1981-01-05 | 1985-05-28 | Sperry Corporation | Variable field partial write data merge |
US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
JPS57201940A (en) * | 1981-06-04 | 1982-12-10 | Fujitsu Ltd | Assignment system for memory digit |
US4433377A (en) * | 1981-06-29 | 1984-02-21 | Eustis Mary S | Data processing with format varying |
US4680698A (en) * | 1982-11-26 | 1987-07-14 | Inmos Limited | High density ROM in separate isolation well on single with chip |
EP0187762A4 (de) * | 1984-06-27 | 1987-10-19 | Motorola Inc | Verfahren und gerät für einen bitfeldbefehl. |
US5265204A (en) * | 1984-10-05 | 1993-11-23 | Hitachi, Ltd. | Method and apparatus for bit operational process |
US6552730B1 (en) * | 1984-10-05 | 2003-04-22 | Hitachi, Ltd. | Method and apparatus for bit operational process |
US5034900A (en) * | 1984-10-05 | 1991-07-23 | Hitachi, Ltd. | Method and apparatus for bit operational process |
JP2914966B2 (ja) * | 1984-10-05 | 1999-07-05 | 株式会社日立製作所 | 画像処理方法および装置 |
US4760515A (en) * | 1985-10-28 | 1988-07-26 | International Business Machines Corporation | Arbitration apparatus for determining priority of access to a shared bus on a rotating priority basis |
JP2520882B2 (ja) * | 1986-08-27 | 1996-07-31 | 株式会社日立製作所 | デ−タ処理装置およびデ−タ処理方法 |
US5210835A (en) * | 1986-08-27 | 1993-05-11 | Ken Sakamura | Data processing system having apparatus for increasing the execution speed of bit field instructions |
JPS63170736A (ja) * | 1987-01-09 | 1988-07-14 | Toshiba Corp | マイクロプロセツサ |
DE3837847A1 (de) * | 1988-02-19 | 1989-08-31 | Hercules Computer Technology N | Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks |
US4977497A (en) * | 1988-03-23 | 1990-12-11 | Mitsubishi Denki Kabushiki Kaisha | Data processor |
JPH02306339A (ja) * | 1989-02-09 | 1990-12-19 | Nec Corp | ビット・アドレシング方式 |
EP0382246A3 (de) * | 1989-02-09 | 1991-09-11 | Nec Corporation | Bitadressierungsanordnung |
US5121354A (en) * | 1990-03-12 | 1992-06-09 | International Business Machines Corp. | Random access memory with access on bit boundaries |
JPH06180653A (ja) * | 1992-10-02 | 1994-06-28 | Hudson Soft Co Ltd | 割り込み処理方法および装置 |
US5809524A (en) * | 1994-01-04 | 1998-09-15 | Intel Corporation | Method and apparatus for cache memory replacement line identification |
US6061783A (en) * | 1996-11-13 | 2000-05-09 | Nortel Networks Corporation | Method and apparatus for manipulation of bit fields directly in a memory source |
JP3110404B2 (ja) * | 1998-11-18 | 2000-11-20 | 甲府日本電気株式会社 | マイクロプロセッサ装置及びそのソフトウェア命令高速化方法並びにその制御プログラムを記録した記録媒体 |
US9176847B2 (en) | 2013-05-22 | 2015-11-03 | International Business Machines Corporation | Managing diagnostic information |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3401375A (en) * | 1965-10-01 | 1968-09-10 | Digital Equipment Corp | Apparatus for performing character operations |
NL6815506A (de) * | 1968-10-31 | 1970-05-04 | ||
BE758815A (fr) * | 1969-11-28 | 1971-04-16 | Burroughs Corp | Systeme de traitement d'information presentant des moyens pour la preparation dynamique d'adresses de memoire |
US3624616A (en) * | 1969-12-04 | 1971-11-30 | Burroughs Corp | Dynamic allocation of multidimensional array memory space |
BE752149A (nl) * | 1970-06-18 | 1970-12-18 | Bell Telephone Mfg | Gegevens verwerkend systeem, |
-
1976
- 1976-12-28 US US05/755,105 patent/US4103329A/en not_active Expired - Lifetime
-
1977
- 1977-11-02 GB GB45630/77A patent/GB1593053A/en not_active Expired
- 1977-11-18 FR FR7735664A patent/FR2376460A1/fr active Granted
- 1977-11-24 ES ES464418A patent/ES464418A1/es not_active Expired
- 1977-11-29 IT IT30109/77A patent/IT1114166B/it active
- 1977-12-06 JP JP52145769A patent/JPS5847738B2/ja not_active Expired
- 1977-12-20 DE DE19772756762 patent/DE2756762A1/de not_active Withdrawn
- 1977-12-28 BR BR7708707A patent/BR7708707A/pt unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3539129A1 (de) * | 1985-11-05 | 1987-05-14 | Kloeckner Moeller Elektrizit | Schaltung zur aufbereitung externer daten fuer mikroprozessoren |
Also Published As
Publication number | Publication date |
---|---|
GB1593053A (en) | 1981-07-15 |
ES464418A1 (es) | 1978-09-01 |
JPS5847738B2 (ja) | 1983-10-24 |
BR7708707A (pt) | 1979-07-24 |
JPS5383537A (en) | 1978-07-24 |
FR2376460B1 (de) | 1980-08-22 |
US4103329A (en) | 1978-07-25 |
FR2376460A1 (fr) | 1978-07-28 |
IT1114166B (it) | 1986-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2756762A1 (de) | Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlage | |
DE2718051A1 (de) | Datenverarbeitungsanlage mit einrichtungen zur wechselnden bearbeitung mehrerer aufgaben | |
DE2756768C2 (de) | Mikroprozessor | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE2719295A1 (de) | Programmsteuerung | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE2446224A1 (de) | Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE1931966B2 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2629266A1 (de) | Ein/ausgabe-system | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE69524379T2 (de) | Verarbeitungssystem mit ausgerichtetem wortverzweigungsziel | |
DE2713685A1 (de) | Mikroprogrammgesteuertes datenverarbeitungssystem | |
DE2926351A1 (de) | Look-ahead-speicheradressen- steuereinrichtung | |
DE3688806T2 (de) | Instruktionsprozessor. | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE3587517T2 (de) | Paralleler Registertransfermechanismus für Reduktionsprozessor zur Durchführung von Programmen die als binäre Graphen gespeichert sind und die Anwendungssprachenkodes ohne Variablen verwenden. | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2835110A1 (de) | Schneller echtzeit-rechneremulator | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE3650154T2 (de) | Datenverarbeitendes Gerät. | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2756767C2 (de) | Mikroprozessor auf einem Halbleiterchip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |