DE2716369C2 - - Google Patents

Info

Publication number
DE2716369C2
DE2716369C2 DE2716369A DE2716369A DE2716369C2 DE 2716369 C2 DE2716369 C2 DE 2716369C2 DE 2716369 A DE2716369 A DE 2716369A DE 2716369 A DE2716369 A DE 2716369A DE 2716369 C2 DE2716369 C2 DE 2716369C2
Authority
DE
Germany
Prior art keywords
memory
control
bit
register
registers
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 - Fee Related
Application number
DE2716369A
Other languages
English (en)
Other versions
DE2716369A1 (de
Inventor
Dale Arthur Stewartville Minn. Us Heuer
Phillip Christian Schloss
Larry Lloyd Rochester Minn. Us Schroeder
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2716369A1 publication Critical patent/DE2716369A1/de
Application granted granted Critical
Publication of DE2716369C2 publication Critical patent/DE2716369C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7864Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip

Description

Die Erfindung betrifft einen Einchip-Mikroprozessor gemäß dem Oberbegriff des Anspruchs 1.
Bei verschiedenen Datenverarbeitungsanlagen ist eine Mikro­ prozessorsteuerung erwünscht. In vielen Anwendungsge­ bieten sind die Art und die Anzahl von Anforderungen, die an eine Steuereinheit oder einen Prozessor gestellt werden, derart, daß es von Vorteil wäre, eine Anzahl von Prozessoren gleichzeitig einzusetzen, die gleichzeitig parallel zueinander Daten verarbeiten, wenn dies in wirtschaftlich vertretbarer Weise erzielbar wäre. Dies läßt sich beispielsweise unter Verwendung eines Mikroprozessors erreichen, der als vollständige, selbständige Einheit auf einem einzigen, eine hochintegrierte Halbleiterschaltung enthaltenden Halbleiter­ plättchen angebracht ist, auf dem auch die Taktgabe, ein örtlicher Zwischenspeicher, logische Funktionen, die Spei­ chersteuerung und eine Steuerspeicheranordnung enthalten sind. Dieser Mikroprozessor kann außerdem zusätzliche Steuer­ speicher ausnützen und zusammen mit anderen gleichartigen Prozessoren nach Art einer Parallelverarbeitung zu einem gemeinsamen äußeren Massenspeicher Zugriff erhalten.
Der Stand der Technik auf diesem Gebiet ist bereits umfang­ reich. So ist beispielsweise in der US-Patentschrift 37 87 817 eine als hochintegrierte Schaltung ausgeführte adressierbare Speicheranordnung offenbart, bei der bestimmte logische Funktionen einen Teil der Anordnung bilden können.
Die US-Patentschrift 35 08 037 ist auf eine funktionale logische Schaltung gerichtet, während die US-Patentschriften 37 51 650 und 35 64 226 beide sowohl arithmetische als auch logische Funktionen in einer Schaltung darstellen können, dabei jedoch immer noch relativ kompliziert aufgebaut sind.
Die US-Patentschrift 33 60 779 offenbart die Kombination von Instruktionen mit Masken. Die US-Patentschrift 33 40 513 offenbart die Kombination von zwei Befehlen in einem Befehlswort und die US-Patentschrift 38 51 312 zeigt den Parallelzugriff von Steuerworten für die gleichzeitige Daten­ verarbeitung durch modulare logische Schaltungen.
Die US-Patentschrift 36 76 860 ist auf eine Multiprozessoran­ ordnung gerichtet und auf ein Verfahren zum Auftrennen der Verbindungen zwischen den Multiprozessoren für den Fall, daß mehrere Prozessoren gleichzeitig Zugriff zu einer Datenquelle, wie z. B. einem Speicher, benötigen. Die Anordnung gemäß der US-Patentschrift 35 66 357 benutzt eine Steuereinheit und eine Anzahl von Registern für die Zuteilung eines Zugriffs zu einem Speicher, der von mehreren Prozessoren gleichzeitig angesteuert wird. Die US-Patentschrift 33 17 898 offenbart ein Mehrfach-Prozessorsystem, in dem zur Überwachung ein Zähler eingesetzt ist, der den im Speicher zur Verfügung stehenden Speicherplatz überwacht. Ferner sind zum Stand der Technik noch die US-Patentschriften 37 78 784 und 38 21 715 zu erwähnen, die beide auf Halbleiterplättchen in hochintegrierter Schaltungstechnik aufgebaute Halbleiterspeicher offenbaren, wobei im Falle der US-Patentschrift 37 78 784 auf dem Halb­ leiterplättchen auch noch ein Taktgenerator zur Ansteuerung der Speicheranordnung vorgesehen ist. Aus der US-Patentschrift 38 21 715 ist es bekannt, eine digitale Datenverarbeitungsanlage aus einer Anzahl getrennter MOS-Halbleiterplättchen zusammenzusetzen, die durch eine Anzahl von Leitungen miteinander verbunden sind. Eines dieser Halbleiter­ plättchen enthält dabei die Zentraleinheit, die über eine Anzahl von in beiden Richtungen betreibbaren Leitungen mit einer Anzahl von hochintegrierten Speicherschaltungen ein­ schließlich eines Speichers mit wahlfreiem Zugriff und eines Festwertspeichers verbunden ist. Die Speicherkapazität kann durch Anschalten weiterer Speicher mit wahlfreiem Zugriff bzw. weiterer Festwertspeicher erweitert werden. Die die Speicheranordnungen enthaltenden Halbleiterplättchen enthalten auch die Decodierschaltungen, so daß die Zentral­ einheit aus einer großen Anzahl von auf Halbleiterplättchen untergebrachten, hochintegrierten Halbleiterspeicheranordnungen eine einzige Speicheranordnung unmittelbar ansteuern kann.
In der US-PS 38 39 705 sowie in dem Aufsatz "Auf dem Weg zur Mikroprozessor- Praxis", erschienen in der Zeitschrift "Electronic", 1976, Heft 3, S. 74 bis 85, sind Ein-Chip-Mikroprozessoren beschrieben, an die externe Schreib-/Lese­ speicher anschließbar sind. Diese Speicher verfügen aber im allgemeinen über eine eigene Speichersteuerung, die nicht in der Lage ist, mehrere Mikroprozessoren für Multiprocessing-Aufgaben zu bedienen. Auch die externen Steuerspeicher sind nicht direkt an die Befehlsadressenregister der Mikro­ prozessoren anschließbar.
Es ist daher die Aufgabe der vorliegenden Erfindung, einen Ein-Chip-Mikro­ prozessor anzugeben, dessen externe Steuerspeicher direkt an die vorhandenen Befehlsadressenregister anschließbar sind und der außerdem über eine Speicher­ steuerung verfügt, die in der Lage ist, mit mehreren parallelen Mikro­ prozessoren in der Weise zusammenzuarbeiten, daß diese sich einen gemeinsamen externen Schreib-/Lesespeicher teilen können, so daß ein paralleler Zusammenschluß mehrerer Mikroprozessoren zur Parallelverarbeitung in wirtschaftlicher Weise ermöglicht wird.
Gelöst wird diese Aufgabe der Erfindung durch die im Hauptanspruch angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
Die Vorteile der Erfindung ergeben sich aus folgenden Überlegungen:
Die vorliegende Erfindung ist auf einen Mikroprozessor gerichtet, der vollständig auf einem einzigen, mit einer hoch­ integrierten Schaltung versehenen Halbleiterplättchen ent­ halten ist. Dieser Prozessor enthält auf einem einzigen Halbleiterplättchen nicht nur die Freigabeschaltungen für den Prozessor, sondern auch eine als Festwertspeicher aufgebaute Steuerspeicheranordnung, so daß für dieses Halbleiter­ plättchen nur noch eine Quelle für Oszillatorimpulse, ein Anschluß an eine Stromversorgung und eine Rückstellung erforderlich sind, damit die Schaltung völlig unabhängig für sich arbeiten kann. Der Prozessor ist dabei so aufgebaut, daß er mit einem äußeren Massenspeicher zusammen arbeiten kann, so daß er für eine echte Parallelverarbeitung einsetzbar ist. Der Prozessor kann ferner einen zusätzlichen, außerhalb des Halbleiterplättchens angeordneten Steuerspeicher neben der auf dem Halbleiterplättchen angeordneten Speicheranordnung ansteuern, und die Gesamtschaltung enthält die verschiedensten Schaltungsvarianten, durch die der Ein­ satz der einzelnen Schaltkreise wirtschaftlich wird, wobei der Prozessor für kurze Befehlsworte mit den Eigenschaften eines Prozessors für lange Befehlsworte ausgestattet wird.
Der hier dargestellte Prozessor ist grundsätzlich insoweit ein 12 Bit-Prozessor, als er einen 12 Bitbefehl benutzt, der einen Teil mit 4 Bit enthält, der die Art und Länge definiert sowie einen aus 8 Bit bestehenden Abschnitt, der bestimmte Modifizierinstruktionen, unmittelbare Daten oder Adressen enthalten kann. Die Datensammelleitung kann 8 Bit gleichzeitig übertragen und dient dem Datenaustausch mit einem äußeren Massenspeicher mit 8 Bit Bytes. Bei der Adressierung zusätzlicher, außerhalb des Halbleiterplättchens liegender Steuerspeicher werden Datenleitungen benutzt, die unabhängig von denjenigen Leitungen sind, die den Prozessor mit dem äußeren Massenspeicher verbinden. Wenn man zwei parallele 8-Bit-Datenleitungen nach der außerhalb gelegenen Steuerspeicheranordnung einsetzt, dann kann man ein aus 2 Byte bestehendes Datenwort übertragen und damit den Wirkungsgrad des Informationsaustauschs mit dem Steuer­ speicher erhöhen.
Wenn man sowohl den auf dem Halbleiterplättchen als auch den außerhalb des Halbleiterplättchens befindlichen Steuerspeicher benutzt, dann läßt sich voraussehen, daß der Zugriff zu dem außerhalb des Halbleiterplättchens liegenden Steuerspeicher langsamer abläuft, und es ist ferner möglich, daß man noch andere Differenzen beim Speicherzugriff antrifft. Will man diese Schwierigkeit in einer Weise umgehen, ohne daß dabei das gesamte System dadurch beeinträchtigt wird, daß man immer die Zeitverzögerung des schlimmsten Falls mit einbezieht, wird der Systemtakt bei Erzeugung einer Zugriffsanforderung angehalten und bei Beendigung des Zugriffzyklus wieder in Betrieb gesetzt, so daß das System von der Zugriffsgeschwindigkeit des jeweils benutzten externen Speichers unabhängig wird. Ferner ist eine Schaltung vorgesehen, mit deren Hilfe der auf dem Chip befindliche Steuerspeicher wirkungsvoll dadurch ver­ ändert werden kann, daß man selektiv für einzelne Befehle oder Blöcke von Befehlen den äußeren zusätzlichen Steuerspeicher substituiert und damit vermeidet, daß der gesamte Prozessorchip erneut entworfen und ersetzt werden muß, wenn in der Steuerspeicheranordnung eine Änderung durchgeführt werden muß.
Diejenige Schaltung, die für den Prozessor die arithmetischen und logischen Funktionen durchführt, wird dadurch vereinfacht und mengenmäßig verringert, daß die fundamentalen Bitpositionsaddierschaltungen für die Durchführung zahlreicher anderer Funktionen auf Befehl aufgetastet werden. Dabei wird ein Operationscode decodiert, um damit verschiedene einer Reihe von sechs Durchschaltleitungen anzusteuern, mit deren Hilfe selektiv die Addierschaltungen zur Erzeugung anderer Funktionen modifiziert werden können. Ferner stehen bei mit kurzen Datenworten arbeitenden Mikro­ prozessoren Steuerbits der arithmetischen und logischen Einheit weniger und weniger zur Verfügung. Bei dem erfindungsgemäß aufgebauten Prozessor ist ein Register dazu bestimmt, solche Information vorübergehend abzuspeichern, so daß der Prozessor mit seiner Verarbeitung fortfahren kann, wobei dann die Funktion der arithmetischen und logischen Einheit, entsprechend dem Speicherinhalt eines solchen Registers nur dann geändert wird, wenn dies erforderlich ist. Zu anderen Zeiten ist es dann nur erforderlich, die Eingabedaten zu ändern. Der Prozessor weist ferner eine Minimaske oder eine Speicheranordnung auf, die in Abhängigkeit von einer 5-Bit-Adresse eine aus 32 Speicherplätzen auswählt und gleichzeitig das ALU-Eingangsregister und das ALU- Operationsregister lädt sowie 2-Bit-Steuerinformation an die Takt- und Steuerschaltung abgibt. Dadurch werden mehr als 2 normale Befehle wirksam zu einem einzigen Befehl zusammengefaßt, wodurch sich sowohl Mikrocode als auch Ausführungszeit einsparen läßt. Dieses Verfahren gibt in ausgewählten Fällen einem mit einem Kurzwort arbeitenden Prozessor die Möglichkeit, mit einem langen Befehlswort zu arbeiten.
Der Prozessor enthält ferner eine Speichersteuerschaltung, die den Zugriff zu dem äußeren Massenspeicher steuert und die als ein Teil eine Schaltung enthält, die als eine Position oder Stufe eines kontinuierlich umlaufenden Schiebe­ registers arbeitet. Ferner ist eine Mehrfachleitung vorgesehen, mit der die Speichersteuerschaltung selektiv gesperrt werden kann. Die erwähnte Schieberegisterbitposition kann entweder mit einer Reihe von gleichartigen Schaltungen anderer Prozessoren oder anderer Anlagen, die den Speicher ansteuern, zur Bildung eines freilaufenden Ringzählers zu­ sammengeschaltet werden. Wenn der Prozessor zu dem äußeren Massenspeicher Zugriff erhalten will, dann wird ein derartiger Zugriff durch die Aufnahme eines einzigen Bit in dem Ringzähler und dessen Speicherung in der zugehörigen Bit­ positionsschaltung freigegeben. Durch dieses Verfahren können mehrere Prozessoren auf dynamischer Basis über eine einzige Datensammelleitung zu einem einzigen äußeren Massen­ speicher Zugriff erhalten. Obgleich bei diesem Verfahren jede beliebige Anzahl von Prozessoren oder anderen Anlagen auf dynamischer Basis einen Speicher ansteuern kann, so wird dadurch jedoch noch nicht die Tatsache berücksichtigt, daß bei den meisten Parallelverarbeitungssystemen mit Parallelprozessoren eine oder mehrere Anlagen oder Geräte gibt, die entweder häufiger oder mit Priorität Zugriff zum Speicher haben. Diese Funktion wird dadurch sichergestellt, daß man auf mehreren Ebenen verlaufende Leitungen benutzt und selektiv den Zugriff zum Speicher sperrt. Die Prozessor- Schieberegisterbitpositionen sind dabei zu einer Anzahl von Ringen zusammengeschaltet, und die auf mehreren Ebenen lie­ genden Leitungen eines jeden Ringes sind miteinander verbunden und an einer Bitposition eines freilaufenden Ringzählers einer zweiten Ebene angeschlossen. Dabei kann jedem Ring von Prozesssor-Bitpositionen dadurch häufiger Zugriff zum Speicher gegeben werden, daß ein Anschluß an mehr als einer Ringzählerbitposition der zweiten Ebene hergestellt wird.
Die Erfindung wird nunmehr anhand eines Ausführungsbeispieles in Verbindung mit den beigefügten Zeichnungen im einzelnen beschrieben. Die unter Schutz zu stellenden Merkmale der Erfindung sind den ebenfalls beigefügten Patentansprüchen zu entnehmen.
In den Zeichnungen zeigt
Fig. 1 schematisch ein Blockschaltbild des Daten­ verarbeitungssystems gemäß der vorliegenden Erfindung mit einem externen Steuerspeicher und einem externen Massenspeicher,
Fig. 2A, 2B, 2C und 2D in Kombination schematisch den Datenfluß und den Aufbau eines auf einem einzigen Chip untergebrachten Prozessors gemäß der Erfindung,
Fig. 3 einen Teil einer logischen Schaltung für das Befehlsadreßregister in Fig. 2A, welches die Benutzung von Befehlen unterschiedlicher Länge ermöglicht,
Fig. 4 einen Teil einer logischen Schaltung der Takt- und Steuerschaltung in Fig. 2C, die bei Zyklusanforderung die Taktgabe sperrt und nach Beendigung eines Abrufzyklus die Taktgabe wieder aufnimmt,
Fig. 5 eine außerhalb des Chip gelegene Schaltung, mit deren Hilfe der interne Steuerspeicher dadurch verändert werden kann, daß man an seiner Stelle den externen Steuerspeicher substituiert,
Fig. 6 eine Wahrheitstabelle zur Darstellung der Arbeitsweise der Freigabeleitungen bei der Decodierung des Operationscode für die ver­ schiedenen angegebenen Funktionen,
Fig. 7 die Schaltung einer Bitposition der arithmetischen und logischen Einheit (ALU),
Fig. 8 und 9 die Logik des Festwertspeichers, der in aus­ gewählten Fällen aus einem einzigen Befehl Mehrfach-Instruktionen liefert,
Fig. 10 ein Blockschaltbild zur Darstellung der Arbeitsweise der Speichersteuerung in Fig. 2D,
Fig. 11 und 12 schematisch die Arbeitsweise der Speicher­ steuerung für einen dynamischen, prioritätsgerechten Zugriff durch mehrere Prozessoren nach einem einzigen äußeren Speicher und
Fig. 13 die tatsächlich durch das Anlegen der Torimpulse in Fig. 6 an die Schaltung von Fig. 7 gebildeten Schaltkreise.
In Fig. 1 bestimmt die gestrichelte Linie 16 die Grenzen des auf einem einzigen mit einer hochintegrierten Schaltung versehenden Halbleiterplättchen befindlichen Prozessors. Es handelt sich hierbei tatsächlich um einen echten, nur auf einem einzigen Chip untergebrachten Mikroprozessor, der seine eigene Steuerspeicheranordnung besitzt. Obgleich die Schaltung auf dem einzelnen Chip als eine Einheit arbeiten kann, kann der Prozessor doch außerdem einen weiteren außer­ halb des Chip angeordneten Steuerspeicher 17 zusätzlich zu dem im Block 24 enthaltenen auf dem Chip befindlichen Steuerspeicher ansteuern.
Der Prozessor ist dabei ein 8-Bit Byte Ein-Adreßmikropro­ zessor, der auf einem einzigen, mit einer hochintegrierten Schaltung versehenen Halbleiterchip enthalten ist. Die Prozessorarchitektur enthält einen im Block 24 enthaltenen Festwertsteuerspeicher, einen Arbeitsspeicher 20, eine 8-Bit arithmetische und logische Einheit (ALU) 22 im mit Datenfluß bezeichneten Block 23, eine Speichersteuerung 25 für eine Mehrfach-Byteübertragung und vierundzwanzig Leitungen für äußere Lese/Schreib- Speicheradressierungen und dies alles auf einem einzigen dabei im wesentlichen mit einem äußeren Lese/Schreibspeicher 26 zusammen, obgleich der Chip auch als funktionelle Einheit arbeiten kann. Die Mikrobefehle des Prozessors sind im Steuerspeicher abgespeichert. Der Steuerspeicher kann dabei auf dem Chip selbst, wie gezeigt, außerhalb des Chips oder als Kombination von außerhalb und auf dem Chip befindlichen Speichern aufgebaut sein, und dieser Steuerspeicher kann entweder als Festwertspeicher oder als Lese/Schreib­ speicher aufgebaut sein. Benutzt man einen Steuerspeicher außerhalb des Chips, so verschlechtert sich dadurch das Betriebsverhalten des Prozessors etwas. Ein Lese/Schreib- Steuerspeicher kann durch den Prozessor von einem äußeren Lese/Schreibspeicher geladen werden.
Die Mikrobefehle werden durch ein Paar fortschreibbarer oder fortschaltbarer Befehlsadreßregister (IAR) 28 und 29 in Fig. 2a adres­ siert. Die IARs 28 und 29 können dabei durch das Ausgangs­ signal des Steuerspeichers oder aus dem Arbeitsspeicher­ register 30 für Programmverzweigungen oder Programm­ rücksprung geladen werden. Die Rücksprungadresse wird dabei an einer bestimmten Adresse Arbeitsspeicherregister 30 eingespeichert. Die Verzweigungsadresse kann entweder aus einem laufenden Mikrobefehl oder von einer besonderen Adresse im Arbeitsspeicherregister 30 stammen.
Der kurze Mikrobefehl ergibt Flexibilität, gute Bitausnutzung und eine Gesamtanordnung, bei der ein großer Teil der sequentiellen Taktgabe beseitigt ist. Da die meisten Befehle einfache Datenbewegungen betreffen, läßt sich die Durch­ schaltung durch den Befehl selbst ausführen.
Das Arbeitsspeicherregister 30 ist ein auf dem Chip angeordneter Zwischenspeicher und ist zu geradzahligen-ungeradzahligen Registerpaaren zusammengefaßt, so daß eine 2-Byteadresse eine Durchschaltung nach dem äußeren Lese/Schreibspeicher 26 oder dem Speicheradreßregister (MAR) zuläßt. Das Arbeitsspeicher­ register 30 arbeitet für die innere Steuerschaltung wie ein 1-Bytespeicher. Das Adreßregister 51 ist ein weiterschaltbares Register, in dem die Adressen der Arbeitsspeicherregister- Bytes eingespeichert liegen, die nach innen oder außen durchge­ schaltet werden sollen. Bei einem Verzweigungs- oder Ver­ kettungsbefehl wird das Befehlsadreßregister (IAR)Arbeits­ speicherregister 30 an der Adresse im Adreßregister 51 als 2-Byteadresse festgehalten.
Die arithmetische und logische Einheit 22 (ALU) führt Addition, logische Grundfunktionen, Registerübertragungen, Kom­ plementwertbildung, Rotation, Übertrag und deren Kombinationen durch. Die ALU 22 kann dabei Arithmetik im Einer- oder Zweier-Komplement durchführen. Maskenopertionen für bedingte Verzweigung werden am Ausgang der ALU erzeugt, so daß auf Nullen, Einsen, gemischten Übertrag oder kein Übertrag geprüft werden kann. Die Verzweigung kann außerdem drei äußere Lei­ tungsbedingungen überprüfen. Die ALU kann außerdem dazu benutzt werden, zuvor erzeugte Überträge und von der Übertrag­ halteschaltung 27 einlaufende Überträge durchzuschalten.
Die gewünschte ALU-Operation wird dabei im ALU-Operationsregister (AOP) 32 gespeichert gehalten. Dieses 8-Bitregister beseitigt die sonst erforderliche Notwendigkeit, in allen Befehlen die ALU-Operation genau anzugeben. Die ALU 22 führt die im AOP-Register 32 verriegelt eingespeicherte Operation statisch durch, bis das Register erneut geladen wird.
In Verbindung mit der ALU-Operation kann eine Minimaske 34 benutzt werden. Diese Minimaske 34 besteht aus 32 Worten von je 18 Bit Länge. Wenn eine Lademinimaskenoperation erforderlich ist, dann ersetzen 8 der Bits den derzeitigen Speicher­ inhalt im AOP-Register, 8 der Bits ersetzen das was derzeit auf der B-Seite der ALU eingespeichert ist, und zwei Bits werden für Sprungbefehlsteuerung benutzt. Die neue in der Minimaske 34 festgehaltene AOP-Operation kann nicht eine erneute Ladeoperation für die Minimaske sein.
Die beiden Extrabits ermöglichen eine weitere Fortschaltung nach dem IAR, wenn das Ergebnis der ALU-Operation Eins, Nullen oder nicht Nullen war. Dies wird programmgesteuert getestet und läuft automatisch ab, wenn diese Bits benutzt werden und ein Befehl zur Speichermodifizierung abläuft. Diese Möglichkeit könnte in einem Unterprogramm mit doppelter Schleife benutzt werden, bei der ein Arbeitsspeicherregisterplatz solange um 1 vermindert wird, bis er auf Null angekommen ist, wodurch das Unterprogramm beendet und eine Vorwärtsverzwei­ gung nach einem neuen Teil der Mikrobefehle eingeleitet wird.
Diese beiden Bits bewirken nur ein zusätzliches Fortschalten des Befehlsadreßregisters, d. h., wenn diese Bedingung erfüllt ist, wird ein Befehl übersprungen. Der Prozessor weist außer­ dem ein äußeres Speicheroperationsregister 36 auf. Dieses Register steuert die Art der Aktivität des externen Speichers. Für die Speichersteuerung steht eine Mehrfach-Speicherübertragung einschließlich vom örtlichen Speicherregister nach externem Speicher, vom externen Speicher nach örtlichem Speicherregister, vom externen Speicher nach Steuerspeicher, Ein­ gabe/Ausgabe an externen Speicher und externer Speicher an Eingabe/Ausgabe zur Verfügung. In dieser Steuerung ist außerdem noch ein Speicherprioritätsbit enthalten. Durch dieses Bit wird der Prozessor freigegeben und gewinnt damit Zugriff nach einem externen Speicher. Das Prioritätsbit ge­ langt über die Auswahleingangsleitung 37 an den Prozessor und wird von diesem über die Auswahlausgangsleitung 38 abgegeben. Derjenige Prozessor, der das Speicherprioritätsbit hat, kann es solange halten, bis der derzeitige Speicherzugriff beendet ist.
Bei einer Übertragung von einem oder mehreren Bytes zwischen dem örtlichen Speicherregister (LSM) und dem externen Speicher wird die Anzahl der zu übertragenden Bytes in den Zähl­ registern 41 und 42 festgehalten. Wird deren Zählerstand bei 0 belassen, dann überträgt die Speichersteuerung ein Byte. In einer Speicherübertragung wird das Prioritätsbit freigegeben und wählt entweder nach jedem Byte oder dann, wenn der Zählerstand 0 ist, die Ausgangsleitung aus. In einer Speicherübertragung und Halteoperation werden die Bytes immer noch, wie soeben beschrieben, übertragen, jedoch wird das Speicherprioritätsbit solange nicht freigegeben, bis eine weitere Speichersteuerung für die Freigabe dieses Bits geladen ist. Während dieser beiden Übertragungen kann der Prozessor keine anderen Befehle ausführen, bis die Speicher­ übertragung beendet ist.
Bei jeder Eingabe/Ausgabespeicherübertragung überträgt die E/A-Vorrichtung die Daten mit der Geschwindigkeit der E/A- Vorrichtung an den Massenspeicher und das Speicherprioritäts­ bit wird so lange festgehalten, bis der bestimmte Zählerstand übertragen ist. Wiederum kann das Übertragungs- und Wartebit vorhanden sein, so daß weitere Speicherübertragungen möglich sind. Während einer E/A-Speicherübertragung kann der Prozessor andere Befehel ausführen, kann jedoch keine indirekten oder externen Speicheroperationen einleiten.
Alle Speicherübertragungen laufen über das Speicherdatenregister (MDR) 44. Dies ist das einzige Register, das zwischen Prozessor und äußerem Lese/Schreibspeicher 26 eingeschaltet ist.
Eine Speicheradreßregistererweiterung, nämlich das externe Register 95, Fig. 2b steht ebenso für eine Erweiterung der Adressierbarkeit des Speichers zur Verfügung. Mit diesem Register kann der Prozessor bis zu 8 Megabyte Speicherkapazität eines externen Lese/Schreibspeichers direkt adressieren.
Die letzte Speichersteuerung betrifft das Laden des Steuer­ speichers. Wird ein externer Lese/Schreibspeicher benutzt, dann müssen Steuerspeicherbefehle geladen werden. Die in diesem Steuerspeicher eingespeicherten Befehle werden von einem äußeren Lese/Schreibspeicher aus eingespeichert.
Beim Laden eines Steuerspeichers ist die externe Speicher­ adresse eingestellt, die Rücklaufadresse ist fetgehalten, und der Speicherplatz im Steuerspeicher, an dem die Information geladen werden soll, steht zur Verfügung. Angenommen, die Anzahl der zu übertragenden (zu ladenden) Bytes ist ein­ gestellt, dann überträgt der Prozessor die Anzahl der ange­ gebenen Bytes und gibt dann die Steuerung an die festge­ haltene Adresse ab.
Der Prozessor benötigt einen Oszillator (Leitung 46) und eine Leitung für "Stromversorgung Ein- und Rückstellen" (Leitung 47). Nach der Rückstellung beim Einschalten steht die Funktion der externen E/A-Leitungen vollständig unter der Steuerung von Mikrobefehlen. Die Mikrobefehle werden von dem internen Steuerspeicher ausgeführt, bis das Bit 0 oder das höherwertige Bit des Paares des Befehlsadreßregister 28 und 29 auftritt. Das Auftreten dieser Bedingung zeigt an, daß die Mikrobefehle von einer externen Quelle kommen müssen.
Der Prozessor kann selbständig arbeiten, oder er kann an einem äußeren Lese/Schreibspeicher angeschlossen sein. Alle diese Datenübertragungen mit dem äußeren Speicher laufen über das 8 Bitspeicherdatenregister MDR 44 über die Ein­ gangs/Ausgangsleitungen 49. Diese Leitungen 49 können in beiden Richtungen betrieben werden.
Der äußere Speicher wird unmittelbar durch 23 Speicheradreßleitungen angesteuert. Acht dieser Adreßleitungen sind Seiten- oder Speichergruppenadressen. Diese acht Leitungen können nur geladen werden. Die anderen 15 Adreßleitungen können durch das örtliche Speicherregister 30 geladen werden und werden nach jedem Speicherzugriff automatisch fortgeschaltet. Sobald das derzeit adressierte Byte übertragen wird, wird die Adresse automatisch um 1 erhöht oder erniedrigt. Bei einer Übertragung zwischen dem Speicherregister 30 und dem externen Speicher 26 oder dem Speicherregister 30 und E/A werden außerdem das Adreßregister 51 und das Zählregister 41, 42 automatisch weitergeschaltet.
Zwei externe 8-Bitregister 93 und 94, Fig. 2b können geladen werden, wodurch direkte Umwandlungen von intern auf extern möglich sind. Die dorthin führenden Leitungen können als Eingabe/Ausgabeanschlüsse für eine Verbindung mit dem steuernden Mikrobefehlsprogramm benutzt werden. Diese Leitungen können ebenfalls in beiden Richtungen betrieben werden. Drei externe Leitungen stehen zur Verfügung, die für eine bedingte Verzeigung benutzt werden können. Diese drei Leitungen können für eine Unterbrechung der Steuereinheit oder als Prioritätssteuerleitungen eingesetzt werden.
Der interne Steuerspeicher und die Befehlsadressierung von Block 24 in Fig. 1 sind in Fig. 2A zu sehen. Der Prozessor ist im wesentlichen ein 12-Bitprozessor, d. h., die Grund­ operationen der Schaltung erfordern einen 12-Bitbefehl mit 4 Bit höherer Ordnung, die Art und Länge angeben, und 8 Bit niedriger Ordnung, die Modifizierbits, unmittelbare Daten oder Adressen enthalten.
Der Steuerspeicher, unabhängig davon ob es der interne, auf dem Chip befindliche Steuerspeicher 18 oder der externe Steuerspeicher 17 ist, wird unter Verwendung eines Paars von 8-Bit-Adreßregistern, Befehlsadreßregister (IAR hoch) 29 und Befehlsadreßregister (IAR niedrig) 28 adressiert, die zusammenarbeitende, schrittweise fortschaltbare, miteinander verbundene Register sind, und die miteinander kombiniert werden können, so daß sie als einziger 11- oder 15-Bit-synchron laufender Zähler arbeiten können. Das höchstwertige Bit oder Bit 0 von (IAR hoch) 29 bestimmt dabei, ob der auf dem Chip befindliche Steuerspeicher 18 oder der externe Steuerspeicher 17 adressiert werden soll. Wenn diese Bitposition eine logische 1 enthält, dann wird der externe Steuerspeicher durch Freigabe der Tore 53 und 54 benutzt, während dann, wenn in dieser Bitposition eine logische 0 enthalten ist, der innere Steuerspeicher 18 adressiert wird. Bei Verwendung des internen Steuerspeichers 18 werden 11 Bits der Adresse für eine Freigabe der Adressierung von 2048 Wortadressen auf der Chipspeicheranordnung benutzt. Wenn dagegen der zusätzliche Steuerspeicher 17 adressiert wird, dann werden alle verbleibenden 15 Bits der beiden Register dazu benutzt, die Adressierung von zusätzlichen 32k oder 32 768 Wortspeicherplätzen über die Datenleitungen 56, 57 freizugeben.
Die variable Adressenlänge des Steuerspeichers auf dem Chip und außerhalb des Chips wird dadurch ermöglicht, daß die Übertragsschaltung zwischen den Bits 4 und 5 des Be­ fehlsadreßregisters (IAR hoch) 29 modifiziert wird, wie dies Fig. 3 zeigt. Wenn das Bit 0 eine logische 1 enthält, die anzeigt, daß der externe Steuerspeicher benutzt werden soll, dann wird das UND-Glied 59 freigegeben, wenn das Ausgangssignal des Übertrags vom Bit 5 auf Leitung 60 gleichzeitig auftritt, und einen normalen Übertrag nach der Bitposition 4 bewirkt. Wenn das Bit 0 eine logische 0 enthält, dann bewirkt ein von der Bitposition 5 über Leitung 60 ankommender Übertrag (der anzeigt, daß die letzte Speicherposition des auuf dem Chip befindlichen Steuerspeichers 18 abgefragt wurde), daß das UND-Glied 61 entsperrt und damit das Bit 0 mit einer logischen 1 lädt und die Bits 1 bis 15 mit einer logischen 0 versieht für einen Zugriff zur ersten Adresse in dem (außer­ halb des Chips gelegenen) externen Steuerspeichers 17. Die Bits 1 bis 15 werden dadurch zu 0, daß die Bits 1 bis 4 bereits eine logische 0 enthalten und daß beim Auftreten eines vom Bit 5 kommenden Übertrages alle Bitpositionen 5 bis 15 ebenfalls eine logische 0 annehmen.
Die Steuerung erfährt noch dadurch eine zusätzliche Flexibilität, daß für den Steuerspeicher eine Taktschaltung und außerhalb des Chips eine Decodierschaltung vorgesehen ist, die parallel mit der auf dem Chip befindlichen Steuerspeicher­ anordnung adressiert wird.
Die Steuerspeicher-Taktschaltung der Fig. 4 bildet einen Teil der Takt- und Steuerschaltung, die die Taktimpulse für den Prozessor liefert und außerdem bewirkt, daß der Taktgenerator des Prozessors bei Erzeugung einer Zyklusanforderung gesperrt wird. Diese Sperrung des Taktgenerators wird bei Aufnahme eines die Beendigung eines Zyklus anzeigenden Signals aufgehoben. Dadurch wird der Prozessor von den Zyklus­ zeiten des Steuerspeichers unabhängig, was besonders dann wichtig ist, wenn der auf dem Chip und der außerhalb des Chips befindliche Steuerspeicher beide benutzt werden, da der außerhalb des Chips befindliche Steuerspeicher 17 normalerweise langsamer arbeitet als der auf dem Chip befindliche Steuerspeicher 18. Dadurch wird eine dynamische Steuerung erzielt, die unabhängig von Geschwindigkeitsunterschieden ist, die sich bei verschiedenen Speicheranordnungen ergeben können.
Die außerhalb des Chips angeordnete Änderungsschaltung der Fig. 5 wird zusammen mit dem als Festwertspeicher ausgelegten auf dem Chip angeordneten Steuerspeicher 18 benutzt, der nicht geändert werden kann, es sei denn, durch die Verwendung eines vollkommen neuen Chips oder die Benutzung des außerhalb des Chips gelegenen Steuerspeichers 17 ohne die Benutzung des auf dem Chip liegenden Steuerspeichers 18. Der logische Zustand der Bitpositionen 5 bis 15 der Befehlsadreßregister 28 und 29 wird unter Verwendung der wahren und komplementären Leitungen, die als Bit 5 bis 15 dargestellt sind, miteinander verbunden, wobei das Komplement eines jeden Bit durch eine Inverterstufe 66 erzeugt wird. Während jedes Zugriffs zum Steuerspeicher erfolgt der Zugriff zum externen Steuerspeicher, wenn das Bit 0 eine logische 1 enthält. Wenn das Bit 0 eine logische 0 enthält, dann wird der auf dem Chip befindliche Steuerspeicher 18 adressiert, es sei denn, daß die UND- Bedingungen einer aus UND-Gliedern bestehenden Änderungsschaltung, wie z. B. die UND-Glieder 67, 68 und 69 befriedigt werden. Wird eines der UND-Glieder der Änderungsschaltung befriedigt, dann wird durch den Ausgang dieses UND-Gliedes das auf der Leitung liegende Bit 0 zwangsläufig zu einer logischen 1 gemacht, so daß diese Adresse nach der entsprechend gekennzeichneten Adresse des außerhalb des Chips liegenden Steuerspeichers 17 gerichtet wird. Wie gezeigt, ist das UND-Glied 67 nur mit den drei höherwertigen Bits 5, 6 und 7 verbunden, so daß eine Gruppe von 256 bis 2048 Befehlen von dem externen Steuerspeicher 17, statt von dem auf dem Chip befindlichen Steuerspeicher 18 erhalten wird, während das UND-Glied 68 nur mit den höherwertigen Bits 5 und 6 verbunden ist und damit die 512 aufeinanderfolgenden Befehle der normalerweise durch die Bits 5 bis 15 adressierten 2048 Befehle substituiert. Falls nur ein einziger Befehl substituiert werden soll, wird ein UND-Glied mit 11 Eingangsleitungen, wie z. B. das UND-Glied 69, verwendet, das eine einzige aus 11 Bit bestehende Adreßkombination zu erkennen vermag. Durch Zufügen weiterer UND-Glieder zum Erkennen gewünschter Adreßkombinationen ist es möglich, selektiv den externen Steuerspeicher 17 anstelle des auf dem Chip befindlichen Steuerspeichers 18 einzusetzen. Jeder sequentielle Befehl wird in ein Paar Befehhlsregister (IR) nämlich (IR niedrig) 71 und (IR hoch) 72 geladen. Diese Befehle können entweder von dem auf dem Chip befindlichen Steuerspeicher 18 oder von dem außerhalb des Chips gelegenen Steuerspeichers 17 abgeleitet werden. Diese Auswahl wird durch die Torschaltung 76 für (IR hoch) 72 und die Torschaltung 75 für (IR niedrig) 71 bewirkt. Der Speicherinhalt von (IR niedrig) 71 kann selektiv nach dem Befehlsadreßregister (IAR niedrig) 28, nach der Datensammelleitung 74, nach der Takt- und Steuer­ schaltung 63 oder den externen Steuerspeicherbits 0 bis 7 auf der Datenleitung 56 durchgeschaltet werden. Der Speicher­ inhalt des Befehlsregisters (IAR hoch) 72 läßt sich selektiv nach der Takt- und Steuerschaltung 63, nach dem Befehlsadreßre­ gister (IAR hoch) 29 oder über die Datenleitung 57 nach den Bit­ positionen 8 bis 15 des externen Steuerspeichers 17 durch­ schalten.
Da die Schnittstelle der nach dem externen Steuerspeicher 17 führenden Datenleitungen 56 und 57 insgesamt 16 Bit umfaßt, nehmen die Befehlsregister 71 und 72 des Prozessors ein 16-Bit-Eingangssignal für die Adressierung auf, welches so modifiziert wird, daß es die beiden Adressen aufnehmen kann. Wenn eine 15-Bit-Adresse benutzt werden soll, werden die Registerinhalte von (IR hoch) 72 bzw. (IR niedrig) 71 nach (IAR hoch) 29 bzw. (IAR niedrig) 28 durchgeschaltet. Wenn jedoch eine 12 Bitadresse von den Befehlsregistern nach dem Befehlsadreßregister durchgeschaltet werden soll, dann werden jeweils der Speicherinhalt der (IR hoch) 72 Bit 1 bis 3 nach den Bitpositionen 5 bis 7 von (IAR hoch) 29 übertragen, während das Bit 0 mit einer logischen 0 bewirkt, daß die Bits 5 bis 15 für die Adressierung des auf dem Chip befindlichen Steuerspeichers 18 verwendet werden, während die Bits 1 bis 4 nicht benutzt werden. Auf diese Weise wird ein verketteter Adreßabschnitt in den Fällen erzeugt, wo nur 12 Bits für die Adressierung eingesetzt werden.
Die an den Steuerspeicher gerichtete Zyklusanforderung, die die Taktgabe des Prozessors sperrt, sowie die Wiederauf­ nahme der Prozessortaktgabe am Ende eines Zyklus, werden durch die Prozessortaktschaltung in Fig. 4 bewirkt, die ein Teil der logischen Schaltung in der Takt- und Steuerschaltung 63 ist. Während eines jeden Befehlszyklus wird ein Zugriff zum Steuerspeicher eingeleitet. Der Befehlszyklus wird durch die Taktzyklen oder Taktzeitpunkte 1, 2, . . . n in Fig. 4 dargestellt, wo zum Taktzeitpunkt n eine Zyklusan­ forderung auf der Leitung 77 erzeugt wird. Der Taktzyklus wird auf ein bei Anschalten der Stromquelle auf Leitung 47 erzeugtes Rückstellsignal eingeleitet, das die bistabile Kippschalter 79 einstellt, die auf ihrer Ausgangsleitung 78 eine den Taktimpuls 1 darstellende logische 1 abgibt. Da beim Auftreten des nächsten über Leitung 46 ankommenden Oszillatorzyklus auf der Leitung 85 eine logische 0 liegt, nimmt die Leitung 86 zur Darstellung des Taktsignals 2 bei Einstellung der bistabilen Kippschaltung 80 durch die über Leitung 84 zur Darstellung des Taktimpulses 1 ankommende logische 1 die logische 1 an, und der Taktimpuls auf Leitung 84 geht damit auf den logischen Wert 0. Jeder nachfolgende Oszillatorimpuls stellt die nächstfolgende Taktleitung ein und stellt die davorliegende bistabile Kippschaltung und Taktleitung zurück, bis die Taktleitung n durch Einstellung der bistabilen Kippschaltung 81 eine logische 1 annimmt. Das Ausgangssignal der Taktleitung n der Kippschaltung 81 wird einem ODER-Glied 88 zugeführt, das damit durchschaltet und somit bewirkt, daß die Ausgangsleitung 77 der bistabilen Kippschaltung 82 beim nächsten Oszillatorimpuls auf eine logische 1 eingestellt wird. Diese Leitung 77 erzeugt damit eine Zyklusanforderung und befriedigt die Bedingungen des UND-Gliedes 89 (die das Ende eines Zyklus anzeigende Leitung 90 liegt dabei auf logisch 0), so daß das ODER-Glied 88 trotz der Beendigung des Taktsignals n betätigt bleibt. Daher bleibt die Kippschaltung 82 eingeschaltet und hält dieses Bit bis das auf der Leitung 90 liegende, das Ende eines Zyklus anzeigende Signal ebenfalls invertiert wird und damit das UND-Glied 89 sperrt, so daß die Leitung 91 auf eine logische 0 geht, worauf der nächste Oszillatorimpuls die Kippschaltung 82 betätigt, die Zyklusanforderung beendet und außerdem die bistabile Kippschaltung 83 ein­ schaltet, die über die Leitung 85 ein Ausgangssignal liefert, das die Folge wieder aufnimmt, wodurch die Kippschaltung 79 zur Erzeugung eines weiteren ersten Taktsignals eingeschaltet wird. Man sieht, daß die Zahl n für den letzten Taktzeitpunkt eine beliebige Zahl sein kann, daß die Zyklusanforderung an jeder Zwischenposition in der Taktfolge auftreten kann und daß eine Anzahl von Unterbrechungen der Zyklusanforderung in einem Taktzyklus vorgesehen sein können.
Der Arbeitsspeicher 20 in Fig. 1 enthält die Arbeits­ speicherregister 30 und das Adreßregister 51 in Fig. 2. Der Arbeitsspeicher 20 enthält 68 je 8 Bit fassende Register. Diese Register können einerseits als 8-Bitregister arbeiten, wenn sie in Verbindung mit der ALU 22, den externen Registern 93, 94 und 95 oder der Speicher­ steuerung im Block 24 eingesetzt werden, oder sie können paarweise in Verbindung mit dem externen Lese-/Schreib­ speicher 26 als 16-Bitregister benutzt werden.
Block 23 des Datenfluß-Blockdiagramms in Fig. 1 enthält, wie in Fig. 2 gezeigt, die Takt- und Steuerschaltung 63, die arithmetische und logische Einheit (ALU) 22 und zahlreiche Hilfsvorrichtungen und Schaltungen, die mit der ALU zusammenwirken. Die ALU weist dabei Eingaberegister 97 und 98 auf, wobei das Register 98 entweder die wahren oder die komplementären Werte des Registerinhaltes abzugeben vermag.
In Kurzwort-Mikroprozessoren stehen ALU-Steuerbits immer weniger zur Verfügung. Um diesen Nachteil auszugleichen, wird ein 8-Bit ALU-Operationsregister (AOP) 32 zum Abspeichern dieser Information vorgesehen. Dadurch ergibt sich eine Einsparung von Mikrocodebits, da der Mikrocode nur dann die Funktion der ALU verändern muß, wenn dies erforderlich ist. Wiederholte Operationen können dadurch ausgeführt werden, daß man die Eingangsdaten mit den nach der Datenleitung 74 durchgelassenen Daten nur dann ändert, wenn ein Speicherbefehl vorhanden ist. Die im AOP 32 angezeigte Operation wird in einer Decodierschaltung 99 decodiert, die auf einer Reihe von 6 Torleitungen 100 ein Ausgangssignal liefert, das an die ALU zur Steuerung von deren Arbeitsweise übertragen wird. Die 6 Torleitungen 100 werden entsprechend der Wahrheitstabelle in Fig. 6 betätigt und liefern ein Ausgangssignal, das entweder für die A- oder B-Register 97, 98 das gleiche ist oder aber eine UND-Verknüpfung, ODER-Verknüpfung, Exklusiv-ODER-Ver­ knüpfung und Addition des Inhalts der beiden Eingangsregister 97, 98. In der Wahrheitstabelle sind 1 und 0 die üblichen logischen Werte, während die Leerstellen als unentschieden gelten.
Fig. 7 zeigt ein Schaltbild einer Bitposition, der von der entsprechenden Bitposition einer jeden der beiden ALU-Eingangs­ register A und B, ein Eingangssignal zugeführt wird. Diese Eingangssignale sind An bzw. Bn. Die Bitposition enthält eine Addierschaltung, die zwei in Reihe geschaltete Exklusiv- ODER-Glieder mit einem Ausgang Rn und einer Übertragsschaltung mit einem Ausgangssignal Cn aufweist. Das erste Exklusiv-ODER-Glied ist den als Last wirkenden Transistoren 101 und 102 zugeordnet, und das zweite Exklusiv-ODER-Glied ist den als Last arbeitenden Transistoren 103 und 104 zugeordnet. Die der Last 101 zugeordnete Schaltung enthält die Feldeffekttransitoren 105, 106, 107 und 108. Die Eingänge An und Bn sind jeweils an den Gate-Elektroden der Transistoren 105 und 106 angeschlossen, und die Gate-Leitungen G1 und G2 sind an den Gate-Elektroden der Feldeffekttransistoren 107 bzw. 108 angeschlossen. Der Ausgang der mit der Last 101 verbundenen Schaltung ist an der Gate-Elektrode des Feld­ effekttransistors 109 angeschlossen, die ebenfalls der Last 102 zugeordnet ist. Dieser Last sind ferner die Feldeffekt­ transistoren 110, 111, 112 und 113 zugeordnet. Der Eingang An ist an der Gate-Elektrode des Feldeffekttransistors 111, und der Eingang Bn ist an der Gate-Elektrode des Feldeffekt­ transistors 112 angeschlossen, während die Gate-Leitungen G3 und G4 an den Gate-Elektroden der FETs 110 bzw. 113 angeschlossen sind. Der Ausgang der der Last 102 zugeordneten Schaltung, welcher gleichzeitig der Ausgang der ersten beiden in Reihe geschalteten Exklusiv-ODER-Glieder ist, ist an den Gate-Elektroden der FETs 114 und 115 angeschlossen, die den Lasten 103 und 104 der zweiten Exklusiv-ODER-Schaltung zugeordnet sind. Die Gate-Leitung G3 ist außerdem am Gate des FET 116 und die Gate-Leitung G5 am Gate des FET 117 angeschlossen. Das Übertragssignal der nächst vorhergehenden Bitposition liegt an den Gate-Elektroden der FETs 117 und 119 an und wird als Cn-1 bezeichnet. Der Ausgang des zweiten Exklusiv-ODER-Gliedes wird als Rn bezeichnet und stellt außerdem die Ausgangsleitung für diese Bitposition der ALU dar.
Die entsprechende Übertragsschaltung für die Bitposition verwendet die Lasten 120 und 121, wobei das Eingangssignal An den Gate-Elektroden der FET 122 und 124 und das Eingangs­ signal Bn den Gate-Elektroden der FETs 123 und 125 zugeleitet wird und das Übertragssignal von der vorhergehenden Bitposition als ein Eingangssignal der Gate-Elektrode des FET 126 zugeführt und mit Cn-1 bezeichnet wird. Man erkennt, daß die der Last 120 zugeordnete Schaltung drei UND-Glieder aufweist, die auf Leitung 129 eine logische 0 darstellen, wenn auf einem der Eingänge An, Bn und Cn-1 eine logische 1 auftritt. Das Ausgangssignal der der Last 120 zugeordneten Schaltung wird der Gate-Elektrode des FET 127 zugeleitet, der der Last 121 zugeordnet ist. Der Last 121 ist ebenfalls ein Feldeffekttransistor 128 zugeordnet, an dessen Gate-Elektrode die Gate-Leitung G6 angeschlossen ist. Wenn die Gate- Leitung G6 aktiv ist, dann liegt am Ausgang Cn eine logische 0, und die Übertragsfunktion der Schaltung wird dadurch praktisch beseitigt.
Wie in der Wahrheitstabelle der Fig. 6 angedeutet, können die ALU-Schaltungen verschiedene Funktionen dadurch darstellen, daß man die Gate-Leitungen G1 bis G6 entsprechend ansteuert. Sind beispielsweise die Gate-Leitungen G1 bis G4 aktiv und die Gate-Leitungen G5 und G6 passiv oder inaktiv, dann arbeitet die ALU-Bitpositionsschaltung als Addierstufe, wobei das erste den Lasten 101 und 102 zugeordnete Exklusiv-ODER- Glied die der jeweiligen Bitposition entsprechenden Eingangssignale An und Bn aus den Registern A und B aufnimmt. Das Ausgangssignal dieses Exklusiv-ODER-Glieds wird als eines der Eingangssignale dem mit den Lasten 103 und 104 verbundenen Exklusiv-ODER-Glied zugeführt, während dessen anderes Eingangssignal das von der vorhergehenden Bitposition kommende Übertragssignal ist. Durch selektive Erregung der Gate-Leitungen G1 bis G6 können die Übertragsschaltungen und verschiedene Abschnitte des Exklusiv-ODER-Gliedes zur Durchführung verschiedener anderer Funktionen einschließlich des Ausspeicherns des Inhalts der A- oder B-Register durch die ALU oder die Durchführung einer ODER- und/oder Exklusiv-ODER- Verknüpfung mit dem Inhalt der A- und B-Register nach der ALU durchführen. Wenn der Speicherinhalt des A-Registers oder des B-Registers durch die ALU hindurchgeleitet wird, dann sind dabei die jeweilige Gate-Leitung G1 oder G2 sowie die Gate-Leitungen G3 und G6 aktiv, während die Gate-Leitungen G4 und G5 nicht betätigt sind, so daß die mit den Lasten 101, 102, 103 und 104 verbundenenn Schaltungen als eine Reihe von vier Inverterstufen arbeiten. In gleichartiger Weise wird die ODER-Verknüpfung durch die Betätigung ausgewählter Gate-Leitungen dargestellt, wodurch die mit der Last 101 verbundene Schaltung als ODER-Inverterstufe arbeitet, auf die drei mit den Lasten 102, 103 und 104 verbundene Inversionsstufen folgen. Zur Durchführung der UND-Verknüpfung wird durch Sperrung der Gate-Leitungen G3 und Betätigung der Gate-Leitung G6 die mit den Lasten 101 und 103 verbundene Schaltung wirksam abgeschaltet, während die mit der Last 102 verbundene Schaltung sich als UND-Inverterstufe, gefolgt von einer mit der Last 104 verbundenen Inversions­ schaltung darstellt. Zur Darstellung der Exklusiv-ODER-Ver­ knüpfung arbeitet die mit den Lasten 101 und 102 verbundene Exklusiv-ODER-Schaltung wie bei der Addierfunktion, wobei jedoch die Betätigung der Gate-Leitung 6 bewirkt, daß die zugehörigen Lasten 103 und 104 als doppelte Inversion für das Ausgangssignal des Exklusiv-ODER- Gliedes wirken, so daß das Ausgangssignal Rn mit dem Aus­ gangssignal des Exklusiv-ODER-Gliedes identisch ist.
Das tatsächliche Ergebnis der Betätigung der einzelnen Gate-Leitungen in Fig. 6 in ihrer Anwendung auf die in Fig. 7 dargestellte repräsentative Bitposition ist in Fig. 13 gezeigt. Fig. 13a zeigt die Addierschaltung mit den beiden Exklusiv-ODER- Gliedern und den beiden Eingangssignalen An und Bn sowie das Ausgangssignal der vorhergehenden Bitposition als Übertrag Cn-1, die die Eingangssignale zur Abgabe des Aus­ gangssignals der Addierstufe darstellen. Fig. 13b zeigt die gleiche Schaltung, bei der das Sperren des Übertrages von der vorhergehenden Bitposition bewirkt, daß die Schaltung auf die An- und Bn-Eingangssignale das Ausgangssignal des ersten Exklusiv-ODER-Gliedes abgibt, während der Rest der Schaltung lediglich als doppelte Inversion arbeitet. In Fig. 13c wird die UND-Verknüpfung dadurch dargestellt, daß die den Lasten 101 und 103 zugeordnete Schaltung unwirksam gemacht wird. Die Last 104 und die zugehörige Schaltung arbeiten im Anschluß an die UND-Verknüpfung als Inverterstufe. Zur Darstellung der ODER-Verknüpfung (Fig. 13d) der Eingangssignale An und Bn bewirkt die selektive Betätigung der Gate-Leitungen, daß die mit den Lasten 102, 103 und 104 verbundenen Schaltungen sich als eine Reihe von drei Inverterstufen darstellen, die der der Last 101 zugeordneten ODER-Verknüpfung folgen. Wie aus Fig. 13e und 13f zu erkennen, läßt sich das Eingangssignal An oder Bn dadurch durchschalten, daß die Gate-Leitungen G1 bzw. G2 betätigt werden, während die Gate-Leitungen G3 und G6 aktiv sind, so daß das ausgewählte Eingangssignal am Ausgang auftritt, während die vier Lasten und die zugehörigen Schaltungen in jedem Fall als eine Reihe von vier Inverterstufen wirken.
Die Verwendung einer Minimaske 13a in Form eines Festwertspeichers (ROS) als eine wahlweise verwendbare Einrichtung zum Laden von Daten in einer Anzahl von Registern und Funktionssteuerschaltungen bewirkt, daß in ausgewählten Fällen der Prozessor die Eigenschaft eines Lang­ wortmikroprozessors besitzt. Dieser Festwertspeicher wird durch fünf über die Datenleitung 132 ankommende Bits (das sind die Datenbits 3 bis 7 der Datenleitung 74) adressiert, wodurch 32 Speicherplätze gekennzeichnet werden, die je 18 Bit breit sind. Jeder Speicherplatz im Festwertspeicher der Minimaske 34 liefert 8 Bits nach dem AOP-Register 32 auf der Datenleitung 135, 8 Bitss an das Eingangsregister 98 auf der Datenleitung 134 und 2 Bits Funktionssteuerinformation an die Takt- und Steuerschaltung 63 über Leitungen 133. Demgemäß bewirkt die Minimaske im ROS 34 eine Komprimierung von zwei Befehlen plus Funktionssteuerung zu einem einzigen Befehl, wodurch sowohl ein Mikrocode als auch Exekutionszeit in einem Kurzwortprozessor eingespart wird.
Gemäß Fig. 8 und 9 besteht die Minimaske 34 aus einer fünf Einzelleitungen enthaltenden Datenleitung 132, wobei jede der Datenleitungen an einer Inverterstufe 136 angeschlossen ist, die auf einer Leitung 137 ein wahres Ausgangssignal und auf einer Leitung 138 ein komplementäres Ausgangssignal liefert. Eine Serie von 32 negativen UND-Gliedern 140 dient der Decodierung der verschiedenen Kombinationen der 5 Bit Eingangs­ signale über die entsprechenden unterschiedlichen Anschlüsse mit den 10 wahren und komplementären, eingangsseitig ange­ schlossenen Leitungen. Eine Serie von 18 NOR-Gliedern 141 bildet die 18×32-Bit-Anordnung des Festwertspeichers ROS. Das Ausgangssignal jedes negativen UND-Gliedes 140 ist mit den entsprechenden Gate-Positionen eines jeden der 18 NOR-Glieder 141 verbunden. Ist ein Gate-Anschluß vorhanden, dann wird das Ausgangssignal auf der entsprechenden Leitung 142 auf niedrigem Potential oder auf logisch 1 liegen. Ist keine Gate-Elektrode vorhanden, dann wird das Ausgangssignal auf der Leitung 142 ein positives Potential oder eine logische 0 sein. Die 18 Ausgangsleitungen der NOR-Glieder 141 bilden die Datenleitungen 133, 134 und 135.
Innerhalb der Speichersteuerung, Fig. 10, des Prozessors bilden die­ jenigen logischen Schaltungen, die zwischen der mit Schiebe­ biteingang 144 und Schiebebitausgang 145 bezeichneten Leitungen liegen, eine Bitposition eines freilaufenden Ringzählers. Ein über Leitung 144 ankommendes Bit wird als negativer Impuls aufgenommen, in der Inverterstufe 146 invertiert und als positives Signal an die Leitung 147 abgegeben. Da die Leitung 148 ebenfalls positiv ist, mit Ausnahme der Fälle, wenn ein Bit bereits in der Bitposition ist, wird das UND-Glied 149 befriedigt und ein auf der Leitung 150 auftretendes positives Ausgangssignal bewirkt, daß die bistabile Kippschaltung 151 eingestellt wird, und auf Leitung 152 ein positives und auf Leitung 153 ein negatives Ausgangssignal liefert. Solange die Kippschaltung 151 eingestellt ist, hat der dieser Bitposition des Ringzählers zugeordnete Prozessor das Bit zur Verfügung und hat Zugriff zu dem zuge­ ordneten Speicher. Ist keine Speicheranforderung vorhanden, dann wird die Kippschaltung 155 nicht eingestellt und die Leitung 156 ist positiv, so daß, da die Leitung 157 ebenfalls gewöhnlich positiv ist, das NAND-Glied 158 befriedigt wird, und damit auf der Leitung 159 ein negatives Ausgangs­ signal abgibt, wodurch das negative UND-Glied 160 befriedigt wird und ein positives Ausgangssignal erzeugt, das die bistabile Kippschaltung 161 einstellt. Wenn die Kippschaltung 161 eingestellt ist, dann liegt auf der Leitung 162 ein positives Signal, so daß das Ausgangssignal der Inverterstufe 164 auf Leitung 145 als negativ gerichteter Teil eines Minusimpulses negativ wird. Das positive auf Leitung 162 liegende Signal gelangt ebenfalls an das NOR-Glied 165, das dadurch befriedigt wird, und ein negatives Ausgangssignal auf Leitung 166 erzeugt, das wiederum die Kippschaltung 151 zurückstellt, so daß das Ausgangssignal auf Leitung 152 ebenfalls negativ wird, wodurch wiederum die Kippschaltung 161 zurückgestellt wird, mit der Wirkung, daß auf Leitung 162 ein negatives Ausgangssignal auftritt, das in der Inverter­ stufe 164 invertiert und als positives Ausgangssignal oder der Hinterkante eines negativ gerichteten Impulses auf der Leitung 145 erscheint, wodurch tatsächlich dieses Bit nach der nächsten Bitposition des Ringzählers, welche einem weiteren Prozessor zugeordnet ist, der Zugriff zum Speicher hat, fortschaltet.
Wird eine Speicheroperation angefordert, dann kann eine solche Anforderung durch jede der drei Leitungen 168 eingeleitet werden, wodurch auf der Leitung 169 ein positives Ausgangs­ signal auftritt, das die bistabile Kippschaltung 155 einstellt. Diese bistabile Kippschaltung 155 dient als Ver­ riegelungsschaltung, die, wenn sie eingestellt ist, anzeigt, daß eine Speicheranforderung vorliegt. Ist die Kippschaltung 155 eingestellt, dann sperrt das positive, auf der Leitung 170 liegende Ausgangssignal über das negative UND-Glied 171 den Taktgenerator des Prozessors, bis der Speicherzugriff beendet und die Kippschaltung 155 zurückgestellt ist. Das Minusausgangssignal auf Leitung 156 verhindert, daß NAND-Glied 158 befriedigt wird, wodurch die Einstellung der bistabilen Kippschaltung 161 verhindert und damit das Schieberegister­ bit in der Kippschaltung 151 zu dem Zeitpunkt gespeichert gehalten wird, zu dem es diese Position im Ringzähler das nächste Mal durchläuft, bis der durch diesen Prozessor ange­ forderte Speicherzugriff beendet ist. Zu dem Zeitpunkt, zu dem die Verriegelungsschaltung 155 für Speicheranforderung eingestellt wird, lädt das gleiche Signal ein Zählsignal in die Zählregister 41 und 42, das die Anzahl der erforderlichen Speicherzugriffszyklen anzeigt. Wenn der Zählerstand voll auf 0 zurückgegangen ist, dann sind beide negativen UND-Glieder 175 und 176 befriedigt und liefern auf den Aus­ gangsleitungen 177 und 178, die an das NAND-Glied 179 gehen, positive Ausgangssignale. Ein dritter Eingang des NAND-Glieds 179 kommt über Leitung 180, die nur dann positiv sein kann, wenn eine Speicherzugriffsanforderung ansteht und die Kippschaltung 155 eingestellt ist, was anzeigt, daß in dieser Bitposition ein Auswahlbit eingespeichert ist.
Wenn das nächste Auswahlbit in diese Ringzähler-Bitposition einläuft, wird der negative Impuls durch die Inverterstufe 146 invertiert, wodurch das UND-Glied 149 voll entsperrt wird, so daß die Kippschaltung 151 eingestellt wird. Dadurch bewirkt der auf Leitung 153 auftretende negative Ausgangs­ impuls, daß das negative UND-Glied 181 auf Leitung 180 einen positiven Ausgangsimpuls abgibt, der durch Inverterstufe 182 invertiert wird und damit ein negatives Ausgangs­ signal auf die Leitung 148 "Anforderung abgehend" legt. Die Leitung 182 bleibt auf einem hohen Potential, wenn sie nicht in einer noch zu beschreibenden Betriebsart benutzt wird. Das auf der Leitung 148 auftretenden negative, eine ab­ gehende Anforderung anzeigende Signal sperrt außerdem das UND-Glied 149, wodurch wirksam verhindert wird, daß ein Stör­ impuls mehr als ein Bit in dem Ring umlaufen läßt. Das auf der Leitung 180 liegende positive Signal wird außerdem als positives Eingangssignal dem NAND-Glied 179 zugeführt, wo­ durch das NAND-Glied 179 entsperrt wird und dann ein negatives Ausgangssignal abgibt, wenn beide Leitungen 177 und 178 ein positives Signal führen, das den Zählerstand 0 im Zähl-Register 41 oder 42 anzeigt, wenn die Anzahl der angeforderten Speicherzyklen abgearbeitet ist. Wenn der Speicherzugriffszyklus beendet ist, dann wird das NAND-Glied 179 befriedigt und liefert ein negatives Ausgangssignal, das durch die Inverterstufe 186 invertiert und als positives Ausgangssignal der vollständigen Entsperrung des NAND-Gliedes 185 dient, das auf der Leitung 187 ein negatives Ausgangssignal liefert, das seinerseits das Speicheroperationsregister 36 löscht und die Verriegelungsschaltung 155 zurückstellt. Damit nimmt das auf Leitung 156 liegende Ausgangssignal ein positives Potential an, so daß das negative UND-Glied 181 nicht befriedigt wird, womit das eine abgehende Anforderung kennzeichnende Signal beendet wird. Wenn auf der Leitung 156 ein positives Potential liegt, dann wird NAND-Glied 158 nicht länger gesperrt und ein auf der Leitung 159 liegendes negatives Ausgangssignal befriedigt das negative UND-Glied 160, so daß dessen positives Ausgangssignal die Kippschaltung 161 einstellt. Dadurch wird aber die Kippschaltung 151 zurückgestellt und auf der Schiebebit-Ausgangsleitung 145 wird, wie zuvor, ein negativ gerichteter Impuls dadurch erzeugt, daß das positive auf Leitung 162 liegende Signal invertiert wird, wodurch sich auf der Schiebebit-Ausgangsleitung 145 eine negativ gerichtete Impulskante ergibt, worauf die Befriedigung des NOR-Gliedes 165 einen negativen Impuls auf der Leitung 166 zur Folge hat, der wiederum die Kippschaltung 151 zurückstellt, so daß das auf der Leitung 152 auftretende Ausgangssignal auch die Kippschaltung 161 zurückstellt, womit das auf Leitung 162 auftretende negative Ausgangssignal, das durch die Inverterstufe 164 invertiert wird, bewirkt, daß die Schiebebit-Ausgangsleitung 145 wieder positiv wird, wodurch die Hinterkante des negativ gerichteten Ausgangsimpulses erzeugt wird.
In Fig. 11 sind mehrere Prozessoren, 1, 2 und 3 dargestellt, die Zugriff zu einem gemeinsamen äußeren Speicher 196 haben. Jeder Prozessor hat eine Speichersteuerschaltung, die eine Schaltung gemäß Fig. 10 und eine Anzahl von Leitungen 197 enthält, die die Schiebebiteingangs- und Schiebebitausgangs­ leitungen der einzelnen Prozessoren in der Weise miteinander verbinden, daß die Speichersteuerschaltungen den zuvor erwähnten freilaufenden Ringzähler bilden. Bei dieser Betriebsart sind die Mehrfach-Leitungen 183 (Fig. 10) jeder der drei zusammenarbeitenden Prozessoren an einer gemeinsamen positiven Spannung angeschlossen, wodurch eine solche Leitung von jeder Steuerfunktion wirksam ausgenommen ist. Bei dieser Betriebsart ist der Ausgang des NOR-Gliedes 181 effektiv die Leitung 180, so daß jeder der Prozessoren den externen Speicher 196 dann ansteuern kann, wenn die dazu gehörige Speichersteuerschaltung das entsprechende einzelne Bit innerhalb des Ringzählers hält.
Mehrere Ebenen des Speicherzugriffs sind in Fig. 12 gezeigt. Die sieben hier dargestellten Prozessoren sind über die Leitungen 199 zu drei voneinander getrennten Ringzählern zusammengefaßt. Alle sieben Prozessoren können unter den gleichen Bedingungen wie in Fig. 11 unter Verwendung eines einzigen Ringzählers, der alle Speicheradreß-Schieberegister­ bitpositionen enthält, nacheinander Speicherzugriff erhalten, doch wird öfters gefordert, daß eine oder mehrere Gruppen von Prozessoren eine höhere Priorität erhalten sollen als andere. Fig. 12 enthält einen zweiten Ringzähler einer zweiten Ebene 200, der ebenfalls ein freilaufender Ringzähler ist, in dem ein einziges Bit durch die Bitpositionen 1 bis 4, die durch die Leitungen 210 miteinander verbunden sind, umläuft. Dieses einzelne Bit wird solange kontinuierlich von einer Position nach der nächsten verschoben, bis es in einer Bitposition in Abhängigkeit von einer Anforderung für einen Speicher­ zyklus festgehalten wird, wie dies im Zusammenhang mit Fig. 10 beschrieben wurde, wobei das Bit, während es in einer der vier Bitpositionen eingespeichert liegt, die entsprechende Leitung 202 entsperrt. Das im Ringzähler 200 liegende Bit entsperrt diejenige Leitung 202, die an der Bitschaltung angeschlossen ist, in der das einzige Bit des Ringzählers gerade liegt. Jede Leitung 202 ist an den Mehrfach-Leitungen 183 der einzelnen Prozessorspeichersteuerschaltungen in der Weise angeschlossen, daß dieser eine auf Prozessorebene wirksame Speichersteuerring durch jede Bitposition dadurch entsperrt wird, daß die Mehrfach-Leitungen 183 für diesen Ring betätigt werden. Man sieht, daß die Ausgangsleitungen der Bitpositionen 1 und 3 des Ringzählers 200 miteinander verbunden sind, so daß der aus Prozessoren 1 bis 3 bestehende Ring in bezug auf Zugriff zu dem externen Speicher 198 eine erhöhte Priorität besitzt. Demgemäß verbessert die Verwendung eines einzelnen Ringes wie in Fig. 11 die Ausnutzung des äußeren Speichers dadurch, daß der Zugriff dynamisch erfolgt, statt mit fest zugeteilten Perioden oder Zeitabschnitten. Fügt man eine zweite Ebene der Zugriffs­ steuerung, wie z. B. in Fig. 12, hinzu, so kann man einem bestimmten Prozessor oder einer Gruppe von Prozessoren oder in veränderlicher Prioritätsabstufung in bezug auf ausge­ wählte Prozessoren oder Gruppen von Prozessoren Zugriffs­ prioritäten zum externen Speicher 198 zuordnen. Andere Verfahren zum Ansteuern der Mehrfach-Leitungen 183 reichen von einfachen Zählern bis zu einer intelligenten Steuerung unter Verwendung eines Prozessors, um damit unterschiedliche Prozessorprioritäten einsetzen zu können.
Eine über Leitung 148 abgehende Anforderung für Speicher­ steuerung entsperrt die Torschaltungen 189 und 190 und überträgt damit den Speicherinhalt des Speicheradreßregisters 191 bzw. 192 über die Datenleitungen 193 und 194 nach dem externen Speicher. In Abhängigkeit davon werden Adreßdaten zwischen externen Speichern und Speicherdatenregister (MDR) 44, das als Datenschnittstelle zwischen Prozessor und externen Speicher wirkt, übertragen. Weitere Übertragungsmöglichkeiten zwischen Prozessor und anderen angeschlossenen Geräten werden über das externe Register 93, das externe Register 94 und das externe Register 95 hergestellt.

Claims (18)

1. Einchip-Mikroprozessor (16) mit einer Datenflußsteuereinrichtung (23) enthaltend eine arithmetische und logische Einheit (ALU) (22), einem internen Steuerspeicher (24), einer Anzahl Eingabe/Ausgaberegister (44, 93, 94, 95) und einem Arbeitsspeicher (20), Speicheradreßregistern (189, 190, 191, 192) mit Befehlsadreßregistern (28, 29) und Datensammelleitungen (74, 84) für eine Verbindung der Datenflußsteuerungeinheit (23) mit den Befehlsadressenregistern, dem Arbeitsspeicher (20) und den E/A-Registern (44, 93, 94, 95) sowie einem extern anschließbaren Schreib-/Lesespeicher (26), dadurch gekennzeichnet, daß
zur Adressierung der Mikrobefehle ein Befehls­ adreßregister (28, 29) vorgesehen ist, dessen höchste Stelle den internen Steuerspeicher (18) bzw. einen außerhalb des Mikroprozessors (16) angeordneten, über einen Adreß-/Datenkanal (56, 57) mit dem Befehlsadreßregister (28, 29) und dem Befehlsregister (71, 72) verbundenen, externen Steuerspeicher (17) adressiert;
zur Ansteuerung eines externen Lese-/Schreibspeichers (26) eine Speichersteuerung (25) und damit verbundene Register (36, 41, 42) vorgesehen sind, von denen das Speicheroperationsregister (36) die Adresse und die durchzuführende Operation des Lese-/Schreibspeichers (26) enthält, und die Register (41, 42) einen Zähler für die zu übertragenden Bytes bilden; ein parallel mit dem internen Steuerspeicher (19) adressierbarer Arbeitsspeicher (20) vorgesehen ist, der paarweise angeordnete Arbeitsspeicherregister (30) umfaßt, die einzeln mit der ALU (22), mit Registern (93, 94, 95) für externe Geräte und mit der Befehlsadressierung (24) zusammenarbeiten, während jeweils ein Registerpaar eine Sprungadresse aus dem Befehlsadreßregister (28, 29) aufnimmt oder zur Ansteuerung des Lese-/Schreibspeichers (26) dient;
eine die ALU (22) steuernde Einrichtung (in 23) eine als Festwertspeicher ausgebildete Minimaske (34) enthält, die von einem Adressenregister (51) für das Arbeitsspeicherregister (30) im Arbeitsspeicher (20) adressiert wird, und die in Abhängigkeit vom Operationsteil des Befehls aus der Minimaske (34) gelesene Daten einem Eingangsregister (98) der ALU (22), einen gelesenen Befehlscode einem Operations­ coderegister (32) und gelesene Steuersignale einer internen Takt- und Steuerschaltung zuführt.
2. Einchip-Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß das Befehls-Adreßregister (28, 29) ein erstes Feld für die Auswahl des zu adressierenden Steuerspeichers (17 bzw. 18) und ein zweites Feld aufweist, das die Adresse des innerhalb des ausgewählten Steuerspeichers liegenden, zu adressierenden Speicherplatzes enthält.
3. Einchip-Mikroprozessor nach Anspruch 2, dadurch ge­ kennzeichnet, daß das erste Feld eine einzige Bitpo­ sition enthält, deren logischer Zustand (0, 1) bewirkt, daß entweder der interne oder der externe Steuerspeicher (18 bzw. 17) adressiert wird und daß bei Adressierung des internen Steuerspeichers weniger Bitpositionen des zweiten Feldes Verwendung finden als bei der Adressierung des externen Speichers.
4. Einchip-Mikroprozessor nach Anspruch 3, dadurch ge­ kennzeichnet, daß ein erster in zwei Richtungen betreibbarer Datenkanal den Prozessor mit dem Arbeits­ speicherregister (30) und ein zweiter, in zwei Richtungen wirksamer Datenkanal (44, 49) den Prozessor mit dem externen Steuerspeicher (17) verbinden, und daß der zweite Datenkanal eine größere Kapazität aufweist als der erste.
5. Einchip-Mikroprozessor nach Anspruch 3, dadurch gekennzeichnet, daß für die Auswahl der Adressierung ein logisches Schaltglied (59) vorgesehen ist, das eingangsseitig an der Bitposition (0) des ersten Feldes und am Übertragausgang der höchsten bei der Adressierung des internen Steuerspeichers (18) benutzten Bitposition angeschlossen ist und dann ein Ausgangssignal an die nächste höhere Bitposition abgibt, wenn ein Übertrag (Leitung 60) auftritt, während die Bitposition des ersten Feldes den zweiten logischen Zustand (Bit 0) anzeigt, und dann, wenn der Übertrag auftritt, während die Bitposition des ersten Feldes (Bit 0) den ersten logischen Zustand aufweist, die Bitposition des ersten Feldes in den zweiten logischen Zustand ändert und gleichzeitig das zweite Feld mit der ersten Adresse des externen Steuerspeichers (17) lädt.
6. Einchip-Mikroprozessor nach Anspruch 5, dadurch gekennzeichnet, daß der interne Steuerspeicher (18) einen Festwertspeicher (34) enthält, während der externe Steuerspeicher (17) einen mit dem Prozessor verbundenen und parallel mit dem örtlichen Steuerspeicher adressierbaren ladbaren Steuerspeicher (26) enthält, wobei der Ausgang dieses ladbaren Steuerspeichers an die Bitposition des ersten Feldes anschaltbar ist und daß damit dieser Steuerspeicher die Bitposition des ersten Feldes auf dem zweiten logischen Wert hält, wenn durch den ladbaren Steuerspeicher eine Adresse des örtlichen Steuerspeichers (18) erkannt ist, so daß die feste örtliche Steuerung durch selektive Verlagerung auf den externen Steuerspeicher (17) modifizierbar ist.
7. Einchip-Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß bei Anforderung eines Steuerspeicherzyklus ein entsprechendes Signal erzeugt wird, das einmal in dem adressierten Steuerspeicher den Steuerspeicherzyklus einleitet und den Prozessor sperrt und daß bei Zyklusende ein entsprechendes Signal (90) erzeugt wird, das anzeigt, daß das Ausgangssignal des Steuerspeichers gültig ist, worauf dieses Ausgangssignal dem Prozessor zum Beginn der Verarbeitung des darin enthaltenen Befehls zugeleitet wird, wodurch der Prozessor von der Zykluszeit des Steuerspeichers unabhängig ist (Fig. 4).
8. Einchip-Mikroprozessor nach einem der Ansprüche 1 bis 7, mit einem Steuerspeicher mit zugeordnetem Adreßregister für die Adressierung ausgewählter, in dem Steuerspeicher liegender Befehle mit einem ersten Register für die Aufnahme des adressierten Befehls, sowie mit einer Anzahl der ALU (22) vorgeschalteter Register (A-Register, B-Register; ALU-OP-Register 97, 98, 32), die der ALU Daten zuführen und die Operationen der ALU steuern, dadurch gekennzeichnet, daß ein als Festwert­ speicher aufgebauter Maskenspeicher (34) vorgesehen ist, daß ferner über Datenleitungen das Speicheradreßregister (51) mit dem Maskenspeicher (34) und den der ALU vorgeschalteten Registern (97, 98, 32) und der Maskenspeicher mit den vorgeschalteten Registern verbunden sind, daß dabei der Operationsteil des adressierten Befehls mit seinen Bits bewirkt, daß der Adreßteil eine ausgewählte Speicherposition in dem Maskenspeicher (34) ansteuert und damit eine Reihe von Operationen einschließlich des Ladens von mindestens einem der vorgeschalteten Register mit dem Speicherinhalt des im Maskenspeicher adressierten Speicherplatzes bewirkt.
9. Einchip-Mikroprozessor nach Anspruch 8, dadurch gekennzeichnet, daß der Maskenspeicher ausgangsseitig über Datenkanäle (134, 135) mit Adreßregistern verbunden ist, denen entsprechend der im Maskenspeicher angesteuerten Speicherposition Steuersignale zuführbar sind.
10. Einchip-Mikroprozessor nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die Befehlsregister (71, 72) mit dem Maskenspeicher (34) und dieser mit dem ALU-Operationsregister (32) verbunden sind.
11. Einchip-Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet, daß der Befehlsregister-Adreßteil weni­ ger Bits enthält, als der Datenkanal Leitungen auf­ weist, und daß das ALU-Operationsregister (32) und eine weitere durch das Ausgangssignal des Maskenspeichers (34) gesteuerte Funktion jeweils mit einer Anzahl von Bits angesteuert werden, die der Anzahl der Leitungen in dem Datenkanal entspricht.
12. Einchip-Mikroprozessor nach Anspruch 11, dadurch gekennzeichnet, daß durch eine Takt/Steuerschaltung (63) für die Steuerung der Funktionen des Prozessors auch die Einleitung von Datenübertragungen, arithmetischer Operationen und eine Änderung in der Folge von Mikrobefehlen steuerbar ist, und daß der Maskenspeicher (34) an der Takt/Steuerschaltung (63) angeschlossen ist, wobei über eine Datenleitung (133) eine Anzahl von Steuerbits an die Takt/Steuerschaltung (63) übertragen werden.
13. Einchip-Mikroprozessor nach Anspruch 12, dadurch gekennzeichnet, daß die Schieberegister-Bitpositionen derart miteinander verbunden sind, daß das aktive Bit den einzelnen Schieberegister-Bitpositionen gemäß einer vorbestimmten Rangfolge zuordenbar ist.
14. Einchip-Mikroprozessor nach Anspruch 13, dadurch gekennzeichnet, daß die Schieberegister-Bitposition (Fig. 10) eine erste bistabile Kippschaltung (151) enthält, die durch einen über die Eingangsleitung (144) ankommenden Bitimpuls einstellbar ist, und während einer fortdauernden Speicherzugriffsanforderung durch die zugeordnete Speicherzugriffsschaltung eingestellt bleibt.
15. Einchip-Mikroprozessor nach Anspruch 14, dadurch gekennzeichnet, daß die Schieberegister-Bitposition eine zweite bistabile Kippschaltung (155) enthält, die bei Abwesenheit einer Speicherzugriffsanforderung bei eingestellter erster Kippschaltung (151) eingestellt wird, und die Vorderkante eines Schiebebit-Ausgangsimpulses erzeugt und die erste Kippschaltung sperrt, die daraufhin die zweite Kippschaltung zurückstellt, die damit die Hinterkante des Schiebebit-Ausgangsimpulses erzeugt.
16. Einchip-Mikroprozessor nach Anspruch 15, dadurch gekennzeichnet, daß zwischen Schiebebit-Eingang (144) und Schiebebit-Ausgang (146) und der ersten Kippschaltung (151) logische Schaltglieder (146, 149, 181, 182) angeordnet sind, die während einer Zugriffsanforderung den Schiebebit-Eingang (144) von der Kippschaltung abtrennen, so daß ein an dem Schiebebit-Eingang auftretender Störimpuls nicht erkennbar die Anwesenheit von mehr als einem einzigen Bit in dem durch die Zusammenschaltung der Schieberegister-Bitposition gebildeten Ring sperrt.
17. Einchip-Mikroprozessor nach Anspruch 15, dadurch gekennzeichnet, daß die Speicherzugriffsschaltung zu einer Anzahl von Gruppen zusammengefaßt sind, bei denen die Schieberegister-Bitpositionen einer jeden Gruppe einen Ring (199) bilden (Fig. 12) und daß durch eine zusätzliche Steuerschaltung (200, 201, 202) jede Gruppe ihren Speicherzugriff gemäß einer vorgegebenen Rangfolge erhält.
18. Einchip-Mikroprozessor nach Anspruch 17, dadurch gekennzeichnet, daß als zusätzliche Steuerschaltung ein weiteres aus mehreren Bitpositionen (1, 2, 3, 4) zu­ sammengeschaltetes Steuerschieberegister (200) dient, bei dem die Anzahl der Bitpositionen der Anzahl von Gruppen von Schieberegister-Bitpositionen entspricht, daß in dem ebenfalls als Ringzähler geschalteten Steuer­ schieberegister ein einzelnes Bit die Bitpositionen durchläuft, und daß Mehrfach-Steuerleitungen (183) der Schieberegister-Bitpositionen in jeder Gruppe der ersten ersten Ebene untereinander (199) und über Leitungen (202) mit den entsprechenden Bitpositionen des Steuerschieberegisters (200) verbunden sind.
DE2716369A 1976-05-03 1977-04-13 Mikroprozessorsystem Granted DE2716369A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/682,803 US4093982A (en) 1976-05-03 1976-05-03 Microprocessor system

Publications (2)

Publication Number Publication Date
DE2716369A1 DE2716369A1 (de) 1977-11-17
DE2716369C2 true DE2716369C2 (de) 1991-02-07

Family

ID=24741195

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2716369A Granted DE2716369A1 (de) 1976-05-03 1977-04-13 Mikroprozessorsystem

Country Status (13)

Country Link
US (2) US4093982A (de)
JP (3) JPS6051134B2 (de)
AT (1) AT376309B (de)
AU (1) AU511624B2 (de)
BR (1) BR7702850A (de)
CA (1) CA1091355A (de)
CH (1) CH620779A5 (de)
DD (1) DD130183A5 (de)
DE (1) DE2716369A1 (de)
FR (1) FR2350645A1 (de)
GB (3) GB1527318A (de)
IT (1) IT1113581B (de)
NL (1) NL7704824A (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526506A (en) * 1970-12-28 1996-06-11 Hyatt; Gilbert P. Computer system having an improved memory architecture
US4954951A (en) * 1970-12-28 1990-09-04 Hyatt Gilbert P System and method for increasing memory performance
US5459846A (en) * 1988-12-02 1995-10-17 Hyatt; Gilbert P. Computer architecture system having an imporved memory
US4314353A (en) * 1978-03-09 1982-02-02 Motorola Inc. On chip ram interconnect to MPU bus
US4244028A (en) * 1979-03-08 1981-01-06 National Semiconductor Corporation Digital microprocessor having a time-shared adder
US4460972A (en) * 1979-06-22 1984-07-17 International Business Machines Corporation Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
US4313161A (en) * 1979-11-13 1982-01-26 International Business Machines Corporation Shared storage for multiple processor systems
US4314335A (en) * 1980-02-06 1982-02-02 The Perkin-Elmer Corporation Multilevel priority arbiter
US4434461A (en) 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
US4390963A (en) * 1980-09-15 1983-06-28 Motorola, Inc. Interface adapter architecture
US4486624A (en) * 1980-09-15 1984-12-04 Motorola, Inc. Microprocessor controlled radiotelephone transceiver
US4459662A (en) * 1980-09-29 1984-07-10 Texas Instruments Incorporated Microcomputer having ROM mass memory for downloading main RAM memory with microcomputer instructions
US4422143A (en) * 1980-11-24 1983-12-20 Texas Instruments Incorporated Microprocessor ALU with absolute value function
US4580216A (en) * 1981-06-22 1986-04-01 Texas Instruments Incorporated Microcomputer with internal selection of on-chip or off-chip access
US4450521A (en) * 1981-04-13 1984-05-22 Texas Instruments Incorporated Digital processor or microcomputer using peripheral control circuitry to provide multiple memory configurations and offset addressing capability
US4428047A (en) 1981-04-13 1984-01-24 Texas Instruments Incorporated Addressing a control ROM in a microcoded single-chip microcomputer using the output signals of the control ROM
US4435763A (en) 1981-04-13 1984-03-06 Texas Instruments Incorporated Multiprogrammable input/output circuitry
EP0063458B1 (de) * 1981-04-13 1989-08-23 Texas Instruments Incorporated Mikrocomputersystem
US4473877A (en) * 1981-04-16 1984-09-25 Tulk Ronald K Parasitic memory expansion for computers
US4740895A (en) * 1981-08-24 1988-04-26 Genrad, Inc. Method of and apparatus for external control of computer program flow
US4532587A (en) * 1981-08-26 1985-07-30 Texas Instruments Incorporated Single chip processor connected to an external memory chip
DE3138972A1 (de) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb
DE3151120C2 (de) * 1981-12-23 1983-12-01 Siemens AG, 1000 Berlin und 8000 München Datenverarbeitungsanlage mit Arbeitsspeicher und mehreren in Serie geschalteten Prozessoren
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
US4928223A (en) * 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
US5243698A (en) * 1982-11-26 1993-09-07 Inmos Limited Microcomputer
US4680698A (en) * 1982-11-26 1987-07-14 Inmos Limited High density ROM in separate isolation well on single with chip
US6414368B1 (en) 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
US4607332A (en) * 1983-01-14 1986-08-19 At&T Bell Laboratories Dynamic alteration of firmware programs in Read-Only Memory based systems
US4649471A (en) * 1983-03-01 1987-03-10 Thomson Components-Mostek Corporation Address-controlled automatic bus arbitration and address modification
EP0117837B1 (de) * 1983-03-01 1990-03-21 STMicroelectronics, Inc. Benutzerprogrammierbare Buskonfiguration für Mikrocomputer
DE3501569C2 (de) * 1984-01-20 1996-07-18 Canon Kk Datenverarbeitungseinrichtung
US4761755A (en) * 1984-07-11 1988-08-02 Prime Computer, Inc. Data processing system and method having an improved arithmetic unit
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
DE3752017T2 (de) * 1986-03-20 1997-08-28 Nec Corp Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
JPS62266262A (ja) * 1986-05-13 1987-11-19 Daikin Mfg Co Ltd トルクコンバ−タのスラスト力軽減装置
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPS6438828A (en) * 1987-08-05 1989-02-09 Fuji Facom Corp Lsi circuit with multiswitching mode
US4878174A (en) * 1987-11-03 1989-10-31 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5155819A (en) * 1987-11-03 1992-10-13 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
JPH0776913B2 (ja) * 1988-02-08 1995-08-16 株式会社東芝 算術論理演算回路
US5243700A (en) * 1988-12-30 1993-09-07 Larsen Robert E Port expander architecture for mapping a first set of addresses to external memory and mapping a second set of addresses to an I/O port
JPH04305735A (ja) * 1991-04-02 1992-10-28 Mitsubishi Electric Corp マイクロプログラム制御回路
JP3190945B2 (ja) * 1991-04-08 2001-07-23 三菱電機株式会社 マイクロプログラム制御回路
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US7762047B2 (en) * 2006-02-21 2010-07-27 Curwood, Inc. Food article packaging apparatus and method
US20080209076A1 (en) * 2007-02-22 2008-08-28 Wei Wang Method and system for fast ethernet controller operation using a virtual cpu

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3340513A (en) * 1964-08-28 1967-09-05 Gen Precision Inc Instruction and operand processing
NL136896C (de) * 1964-10-07
US3566357A (en) * 1966-07-05 1971-02-23 Rca Corp Multi-processor multi-programed computer system
US3564226A (en) * 1966-12-27 1971-02-16 Digital Equipment Parallel binary processing system having minimal operational delay
US3508037A (en) * 1967-01-30 1970-04-21 Sperry Rand Corp Decimal add/subtract circuitry
US3676860A (en) * 1970-12-28 1972-07-11 Ibm Interactive tie-breaking system
US3859635A (en) * 1971-06-15 1975-01-07 Robert E Watson Programmable calculator
US3751650A (en) * 1971-06-28 1973-08-07 Burroughs Corp Variable length arithmetic unit
GB1404664A (en) * 1971-10-26 1975-09-03 Texas Instruments Inc Stored programme data processing system having a memory extension
US3778784A (en) * 1972-02-14 1973-12-11 Intel Corp Memory system incorporating a memory cell and timing means on a single semiconductor substrate
US3787817A (en) * 1972-06-21 1974-01-22 Us Navy Memory and logic module
US3839705A (en) * 1972-12-14 1974-10-01 Gen Electric Data processor including microprogram control means
US3821715A (en) * 1973-01-22 1974-06-28 Intel Corp Memory system for a multi chip digital computer
US3859636A (en) * 1973-03-22 1975-01-07 Bell Telephone Labor Inc Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory
US3984813A (en) * 1974-10-07 1976-10-05 Fairchild Camera And Instrument Corporation Microprocessor system
JPS5158853A (de) * 1974-11-19 1976-05-22 Sharp Kk
US3980992A (en) * 1974-11-26 1976-09-14 Burroughs Corporation Multi-microprocessing unit on a single semiconductor chip
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system

Also Published As

Publication number Publication date
GB1527318A (en) 1978-10-04
JPS57197649A (en) 1982-12-03
CA1091355A (en) 1980-12-09
JPS52152135A (en) 1977-12-17
AT376309B (de) 1984-11-12
DE2716369A1 (de) 1977-11-17
ATA262077A (de) 1984-03-15
IT1113581B (it) 1986-01-20
JPS57164353A (en) 1982-10-08
JPS6110851B2 (de) 1986-03-31
AU511624B2 (en) 1980-08-28
AU2478977A (en) 1978-11-09
US4093982A (en) 1978-06-06
FR2350645A1 (fr) 1977-12-02
JPS6051134B2 (ja) 1985-11-12
FR2350645B1 (de) 1980-02-01
DD130183A5 (de) 1978-03-08
CH620779A5 (de) 1980-12-15
GB1527317A (en) 1978-10-04
NL7704824A (nl) 1977-11-07
GB1527316A (en) 1978-10-04
US4144563A (en) 1979-03-13
JPS5924462B2 (ja) 1984-06-09
BR7702850A (pt) 1978-05-16

Similar Documents

Publication Publication Date Title
DE2716369C2 (de)
DE4416881C2 (de) Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
DE2755273C2 (de)
DE2540975C2 (de) Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
EP1329816B1 (de) Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2953861C2 (de)
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE1549523B2 (de) Datenverarbeitungsanlage
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE1499193B2 (de) Speicher-adressierschaltung
CH623947A5 (de)
DE3638572A1 (de) Vektorprozessor
DE2717658A1 (de) Anordnung zur ansteuerung eines mikroprogrammspeichers
EP1599794B1 (de) Prozessor mit verschiedenartigen steuerwerken für gemeinsam genutzte ressourcen
DE2533737A1 (de) Datenprozessor
DE1499730A1 (de) Einrichtung zur Speicherauswahl
DE2245284A1 (de) Datenverarbeitungsanlage
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE2110458C3 (de) Speicheranordnung in einem datenverarbeitenden System
AT354783B (de) Programmierbare schaltung zur datenverarbeitung
DE2459476A1 (de) Schaltungsanordnung fuer nichtzyklische datenpermutationen
DE602004005806T2 (de) Serieller Speicher mit Mitteln zur Integration eines erweiterten Speicherfeldes

Legal Events

Date Code Title Description
OD Request for examination
8128 New person/name/address of the agent

Representative=s name: JOST, O., DIPL.-ING., PAT.-ASS., 7030 BOEBLINGEN

8125 Change of the main classification

Ipc: G06F 13/16

8125 Change of the main classification

Ipc: G06F 9/24

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee