DE2744252A1 - Dv-system mit wenigstens einem festwertspeicher fuer mikroprogramme - Google Patents
Dv-system mit wenigstens einem festwertspeicher fuer mikroprogrammeInfo
- Publication number
- DE2744252A1 DE2744252A1 DE19772744252 DE2744252A DE2744252A1 DE 2744252 A1 DE2744252 A1 DE 2744252A1 DE 19772744252 DE19772744252 DE 19772744252 DE 2744252 A DE2744252 A DE 2744252A DE 2744252 A1 DE2744252 A1 DE 2744252A1
- Authority
- DE
- Germany
- Prior art keywords
- rom
- register
- signal
- flip
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Read Only Memory (AREA)
Description
Die Erfindung betrifft ein Datenverarbeitungssystem nach dem Gattungsbegriff des Anspruchs 1.
In einem auf der "Manchester University Computer Inaugural Conference" vom July 1951 veröffentlichten Bericht hat M.V.Wilkes
auf den Seiten 16-18 unter der Überschrift "The Best Way to Design an Automatic Calculating Machine" vorgeschlagen, Rechner
mit einem veränderbaren Satz von Befehlen auszustatten. Normalerweiste steht dem Programmierer ein vorgegebener Befehlssatz zur
Verfügung, wobei jeder Befehl aus einer Folge von Elementaroperationen oder MikroOperationen besteht. Die Einführung von
MikroOperationen bedeutet den Entwurf einer Maschine mit veränderbaren Befehlen. Für jeden Befehl ist die Mikrooperationsfolge
üblicherweise in der Computer Hardware festgelegt. Wilkes hat demgegenüber eine Einrichtung vorgeschlagen, durch welche ein Programmierer
Mikrobefehle zu einem Befehl zusammensetzen kann, den der Rechner auszuüben vermag. Durch Mikroprogrammierung könnte
das Befehlsrepertoire eines Rechners geändert werden, wenn dieser für andere Zwecke eingesetzt wird. Für die Einführung eines veränderbaren
Befehlsrepertoires wurde ein Speicher zum Speichern der Mikrooperationsfolgen als erforderlich angesehen und Wilkes
schlug hierfür die Verwendung einer Diodenmatrix vor. Man bezeichnet solche Speicher heute als Festwertspeicher ROM oder
besser gesagt, zerstörungsfrei lesbare Speicher. Die letztgenannte Bezeichnung dürfte dabei besser sein, weil ein Repertoire
aus veränderbaren Befehlen die Möglichkeit einer Änderung des Speicherinhalts voraussetzt. Jedoch wir die Bezeichnung Festwertspeicher
allgemein benutzt und soll folglich auch in dieser Beschreibung als Bezeichnung für einen zerstörungsfrei lesbaren
Speicher dienen. Es handelt sich um einen Speicher, dessen Inhalt durch Mikroprogrammierung, nicht jedoch von der Maschine selbst
geändert werden kann.
Die Mikroworte v/erden dauerhaft in den Festwertspeicher eingegeben,
indem bei der Mikroprogrammierung jedes Bit durch eine Art Kurzschlußverbindung zwischen den entsprechenden Speicherelementen des
Festwertspeichers gesetzt v/ird.
8098U/0873
Die Errichtung/ welche den Ablauf der MikroOperationen in einem
Rechner durchführt, wird üblicherweise als Steuereinrichtung bezeichnet. Bei einer Steuereinrichtung für einen Festwertspeicher
ROM bedeutet dies eine Vielzahl rechteckiger Speicheranordnungen mit einer speziellen Anzahl von Worten in jedem Speicher. Jedes
Wort besteht aus einer vorgegebeenen Anzahl von Bits. Alle Bits eines Wortes werden zusammen ausgelesen und bilden zusammen
einen Satz von Mikrobefehlen, die entweder gleichzeitig oder nacheinander im Rhytmus eines externen Taktgebers ausgeführt
werden. Anschließend wird ein anderes Wort ausgelesen und in ähnlicher Weise abgewickelt. Jedes Wort bezeichnet eine Gruppe von
MikroOperationen, und eine Folge von Worten bezeichnet eine Folge von Mikrooperationsgruppen. Eine Gruppe von Worten, deren Mikrooperationen
eine spezielle Funktion bestimmen oder durchführen, wird als Mikroprogramm bezeichnet. In der derzeitigen Technik
werden unterschiedliche Einrichtungen als Festwertspeicher-Steuereinrichtung verwendet. Halbleitereinrichtungen setzen sich
jedoch immer mehr durch.
Im einfachsten Anwendungsfall wird jedes Bit eines Mikroworts zur Erzeugung einer MikroOperation benutzt. Eine Bit-Position im
Wort enthält eine "1", wenn die entsprechende MikroOperation in diesem Wort erwünscht ist;andernfalls ist das Bit 11O". Diese
Mikroworte werden in einem Festwertspeicher ROM gespeichert. Ein aus dem Hauptspeicher MM ausgelesener Befehl setzt das Auslesen
der ersten Serie von Mikroworten aus dem Festwertspeicher in Gang und bewirkt die Durchführung des aus dem Hauptspeicher gelesenen
Befehls durch die Zentraleinheit des DV-Systems. Diese Technik ist bekannt und beispielsweise in dem Buch "Microprogramming:
"Principles and Practices" von Samir S. Husson, veröffentlich 1970 durch "Prentice Hall Inc., Englewood Cliffα,
New Jersey. Darüberhinaus wurden mehrere Patente für verschiedene Merkmale mikroprogrammierbarer DV-Systeme veröffentlicht,
beispielsweise die US-PS 37 36 567, wo ein vorbestimmtes Bit im letzten Mikrowort eines Mikroprogramms einen neuen Programmspeicherzyklus
und einen neuen Mikroprogrammspeicherzyklus in Gang setzt. Festwertspeicher finden vielfache Anwendung, bei-
803814/0871
27U252
spielsweise in den Rechnersystem Honeywell 4200/8200 der Honey
well Serie 60 sowie in den IBM-Serien 360 und 370.
In jüngster Zeit sind Festwertspeicher in Kleinrechnern zur
Steuerung der Befehlsdurchführung eingesetzt worden. Zwei Hauptforderungen treten immer mehr in den Vordergrund, nämlich einerseits
eine größere Durchsatzkapazität und andererseits die Möglichkeit, den Benutzern ein breiteres Spektrum von Diensten anbieten
zu können. Diese beiden Forderungen ergeben die Aufgabe, eine maximale Datenverarbeitungskapazität mit einem Minimalaufwand
an Hardware zu ermöglichen. Einerseits sollen die Endkosten des DV-Systems verringert und andererseits dessen Kapazität erhöht
werden. Diese beiden Forderungen stehen einander entgegen, denn zusätzliche Datenverarbeitungsfähigkeiten und Kapazitäten
benötigen mehr Hardware und sind somit teurer. Eine Verringerung der Kosten führt im allgemeinen zu einer Einschränkugn der Einsatzmöglichkeiten,
weil die zur Verfügung gestellte Hardware geringeren Umfang hat.
Obwohl Festwertspeicher in Kleinrechnern eingeführt wurden, um die
Befehlsausführung durch Mikroprogramme und Mikrobefehle zu steuern, besteht weiterhin der Wunsch, einen wirkungsvolleren Festwertspeicher
zur Befehlsausführung zu schaffen, indem Speicherplatz im Festwertspeicher oder Arbeitsschritte bei der Durchführung eines
Befehls eingespart werden. Bekannte Festwertspeicher verwenden nach der Vollendung einer Mikroprogrammfolge einen Verzweigungsbefehl, um zu einem gemeinsamen Punkt der Befehlsfolge zurückzukehren
von dem aus die nächste Mikroprogrammfolge ausgeht. Je nachdemin welchem Modul des Festwertspeichers der letzte Mikrobefehl
der ablaufenden Mikroprogrammfolge liegt, werden ein bis zwei zusätzliche Rechenschritte benötigt. Um Hardware und Rechenschritte
zu Beginn der Ausführung eines neuen Befehls (nicht eines Mikrobefehls) einzusparen, ist es erwünscht, die Verzweigung
zu einem gemeinsamen Startpunkt zu vermeiden.
8Q98U/0873
27U252
Aufgcibe der Erfindung ist es, eine Steuerschaltung für einen
Festwertspeicher zu schaffen, bei der diese Forderungen erfüllt sind. Diese Aufgabe wird gelöst durch die im Anspruch 1 gekennzeichnete
Erfindung. Mit ihr wird eine bestimmte Bit-Position in einem Mikrowort eines Mikroprogramms für die Speicherung eines
Signals reserviert, welches anzeigt, ob dieses Mikrowort das letzte in der Mikroprogrammfolge ist oder nicht. Hat dieses Bit
den Wert "0", so handelt es sich nicht um das letzte Mikrowort in der Mikroprogrammfolge. Der Zustand dieses Bits wird festgestellt
,und das Festwertspeicher-Subsystem wird in Gang gesetzt, falls es sich um das letzte Mikrowort in der Befehlsfolge handelt
und keine Unterbrechung angezeigt wird. Hat das genannte Bit den Wert "1" und ist außerdem ein Unterbrechungssignal vorhanden, so
geht das DV-System in den Unterbrechungszustand über, indem selbsttätig die Startadresse für die Programmunterbrechungen verarbeitende
Mikroprogrammfolge geliefert wird. Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels beschrieben. Dabei zeigt
Fig. 1 das Blockschaltbild der hier interessierenden Teile eines Hauptspeicher-Subsystems und eines Festwertspeicher-Subsystems
gemäß dem Stand der Technik;
Fig.2a das Flußdiagramm der bekannten Art der Ingangsetzung
des Festwertspeicher-Subsystems auf die Adresse Null zur Einleitung der Durchführung eines neuen Befehls
oder zur Festwertspeicheradresse 8 für die Bearbeitung einer Unterbrechung;
Fig.2b ein entsprechendes Flußdiagramm der Anlaufeinrichtung
gemäß der Erfindung;
Fig. 3 das Schaltbild der Einrichtung gemäß der Erfindung und
die Figuren 4a und 4b zwei Mikrowortformate.
809814/0873
27U252
— ο —
Zum besseren Verständnis der Erfindung wird zunächst der Stand der Technik an den Figuren 1 und 2a erläutert werden. In Fig. 1
ist ein herkömmlicher Halbleiterspeicher 1 mit wahlfreiem Zugriff dargestellt, der Befehle und Daten aufnimmt. Das Hauptspeicher-Adressregister
speichert die Adressen der Speicherplätze im Speicher, der Informationen aus dem Datenausgaberegister DOR 3
erhält, sofern der Operationscode des Befehls eine Schreiboperation in den Hauptspeicher anfordert. Es speichert darüberhinaus
die Adresse des Speicherplatzes im Hauptspeicher 1, welcher Informationen an das Dateneinoahereqister DIR 4 liefert, sofern
der Operationscode des Befehls eine Leseoperation anfordert. Das Eingaberegister 4 speichert Sianale, welche einen Befehl darstellen,
der unter der Steueruna des Festwertspeichersystems ausgeführt wird. Der Befehl wird in einem Decoder 10 decodiert und
10 Bits, welche die Festwertspeicheradresse darstellen, werden vom MultiplexerP.ausgewählt und liefern somit eine Adresse im Festwertspeicher
5. Der Multiplexer 8 ist ein Dual-4:1-Multiplexer
vom Typ SN7 4153, wie er auf den Seiten 9-351 bis 9--364 des
"Integrated Circuit Catalog for Design Engineers" der Firma Texas Instruments, Inc. beschrieben ist. Da der Multiplexer 8
in der Lage sein muß, wenigstens 10 Bits zu schalten, werden fünf dieser Dualeinheiten benötigt, wobei jede Einheit zwei Bits schaltet.
Die Mikroworte v/erden im Festwertspeicher 5 gespeichert t
der aus vier Speichermodulen ROM A bis ROM D besteht, wobei jeder Modul 1024 Worte und jedes Wort 3 6 Bits zuzüglich vier Paritäts-Bits
umfaßt. Das hier gezeiqte Festwertspeichersystem ist nur als Beispiel aufzufassen, denn auch andere Festwertspeicher mit
unterschiedlichem Wortumfang können eingesetzt werden. Jedes Mikrowort im Festwertspeicher 5 wird durch ein 12-Bit- ROM-Adresswort
adressiert. Die ersten zwei Bits 0 und 1 des ROSAR-Registers 9 liefern die Adresse des Moduls im Festwertspeicher
5, während die folgenden 10 Bits vom Multiplexer 8 die Adresse innerhalb des betreffenden Moduls angeben. Eine Mikrowortadresse
wird durch ein Festwertspeicher-Adresswort in das lokale Festwertspeicherregister (RSLR) 7 eingelesen. Ein solches
809814/0873
27U252
Mikrowort besteht aus verschiedenen Steuerbits, welche an die
verschiedenen Subsysteme weitergegeben werden, wo sie verschiedene Steuerfunktionen ausüben. Diese Steuerfunktionen sind mit
Ausnahme des S-Bits an der Position 3 im folgenden nicht im einzelnen beschrieben, jedoch ist in den Figuren 4a und 4b das
Format solcher Mikroworte und die Funktion der einzelnen Bits als Beispiel angegeben. Diese Formate sind typisch, es können auch
andere 36 Bit-Formate im Mikrowort für den Festwertspeicher Verwendung finden. Abweichend von den bisherigen Formaten ist in
Position 3 ein sogenanntes S-Bit (splatter bit) vorgesehen, welches für die Erfindung kennzeichnend ist. Die übrigen Bits, beispielsweise
die Bits für feste Daten 52 sov/ie für variable Daten
von
53 sind im Zusammenhang mit der Erfindung untergeordneter Bedeutung
und werden folglich nicht im einzelnen beschrieben.
Zusammen mit dem Auslesen der 10 Bits eines Befehls, der die Adresse des ersten Wortes des auszuführenden Mikroprogramms im
Festwertspeicher 5 anzeigt, werden diese 10 Bits auch in das ROSAR-Register 9 eingegeben, nachdem dieses vom Rechenwerk 17 um
einen Schritt fortgesphaltet wurde. Somit hält das ROSAR-Register 9 die Adresse des nächsten Mikrobefehls in der auszuführenden
Mikroprogrammfolge. Wird der Mikrobefehl gesteuert durch das ROM-Adresswort in das lokale Festwertspeicherregister 7
eingegeben, so wird er durch die nicht dargestellte Mikroprogrammsteuereinheit verarbeitet, sofern es sich um einen Verzweigungsbefehl
ähnlich demjenigen gemäß Fig. 4b handelt. Dabei werden die letzen 10 Bits des Verzweigungsbefehls über die Leitung
14 und den Multiplexer 8in^as ROM-Adressrftgister eingegeben.
Die letzten zehn Bits stellen die neue Verzweigungsadresse dar und somit beginnt die Durchführung des Mikroprogramms an dieser
neuen Adresse.
Zusätzlich werden die 10 Verzweigungsbits, welche die Adresse des ersten Befehls im auszuführenden Mikroprogramm darstellen,
im ROSAR-Register 9 gespeichert, nachdem dieses erneut durch das
Rechenwerk 17 um einen Schritt fortgeschaltet wurde. In aufeinanderfolgenden Zyklen, die üblicherweise alle 200 ns auftre-
809814/0873
ten, sendet das ROSAR-Register 9 10 Bits durch den Multiplexer
zum ROM-Adresseregister 6; und das ROSAR-Register 9 wird durch das Rechenwerk 17 über die Leitungen 13 und 16 jeweils um einen
Schritt fortgeschaltet. Nachdem die Adresse des ersten Mikrobefehls über das ROM-Adressregister 6 eingeht, werden die Adressen
der nachfolgenden Mikrobefehle/durch den Taktgeber 18 gesteuert,
alle: 200 ns über das ROSAR-Register 9 bereitgestellt, bis ein
Mikrowort im ablaufenden Mikroprogramm ein Auswahlsignal 20 hervorruft, aufgrund dessen über den Multiplexer 8 eine andere
Adressenquelle angeschlossen wird. Das Ende eines Mikroprogramms und der Beginn eines anderen Mikroprogramms wird bei einem herkömmlichen
Pestwertspeicher ROM nachfolgend anhand von Fig. 2a beschrieben.
Aus Fig. 2a wurden die Blöcke 31 und 40 bereits oben beschrieben. Der Bloc£°stellt den Anfangsschritt bei der Durchführung einer
Mikrobefehlsfolge eines Mikroprogramms dar und beginnt immer an
der Adresse 0 des Moduls A des Festwertspeichers 5. An dieser Adresse ist ein sogenanntes S-Wort (splatter word) gespeichert,
welches zum Ingangsetzen des Systems erforderlich ist. Es handelt sich nicht um den ersten Befehl in der Mikrobefehlsfolge eines
Mikroprogramms. Das S-Wort wird zur Ausführung einer der folgenden typischen Ingangsetzungsfunktionen zur Auswahl der Startadresse
benutzt, ordnet die SammelschienenschnittstellerEirheit dem
Lesen des Speichers zu und bildet die effektive Speicherleseadresse. Für die Erfindung ist es wichtig, daß vor der Ausführung
einer neuen Mikrobefehlsfolge die Steuereinheit jeweils zur Adresse 0 zurückkehren muß, um Zugriff zum S-Wort zu erhalten. Bei einem
herkömmlichen System benötigt diese Rückkehr zur Adresse 0 einen oder zwei Schritte, je nachem ob sich der zuletzt ausgeführte
Mikrobefehl im Modul A oder in einem der Module B,C,oder D
des Festwertspeichers befand.Im letztgenannten Fall muß das System
zunächst zur Adresse 0 jedes Moduls abverzweigen. Dies bedeutet einen Schritt. Anschließend erfolgt der Hinweis auf die Adresse
des Moduls A. Somit sind zwei Schritte erforderlich, um die Adresse 0 des Moduls A zu erreichen. Wenn sich andererseits
das letzte Mikrowort des zuletzt ausgeführten Mikrobefehls im
809814/0873
27U252
Modul Λ befand, so ist nur ein Schritt erforderlich, um die
Adresse 0 dieses Moduls anzulaufen. Steht weiterhin ein Unterbrechungssignal an, wenn das letzte Mikrowort des letzten Mikrobefehls
festgestellt wird, so erfordert dies eine Verzweigung zu einer anderen Adresse, wo das erste Wort eines Mikroprogramms
erreichbar ist, welches die Unterbrechung verarbeitet. Die Unterbrechung bewirkt, daß das Rechenwerk den Inhalt der Adresse 8
anstelle der Adresse 0 liest, wobei die Adresse 8 die Adresse des ersten Mikroworts des Mikroprogramms bildet, welches eine
Unterbrechung verarbeitet.
Im Schritt 4OA des Flußdiagramms gemäß Fig. 2a wird eine Entscheidung
darüber herbeigeführt, ob das auszuführende Programmwort das letzte Mikrowort ist oder nicht. Handelt es sich nicht um
das letzte Mikrowort, so läuft das Programm weiter wie oben beschrieben ab, bis das letzte Mikrowort erreicht ist. Ein Entscheidungsblock
41 stellt fest, ob das letzte Mikrowort sich im Modul Λ befindet oder nicht. Ist dies nicht der Fall, so werden
die Moduladress-Bits, d.h. Bits 0 und 1 des ROSAR-Registers 9
gelöscht, wie dies im Block 42 angedeutet. Handelt es sich andererseits um das letzte Mikrowort und befindet es sich im Modul A,
sowird durch den Block 43 entschieden, ob es sich um eine Unterbrechung handelt oder nicht. Ist es kein Unterbrechungsbefehl, so
erfolgt ein Sprung zur ROM-Adresse 0, wie dies der Block anzeigt. Wie man sieht, sind wenigstens zwei zusätzliche Schritte
notwendig, um die Adresse 0 im Modul A des Festwertspeichers zu erreichen. Handelt es sich andererseits tatsächlich um eine
Unterbrechung, so werden die durch die Blöcke 45, .36 und 37 beschriebenen
Schritte durchgeführt, was einen Sprung zur Octaladresse
8 bedeutet, wo das erste Mikrowort eines Unterbrechungs-Mikroprogramms gespeichert ist.
Die Erfindung spart diese beiden Extraschritte ein und außerdem erübrigt sich die Speicherung einer Adresse mit Position 0
aller Modulen des Festwertspeichers 5. Somit werden nicht nur zwei Rechenschritte, sondern auch Festwertspeicheradressraum
eingespart. 80Ö8U/0873
27U252
Im folgenden wird dies anhand der Figuren 2b und 3 beschrieben. Hieraus ergeben sich auch die wesentlichen Unterschiede zum Stand
der Technik, Aus Fig. 2b ersieht man, daß die Schritte 30 und 31 die gleichen sind wie beim Stand der Technik gemäß Fig. 2a. Der
Schritt 32 unterscheidet sich insofern, als die ausgelesenen und durchgeführten Mikroworte ein bestimmtes Bit an der vierten Stelle,
nämlich das S-Bit an der Position 3 aufweisen. Hat dieses S-Bit in der vierten Bit-Position den Wert "0", so zeigt es an,
daß ein ablaufendes Mikrowort nicht das letzte Mikrowort des Mikroprogramms ist und folglich das Mikroprogramm weiterläuft.
Ist jedoch das S-Bit auf "1" gesetzt, so bedeutet dies das letzte Mikrowort der Mikroprogrammfolge,und demgemäß setzt die auf dieses
Bit ansprechende Hardware gemäß Fig. 3 das ROM-Adressregister 6 automatisch auf 0, wodurch zusätzliche Schritte entfallen. Zuvor
wird jedoch noch festgestellt, ob es sich um eine Unterbrechung handelt. Diese Entscheidung fällt im Block 33, und im Fall einer
Unterbrechung werden die Schritte 36 und 37 gemäß Fig. 2b durchgeführt.
Anhand von Fig. 3 wird nachfolgend die Einrichtung zum automatischen
Löschen des ROM-Adressregisters 6 auf "0" geschildert, wenn das letzte Mikrowort kein Unterbrechungsbefehl ist. Darüberhinaus
wird die automatische Bereitstellung der Adresse des ersten Worts einer Unterbrechungsmikrobefehlsfolge erläutert, wenn ein externes
Unterbrechungssignal ansteht. Der Multiplexer 8, das ROM-Adressregister 6, der Festwertspeicher sowie das lokale ROM-Register
7 sind die gleichen wie in Fig. 1. Da der Dual-4:1-Multiplexer 8 insgesamt 10 Bits zu schalten hat, werden fünf solcher
an sich bekannter Einheiten benötigt, weil jede Einheit als Dualeinheit ausgebildet ist. Im Rahmen der Erfindung können auch
andere Mengen von Bits geschaltet werden. Zehn Bits werden auf zehn getrenntenEingangsleitungen als Information vom Decoder 10,
ROSAR-Register 9 und Verzweigungsadresse vom lokalen ROM-Register 7 zur Verfügung gestellt. Zwei Auswahlleitungen A und B
genügen zur Adressierung jeder der vier Schaltstellungen. Die Impulstabelle auf Seite 9-351 des solche Multiplexer beschrei-
8098U/0873
- 13 - 27U252
benden Kataloges der Firma Texas Instruments zeigt, daß bei einem
Einschaltsignal "1" alle Ausgangsklemmen auf "0" liegen.Durch
Setzen der Einschaltklemme des Multiplexers 8 auf "1" werden die letzten zehn Bits im ROM-Adressregister 6 auf 0 gesetzt. Diese
letzten zehn Adressen-Bits werden durch die Flip-Flops 0, 2A bis 11A dargestellt.Nimmt das Flip-Flop O=B den Wert "1" an und
zeigt damit, daß es sich um das letzte Mikrowort in der Mikrobefäilsfolge
handelt, so erhält der Einschalteingang des Multiplexers 8 das Signal "1", wodurch die zehn Ausgangsleitungen 13
des Multiplexers auf "0" gehen und damit beim nächsten Taktzyklus jedes Flip-Flop 02A bis 11A gesetzt wird. Zur gleichen Zeit, wenn
das Flip-Flop 03B den Wert "1" annimmt, erhalten die Rückstelleingänge der Flip-Flops 0OA und 01A ein Rückstellsignal, so daß
beim nächsten Taktzyklus diese Flip-Flops auf "0" umschalten. Wird in der Bit-Position 3 des letzten Mikrobefehlswortesedn
Bit "1" festgestellt, so wird das ROM-Adressenregister 6 beim nächsten Taktzyklus ohne zusätzliche Schritte auf "0" gesetzt.
Durch das Schalten der Flip-Flops 02A bis 11A auf "0" wird die Adresse aller Modulen A bis D auf 0 gestellt. Beim Setzen der
Flip-Flops 0OA und 01A auf 0, erkennt man, daß nur ein Gatter
durchgeschaltet wird, weil beide Eingangssignale des Gatters 80 invertiert werden und somit ein Einschaltsignal "1" an den
Modul A liefern. Die Gatter 81 bis 83 werden nicht durchgeschaltet,,
wenn beide Flip-Flops 0OA und 01A auf "0" stehen. Das Gatter 81
wird aktiviert, wenn das Flip-Flop 01A den Wert "1" und das
Flip-Flop 00& den Wert "0" hat. Das Gatter 82 wird eingeschaltet,
wenn das Flip-Flop 0OA das Signal "1" und das Flip-Flip 01A das
Signal "0" liefert. Schließlich erfolgt eine Durchschaltung des Gatters 83, wenn beide Flip-Flops 0OA und 01A den Wert "1" haben.
Somit können die Flip-Flops 0OA und 01A jeden der Modulen A bis D adressieren.
Ist jedoch ein Unterbrechungssignal vorhanden, so gelangt es als ein Eingangssignal an das UND-Gatter 73. Das andere Eingangssignal
kommt vom Flip-Flop 03B. Hat das Bit in der Position 3 oder das Flip-Flop 03B ein Ausgangssignal "1" und ist gleichzeitig ein
8098U/0873
Unterbrechungssignal anwesend, so wird das UND-Gatter 73 durchgeschaltet
und liefert ein Eingangssignal "1" an das ODER-Gatter 74, welches seinerseits ein Ausgangssignal "1" in die
Position 8, d.h. an das Flip-Flop 08A des ROM-Adressregisters abgibt. Damit wird dieses Flip-Flop auf "1" gesetzt und zeigt an,
daß es sich um eine Unterbrechung handelt. Statt das ROM-^Adressregister
6 auf 000000000000 zu setzen, wird es auf die Adresse 000000010000 entsprechend dem Octalwert 8 und damit im Festwertspeicher
auf das erste Wort des eine Unterbrechung bearbeitenden Mikroprogramms gesetzt. Die Einrichtung setzt also das ROM-Adressregister
6 selbsttätig in Abhängigkeit vom Bit in der Position
3 oder von diesem Bit im Zusammenwirken mit einem Unterbrechungssignal entweder auf 0 oder auf Octal 8* Beim ROSAR-*
Register 9 handelt es sich um ein Adressregister (read only store address register) für einen zerstörungsfrei lesbaren
Speicher ähnlich dem ROM-Adressregister 6,
8Q98U/0873
Claims (8)
1. DV-System mit wenigstens mit einem Festwertspeicher zum
Speichern von Mikroprogrammen, von denen jedes aus mehreren Mikrobefehlsworten und diese aus mehreren Bits bestehen, wobei
jedes gespeicherte Mikrowort durch eine vorgegebene Anzahl in einem Festwertspeicher-Adressregister gespeicherter Bits
adressierbar ist, dadurch gekennzeichnet, daß zur Speicherung der Mikroworte an den Festwertspeicher
(ROM 5) ein lokales Festwertspeicherregister (RSLR 7) angeschlossen und eine Anlaufeinrichtung für das Festwertspeicher-Adressregister
(6) vorgesehen ist, welche das ROM-Adressregister (6) vor Ausführung eines jeden Mikroprogramms auf
eine Adresse Null einstellt und folgende Teile umfaßt:
a) eine an das lokale ROM-Register (7) und das ROM-Adressregister (6) angeschlossene, auf eine vorgegebene Bit-Position
im lokalen ROM-Register (7) ansprechende erste Einrichtung, welche die ersten beiden in den Bit-Positionen
1 und 2 des ROM-Adressregisters (6) befindlichen Bits auf "O" setzt;
b) eine an das lokale ROM-Register (7) und das ROM-Adressregister (6) angeschlossene, auf die vorgegebene Bit-Position
im lokalen ROM-Register (7) ansprechende zweite Einrichtung, welche alle auf die Bit-PosJ.tion 1 folgenden
Bits im ROM-Adressregister auf "0" setzt.
8Q98U/0873
274Α252
2. DV-System nach Anspruch 1, gekennzeichnet
durch eine an das lokale ROM-Register (7) und das
ROM-Adressregister (6) angeschlossene dritte Einrichtung (73) für den Empfang eines externen Unterbrechungssignals.
3. DV-System nach Anspruch 2, gekennzeichnet durch eine an die dritte Einrichtung (73), das lokale
ROM-Register (7) sowie das ROM-Adressregister (6) angeschlossene auf das externe Unterbrechungssignal und die vorgegebene
Bit-Position im lokalen ROM-Register ansprechende vierte Einrichtung (8,74), welche das ROM-Adressregister auf
eine von Null verschiedene Adresse setzt.
4. DV-System nach Anspruch 2 oder 3,dadurch gekennzeichnet,
daß die dritte Einrichtung ein UND-Gatter (73) ist.
5. DV-System nach Anspruch 3 oder 4, dadurch gekennzeichnet,
daß die vierte Einrichtung ein ODER-Gatter (74) und einen dualen 4:1-Multiplexer (8) umfaßt, wobei
das ODER-Gatter die Bit-Position 8 im ROM-Adressregister (6) auf "1" und der Multiplexer (8) alle übrigen Bits auf "O"
setzt.
6. DV-System nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der Festwertspeicher (5) aus
vier Speichermodulen (A-D) und das ROM-Adressregister (6) aus mehreren, je ein Bit speichernden Flip-Flops besteht;
daß die Adresse jedes ROM-Moduls durch in den ersten beiden Flip-Flops (71,72) des ROM-Adressregisters (6) gespeicherte
Bits gebildet ist;
und daß eine auf die Ausgangssignale der ersten beiden Flip-Flops ansprechende Einrichtung (80 - 83) zur Auswahl eines
der ROM-Modulen (A - D) vorgesehen ist.
809ÖU/0873
7. DV-System nach Anspruch 6,dadurch gekennzeichnet,
daß jedes Flip-Flop (71,72) einen Ausgang 1 und einen Ausgang 0 aufweist und den Wert "1" speichert, wenn
der Ausgang 1 das Signal "1" führt und das Signal "0" speichert, wenn der Ausgang 0 das Signal "1" führt;
daß der erste ROM-Modul (A) adressiert ist, wenn die O-Ausgänge
der beiden ersten Flip-Flops (71,72) beide das Signal "0" liefern,
der zweite ROM-Modul (B) adressiert ist, wenn der O-Ausgang
des ersten Flip-Flops (71) das Signal "0" und der O-Ausgang des zweiten Flip-Flops (72) das Signal "1" führt,
der dritte ROM-Modul (C) adressiert ist, wenn der O-Ausgang des ersten Flip-Flops (71) das Signal "1" und der O-Ausgang
des zweiten Flip-Flops (72) das Signal "0" führt, der vierte ROM-Modul (D) adressiert ist, wenn die Ausgänge
der beiden ersten Flip-Flops (71,72) beide das Signal "1" liefern.
8. DV-System nach Anspruch 7, dadurch gekennzeichnet,
daß das lokale ROM-Register (7) ebenfalls aus mehreren, jeweils einen Ausgang 1 sowie einen Ausgang 0
aufweisenden Flip-Flops (0OB - 35B) besteht, die jeweils das Signal "1" speichern, wenn der Ausgang 1 das Signal "1" führt
und andererseits das Signal "0" speichern, wenn der Ausgang das Signal "1" führt;
und das eine auf das Signal eines bestimmten der Flip-Flops (70) ansprechende fünfte Einrichtung die O-Ausgänge aller mit
Ausnahme der beiden ersten Flip-Flops (71,72) des ROM-Adressregisters auf "0" setzt, wenn der 1-Ausgang des bestimmten
Flip-Flops (70) des lokalen ROM-Registers (7) das Signal "1" führt.
809814/0873
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/729,065 US4107774A (en) | 1976-10-04 | 1976-10-04 | Microprogram splatter return apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2744252A1 true DE2744252A1 (de) | 1978-04-06 |
DE2744252C2 DE2744252C2 (de) | 1987-05-27 |
Family
ID=24929437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772744252 Granted DE2744252A1 (de) | 1976-10-04 | 1977-10-01 | Dv-system mit wenigstens einem festwertspeicher fuer mikroprogramme |
Country Status (7)
Country | Link |
---|---|
US (1) | US4107774A (de) |
JP (1) | JPS5383442A (de) |
AU (1) | AU509114B2 (de) |
CA (1) | CA1099028A (de) |
DE (1) | DE2744252A1 (de) |
FR (1) | FR2366623A1 (de) |
GB (1) | GB1594837A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2929579A1 (de) * | 1979-07-21 | 1981-02-05 | Licentia Gmbh | Wasserzulaufvorrichtung fuer haushaltgeschirrspuelmaschinen |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4240139A (en) * | 1977-09-22 | 1980-12-16 | Tokyo Shibaura Denki Kabushiki Kaisha | Address generating system |
US4309753A (en) * | 1979-01-03 | 1982-01-05 | Honeywell Information System Inc. | Apparatus and method for next address generation in a data processing system |
US4376976A (en) * | 1980-07-31 | 1983-03-15 | Sperry Corporation | Overlapped macro instruction control system |
US5572692A (en) * | 1991-12-24 | 1996-11-05 | Intel Corporation | Memory configuration decoding system having automatic row base address generation mechanism for variable memory devices with row access interleaving |
US6789186B1 (en) * | 2000-02-18 | 2004-09-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus to reduce penalty of microcode lookup |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
GB1443064A (en) * | 1973-07-18 | 1976-07-21 | Int Computers Ltd | Microprogramme unit for a data processor |
DE2364408C3 (de) * | 1973-12-22 | 1979-06-07 | Olympia Werke Ag, 2940 Wilhelmshaven | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers |
-
1976
- 1976-10-04 US US05/729,065 patent/US4107774A/en not_active Expired - Lifetime
-
1977
- 1977-09-09 CA CA286,406A patent/CA1099028A/en not_active Expired
- 1977-09-22 AU AU29022/77A patent/AU509114B2/en not_active Ceased
- 1977-10-01 DE DE19772744252 patent/DE2744252A1/de active Granted
- 1977-10-03 FR FR7729722A patent/FR2366623A1/fr active Granted
- 1977-10-04 GB GB41154/77A patent/GB1594837A/en not_active Expired
- 1977-10-04 JP JP12044577A patent/JPS5383442A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
Non-Patent Citations (1)
Title |
---|
US-IBM Technical Disclosure Bulletin, Vol. 16, No. 12, Mai 1974, S. 3864-3867 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2929579A1 (de) * | 1979-07-21 | 1981-02-05 | Licentia Gmbh | Wasserzulaufvorrichtung fuer haushaltgeschirrspuelmaschinen |
Also Published As
Publication number | Publication date |
---|---|
US4107774A (en) | 1978-08-15 |
AU509114B2 (en) | 1980-04-17 |
JPS5383442A (en) | 1978-07-22 |
CA1099028A (en) | 1981-04-07 |
FR2366623A1 (fr) | 1978-04-28 |
AU2902277A (en) | 1979-03-29 |
GB1594837A (en) | 1981-08-05 |
DE2744252C2 (de) | 1987-05-27 |
FR2366623B1 (de) | 1984-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE3587622T2 (de) | Emulationseinrichtung in einem Datenverarbeitungssystem. | |
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2746505C2 (de) | ||
DE3151745C2 (de) | ||
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2744359C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE3650642T2 (de) | Speichermittel mit Mehrwortauslesen und Schreiben | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE2744252A1 (de) | Dv-system mit wenigstens einem festwertspeicher fuer mikroprogramme | |
DE2948442C2 (de) | Digitalrechenanlage | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE69528824T2 (de) | Apparat und verfahren zum erneuern von informationen in einem beschreibbaren mikrokode-kontrollspeicher | |
DE3344340C2 (de) | Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen | |
DE2609698A1 (de) | Elektronischer rechner | |
EP0111161B1 (de) | Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb | |
DE2847479A1 (de) | Schablonenfamilien-schnittstelleneinrichtung | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8339 | Ceased/non-payment of the annual fee |