DE2458096C2 - Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage - Google Patents

Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage

Info

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
Application number
DE2458096A
Other languages
English (en)
Other versions
DE2458096A1 (de
Inventor
Patrick Jos. Royal Oak Mich. Chowning
Diane Willis Cikoski
Thomas Roberts Downingtown Pa. Cikoski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE2458096A1 publication Critical patent/DE2458096A1/de
Application granted granted Critical
Publication of DE2458096C2 publication Critical patent/DE2458096C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading 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:
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-
! (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)

Patentansprüche:
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.
DE2458096A 1973-12-21 1974-12-07 Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage Expired DE2458096C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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