DE2458096C2 - Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage - Google Patents
Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren DatenverarbeitungsanlageInfo
- Publication number
- DE2458096C2 DE2458096C2 DE2458096A DE2458096A DE2458096C2 DE 2458096 C2 DE2458096 C2 DE 2458096C2 DE 2458096 A DE2458096 A DE 2458096A DE 2458096 A DE2458096 A DE 2458096A DE 2458096 C2 DE2458096 C2 DE 2458096C2
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- memory
- micro
- processor
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/24—Loading of the microprogram
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
Die Erfindung bezieht sich auf eine Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren
Datenverarbeitungsanlage, deren Prozessor über eine Informationssammelleitung mit einem gemeinsamen
Speicher für Makro- und Mikrobefehle, einen Steuersignale zur Ausführung von Mikrobefehlen
enthaltenden Speicher und über eine Schnittstelleneinheit mit mindestens einem Peripheriegerät verbunden
ist und eine arithmetische Logikeinheit sowie eine Steuereinheit enthält, die eine mit dem gemeinsamen
Speicher verbundene Mikroprogramm-Steuereinheit 7ur Abgabe von Mikrobefehlsadressen und zum Auslesen
von Mikrobefehlen aus dem gemeinsamen Speicher und eine ebenfalls mit dem gemeinsamen Speicher verbundene
Speicher-Steuereinheit zur Abgabe von Datenadressen und zum Einschreiben und Auslesen von
Datenworten in bzw. aus dem gemeinsamen Speicher aufweist.
Eine Einrichtung der genannten Art ist aus der GB-PS 18 231 bekannt, die einen Prozessor mit einem Leit-
und Rechenwerk enthält, wobei das Rechenwerk eine Verknüpfungseinheit und mehrere Register zum Datentransfer
und das Leitwerk eine Steuereinrichtung aufweist, die einen Mikrobcfehlsspcieher enthüll, der unler
einer Vielzahl von Adressen ansteuerbar ist und abhängig von der jeweiligen Adresse verschiedene Mikrobefehlstypen
bzw. unterschiedliche Mikrobefehle abgibt.
Mit dem Mikrobefehlsspeicher ist ein Mikrobefehlsdekoder zur Dekodierung des Mikrobefehlstyps und wahlweise
zur Ansteuerung einer Adresse eines Stcucrspeichers verbunden, wobei der Sieuerspeicher die unter
J-i.i
der Adresse gespeicherten Steuersignale unmittelbar an
das Rechenwerk des Prozessors und an die Register abgibt Die bekannte Datenverarbeitungseinrichtung
verwendet somit drei Befehlsebenen, nämlich Makrobzw. Maschinenbefehle, Mikro- und Nano- oder Steuerbefehle.
Dabei erzeugt die durch die Makro- oder Maschinenbefehle angesteuerte Mikroprogrammebene
Adressen- und Steuerinformationen für die Nano- oder Steuerbefehlsebene. Die Ansteuerung der Datenpfadschalti'ngen
und Verknüpfungsschaltungen erfolgt dabei unmittelbar in der Steuerebene.
Bei der bekannten Datonverarbeitungseinrichtung ist es erforderlich, unterschiedliche Mikrobefehlstypen
bzw. Mikrobefehlsarten in einen) Mikrobefehisspeicher sowie die zur Steuerung der Datenpfadschaltungen erforderlichen,
von den einzelnen Mikrobefehlstypen aufgerufenen Steuerbefehle zu speichern. Der Haupt-, Mikrobefehls-
und Nanobefehlsspeicher, der auch als gemeinsamer Speicher ausgebildet sein kann, muß daher
in der Lage sein, einen bestimmten, zur Dur:hführung verschiedener Operationen notwendigen Befehlsvorrat
zu speichern. Darüber hinaus ist die bekannte Datenverarbeitungsanlage nur für bestimmte Benutzerprogramme
geeignet, so daß eine Änderung des Benutzerprogramms eine umständliche Anpassung des Befehlsvorrates
der Mikrobefehls- und Nanobefehlsebene des Speichers erforderlich macht
Aus der DE-OS 17 74 296 ist eine Steuereinheit für einen elektronischen Digitalrechner bekannt, bei dem
zur Modifizierung des Programmablaufes ein Lese/ Schreibspeicher als Steuerspeicher vorgesehen ist, der
zusätzliche vorcodierte Mikrobefehle von einem Hauptspeicher, einem Register oder einem an die Steuereinheit
angeschlossenen externen Programmspeicher empfängt Zusätzlich ist eine Auswahlsteuerung vorgesehen,
die eine Auswahl aus einer oder mehreren Instruktionsquellen und der zu steuernden peripheren Geräte
sowie euiem oder mehreren Steuerspeichern trifft und die aus einem Steuerspeicher-Ein/Ausgabekanal,
einem Adressengenerator, einer Steuerspeicher-Auswahlschaltung und einem Steuerspeicher-Register besteht.
Damit besteht bei der bekannten Vorrichtung die Möglichkeit, für die Ausführung bestimmter Makrobefehle
eines Senutzerprogramms notwendige Mikrobefehle in einem externen Steuerprogramm aufzuzeichnen
und in die Steuereinheit zu laden, wo sie zur Aissführung der betreffenden Makrobefehle herangezogen
werden. Somit kann sich der Digitalrechner während der Ausführung des Benutzerprogramms selbst restrukturieren,
inciem der Digitalrechner Mikrobefehlsmuster erzeugt und diese Muster in die Steuereinheit für die
nachfolgende Verwendung in der Programmausführung lädt. Da bei der bekannten Steuereinheit die für die
Ausführung individueller Makroinstruktionen eines Rechnerprogramms notwendigen Mikrobefehle vollständig
aufgezeichnet und in die Steuereinheit geladen werden, um dort für die Ausführung der momentanen
Makroinstruktionen herangezogen zu werden, ist es ebenfalls erforderlich, entsprechenden Speicherraum
für die unterschiedlichsten Makroinstruktionen vorzusehen. Zusätzlich müssen zur Restrukturierung des
Rechners entsprechende Programme oder logische Schaltungen vorgesehen weiden, damit der Rechner
seine eigenen Mikroinstruktionen erzeugt und die entsprechenden Mikrobefehiimuster in die Steuereinheit
für die nachfolgende Verwendung in der Programmausführung
lädt.
Aufgabe der vorliegenden Erfindung ist es, eine Einrichtung zum Laden von Mikroprogrammen zu schaffen,
bei der der Speicherbedarf in dem gemeinsamen Speicher nur so groß ist, wie es zur Durchführung von
den jeweiligen Benutzerprogrammen erforderlich ist, die ein Laden spezieller für die Ablaufsteuerung eines
Benutzerprogramms erforderlicher Mikroprogramm-Module zum Zeitpunkt des Ladens des jeweiligen Benutzerprogramms
ermöglicht, die eine automatische Auswahl der für die Durchführung des jeweiligen Benutzerprogramms
erforderlichen Mikroprogramm-Module trifft und die auf vergleichsweise einfache Art in
Abhängigkeit von den an das Mikroprogramm gestellten Aufgaben und Anforderungen veränderbar ist
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß die Ladeeinrichtung in die Informationssammelleitung
zwischen dem Prozessor und dem gemeinsamen Speicher zwischengeschaltet ist und einen mit der
Steuereinheit des Prozessors verbundenen Dekodierer, einen durch den Decodierer freigebb&ren und eingangsseitig
mit der Steuereinheit und ausgangsseitig mit Befehlsgeneratoren verbundenen Befehisdekodierer und
mit dem Ausgang des Dekodierers und der Steuereinheit verbundene Torschaltungen, deren Ausgänge zum
gemeinsamen Speicher führen, enthält, wobei der Dekodierer den Informationsaustausch zwischen dem Prozessor
und dem gemeinsamen Speicher überwacht und auf ein an den Anfang jedes Benutze:programms gestelltes
und die speziellen Mikroprogramm-Module, die zur Bearbeitung eines von dem Prozessor durchzuführenden
Benutzerprogramms erforderlich sind, bezeichnendes Mikroprogrammstruktur-Codewort überwacht
und bei Erfassung eines solchen Codewortes die Torschaltungen sperrt und den das an seinem Eingang anliegende
Mikroprogrammstruktur-Codewort dekodierenden Befehisdekodierer freigibt, der mit dem dekodierten
MikroprograsTimstruktur-Codewort eine.a oder
mehrere der an seinem Ausgang angeschlossenen und mit der Steuereinheit des Prozessors verbundenen BefehLgeneratoren
freigibt, der oder die einen vorbestimmten Mikrocode zur Eingabe eines bestimmten Mikroprogramm-Moduls
in den gemeinsamer! Speicher erzeugt oder erzeugen.
Die erfindungsgemäße Lösung ermöglicht es, die zur Durchführung eines bestimmten Benutzerprogramms
erforderlichen Steuerbefehle dem betreffenden Benutzerprogramm anzupassen, so daß der Speicherbedarf in
dem gemeinsamen Speicher nur so groß ist, wie zur Durchführung des betreffenden Programms erforderlich
ist, wobei ein Laden spezieller für die Ablaufsteuerung eines Benutzerprogramms erforderlicher Mikroprogr-.rnm-Module
zum Zeitpunkt des Ladens des jeweiligen Benutzerprogramms ermöglicht wird. Darüber
hinaus trifft die erfi;idungsgemäße Einrichtung eine automatische Auswahl der für die Durchführung des jeweiligen
Benutzel programms erforderlichen Mikroprogramm-Module und ist in einfacher Weise in Abhängigkeit
von den an das Mikroprogramm gestellten Aufgaben und Anforderungen veränderbar,
Somit ermöglicht die erfindungsgemäße Lösir.Jg zum einen die Verwendung eines gemeinsamen Speichers
zum Speichern von Makro- und Mikrobefehlen, was eine wirtschaftlicher= Auslegung und Größe des Speichers
sowie eine Einsparung an Speicheradressierschaltungen zur Folge hat. jedoch Probleme bezüglich der
Speicherkapazität zur Speicherung der zahlreichen für die Ablaufsteuerung erforderlichen Mikrobefehle bereitet,
zum anderen aber nur pinen minir.ialen Speicherraum zur Ablage der jeweils erforderlichen MikroDro-
gramme benötigt, so daß der verbleibende Speicherraum zur Speicherung von Daten des Benutzerprogramms
verwendet werden kann. Aufgrund der unterschiedlichen Anzahl und Länge der erforderlichen Mikrobefehle
ist somit der verbleibende Speicherraum variabel. Ein an das Ende der geladenen Mikrobefehle
durch die Ladeeinrichtung gesetzter Zeiger bestimmt dabei den verbleibenden Speicherraum zur Eingabe von
Daten des Benutzerprogramms.
Die Festlegung der Ladezeit beinhaltet dabei ein Laden der zur Ausführung eines speziellen Benutzerprogramms
benötigten Mikrobefehle zu dem Zeitpunkt, in dem das eigentliche, vorprogrammierbar eingegebene
Benutzerprogramm geladen wird. Damit wird erreicht, daß nur die unbedingt benötigten Mikrobefehle geladen
werden, die zur Steuerung des Ablaufs des Programms benötigt werden. Die Speicherraumzuweisung in dem
gemeinsamen Speicher wird dabei mit Hilfe der Mikroprogramm-Ladeeinrichtung bewirkt, die in Abhängigkeit
von einer Leitinformation des eingegebenen Benutzerprogramms Tabellen vorgegebener Mikroprogrammstrukturen
durchsucht und die zur Durchführung des Benutzerprogramms erforderlichen Mikrobefehle
aus einem Mikroprogramm-Hilfsspeicher abruft und in den gemeinsamen Speicher variabler Länge ablegt.
Anhand eines in der Zeichnung dargestellten Ausführungsbeispiels soll der der Erfindung zugrunde liegende
Gedanke näher erlin, -ert werden. Es zeigt
F i g. 1 ein Blockschaltbild einer mikroprogrammierbaren Datenverarbeitungsanlage mit einem an einen
gemeinsamen Speicher für Makro- und Mikrobefehle und an einen Steuerbefehlsspeicher angeschlossenen
Prozessor,
Fig. 2 ein Blockschaltbild des Prozessors und seiner
Verbindung mit dem gemeinsamen Speicher,
F i g. 3 ein detailliertes Blockschaltbild des Prozessors gemäß F i g. 1 und 2,
F i g. 4 ein Blockschaltbild der mikroprogrammierbaren Datenverarbeitungsanlage gemäß F i g. 1 mit einer
in die Verbindung zum gemeinsamen Speicher geschalteten Ladeeinrichtung,
Fig.5 eine detaillierte Darstellung der Ladeeinrichtunggemäß
Fig. 4,
F i g. 6 ein Blockschaltbild des gemeinsamen Speichers gemäß Fig. 1,
F i g. 7 eine schematische Darstellung eines Mikroprogrammstruktur-Codewortes,
F i g. 8 ein Flußdiagramm des von der Ladeeinrichtung durchgeführten Ladevorganges und
F i g. 9 eine Darstellung eines Speicherabschnittes mit dem vom Benutzer überschreibbaren und auslesbaren
Teil.
Definitionen
In der nachfolgenden Beschreibung bedeutet:
In der nachfolgenden Beschreibung bedeutet:
S-Befehl ist ein Befehl, der eine Routine vorschreibt
die mit einer Gruppe von Daten durchgeführt werden soll. Ein S-Befehl ist mit einem an sich
bekannten Makrobefehl oder Befehl in Maschinensprache vergleichbar.
M-Befehi ist ein Befehi, der eine Operation vorschreibt,
die in einem Prozessor ausgeführt werden soll, wobei eine oder mehrere dieser Operationen
zur Durchführung einer Routine erforderlich sind, die vom S-Befehl vorgeschrieben wird. Ein M-Befehl
ist mit einem Mikrobefehl vergleichbar.
N-Befehi ist ein Befehi, der Steuersignale beinhaltet, die in dem Prozessor verwendet werden sollen,
um die Ausführung eines M-Befehls auszulösen. Zur Durchführung eines M-Befehls können ein
oder mehrere N-Befehle erforderlich sein.
Aufbau und Funktion
der mikroprogrammierbaren
Datenverarbeitungsanlage
Die mikroprogrammierbare Datenverarbeitungsanlage verwendet die oben beschriebenen drei Befehlssysteme,
wobei eine Tabelle der N-Befehle normalerweise in einem Lesespeicher fest eingegeben ist. Die Tabelle
der M- oder Mikrobefehle kann dynamisch verändert werden, wobei diese Befehle normalerweise ebenfalls in
einem Lesespeicher gespeichert sind. Die Tabelle der S- oder Makrobefehle einschließlich der Daten wird durch
Programmiertätigkeit geladen und in dem Lesespeicher gespeichert.
Das Speichern von Makrobefehlen und Mikrobefehlen in einem gemeinsamen Speicher ist ein Konzept, das
bei der Entwicklung von Mikrobefehlsprozessoren zunehmend an Bedeutung gewinnt. Die Verwendung eines
gemeinsamen Speichers erlaubt eine wirtschaftlichere Auslegung und Größe des Speichers sowie Einsparungen
an Speicheradressierschaltungen, hat jedoch zusätzliche Speicherkapazitätsüberlegungen zur Folge.
Man hat bei der Entwicklung von Mikrobefehlsmaschinen, in welchen einzeln spezifizierte Mikrobefehlsschritte
durch eine Kette von Mikrobefehlen, die von Makrobefehlen aufgehoben wurden, ausgeführt werden, festgestellt,
daß die Mikrobefehlskapazität der Maschine beim Ablaufenlassen der Programme nicht stets voll
ausgenutzt wird. Dies trifft vor aiicm dann zu, wenn die
Maschinenstruktur die Verwendung von immer zahlreicheren Mikrobefehlsmodulen vorsieht, die die traditionellen
verdrahteten Steuerungen ersetzen sollen. Eine typische Maschine, die mit Peripheriegeräten wie Band-
■40 geräten, Plattengeräten, Drucker, Leser und Bedienungspulten
arbeiten kann weist eine erheblich größere Mikroprogrammebene auf als Maschinen früherer Generation.
Nimmt man zu dieser erheblich zugenommenen Peripherie-Mikroprogrammstruktur noch die zentrale
Mikroprogrammstruktur des zentralen Prozessors hinzu, dann wird das Gebot der Optimierung des Mikrobefehls-Speicherraums
in einem gemeinsamen Speicher zu einer äußerst wichtigen Angelegenheit, da das Fhnir.iercn
nicht benötigter Mikrobefehle aus dem gemcinsamen
Speicherraum zusätzlichen Speicherraum für die Benutzer-Programmbefehie bzw. S-Befehle und Daten
freisetzt
Die »Ladezeit-Festlegung« der Rechner-Mikroprogrammstruktur
erlaubt daher die Optimierung gemeinsamen Speicherraums und stellt eine deutliche Verbesserung
gegenüber der »Laufzeit-Festlegung« gemäß dem Stand der Technik dar, und zwar insbesondere bei
der Anwendung in Mikrobefehlsprozessoren, die mit einem gemeinsamen Mikrobefehls- und Makrobefehlsspeicher
arbeiten. Die »Ladezeit-Festlegung« bedeutet das Laden der zur Ausführung eines speziellen Benutzerprogramms
benötigten Mikroprogrammstruktur in dem Zeitpunkt, in weichem das Benutzerprogramm geladen
wird Dadurch wird erreicht, daß die kleinste Menge an Mikrobefehlen geladen wird, die zum Ablauf des
Programms benötigt wird, wodurch automatisch der größtmögliche S-Niveau-Speicherraum in dem gemeinsamen
Speicher für das Speichern von Daten freigesetzt
Bei diesem Verfahren des gemeinsamen Speicherns kann die Speicherraum-Zuweisung durch eine Mikroprogramm-Ladeeinrichtung
erreicht werden. Der Aufbau einer derartigen Ladeeinrichtung wie auch aller
übrigen riystemkomponenten richtet sich speziell nach der technischen Umgebung, in welcher sie arbeiten
muß, und kann durch eine digitale Logikschaltung und durch ein fest vorhandenes Mikroprogramm verwirklicht
werden.
Das Rechnersystem, in welchem der Gegenstand der vorliegenden Erfindung mit besonderem Vorteil verwendet
werden kann, ist beispielsweise in den britischen Patentschriften 13 18 231 bis 13 18 234, sowie in der belgischen
Patentschrift 7 50 068 und in der französischen Patentschrift 70 16 550 beschrieben.
Das in Fi g. i dargestellte Biockschaitbiid zeigt einen
mikroprogrammierbaren Prozessor 11, der mit einer Schnittstelle in Form einer Eingangswahleinheit 13 versehen
ist, über die ein Datenverkehr mit verschiedenen Peripheriegeräten, wie beispielsweise einer Bandeinheit
15, einem Drucker 17, einer Platteneinheit 19 und einem Bedienungspult 21 möglich ist. Der mikroprogrammierbare
Prozessor 11 ist ferner mit einem Nano-Programmspeicher 23, welcher N-Befehle (Nano-Befehle)
enthält, und einem gemeinsamen Speicher 25 verbunden, in welchem sowohl S-Befehle als auch M-Befehle
gespeichert sind. Beide Speicher können Halbleiterspeicher ooer Random-Access-Plattenspeicher sein. Jedoch
wird der N-Speicher 23 notwendigerweise so gewählt, daß er den am schnellsten ablaufenden Speicherzyklus
besitzt. Der gemeinsame Speicher 25 ist normalerweise vom nichtlöschenden Lesetyp, während der Nano-Speicher
23 vorzugsweise ein Lesespeicher-Typ ist.
Der programmierbare Prozessor 11 besteht aus zwei
Hauptabschnitten, die in F i g. 2 einzeln dargestellt sind, nämlich einer arithmetischen Logikeinheit 27, auch
ALU genannt und einer Steuereinheit 29. Als Teil der Steuereinheit 2S ist eine Mikroprogramm-Steuereinheit
31 mit dem gemeinsamen Speicher 25 zur Adressierung von Mikrobefehlsspeicherstellen und zum Auslesen von
Mikrobefehlen aus dem Speicher 25 verbunden. Eine Steuer-Steuereinheit 33 ist mit dem gemeinsamen Speicher
25 verbunden, um ähnliche Funktionen bezüglich Datenwörtern ausführen zu können.
Die Hauptregister und Datenpfade sowohl für die Steuereinheit 29 wie für die Arithmetikeinheit 27 sind in
F i g. 3 angegeben. Die ALU 27 enthält eine Logikeinheit 35, die unter anderem als Addierer dient, eine Art
Walzenschalter 37, der mit dem Ausgang der Logikeinheit 35 verbunden ist und A-Register 37, die in einem
Rückkopplungspfad zwischen dem Ausgang des WaI-zenschalters
37 und einem Eingang zur Logikeinheit 35 vorgesehen sind. Ferner sind B-Register 39 und Wahr/
Falsch-Gatter 41 jeweils in Reihe geschaltet, wobei diese Reihenschaltung parallel liegt zur Rückkopplungsschleife aus dem Vierbit- oder Achtbit-Übertrag des
Addierers der Logikeinheit 35, aus dem Ausgang des Walzenschalters 37 und aus dem Ausgang der Logikeinheit
35. Ein zusätzlicher Eingang kommt aus dem S-Speicher oder dem gemeinsamen Speicher 25. Der
Ausgang der Reihenschaltung, d. h. aus den Wahr/ Falsch-Gattern 41 versorgt die Logikeinheit 35.
Das B-Register 39 ist die primäre Schnittstelle zwischen dem programmierbaren Prozessor 11 und dem
Speicher 25. Dieses Register dient auch als sekundärer Eingang zu dem Addierer 35 und dient zur Ausführung
gewisser Sekundärfunktionen, die gewissen arithmetischen Operationen zugeordnet sind.
Die Wahr/Falsch-Gatter 41 liefern die wahren Inhalte des B-Registers 39 oder das Einser-Komplement der
Inhalte des B-Registers 39.
Die A-Register 37 sind drei funktionell identische Register. Jedes der A-Register 37 wird von dem Ausgang
des Walzenschalters 38 geladen. Die Steuereinheit 29 enthält ein Feld, das eine Schnittstelle zwischen der
ALU 27 und dem Speicher 25 und Peripheriegeräten
ίο bildet, ein Feld zur Behandlung der Dekodierung von
M-Befehlen und ein Feld zum Empfang und Weitergehen von N-Befehlen- oder Steuer-Signalen.
Der Ausgang aus der ALU 27 kommt von dem Walzenschalter 38 und kann der Schnittstelle 43, den Basisregistern
45 und 46 und einem Speichereingangs-Register 47 wie auch einem anderen Mikroprogramm-Zähierregister
(AMFCR) 49 zugeführt werden. Der Ausgang des Walzenschalters 38 kann außerdem einem
Schiebebetrag-Register (SAR)5i zugeführt werden.
Das Schnittstellengatter 43 dient zum Empfang von Adressen und anderen Informationen zur Übertragung
entweder zu einem Speicheradreßregister 51 oder zu einem Zähler 53. Das Register-Basis-Register (RBR) 45
enthält die Basisadresse eines 256 Wortblocks des Hauptspeichers und speichert mit dem inhalt von MAR-51
die volle Speicheradresse. Dem RBR 45 ist das Basis-Register 2 (BR 2) 46 zugeordnet, das die Basis-Adresse
eines 256 Wortblockes des Hauptspeichers oder dem höchststelligen Teil einer Geräteadresse enthalten kann.
Das Speicherinformationsregister (MIRO) 47 dient zum Puffern der Information, die in den Hauptspeicher oder
ein Gerät geschrieben wird.
Der Inhalt eines Mikrobefehls wird von einem Mikrobefehls-Dekoder 55 empfangen, um den N-Speicher zu
adressieren sowie zur Übertragung in das Liierairegister
57, Verschiebungsbetrag-Register (SAR) 51 oder zum anderen Mikroprogramm-Zählerregister
(AMPCR)49. Das Verschiebungsbetrag-Register 49
enthält entweder die Verschiebungsbetragszählung oder das Wortlängen-Komplement davon, was zur
Steuerung der Anzahl von Bits verwendet werden soll, um welche die Daten in dem Walzenschalter 38 verschoben
werden sollen. Das Mikroprogrammzählerregister 49 enthält die Sprung- oder Rückkehradresse für
Programmsprünge und Subroutinen innerhalb der M-Programme. Die Adresse in diesem Register 49 ist gewöhnlich
um eine Einheit kleiner als die Adresse derjenigen Stelle, zu der zurückgekehrt werden soll. Dieses
Register 49 kann von einem Mikroprogrammzähler-Register
59 geladen werden, sowie vom Ausgang der Walzenschalter 38 oder von dem Mikrobefehlsdekoder 55.
Zusammen mit diesem Register bildet das Mikroprogramm-Zählerregister (MPCR) 59 den Befehlsadreß-Zähler
für den M-Teil des Speichers 25. Üblicherweise enthält er die gerade gültige M-Befehls-Adresse.
Das Dekodieren des N-Befehls wird durch eine Testschaltung
61 und ein Befehlsregister 63 ausgeführt Die Testschaltung 61 empfängt Informationen aus dem Bedingungsregister
65, wobei der Inhalt dieses letzteren Registers ein Satz aus prüfbaren Bits darstellt, welche
als Fehlerindikatoren, Unterbrechungen, lokale und globale Boole'sche Variable und Freigabeindikatoren wirken.
Die Speicher- und Geräte-Operationen dienen zur
Übertragung von Daten zwischen dem programmierbaren Prozessor 11 und dem Speicher 25 oder einigen
Peripherie-Geräten 15,17,19,21. Der programmierbare
Prozessor 11 ist mit den Speichermodulen und Gera-
ten durch schaltbare Zweiweg-Sammelleitungen verbunden. Die Speicher- und Geräteadressen werden von
dem Speicheradreß-Register (MAR)Si, dem Speicher-Eingangsregister
47 und dem Basisregister 46 über diese Sammelleitungen geschickt.
Wie vorstehend angegeben, findet die Verwirklichung der M-Befehle durch Nano-Befehle während
dreier Zeitphasen statt. Somit werden die von dem N-Befehl bezeichneten Steuersignale in drei Gruppen aufgeteilt:
Phase 1, Phasen 2 und 3, und Phase 3. Die Phase 1 dient zur Konditionsprüfung, der Berechnung der
Adresse des nächsten Befehls, der Einleitung von Speicher- und Geräteoperationen, dem Laden von Instruktions-Literalen
in die L1T57 oder SAR 51 und Einrichtung einer Operation einer Logikeinheit. Phase 2 dient
zur Verzögerung der Phase 3 für die Übertrag-Weitergabe, das Befehispuffern, der DcfcMlsmodifikätion und
der Mikrobefehls-Ausführung. Phase 3 dient zur Ausführung von Logikeinheiten-Operationen unter Einschluß
der Bestimmungswahl.
Funktion der Ladeeinrichtung
Die Funktion der Ladeeinrichtung umfaßt die Feststellung, wann ein Benutzerprogramm in das Rechnersystem
eingegeben wurde und die Bestimmung, welches Peripheriegerät beim Ablauf jenes Programms benötigt
wird. Wenn diese Aufgabe entschieden ist, können Befehle in den Prozessor zum Laden der Mikroprogramm-Steuerungen
eingegeben werden, um jedes benötigte Peripherie-Gerät zu betreiben. Dazu wird eine Steuerkarte
oder ein Überschriftsbefehl (oder Leitbefehl) am Beginn jedes Programms eingefügt, das in die Datenverarbeitungsanlage
geladen wird. Dieser Befehl enthält kroprogramnvBeschreibungs-Information aus dem
Prozessor 11 wird dann von dem Dekodierer 71 dekodiert, der seinerseits mehrere Befehls-Generatoren 73,
75, 77 aktiviert, wie beispielsweise eine Druckersteuerung-Kopplung
73, eine Bandsteuerungs-Kopplung 75, eine Pult-Steuerungskopplung 77, etc. Diese Generatoren
73—77 etc. sind jeweils mit dem Prozessor 11 und
dem Mikro-Befehlsdekoder55 verbunden und erzeugen
einen vorbestimmten, festen Mikrocode, der das Laden
ίο oder Eingeben eines speziellen Mikroprogramm-Moduls
in den Speicher verlangt. Am Ende der Mikroprogramm-Beschreibung setzt ein Ende-Signal die Ladeeinrichtung
zurück.
Alternativ können die soweit beschriebenen Befehl:· generatoren selbst als Mikroprogramm anstelle von verdrahteter Schaltung verwirklicht sein. Das Mikro-
Alternativ können die soweit beschriebenen Befehl:· generatoren selbst als Mikroprogramm anstelle von verdrahteter Schaltung verwirklicht sein. Das Mikro-
! (JgI ailllll ClIlCl UGiai
ι „j„„: :_u»..
gl.ll t_.aUl»l»llll 11.11IUIIg
einem Leseteil eines Speichers gespeichert und in dem Rechner dauernd vorhanden sein. Ein wesentlicher Vorteil
dieser Verwirklichung der Ladeeinrichtung gegenüber der Verschaltung ist in den eingesparten Kosten zu
sehen. Ein weiterer Vorteil ist die leichte Verwirklichung und der Umbau innerhalb eines Rechnersystems,
der bereits eine Mikroprogramm-Steuerstruktur bcsitzt.
Eine bevorzugte Ausführungsform ist eine Ladeeinrichtung, die ein Mikroprogramm verwendet, welches in
der Grundmaschinenstruktur des mikroprogrammierbaren digitalen Rechners enthalten ist. Eine derartige
Ladeeinrichtung würde eine Konfiguration haben, die F i g. 6 dargestellt und nachfolgend beschrieben wird.
Ein Prozessor Il enthält die Grundmaschinenschaltung. Eine Erörterung dieser Schaltung wurde vorstehend
wiedergegeben. Mit dem Prozessor U kann eine
eins K^ärkisrun0 oder Kennun** sow*s eine L*s'^ von 35 Anzahl von TorwsHl-Einhci'en
Codewörtern, von denen jedes spezielle Mikroprogramm-Module definiert, die in dem ablaufenden Programm
verwendet werden. Eine mehr ins einzelne gehende Erörterung des Leitbefehls wird weiter unten gegeben.
Der Bereich der Ladeeinrichtung kann der eines Überwachungsprogramms oder in den Prozessor eingegebener
Daten sein und, wenn ein Programm eingegeben wurde und eine Bestimmung der benötigten Mikroprogramm-Module
gemacht wurde, kann einer zur Bindung der notwendigen Mikroprogrammstruktur in den
Speicher sein.
Solch eine Ladeeinrichtung kann der F i g. 4 entnommen werden, gemäß der sie an die Informationssammelleitung
zwischen dem Prozessor 11 und dem gemeinsamen Speicher 25 angebunden ist Die Ladeeinrichtung
65 kann bei ihrer Verbindung mit dieser Sammelleitung die Eingangsinformation überwachen und Torschaltungen
67 steuern, welche die Mikroprogramm-Spezifikations-Information
für den Speicherraum des Speichers 25 sperren kann. Die Ladeeinrichtung 65 kann dann so
arbeiten, wie von der Mikroprogramm-Beschreibungsangabe angegeben wird und die Mikroprogrammstruktur
in den Speicher 25 ablegen oder in diesen kompilieren.
F i g. 5 zeigt die Ladeeinrichtung 65 im einzelnen. Ein Decodierer 69 überwacht den Programmcode um ein
Codewort der Mikroprogramni-Beschreibungsinfonnation
festzustellen, das am Anfang dieses Programms eingefügt ist Wenn dies festgestellt wird, bereitet der Ausgang
des Dekodierers 69 den Befehlsdekoder 71 vor und sperrt UND-Glieder 67, die im direkten Informationsbus vom Prozessor 11 zum Speicher 25 liegen. Die Mi-
13) verbunden sein, von denen jede eine Anzahl von Toren wie z. B. vier besitzt, um verschiedene Peripheriegeräte
an den Prozessor 11 anzuschließen. Peripheriegeräte können eine Bandeinheit 15, ein Dn. cker 17 ein
Plattenstapel 19 und ein Bedienungspult 21 sein. Ein Lese-Nano-Programmspeicher 23 ist mit dem Zentralprozessor
11 verbunden und enthält sämtliche Nano-Befehlswörter, die zur Grundausrüstung der Maschine
gehören. Ferner ist mit dem Prozessor 11 ein gemeinsamer
Speicher 25 verbunden. Teil des gemeinsamen Speichers 25 ist das Eingangsregisier 79 sowie das Ausgangsregister
81.
Teil des Speichers 25 ist das Basis-Mikroprogramm 83. Dieses Mikroprogramm sitzt in einem Leseteil des
Speichers 25 und umfaßt zusammen mit dem Prozessor 11, der wie vorstehend beschrieben, gewöhnlich als Basisinterpreter-Schaltung
bezeichnet wird, die Interpreterstruktur des Mikroprogrammsystems. Dieses interpretierer-Mikroprogramm
83 definiert die Grund-Schnittstellen und die Steuersequenzen, die für den Interpretierer
spezifisch sind.
Das Mikroprogramm der Ladeeinrichtung 85 sitzt in einem Leseabschnitt des Speichers 25. Diese Ladeeinrichtung
weist mehrere Mikrobefehlsprogramme auf, die Peripherie-Mikroprogramme sowie Interpretierer-Berechnungs-Mikroprogramme
in den M-Speicherraum laden, wenn ein Benutzerprogramm, das eine Überschrifts- oder Lsitinforrnatiors enthält in das Rechnersystem
geladen wird.
Sämtliche peripheren Steuerungen (Mikroprogramm-Module) und Interpretierer (ProzessorJ-Ftechner-Mikroprogramme,
die für die anfänglichen I^adeoperationen nicht grundsätzliche Bedeutung haben.
werden in Form einer Tabelle aus einem Hilfsspeicher
./ic etwa einer Platte gespeichert. Jeder Mikroprogramm-Modul
besitzt eine feste Tabellen-Adresse einschließlich der Plattennummer und Spurnummer und ist
mil sämtlichen internen Programmindizes gespeichert, die am Anfang des Programms standardisiert oder normiert
werden.
Die Überschrifts-Information oder Leitinformation, die am Anfang des Benutzerprogramms geladen wird,
enthält Befehle für die Ladeeinrichtung. Diese Information enthält, wie Fig.7 zugt, einen den Programmnamen
bezeichnenden Teil 87, ein Ladeeinrichtungs-Codewort 89, eine Adresse, wie beispielsweise eine Hilfsplattenspeicheradresse
91, bei welcher die Festlegungsinformation für das spezielle Programm der Ladeeinrichtung
gespeichert ist, und die Anzahl der Wörter 93, die iüi ua.s Beüui^erprugraiiim reserviert sind. F i g. 7 ist
eine Darstellung einer typischen Karte mit 80 oder 96 Spalten, die diese Überschrifts- oder Leitinformation
trägt. Das erste Feld von 10 hexadezimalen Ziffern ist reserviert für den Programmnamen 87. Das zweite Feld
von vier hexadezimalen Ziffern ist reserviert für das Ladeeinrichtungs-Codewort 89, das angibt, daß das bezeichnete
Programm eingegeben wird und die Ladeeinrichtungsinformation einrichtet, wenn sie nicht korrekt
ist. Das dritte Feld aus vier hexadezimalen Ziffern dient zur Datenlokalisation 91 des Bcnutzerprogrammstapelr,
das die Festlegungsinformation enthält. Während ein viertes Feld aus vier hexadezimalen Ziffern die Länge
93 des zu ladenden Benutzerprogramms spezifiziert, bezieht sich der Programmname auf einen Parameterblock,
der die Festlegungsinformation für das spezielle Programm enthält. Diese Festlegungsinformation ist in
einem Feld aus 20 Bits enthalten, wobei jede Bitstelle einen anderen Mikroprogramm=Modul repräsentiert.
Durch Verwendung einer »1« für Bedarf und eine »0« für kein Bedarf in jeder Position des Feldes kann der
Parameterblock das zum Ablaufenlassen des Benutzerprogramms benötigte Mikroprogramm angeben.
Eine in das System geladene Programmüberschrift aktiviert die Ladeeinrichtung. Wenn die Überschrifts-Information
oder Leitinformation teilweise gelesen wurde, ruft die Ladeeinrichtung eine Tabelle der Mikroprogrammstelle
auf und beginnt dann mit dem Laden jedes Mikroprogramm-Moduls, der in der Festlegungsinformation angegeben ist. Diese Mikroprogrammstellen-Tabelle
enthält die Verzeichnisspeicheradresse jedes Moduls. Die Ladeeinrichtung geht zu jener Adresse,
holt den Modul und legt ihn in dem gemeinsamen Speicher fest.
Wenn jedes Mikroprogramm gespeichert wurde, wobei seine Indizes auf den Anfang eines individuellen Programms
orientiert sind, muß jedes Mikroprogramm reindiziert werden, wenn es in dem gemeinsamen Speicher
kompiliert wird. Die Ladeeinrichtung überwacht den von jedem Mikroprogramm verwendeten Speicherraum
und re-indiziert jedes Mikroprogramm bei seiner Festlegung in dem gemeinsamen Speicher bezüglich seiner
Stelle in dem Speicher.
Wenn der letzte, bezeichnete Modul festgelegt und re-indiziert wurde, kann die Ladeeinrichtung entweder
auf die Steuerung verzichten oder fortfahren, andere Felder des gemeinsamen Speicherraums anzugeben. Typischerweise
kann die Festlegungsinformation zunächst die E/A-Geräte-Module und dann sich die auf den Rechner
beziehenden Rechen-Mikroprogramme angeben. Nachdem diese Befehle gelesen und die benötigten Mikroprogramme
geladen wurden, kann die Ladeeinrichtung dann den Puffer-Speicherraum und den Zwischenspeicher
angeben und dann das Benutzerprogramm laden, ehe es auf die weitere Steuerung verzieht ~Λ.
Das Verständnis des Betriebsverhaltans der Ladeeinrichtung
vertieft sich noch bei Betrachtung der in F i g. 8 wiedergegebenen Flußdiagramme in Verbindung mit
der nachstehenden Erläuterung.
Das Niederdrücken des Ladeknopfes auf dem Bedienungspult erzeugt ein Auslösesignal für die Ladeeinrichtung.
Die Ladeeinrichtung prüft dann die Überschrift und liest den Programmnamen und beginnt dann
die Speicherplatten durchzusuchen, auf denen sämtliche Verzeichnisse der Informationen gespeichert sind. Diese
Platten enthalten das Verzeichnis der E/A-Geräte, d. h. der peripheren Steuerungen, sowie ein Verzeichnis
der Rechen-Mikroprogramme (Algorithmen) für den interpretierer (Prozessor). Wenn die Ladeeinrichtung
keine Akte oder kein Programm entsprechend dem Programmnamen lokalisieren kann, signalisiert sie das Vorliegen
eines Fehlers. Wenn eine Akte oder ein Stapel vorhanden ist, liest die Ladeeinrichtung das nächste
Feld in der Überschrift, das das Markierungswort enthält. Wenn dieses Markierungswort gültig ist, liest die
Ladeeinrichtung die Plattenadresse der Festlegungsinformation aus dem dritten Feld der Überschrift. Der
Parameterblock, der diese Festlegungsinformation enthält, wird dann gelesen. Dieser Festlegungsinformationsblock
benutzt wahre Bits, um den Bedarf spezieller Mikrobefehlsketten zu bezeichnen.
Die Ladeeinrichtung holt dann eine Adressentabelle sämtlicher möglicher Steuereinrichtungen und beginnt
das Adressieren und das Festlegen der bezeichneten Steuereinrichtungen, die von dem Parameterblock angegeben
wurden, und sie in den gemeinsamen Speicher einzubringen in der Reihenfolge, in der sie gelesen werden.
Da alle Steuerungen in der verzeichnisindizierten Basis relativ zu Null gespeichert sind, re-indiziert die
Ladeeinrichtung jede Steuerung (Mikroprogramm-Modul)-Basis relativ zur Speicherstelle der Festlegung.
Nach Abschluß des Festlegens der peripheren Steuerungs-Mikroprogramme legt die Ladeeinrichtung ausgegebene
Befehle in dem Speicher fest.
Wenn die Ausgabefähigkeit festgelegt wurde, wird eine Tabelle von Plattenadressen der den Rechner betreffenden
Rechenmikroprogramme geholt und die benötigten Rechenalgorithmen, die zum Betrieb des Benutzerprogramms
gebraucht werden, werden in den gemeinsamen Speicher hinter die peripheren Steuerungen
in der gleichen Weise geladen, wie diese Steuerungen mit re-indizierten Mikrokettenindizes gebraucht werden.
Nachdem diese Rechen-Mikroprogramme geladen worden sind, wird eine Tabelle der Plattenadressen aller
möglichen S-Befeh!sdarstellungen geholt. Wenn diese Information zur Verfugung steht, liest die Ladeeinrichtung
die S-Befehlsdarstellungs-Beschreibungen aus der
Festlegungsinformation und kompiliert jede Routine in der Reihenfolge hinter den Rechenmikroprogrammen.
Diese Festlegungsoperation wird in gleicher Weise ausgeführt wie das Festlegen von Steuerungen und der
oben erwähnten Rechenalgorithmen. Das Reindizieren der internen Routinen-Kennzeichen wird ebenfalls wie
oben erwähnt ausgeführt
Wenn diese Information in dem Speicher festgelegt worden ist, werden Pufferanforderungen gelesen und
jeder Puff erraum wird in dem Speicher festgelegt
Danach werden die Zwischenspeicher-Anforderungen aus dem Programm-Parameterblock gelesen und
13
ein Speicherraum wird für den Zwischenspeicher reserviert
Wenn nicht genügend Speicherraum verfügbar ist, wird ein Fehleralarmzeichen gegeben.
Nach Abschluß dieser Festlegung setzt die Ladeeinrichtung einen Ende-Zeiger für das Abschalten oder den
Auszug. Der Zeiger trennt die oben beschriebenen festgelegten Bereiche des gemeinsamen Speichers von dem
soweit noch unbenutzten Bereichen des gemeinsamen Speichers. Der festgelegte Abschnitt kann von dem Benutzer
nur gelesen werden, während der nicht festgelegte Anteil dem Benutzer ein normales Lesen und Schreiben
ermöglicht.
Nachdem dieser Zeiger ersetzt worden ist, kompiliert
die Ladeeinrichtung den Benutzerobjekt-Code und gibt die Steuerung an das System zurück.
Jedoch kann dieser Ende-Zeiger so bezeichnet werden, daß die untere Festlegung für die Lese/Schreib-Zugänglichkeit
durch den Benutzer die Puffer und den Zwischenspeicher einschließt Aus Fig.9 kann dieser
Fall entnommen werden, wobei der festgelegte Mikro-Code 95 von dem Benutzer nicht zerstört werder- kann,
jedoch der Puffer 97, der Zwischenspeicher 99 und der Benutzer-Objektscode 101 von dem Benutzer gelesen
und beschrieben werden kann.
Ein noch verwendbarer Abschnitt 103 bleibt ebenfalls zur uneingeschränkten Verfugung des Benutzers.
Insgesamt wurde eine Ladeeinrichtung beschrieben, die ein Mikroprogramm verwenden kann, welches bleibend
in einem Mikrobefehls-Lesespeicher in einem mikroprogrammierbaren digitalen Prozessor Il enthalten
sein kann, oder das durch eine verdrahtete digitale Logikschaltung
verwirklicht sein kann und dazu vorgesehen ist, die Mikroprogrammstruktur eines derartigen
Mikrobefehlprozessors im Zeitpunkt des Ladens des Benutzerprogramms festzulegen. Diese Ladeeinrichtung
wird vorteilhafterweise durch die Ladeoperation aktiviert und liest die Operationsanforderung des geladenen
Programms, setzt diese in Systemanforderungen und in Anforderungen an Mikroprogrammsteuerungen
um. Die Ladeeinrichtung kann dann ein Verzeichnis von Mikroprogrammen aufrufen, die nach Wahl in dem System
eingebaut sein können, um die speziellen Mikroprogramm-Module auszuwählen, die zur Ausführung
jenes spezieilen Programms benötigt werden, und um die gewählten Mikroprogramme in dem Lese/Schreib-Mikroprogrammspeicher
des Prozessors festzulegen.
Hierzu 7 Blatt Zeichnungen
50
55
60
65
Claims (4)
1. Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage,
deren Prozessor über eine Informatioiissammelleitung
mit einem gemeinsamen Speicher für Makro- und Mikrobefehle, einen Steuersignale zur Ausführung von Mikrobefehlen enthaltenden
Speicher und über eine Schnittstelleneinheit mit mindestens einem Peripheriegerät verbunden ist
und eine arithmetische Logikeinheit sowie eine Steuereinheit enthält, die eine mit dem gemeinsamen
Speicher verbundene Mikroprogramm-Steuereinheit zur Abgabe von Mikrobefehlsadressen und zum
Auslesen von Mikrobefehlen aus dem gemeinsamen Speicher vrA eine ebenfalls mit dem gemeinsamen
Speicher verbundene Speicher-Steuereinheit zur Abgabe von Datenadressen und zum Einschreiben
und Auslesen von Datenworten in bzw. aus dem gemeinsamen Speicher aufweist, dadurch gekennzeichnet,
daß die Ladeeinrichtung (65,67) in die Informationssammelhitung zwischen dem
Prozessor (11) und dem gemeinsamen Speicher (25) zwischengeschaltet ist und einen mit der Steuereinheit
(29) des Prozessors (11) verbundenen Dekodierer (69), einen durch den Dekodierer (69) freigebbaren
und eingrngsseitig mit der Steuereinheit (29) und ausgangsseitig mit Befehlsgeneratoren (73, 75, 77)
verbundenen Befehlscekodie. er (71) und mit dem Ausgang des Dekodierei s (59) und der Steuereinheit
(29) verbundene Torschaltung?!, (67), deren Ausgänge
zum gemeinsamen Speicher führen, enthält, wobei der Dekodierer (69) den Informationsaustausch
zwischen dem Prozessor (11) und dem gemeinsamen Speicher (25) überwacht und auf ein an den Anfang
jedes Benutzerprogramms gestelltes und die speziellen Mikroprogramm-Module, die zur Bearbeitung
eines von dem Prozessor (11) durchzuführenden Benutzerprogramms
erforderlich sind, bezeichnendes Mikroprogrammstruktur-Codewort überwacht und bei Erfassung eines solchen Codewortes die Torschaltungen
(67) sperrt und den das an seinem Eingang anliegende Mikroprogrammstruktur-Codewort
dekodierenden Befehlsdekodierer (71) freigibt, der mit dem dekodierten Mikroprogrammstruktur-Codewort
einen oder mehrere der an seinem Ausgang angeschlossenen und mit der Steuereinheit (29)
des Prozessors (11) verbundenen Befehlsgeneratoren (73, 75, 77) freigibt, der oder die einen vorbestimmten
Mikrocode zur Eingabe eines bestimmten Mikroprogramm-Moduls in den gemeinsamen Speicher
(25) erzeugt oder erzeugen.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Befehlsgeneratoren (73, 75, 77) als
ein in einem Leseabschnitt des gemeinsamen Speichers (25) abgespeichertes Mikroprogramm mit
mehreren Mikrobefehlsprogrammen ausgebildet sind, die Mikroprogramm-Module für die peripheren
Geräte sowie Mikroprogramm-Module für die Ablaufsteuerung des Prozessors in den Mikroprogramm-Speicherraum
des gemeinsamen Speichers (25) laden, wenn ein mit einer bestimmten Leitinformation
versehenes Benutzerprogramm geladen wird, wobei die Leitinformation aus einem den Programmnamen
bezeichnenden Teil (87), einem Ladeeinrichtungs-Codewort (89), das den mittels des Befehlsdekodierers
(71) zu ladenden Mikroprogramm-
Modul angibt und die Ladeeinrichtung veranlaßt, alle
nicht erforderlichen Mikroprogramm-Module zu sperren, einer Adresse (91) zur Angabe einer Einrichtung,
welche Festlegungsinformation für das Mikroprogramm der Ladeeinrichtung speichert, und einer
Angabe der Anzahl der für das Benc.zerprogramm reservierten Wörter (93) besteht, wobei die
erforderlichen Mikroprogramm-Module aus der die Festlegungsmformation für das Mikroprogramm
der Ladeeinrichtung speichernden Einrichtung in Speicherstellen des gemeinsamen Speichers (25) geladen
werden.
3. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Mikroprogramm-Module
für die Steuerung der peripheren Geräte und die Mikroprogramm-Module für die Ablaufsteuerung
des Prozessors, die für die anfängliche Ladeoperation nicht benötigt werden, tabellenförmig in einem
zusätzlichen Hilfspeicher gespeichert sind und daß jedes Mikroprogramm-Modul eine feste Tabellen-Adresse
aufweist, unter der die Ladeeinrichtung nach Lesen der Leitinformation das betreffende Mikroprogramm-Modul
ausliest und den betreffenden MikroprogramiT'-Modul in dem gemeinsamen Speicher
(25) festlegt.
4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Ladeeinrichtung den von dem betreffenden
MiKroprogramm-Modul belegten Speicherraum
im gemeinsamen Speicher (25) überwacht und das betreffende Mikroprogramm-Modul bei seiner
Festlegung in den gemeinsamen Speicher (25) bezüglich seiner Speicherstelle in dem gemeinsamen
Speicher (25) reindiziert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/427,063 US4024504A (en) | 1973-12-21 | 1973-12-21 | Firmware loader for load time binding |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2458096A1 DE2458096A1 (de) | 1975-07-03 |
DE2458096C2 true DE2458096C2 (de) | 1985-05-02 |
Family
ID=23693342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2458096A Expired DE2458096C2 (de) | 1973-12-21 | 1974-12-07 | Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage |
Country Status (11)
Country | Link |
---|---|
US (1) | US4024504A (de) |
JP (1) | JPS5917463B2 (de) |
BE (1) | BE823048A (de) |
BR (1) | BR7409330A (de) |
DE (1) | DE2458096C2 (de) |
FR (1) | FR2255657B1 (de) |
GB (1) | GB1465861A (de) |
IN (1) | IN140560B (de) |
IT (1) | IT1026765B (de) |
NL (1) | NL7415308A (de) |
SE (1) | SE7415315L (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1059493B (it) * | 1976-04-22 | 1982-05-31 | Olivetti & Co Spa | Dispositivo per cambiare l ambiente di lavoro di un calcolatore |
JPS5759250A (en) * | 1980-09-29 | 1982-04-09 | Nec Corp | Microprogram controller |
US4495563A (en) * | 1981-07-02 | 1985-01-22 | Texas Instruments Incorporated | Microcomputer having separate access to complete microcode words and partial microcode words |
US4654783A (en) * | 1982-07-26 | 1987-03-31 | Data General Corporation | Unique process for loading a microcode control store in a data processing system |
JPS5960646A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | フア−ムウエア制御方式 |
JP2681929B2 (ja) * | 1987-06-22 | 1997-11-26 | 三菱電機株式会社 | プログラム起動方式 |
US5237688A (en) * | 1987-11-18 | 1993-08-17 | International Business Machines Corporation | Software packaging structure having hierarchical replaceable units |
JPH01197867A (ja) * | 1988-02-02 | 1989-08-09 | Ibiden Co Ltd | マルチプロセッサシステム |
US5155817A (en) * | 1988-04-01 | 1992-10-13 | Kabushiki Kaisha Toshiba | Microprocessor |
US5228993A (en) * | 1990-02-09 | 1993-07-20 | Mordeki Drori | Cleanable filter system with longitudinally movable and rotatable cleaning member |
US5632903A (en) * | 1995-06-07 | 1997-05-27 | Infinity Research And Development | High volume self-cleaning filter |
US5774722A (en) * | 1995-12-14 | 1998-06-30 | International Business Machines Corporation | Method for efficient external reference resolution in dynamically linked shared code libraries in single address space operating systems |
US6654762B2 (en) * | 1999-08-16 | 2003-11-25 | International Business Machines Corporation | Generating small footprint applications for mobile devices |
GB2381090B (en) * | 2001-10-17 | 2005-02-02 | Bitarts Ltd | Software loading |
EP1510915A1 (de) * | 2003-08-26 | 2005-03-02 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zur Anpassung einer Hardware-Plattform an beliebige Applikationsprogramme |
EP1787195A4 (de) * | 2004-08-04 | 2009-12-23 | Osa Technologies Inc | Software- und firmware -anpassung für unantizipierte bzw. veränderliche hardwareumgebungen |
US20090319804A1 (en) * | 2007-07-05 | 2009-12-24 | Broadcom Corporation | Scalable and Extensible Architecture for Asymmetrical Cryptographic Acceleration |
CN114895612B (zh) * | 2022-07-11 | 2022-09-27 | 深圳市杰美康机电有限公司 | 一种用于dsp芯片的仿真系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
US4558411A (en) * | 1969-05-19 | 1985-12-10 | Burroughs Corp. | Polymorphic programmable units employing plural levels of sub-instruction sets |
US3646522A (en) * | 1969-08-15 | 1972-02-29 | Interdata Inc | General purpose optimized microprogrammed miniprocessor |
GB1343228A (en) * | 1972-02-25 | 1974-01-10 | Ibm | System for selecting a desired set of microinstructions from a master set of microinstructions |
US3713107A (en) * | 1972-04-03 | 1973-01-23 | Ncr | Firmware sort processor system |
US3839705A (en) * | 1972-12-14 | 1974-10-01 | Gen Electric | Data processor including microprogram control means |
US3828320A (en) * | 1972-12-29 | 1974-08-06 | Burroughs Corp | Shared memory addressor |
-
1973
- 1973-12-21 US US05/427,063 patent/US4024504A/en not_active Expired - Lifetime
-
1974
- 1974-07-10 IN IN1548/CAL/1974A patent/IN140560B/en unknown
- 1974-11-06 BR BR9330/74A patent/BR7409330A/pt unknown
- 1974-11-22 GB GB5069974A patent/GB1465861A/en not_active Expired
- 1974-11-22 NL NL7415308A patent/NL7415308A/xx not_active Application Discontinuation
- 1974-11-28 FR FR7439059A patent/FR2255657B1/fr not_active Expired
- 1974-12-03 IT IT30148/74A patent/IT1026765B/it active
- 1974-12-06 BE BE151242A patent/BE823048A/xx unknown
- 1974-12-06 SE SE7415315A patent/SE7415315L/xx unknown
- 1974-12-07 DE DE2458096A patent/DE2458096C2/de not_active Expired
- 1974-12-09 JP JP49142388A patent/JPS5917463B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5917463B2 (ja) | 1984-04-21 |
BR7409330A (pt) | 1976-05-18 |
JPS5096153A (de) | 1975-07-31 |
DE2458096A1 (de) | 1975-07-03 |
SE7415315L (de) | 1975-06-23 |
GB1465861A (en) | 1977-03-02 |
IN140560B (de) | 1976-11-27 |
FR2255657B1 (de) | 1979-03-23 |
IT1026765B (it) | 1978-10-20 |
US4024504A (en) | 1977-05-17 |
BE823048A (fr) | 1975-04-01 |
NL7415308A (nl) | 1975-06-24 |
FR2255657A1 (de) | 1975-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2458096C2 (de) | Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage | |
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
DE2317870C2 (de) | Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage | |
DE68929483T2 (de) | Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist. | |
DE3687724T2 (de) | Digitalprozessorsteuerung. | |
DE3151745C2 (de) | ||
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE3751540T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung. | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE2054835C2 (de) | Steuereinrichtung in einem Prozessor einer Mehrprozessor-Datenverarbeitungsanlage | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE69027932T2 (de) | Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen | |
DE19855806A1 (de) | Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen | |
DE3689389T2 (de) | Datenverarbeitungsprozessor. | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE2424810A1 (de) | Datenverarbeitungsanlage, insbesondere kleine mikroprogramm-datenverarbeitungsanlage mit mehrsilbenmikrobefehlen | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2054947A1 (de) | Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE3114921A1 (de) | Datenverarbeitungssystem | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8125 | Change of the main classification | ||
8125 | Change of the main classification | ||
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |