DE3121742A1 - Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung - Google Patents
Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrungInfo
- Publication number
- DE3121742A1 DE3121742A1 DE19813121742 DE3121742A DE3121742A1 DE 3121742 A1 DE3121742 A1 DE 3121742A1 DE 19813121742 DE19813121742 DE 19813121742 DE 3121742 A DE3121742 A DE 3121742A DE 3121742 A1 DE3121742 A1 DE 3121742A1
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- microprogram
- register
- microinstruction
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- 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/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- 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
-
- 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/261—Microinstruction address formation
-
- 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/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
Description
Beschreibung
·- ι ■)■ · . Die vorliegende Erfindung betrifft ein Mikroprogrammsteuerverfahren
und eine Einrichtung hierfür, die einen Mikroprogrammspeicher mit einer Anwexsungsdecodierfunktion hat,
worin der Mikroprogranunspeicher insbesondere so angeordnet
und ausgebildet ist, daß er Kurzwortlängen-Mikroanweisungen
speichert und eine abnormale Mikroprogrammfolge feststellt. '
In dem Mikroprogrammsteuersystem werden alle Steuergrößen in dem Mikroprogrammspeicher gespeichert. Demgemäß kann
der Inhalt des Speichers fortgeschrieben bzw. aktualisiert .15 werden, damit eine unterschiedliche Ausführung ermöglicht
wird, die anders als die alte ist.
Andererseits muß, damit ein unterschiedlicher Anweisungssatz ausgeführt wird, auch der Inhalt eines Anweisungsde-
codierers modifiziert werden. Da jedoch der Anweisungsdecodierer gewöhnlich so aufgebaut ist, daß er einem speziellen
Anweisungssatz entspricht, muß eine Decodierschaltung von genügend großem Umfang bereitgestellt werden,
oder es ist eine mühsame Modifizierung des Schaltungsaufbaus erforderlich, um den vollständig unterschiedlichen
Anweisungssatz auszuführen.
Die vorliegende Erfindung ermöglicht eine Flexibilität der unterschiedlichen Anweisungssätze, ohne daß die Universalität
verlorengeht, so daß das Mikroprogrammsteuersystem für universelle bzw. allgemeine Zwecke verwendet
werden kann, während die Speicherkapazität zum Speichern des Mikroprogramms vermindert werden kann, und es hat außerdem
die Funktion, eine abnormale Mikroprogrammfolge festzustellen.
130066/0806
In.einer Anweisungsabrufmikroroutine wird ein Anweisungswort aus einem Hauptspeicher ausgelesen, und ein Anweisungsdecodierer
decodiert es, um eine Anfangsadresse einer Mikroroutine zu erzeugen, die dieser Anweisung entspricht.
Die erzeugte Anfangsadresse wird durch eine Adressenwähleinrichtung
in einem Mikroprogrammadressenregister gespeichert, und es wird ein Mikroanweisungswort, das mittels
des Registers spezifiziert worden ist, aus einem Mikroprogrammspeicher
ausgelesen. Ein Operationsfeld (Code) der äusgelesenen Mikroanweisung wird in einem Mikroanweisungsregister
gespeichert, und ein Adressenfeld (Code) der Mikroanweisung wird zur Adressenwähleinrichtung zurückgeführt. Das Operationsfeld (Code) der Mikroanweisung wird
mittels eines Mikroanweisungsdecodierers decodiert, der verschiedene Steuersignale erzeugt. Andererseits wird
der Inhalt des Adressenfelds der Mikroanweisung, der zu der Adressenwähleinrichtung zurückgeführt worden ist, zu .
einem Mikroprogrammadressenregister übertragen, um die Mikroanweisungen aufeinanderfolgend auszulesen und auszu-
2o. führen. Das Vorstehende ist ein Beispiel eines Systems nach dem Stande der Technik.
in dem System wird die Zeitdauer von der Decodierung der
Anweisung bis zum Erzeugen der Anfangsadresse hauptsächlieh durch die Zugriffszeit des Speichers bestimmt,, obwohl
sie in Abhängigkeit von der Konfiguration und dem Ausmaß des Anweisungsdecodierers variieren kann.In diesem
System bestimmt daher die Konfiguration des Anweisungsdecodierers
die Operationsgeschwindigkeit des Prozessors.
Ein anderes bekanntes· System ist ein Abbildungssystem. Es
wird in vielen Fällen in einem Rechner mit einem einfachen
Anweisungssatz benutzt. In diesem System ist eine Einrichtung
zum Erzeugen eines festen Bitmusters vorgesehen, und das Ausgangssignal von der Bitmustererzeugungseinrichtung
130066/0808
und der Inhalt eines Anweisungsregisters, das ein Wort speichert, welches aus einem Hauptspeicher ausgelesen worden
ist, werden zur Erzeugung einer Anfangsadresse einer Mikroroutine kombiniert. Dieses System kann insofern als
ein vereinfachtes System bezeichnet werden, als darin kein Anweisungsdecodierer verwendet wird. Obwohl dieses
System eine kürzere Zeit als das vorerwähnte System benötigt, um den Ausgang des Mikroprogrammadressenregisters
zu bilden, ist es nicht ein Universalzwecksystem, weil es nicht bei einem komplizierten Anweisungssatz verwendet
werden kann, der zwei oder mehr Anweisungscodes hat, da in diesem System eine"Abzweigstelle-zu"-Adresse zu dem
Anweisungscode festgelegt ist.
Darüber hinaus nimmt dort, wo eine Mehrzahl von Anweisungscodes eine gemeinsame Operation haben, die Kapazität des
Mikroprogrammspeichers zu, weil die"Abzweigstelle- zu "-Adressen
unterschiedlich sind. In diesem Sinne ist dieses System kein praktisches System. Die obigen beiden Systeme
nach dem Stande der Technik werden weiter unten weiterhin erörtert.
Ein Verfahren zum Lesen eines Mikroprogramms.ist in der
US-Patentschrift 4 008 462 mit dem Titel "Vielfachsteuerspeichersystem
mit mehrfacher Mikroanweisungsauslesung" beschrieben. Diese Patentschrift beschreibt ein Steuersystem,
welches das Auslesen der Mikroanweisungen mit der gleichen Geschwindigkeit ermöglicht,wie es die des Mikroanweisungsauslesens
in einem System nach dem Stande der Technik ist, und zwar sogar mit einem Steuerspeicher niedriger
Leistungsfähigkeit. Jedoch ist dieses Verfahren nur bei einem System anwendbar, das eine Steuerspeicherbank
hat, die eine Mehrzahl von Mikroanweisungen mittels einer einzigen Adressenbezeichnung ausliest.
130066/0806
-π -
Grundsätzlich soll mit der vorliegenden Erfindung ein Mikroprograiransteuersystem
zur Verfügung gestellt werden, in dem ein Änweisungsdecodierer, der sonst einem Anweisungsregister unmittelbar nachgeschaltet vorgesehen sein müßte,
weggelassen werden kann, so daß die Verarbeitungsgeschwindigkeit erhöht und die Anweisungsdecodierfunktion in, einen
Mikroprogrammspeicher integriert wird, wodurch allgemein dessen Flexibilität erhöht wird.
Weiterhin wird mit der vorliegenden Erfindung ein Mikroprogrammsteuersystem
zur Verfügung gestellt, das eine verbesserte Mikroprogrammspeicherleistungsfähigkeit hat,, worin
Mikroprogramme, die eine hohe Benutzungsfrequenz haben,
in Kurzlängenworten be- bzw. eingeschrieben sind.
Außerdem wird mit der vorliegenden Erfindung ein Mikroprogrammsteuersystem
zur Verfügung gestellt, das eine Einrichtung zum schnellen Feststellen einer abnormalen Mikroprogrammsteuerfolge,
die durch einen Fehler beim Decodieren einer Adresse in einem Mikroprogrammspeicher verursacht
worden ist, hat.
Um die obigen Vorteile' zu erzielen, ist als ein Hauptmerkmal
der vorliegenden Erfindung vorgesehen, den Mikroprogrammspeicher in Mehrwortseiten zu unterteilen und ein von
dem Mikroprogramm gesteuertes Seitenzuordnungsregister vorzusehen, sowie ein Adressen-in-der-Seite-Zuordnungsregister,
das direkt in dem Inhalt des Anweisungsregisters lesen kann, so daß jede gewünschte Seite als ein Anweisungsdecodierbereich
benutzt werden kann» Ein weiteres Merkmal der vorliegenden Erfindung besteht darin„ daß der
Mikroprogrammspeicher aus einem ersten Mikroprogrammspeicher
zum Speichern von Langwortmikroanweisungen, die zur
allgemeinen Darstellung fähig sind, aufgebaut ist, und aus einem zweiten Mikroprogrammspeicher zum Speichern von Kurz-
130086/0806
wortmikroanweisungen, die eine hohe Benutzungsfrequenz haben
und beschränkte Prozesse repräsentieren. Wenn eine Kurzwortmikroanweisung ausgelesen wird, wird sie mittels
einer Bitinustererzeugungsschaltung zu einer ursprünglichen Langwortmikroanweisung rekonstruiert.
Außerdem besteht ein Merkmal der vorliegenden Erfindung darin, daß in jeder Mikroanweisung eine Phaseninformation
über einen Bezugstakt enthalten.ist, der eine Periode hat, die ein Vielfaches der Mikroanweisungsausführungstaktperiode
beträgt und wenn eine Mikroanweisung ausgelesen wird, dann wird gemäß der Erfindung jede abnormale Mikroanweisungssteuerfolge
dadurch, festgestellt, daß überwacht wird, ob die Phaseninformation eine vorbestimmte Beziehung zu
der Phase des Bezugstakts hat.
Die vorstehenden sowie weitere Vorteile und Merkmale der vorliegenden Erfindung seien nachfolgend anhand einiger,
in den Fig. 1 bis 21 der Zeichnung gezeigter Ausführungsformen näher erläutert; es zeigen:
Fig. 1A eine allgemeine Anordnung eines Systems,, das
unter Verwendung eines Mikroprogrammsteuereinheit nach der vorliegenden Erfindung aufgebaut
ist;
Fig. 1B ein Blockschaltbild einer Mikroprogrammsteuereinheit
nach dem Stande der Technik;
Fig. 2 eine Darstellung der zeitlichen Steuerung (hierfür wird nachstehend allgemein.der Begriff "Zeitablauf
dar st ellung" verwendet) für diese Einheit;
Fig. 3 und 4 ein Blockschaltbild bzw. eine Zeitablaufdarstellung
eines Systems nach dem Stande der Tech-
130066/0806
312174
nik, das man als ein Abbildungssystem bezeichnet;
Pig. 5 ein Blockschaltbild eines Nanoprogrammsystems
nach dem Stande der Technik;
Fig, 6 ein Blockschaltbild eines ein Seitenregister
aufweisenden Mikroprogrammsteuersystems zur Erläuterung der vorliegenden Erfindung;
Pig· 7 ein Beispiel eines Mikroanweisungsformats?
Fig* 8 ein Beispiel einer Operationszeitdarstellung des Systems nach Fig. 6;
Fig. 9A eine Konfiguration eines Mikroprogrammspeichers
in Verbindung mit Seiten;
Fig. 9B ein Beispiel eines Formats eines Signals 6b in
Fig. 6; .
Pig» 1oA eine Konfiguration einer UND-Anordnung bzw.
-Matrix 91 der Fig. 9A; .
Fig. 1oB einen Vergleich der Kapazität der üND~Gruppierung 91 in Fig. 9A, in der im Gegensatz zur
Fig„ 1 kein Decodierer vorgesehen, jedoch im
Speicher integriert ist;
Fig. 1oC ein Beispiel, auf das die vorliegende Erfindung angewandt wird;
Fig» 11A ein Blockschaltbild einer anderen Äusführungsform
der vorliegenden Erfindung, in dem ein Eusatzseitenregister und ein Zusatzanweisungsregister
vorgesehen sind;
- VA - .-■
Fig. 11B Setz- und Rücksetzoperationen, die mittels eines
Signals 112a des Zusatzanweisungsregisters ausgeführt
werden;
Fig. 12 eine Prozeßablaufdarstellung, die sich mittels
der Anweisungsformate ergibt, welche in Fig. 11A gezeigt sind;
Fig. 13 ein Blockschaltbild einer Einrichtung, in die ein Kurzwortspeichersystem zur Einsparung von
Speicherkapazität eingeführt ist;
Fig. 14 Kurzwortmikroanweisungen;
Fig. 15 Langwortmikroanweisungen zum Vergleich mit den
Anweisungen der Fig. 14;
Fig. 16 eine Bitmustererzeügungsschaltung der Einrich
tung nach Fig. 13;
' 2o . .
Fig. 17 ein Blockschaltbild eines Mikroprogrammsteuersystems, das eine Fehlerdetektionsschaltung hat;
Fig. 18 eine spezifische bzw. bevorzugte Ausführungsform der Fehlerdetektionsschaltung;
Fig. 19 eine Zeitablaufdarstellung hierfür;
Fig. 2o eine Abwandlung der Schaltung nach Fig. 18; und
3o
Fig. 21 eine Zeitablaufdarstellung hierfür.
Zur Erleichterung des Verständnisses der vorliegenden Erfindung sei zunächst der technische Sachverhalt näher erläutert,
von dem ausgegangen wird.
130066/0806
Die Fig. 1A zeigt ein schematisches Blockschaltbild eines
Systems, das einen Hauptspeicher aufweist, sowie einen Prozessor oder eine periphere Schaltung, der bzw. die mit
einer Busleitung verbunden ist; und Fig. 1B zeigt eine Mikroprogrammsteuereinheit
nach dem Stande der Technik, die der Steuereinheit des in Fig. 1A gezeigten Prozessors entspricht.
Ein Ausgangssignal eines Mikroanweisungsdecodierers oder ein Steuersignal steuern eine Verarbeitungseinheit
(Fig. 1A).
Das in Fig. 1B gezeigte Mikroprogrammsteuersystem umfaßt
ein Anweisungsregister 11, einen Anweisungsdecodierer 12, eine Adressenwählschaltung 13, ein Mikroprogrammadressenregister
14, einen Mikroprogrammspeicher 15, ein Mikroan-Weisungsregister 16 und einen Mikroanweisungsdecodierer
In einer Anweisungsabrufmikroroutine wird ein Mikroanweisungswort aus dem Hauptspeicher ausgelesen und im Anweisungsregister
11 gespeichert. Der Anweisungsdecodierer 12 decodiert den Inhalt des Anweisungsregisters 11 / um eine
Anfangsädresse einer Mikroroutine zu erzeugen, die dem Anweisungscode entspricht. Die mittels des Anweisungsdecodierers.
12 erzeugte Anweisungsadresse wird durch die Adressenwählschaltung 13 in das Mikroprogrammadressenregister
eingegeben, und ein Mikroanweisungswort, das der Adresse
entspricht, wird aus dem Mikroprogrammspeicher 15 ausgelesen.
Ein Operationsfeld (Code) der ausgelesenen Mikroanweisung wird in das Mikroanweisungsregister 16 eingegeben,
während ein Adressenfeld (Code) der Mikroanweisung zur Adressenwählschaltung 13 zurückgeführt wird» Der Inhalt
des Mikroanweisungsregisters 16 wird mittels des Mikroanweisungsdecodierers 17 decodiert„ welcher verschiedene
.· Steuersignale erzeugt. Andererseits wird der Inhalt des Adressenfelds, der zur Adressenwählschaltung 13 zurückgeführt
worden ist, zum Mikroprogrammadressenregister 14 übertragen, so daß die Mikroanweisungen aufeinanderfolgend
ausgelesen und ausgeführt werden. Die Fig. 2 zeigt eine.
Zeitablaufdarstellung hierfür, worin ein Ausgangssignal 1a
des Anweisungsregisters 11, ein Ausgangssignal 1b des Anweisungsdecodierers
12, ein Ausgangssignal 1c des Mikroprogrammadressenregisters 14, ein Ausgangssignal 1d des Mikroprogrammspeichers
15 und ein Ausgangssignal 1e des Mikroanweisungsregisters 16 zusammen mit einem Grundtakt gezeigt
sind. Die schraffierten Bereiche in Fig. 2 stellen Perioden dar, in denen aufgrund von Verzögerungszeiten in der
Schaltung keine Signale gebildet werden und die nach einer Zeitdauer von der Bildung des Ausgangssignals" 1a des Anweisungsregisters
11 bis zur Bildung des Ausgangssignals 1b des Anweisungsdecodierers 12 auftreten, oder mit ande-"
ren Worten nach einer Zeitdauer, die vom Decodieren der Anweisung bis zum Erzeugen der Anfangsadresse vergeht und
im wesentlichen mit der Zugriffszeit des Speichers vergleichbar
ist, obwohl sie in Abhängigkeit von der Konfiguration und dem Ausmaß des Anweisungsdecodierers variieren
kann. Die Fig. 2 zeigt, daß ein Mikroanweisungszyklus, der als "Mikrozyklus" bezeichnet wird, als Wartezeit erforderlich
ist, bevor mit dem Auslesen des Mikroprogrammspeichers begonnen wird. Wie oben in Verbindung mit dem
Stande der Technik erörtert wurde, ist dieses System mit Schwierigkeiten hinsichtlich der Verarbeitungsgeschwindigkeit
und der Universalität behaftet.
Die Fig. 3 zeigt ein Beispiel eines Abbildungssystems,
und die Fig. 4 zeigt eine Zeitablaufdarstellung hierfür.
Es wird in einem Rechner mit einem einfachen Anweisungssatz verwendet. Eine Kombination eines Ausgangssignals einer
Festbitmustererzeugungsschaltung 31 und des Inhalts des Anweisungsregisters 11 wird als eine Anfangsadresse
der Mikroroutine verwendet. In diesem System wird kein Anweisungsdecodierer verwendet, und infolgedessen ist es
-^Γ>
ein ο I η TiI
130066/0806
Die Pig. 4 zeigt eine Beziehung zwischen einem Ausgangssignal
3a des Anweisungsregisters 11, einem Äusgangssignal
3b des Mikroprogrammadressenregisters 14„ einem Ausgangssignal
3c des Mikroprogrammspeiehers 15-und einem
Ausgangssignal 3d des Mikroanweisungsregisters 16» Die
Vorteile und die Nachteile dieses Systems sind weiter oben erörtert worden.
Der Mikroprogrammspeieher 15 enthält viele gen, die in ihren VerarbeitungsInhalten miteinander identisch -sind, ausgenommen"Äbzweigung=3u "-Adresseninformationsfeidern
und gewisse Steuerbits der Mikroanweisungen,,
In dem in Fig, IB gezeigten Aufbau werden jedoch die Mikroanweisungen
selbst dann, wenn die Inhalt der Mikroanxtfeisungen
im wesentlichen identisch sind, gesondert gespeichert , wenn die "Abzweigung-zu "-Ateesseninformatioasf elder
■ oder gewisse Steuerbits unterschiedlich sind=' Infolgedessen
enthält der Mikroprograiranspeicher 15 eiae Mehrzahl
von Mikroanweisungen, die in den Hauptteilen ihrer Bitmuster
identisch sind» Demgemäß ist die Ausnutzung des Mikroprogrammspeichers schlecht, und die Speicherkapazität
muß erhöht werden» Eine Verbesserung gegenüber dem obigen ." System"ist als Nanoprogrammsystem bekannt? das in Fig» S
gezeigt ist. In diesem System weist die Mikroanweisimgein"Äbzweigung-zu'I-la2iesseninformationsf©ld5ein
Steuer·= bitfeld und ein Nanoprogrammadressenfeld aufο In Ansprechung
auf das Nanoprogrammadressenfeld einer aus dem Mi= kroanweisungsregister 5o ausgelesenen Mikroanweisung wird
ein Nanoprogrammspeicher 51 aktiviert, eine entsprechende
Nanoanweisung zum Erzeugen von verschiedenen Steuersignalen auszulesen. Bei diesem Aufbau werden die Wortglieder
der Langwortnanoprogramme dadurch vermindert^ daß Überlappungen ausgeschaltet werden, und die Wortlängen der Mikroprogramme,
die eine Anzahl von Worten enthalten, werden verkürzt, so daß die Gesamtausnutzung des· Speichers ver-
bessert wird. Jedoch ist der Hardware-Aufbau dieses Nanoprogrammsystems
kompliziert/ und die Ausnutzung ist schlecht, sofern nicht die Wortlänge der Nanoanweisung
sehr lang ist. Infolgedessen nimmt die.Kapazität des Nano-Programms
51 zu. Darüber hinaus nimmt, da die Auslesezeit des Nanoprogramms zusätzlich erforderlich ist, die Verarbeitungszeit
von der Aktivierung des Mikroprogrammspeichers bis zum Erzeugen der Steuersignale zu. Eine andere
Schwierigkeit ergibt sich bei der Verbesserung der Zuverlässigkeit des Mikroprogrammsteuersystems.
Ein allgemeines Verfahren des Feststellens eines Fehlers im Mikroprogrammspeicher besteht darin, daß man ein Paritätsbit
zur Mikroanweisung hinzufügt und überwacht, ob die Gesamtzahl der "1" Bits in der Mikroanweisung gerade oder
ungerade ist.
Das Verfahren des Hinzufügens des Paritätsbits derart, daß
die Gesamtzahl von "1" Bits gleich einer geraden Zahl ist, wird als Geradzahlparitätsverfahren bezeichnet, und das
Verfahren des Hinzufügens des Paritätsbits derart, daß die Gesamtzahl gleich einer ungeraden Zahl ist, wird als Ungeradzahlparitätsverfahren
bezeichnet.
Das Fehlerdetektionssystem, das mittels Hinzufügung des Paritätsbits arbeitet, ist für die Ermittlung eines Fehlers
beim Auslesen der Mikroanweisung wirksam, aber es kann keinen' Fehler In der Mikroprogrammadresseninformation
und keinen Fehler bei der Decodierung einer Adresse des Mikroprogrammspeichers ermitteln.
Es ist ein Kontrollendzeitgebersystem als Fehlerdetektionssystem bekannt, das mittels eines "Überlaufens" der Software
oder Hardware arbeitet.
13006.6/0806
Ein konventioneller Kontrollendzeitgeber zählt normalerweise
Taktgebungssignale zusammen und wird durch eine Softwareanweisung zurückgesetzt. Wenn der Zeitgeberzählwert
einen voreingestellten Zählwert überschreitet, bevor
der Zeitgeber zurückgesetzt wird, wird ein Systemwiederbeginnsignal erzeugt.
Der Ort der Einfügung des Kontrollendzeitgebers und der
• Voreinstellungszählwert des Zeitgebers werden so gewählt,
daß bei einem normalen Betriebszustand der Zeitgeber stets
zurückgesetzt wird, bevor der Zeitgeberzählwert den Voreinstellungszählwert
erreicht, und wenn der Kontrollendzeitgeber wegen eines Programmüberlaufs bzw. -verlusts bzw» -datenverlusts
oder dergleichen nicht rückgesetzt worden ist, äann überschreitet der Zeitgeberzählwert den Voreinstellungs
zählwert, so daß das Wiederbeginnsignal erzeugt und der abnormale Vorgang.unterbrochen wird.
Das Kontrollendzeitgebersystem wird dazu verwendet, das
überlaufen bzw. den Datenverlust auf einem Softwareniveau zu verhindern, so daß der Voreinstellungszählwert des
Zeitgebers gewöhnlich ein relativ großer Zählwert ist. Demgemäß arbeitet dieses System dahingehend, daß es eine abnormale
Folge im Softwareniveau feststellt, aber es ist · für die Feststellung einer abnormalen Folge in einem Mikroanweisungsniveau,
das ein schnelles Ansprechen erfordert, nicht praktikabel.
Unter Berücksichtigung dieser obigen technischen Beschreibung seien nun bevorzugte Ausführungsformen·der vorliegenden
Erfindung erläutert.
Eine Äusführungsform der vorliegenden Erfindung ist in
Fig. 6 gezeigt, in der Elemente, die solchen der Fig= 1
und 3 entsprechen, mit den gleichen Bezugszeichen verse-
13.0066/0806'
hen sind. Ein Seitenregister 61 gehört zur vorliegenden Erfindung. Der Inhalt des Mikroanweisungsregisters wird
durch die Adressenwählschaltung 13 in das Adressenregister
14 eingegeben. Der Inhalt des Seitenregisters 61 wird mittels
eines Mikroprogramms kontrolliert bzw. gesteuert. Eine Kombination 6b des Inhalts des Seitenregisters 61 und
des Inhalts des Adressenregisters 14 wird dazu verwendet, eine Adresse des Mikroprogrammspeichers 15 zum Auslesen
eines Mikroanweisungsworts aus dem Mikroprogrammspeicher
1ο 15 zu bezeichnen. Die ausgelesene Mikroanweisung umfaßt ein Operationsfeld 6c1, das in das Mikroanweisungsregister
16 eingegeben wird, ein Adressenwählbit 6c2, das die Adressenwählschaltung 13 steuert, ein Seitenfeld 6c3, das
zum Seitenregister 61 zurückgeführt wird, und ein Adressenfeld 6c4, das zur Adressenwählschaltung 13 zurückgeführt
wird. Der Inhalt des Mikroanweisungsregisters 16 wird mit-. tels des Mikroanweisungsdecodierers 17, der verschiedene
Steuersignale erzeugt, decodiert. Das Adressenfeld 6c4 der Mikroanweisung, das zur Adressenwählschaltung 13 zurückgeführt
worden ist, wird in das Mikroprogrammadressenregister 14 eingegeben, und der Inhalt des Seitenregisters 61
sowie der Inhalt des Mikroprogrammadressenregisters 14 werden kombiniert und auf der Basis der Kombination 6b
wird eine Mikroanweisung aus dem Mikroprogrammspeicher 15 ausgelesen. Auf diese Weise wird eine Reihe von Mikroanweisungen
aufeinanderfolgend ausgeführt. Der Adressenraum des Mikroprogrammspeichers 15 ist in Seitenbereiche
klassifiziert, von denen jeder eine Mehrzahl von Worten aufweist, die ein gemeinsames Seitenfeld haben. Ein gewisser
Seitenbereich des Speichers ist den vorlaufenden Bereichen der Mikroroutinen zugeordnet, die in Abhängigkeit
von dem Inhalt des Anweisungsregisters 11 abzweigen, so daß jede gewünschte Abzweigung ermöglicht werden kann.
Darüber hinaus kann durch Kontrollieren bzw. Steuern des Inhalts des Seitenregisters 61 eine Mehrzahl von Abzwei-
130066/0806
312174
gungen zu einem gegebenen Anweisungscode ermöglicht werden
(zwei Abzweigungen in dem Beispiel der Fig. 9), so daß das System.einem komplizierten Anweisungssatz angepaßt werden
kann. Die Anpassung auf einen unterschiedlichen Anweisungssatz wird, dadurch ermöglicht, daß man lediglich den Inhalt
des Mikroprogrammspeichers 15 ändert, und infolgedessen hat das System eine genügende Universalität.
Die Fig. 7 zeigt ein Format der Mikroinstruktion. Es umfaßt
ein Funktionsfeld F (neun Bits) zur Spezifizierung einer Operationsart, ein Ursprungsregisterfeld RS (sechs
Bits) zum Bezeichnen eines Ausleseregisters, ein Bestimmungsregisterfeld RD (sechs Bits) zum Bezeichnen eines
Schreibregisters, ein Adressenwählbitfeld S (ein Bit) zum Steuern der Adressenwählschaltung 13, ein Seitenfeld PF
(zwei Bits) zum Bezeichnen einer nächsten"Abzweigung-zu' Seite
und ein Adressenfeld ADF (acht Bits) zum Bezeichnen einer nächsten"Abzweigung-zu"-Adresse.
Die Fig. 8 zeigt eine Zeitablaufdarstellung für das System
der Fig. 6, worin (B) das Ausgangssignal 6a des Anweisungsregisters
11 repräsentiert, (C) repräsentiert das Äusgangssignal 6b des Seitenregisters 61 und des Adressenregisters
14, (D) repräsentiert das Äusgangssignal 6c des Mikroprogrammspeichers 15, und (E) repräsentiert das Äusgangssignal
6d des Mikroanweisüngsregxsters 16? und (A)
repräsentiert den Grundtakt. Die schraffierten Bereiche repräsentieren die Zugriffsperioden wie in Fig. 2.
In dem System der Fig. β ist dem Anweisungsregister 11 kein Anweisungsdecodierer nachgeschaltet. Da der Inhalt
des Registers 11 direkt in das Adressenregister 14 eingegeben wird, kann die Zeit, die zum Erzeugen der Anfangsadresse der Mikroroutine erforderlich ist f verkürzt wer-
den, wie man aus Fig. 8 ersieht.
Es sei' nun der Prozeßvorgang in dem System der Fig. 6 erläutert.
In dem Anweisungssatz, der in dem dargestellten Beispiel verwendet wird, wird der Anweisungscode durch
acht Bits repräsentiert, von denen drei Bits hoher Ordnung eine Adressierungsart definieren, während fünf Bits
niedriger Ordnung einen auszuführenden Inhalt definieren.
Die Anweisungen werden in Abhängigkeit von ihren Prozeßvorgängen in die folgenden zwei Hauptkategorien unterteilt:
(A) Anweisungen, deren auszuführende Operanden in dem Register sind, oder Anweisungen, die keine Operanden
benötigen, wie beispielsweise eine Akkumulatoroperationsanweisung
oder eine Rückführanweisung von einer Subroutine. Diejenigen Anweisungen, die "000" in den
drei Bitpositionen hoher Ordnung haben, werden hierin klassifiziert. Sie werden zu Prozeßroutinen abgezweigt,
welche den Anweisungscodes entsprechen, und zwar nach der Vollendung der Anweisungsabrufroutine.
(B) Anweisungen, deren Operanden in dem Speicher sind, wie beispielsweise eine Eingabeanweisung vom Speicher zum
Akkumulator, eine Operationsanweisung zwischen dem Akkumulator und dem Speicher, und eine Verzweigungsbzw. Sprunganweisung. Diese Art von Anweisungen haben
001~111 in den drei Bitpositionen hoher Ordnung, wobei die drei Bits hoher Ordnung eine Operandenadressenberechnungsart
definieren, während die fünf Bits ■ niedriger Ordnung"einen auszuführenden Inhalt definieren.
Die Adressierungsart umfaßt eine Direktadressierungsart, eine Indirektadressierungsart und eine ReIativadressierungsart.
In dieser Art von Instruktionen zweigen die Instruktionen zu den Adressenberechnungsroutinen
nach der Beendigung der Anweisungsabrufrou-
130066/0806
tine ab, und sie zweigen zu den Ausführungsroutinen entsprechend den Anweisungen ab, und zwar nach der Beendigung
der Adressenberechnung.
Zur Ausführung der Instruktion haben das Anweisungsregister
11, das Adressenregister 14 und das Seitenregister 61 in Fig. 6 acht Bits bzw. acht Bits bzw. zwei Bits, und den
Seiten der Adressen des Mxkroprogranunspeichers 15 sind die folgenden Funktionen zugeordnet:
(1) Seiten (00) und (01)
Sie werden als Arbeitsbereiche verwendet« Zweite und
nachfolgende Worte der Anweisurigsabrufroutinen und der Prozeßroutinen werden darin gespeichert»
15
Sie ist einem ersten Decodierbereich des Anweisungscodes zugeordnet. Erste Worte der Routine der Anweisungen
vom Typ (A) und erste Worte der Adressenberechnungsroutinen
der Anweisungen vom Typ CB) werden hierin gespeichert.
Sie ist ein zweiter Decodierbereich der Anweisungen vom Typ (B). Erste Worte der Ausführungsroutinen werden
hierin gespeichert. In der Anweisungsabrufmikroroutine
wird ein Anweisungswort aus dem Hauptspeicher ausgelesen und in das Anweisungsregister 11 eingegeben.
Wenn die Anweisungsabruf routine beendet XSt5. wird
(10) in das Seitenregister 61 eingegeben, und der Inhalt
des Anweisungsregisters 11 wird in das Adressenregxster 14 eingegeben, und der Prozeß zweigt zu der
Adresse ab, die dem Anweisungscode auf der Seite (10)" entspricht. In der Anweisung vom Typ (A) sind die Mikroroutinen,
die von der Adresse ausgehen;, welche der
1300S6/080S .
Seite (10) entspricht, den Anweisungen entsprechende
Ausführungsroutinen. Nach der Beendigung des Ausführungsprozesses kehrt der Prozeß zu der Anweisungsäbrufroutine
zurück. In der Anweisung vom Typ (B) beginnt die Adressenberechnungsroutine von der Adresse
aus, die der Seite (10) entspricht. Wenn die Adressenberechnungsroutine beendet ist, wird (11) in das Seitenregister
61 eingegeben, und der Inhalt des Anweisungsregisters (11) wird in das Adressenregister 14
1ö eingegeben, und der Prozeß zweigt zu der der Seite
(11) entsprechenden Adresse ab. Die Routinen, deren erste Worte auf der Seite (11) stehen, sind Ausführungsroutinen
für die Anweisungen. Wenn die Ausführungsroutine beendet ist, kehrt der Prozeß zur Anweisungsabrufroutine
zurück. Da die Adressenberechnungs- und Ausführungsprozesse für Anweisungen des Typs (B)
einer Mehrzahl von Anweisungscodes gemeinsam sind, sind die Mikroanweisungen einer Mehrzahl von Adressen
identisch, wenn der Prozeß zu der Seite (10) und der Seite (11) abzweigt. In dem vorliegenden System ist
ein Wort des Speichers der Mehrzahl von Adressen zugeordnet, so daß wesentlich an Speicherkapazität eingespart
wird. Die Fig. 9A veranschaulicht die obigen Verhältnisse, und sie zeigt eine Anordnung bzw. Ausbildung
des Speichers. Die Symbole X bezeichnen nichtdecodierte Bereiche. Der Speicher umfaßt eine UND-Matrix
91, die ein Adresseneingangssignal decodiert, um ein Signal zu erzeugen, das ein Wort in dem Speicher
bezeichnet, oder eine ODER-Matrix 92 zum Erzeugen eines Inhalts des Worts des Speichers, das mittels des
Ausgangssignals der UND-Matrix 91 bezeichnet worden ist. Das Ausgangssignal der ODER-Matrix 92 entspricht
dem Signal 6c in Fig. 6. Die Eingangsadressensignale • Ao"^A9 für die UND-Matrix 91 entsprechen dem Signal 6b
in Fig. 6. Wie in Fig. 9B gezeigt ist, werden sie aus
130066/0806
~25~ 312174.
dem Hauptspeicher (A) ausgelesen oder durch die vorherige
Mikroanweisung '(Abzweigung) (B) bezeichnet; Fig„ 1oä zeigt
einen ins einzelne gehenden Schaltungsaufbau äer UND-Ma-■ tr ix 91 der Fig. 9. Die Symbole ^Q^Sg bedeuten Torschaltungen=
Zur Decodierung der Adresseninformation sind Transistoren
TRS mit positiven Logikseiten von Bits "Ί" des
Adresseneingangs bzw. mit negativen Logikseiten von Bits "0" des Adresseneingangs verbunden» Jeder der Transistoren
TRS erzeugt ein Ausgangssignal "I" in Ansprechung auf ein
-jo daran angelegtes Eingangssignal "1" und eine Gruppe von
Transistoren TRS/ die zum Decodieren von je einem der Adresseneingangssignale vorgesehen sind 0 sind mit einem
UND-Tor verbunden? so. daß infolgedessen ein Äusgangssignal "1" erzeugt wird? wenn alle Transistoren der Gruppe ein
Eingangssignal "1" erhalten. Zum Beispiel liegt in Pig= loA der Ausgang Ti -auf n1'\ wenn sich die positiven Logikseiten
der Eingänge Ag und A7 alle auf "1" befinden/und wenn
sich die negativen Logikseiten der Eingänge &«p Ag und Ag
ebenfalls alle auf ."1" befinden» In einer UMD-Matrix eines
konventionellen Speichers wird der Adresseneingang vollständig decodiertj. wn jeder Adresse ein Wort des Speichers
zu2uordnen<. In dem vorliegenden System ist es in einigen
Fällen wirkungsvoll, die Adresse mittels der ÜHD-Matriss
91 teilweise zu decodieren.. Genauer gesagt können die mit
X markierten Bereiche in Fig = SA in der Schaltung der Figo
loA dadurch realisiert werden„ daß man die Transistoren
TRS entlader auf der positiven Logikseite oder auf der
negativen Logikseite wegläßt» Infolgedessen wird eine Zu- ' nähme der Kapazität des Mikroprogrammspeichers 15 aufgrund
der Notwendigkeit von identischen Mikroanweisungen an unterschiedlichen Adressen vermieden«,■ Wie in den Fig„ I0B
. und I0C gezeigt ist, werden 512 Transistoren o die für 4ie
Seiten (10) und (11). erforderlich sind, auf 71 Transistoren
vermindert=
130ΘΘ8/080
In der Anweisung vom Typ (B) werden, wenn der Prozeß zu der 'Adressierungsroutine auf der. Seite (10) abzweigt, die
fünf Bits niedriger Ordnung der Adresse nicht decodiert, so daß nur ein Wort des Speichers einer Mehrzahl von Adressen
zugeordnet wird, die unterschiedliche Bits niedriger Ordnung haben. Die UND-Matrix 91 kann so aufgebaut sein,
daß sie die zwei Bits hoher Ordnung oder die Seite, welche das Feld der Adresse auf der Seite (11) bezeichnet,
sowie die fünf Bits niedriger Ordnung decodiert. Dieses System ist besonders wirksam, wenn der Mikroprogrammspeicher
ein Nur-Lese-Speicher ist, weil der Inhalt des Adressendecodierers und der Inhalt des Speichers gleichzeitig
gebildet werden können.
Die Fig. 11A zeigt eine andere Ausführungsform der vorliegenden
Erfindung. Sie unterscheidet sich von der Ausführungsform der Fig. 6 insofern, als ein Zusatzseitenregister
111, ein Zusatzanweisungsregister 112 und eine Seitenwählschaltung
113 hinzugefügt sind, damit kompliziertere Anweisungssätze leistungsfähig verarbeitet werden können.
Die Elemente und ihre Funktionen werden nachstehend beschrieben.
(1) Zusatzseitenregister 111
Es ist ein vier Bit-Register und hält Daten zurück, die dem Seitenregister 61 zugeführt bzw. zugeordnet werden
sollen. Mittels des Mikroprogramms kann jeder gewünschte Inhalt voreingestellt werden.
(2) Anweisungsregister 11
Es ist ein acht Bit-Register und hält ein aus dem Hauptspeicher ausgelesenes Anweisungswort fest.
(3) Zusatzanweisungsregister 112
35. Es ist ein acht Bit-Register und hat eine gleichartige
35. Es ist ein acht Bit-Register und hat eine gleichartige
130066/0806
Funktion wie das Anweisungsregister 11- Dadurch, daß
zwei Anweisungsregister vorgesehen werden, kann das System einem ziemlich komplizierten Anweisungssatz angepaßt
werden. Das Register hat die zusätzliche Funktion des Setzens und Rücksetzens irgendeines Bits mittels
einer Mikroanweisung 112a (siehe Fig. 11B). Das
wird weiter unten erläutert.
(4) Seitenwählschaltung 113
Sie wählt die dem Seitenregister 61 einzugebenden Daten aus dem Inhalt des Zusatzseitenregisters 111 und
dem Seitenfeld der aus dem Speicher ausgelesenen Mikroanweisung. Sie wird durch ein Wählsignal von der Mikroanweisung
aktiviert.
(5) Adressenwählschaltung 13
Sie wählt die dem Adressenregister 14 einzugebenden Daten von (i) dem Ausgang des Anweisungsregisters 11*
(ii) dem Ausgang des Zusatzanweisungsregisters 112 und (üi) dem Adressenfeld der Mikroanweisung. Sie wird
durch ein Steuersignal von der Mikroanweisung her aktiviert.
(6) Seitenregister 61
Es ist ein vier Bit-Register und hält vier Bits hoher
Ordnung der 12 Bit-Adresse des Mikroprog^ammspeichers 15 fest.
(7) Mikroprogrammadressenregister 14
Es ist ein acht Bit-Register und hält acht Bits niedriger Ordnung der Speicheradresse fest.
(8) ÜWD-Matrix 91 · · ■ .
Sie ist eine Matrix von 12 Bits χ (Anzahl der Speicher-Worte).
Sie decodiert eine Adresse zur Bezeichnung eines
130088/0808
Worts des Speichers. Die Adressenräume werden in Bereiche (Seiten) sortiert, die vier Bits hoher Ordnung
der Adressen gemeinsam haben. Die Adresse wird so partiell wie möglich decodiert, damit die Anzahl
von Speicherworten vermindert wird.
(9) ODER-Matrix 92
Sie ist ein Nur-Lese-Speicher, der eine Kapazität von
(Anzahl der Speicherworte) χ 32 Bits zum Speichern von Mikroprogrammen hat.
(10) Mikroanweisungsregister 16
Es hält ein Operationsfeld einer Mikroanweisung fest,
die aus dem Mikroprogrammspeicher 15 ausgelesen worden ist.
(11) Mikroanweisungsdecodierer 17.'
Er decodiert den Inhalt des Mikroanweisungsregisters 16 und erzeugt Steuersignale für Verarbeitungsschaltungen
und Torschaltungen.
Es sei nun der in Betracht stehende Anweisungssatz erläutert.
Die Anweisungen- werden in Abhängigkeit von ihren Prozeßarten in die listenmäßig in Tabelle 1 angegebenen fünf
· Kategorien klassifiziert. Fig. 12 zeigt einen Prozeßverlauf,
für diese fünf Arten von Anweisungen. Um diese Anweisungen auszuführen, werden die Adressenräume des Mikroprogrammspeichers
15 in der Weise zugeordnet, wie in Tabelle 2 gezeigt.
130066/0806
12174.
Prozesse von Anweisungen
Typ der An weisung |
Proseß |
(A) | Zweigt direkt zu einer Äusführungsroutine ab, die einem Anweisungscode entspricht |
(B) | Zweigt nach der Operanäenadressenberechnung zur entsprechenden Äusführungsroutine ab= Ein auf den Anweisungscode nächstfolgendes Wort spezifiziert eine aus einer Mehrzahl von Adres sierungsarten* · |
(C) | Wenn der Anweisungscode des ersten Worts einen speziellen Wert hat, definiert ein auf das er ste Wort als nächstes folgendes zweites Wort eine neue Anweisung ο Zweigt su einer Äusfüh rungsroutine ab? die der neuen Anweisung ent™ spri.ch.to |
(D) | Entspricht (C) 0 erfordert jedoch ein® Qperan- denadressenberechnungο Die Ädressiertmgsart ist identisch derjenigen .von (B) . |
(E) | Bits eines'auf den Anweisungscoäe nächstfol genden zweite« Worts sind Zulässigkeifcskenn- zeichen für. den. entsprechenden- Prozeß „ |
130086/0806
- 3ο -
Adressenseitenzuordnung
0000 0001
0010 0011
0100
0101
0110
.0.1.1.1.
1000 .11.11
Zuordnung von Funktionen von Bereichen
Arbeitsbereich
Erster Decodierbereich des Anweisungscodes
Decodierbereich für die Abzweigung zu einer Ausführungsroutine nach Adressenberechnung für Anweisung
vom Typ (B)
Zweiter Decodierbereich des Anweisungscodes für Anweisungen vom Typ (C) und (D).
Decodierbereich zur Abzweigung zu einer Ausführungsroutine nach Adressenberechnung für Anweisung vom
Typ (D)
Decodierbereich für Ausführungsroutine von Anweisungen vom Typ (E)
Decodierbereich für. Adress.exiberechnung.
Undefinierte Reservebereiche. Werden in dem vorliegenden Anweisungssatz nicht verwendet.
130066/08Ö6
Es sei nun der Prozeßverlauf unter Bezugnahme auf die Fig. 11A und 12 erläutert.
In der Anweisungsabrufmikroroutine wird ein Anweisungswort aus dem Hauptspeicher ausgelesen und in das Anweisungsregi- ■
ster 11 eingegeben. Bei Beendigung der Anweisungsabrufroutine
wird "0010" in das Seitenregister 61 eingegeben, und der Inhalt des Anweisungsregisters 11 wird in das Adressenregister
14 eingegeben, und der Prozeß zweigt zu einer
To Adresse auf der Seite (0010) ab. In der Anweisung vom Typ
(A) ist die Seite (0010) der vorlaufende Bereich der Ausführungsroutine, und die Mikroanweisung, die dem ersten
Wort der Ausführungsroutine entspricht, wird in der Adresse gespeichert, die dem Anweisungswort entspricht, und zwar
auf der Seite (0010). Das zweite und die folgenden Worte der Routinen werden in dem Arbeitsbereich gespeichert. In
der Instruktion vom Typ (B) wird die Adresse vor der Ausführungsroutine
berechnet. Die Adressenberechnungsroutine ist für die Anweisungen vom Typ (B) und (D) eine gemeinsame,
aber die"Abzweigung-zu"-Adressen nach der Adressenberechnung
sind unterschiedlich. Zur leistungsfähigen Verarbeitung in der vorstehenden Weise wird das Zusatzseitenregister
111 benutzt. Der Prozeß der Ädressenberechnung unterscheidet sich in Abhängigkeit von dem Inhalt des auf
den Anweisungscode nächstfolgenden Worts; aber der Inhalt
des Anweisungsregisters 11 sollte aufrechterhalten werden s
weil er Informationen über die Abzweigung zu der nächstfolgenden Ausführungsroutine umfaßt» Demgemäß wird das
Zusatzanweisungsregister 112 zur Adressenberechnung benutzt. Bei der Ausführung der Anweisung vom Typ (B) auf
der Seite (0010) wird das auf den Anweisungscode nächstfolgende Wort aus dem Hauptspeicher ausgelesen, und in das Zusatzanweisungsregister
112 eingegeben, und die "Abzweigung-zu"-Seite
(0011) nach der Adressenberechnung wird in das .Zusatzseitenregister 111 eingegeben. Dann wird der Inhalt
1300SS/0806
des Zusatzanweisungsregisters 112 in das Ädressenregister
14 eingegeben, und der Prozeß zweigt zu der Adressenberechnungsroutine
entsprechend der Adressierungsart auf der Seite (0111) ab. Bei Beendigung der Adressenberechnungsroutine
wird der Inhalt des Zusatzseitenregisters 111 in das Seitenregister 61 eingegeben, und der Inhalt des
Anweisungsregisters 11 wird in das Adressenregister 14 eingegeben.
Auf diese Weise zweigt der Prozeß für die Anweisung vom Typ (B) zu der Ausführungsroutine auf der Seite
(0011) und für die Anweisung vom Typ (D) zu der Ausführungsroutine
auf der Seite (0101) ab. Für Anweisungen vom Typ (C) und (D) zweigt der Prozeß mittels des Anweisungscodes des zweiten Worts ab. Demgemäß wird, wenn eine Anweisung
vom Typ (C) oder (D) für die Seite (0010) decodiert wird, das dem Anweisungscode nächstfolgende zweite
Wort des Hauptspeichers ausgelesen und in das Anweisungsregister 11 eingegeben. Dann wird der Inhalt des Änweisungsregisters
11 in das Adressenregister 14 eingegeben, und der Prozeß zweigt zur Seite (0100) ab. Bei einer An-Weisung
vom Typ (C) ist die Seite (010O) der vorlaufende" Bereich der Ausführungsroutinen. Bei einer Anweisung vom
Typ (°) wird ein weiteres nächstfolgendes Wort aus dem Hauptspeicher ausgelesen und in das Zusatzanweisungsregister
112 eingegeben. Die "Abzweigung-zu."-Seite (0101) nach der Adressenberechnung wird in das Zusatzseitenregister
111 eingegeben, und der Inhalt des Zusatzadressenregisters
112 wird in das Adressenregister 14 eingegeben, und der
Prozeß zweigt zur Adressenberechnungsroutine auf der Seite (0111) ab. Bei einer Anweisung vom Typ (E) kann ein kondltioneller
Sprung der Mikroanweisung zu den Bits des auf· den Anweisungscodes nächstfolgenden zweiten Worts benutzt
werden, aber er verlängert die Mikroroutine und vermindert die Schnelligkeit der Prozeßgeschwindigkeit. Um die obige
Schwierigkeit zu überwinden, wird die Bit-um-Bit-Setz- und -Rücksetzfunktion des Zusatzanweisungsregisters 112 be-
130066/0806
nutzt {siehe 112a in tfig. 11B). Bei der Ausführung einer
Anweisung vom Typ (E) auf der Seite (OO1O) wird das dem
Anweisungscode nächstfolgende zweite Wort aus dem Hauptspeicher ausgelesen und in das Zusatzanweisungsregister
112 eingegeben. Dann wird der Inhalt des Zusatzanweisungsregisters 112 in das Adressenregister 14 eingegeben, und
der Prozeß zweigt zur Seite (0110) ab. Auf der Seite (0110)
wird eine Bit-um-Bit-Decodierung mit den jeweiligen Bits gegebenen Prioritäten ausgeführt, und der Prozeß zweigt
■jo zu der Ausführungsroutine ab, die dem Bit entspricht. Wenn
alle Bits "0" sind, wird kein Prozeß ausgeführt, und der Prozeß kehrt zur Anweisungsabrufroutine zurück. In der
dem Bit entsprechenden Ausführungsroutine wird der entsprechende Prozeß ausgeführt, und das entsprechende Bit
•35 des Zusatzanweisungsregisters 112 wird rückgesetzt. Dann
wird der Inhalt des Zusatzanweisungsregisters 112 erneut in das Adressenregister 14 eingegeben, und der Prozeß
zweigt zur Seite (0110) ab. Bei einem auf diese Weise aufgebauten Mikroprogramm werden die Bits in der Ordnung höhe·*·
rer Priorität verarbeitet, bis alle Bits des Zusatzanweisungsregisters
112 zu "0" wechseln, d. h», daß die Prozesse für "1" Bits beendet worden sind. Dementsprechend kann
gemäß der vorliegenden Erfindung selbst eine Spezialanweisung, wie es eine Anweisung vom Typ (E) ist, mit hoher Ge·=·
schwindigkeit und mit einer geringen Anzahl von Speicher- '
Worten ausgeführt werden.
Gemäß den dargestellten Ausfuhrungsformen wird der Inhalt
. des Anweisungsregisters ohne Führung zum Anweisungsdecodierer
direkt in das Adressenregister eingegeben, so daß die Betriebsgeschwindigkeit erhöht wird. Dadurch, daß das
Seitenregister vorgesehen ist, welches mittels der Mikroanweisung kontrolliert bzw. gesteuert wird, ist das System
einem komplexen Anweisungssatz angepaßt. Da die Anweisungsdecodierfunktion
in dem Speicher integriert ist, sind die
130066/0806
Flexibilität und die Universalität des Systems vergrößert. Ein Wort des Speichers kann zu einer Mehrzahl von Adressen
verwendet werden, indem die Adresse des Speichers partiell decodiert wird. Dadurch, daß das Zusatzseitenregister vorgesehen
ist, kann eine gemeinsame Routine an einer Mehrzahl von Stellen verwendet werden, so daß die Speicherkapazität
vermindert werden kann. Da jedes Bit des Zusatzanweisungsregisters mittels der Mikroanweisung gesetzt und zurückgesetzt
werden kann, kann eine Spezialanweisung, in welcher die Bits des auf den Anweisungscode nächstfolgenden zweiten
Worts Zulässigkeitskennzeichen für die entsprechenden Prozesse sind, mit einer hohen Geschwindigkeit bei einer
geringeren Anzahl von Speicherworten verarbeitet werden.
Fig. 13 zeigt eine Ausführungsform, durch die die Ausnutzung
des Mikroprogrammspeichers in dem Mikroprogrammsteuersystem erhöht wird. Nach Fig. 13 umfaßt der Mikroprogrammspeicher
15 einen Langwortmikroprogrammspeicher 131, einen Kurzwortmikroprogrammspeicher 132, eine Bitmustererzeugungsschaltung
133 und eine Mikroanweisungswählschaltung 134. Das Adressensignal 6b des Mikroprogramms wird
dem Langwort- und Kurzwortmikroprogrammspeicher 131 und 132 zugeführt, und es wird ein der Adresse entsprechendes
Mikroanweisungswort ausgelesen. Das Ausgangssignal des Langwortmikroprogrammspeichers 131 wird der Mikroanweisungswählschaltung
134 direkt zugeführt. Ein Teil des Ausgangssignals des Kurzwortmikroprogrammspeichers 131
wird der Bitmustererzeugungsschaltung 133 zugeführt, und ein darin erzeugtes Bitmuster wird der Mikroanweisungswählschaltung
134 zusammen mit dem Restteil 135 zugeführt. Die Mikroanweisungswählschaltung 134 wählt das lange Wort oder
das kurze Wort. Die Wahl wird mittels eines Teils der ausgelesenen Mikroanweisung oder mittels eines Teils der
Adresseninformation durchgeführt, oder mittels einer verdrahteten ODER-Schaltung ohne spezielle Wählsignale. Nach
130066/0806
Fig. 13 wird die Auswahl mittels eines Signals 163a von einem der beiden Bits hoher Ordnung ausgeführt.
Bei dieser Anordnung wird die aus dem Speieher 132 ausgelesene
Kurzwortmikroanweisung in eine Langwortmikroanweisung übersetzt und als eine Mikroanweisung decodiert.
Die Fig. 14 zeigt drei Arten (I~III) von Kurzwortmikro-.
anweisungen, die eine hohe Gebrauchshäufigkeit haben. Die Wortlänge beträgt 8 bit und S7 sowie S6 repräsentieren
ein zwei-Bit-Kontrollfeld, und S5 SO repräsentieren ein
"sechs—Bit-Abzweigung-zu"-Adressenfeld (ADF). Das Kontrollfeld
S7, S6 zeigt die Mikroanweisung I an, wenn es (01) ist, die Mikroanweisung II, wenn es (10) ist und die Mikroanweisung
III, wenn es (11) ist. Im Kontrollfeld wird (00) nicht verwendet. In der dargestellten Ausführungsform wird nur dann, wenn das Kontrollfeld S7, S6 der ausgelesenen
Kurzwortmikroanweisung nicht (00) ist, die Kurzwortmikroanweisung gewählt, und .wenn es (00) ist, wird die Lang-"
wortmikroanweisung gewählt. In Fig. 13 ist das Wählsignal
mit 163a bezeichnet.
Wie in Fig. 15 dargestellt, hat die Langwortmikroanweisung eine Länge von 16 bit, wobei LiS^Lö ein 1o-Bit-Kontrollfeld
und L5~L0 ein"6-Bit-Abzweigung-zu'LAdressenfeld
ist. Die Fig. 15 veranschaulicht die Beschreibung der Langwortmikroanweisungen der drei Arten von Mikroanweisungen.
Obwohl es bei den Langwortmikroanweisungen viele andere Muster gibt, als es diese drei Arten sind,
werden solche Mikroanweisungen weniger häufig benutzt als die Mikroanweisungen I'-'III, und sie werden in dem Langwortmikroprogrammspeicher
131 gespeichert.
Nach Fig. 13 werden die Mikroanweisungen I'-'III, die eine
hohe Benutzungsfrequenz haben, mit dem in Fig. 14 gezeig-
130066/0806
ten Aufbau in dem Kurzwortmikroprogrammspeicher 132 gespeichert;
und wenn die Kurzwortmikroprogrammanweisung ausgelesen wird, dann wird sie mittels der Bitmustererzeugungsschaltung
133 in ein in Fig. 15 gezeigtes Langwortmikroanweisungsmuster umgewandelt.
Die Fig. 16 zeigt eine Ausführungsform der Bitmustererzeugungsschaltung
zum Umwandeln der in Fig. 14 gezeigten Kurzwortmikroanweisung in die in Fig. 15 gezeigte Langwortmikroanweisung.
Die Bits SS*^ SO der Kurzwortmikroanweisung
entsprechen direkt den Bits L5 •~>
LO des" Abzweigung-zu-Adressenfelds. "0"· Signale werden zu L15 und L9
zugeführt/ und "1" Signale werden zuL12, L1o und L6 zugeführt. Die Bits L14, L11 und L8 sind "0" für die Mikro-■
anweisung I und "1" für die Mikroanweisungen II und III. Demgemäß wird das S7 Ausgangssignal der Kurzwortmikroanweisung
direkt zugeführt. Das Bit L 7 ist "1" für die Mikroanweisung I und "0" für die Mikroanweisungen II und
III. Demgemäß wird das Bit S7 direkt durch einen Inverter
161 zugeführt. Da das Bit L13 für die Mikroanweisung
III nur "1" ist, werden die Ausgangssignale S6 und S7 über ein UND-Tor 162 zμgeführt. Das auf diese Weise bei
Ιι15"-ΊιΟ erzeugte 16 Bit Signal" wird der Mikroanweisungswählschaltung
134 als das Kurzwortmikroanweisungsausgangssignal zugeführt. Andererseits werden die Bits S6
und S7 durch ein ODER-Tor 163 als ein Mikroanweisungswählsignal zugeführt. Die Mikroanweisungswählschaltung 134
wählt das kurze Wort, wenn das Wählsignal "1" ist, und • das lange Wort, wenn das Wählsignal "0" ist. Wegen der·
kurzen Länge des Worts hat der Kurzwortmikroprogrammspeicher 132 eine kürzere Auslesezeit als der Langwortmikroprogrammspeicher
131. Demgemäß beeinträchtigt die Hinzufügung
einiger weniger Torschaltungen, wie sie in Fig. gezeigt ist, nicht den Hochgeschwindigkeitsbetrieb des Mikroprogrammsteuersystems.
In dem vorliegenden System geht,
130066/0806
da nur die spezifizierten Mikroanweisungen von kurzer
Wortlänge sind und die Langwortmikroanweisungen auch genauso gut verwendet werden, die Universalität der Mikroanweisungen
nicht durch Verkürzung der Wortlänge verloren.
Wie oben beschrieben wurde, können gemäß der dargestellten
Ausführungsform die Mikroanweisungen, die eine hohe Benutzungsfrequenz haben, durch die Hinzufügung einiger
weniger Schaltungskomponenten in Kurzwortlänge gespeichert werden, so daß die Ausnutzung des Speichers vergrößert
wird, ohne daß es zu einem Verlust der hohen Geschwindigkeit und der Universalität kommt.
Wie vorstehend beschrieben, wird mit der vorliegenden Erfindung ein Mikroprogrammsteuersystem mit einer hohen
Speicherausnutzung bzw. -leistungsfähigkeit zur Verfügung gestellt.
Es sei nun eine Ausführungsform erläutert, durch die die * Zuverlässigkeit des Mikroprogrammsteuersystems vergrößert
wird. In Fig.17 ist mit 171 ein Mikroprogrammanfangsadressengenerator
bezeichnet, 3o1 ist ein Frequenzteiler, und 3o2 ist eine Phasenfehlerdetektionsschaltung. Zum
Feststellen eines Fehlers wird ein zur Mikroanweisung hin-'
zugefügtes Phaseninformationsbit P benutzt.
Der Frequenzteiler 3o1 erzeugt einen Bezugstakt 4b, der eine-Periode hat, die ein Vielfaches derjenigen des Mikroanweisungsausführungstakts
4a ist. Der Bezugstakt 4b wird. 3d auf den einen Eingang der Phasenfehlerdetektionsschaltung
3o2 gegeben.
Ein Phaseninformationssignal 4c, das weiter unten beschrieben wird, wird auf den anderen Eingang der Phasenfehlerdetektionsschaltung
3o2 gegeben. Jede Mikroanweisung
130068/0806
wird vorherbestimmungsgeraäß bei einer vorbestimmten Phase
des Bezugstakts 4b ausgeführt, und das Phasenbit P der Mikroanweisung beinhaltet die Phaseninformation, welche diese
vorbestimmte Phase angibt. Die Phaseninformation des Phasenbits P ist mit 4c bezeichnet.
Die Phasenfehlerdetektionsschaltung 3o2 überwacht das Zusammenfallen
der Phaseninformation 4c des Phasenbits P der Mikroanweisung mit der Phase des Bezugstakts 4b, und im
Falle eines Nichtzusammenfaliens erzeugt sie ein Fehlersignal 4d.
Das Fehlersignal 4d wird dem Mikroprogrammanfangsadressengenerator
171 zugeführt, der eine vorlaufende Adresse einer Folgefehlerverarbeitungsmikroroutine erzeugt.
Die Fig. 18 zeigt jeweils eine spezifische Anordnung bzw. Ausbildung des Frequenzteilers 3o1 und der Phasenfehlerdetektions
schaltung 3o2, die in Fig. 17 gezeigt sind. Die Frequenzteilerschaltung 3o1 umfaßt oder ist ein Flip-Flop
vom T-Typ, das den Mikroanweisungsausführungstakt 4a durch den Faktor 2 teilt, um den Bezugstakt 4b zu erzeugen. Wie
oben beschrieben, wird das Phasenbit P zur Mikroanweisung hinzugefügt, um anzuzeigen, ob diese beim Bezugstakt "1"
oder "0" ausgeführt wird. Die Phasenfehlerdetektionsschaltung 3o2 umfaßt oder ist ein Exklusiv-ODER-Tor, dem die
Bezugsphase 4b und die Phaseninformation 4c der Mikroanweisung zugeführt wird und das das Fehlersignal 4d erzeugt.
Die Fig. 19 zeigt eine Zeitablaufdarstellung für die Signale
der Fig. 18. Sie zeigt die Wellenformen des Mikroanweisungsausführungstakts
4a, des Bezugstakts 4b, der Mikroanweisungsphaseninformation 4c und des Fehlersignals
4d. In den Mikrozyklen (n-3)~.(n-1) ist das Fehlersignal 4d gleich "0", da der Bezugstakt 4b in Phase mit der Mikroanweisungsphaseninformation
4c ist, aber im Mikrozyklus
130066/0806
η ist das Fehlersignal 4d gleich "1", da das Bezugssignal 4b den Wert "O" hat, während die Mikroanweisungsphaseninformation
4c gleich "1" ist, wodurch ein Fehler in der Mikroprogrammsteuerfolge angezeigt wird.
Gemäß der auf diese Weise aufgebauten Ausführungsform der
vorliegenden Erfindung kann ein Fehler in der Mikroprogrammsteuerfolge,
der durch einen Fehler in der Adresseninformation oder einen Fehler beim Decodieren der Adresse
des Mikroprogrammspeichers 174 verursacht worden ist, festgestellt
werden. In der Ausführungsform, in der der Bezugstakt
eine Periode hat, die die Hälfte der Länge der Periode des Mikroanweisungsausführungstakts beträgt, können ungefähr
die Hälfte von Fehlern in der Mikroprogrammsteuerfolge als die Phasenfehler festgestellt werden. Darüber hinaus
kann, da der in der Mikroprogrammsteuerfolge festgestellte Fehler mittels des Mikroprogramms verarbeitet werden
kann, ein abnormaler Prozeß, wie beispielsweise ein Wiederbeginnprozeß oder ein Unterbrechungsprozeß, leicht
ausgeführt werden.
Die Fig. 2o zeigt Anordnungen bzw. Ausbildungen des Frequenzteilers
3o1 und der Phasenfehlerdetektionsschaltung 3o2 in einer anderen Ausführungsform der Anordnung nach
Fig. 17. Der Frequenzteiler 3o1 umfaßt zwei Stufen von Flip-Flops vom T-Typ, denen der Mikroanweisungsausführungstakt
4a zugeführt wird und die einen eins-zu-zwei-frequenzgeteilten
Takt 4b-1 und einen eins-zu-vier-frequenzgeteilten
Takt 4b-2 erzeugen. Zwei Phasenbits werden zu der Mikroanweisung hinzugefügt, und Phasen "00", "01", "10" und
"11" werden in der Folge der Ausführung der Mikroanweisungen
gespeichert. Die Phasenbits 4c-1 und 4c-2- der'ausgelesenen
Mikroanweisung entsprechen 4b-1 bzw. 4b-2 des Bezugstakts, und sie sind in einer normalen Operationsfolge in
Phase. Die Phasenfehlerdetektionsschaltung 3o2 stellt eine
1300 6 6/0806
Antikoinzidenz bzw. ein Nichtzusammenfallen des Phasenbits
und des Bezugstakts fest, und sie umfaßt zwei Exklusiv-ODER-,
Tore und ein ODER-Tor. Wenn 4b-1 und 4c-1 nicht in Phase sind, oder wenn 4b-2 und 4c-2 nicht in Phase sind, dann
nimmt das Fehlersignal 4d den Wert "1" an.
Die Fig. 21 zeigt eine Zeitablaufdarstellung für die in
Fig. 2o gezeigten Signale. Sie veranschaulicht Wellenformen des Mikroanweisungsausführungstakts 4a, der Bezugstakte
4b-1 und 4b-2, der Mikroanweisungsphasenbits 4c-1 und 4c-2 sowie des Fehlersignals 4d. In den Mikrozyklen (n-6)
'«(n-D ist das Fehlersignal 4d gleich "0", weil die Bezugstakte
4b-1 und 4b-2 sowie die Mikroanweisungsphasenbits 4c-1 und 4c-2 jeweils in Phase sind, jedoch ist das
Fehlersignal 4d im Mikrozyklus η gleich "1", weil die Bezugstakte 4b-1 und 4b-2 jeweils "1" und "1" betragen, während die Mikroanweisungsphasenbits 4c-1 und 4c-2 jeweils
"0" und "1" sind. Das zeigt, daß in dem Mikrozyklus η ein Fehler in der Mikroprogrammsteuerfolge enthalten war.
2o
In der vorliegenden Ausfuhrungsform, in der zwei Phasenbits
zur Mikroanweisung hinzugefügt werden und in der der Takt, welcher eine Periode hat, die das Vierfache der Periode
des Mikroanweisungsausführungstakts beträgt, als Bezugstakt benutzt wird, können ungefähr 75 % der Fehler in der
Mikroprogrammsteuerfolge als die Phasenfehler festgestellt werden.
130066/0806
e^ r ©
Claims (1)
- ' . PATENTANWÄLTE" ".. ' .;.SCHIFF ν. FÜNER STREHL SCHÜBEL-HOPF EBBINGHAUS FINCKMARIAHILFPLATZ 2 Λ 3, MÖNCHEN 9O POSTADRESSE: POSTFACH 95 01 6O1 D-SOOO MÜNCHEN 98ALSO PROPB3SIONAL REPRESENTATIVES QCFORS THK EUROPEAN PATeNT OPPICO• KARL LUOWIQ SOHIFP (1034-1078)DIPL. CHBM. DR. ALCXANDSR V. FONERDIPL. ING. PtETBR STREHLDIPL. CHEM. DR. URSULA ^qHOsSL- HOPFDIPL. IN«. DIKTISR (BBINQHAUSDR. INQ. DIBTBR FINCKTELEFON (OOO) 4βαθ 04tblex 6-33 868 auro oauromarcpat MünchenHITACHI, LTD. DEA-14919 SP/BR1, Juni 1981Mikroprogrammsteuerverfahren und -einrichtung zu dessen DurchführungPatentansprücheMikroprogrammsteuerverfahren in einem System, in dem eine Mikroanweisung von einer entsprechenden Adresse eines Mikroprogrammspeichers entsprechend einer von einem Hauptspeicher ausgelesenen oder extern sugeführten Anweisung ausgelesen und sum Erzeugen eines Betriebs- bzw. Operationssteuersignals zum Steuern einerto Datenverarbeitungs- bzw= Verarbeitungseinheit decodiert wird, dadurch gekennzeichn e t , daß das Verfahren die folgenden Verfahrensschritt umfaßt;
Festlegen einer Adresse in dem Mikroprogrammspeicher .(15) aufgrund eines Signals von einem Anweisungsregister (11), das die ausgelesene oder extern zugeführte Anweisung speichert, und eines Seitenbezeichnnngs-·130088/0808■ signals in dem Mikroprograinmspeicher bzw. eines eine Seite in dem Mikroprogrammspeicher (15) festlegenden Seitenbezeichnungssignals;Decodieren der festgelegten Adresse in einem De'cödierbereich in dem Mikroprograinmspeicher (15); Wählen eines Worts aus dem Mikroprograinmspeicher (15) aufgrund des decodierten Signals; und Zuführen des gewählten Worts als das Steuersignal zu der Datenverarbeitungs- bzw. Verarbeitungseinheit.2. Mikroprogrammsteuerverfahren, insbesondere nach Anspruch 1, für einen Mikroprogrammspeicher/ der Mikroanweisungen enthält, "dadurch gekennzeichnet , daß es die folgenden Verfahrensschritte umfaßt:Speichern der Mikroanweisungen in einer Langwortmikroanweisungsgruppe und einer Kurzwortmikroanweisungs-. gruppe; und Umwandeln einer aus der Kurzwortmikroanweisungsgruppe ausgelesenen Kurzwortmikroanweisung in eine Langwortmikroanweisung mittels einer Logik (133) gemäß einem Feld der Kurzwortmikroanweisung und einem vorbestimmten Bitsighal', so daß ein Ausgangssignal des Mikroprogrammspeichers (15) erzeugt wird.3. Mikroprogrammsteuerverfahren nach Anspruch 2, dadurch gekennzeichnet, daß das Kurzwortmikroanweisungsausgangssignal oder das Langwortmikroanweisungsausgangssignal mittels eines Logiksignals von einem vorbestimmten Bitsignal von der Kurzwortmikro-3q . anweisung ausgewählt wird.' 4. Mikroprogrammsteuerverfahren, insbesondere nach einem der Ansprüche 1 bis 3, in einem System, in dem Mikroanweisungen, die in einem Mikroprograinmspeicher gespeichert sind, synchron mit einem Mikroanweisungsaus-13006 6/0806führungstakt zur Kontrolle des Systems aufeinanderfolgend ausgelesen werden, gekennzeichnet durch die folgenden Verfahrensschritte: Zuordnen eines Phasensignals eines' Bezugstakt's·,1 'der eine Periode hat, die ein Mehrfaches einer bzw. der Periode des Mikroanweisungsausführungstakts ist, zu einem bestimmten Bit der Mikröanweisung; überprüfen beim Auslesen der Mikröanweisung, ob das . der Phaseninformation zugeordnete Bitsignal in einer vorbestimmten logischen Beziehung zu dem Bezugstaktsignal steht; undBestimmen eines Fehlers, wenn die vorbestimmte logische Beziehung nicht erfüllt ist, und Ausführen einer Fehlerverarbeitung. ;■ .5. Mikroprogrammsteuereinrichtung, insbesondere zur Durchführung des Mikroprogrammsteuerverfahrens nach einem der Ansprüche 1 bis 4, in einem System, in dem eine ' Mikröanweisung von einer entsprechenden Adresse eines Mikroprogrammspeichers entsprechend einer von einem Hauptspeicher ausgelesenen oder extern zugeführten Anweisung ausgelesen und zum Erzeugen eines Betriebs- bzw Operationssteuersignals zum Steuern einer Datenverarbeitungs- bzw. Verarbeitungseinheit decodiert wird, dadurch gekennzeichnet, daß die Einrichtung folgendes umfaßt!einen Mikroprogrammspeicher (15), der in Seiten unterteilt ist; .
ein erstes Register (61)' zum Festlegen einer Seite des Mikroprogrammspeichers (15), wobei dieses erste Register (61) mittels eines Mikroprogramms steuerbar ist? und - ■ein zweites Register (14) zum Festlegen einer Adresse auf der Seite, wobei'dieses zweite Register (14) einen Inhalt eines Anweisungsregisters (11) , in dem die von30086/08 0dem Hauptspeicher ausgelesene oder die extern zugeführte Anweisung gespeichert ist, direkt auslesen kann; und wobei ferner ein Zugriff zu dem Mikroprogrammspeicher (IS) mittels des Inhalts des ersten Registers (61) und des zweiten Registers (14) erfolgt/ so daß ein entsprechendes Mikroanweisungswort ausgelesen wird.6. Mikroprogrammsteuereinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß das erste1ο Register (61) ein Mehrbitregister ist.7. Mikroprogrammsteuereinrichtung nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß der Mikroprogrammspeicher (15) eine UND-Matrix (91) zum Decodieren eines Eingangsadressensignals und eine ODER-Matrix (92) zum Speichern der Mikroanweisungen umfaßt.8.' Mikroprogrammsteuereinrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die UND-Matrix (91) eine oder mehrere Schaltereinrichtungen nur an Bitpositionen aufweist, an denen eine Decodierung erforderlich ist.9. Mikroprogrammsteuereinrichtung nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, daß das erste Register (61) so betreibbar ist/ daß es einen Teil der aus dem Mikroprogrammspeicher (15) ausgelesenen Mikroanweisung zum Fortschreiben bzw. Aktualisieren der Seitenfestlegung erhält.1o. Mikroprogrammsteuereinrichtung nach einem der Ansprüche 5 bis 9, dadurch gekennzeichnet, daß sie weiter ein drittes Register (111) zur Ergänzung des ersten Registers (61) aufweist, wobei ein Teil der aus dem Mikroprogrammspeicher (15) ausgelesenen Mikro-130066/0806anweisung in das dritte Register (111) eingegeben wird, und wobei ferner der Inhalt des dritten Registers (111) in das erste Register (61) eingegeben wird..11. Mikroprogrammsteuereinrichtung nach einem der Ansprüche 5 bis. 1o, dadurch gekennzeichnet., daß eine Mehrzahl der Anweisungsregister (11, 112) vorgesehen ist, und daß ein Inhalt von einem aus der Mehrzahl der Anweisungsregister (11, 112) in das zweite Refo gister (14) eingegeben wird.12. Mikroprogrammsteuereinrichtungj. insbesondere nach einem der Ansprüche 5 bis 11,. in einem Mikroanweisungen enthaltenden Mikroprogrammspeicher/ gekennzeich-■]5 net durch:eine erste Speichereinrichtung (131) zum Speichern von . Langwortmikroanweisungen;eine zweite Speichereinrichtung (132) zum Speichern von Kurzwortmikroanweisungen;2ö eine Langwortbitmustererseugungseinriehtung (133), die
' ein Feld der bzw«, einer Kurzwortmikroanweisung erhält?
und .eine Mikroanweisungswähleinrichtung (134) zum Auswählen von entweder der Langwortmikroanweisung oder des Aus-gangssignals der Langwortbitmustererzeugungseinrichtung (133), wobei die Langwortbitmustererzeugungseinrichtung (133) die Kurzwortmikroaiweisung in die Langwortmikroanweisung(en) umwandelt ο '13. Mikroprogrammsteuereinrichtung nach Anspruch 12, d a -. durch gek. ennzeiehnetj, daß die Langwortbitmustererzeugungseinrichtung (133) eine Logikschaltung für die Kurzwortmikroanweisung, einen. Teil
von Bitsignalen der Kurzwortmikroanweisungen und Bitsignale, die durch die Art der Mikroanweisung bestimmt sind, aufweist.14. Mikroprogrammsteuereinrichtung nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß sie weiter eine logische ODER-Schaltung (163) zum Empfang vorbestiinmter mehrerer Bits bzw. Mehrfachb'i'ts der Kurzwortmikroanweisung umfaßt, wobei ein vorbestiinmter Zustand des Ausgangssignals der logischen ODER-Schaltung (163) zur .Steuerung der Mikroanweisungswähleinrichtung (134) verwendet wird.■\o 15. Mikroprogrammsteuereinrichtung, insbesondere nach einem der Ansprüche 5 bis 14, in der Mikroanweisungen, die in einem Mikroprogrammspeicher gespeichert sind, zur Kontrolle der Einrichtung synchron mit einem Mikroanweisungsausführungstakt ausgelesen werden, g e k e η η zeichnet durch:eine Bezugstakterzeugüngseinrichtung (3o1) zum Erzeugen eines Bezugstakts, der eine Periode hat, die ein Vielfaches einer bzw. der Periode des Mikroanweisungsausr führungstakts ist; undeine Vergleichseinrichtung (3o2) zum Vergleichen eines Phaseninformationsbitsignals der Mikroanweisung mit dem Bezugstaktsignal zur Feststellung eines Fehlers in der Auslesung bzw. beim Auslesen der Mikroanweisung.16. Mikroprogrammsteuereinrichtung nach Anspruch 15, dadurch gekennzeichnet, daß die Bezugstakterzeugungseinrichtung (3o1) einen Frequenzteiler zur Frequenzteilung des Mikroanweisungsausführungstakts umfaßt oder ein solcher Frequenzteiler ist.17. Mikroprogrammsteuereinrichtung nach Anspruch 16, dadurch gekennzeichnet, daß der Frequenzteiler ein Flip-Flop (311) vom T-Typ aufweist oder ist.130066/080618. Mikroprogrammsteuereinrichtung nach einem der Ansprüche 15 bis 17, dadurch gekennzeichnet, daß die Vergleichseinrichtung (3o2) ein Exklusiv-ODER-Tor (312) umfaßt, welches das Phasenirif'ormationsbitsignal der Mikroanweisung erhält, und ein Ausgangssignal von einem Flip-Flop (311) vom T-Typ, welches ein Mikrozyklustaktsignal erhält.130068/0806
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7271580A JPS57753A (en) | 1980-06-02 | 1980-06-02 | Microprogram controller |
JP55170942A JPS5794855A (en) | 1980-12-05 | 1980-12-05 | Method and device for fault detection of microprogram control sequence |
JP3959381A JPS57155643A (en) | 1981-03-20 | 1981-03-20 | Microprogram controller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3121742A1 true DE3121742A1 (de) | 1982-02-11 |
DE3121742C2 DE3121742C2 (de) | 1987-04-23 |
Family
ID=27290188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813121742 Granted DE3121742A1 (de) | 1980-06-02 | 1981-06-01 | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung |
Country Status (3)
Country | Link |
---|---|
US (1) | US4446517A (de) |
DE (1) | DE3121742A1 (de) |
GB (1) | GB2077010B (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8205076A (nl) * | 1982-12-31 | 1984-07-16 | Philips Nv | Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld. |
US4819164A (en) * | 1983-12-12 | 1989-04-04 | Texas Instruments Incorporated | Variable frequency microprocessor clock generator |
JPS6224326A (ja) * | 1985-07-24 | 1987-02-02 | Hitachi Ltd | デ−タ処理装置 |
JPS62164133A (ja) * | 1986-01-16 | 1987-07-20 | Toshiba Corp | マイクロプログラム制御装置 |
US4807124A (en) * | 1986-09-26 | 1989-02-21 | Performance Semiconductor Corporation | Register addressing system for efficient microroutine sharing and optimization |
JP2635057B2 (ja) * | 1987-11-04 | 1997-07-30 | 株式会社日立製作所 | マイクロプロセッサ |
US4888727A (en) * | 1989-01-10 | 1989-12-19 | Bull Hn Information Systems Inc. | Peripheral controller with paged data buffer management |
US5651122A (en) * | 1991-05-13 | 1997-07-22 | Motorola, Inc. | Pipelined data processor that detects an illegal instruction by detecting legal instruction operation codes |
US5752066A (en) * | 1992-01-06 | 1998-05-12 | International Business Machines Corporation | Data processing system utilizing progammable microprogram memory controller |
US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
EP1442359A4 (de) * | 2001-10-01 | 2007-12-26 | Benjamin Cooper | Vielzweck-prozessoreinheit/-computersystem mit bitslice-rückmeldung und festem anweisungssatz (fis) |
JP3779602B2 (ja) | 2001-11-28 | 2006-05-31 | 松下電器産業株式会社 | Simd演算方法およびsimd演算装置 |
US20050165837A1 (en) * | 2004-01-22 | 2005-07-28 | International Business Machines Corporation | System and method for embedded java memory footprint performance improvement |
US20050183077A1 (en) * | 2004-02-12 | 2005-08-18 | International Business Machines Corporation | System and method for JIT memory footprint improvement for embedded java devices |
US7693167B2 (en) * | 2007-05-22 | 2010-04-06 | Rockwell Collins, Inc. | Mobile nodal based communication system, method and apparatus |
US20090228686A1 (en) * | 2007-05-22 | 2009-09-10 | Koenck Steven E | Energy efficient processing device |
US20090228693A1 (en) * | 2007-05-22 | 2009-09-10 | Koenck Steven E | System and method for large microcoded programs |
US7843554B2 (en) * | 2008-04-25 | 2010-11-30 | Rockwell Collins, Inc. | High dynamic range sensor system and method |
JP7316613B2 (ja) * | 2020-03-27 | 2023-07-28 | パナソニックIpマネジメント株式会社 | 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707703A (en) * | 1969-11-19 | 1972-12-26 | Hitachi Ltd | Microprogram-controlled data processing system capable of checking internal condition thereof |
DE2355993B2 (de) * | 1972-12-14 | 1978-02-09 | General Electric Co., Schenectady, N.Y. (V.StA.) | Programmierbare datenverarbeitungsanlage |
DE2846537A1 (de) * | 1978-10-26 | 1980-05-08 | Standard Elektrik Lorenz Ag | Mikroprozessorsystem |
DE2951040A1 (de) * | 1979-01-16 | 1980-07-24 | Digital Equipment Corp | Steuerspeicher in einem steuerabschnitt eines rechners |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5410219B2 (de) * | 1973-12-07 | 1979-05-02 | ||
US3949370A (en) * | 1974-06-06 | 1976-04-06 | National Semiconductor Corporation | Programmable logic array control section for data processing system |
US4021781A (en) * | 1974-11-19 | 1977-05-03 | Texas Instruments Incorporated | Virtual ground read-only-memory for electronic calculator or digital processor |
US3980992A (en) * | 1974-11-26 | 1976-09-14 | Burroughs Corporation | Multi-microprocessing unit on a single semiconductor chip |
US4091446A (en) * | 1975-01-24 | 1978-05-23 | Ing. C. Olivetti & C., S.P.A. | Desk top electronic computer with a removably mounted ROM |
US4099230A (en) * | 1975-08-04 | 1978-07-04 | California Institute Of Technology | High level control processor |
US4323964A (en) * | 1976-11-01 | 1982-04-06 | Data General Corporation | CPU Employing micro programmable control for use in a data processing system |
US4224668A (en) * | 1979-01-03 | 1980-09-23 | Honeywell Information Systems Inc. | Control store address generation logic for a data processing system |
-
1981
- 1981-05-29 GB GB8116575A patent/GB2077010B/en not_active Expired
- 1981-06-01 DE DE19813121742 patent/DE3121742A1/de active Granted
- 1981-06-02 US US06/269,608 patent/US4446517A/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707703A (en) * | 1969-11-19 | 1972-12-26 | Hitachi Ltd | Microprogram-controlled data processing system capable of checking internal condition thereof |
DE2355993B2 (de) * | 1972-12-14 | 1978-02-09 | General Electric Co., Schenectady, N.Y. (V.StA.) | Programmierbare datenverarbeitungsanlage |
DE2846537A1 (de) * | 1978-10-26 | 1980-05-08 | Standard Elektrik Lorenz Ag | Mikroprozessorsystem |
DE2951040A1 (de) * | 1979-01-16 | 1980-07-24 | Digital Equipment Corp | Steuerspeicher in einem steuerabschnitt eines rechners |
Non-Patent Citations (2)
Title |
---|
DE-Buch: Klar, Wichmann Mikroprogrammierung Vorlesungsskripten Band 8, Nr. 3, Erlangen, Juni 1975, S. 49 - 51 * |
US-Firmenschrift: IBM Technical Disclosure Bulletin, Vol. 21, Nr. 11, April 1979, S. 4553-4554 * |
Also Published As
Publication number | Publication date |
---|---|
GB2077010A (en) | 1981-12-09 |
GB2077010B (en) | 1984-10-31 |
DE3121742C2 (de) | 1987-04-23 |
US4446517A (en) | 1984-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3121742A1 (de) | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2117936C3 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
EP0764899B1 (de) | Verfahren zum Konvertieren sich unterscheidender Datenformate | |
DE2542740C2 (de) | Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung | |
DE2756890C2 (de) | Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2928488A1 (de) | Speicher-subsystem | |
DE3424962A1 (de) | Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben | |
DE2536622C2 (de) | Verzweigungssteuerung mit flexibler Auswahl von Steuerworten | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2725396C3 (de) | ||
DE2421130C2 (de) | ||
DE3400723A1 (de) | Vektorprozessor | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE2739525C2 (de) | Rechner | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: VON FUENER, A., DIPL.-CHEM. DR.RER.NAT. EBBINGHAUS |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |