DE3013070C2 - Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung - Google Patents
Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden EinrichtungInfo
- Publication number
- DE3013070C2 DE3013070C2 DE3013070A DE3013070A DE3013070C2 DE 3013070 C2 DE3013070 C2 DE 3013070C2 DE 3013070 A DE3013070 A DE 3013070A DE 3013070 A DE3013070 A DE 3013070A DE 3013070 C2 DE3013070 C2 DE 3013070C2
- Authority
- DE
- Germany
- Prior art keywords
- request
- address
- signal
- register
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Description
Die Erfindung betrifft eine Schaltungsanordnung zur Bearbeitung von Anforderungssignalen mit einem
Prioritäts-Codierer, zu dem aus mehreren peripheren Geräten Über je eine gesonderte Leitung die Anforderungssignale
heranführbar sind, und von dem ein Geräte-Adressiersignal zu demjenigen peripheren Gerät
zurückgebbar ist, dessen Anforderungssignal die höchste Priorität zuerkannt ist, und mit einem
Taktgenerator, von dem in periodischen Abständen ein Einschaltsignal an alle periphere Geräte ausgebbar ist
Die bekannten Dateneingabesysteme ermöglichen den Eintritt, die Darstellung und Speicherung der Daten
in vielfältigen Medien des Informationsaustausches, z. B. auf kleinen Platten nach einem Standard der Industrie.
Sobald die Daten somit gespeichert sind, sind sie zur kartenlosen Eingabe in ein gesondertes Rechensystem
und zur Rückgabe in das Eingabesystem leicht verfügbar, in dem sie erneut wiedergegeben, in ein
anderes Format gebracht oder abgeändert werden können. Die Darstellung der Daten kann über einen
Drucker oder/und eine Kathodenstrahlröhre erfolgen, während die Dateneingabe an einer örtlichen oder
entfernten Tastatur oder über periphere Geräte, z. B. Plattenleser vorgenommen wird. Sobald die Daten in
das Eingabesystem eingetreten sind, können sie auch unmittelbar über ein Vermittlungsglied an ein gesondertes
Rechensystem übertragen werden.
Ein Dateneingabesystem dieser Art arbeitet also mit zahlreichen peripheren Geräten zusammen, die eine
Systemsteuerung anrufen, die nach den aufgestellten Bearbeitungs-Prinzipien an den Daten tätig wird. Aus
35
40
45
55
60
65 einem Speicher der Systemsteuerung werden nämlich
Befehle wiedergewonnen und nach einer Folge oder einem Voirang ausgeführt, der durch einen innerhalb
der Systemsteuerung gelegenen Mikroprogramm-Steuerung (oder eine sonstige Rechensteuereinheit)
festgelegt wird. In typischer Weise verfolgt die Mikroprogramm-Steuerung eine normale Befehlsfolge,
die über eine Handsteuerung vom Bedienenden oder eine feste Schaltungsanordnung im System eingestellt
wird, wenn gewisse vorgeschriebene Umstände eintreten,
(z.B. wenn der Strom eingeschaltet oder Fehler-Flipflops gesetzt werden). Üblicherweise sind auch
Hilfsmittel zur Unterbrechung dieser normalen Befehlsfolge vorgesehen, damit die Systemsteuerung ein
Äußeres Gerät bedienen kann, um ihm z.B. Daten zuzuführen oder diese aus ihm auszulesen oder seinen
Betrieb zu beendigen oder in Abhängigkeit von einem Steuersignal die Befehlsfolge zu einer vorgegebenen
Stelle hin abzuzweigen oder einen Sprung zu veranlassen.
Die peripheren Geräte der bekannten Dateneingabesysteme werden gewöhnlich nach zwei Verfahren mit
der Systemsteuerung in Verbindung gebracht Beim ersten wählt die Systemsteuerung die peripheren
Geräte als Teil ihrer normalen Befehlsfolge regelmäßig an, um zu ermitteln, ob eine Anforderung vorliegt Im
positiven Fall wird die Anforderung als Unterbrechung behandelt, und falls Unterbrechungen von höherem
Rang nicht vorliegen, zweigt oder springt die Mikroprogramm-Steuerung in der Befehlsfolge zu einer besonderen
Stelle hin ab, an der die Speicheradresse der gewünschten Routine abgelegt ist oder erzeugt wird.
Sobald die Speicheradresse auf diese Weise identifiziert wird, holt die Mikroprogramm-Steuerung dort den (die)
Befehl(e) ab und fügt ihn (sie) in die Befehlsfolge ein, die den erwünschten Dienst leistet wie er vom peripheren
Gerät angefordert wurde.
Das Anwählen bietet den Vorteil, daß der Aufbau des peripheren Gerätes sehr einfach (und somit unkostspielig)
bleibt, da die Masse der Schaltungen (für die Adressierung und Speicherung) in der Systemsteuerung
verbleibt Mit dem Anwählen ist jedoch der Nachteil verknüpft, daß die Ansprechzeit auf die Anforderung
des peripheren Gerätes lange andauert. Zuerst muß das Gerät gesucht werden, was eine erhebliche Wartezeit
mit sich bringen kann. Selbst nach dem Auffinden können mehrere Taktzyklen der Steuerung vergehen,
bis der Ort der Speicheradresse festgestellt wird, (wobei eine Unterstützung durch die Programmausstattung
erforderlich sein kann) und der dort abgelegte Befehl dort abgeholt wird.
Beim zweiten Verfahren, bei dem die peripheren Geräte der bekannten Dateneingabe-Systeme mit der
Systemsteuerung Nachrichten austauschen, erfolgt ein direkter Zugriff auf den Speicher; die peripheren
Geräte können hierbei die Systemsteuerung unterbrechen, ohne das Anwählen abwarten zu müssen. Daher
werden die dem ersten, also dem Anwählverfahren zukommenden Unwirksamkeiten (Warte- und Adressierzeiten)
ausgeschaltet; aber der innere Aufbau des peripheren Gerätes wird komplizierter, da es nicht nur
die von ihm zu übernehmende Verrichtung, (die in ihm gespeichert oder hervorgerufen werden muß) sondern
auch die besondere Routine innerhalb des Speichers der Systemsteuerung kennen muß.
Abänderungen beim zweiten Verfahren des unmittelbaren
Speicherzugriffes sorgen für sog. auf Grund einer Priorität geleitete Unterbrechungen, bei denen also
mehrere Arten des Ansprechens nach einem gewünschten
Vorrangschema möglich sind In typischer Weise müssen diese Systeme durch eine komplizierte Programmierung
gestützt werden, was mit einer entsprechenden Zunahme der Bearbeitungszeit verknüpft ist,
Neuere Entwicklungen, wie sie in der USA-Patentschrift Nr. 40 90238 von Russo gezeigt sind, haben die
Notwendigkeit einer derartigen komplizierten Programmausstattung geschmälert, aber es bleiben dennoch
die eigentümlichen Nachteile bezüglich des kostspieligeren inneren Aufbaus der peripheren Geräte.
Aus der deutschen Auslegeschrift Nr. 20 02 165 ist
eine Datenverarbeitungsanlage bekannt, in der mit unterschiedlicher Dringlichkeit versehene Programme
abschnittsweise abgewickelt werden. Sie weist minde- is
stens ein Rechenwerk, einen Speicher und eine Dnnglichkeits-Steuereinrichtung auf, der von peripheren
Gesäten über je eine gesonderte Leitung Anforderungssignale zugeführt werden. Diese Anforderungssignale
gelangen über ein Anforderungsregister und eine Schaltstelle zu einem Eingangsregister, das je Dringlichkeitsstufe
eine 1-Bitspeicherstelle für die Aufnahme eines Anforderungssignals aufweist An dieses Eingangsregister
ist eine Auswahlschaltung angeschlossen, die fallweise das Anforderungssignal von höchster
Dringlichkeit an einen Codierer weitergibt, der ein Codezeichen entwickelt, das weniger Zeichenelemente
aufweist, als Dringlichkeitsstufen vorhanden sind. Dieses Codezeichen wird einem innerhalb der Dringlichkeits-Steuereinrichtung
angeordneten Komparator zugeleitet, der die Aufgabe hat, das jeweilige Codezeichen
aus dem Codierer mit einem in einem Ausgaberegister festgehaltenen Codezeichen zu vergleichen, das
die Dringlichkeit des gerade laufenden Programmabschnittes angibt Falls diese Dringlichkeit geringer als
die fallweise durch das Codezeichen aus dem Codierer ausgedrückte Dringlichkeit ist, wird dieses Codezeichen
an die Stelle des bisnerigen in das Ausgaberegister eingeschrieben, und zugleich gibt der Komparator ein
das laufend" Programm unterbrechendes Signal an das Rechenwerk ab, damit einerseits die Daten über den
zuletzt erreichten Schritt des unterbrochenen Programms in einem Zwischenregister gespeichert und
andererseits die Daten über den ersten abzuwickelnden Schritt des unterbrechenden Programms von dem
peripheren Gerät aufgenommen wurden können. Die Auswahlschaltung und der Vergleicher werden jeweils
von einem Haupttaktsignal in Tätigkeit gesetzt, das gerade vor Beginn des nächsten Programmabschnittes
des laufenden Programr.M geliefert wird, damit gegebenenfalls das laufende Programm rechtzeitig unterbrochen
wird.
Die Beschreibung des unmittelbaren Zusammenwirkens zwischen dem Rechenwerk und demjenigen
peripheren Gerät, dessen Anforderungssignal die höchste Priorität zuerkannt ist, erscheint recht mangelhaft,
da außer dem Hinweis, daß vom Rechenwerk Daten über den ersten abzuwickenden Programmschritt
des unterbrechenden Programms von dem anfordernden peripheren Gerät aufgenommen werden, jegliche
Aussagen über diesen direkten Informationsaustausch fehlen.
Ergänzend sei noch auf die Druckschrift »Intel«, MCS-80 User's Manual, (Oktober 1977), Seiten 6-265
bis 6 — 276, verwiesen, in der ein programmierbares
Unterbrechungs-Steuergerät für Mikrocomputer beschrieben ist, dessen grundlegende Funktionen denen
der zuvor erläuterten Dringlichkeits-Steuereinrichtung ähnlich sind. Um dem Programmierer spezielle Verfeinerungen
zwischen den Arbejtsabläitfen zu bieten, ist jedoch der innere Aufbau dieses bekannten Unterbrephungs-Steuergerätes
weit komplizierter gestaltet, ohne daß auf den unmittelbaren Informationsaustausch
zwischen dem mit der höchsten Priorität anfordernden Gerät und dem zentralen Rechenwerk eingegangen ist
Aus dem Buch von Osborne: »Einführung in die Mikrocomputertechnik«, 2. Auflage, tei-wi Verlag,
(München 1978), Seiten 5 -10 bis 5 - 25, ist bekannt, daß
mehrere externe Bausteine über je eine: gesonderte Leitung ein Anforderungssignal mit einer vorgegebenen
Priorität an ein Mikrocomputersystem liefern, das einen Baustein für eine Unterbrechungs-Prioritlt enthält In
diesem Baustein wird unter den gleichzeitig eintreffenden Anforderungssignalen das Anforderungssignal mit
der höchsten Priorität in ein Codezeichen umgesetzt, das innerhalb der Reihe externer Bausteine denjenigen
externen Baustein bezeichnet, der gerade das Anforderungssignal mit der höchsten Priorität abgibt
Das zentrale Rechenwerk empfäßgt das Codezeichen,
um zu bestimmen, zu welchem externen Baustein ein Anerkenntnissignal zurückzugeben ist, damit zwischen
dem externen Baustein und dem zentralen Rechenwerk eine Übertragung von Steuer- und Datensignalen
eingeleitet wird. Da für die Rückgabe des Anerkenntr.issignals nur eine Leitung zu dem am einen Ende der
Reihe externer Bausteine liegenden Baustein geführt ist, muß das Anerkenntnissignal von einigen Bausteinen
ungeändert hindurchgelassen werden, bis es von demjenigen externen Baustein, dessen Anforderungssignal
unmittelbar zuvor die höchste Priorität zuerkannt wurde, empfangen und, als für sich bestimmt, erkannt
wird. Für diesen Vorgang des Erkennens muß jeder externe Baustein i.i sich mit Ausnahme des letzten
Bausteins der Reihe die gleiche Logik enthalten.
Dieses bekannte Mikrocomputersystem enthält außerdem Ein-/Ausgabe-Bausteine mit je einem 16-Bit-Register,
in dem eine Unterbrechungsvektor-Adresse gespeichert ist, die die Adresse des betreffenden
Urterbrechungsprogramms darstellt, das auf Grund des Anforderungssignals ausgeführt werden soll. Das
Anerkenntnissignal wird auch einem derartigen Baustein zugeleitet, damit die Unterbrechungsvektor-Adresse
aus dem 16-Bit-Register ausgelesen und über
Adressenleitungen in den Programmzähler des zentralen Rechenwerks übertragen wird. Da jedem externen
Baustein ein gesondertes Unterbrechungsprogramm zugeordnet werden muß, das durch die Unterbrechungsvektor-Adresse
festgelegt wird, müssen innerhalb des Mikrocomputersysiems so viele Ein-/Ausgabe-Bausteine
vorgesehen sein, wie externe Geräte angeschlossen werden sollen. Da oftmals die Anzahl der an das
Mikrocomputersystem angeschlossenen externen Bausteine (Geräte) verändert wird, kann mefrtens nur ein
gewisser Anteil der Ein-/Ausgabe-Bausteine in Betrieb genommen werden, während der Rest funktionslos
bleibt.
Der Erfindung liegt die Aufgabe zugrunde, eine in ihrem Aufbau vereinfachte, voll nutzbare Schaltungsanordnung
anzugeben, über die das gerade mit der höchsten Priorität anfordernde periphere Gerät die
Adresse seines Unterbrechungsprogramms ableiten kann, um sie dem Mikrocomputersystem zur Verfugung
zu stellen.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß vom peripheren Gerät beim Empfang seines
Geräte-Adressiersignals und des Einschaltsignals aus
' dem Taktgenerator zumindest ein Adreßteil an ein Adressen-Register ausgebbar ist, von dem ein Registerstapel
adressiert wird, in dem die Adressen des Ortes der Mikroroutinen abgelegt sind, die zur Bedienung der
Anforderung aus dem peripheren Gerät verwendbar sind.
In der Schaltungsanordnung gemäß der Erfindung laufen der Reihe nach die folgenden Arbeitsschritte ab:
1) Mit Hilfe der empfangenen Anforderungssignale legt der in der Systemsteuerung angeordnete
Prioritäts-Codierer eine die Nummer des peripheren Gerätes (Leitungsmoduls) bezeichnende Bitgruppe
auf eine Sammelleitung; diese Bitgruppe stellt somit ein Geräte-Adressiersignal dar.
2) Sobald der spezielle Leitungsmodul auf Grund seiner Priorität adressiert ist, stellt er eine Adresse
zur Übertragung in die Systemsteuerung bereit; diese Adresse besteht auch aus einer Bitgruppe, die
die speziellen Funktionen festlegt, deren Übernahme der Leitungsmodul angefordert hat.
3) Zum passenden Zeitpunkt, der durch ein aus dem Taktgenerator der Systemsteuerung empfangenes
Einschaltsignal festgelegt wird, (das für alle Leitungsmoduln gilt) wird die Adresse aus dem
Leitungsmodul mit Hilfe dieses Taktsignals auf eine Daten in beiden Richtungen übertragende Sammelleitung
gelegt, die alle Leitungsmoduln mit der Systemsteuerung verbindet.
4) Beim Empfang dieser Adresse aus dem Leitungsmodul kombiniert die Systemsteuerung gewählte
Bits aus der Adresse mit anderen innerhalb der Systemsteuerung erzeugten Bits zur Bildung eines
lndex'«ortes für einen Registerstapel der Systemsteuerung aus.
5) Das auf diese Weise entstandene Indexwort weist auf einen speziellen Platz innerhalb des Registerstapels
hin, an dem eine Adresse für den angeforderten Dienst zuvor aus dem Hauptspeicher
oder einem Speicher der Systemsteuerung abgelegt war.
6) Die so ermittelte Adresse wird zu einer Mikroprogramm-Steuerung
als Teil der Systemsteuerung übertragen, die angewiesen wird, die bei der vorgeschriebenen Adresse untergebrachten Befehle
abzuholen.
7) Die so abgeholten Befehle werden ausgeführt, womit der angeforderte Dienst für den betreffenden
Leitungsmodul übernommen wird.
Die Systemsteuerung ist dabei derart aufgebaut, daß die zuvor aufgezählten Arbeitsschritte bei einer
kleinstmöglichen Anzahl von Taktzyklen ablaufen.
Ausführungsbeispiele der Erfindung sind in der
Zeichnung wiedergegeben und werden im folgenden näher erläutert Es zeigt
F i g. 1 ein Bild einer Hauptstation, an der die bevorzugte Aushlhrungsform der Erfindung untergebracht
ist,
Fig.2 ein Blockschaltbild mit den wesentlichen
Elementen der Erfindung,
Fig.3 ein ausführliches Schaltbild desjenigen Abschnitts, in dem die Adresse für den Leitungsmodul
erzeugt und das Anforderungssignal in das Adressenregister eingegeben wird,
Fig.4 den inneren Aufbau des Prioritäts-Codis-er*
222derFig.3,
Fig.5 die zeitliche Folge, in der die Signale und
andere Ereignisse in der Schaltung der F i g. 3 auftreten, und
F i g. 6 denjenigen Abschnitt der Schaltung gemäß der Fig.2, in dem die Adresse des Mikrobefehls liegt, und
der sie zur Mikroprogramm-Steuerung lenkt.
Die Ausführungsform der Erfindung ist vorzugsweise am Arbeitstisch des Bedienenden (in der Hauptstation)
als Teil eines Dateneingabesystems angebracht und wird innerhalb einer Systemsteuerung angewendet. Bei
ίο anderen Ausführungsformen der Erfindung bildet ein von einem Mikrorechner oder Rechenautomaten
gesteuertes System ein Zwischenglied zu einem oder mehreren periphei ■ η Geräten.
In einer perspektivischen Ansicht der Fig. 1 ist eine
Hauptstation 100 für ein Dateneingabesystem wiedergegeben, zu dem eine Systemsteuerung gehört. Sie
besteht aus einem tischförmigen Pult 101, einer Tastatur 102, einem Datensichtgerät 103 mit einer Kathodenstrahlröhre
und einem oder zwei Disketten-Laufwerken i04. Die iaisSoiinchc Schältung, also die Systemsteuerung
ist als gedruckte Schaltungsplatte unterhalb und zur Rückseite des Pultes 101 hin angebracht. Zur
Verbindung der verschiedenen gedruckten Schaltungsplatten untereinander und mit anderen Elementen der
Hauptstation 100. z. B. mit der Tastatur 102, dem Datensichtgerät 103 und den Disketten-Laufwerken 104
sind geeignete Verdrahtungen und Kabelanordnungen vorgesehen. An der Unterseite des Pultes 101 befindet
sich die gesamte Stromzufuhr.
Die Tastatur 102, das Datensichtgerät 103 und die Disketten-Laufwerke 104 sind periphere Geräte, die mit
der Systemsteuerung Informationen austauschen. Auch andere periphere Geräte wie Kartenlocher und -leser,
Drucker oder Übertragungseinheiten, (die Daten über Leitungen zu einem anderen Ort übermitteln) können
mit der Systemsteuerung in Verbindung stehen. Darüber hinaus können zusätzliche Stationen ohne
Systemsteuerung, die jedoch Tastenfelder, Datensichtgeräte und Disketten-Laufwerke aufweisen, mit der
Hauptstation 100 verbunden sein, an der sich die Systemsteuerung befindet.
All diese peripheren Geräte können als Leitungsmoduln betrachtet werden, die periodisch von der
Systemsteuerung verschiedene Bedienungen anfordern, also z. B. zur Datenübertragung auffordern; es können
Daten aus der Systemsteuerung ausgelesen werden, oder es soll eine spezielle Routine beendet werden. Die
Art und Weise, wie die Systemsteuerung auf die unterschiedlichen Anforderungen anspricht und ihre
Bedienung einleitet, sei nun in Verbindung mit dem speziellen Ausführur.gsbeispiel der Erfindung erläutert,
dessen wesentlichste Elemente im Blockschaltbild der F i g. 2 dargestellt sind.
Mit einer Systemsteuerung 220 sind Leitungsmoduln 200a, 2006,... 200p durch Daten- und Steuerleitungen
202 verbunden, zu denen auch Anforderungsleitungen 204a, 2046,... 200p gehören, von denen jeweils eine in
die Leitungsmoduln 200a, 2006,... 200p eintritt Ferner
zählt zu den Steuerleitungen eine die Nummer des Übertragungskanals angegebene Sammelleitung 206
mit vier Leitungen, die zu allen Leitungsmoduln hin Abzweigungen besitzen. Ähnliches gilt für eine Datensammelleitung
208. Durch Taktleitungen 210 laufen verschiedene Signale zur Zeitgabe ebenfalls in die
Leitungsmoduln hinein; unter diesen hat ein Einschaltsignal
für die Erfindung eine besondere Bedeutung.
Dh- erwähnten Anforderungsleitungv-i 204a, 204i>,...
204p, die jeweils an einem anderen Leitungsmodul
angeschlossen sind, münden gemäß der F i g. 2 in einem
Prioritäts-Codierer 222, in dem die Nummer des Übertragungskanals zum Leitungsmodul mit der höchsten
Priorität bestimmt wird. Dabei sei dem Leitungsmodul 200p die höchste und dem Leilungsmodul 200a
die niederste Priorität zugeteilt. Wenn insgesamt 16 Leitungsmoduln mi; dem Prioritäts-Codierer 222
verbilden sind, kann die Nummer des jeweiligen Übertragungskanals durch ein Wort aus 4 Bits
wiedergegeben werden.
Die Anforderungssignaie werden von tion anfordernden Leitungsmoduln durch ein Taktsignal aus einem
Generator 226 in den Prioritäts-Codierer 222 eingelassen, der den anfordernden Leitungsmodul mit der
höchsten Priorität ermittelt und die Nummer des i>
Übertragungskanals als Wort aus 4 Bits erzeugt, wodurch der Leitungsmodul mit der höchsten Priorität
identifiziert wird. Diese Nummer wird auf die mit allen Lcitüfigsrnoduln verbundene Sammelleitung 206 gelegt.
Diese Nummer stellt zugleich eine Adresse des Leitungsmoduls und eine Anzeige dar, daß die
Anforderung des Leitungsmoduls anerkannt ist.
Sobald ein Leitungsmodul ein soiches Anerkenntnis wahrnimmt, wird mit Hilfe eines Taktsignals ein
Anforderungswort aus neun Bits auf die Datensammelleitung 208 gebracht; dieses Taktsignal wird in Form
eines Einschaltsignals periodisch vom Generator 226 der Systemsteuerung 220 hervorgerufen und über eine
der Taktleitungen 210 zu den Leitungsmoduln übertragen. Das Anforderungswort enthält sieben Information
.oits, die von der Systemsteuerung 220 als Index zur
Auswahl der Mikroadresse einer Mikroroutine verwendet
werden, damit die Anforderung des Leitungsmoduls bedient werden kann.
Innerhalb des Leitungsmoduls wird jeder Art Anforderung, die aufgestellt werden kann, ein spezielles
Anforderungswort zugeordnet, in dem die beiden zusätzlichen Bits für eine Paritätsprüfung benutzt
werden.
Die sieben Informationsbits des Anforderungswortes werden innerhalb der Systemsteuerung mit drei in
dieser erzeugten zusätzlichen Bits kombiniert, wobei ein Adressenwort aus 10 Bits entsteht, das in einem
Adressenregister 228 gespeichert wird. Diese drei zusätzlichen Bits 101 werden in einem Block 230 der
F i g. 2 hervorgerufen und zur Kombination mit den sieben Informationsbits einer Auswahlschaltung 232 am
Adressenregister 228 zugeführt. Diese Auswahlschaltung 232 erhält noch aus anderen Quellen Signale, was in
der F i g. 2 nicht dargestellt ist, damit die Systemsteuerung zahlreiche Quellen auswählen kann, die das
Adressenregister 228 belegen, und somit auch andere Funktionen zu übernehmen imstande ist Von einer
Wahllogik 234 wird festgelegt, welche der Quellen, die
mit der Auswahl-Schaltung 232 verbunden sind, Signale zu deren zehn Ausgangsleitungen heranführen kann.
Von einem Registerstapel 236, der ein Speicher mit zufallsverteiltem Zugriff für 1024 Wörter mit je 18 Bits
ist wird außer anderen Posten die Mikroadresse des Ortes der Mikroroutine, die dem aus dem Leitungsmodul empfangenen Anforderungswort entspricht, also
derjenigen Mikroroutine aufbewahrt, die zur Bedienung
der Anforderung aus dem Leitungsmodul verwendet werden soIL Diese Mikroadressen werden stets in
oktaler Form zwischen 01200 und 01376 gespeichert Wenn diese oktalen Adressen in Binäradressen
konvertiert werden, so erkennt man, daß, abgesehen von den drei anfänglichen Nullen, die ersten drei Bits
stets in der Folge 101 vorliegen. Beispielsweise wird aus der oktalen Adresse 01200 die Binäradresse
000001010000000 und aus der oktalen Adresse 01376 die
Binäradresse 000001011111110. Dadurch daß die Bits
101 zu den sijben Informationsbits des Anforderungswortes addiert werden, wird der Platz der Mikroadressen
im Registerstapel 236 identifiziert. In typischer Weise werden die Mikroadressen aus den äußeren
Speichermedien während einer Einleitungsfolge der Systemsteuerung in den Registerstapel eingelassen und
bleiben dort so lange aufbewahrt, wie die Stromzufuhr aufrechterhalten wird.
Wenn der Registerstapel 236 infolge des Empfangs gewisser Signale aus der Wahllogik 234 eingeschaltet
wird, werden die 18 Datenbits, die bei der von einem Adressenregister 228 vorgeschriebenen Adresse gespeichert
sind, auf eine Quellensammelleitung 238 übertragen, die tatsächlich eine Auswahlschaltung mit 16
,•Ausgängen mi uic iinöi iiiauOiisuus /.u einem naiiereglster
240 ist, wahrend die beiden restlichen Bits lediglich Paritätsbits darstellen. Die Auswahl des passenden
Eingangs zur Quellensammelleitung 238 erfolgt an der Wahllogik 234.
Das im Adressenregister 228 festgehaltene Wort aus 10 Bits, (die aus sieben Informationsbits des Anforderungswortes
aus dem Leitungsmodul und aus den drei Bits 101 bestehen) dient als Index oder Adresse des
Registerstapels 236. An dem durch diese Adresse angegebenen Platz wird nämlich die Mikroadresse der
Mikroroutine aufbewahrt, die der Anforderung aus dem Leitungsmodul entspricht. Beim Empfang der richtigen
Einschaltsignale aus der Wahllogik 234 erscheint diese Mikroadresse an den Ausgangsklemmen des Registerstapels
236. Im entsprechenden Zeitpunkt wird dann diese Mikroadresse durch die Quellensammelleitung
238 zum Halteregister 240 geschickt und in dieses mit Hilfe eines Taktsignals eingelassen.
Wenn die Mikroadresse der gewünschten Mikroroutine im Halteregister 240 eingespeist ist, wird die
Systemsteuerung vorbereitet, damit ein Sprung zu jener Adresse erfolgt und die dort abgelegten Mikrobefehle
der Mikroroutine zu holen begonnen werden. Diese Mikrobefehle unterrichten die Systemsteuerung 220
genau darüber, welcher Maschinenbefehl ausgeführt werden soll, z. B. ob ein Register zu verschieben, ein
Flipflop zu setzen oder ein Verknüpfungsglied einzuschalten ist Dieser Sprung zur Adresse des Mikrobefehls
wird unter Anwendung der üblichen Mikroprozessortechnik durchgeführt, sobald die Mikroadresse in
eine Mikroprogramm-Steuerung 242 eingeführt ist. Bei diesem Verfahren erzeugt die Mikroprogramm-Steuerung
242 eine Reihe Mikroadressen, damit die Systemsteuerung der gewünschten Folge von Mikrobefehlen folgen kann.
Sobald eine anfängliche Mikroadresse gegeben ist besitzt die Mikroprogramm-Steuerung unter anderen
Möglichkeiten die Fähigkeit, jene Mikroadresse um einen Schritt zu vergrößern oder zu verkleinern, um den
nächsten Mikrobefehl zu erreichen. Wenn somit die Mikrobefehle in der gewünschten Folge hintereinander
bei einer bekannten Ausgangsmikroadresse gespeichert sind, kann die Mikroprogramm-Steuerung sie alle unter
alleiniger Anwendung der anfänglichen Ausgangsmikroadresse in der richtigen Reihenfolge abrufen. Dieser
Fall ist für eine unermeßliche Anzahl von Mikrobefehlen gegeben. Diese Mikrobefehle, die die verschiedenen
Bedienungen definieren, die die Leitungsmoduln aus der Systemsteuerung anfordern, sind nämlich der Reihe
nach in einem MikroSpeicherbereich 244 untergebracht. Falls eine noch längere Routine erwünscht ist, kann der
Mikrobefehl die Systemsteuerung 220 auf einen Hauptspeicher 250 verweisen, in dem ein sehr
komplizierter Satz von Befehlen aufbewahrt werden kann. Der Mikrobefehl kann aber auch zur Mikroprogramm-Steuerung
242 zurückgeleitei werden, wo er als neue Ausgangsnrikroadresse für einen weiteren Satz
Befehle dienen kann. Die gesamte vorherige Beschreibung, wie die Mikroprogramm-Steuerung 242 auf die
aus dem Halteregister 240 empfangene Mikroadresse einwirkt, gibt lediglich die grundlegende Technologie
der Mikroprozessoren wieder, um die Umgebung zu verdeutlichen, in der die Erfindung angewendet wird.
Die Mikroprogramm-Steuerung 24:2 bewirkt, daß die bezeichneten Mikrobefehle einem Mikroprozessor 254
zugeleitet werden, der sie zur Bedienung des anfordernden Leitungsmoduls ausführt.
In der F i g. 3 ist ein ausführliches Blockschaltbild
desjenigen Abschnittes dargestellt, der die Adresse des Leitungsmoduls mit der höchsten Priorität erzeugt. Wie
bereits erwähnt, treten aus den 16 Leitungsmoduln die betreffenden Anforderungsleitungen 204a, 204ft,...
204p in den Prioritäts-Codierer 222 ein, der die Nummer des Übertragungskanals zum Leitungsmodul mit der
größten Priorität bestimmt. Diese Docierung zu einem Wort aus 4 Bits erfolgt durch handelsübliche integrierte
Schaltungen gemäß der F i g. 4.
Gemäß der F i g. 4 sind zwei Prior itäts-Codierelemente
402a und 4026 mit einem Übergang von 8 auf 3 Leitungen in Kaskade geschaltet, wodurch sich der
Prioritäts Codierer 222 (Fig.2 und 3) ergibt. Die
Leitungsmoduln mit einer höheren Priorität sind an das Prioritäts-Codierelement 402a und die mit einer
niedrigeren Priorität an das Prioritäts-Codierelement 4026 angeschlossen. Eine Schaltklemme 4046 des
letzteren ist an eine Schaltklemme 406a des ersteren gelegt, damit bei der Bearbeitung einer Anforderung aus
einer Anforderungsleitung mit einer höheren Priorität das untere Prioritäts-Codierelement 4026 abgeschaltet
wird und an seiner GS-Ausgamgsklemme 408 ein 1-Signal erscheint. Hierourch wird eine Leitung MSB für
das bedeutendste Bit des Wortes, das die Nummer des Übertragungskanals angibt, stets auf das Niveau des
1-Signals gebracht. Darüber hinaus werden drei Ausgangsleitungen 4106 des unteren Prioritäts-Codierelements
4026 in gleicher Weise auf dem hohen Niveau des 1-Signals gehalten, falls das Prioritäts-Codierelement
4026 abgeschaltet ist oder keine Signale an seinen Eingangsklemmen auftreten. Weiter arbeiten drei
NAND-Glieder 412a, 4126 und 412c als Negatoren bezüglich dreier Ausgangsleitungen 410a des oberen
Prioritäts-Codierelements 402a Da die beiden Prioritäts-Codierelemente
402a und 4026 so aufgebaut sind, daß an ihren drei Ausgangsklemmen Zo, Z\ und Zi die
oktale Umkehrung der Nummer der Eingangsleitung von höchstem Rang erscheint, ergibt sich, daß vier
Leitungen 306 die binärcodierte dezimale Äquivalente der Eingangsleitung höchsten Ranges führen, auf der
das Anforderungssignal auftritt Falls dem Prioritäts-Codierelement
402a gar keine Anforderungssignale zugeleitet werden, bleiben seine drei Ausgangsleitungen
410a auf dem Niveau des 1-Signals; ferner wird über die
Schaltklemme 406a das untere Prioritäts-Codierelement 4026 aktiviert, wobei an seiner GS-Ausgangsklemme M
408 ein 0-Signal auftritt und die drei Ausgargsleitungen
4106 die oktale Umkehrung der Nummer der Eingangsleitung höchsten Ranges führen, auf der ein Anforde
rungssignal erscheinen kann. Da die NAND-Glieder 412a, 4126 und 412c als Negatoren wirksam sind, führt
das dazu, daß die Nummer der Eingangsleitung höchsten Ranges, auf der ein Anforderungssignal
erscheint, in der Binärform über die Leitungen 306 abgegeben wird.
Gemäß der F i g. 3 laufen die Leitungen 306 von dem Prioritäts-Codierer 222 zu einer Auswahlschaltung 302,
die einen Teil eines Kanalregisters 224 bildet. Die Aufgabe der Auswahlschaltung 302 besieht darin, eine
der beiden möglichen Eingangsquellen zu wählen und diese an die nachfolgenden Auswahlschaltungen innerhalb
des Kanalregisters 224 anzuschließen. Die eine Eingangsquelle wird vom Ausgang des Prioritäts-Codierers
222 und die andere von einem der Ausgänge eines Speicherschaltgerätes 307 gebildet. Die letztere wird
jedesmal dann gewählt, wenn keiner der 16 Eingangsklemmen des Prioritäts-Codierers 222 ein Anforde
rungssigna! zugeführt wird. Die Auswahlschaltung 302
kann beispielsweise ein Vierfach-Datenwähler mit drei Leitungen sein, dessen Einstellung über eine Wahlleitung
305 erfolgt, auf der ein Signal erzeugt wird, durch das die logische NOR-Funktion zwischen den beiden
Ausgangsleitungen 406a und 4066der Prioritäts-Codierelemente 402a und 4026 der F i g. 4 zustandekommt.
Das Kanalregister 224 stellt gemäß der Fig.3 tatsächlich eine Kombination aus drei Auswahlschaltungen
dar, von denen die eine 302 bereits erläutert ist und die zweite 304, die aus denselben integrierten Schaltkreisen
aufgebaut ist und vier Ausgangsklemmen der Auswahlschaltung 302 oder eines Kettenstapels (nicht
gezeigt) anwählt Ein solcher Kettenstapel bedient die Anforderungen, die aus anderen Quellen als den
Leitungsmoduln herrühren können. Von der dritten Auswahlschaltung 307 werden entweder vier Ausgangsleitungen
der Auswahlschaltung 304 oder vier Bits aus einer Rechnersammelleitung 246 angewählt, wenn z. B.
Daten in die Leitungsmoduln eingeschrieben werden sollen; diese vier Bits dienen dann als Adresse des
gewünschten Leitungsmoduls, die mit Hilfe der ersten Auswahlschaltung 302 über die Sammelleitung 206 zu
den Leitungsmoduln übertragen wird. Die Bedeutung der Auswahlschaltung 307 besteht hier darin, daß eine
spezielle Adresse eines Leitungsmoduls auf der Sammelleitung 206 festgehalten wird, bis der vom
Leitungsmodul angeforderte Dienst abgeschlossen ist. Wegen dieser Speicherfunktion, die durch ein eingebautes
Element 326 erreicht wird, erscheint stets eine Adresse aus 4 Bits auf der Sammelleitung 206 als
Nummer des .Übertragungskanals. Falls aus den Leitungsmoduln keine Anforderung empfangen wird,
bewirkt der Prioritäts-Codierer 222, daß die Adresse 0000 des Leitungsmoduls mit der niedrigsten Priorität
erzeugt wird. In dem Diagramm der Fig.5 ist ein
5phasiges Taktsignal veranschaulicht das von der Systemsteuerung benutzt wird; jede Phase hat dieselbe
feste Dauer und beginnt mit dem Ende der vorherigen Phase. Gemeinsam bilden die fünf Phasen die Zykluszeit
der Systemsteuerung.
Alle Phasensignale und deren Kombinationen werden mit Hilfe üblicher Zeitgeberschaltungen und logischer
Schaltungen erzeugt was im Generator 226 der F i g. 2 und 3 geschieht Ein wesentliches Taktsignal ist das
bereits genannte Einschaltsignal, das normalerweise in den Phasen 2 und 3 der Zykluszeit der Systemsteuerung
das hohe Niveau und in den Phasen 4,5 und 1 das tiefe
Niveau einnimmt Am Ende der Phase 3, also an der Rückflanke des hohen Niveaus werden dia Anforde-
rungssignale der Leitungsmoduln aus diesen in den
Prioritäts-Codierer eingelassen. Wenn eine solche Anforderung zur Bedienung anerkannt wird oder die
Systemsteuerung eine Datenübertragung zu oder von einem Leitungsmodul vornimmt, wird die zuvor
bezeichnete Form des Einschaltsignals abgeändert. Wenn nämlich die Anforderung des Leitungsmoduls
anerkannt ist, bleibt das Einschaltsignal länger auf dem hohen Niveau, das zwar mit der Phase 2 des einen
Zyklus beginnt, aber mit der Phase 3 des nächsten Zyklus endigt (F i g. 5), worauf die Anforderungen der
Leitungsmoduln erneut geprüft werden können.
Die Funktion des Einschaltsignals liegt zusätzlich zu der, die Anforderungssignale aus den Leitungsmoduln in
den PrioriläiS-Codierer 222 im richtigen Zeitpunkt
einzulassen, darin, das Anforderungswort des adressierten Leitungsmoduls zur Systemsteuerung zu übermitteln.
Der adressierte Leitungsmodul benutzt nämlich das Einschaltsignal dazu, daß der Aufforderung zugeordnete
Auftorder jngswort auf dei Datensammelleitung 208
^u legen (P i g. 3). Mit anderen Worten ausgedrückt,
erscheint ein Anforderungswort jedesmal dann auf der Datensammelleitung 208, wenn das Einschaltsignal das
hohe Niveau einnimmt und der betreffende Leitungsmodul von dem Prioritäts-Codierer über die die
Nummer des Kanals führende Sammelleitung adressiert wird. Falls jedoch die Systemsteuerung das Anforderungssignal
aus dem Leitungsmodul nicht anerkennt, wird das Anforderungswort in der Datensammelleitung
208 vernachlässigt, (also von der Auswahlschaltung 232 des Adressenregisters nicht angewählt) und das
Einschaltsignal fällt am Ende der Phase 3 ab.
Wenn die Systemsteuerung das Anforderungssignal anerkannt hat, erzeugt die Wahllogik 234 den passenden
Code, damit die Auswahlschaltung 232 die Datensammelleitung 208 als Quelle anwählen kann, sowie drei
feststehende Bits und leitet das sich ergebende Wort aus 10 Bits zum Adressenregister 228, wo es gespeichert
wird. Der Zeitpunkt dieses Einlaßvorgangs des Wortes aus 10 Bits in das Adressenregister 228 liegt im
Übergang zwischen den Phasen 3 und 4 desjenigen Zyklus, in dem eine Anforderung des Leitungsmoduls
anerkannt worden ist (Fig.5). Die Auswahlschaltung
232 lenkt auch Informationen aus anderen Quellen der Systemsteuerung z. B. von Eingabeleitungen 330 zum
Adressenregister 228. Die einzige Funktion der Auswahlschaltung 232 besteht darin, die sieben Informationsbits
aus der Datensammelleitung 208 der Leitungsmoduln und die drei erzeugten Bits 101 anzuwählen,
wenn die Anforderung des Leitungsmoduls anerkannt und das Einschaltsignal auf das hohe Niveau gebracht
ist.
Bei dieser Ausführungsform der Erfindung wird das Anforderungssignal von einem im Leitungsmodul
untergebrachten Signalspeicher erzeugt Wenn es ein hohes Niveau annimmt, wird angezeigt, büß im
Augenblick keine Anforderung erfolgt, während das tiefe Niveau eine Anforderung bedeutet Die Rückflanke
des Einschaltsignals, das allen Leitungsmoduln fiber die Steuerleitung 210 zugeführt wird (F i g. 2), schaltet
diesen Signalspeicher weiter, so daß dem Leitungsmodul bezüglich der Wegnahme oder Abänderung seines
Anforderungssignals und der entsprechenden Anforderung die größte Anpassungsmöglichkeit gewährt wird
Wie bereits erwähnt, wird nur die Anforderung des Leitungsmoduls mit der jeweils höchsten Priorität von
dem Prioritäts-Codierer 222 anerkannt Sogar wenn die Anforderung die höchste Priorität hat, braucht die
Systemsteuerung sie nicht anzuerkennen. Die Anforderung eines Leitungsmoduls wird nämlich nur dann
anerkannt, wenn die von dem Prioritäts-Codierer 222 bestimmte Nummer des Übertragungskanals aus vier
Bits in das Speicherelement 326 in der Auswahlschaltung 307 des Kanalregisters 224 mit Hilfe eines
Taktsignals eingelassen ist.
Die Taktgabe oder das Anerkenntnis der Anforderung eines Leitungsmoduls erfolgt innerhalb dt;
ίο Periode eines Zyklus (Fig.5), wenn nicht gerade eine
Anforderung mit einer höheren Priorität aus einer anderen Quelle als einem Leitungsmodul von der
Systemsteuerung bedient wird. Die Systemsteuerung weist nämlich einen Aufgabenverteiler auf, der alle
Anforderungen auf Grund der Priorität bearbeitet. Beispielsweise können innerhalb der Systemsteuerung
220 zahlreiche Fehleranzeiger (Flipflops oder andere speichernde Vorrichtungen) angeordnet sein, die während Ηργ Aiisführiinsr pinpr vnrhprcrphpnHpn Mil·rnrmiti-
ne gesetzt werden konnten, z. B. ein Anzeiger, daß ein Paritätsfehler wahrgenommen wurde. Diesen Fehleranzeigern
kann eine höhere Priorität als den Anforderungen aus den Leitungsmoduln zugeordnet sein-, somit
sperrt mit dem Setzen eines Fehleranzeigers die Wahüogik 234 das Taktsignal, das sonst die Anforderung
des Leitungsmoduls in das Speicherelement des Kanalregisters 224 einschleusen würde. Die Fehleranzeige
kommt also dem Anerkenntnis der Anforderung eines Leitungsmoduls zuvor. In ähnlicher Weise können
die Anforderungen der Leitungsmoduln eine höhere Priorität als andere Anforderungen innerhalb der
Systemsteuerung aufweisen, z. B. als Anforderungen eines Zeitgebers, einer Kette von hoher Priorität oder
einer sonstigen Kette oder aus dem Hintergrund. In gleicher Weise können die Anforderungen des Zeitgebers
eine höhere Priorität als die der Ketten usw. haben. Zu den Kettenanforderungen gehören solche, die
vorübergehend hintereinander in einer Tabelle abgelegt werden, daß da die anderen Anforderungen sie
hinsichtlich ihrer Priorität übertreffen. Derartige Tabellen-Anforderungen werden in einem Kettenstapel
abgelegt, bei dem alle Eingänge der Reihe nach bedient werden.
Gemäß dem Blockschaltbild der F i g. 6 werden die vom Adressenregister 228 (F i g. 3) abgegebenen Adressen in den Registerstapel 236 eingelassen. Die zugehörigen, im Adressenregister 228 aufbewahrten Bits, die sich aus dem Anforderungswort des Leitungsmoduls mit der höchsten Priorität und den drei feststehenden Bits 101 zusammensetzen, identifizieren denjenigen Teil der im Registerstapel gespeicherten Informationen, der zur Quellensammelleitung 238 laufen soiL Der Registerstapel 236 wird von im Handel verfügbaren Speichern mit zufallsverteiltem Zugriff gebildet Die entsprechenden Steuersignale zur Unterrichtung des Registerstapels 236, daß Daten aus ihm ausgelesen, (also nicht in ihn eingeschrieben) werden sollen, werden jedesmal dann in der Wahllogik 234 erzeugt, wenn ein Anforderungssignal anerkannt und das Einschaltsignal auf das hohe Niveau gebracht worden ist (F i g. 5). Sobald der Registerstapel 236 zum Lesen umgeschaltet ist, erscheinen die bei der vorgeschriebenen Adresse gespeicherten Daten auf 18 Ausgabeleitungen 602, sobald die Adreßsignale dem Registerstapel zugeführt werden.
Gemäß dem Blockschaltbild der F i g. 6 werden die vom Adressenregister 228 (F i g. 3) abgegebenen Adressen in den Registerstapel 236 eingelassen. Die zugehörigen, im Adressenregister 228 aufbewahrten Bits, die sich aus dem Anforderungswort des Leitungsmoduls mit der höchsten Priorität und den drei feststehenden Bits 101 zusammensetzen, identifizieren denjenigen Teil der im Registerstapel gespeicherten Informationen, der zur Quellensammelleitung 238 laufen soiL Der Registerstapel 236 wird von im Handel verfügbaren Speichern mit zufallsverteiltem Zugriff gebildet Die entsprechenden Steuersignale zur Unterrichtung des Registerstapels 236, daß Daten aus ihm ausgelesen, (also nicht in ihn eingeschrieben) werden sollen, werden jedesmal dann in der Wahllogik 234 erzeugt, wenn ein Anforderungssignal anerkannt und das Einschaltsignal auf das hohe Niveau gebracht worden ist (F i g. 5). Sobald der Registerstapel 236 zum Lesen umgeschaltet ist, erscheinen die bei der vorgeschriebenen Adresse gespeicherten Daten auf 18 Ausgabeleitungen 602, sobald die Adreßsignale dem Registerstapel zugeführt werden.
Vom Registerstapel 236 aus läuft die Mikroadresse der Routine, von der zum Dienst aufgefordert wird, über
die Quellensammelleitung 238, die eine Auswahlschal-
Ja.
tang enthält zum Halteregister 240, wobei beachtet sei,
daB die beiden Pantätsbits an dieser Obertragung nicht teilnehmen. Ais QuellensammeUeitung wird für die
Quellensammelleitung 238 ein üblicher Datenwähler mit 8 Eingängen und einem Ausgang benutzt Zur s
passenden Arbeitsweise werden nur drei Wahlsignale benötigt, um festzulegen, welcher der acht Eingänge
angewählt werden solL Die Wahlsignale zur Einstellung
der QuellensammeUeitung 238 entstehen in der Wahllogik 234 mit Hilfe logischer Verknüpfungsglieder,
sobald ein Anforderungssignal anerkannt und das Einschaltsignal auf das hohe Niveau gebracht ist
Im Halteregister 240 werden vier Vierfach-Flipflops zum Festhalten von 16 Datenbits benutzt Die
eingehenden Daten werden mit der Vorderflanke des mit der Phase 1 auftretenden Taktsignals zu der
Ausgangskieaune übertragen (F i g. 5).
Der Ausgang des Halteregisters 240 ist gemäß der F i g. 6 mit verschiedenen Abschnitten der Systemsteuerung
verbunden. In einigen Fällen nimmt der Mikroprozessor
die Dsten an, während in anderen Fällen, wenn
die Daten zu einem Leitungsmodul gesendet werden, sie von einem Sende-Empfangsgerät (nicht gezeigt) aufgenommen
werden, das sie seinerseits über die Datensammelleitung
208 an die Leitungsmoduln weitergibt Wenn jedoch das Halteregister die Mikroadresse der nächsten
Mikroroutine festhält, die die Systemsteuerung ausführen soll, werden die Daten stets von der Mikroprogramm-Steuerung
242 angenommen. Diese benutzt diese Adresse, um den Anfangspunkt im MikroSpeicherbereich
244 aufzufinden, an dem der erste Mikrobefehl der gewünschten Mikroroutine untergebracht ist
Sobald die Mikroprogramm-Steuerung den Anfangspunkt der gewünschten Routine kennt, schaltet sie
durch alle Mikrobefehle durch, die zur Vervollständigung der Mikroroutinen notwendig sind.
Die von der Mikroprogramm-Steuerung angewendeten Verfahren, die verschiedenen Befehle abzurufen und
auszuführen, die die Systemsteuerung übernehmen soll,
bilden die Standard-Mikroprozessor-Technologie, Dementsprechend wirkt der Mikroprozessor auf die
Mikroadressen, die im Halteregister 240 in der
gewünschten Form gespeichert sind. Die Fig. 6 zeigt
daher eine Anordnung, mit der sich dieses Ziel erreichen läßt
In der F i g. 6 ist die Mikroprogramm-Steuerung 242 aus drei integrierten Schaltungen aufgebaut, von denen
Mikroprogramme gesteuert werden. Sie arbeiten mit dem MikroSpeicherbereich 244, einem Haltekreis 610
und einer Sprung- und Wahlschaltung 608 zusammen. Der MikroSpeicherbereich 244 besteht aus einem
Programmabschnitt mit 1024 Wörtern und aus einem Abschnitt mit zufallsverteiltem Zugriff mit 1024
Wörtern von je 18 Bits Länge. Der Haltekreis 610 ist ein Register, von dem ein Mikrobefehl während seiner
Ausführung festgehalten wird, und das mehrere Flipflop-Schaltungen aufweist Von der Sprung- und
Wahlschaltung 608 wird die Tätigkeit der Mikroprogramm-Steuerung am nächsten Befehl ermittelt Zusätzlich
zu einer Eingangsleitung 609 für die Mikrobefehle werden über andere Eingangsleitungen 612 Zustandscodes
und äußere Sprungsignale eingespeist damit zwei verschlüsselte Bits abgegeben werden können, die eine
Auswahlschaltung 614 innerhalb der Mikroprogramm-Steuerung 242 einstellen. Der innere Aufbau der
Sprung- und Wahlschaltung 608 benutzt mehrere Flipflops und gruppierte logische Verknüpfungsglieder.
Hierzu 6 Blatt Zeichnungen
Claims (2)
- Patentansprüche1, Schaltungsanordnung zur Bearbeitung von Anforderungssignalen mit einem Prioritäts-Codie- s rer, zu dem aus mehreren peripheren Geräten Ober je eine gesonderte Leitung die Anforderungssignale heranführbar sind, und von dem ein Geräte-Adressiersignal zu demjenigen periplieren Gerät zurückgebbar ist, dessen Anforderungssignal die höchste Priorität zuerkannt ist, und mti: einem Taktgenerator, von dem in periodischen Abständen ein Einschaltsignal an alle peripheren Geräte ausgebbar ist, dadurch gekennzeichnet, daß vom peripheren Gerät (200a, 200Zj,... oder 20OpJ beim Empfang seines Geräte-Adressiersignals (Kanal-Nr.) und des Einschaltsignals aus dem Taktgenerator (226) zumindest ein Adreßteil an ein Adressen-Register (228) ausgebbar ist, von dem ein Registerstapel (236) adressiert wird, in dem die Adressen des Ortes der Mikroroutinen abgelegt sind, die zur Bedienung der Anforderung aus dem peripheren Gerät verwendbar sind.
- 2. Schaltungsanordnung nach dem Anspruch 1, dadurch gekennzeichnet, daß dem Adressen-Register (228) eine Auswahlschaltung (232) vorgesetzt ist, der zusätzlich zu dem Adreßteif aus dem jeweiligen peripheren Gerät (200a, 2006,... oder 200p) mehrere Biteignale (101) als feststehendes Wort aus einem Speicher (230) zuführbar sind, und daß die Auswahlschaltung (232) den Adreßteil mit den Bitsignalen (101) zu einem Indexwort vereinigt, das in das Adressen-Register (228) -übertragen wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/029,157 US4237535A (en) | 1979-04-11 | 1979-04-11 | Apparatus and method for receiving and servicing request signals from peripheral devices in a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3013070A1 DE3013070A1 (de) | 1980-10-30 |
DE3013070C2 true DE3013070C2 (de) | 1983-05-11 |
Family
ID=21847556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3013070A Expired DE3013070C2 (de) | 1979-04-11 | 1980-04-03 | Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US4237535A (de) |
JP (1) | JPS5936770B2 (de) |
DE (1) | DE3013070C2 (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5616248A (en) * | 1979-07-17 | 1981-02-17 | Matsushita Electric Ind Co Ltd | Processing system for interruption |
DE3003340C2 (de) * | 1980-01-30 | 1985-08-22 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und Schaltungsanordnung zur Übertragung von binären Signalen zwischen über ein zentrales Busleitungssystem miteinander verbundenen Anschlußgeräten |
US4521858A (en) * | 1980-05-20 | 1985-06-04 | Technology Marketing, Inc. | Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu |
US4628158A (en) * | 1982-07-16 | 1986-12-09 | At&T Bell Laboratories | Stored program controller |
US5142689A (en) * | 1982-09-27 | 1992-08-25 | Siemens Nixdort Informationssysteme Ag | Process for the preparation of the connection of one of several data processor devices to a centrally synchronized multiple line system |
US4523277A (en) * | 1982-09-30 | 1985-06-11 | Ncr Corporation | Priority interrupt system for microcomputer |
US4654820A (en) * | 1983-11-30 | 1987-03-31 | At&T Bell Laboratories | Interrupt bus structure |
US4779195A (en) * | 1985-06-28 | 1988-10-18 | Hewlett-Packard Company | Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor |
US4761732A (en) * | 1985-11-29 | 1988-08-02 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interrupt controller arrangement for mutually exclusive interrupt signals in data processing systems |
US5278958A (en) * | 1988-01-27 | 1994-01-11 | Kabushiki Kaisha Toshiba | Method and apparatus for selecting a keyboard on a computer system |
US5129078A (en) * | 1988-08-19 | 1992-07-07 | Groves Stanley E | Dedicated service processor with inter-channel communication features |
JPH0395616A (ja) * | 1989-09-08 | 1991-04-22 | Toshiba Corp | キーボード接続制御方式 |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
US5852746A (en) * | 1995-06-26 | 1998-12-22 | Canon Kabushiki Kaisha | System for transmitting a message using status button to system administrator by using a signal comprising predetermined number of changes effected over a period |
US20100162256A1 (en) * | 2008-12-18 | 2010-06-24 | Alexander Branover | Optimization of application power consumption and performance in an integrated system on a chip |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2002165B2 (de) * | 1970-01-19 | 1972-05-10 | Siemens AG, 1000 Berlin u. 8000 München | Datenverarbeitungsanlage, bei der programmunterbrechungen vorgesehen sind |
US3685020A (en) * | 1970-05-25 | 1972-08-15 | Cogar Corp | Compound and multilevel memories |
US4059851A (en) * | 1976-07-12 | 1977-11-22 | Ncr Corporation | Priority network for devices coupled by a common bus |
US4091447A (en) * | 1976-07-19 | 1978-05-23 | Union Carbide Corporation | Interrupt control system for a microcomputer |
US4152761A (en) * | 1976-07-28 | 1979-05-01 | Intel Corporation | Multi-task digital processor employing a priority |
US4090238A (en) * | 1976-10-04 | 1978-05-16 | Rca Corporation | Priority vectored interrupt using direct memory access |
US4181941A (en) * | 1978-03-27 | 1980-01-01 | Godsey Ernest E | Interrupt system and method |
-
1979
- 1979-04-11 US US06/029,157 patent/US4237535A/en not_active Expired - Lifetime
-
1980
- 1980-04-03 DE DE3013070A patent/DE3013070C2/de not_active Expired
- 1980-04-10 JP JP55047463A patent/JPS5936770B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS564829A (en) | 1981-01-19 |
US4237535A (en) | 1980-12-02 |
JPS5936770B2 (ja) | 1984-09-05 |
DE3013070A1 (de) | 1980-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3013070C2 (de) | Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung | |
DE2230830C2 (de) | Datenverarbeitungsanlage | |
EP0952520B1 (de) | Vorrichtung zur fehlertoleranten Ausführung von Programmen | |
DE2755897C2 (de) | ||
DE2313724C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Anzahl von Datengeräten, die mit einem gemeinsamen Kontroller nach dem Unterberechnungsprinzip verkehren | |
DE2657848C2 (de) | ||
DE2755952C2 (de) | ||
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2646163B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2726811A1 (de) | Daten-management-systeme fuer rechenanlagen | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
DE2646162B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE2612083A1 (de) | Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE2713253A1 (de) | Programmlader fuer ein steuergeraet | |
DE2801563A1 (de) | Dialogprozessor | |
DE2926322A1 (de) | Speicher-subsystem | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE68921676T2 (de) | Flexibles Diagnosesystem, anpassbar an Datenverarbeitungssysteme verschiedener Grösse. | |
DE3043012A1 (de) | Einrichtung zum unabhaengigen betrieb mehrerer untereinheiten in einem informationsverarbeitungssystem durch verschiedene benutzer | |
DE2351890A1 (de) | Multiplexereinrichtung | |
DE2142374C2 (de) | Schaltungsanordnung zur Auswahl und ggfs. erfolgenden Modifizierung von Datenzeichen | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: UNISYS CORP. (N.D.GES.D.STAATES DELAWARE), BLUE BE |
|
8328 | Change in the person/name/address of the agent |
Free format text: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. RABUS, W., DR.-ING. BRUEGGE, J., DIPL.-ING., 2800 BREMEN MAIWALD, W., DIPL.-CHEM.DR., PAT.-ANWAELTE, 8000 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |