DE2746505A1 - Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme - Google Patents
Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogrammeInfo
- Publication number
- DE2746505A1 DE2746505A1 DE19772746505 DE2746505A DE2746505A1 DE 2746505 A1 DE2746505 A1 DE 2746505A1 DE 19772746505 DE19772746505 DE 19772746505 DE 2746505 A DE2746505 A DE 2746505A DE 2746505 A1 DE2746505 A1 DE 2746505A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- read
- register
- gate
- address
- 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
- 230000015654 memory Effects 0.000 title claims description 73
- 238000012545 processing Methods 0.000 claims description 11
- 230000009977 dual effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000001066 destructive effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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
Description
27A6505
Die Erfindung betrifft ein Datenvorarbeitungssystem nach dem Gattungsbegriff dos 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. Normalerweise 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 Eefehl 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 wird 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 Einrichtung, v/elche 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
809816/0948
Wort besteht aus einer vorgegebenen Anzahl von Bits. Alle Bits
eines Wortes werden zusammen ausgelesen und bilden zusammen einen Satz von Mikrobefehlen, die entweder gleichzeitig oder
nacheinander im Rhythmus eines externen Taktgebers ausgeführt werden. Anschließend 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. Eire 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öffentlicht 1970 durch "Prentice Hall Inc., Englewood Cliffs,
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, beispielsweise in den Rechnersystem^Honeywell 4200/8200 der Honeywell-Serie
60 sowie in den IBM-Serien 360 und 370.
809816/0948
27A6505
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 Datenverabeitungsfähigkeiten und Kapazitäten benötigen mehr Hardware und sind somit teurer. Eine Verringerung
der Kosten führt im allgemeinen zu einer Einschränkung der Einsatzmöglichkeiten,
weil die zur Verfügung gestellte Hardware geringeren Umfang hat.
Obwohl Festwertspeicher RCwfcleinrechnern 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 die Hardware verringert, Speicherplatz gespart oder die Anzahl der bei der Durchführung
eines Befehls erforderlichen Schritte vermindert wird. Herkömmliche Festwertspeicher verwenden einen Verzweigungs-Mikrobefehl,
um zu verschiedenen Speicherplätzen im Hauptspeicher zu gelangen. Jeder Verzweigungsbefehl benötigt einen kompletten ROM-Zyklus
oder 200 ns, um eine ROM-Adresse zu ändern. Um den unterteilten Speicherraum eines Festwertspeichers auszunutzen und in
einigen Mikrobefehlen Schritte zu sparen, wird nach einer Möglichkeit gesucht, zu verschiedenen Speicherplätzen abzuzweigen,
ohne einen Verzweigungsbefehl zu benötigen. Hierdurch könnten wenigstens 200 ns pro Verzweigungsoperation gespart und außerdem
freier Speicherraum im Festwertspeicher ausgenutzt werden.
Aufgabe der Erfindung ist es, eine Einrichtung zum Adressieren in einem Festwertspeicher abgelegter Mikroprogramme zu schaffen, bei
der diese Forderungen erfüllt sind. Diese Aufgabe wird gelöst
809816/0948
durch die im Anspruch 1 gekennzeichnete Erfindung. Die Verwendung eines sogenannten "DualrBits" in einer vorgegebenen Position eines
Mikroworts ermöglicht es dem Mikroprogramm bei seinem Ablauf entweder Mikrobefehle zu verwenden, die in einem zusammenhängenden
Block des Festwertspeichers abgelegt sind oder statt dessen in zwei oder mehr verschiedenen Blöcken von ROM-Speicherraum liegen.
Dabei wird der Datendurchsatz und die Rechengeschwindigkeit nicht nachteilig beeinträchtigt. Mikroprogramme werden geschrieben, um
eine vorgegebene Funktion, beispielsweise die Ausübung eines Mikrobefehls oder die Verarbeitung einer Unterbrechung durchzuführen.
Es kann geschehen, daß sie nicht in einen Block gerade zugängigen Speicherraums im Festwertspeicher hineinpassen. Durch
die Erfindung wird es möglich, für ein Mikroprogramm mehrere voneinander getrennte, also nicht unmittelbar aneinandergrenzende
Speicheräume zu verwenden, ohne wegen dieser verteilten Anordnung der gespeicherten Information mehr Rechenzeit zu benötigen.
Herkömmliche Verfahren benötigen hierfür einen Verzweigungsbefehl, der wenigstens einen ROM-Zyklus von typischerweise 200 ns
dauert. Ist das Dual-Bit auf "0" gesetzt, so läuft das Mikroprogramm in einem zusammenhängenden Block von ROM-Speicherraum
ab. Hat das Dual-Bit jedoch den Wert "1", so wird die Adresse des Mikroprogramms um eine vorgegebene Anzahl von Positionen, beispielsweise
um 128 Positionen, vorangeschaltet, so daß im Festwertspeicher vorhandener leerer Speicherraum für die Speicherung
eines Teils des Mikroprogramms eingesetzt wird, während der Rest in einem anderen freien Speicherraum untergebracht wird, der vom
erstgenannten räumlich getrennt ist. Anstelle von 128 Positionen kann auch jede andere beliebige Anzahl von Schritten vorgesehen
sein. Diese Aufteilung in verschiedene freie Speicherräume beeinträchtigt die Verarbeitungsgeschwindigkeit nicht, weil ein
herkömmlicher Verzweigungsbefehl, der wenigstens einen ROM-Zyklus erfordert, nicht benötigt wird. Vorteilhafte Weiterbildungen
der Erfindung ergeben sich aus den Unteransprüchen.
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels beschrieben. Dabei zeigt
809816/0948
Fig. 1 das Blockschaltbild der hier interessierenden Teile eines Hauptspeicher-Subsystems sowie eines Festwertspeicher-Subsystems
gemäß dem Stand der Technik;
Fig. 2 das Blockschaltbild einer Ausführungsform der Erfindung;
Figuren 3a bis 3c die Formate verschiedener Typen von Mikrobefehlen wie sie im Rahmen der Erfindung
Anwendung finden.
Zum besseren Verständnis der Erfindung wird zunächst anhand von
Fig.1 der Stand der Technik erläutert. Ein herkömmlicher Halbleiterspeicher
1 mit wahlfreiem Zugriff nimmt Befehle und Daten auf. Das Hauptspeicher-Adressregister 2 speichert die Adressen
der Speicherplätze im Hauptspeicher, welcher Informationen aus dem Datenausgaberegister DOR 3 erhält, sofern der Operationscode
des Befehls eine Schreiboperation in den Hauptspeicher anfordert. Er speichert darüberhinaus die Adresse des Speicherplatzes im
Hauptspeicher 1, welcher Informationen an das Dateneingaberegister
DIR 4 liefert, sofern der Operationscode des Befehls eine Leseoperation anfordert. Das Eingaberegister 4 speichert
Signale, welche einen Befehl darstellen, der unter der Steuerung des Festwertspeichersystems ausgeführt wird. Der Befehl wird in
einem Decoder 10 decodiert, und 10 Bits, welche die Festwertspeicheradresse darstellen, werden vom Multiplexer 8 ausgewählt
und zum ROM-Adressregister 6 übertragen, wo sie die Adresse im Festwertspeicher ROM 5 darstellen. Der Multiplexer 8 ist ein
Dual-4:1-Multiplexer vom Typ SN74153, wie er auf den Seiten 9-351
bis 9-364 des "Integrated Circuit Catalog for Design Engineers" der Firma Texas Instruments Inc. beschrieben ist. Die Mikroworte
werden im Festwertspeicher 5 gespeichert, der aus vier Speichermodulen ROM A - ROM D besteht, wobei jeder Modul 1024 Worte und
jedes Wort 36 Bits zuzüglich 4 Paritäts-Bits umfaßt. Das hier gezeigte 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 aus dem ROM-Adressregister
6 adressiert. Die ersten zwei Bits 0 und 1 des
809816/0948
ROM-Adressregisters 6 stellen die Adresse des Moduls im Festwertspeicher
5 dar, während die folgenden 10 Bits 2-11 die Adresse innerhalb eines bestimmten Moduls bedeuten. Ein vom ROM-Adressregister
6 adressiertes Mikrowort wird in das lokale ROM-Register 7 eingelesen. Ein Mikrowort im lokalen ROM-Register 7
besteht aus verschiedenen Steuerbits, welche verschiedenen Subsystemen zugeführt werden und dort spezielle Steuerfunktionen
ausüben. Diese Steuerfunktionen, ausgenommen diejenigen der sogenannten
Dual-Bits in der Bit-Position 22 werden im einzelnen nicht beschrieben, weil sie für die vorliegende Erfindung von
untergeordneter Bedeutung sind. In den Figuren 3a bis 3c sind jedoch einige typische Mikrowortformate wiedergegeben, um wenigstens
einen Eindruck vom Aufbau dieser Mikroworte zu geben. Es können auch Mikroworte mit anderem als 36-Bit-Format Anwendung
finden. Abv/eichend von den üblichen Formaten ist in der Bit-Position 22 ein besonderes Dual-Bit D vorhanden.
Zusammen mit dem Auslesen der 10 Bits eines Befehls, der die Adresse des ersten Wortes des auszuführenden Mikroprogramms im
Festwertspeicher 5 anzeigt, v/erden diese 10 Bits auch in das ROSAR-Register 9 eingegeben, nachdem dieses vom Rechenwerk 17 um
einen Schritt fortgeschaltet 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 Speicherregister 7 eingegeben, so wird er durch die nicht dargestellte Mikroprogrammsteuereinheit verarbeitet,
sofern es sich nicht um einen Verzweigungsbefehl ähnlich demjenigen gemäß Fig. 3c handelt. Dabei werden die letzten
10 Bits des Verzweigungsbefehls über die Leitung 14 und dem
Multiplexer 18 in das ROM-Adressregister 6 übertragen. Sie stellen
die neue Verzweigungsadresse dar, so daß die Durchführung des Mikroprogramms an dieser neuen Adresse beginnt.
Zusätzlich werden die 10 Verzweigungs-Bits, welche die Adresse des ersten Befehls im auszuführenden Mikroprogramm darstellen,
im ROSAR-Register 9 gespeichert,nach/cfen» dieses erneut durch das
809816/0948
" 9" . 27A6505
Rechenwerk 17 um einen Schritt fortgeschaltet wurde. In aufeinanderfolgenden
Zyklen, die üblicherweise alle 200 ns ablaufen, überträgt das ROSAR-Register 9 jeweils 10 Bits über den Multiplexer
8 zum R0M-Adressregister6, und anschließend wird das ROSAR-Register 9 über die Leitungen 13 und 16 vom Rechenwerk
um einen Schritt weitergeschaltet. Nachdem die Adresse des ersten Mikrobefehls vom ROM-Adressregister 16 geliefert wird, stellt
das ROSAR-Register 9 die Adresse der nachfolgenden Mikrobefehle aller 200 ns im Rhytmus des Taktgebers 18 bereit, so daß das
Mikroprogramm abläuft, bis ein Mikrowort im ablaufenden Mikroprogramm ein Auswahlsignal 20 hervorruft, aufgrund dessen eine
andere Adressenqüelle über den Multiplexer 8 angeschlossen wird.
Mit dem insoweit herkömmlichen ROM-System ohne die Dual-Bit-Einrichtung
würde für den Fall, daß ein Mikroprogramm nicht an einem einzigen Platz im Festwertspeicher untergebracht werden
kann und deshalb mehrere Speicherplätze im Festwertspeicher nötig sind, ein gleichförmiger Ablauf durch Verwendung eines
Mikrobefehls des in Fig. 3c dargestellten Typs Verwendung finden, bei dem die Bits 25 - 35 einen Verzweigungsbefehl zu einer sich
nicht unmittelbar anschließenden Adresse darstellen.
Läuft jedoch ein Mikrobefehl, der in den Figuren 3a oder 3b gezeigten
Art ab, wird ein zusätzlicher Mikrobefehl, der in Fig. 3c gezeigten Art mit einer Verzweigungsadresse benötigt. Man braucht
hierzu einen zusätzlichen Festwertspeicherzyklus sowie zusätzlichen Speicherraum für das Mikroprogramm, um den in Fig. 3 gezeigten
Befehl zu speichern. Sind mehrere solche Verzweigungen erforderlich, so werden der Datendurchsatz durch den Rechner sowie
die Verarbeitungsgeschwindigkeit ernsthaft beeinträchtigt.
Bei einem Rechnersystem gemäß der Erfindung sind deshalb vorzugsweise
sechs verschiedene Typen von Mikroworten vorhanden, von denen drei typische Formate in den Figuren 3a bis 3c wiedergegeben
sind. Ihr Aufbau und ihre Funktion ergeben sich aus der nachfolgenden Tabelle:
809816/0948
BCL | Schnittstellen |
ITT R | steuerung |
Weite Verzweigung | |
LER | Generalregister |
steuerung | |
SBR | Kurze bedingte |
Verzweigung | |
SPL | Mikroprogramm- |
Fortqang | |
(splatter) | |
GCN | Konstanten-Generator |
Die Mikroworte ULB, SBR und SPL enthalten eine adresse zum Speicherplatz
des nächsten Mikrowortes, wie dies beispielsweise beim ÜLB-Mikrowort gemäß Fig. 3c in Form der Verzweigungsadressa 50
dargestellt ist. Die in den Figuren 3a und 3b gezeigten Mikroworte BCL und LER weisen eine solche Adresse nicht auf, so daß
normalerweise ein Mikrowort vom Typ gemäß Fig. 3c benutzt werden müßte, v/as einen zusätzlichen ROM-Zyklus bedeutet. Dies jedoch
wird durch die nachfolgend anhand von Fig. 2 im einzelnen erläuterte Erfindung vermieden. Die erfindungsgemäße Schaltungsanordnung
spricht auf das Bit 22 in den Mikroworten BCL und LER gemäß Fig. 3a und 3b an und erhöht die Adresse des Mikroprogramms
um einen vorgegebenen Betrag, beispielsweise um 128 Stellen,
wobei auch eine andere Anzahl von Stellen vorgesehen sein kann. Sodann läuft das Mikroprogramm an der neuen Verzweigungsadresse weiter.
Fig. 2 zeigt einen Teil der in Fig. 1 wiedergsgebenen Einrichtung
in Verbindung mit der Schaltungsanordnung gemäß der Erfindung. Diejenigen Baugruppe in Fig. 2, welche schon in Fig. 1 dargestellt
sind, haben die gleichen Bezugszeichen. Das ROM-Adressregister 6 ist das gleiche wie in Fig. 1, wobei der Setzeingang
des Flip-Flops 04A jedoch an den Ausgang eines UND-Gatters 33 angeschlossen ist. Letzteres wird durchgeschaltet, wenn beiden
Eingängen das Signal "1" zugeführt wird. Diese beiden Eingänge des UND-Gatters 33 erhalten das Signal "1", wenn entweder ein
809816/0948
Befehl vom Typ BCL oder LER ausgeführt wird und wenn der Anschluß 1 des Flip-Flops 22B ein Signal "1" führt. Der letztgenannte
Anschluß ist mit dem einen Eingang des UND-Gatters 33 verbunden. Sein anderer Eingang legt am Ausgang des ODER-Gatters
32. Der eine Eingang des ODER-Gatters 32 ist mit dem Ausgang des UND-Gatters 30 verbunden, während der andere Eingang
mit dem Ausgang eines UND-Gatters 31 in Verbindung steht. Das erstgenannte UND-Gatter 30 wird durchgeschaltet, sofern
ein Befehl vom Typ BCL gemäß Fig. 3a abläuft, während das UND-Gatters
31 bei Ablauf eines Befehls vom Typ LER gemäß Fig. 3b durchschaltet. Der Adresscode eines Befehls vom Typ BCL ist
000 in den ersten drei Bits des Befehlsformats. Die ersten drei Flip-Flops 0OB - 02B des lokalen ROM-Registers 7 speichern den
Code des auszuführenden Mikroworts. Wenn der Anschluß O der Flip-Flops 0OB, 01B und 02B auf "1" gesetzt wird, wird das UND-Gatter
30 aktiviert und zeigt an, daß ein Befehl vom Typ BCL abläuft. In ähnlicher Weise würde das UND-Gatter 31 durchgeschaltet,
wenn ein Code entsprechend der Binärzahl 4, d.h. der CODE 100 an den Eingangsklemmen des UND-Gatters 31 anliegt. Dies
ist der Fall, wenn der Anschluß 1 des Flip-Flops 0OB den Wert
"1" und die Anschlüsse 0 der Flip-Flops 01B und 02B den Wert
"1" haben. Wenn eines der UND-Gatter 30 oder 31 durchgeschaltet ist, wird das ODER-Gatter 32 aktiviert und liefert ein Signal
"1" an das UND-Gatter 33. Soll das Mikroprogramm ohne Verzweigung weiterlaufen, so ist der Anschluß 1 des Flip-Flops 22B auf
"o" und das UND-Gatter 33 ist gesperrt. Somit erfolgt keine Adressenänderung im ROM-Adressenregister 6 durch Setzen des
Flip-Flops 04a. Hatte jedoch der MikroProgrammierer aus irgendeinem Grund nicht genügend Platz zum vollständigen Speichern
des Mikroprogramms in einem Block des Festwertspeichers, so möchte er hierfür irgendeinen anderen Festwertspeicherbereich
mit verwenden, welcher gerade frei ist. Er setzt hierzu das Bit 22 des Mikrobefehls BCL oder LER auf 11V. Dies führt dazu,
daß das Flip-Flop 22B am Anschluß 1 das Signal "1" führt. Damit erhält auch der andere Eingang des UND-Gatters 33 das Signal "1"
so daß dieses Gatter durchschaltet und ein Signal "1" an das
809816/0948
Flip-Flop O4A abgibt, so daß der Anschluß 1 dieses Flip-Flops
den Wert "1" annimmt. Wenn dieses Flip-Flop 4A auf diese Weise gesetzt wird, addiert es automatisch den Binärwert 128 zu
jeder beliebigen Adresse, die sich im ROM-Adressregister 6 befindet. Dies rührt daher, daß jedes Flip-Flop des ROM-Adressregisters
6 eine binäre Wertigkeit hat. Beispielsweise ist die Wertigkeit des Flip-Flops 11A gleich 1; von hier aus nach links
fortschreitend ist die binäre Wertigkeit des nächsten Flip-Flops 1OA gleich 2; die des links daneben liegenden Flip-Flops
gleich 4 usw., bis das Flip-Flop 04A erreicht ist, dessen binäre Wertigkeit 128 beträgt. Durch Setzen dieses Flip-Flops auf "1"
wird automatisch der Binärwert 128 zur Adresse im ROM-Adressregister 6 addiert.
Aus den Figuren 3a bis 3c wurden diejenigen Teile der Mikrobefehlsformate
beschrieben, die im Rahmen der Erfindung von Interesse sind, nämlich in erster Linie die Bits 0-2 sowie
das D-Feld mit dem Dual-Bit in der Position 22. Die übrigen Bits können in beliebiger Weise zur Ausführung der erforderlichen
Operationen einer Mikroprogrammeinheit angeordnet und gruppiert sein. 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.
809816/0948
Claims (5)
- HONEYWELL INFORMATION SYSTEMS INC. 17. OKI. 15»Smith Street 5101541 GeWaltham, Mass., USA 2746 bU ODV-System mit einer Einrichtung zum Adressieren in einem Festwertspeicher abgelegter MikroprogrammePatentansprüche:DV-System mit wenigstens einem Festwertspeicher zum Speichern mehrerer Mikroprogramme, die jeweils aus mehreren Mikroworten und diese aus mehreren codierten Bits bestehen, wobei die Mikroworte durch eine aus einer vorgegebenen Anzahl von Bits bestehende, in einem Festwertspeicher-Adressregister gespeicherte Festwertspeicheradresse adressiert sind und an den Festwertspeicher ferner ein lokales Festwertspeicherregister angeschlossen ist, in dem die adressierten Mikroworte gespeichert werden, dadurch gekennzeichnet, daß wenigstens zwei der Mikroworte ein unterschiedliches Format, nämlich ein Format vom Typ I und ein Format vom Typ II haben, wobei beide Formate keinen Verzweigungsmikrobefehl zu einem anderen Speicherplatz im Festwertspeicher (ROM 5) aufweisen; daß eine Einrichtung vorgesehen ist, um die Adresse eines ablaufenden Mikroprogramms selbsttätig um einen vorgegebenen Betrag fortzuschalten, sofern ein Mikrowort vom Typ I oder Typ II verarbeitet wird;daß diese Einrichtung eine an das lokale ROM-Register (7) angeschlossene erste Schaltungsanordnung (30-32) zur Erzeugung codierter Signale aufweist, welche ein im lokalen ROM-Register (7)gespeichertes Mikrowort vom Typ I oder Typ II kennzeichnen;809816/09482 7 A 6 B O 5und daß an diese erste Schaltungsanordnung (30-32) und das lokale ROM-Register (7) eine zweite Schaltungsanordnung (33) angeschlossen ist, welche die ROM-Adresse um einen vorgegebenen Betrag weiterschaltet.
- 2. DV-System nach Anspruch 1,dadurch gekennzeichnet, daß in der ersten Schaltungsanordnung mehrere erste UND-Gatter (30,31) mit ihren Ausgängen an die Eingänge eines ersten ODER-Gatters (32) angeschlossen sind.
- 3. DV-System nach Anspruch 2,dadurch gekennzeichnet, daß in der zweiten Schaltungsanordnung ein zweites UND-Gatter (33) mit seinem einen Eingang an den Ausgang des ersten ODER-Gatters (32) und mit seinem anderen Eingang an das lokale ROM-Register (7) angeschlossen ist.
- 4. DV-System nach Anspruch 3,dadurch gekennzeichnet, daß das lokale ROM-Register (7) aus mehreren Flip-Flops (0OB - 35B) mit je einem Ausgang 0 (OT) und einem Ausgang 1 (IT) besteht und der zweite Eingang des zweiten UND-Gatters (33) an den Ausgang 1 eines vorgegebenen Flip-Flops (22B) angeschlossen ist.
- 5. DV-System nach Anspruch 4,dadurch gekennzeichnet, daß zwei erste UND-Gatter (30,31) vorgesehen sind, bei denen alle Eingänge des einen UND-Gatters (30) an den Ausgang 0 der ersten drei Flip-Flops (0OB - 02B) des lokalen ROM-Registers (7) angeschlossen und alle Eingänge mit Ausnahme von einem des anderen UND-Gatters (31) an die Ausgänge 0 der ersten drei Flip-Flops angeschlossen sind, während der übrige Eingang des anderen UND-Gatters (31) mit dem Ausgang 1 des ersten Flip-Flops (00B) des lokalen ROM-Registers (7) verbunden ist.809816/0948
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/733,558 US4124893A (en) | 1976-10-18 | 1976-10-18 | Microword address branching bit arrangement |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2746505A1 true DE2746505A1 (de) | 1978-04-20 |
DE2746505C2 DE2746505C2 (de) | 1987-05-21 |
Family
ID=24948126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772746505 Granted DE2746505A1 (de) | 1976-10-18 | 1977-10-17 | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme |
Country Status (7)
Country | Link |
---|---|
US (1) | US4124893A (de) |
JP (1) | JPS5350634A (de) |
AU (1) | AU509201B2 (de) |
CA (1) | CA1093214A (de) |
DE (1) | DE2746505A1 (de) |
FR (1) | FR2368090A1 (de) |
GB (1) | GB1594014A (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4189767A (en) * | 1978-06-05 | 1980-02-19 | Bell Telephone Laboratories, Incorporated | Accessing arrangement for interleaved modular memories |
US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
US4334268A (en) * | 1979-05-01 | 1982-06-08 | Motorola, Inc. | Microcomputer with branch on bit set/clear instructions |
JPS5619150A (en) * | 1979-07-25 | 1981-02-23 | Fujitsu Ltd | Microprogram control system |
US4336602A (en) * | 1979-09-24 | 1982-06-22 | Control Data Corporation | Network for generating modified microcode addresses |
JPS5654546A (en) * | 1979-10-08 | 1981-05-14 | Hitachi Ltd | Arithmetic device |
US4587611A (en) * | 1980-09-04 | 1986-05-06 | Amdahl Corporation | Multiple module control store for use in a data processing system |
US4370711A (en) * | 1980-10-21 | 1983-01-25 | Control Data Corporation | Branch predictor using random access memory |
JPS5786951A (en) * | 1980-11-20 | 1982-05-31 | Nec Corp | Information processor |
US4472772A (en) * | 1981-08-03 | 1984-09-18 | Burroughs Corporation | High speed microinstruction execution apparatus |
US4513389A (en) * | 1981-11-12 | 1985-04-23 | Ncr Corporation | ROM security circuit |
US4435756A (en) * | 1981-12-03 | 1984-03-06 | Burroughs Corporation | Branch predicting computer |
WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
US4740911A (en) * | 1984-10-12 | 1988-04-26 | Elxsi International | Dynamically controlled interleaving |
US5278840A (en) * | 1987-07-01 | 1994-01-11 | Digital Equipment Corporation | Apparatus and method for data induced condition signalling |
US5058007A (en) * | 1987-11-05 | 1991-10-15 | Raytheon Company | Next microinstruction generator in a microprogram control unit |
US5371862A (en) * | 1991-02-27 | 1994-12-06 | Kabushiki Kaisha Toshiba | Program execution control system |
US5471597A (en) * | 1993-12-23 | 1995-11-28 | Unisys Corporation | System and method for executing branch instructions wherein branch target addresses are dynamically selectable under programmer control from writable branch address tables |
JPH08320795A (ja) * | 1995-05-24 | 1996-12-03 | Fuji Xerox Co Ltd | プログラム制御システム |
US5838962A (en) * | 1997-04-09 | 1998-11-17 | Hewlett-Packard Company | Interrupt driven dynamic adjustment of branch predictions |
US6708268B1 (en) * | 1999-03-26 | 2004-03-16 | Microchip Technology Incorporated | Microcontroller instruction set |
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 (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3292155A (en) * | 1963-03-15 | 1966-12-13 | Burroughs Corp | Computer branch command |
US3344404A (en) * | 1964-09-10 | 1967-09-26 | Honeywell Inc | Multiple mode data processing system controlled by information bits or special characters |
US3325785A (en) * | 1964-12-18 | 1967-06-13 | Ibm | Efficient utilization of control storage and access controls therefor |
US3454931A (en) * | 1966-06-27 | 1969-07-08 | Gen Electric | Data processing system including address development apparatus |
SE303056B (de) * | 1967-08-31 | 1968-08-12 | Ericsson Telefon Ab L M | |
US3560933A (en) * | 1968-01-02 | 1971-02-02 | Honeywell Inc | Microprogram control apparatus |
US3634883A (en) * | 1969-11-12 | 1972-01-11 | Honeywell Inc | Microinstruction address modification and branch system |
JPS4939852B1 (de) * | 1969-11-19 | 1974-10-29 | ||
US3676851A (en) * | 1970-03-31 | 1972-07-11 | Ibm | Information retrieval system and method |
US3659275A (en) * | 1970-06-08 | 1972-04-25 | Cogar Corp | Memory correction redundancy system |
US3737867A (en) * | 1971-02-12 | 1973-06-05 | D Cavin | Digital computer with accumulator sign bit indexing |
US3728686A (en) * | 1971-06-07 | 1973-04-17 | Rca Corp | Computer memory with improved next word accessing |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3731285A (en) * | 1971-10-12 | 1973-05-01 | C Bell | Homogeneous memory for digital computer systems |
US3708786A (en) * | 1971-10-20 | 1973-01-02 | Martin Marietta Corp | Stored program format generator |
US3753242A (en) * | 1971-12-16 | 1973-08-14 | Honeywell Inf Systems | Memory overlay system |
IT951233B (it) * | 1972-04-07 | 1973-06-30 | Honeywell Inf Systems | Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche |
US3751637A (en) * | 1972-05-25 | 1973-08-07 | Trw Data Systems | Digital computer and form reader for inventory control and recording cash transactions |
IT993428B (it) * | 1973-09-26 | 1975-09-30 | Honeywell Inf Systems | Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione |
US3958227A (en) * | 1974-09-24 | 1976-05-18 | International Business Machines Corporation | Control store system with flexible control word selection |
-
1976
- 1976-10-18 US US05/733,558 patent/US4124893A/en not_active Expired - Lifetime
-
1977
- 1977-09-09 CA CA286,404A patent/CA1093214A/en not_active Expired
- 1977-10-05 AU AU29368/77A patent/AU509201B2/en not_active Expired
- 1977-10-07 JP JP12015377A patent/JPS5350634A/ja active Pending
- 1977-10-14 FR FR7730986A patent/FR2368090A1/fr active Granted
- 1977-10-17 GB GB43028/77A patent/GB1594014A/en not_active Expired
- 1977-10-17 DE DE19772746505 patent/DE2746505A1/de active Granted
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-Firmenschrift, IBM Technical Disclosure Bulletin, Vol. 17, No. 12, S. 3737-3740, Mai 1975 * |
Also Published As
Publication number | Publication date |
---|---|
AU2936877A (en) | 1979-04-12 |
AU509201B2 (en) | 1980-04-24 |
JPS5350634A (en) | 1978-05-09 |
CA1093214A (en) | 1981-01-06 |
US4124893A (en) | 1978-11-07 |
FR2368090A1 (fr) | 1978-05-12 |
GB1594014A (en) | 1981-07-30 |
FR2368090B1 (de) | 1984-12-14 |
DE2746505C2 (de) | 1987-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE2735814C2 (de) | Nach dem Pipelineprinzip arbeitende Datenverarbeitungseinrichtung | |
DE4035405C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE2744359C2 (de) | ||
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE2951040C2 (de) | ||
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
DE2830334C2 (de) | ||
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2723706A1 (de) | Einrichtung zum adressenvergleich | |
DE3344340C2 (de) | Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen | |
DE3121046A1 (de) | Arithmetik-logikeinheit mit bit-manipulation | |
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 | |
DE2744252C2 (de) | ||
DE2235883A1 (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 |