CH620779A5 - - Google Patents

Download PDF

Info

Publication number
CH620779A5
CH620779A5 CH544977A CH544977A CH620779A5 CH 620779 A5 CH620779 A5 CH 620779A5 CH 544977 A CH544977 A CH 544977A CH 544977 A CH544977 A CH 544977A CH 620779 A5 CH620779 A5 CH 620779A5
Authority
CH
Switzerland
Prior art keywords
memory
control
bit
processing system
data processing
Prior art date
Application number
CH544977A
Other languages
English (en)
Inventor
Dale Arthur Heuer
Phillip Christian Schloss
Larry Lloyd Schroeder
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of CH620779A5 publication Critical patent/CH620779A5/de

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage mit auf einer einzigen Halbleiterscheibe untergebrachtem Prozessor.
Bei verschiedenen Datenverarbeitungsanlagen ist eine Mikroprozessorsteuerung erwünscht. In vielen Anwendungsgebieten sind die Art und die Anzahl von Anforderungen, die an eine Steuereinheit oder einen Prozessor gestellt werden, derart, dass es von Vorteil wäre, eine Mehrzahl von Prozessoren einzusetzen, die gleichzeitig parallel zueinander Daten verarbeiten, wenn dies in wirtschaftlich vertretbarer Weise erzielbar ist. Dies lässt sich beispielsweise unter Verwendung eines Mikroprozessors erreichen, der als vollständige, selbständige Einheit auf einem einzigen, eine hochintegrierte Halbleiterschaltung enthaltenden Halbleiterplättchen angebracht ist, auf dem sich auch die Taktgabe, ein örtlicher Zwischenspeicher, Verknüpfungsschaltungen, die Speichersteuerung und eine Steuerspeicheranordnung befinden. Dieser Mikroprozessor kann ausserdem zusätzliche Steuerspeicher ausnützen und zusammen mit anderen gleichartigen Prozessoren nach Art einer Parallelverarbeitung zu einem gemeinsamen äusseren Massenspeicher Zugriff erhalten.
Der Stand der Technik auf diesem Gebiet ist bereits umfangreich. So ist beispielsweise in der US-Patentschrift 3 787 817 eine als hochintegrierte Schaltung ausgeführte adressierbare Speicheranordnung offenbart, bei der bestimmte Verknüpfungsfunktionen einen Teil der Anordnung bilden können.
Die US-Patentschrift 3 508 037 ist auf eine funktionale Verarbeitungsanordnung gerichtet, während die Anordnungen gemäss US-Patentschriften 3 751 650 und 3 564 226 beide sowohl arithmetische als auch logische Funktionen in einer Schaltung ausführen können, dabei jedoch immer noch relativ kompliziert aufgebaut sind. Die US-Patentschrift 3 360 779 offenbart die Kombination von Instruktionen mit Masken. Die US-Patentschrift 3 340 513 offenbart die Kombination von zwei Befehlen in einem Befehlswort, und die US-Patentschrift 3 851 312 zeigt den Parallelzugriff zu Steuerworten für die gleichzeitige Datenverarbeitung durch modulare Verknüpfungsschaltungen.
Die US-Patentschrift 3 676 860 ist auf eine Multiprozessor-anordnung gerichtet und auf ein Verfahren zum Auftrennen der Verbindungen zwischen den Multiprozessoren für den Fall, dass mehrere Prozessoren gleichzeitig Zugriff zu einer Datenquelle, wie z. B. einem Speicher, benötigen. Die Anordnung gemäss der US-Patentschrift 3 566 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 3 317 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 3 778 784 und 3 821 715 zu erwähnen, die beide auf Halbleiterplättchen in hochintegrierter Schaltungstechnik aufgebaute Halbleiterspeicher offenbaren, wobei im Falle der US-Patentschrift 3 778 784 auf dem Halbleiterplättchen auch noch ein Taktgenerator zur Ansteuerung der Speicheranordnung vorgesehen ist. Aus der US-Patentschrift 3 821 715 ist es bekannt, eine digitale Datenverarbeitungsanlage aus einer Anzahl getrennter MOS-Halb-leiterplättchen zusammenzusetzen, die durch eine Anzahl von Leitungen miteinander verbunden sind. Eines dieser Halbleiterplättchen enthält dabei die Zentraleinheit, die über eine Anzahl von in beiden Richtungen betreibbaren Leitungen mit einer Anzahl von hochintegrierten Speicherschaltungen einschliesslich eines Speichers mit wahlfreiem Zugriff und eines Festwertspeichers verbunden ist. Die Speicherkapazität kann durch Anschalten weiterer Speicher mit wahlfreiem Zugriff bzw. wei3
5
10
15
20
25
30
35
40
45
>0
55
bO
b5
620779
terer Festwertspeicher erweitert werden. Die die Speicheranordnungen enthaltenden Halbleiterplättchen enthalten auch die Decodierschaltungen, so dass die Zentraleinheit aus einer grossen Anzahl von auf Halbleiterplättchen untergebrachten, hochintegrierten Halbleiterspeicheranordnungen eine einzige Speicheranordnung unmittelbar ansteuern kann.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine auf einem Halbleiterplättchen unterzubringende Mikroprozessoranordnung zu schaffen, die nebst ihrem eigenen Steuerspeicher in einfacher Weise einen zusätzlichen externen Steuerspeicher benutzen kann, und die mit einem äusseren Datenspeicher zusammenarbeiten kann. Es soll ausserdem möglich sein, mehrere solche Mikroprozessoranordnungen zu einem einen gemeinsamen Datenspeicher benutzenden Mehrprozessorsystem zu kombinieren.
Die Erfindung wird nunmehr anhand eines Ausführungsbeispieles in Verbindung mit den beigefügten Zeichnungen im einzelnen beschrieben.
In den Zeichnungen zeigt:
Fig. 1 schematisch ein Blockschaltbild der Datenverarbeitungsanlage gemäss der vorliegenden Erfindung mit einem externen Steuerspeicher und einem externen Massenspeicher,
Fig. 2A, 2B, 2C und 2D in Kombination schematisch den Datenfluss und den Aufbau eines auf einem einzigen Chip untergebrachten Prozessors gemäss der Erfindung,
Fig. 3 einen Teil einer Schaltung für das Befehlsadressregister in Fig. 2A, welches die Benutzung von Befehlen unterschiedlicher Länge ermöglicht,
Fig. 4 einen Teil 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 ausserhalb des Halbleiterplättchens gelegene Schaltung, mit deren Hilfe der interne Steuerspeicher dadurch verändert werden kann, dass man an seiner Stelle den externen Steuerspeicher substituiert,
Fig. 6 eine Wahrheitstabelle zur Darstellung der Arbeitsweise der Freigabeleitungen bei der Decodierung des Operationscodes für die verschiedenen angegebenen Funktionen, Fig. 7 die Schaltung einer Bitposition des Rechenwerks, Fig. 8 und 9 Schaltungseinzelheiten des Masken-Festwertspeichers, der in ausgewählten Fällen aus einem einzigen Befehl Mehrfach-Instruktionen liefert,
Fig. 10 ein Blockschaltbild zur Darstellung der Arbeitsweise der Speichrsteuerung in Fig. 2D,
Fig. 11 und 12 schematisch die Speichersteuerschaltungs-Anordnung für einen dynamischen, prioritätsgerechten Zugriff durch mehrere Prozessoren zu einem einzigen äusseren Speicher, und
Fig. 13 die verschiedenen durch das Anlegen der Torimpulse gemäss 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 versehenen Halbleiterplättchen befindlichen Prozessors. Ein solches Halbleiterplättchen ist im folgenden auch als «Chip» bezeichnet. 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 ausserdem einen weiteren ausserhalb 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-Adressmikropro-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 30, im folgenden auch als
«örtlicher Speicher» oder «LSM» bezeichnet, ein 8-Bit-Rechen-werk 22 im Block 23, eine Speichersteuerung 25 für eine Mehr-fach-Byteübertragung und Leitungen für äussere Lese/Schreib-Speicheradressierungen, und dies alles auf einem einzigen Chip mit hochintegrierter Schaltung. Der Prozessor arbeitet dabei im wesentlichen mit einem externen 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, ausserhalb des Chips oder als Kombination von ausserhalb und auf dem Chip befindlichen Speichern aufgebaut sein, und dieser Steuerspeicher kann entweder als Festwertspeicher oder als Lese/Schreibspeicher aufgebaut sein. Benutzt man einen Steuerspeicher ausserhalb des Chips, so verschlechtert sich dadurch das Betriebsverhalten des Prozessors etwas. Ein Lese/Schreib-Steuerspeicher kann durch den Prozessor von einem äusseren Lese/Schreibspeicher geladen werden.
Die Mikrobefehle werden durch ein Paar fortschreibbarer Befehlsadressregister (IAR) 28 und 29 adressiert. Die IARs 28 und 29 können dabei durch das Ausgangssignal des Steurspei-chers oder aus dem örtlichen Speicher (LSM) 30 für Programmverzweigungen oder Programmrücksprung geladen werden. Die Rücksprungadresse wird dabei an einer bestimmten Adresse im örtlichen Speicher (Arbeitsspeicher) 30 eingespeichert. Die Verzweigungsadresse kann entweder aus einem laufenden Mikrobefehl oder von einer besonderen Adresse im örtlichen Speicher 30 stammen.
Der kurze Mikrobefehl ergibt Flexibilität, gute Bitausnutzung und eine Gesamtanordnung, bei der ein grosser Teil der sequentiellen Taktgabe beseitigt ist. Da die meisten Befehle einfache Datenbewegungen betreffen, Iäst sich die Durchschaltung durch den Befehl selbst ausführen.
Der Speicher 30 ist ein auf dem Chip angeordneter Zwischenspeicher (Arbeitsspeicher) und ist zu geradzahligen-unge-radzahligen Registerpaaren zusammengefasst, so dass eine 2-Byte-Adresse eine Durchschaltung nach dem äusseren Lese/ Schreibspeicher oder dem Speicheradressregister (MAR) zulässt. Der Speicher 30 arbeitet für die innere Steuerschaltung wie ein 1-Byte-Speicher. Das örtliche Speicheradressregister (LSA) ist ein weiterschaltbares Register für die Adresse der LSM-Bytes, die eingeschrieben oder gelesen werden sollen. Bei einem Verzweigungs- oder Verkettungsbefehl wird das Befehlsadressregister (IAR) im LSM (Speicher 30) an der LSA-Adresse als 2-Byte-Adresse festgehalten.
Das Rechenwerk (RW) 22 führt Addition, logische Grundfunktionen, Registerübertragungen, Komplementwertbildung, Rotation, Übertrag und deren Kombinationen durch. Das RW 22 kann dabei Arithmetik im Einer- oder Zweier-Komplement durchführen. Maskenoperationen für bedingte Verzweigungen werden am Ausgang des RW erzeugt, so dass auf Nullen, Einsen, gemischter Übertrag oder kein Übertrag geprüft werden kann. Die Verzweigung kann ausserdem drei äussere Leitungsbedingungen überprüfen. Das Rechenwerk kann ausserdem dazu benutzt werden, zuvor erzeugte Überträge und von der Übertraghalteschaltung 27 einlaufende Überträge durchzuschalten.
Die gewünschte Rechenwerksoperation wird dabei im RW-Operationsregister (AOP) 32 gespeichert gehalten. Dieses 8-Bit-Register beseitigt die sonst erforderliche Notwendigkeit, in allen Befehlen die RW-Operation genau anzugeben. Das RW 22 führt die im AOP-Register 32 verriegelt eingespeicherte Operation statisch durch, bis das Register erneut geladen wird.
In Verbindung mit der Rechenwerks-Operation kann eine Minimaske 34 benutzt werden. Diese Minimaske 34 besteht aus 32 Wörtern von je 18 Bit Länge. Wenn eine Lademinimasken-operation erforderlich ist, dann ersetzen 8 der Bits den derzeitigen Speicherinhalt im AOP-Register, 8 der Bits ersetzen das,
4
5
10
15
20
25
30
35
40
45
50
55
60
65
was derzeit auf der B-Seite des RW 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 RW-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 eine LSM-Speicher-platzadresse solange um 1 vermindert wird, bis sie auf Null angekommen ist, wodurch das Unterprogramm beendet und eine Vorwärtsverzweigung nach einem neuen Teil der Mikrobefehle eingeleitet wird. Diese beiden Bits bewirken nur ein zusätzliches Fortschalten des Befehlsadressregisters, d. h.,
wenn diese Bedingung erfüllt ist, wird ein Befehl übersprungen. Der Prozessor weist ausserdem ein äusseres Speicheroperationsregister 36 auf. Dieses Register steuert die Art der Aktivität des externen Speichers. Für die Speichersteuerung steht eine Mehrfach-Speicherübertragung einschliesslich vom örtlichen Speicher nach externem Speicher, vom externen Speicher nach örtlichem Speicher, vom externen Speicher nach Steuerspeicher, Eingabe/Ausgabe an externen Speicher und externer Speicher an Eingabe/Ausgabe zur Verfügung. In dieser Steuerung ist ausserdem noch ein Speicherprioritätsbit enthalten. Durch dieses Bit wird der Prozessor freigegeben und gewinnt damit Zugriff nach einem externen Speicher. Das Prioritätsbit gelangt ü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 Speicher (LSM) und dem externen Speicher wird die Anzahl der zu übertragenden Bytes in den Zählregistern 41 und 42 festgehalten. Wird dieser 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ätsbit wird solange festgehalten, bis der bestimmte Zählerstand übertragen ist. Wiederum kann das Übertragungs- und Wartebit vorhanden sein, so dass weitere Speicherübertragungen möglich sind. Während einer E/A-Speicherübertragung kann der Prozessor andere Befehle 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 äusserem Lese/Schreibspeicher eingeschaltet ist.
Eine Speicheradressregistererweiterung 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 Steuerspeichers. Wird ein externer Lese/Schreibspeicher benutzt, dann müssen Steuerspeicherbefehle geladen werden. Die in
620 779
diesem Steuerspeicher eingespeicherten Befehle werden von einem äusseren Lese/Schreibspeicher aus eingespeichert.
Beim Laden eines Steuerspeichers ist die externe Speicheradresse eingestellt, die Rücklaufadresse ist festgehalten, 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 eingestellt, dann überträgt der Prozessor die Anzahl der angegebenen Bytes und gibt dann die Steuerung an die festgehaltenen Adresse ab.
Der Prozessor benötigt einen Oszillator (Leitung 46) und eine Leitung für «Stromversorgung ein und Rücksteilen» (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 Befehlsadressregister 28 und 29 auftritt. Das Auftreten dieser Bedingung zeigt an, dass die Mikrobefehle von einer externen Quelle kommen müssen.
Der Prozessor kann selbständig arbeiten, oder er kann an einem äusseren Lese/Schreibspeicher angeschlossen sein. Alle diese Datenübertragungen mit dem äusseren Speicher laufen über das 8-Bit-Speicher-Datenregister MDR 44 über die Eingangs/Ausgangsleitungen 49. Diese Leitungen 49 können in beiden Richtungen betrieben werden.
Der äussere Speicher wird unmittelbar durch 23 Speicheradressleitungen angesteuert. Acht dieser Adressleitungen sind Seiten- oder Speichergruppenadressen. Diese acht Leitungen können nur geladen werden. Die anderen 15 Adressleitungen können durch den örtlichen Speicher 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 Speicher 30 und dem externen Speicher 26 oder dem Speicher 30 und E/A werden ausserdem das örtliche Speicheradressregister 51 und das Zählregister automatisch weitergeschaltet.
Zwei 8-Bit-Register können extern geladen werden, wodurch direkte Umwandlungen von intern auf extern möglich sind. Diese 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 Verzweigung 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-Bit-Prozessor, d. h. die Grundoperationen der Schaltung erfordern einen 12-Bit-Befehl 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 ausserhalb des Steuerspeicher 17 ist, wird unter Verwendung eines Paars von 8-Bit-Adressregistern, Befehlsadressregister (IAR hoch) 29 und Befehlsadressregister (IAR) niedrig 28 adressiert, die zusammenarbeitende, schrittweise fortschalt-bare, miteinander verbundene Register sind und miteinander kombiniert werden können, so dass 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,
5
5
10
15
20
25
30
35
40
45
50
55
60
65
620779
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 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 Adresse längs des Steuerspeichers auf dem Chip und ausserhalb des Chips wird dadurch ermöglicht, dass die Übertragsschaltung zwischen den Bits 4 und 5 des Befehlsadressregisters hoch 29 modifiziert wird, wie dies Fig. 3 zeigt. Wenn das Bit 0 eine logische 1 enthält, die anzeigt, dass 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, dass die letzte Speicherposition des auf dem Chip befindlichen Steuerspeichers 18 abgefragt wurde), dass das UND-Glied 61 entsperrt wird 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 ausserhalb des Chips gelegenen Steuerspeicher. Die Bits 1 bis 15 werden dadurch zu 0, dass die Bits 1 bis 4 bereits eine logische 0 enthalten und dass 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, dass für den Steuerspeicher eine Taktschaltung und ausserhalb des Chips eine Decodierschaltung vorgesehen ist, die parallel mit der auf dem Chip befindlichen Steuerspeicheranordnung adressiert wird.
Die Steuerspeicher-Taktschaltung der Fig. 4 bildet einen Teil der Takt- und Steuerschaltung, die die Taktimpulse für den Prozessor liefert und ausserdem bewirkt, dass 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 Zykluszeiten des Steuerspeichers unabhängig, was besonders dann wichtig ist, wenn der auf dem Chip und der ausserhalb des Chips befindliche Steuerspeicher beide benutzt werden, da der ausserhalb des Chips befindliche Steuerspeicher normalerweise langsamer arbeitet als der auf dem Chip befindliche Steuerspeicher. Dadurch wird eine dynamische Steuerung erzielt, die unabhängig von Geschwindigkeitsunterschieden ist, die sich bei verschiedenen Speicheranordnungen ergeben können.
Die ausserhalb des Chips angeordnete Änderungsschaltung der Fig. 5 wird zusammen mit dem als Festwertspeicher ausgelegten auf dem Chip angeordneten Steuerspeicher benutzt, der nicht geändert werden kann, es sei denn, durch die Verwendung eines vollkommen neuen Chips oder die Benutzung des ausserhalb des Chips gelegenen Steuerspeichers ohne die Benutzung des auf dem Chip liegenden Steuerspeichers. Der logische Zustand der Bitpositionen 5 bis 15 der Befehlsadressregister 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 adressiert, es sei denn, dass 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 dass diese Adresse nach der entsprechend gekennzeichneten Adresse des ausserhalb des Chips liegenden Steuerspeichers gerichtet wird. Wie gezeigt, ist das UND-Glied 67 nur mit den drei höherwertigen Bits 5,6 und 7 verbunden, so dass eine Gruppe von 256 bis 2048 Befehlen von dem zusätzlichen Steuerspeicher, statt von dem auf dem Chip befindlichen Steuerspeicher 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 Adresskombination zu erkennen vermag. Durch Zufügen weiterer UND-Glieder zum Erkennen gewünschter Adresskombinationen ist es möglich, selektiv den zusätzlichen Steuerspeicher anstelle des auf dem Chip befindlichen Steuerspeichers einzusetzen. Jeder sequentielle Befehl wird in ein Paar Befehlsregister (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 ausserhalb 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 Befehlsadressregister niedrig 28, nach der Datensammelleitung 74, nach der Takt- und Steuerschaltung 63 oder den externen Steuerspeicherbits 0 bis 7 auf der Datenleitung 56 durchgeschaltet werden. Der Speicherinhalt des Befehlsregisters hoch 72 lässt sich selektiv nach der Takt- und Steuerschaltung 63, nach dem Befehlsadressregister hoch 29 oder über die Datenleitung 57 nach den Bitpositionen 8 bis 15 des externen Steuerspeichers durchschalten.
Da die Schnittstelle der nach dem externen Steuerspeicher führenden Datenleitungen 56 und 57 insgesamt 16 Bit umfasst, nehmen die Befehlsregister 71 und 72 des Prozessors ein 16-Bit-Eingangssignal für die Adressierung auf, welches so modifiziert wird, dass 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-Bit-Adresse von den Befehlsregistern nach dem Befehlsadressregister 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, dass die Bits 5 bis 15 für die Adressierung des auf dem Chip befindlichen Steuerspeichers 18 benutzt werden, wobei die Bits 1 bis 4 nicht benutzt werden. Auf diese Weise wird ein verketteter Adressabschnitt 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 Wiederaufnahme 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 Zyklusanforderung auf der Leitung 76 erzeugt wird. Der Taktzyklus wird auf ein bei Anschalten der Stromquelle auf Leitung 47 erzeugtes Rückstellsignal eingeleitet, das die bistabile Kippschaltung 79 einstellt, die auf ihrer Ausgangsleitung 84 eine den Taktimpuls 1 darstellende logische 1 abgibt. Da beim Auftreten des nächsten über Leitung
6
5
10
15
20
25
30
35
40
45
50
55
M)
65
' 620 779
46 ankommenden Oszillatorzyklus auf der Leitung 85 eine logi- Inhalts der beiden Eingangsregister 97,98. In der Wahrheitsta-sche 0 liegt, nimmt die Leitung 86 zur Darstellung des Takt- belle sind 1 und 0 die üblichen logischen Werte, während die signais 2 bei Einstellung der bistabilen Kippschaltung 80 durch Leerstellen als unentschieden gelten.
die über Leitung 84 zur Darstellung des Taktimpulses 1 ankom- Fig. 7 zeigt ein Schaltbild einer Bitposition, der von der ent-mende logische 1 die logische 1 an, und der Taktimpuls auf Lei- 5 sprechenden Bitposition einer jeden der beiden RW-Eingangs-tung 84 geht damit auf den logischen Wert 0. Jeder nachfol- register A und B, ein Eingangssignal zugeführt wird. Diese Ein-gende Oszillatorimpuls stellt die nächstfolgende Taktleitung gangssignale sind An bzw. Bn. Die Bitposition enthält eine ein und stellt die davorliegende bistabile Kippschaltung und Addierschaltung, die zwei in Reihe geschaltete Exklusiv-Taktleitung zurück, bis die Taktleitung n durch Einstellung der ODER-Glieder mit einem Ausgang Rn und einer Übertrags-bistabilen Kippschaltung 81 eine logische 1 annimmt. Das Aus- io Schaltung mit einem Ausgangssignal Cn aufweist. Das erste gangssignal der Taktleitung n der Kippschaltung 81 wird einem Exklusiv-ODER-Glied ist den als Last wirkenden Transistoren ODER-Glied 88 zugeführt, das damit durchschaltet und somit 101 und 102 zugeordnet, und das zweite Exklusiv-ODER-Glied bewirkt, dass die Ausgangsleitung 76 der bistabilen Kippschal- ist den als Last arbeitenden Transistoren 103 und 104 zugeord-tung 82 beim nächsten Oszillatorimpuls auf eine logische 1 ein- net. Die der Last 101 zugeordnete Schaltung enthält die Feldef-gestellt wird. Diese Leitung erzeugt damit eine Zyklusanforde- i s fekttransistoren 105,106,107 und 108. Die Eingänge An und Bn rung und befriedigt die Bedingungen des UND-Gliedes 89 (die sind jeweils an den Gate-Elektroden der Transistoren 105 und das Ende eines Zyklus anzeigende Leitung 90 liegt dabei auf 106 angeschlossen, und die Gate-Leitungen Gl und G2 sind an logisch 0), so dass das ODER-Glied 88 trotz der Beendigung des den Gate-Elektroden der Feldeffekttransistoren 107 bzw. 108 Taktsignals n betätigt bleibt. Daher bleibt die Kippschaltung 82 angeschlossen. Der Ausgang der mit der Last 101 verbundenen eingeschaltet und hält dieses Bit bis das auf der Leitung 90 lie- 20 Schaltung ist an der Gate-Elektrode des Feldeffekttransistors gende das Ende eines Zyklus anzeigende Signal ebenfalls in ver- 109 angeschlossen, die ebenfalls der Last 102 zugeordnet ist. tiert wird und damit das UND-Glied 89 sperrt, so dass die Lei- Dieser Last sind ferner die Feldeffekttransistoren 110,111,112 tung 91 auf eine logische 0 geht, worauf der nächste Oszilla- und 113 zugeordnet. Der Eingang An ist an der Gate-Elektrode torimpuls die Kippschaltung 82 betätigt, der die Zyklusanforde- des Feldeffekttransistors III, und der Eingang Bn ist an der rung beendet und ausserdem die bistabile Kippschaltung 83 ein- 25 Gate-Elektrode des Feldeffekttransistors 112 angeschlossen, schaltet, die über die Leitung 85 ein Ausgangssignal liefert, das während die Gate-Leitungen G3 und G4 an den Gate-Elektro-die Folge wieder aufnimmt, wodurch die Kippschaltung 79 zur den der FETs 110 bzw. 113 angeschlossen sind. Der Ausgang Erzeugung eines weiteren ersten Taktsignals eingeschaltet der der Last 102 zugeordneten Schaltung, welcher gleichzeitig wird. Man sieht, dass die Zahl n für den letzten Taktzeitpunkt der Ausgang der ersten beiden in Reihe geschalteten Exklusiveine beliebige Zahl sein kann, dass die Zyklusanforderung an 30 ODER-Glieder ist, ist an den Gate-Elektroden der FETs 114 j eder Zwischenposition in der T aktfolge auftreten kann und und 115 angeschlossen, die den Lasten 103undl04der zweiten dass eine Anzahl von Unterbrechungen der Zyklusanforderung Exklusiv-ODER-Schaltung zugeordnet sind. Die Gate-Leitung in einem Taktzyklus vorgesehen sein können. G3 ist ausserdem am Gate des FET116 und die Gate-Leitung
Die örtliche Speicheranordnung 20 in Fig. 1 enthält den ort- G5 am Gate des FET 117 angeschlossen. Das Übertragssignal liehen Speicher 30 und das örtliche Speicheradressregister 35 der nächst vorhergehenden Bitposition liegt an den Gate-Elek-(LSA) 51 in Fig. 2. Der örtliche Speicher dient als Arbeitszwi- troden der FETs 117 und 119 an und wird als Cn - 1 bezeichnet, schenspeicher und enthält 68 je 8 Bit fassende Register. Diese Der Ausgang des zweiten Exklusiv-ODER-Gliedes wird als Rn Register können einerseits als 8-Bit-Register arbeiten, wenn sie bezeichnet und stellt ausserdem die Ausgangsleitung für diese in Verbindung mit dem Rechenwerk 22, den externen oder Bitposition der ALU dar.
zusätzlichen Registern 93,94 und 95 oder der Speichersteue- 10 Die entsprechende Übertragsschaltung für die Bitposition rung 24 eingesetzt werden, oder sie können paarweise in Ver- verwendet die Lasten 120 und 121, wobei das Eingangssignal bindung mit dem externen Speicher 26 als 16-Bit-Register An den Gate-Elektroden der FET 122 und 124 und das Ein benutzt werden. gangssignal Bn den Gate-Elektroden der FETs 123 und 125
Block 23 des Datenfluss-Blockdiagramms in Fig. 1 enthält, zugeleitet wird und das Übertragssignal von der vorhergehen-wie in Fig. 2 gezeigt, die Takt- und Steuerschaltung 63, das 45 den Bitposition als ein Eingangssignal der Gate-Elektrode des Rechenwerk (RW) 22 und zahlreiche Hilfsvorrichtungen und FET 126 zugeführt und mit Cn - 1 bezeichnet wird. Man Schaltungen, die mit dem RW zusammenwirken. Das RW weist erkennt, dass die der Last 120 zugeordnete Schaltung drei dabei Eingaberegister 97 und 98 auf, wobei das Register 98 ent- UND-Glieder aufweist, die auf Leitung 129 eine logische 0 dar-weder die wahren oder die komplementären Werte des Regi- stellen, wenn auf einem der Eingänge An, Bn und Cn - 1 eine sterinhaltes abzugeben vermag. 50 logische 1 auftritt. Das Ausgangssignal der der Last 120
In Kurzwort-Mikroprozessoren stehen RW-Steuerbits zugeordneten Schaltung wird der Gate-Elektrode des FET 127
immer weniger zur Verfügung. Um diesen Nachteil auszuglei- zugeleitet, der der Last 121 zugeordnet ist. Der Last 121 ist chen, wird ein 8-Bit-RW-Operationsregister (AOP) 32 zum ebenfalls ein Feldeffekttransistor 128 zugeordnet, an dessen
Abspeichern dieser Information vorgesehen. Dadurch ergibt Gate-Elektrode die Gate-Leitung G6 angeschlossen ist. Wenn sich eine Einsparung von Mikrocodebits, da der Mikrocode nur 55 die Gate-Leitung G6 aktiv ist, dann liegt am Ausgang Cn eine dann die Funktion des Rechenwerks verändern muss, wenn logische 0, und die Übertragsfunktion der Schaltung wird dies erforderlich ist. Wiederholte Operationen können dadurch dadurch praktisch beseitigt.
ausgeführt werden, dass man die Eingangsdaten mit den nach Wie in der Wahrheitstabelle der Fig. 6 angedeutet, können der Datenleitung 74 durchgelassenen Daten nur dann ändert, die RW-Schaltungen verschiedene Funktionen dadurch darstel-wenn ein Speicherbefehl vorhanden ist. Die im AOP 32 ange- w len, dass man die Gate-Leitungen Gl bis G6 entsprechend zeigte Operation wird in einer Decodierschaltung 99 decodiert, ansteuert. Sind beispielsweise die Gate-Leitungen Gl bis G4 die auf einer Reihe von 6 Torleitungen 100 ein Ausgangssignal aktiv und die Gate-Leitungen G5 und G6 passiv oder inaktiv, liefert, das an das Rechenwerk zur Steuerung von dessen dann arbeitet die RW-Bitpositionsschaltung als Addierstufe,
Arbeitsweise übertragen wird. Die 6 Torleitungen 100 werden wobei das erste den Lasten 101 und 102 zugeordnete Exklusiventsprechend der Wahrheitstabelle in Fig. 6 betätigt und liefern t>5 ODER-Glied die der jeweiligen Bitposition entsprechenden ein Ausgangssignal, das entweder für die A- oder B-Register 97, Eingangssignale An und Bn aus den Registern A und B auf-98 das gleiche ist oder aber eine UND-Verknüpfung, ODER- nimmt. Das Ausgangssignal dieses Exklusiv-ODER-Glieds wird Verknüpfung, Exklusiv-ODER-Verknüpfung und Addition des als eines der Eingangssignale dem mit den Lasten 103 und 104
620779
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 Gl bis G6 können die Übertragsschaltungen und verschiedene Abschnitte des Exklusiv-ODER-Gliedes zur Durchführung verschiedener anderer Funktionen einschliesslich des Ausspeicherns des Inhalts der A oder B Register durch das Rechenwerk oder die Durchführung einer ODER- und/oder Exklusiv-ODER-Verknüpfung mit dem Inhalt der A- und B-Eingangsregister nach dem Rechenwerk durchführen. Wenn der Speicherinhalt des A-Registers oder des B-Registers durch das RW hindurchgeleitet wird, dann sind dabei die jeweilige Gate-Leitung Gl oder G2 sowie die Gate-Leitungen G3 und G6 aktiv, während die Gate-Leitungen G4 und G5 nicht betätigt sind, so dass die mit den Lastvorrichtungen 101,102,103 und 104 verbundenen 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 Lastvorrichtung 101 verbundene Schaltung als ODER-Inverterstufe arbeitet, auf die drei mit den Lastvorrichtungen 102,103 und 104 verbundene Inversionsstufen folgen. Zur Durchführung der UND-Verknüpfung wird durch Sperrung der Gate-Leitung G3 und Betätigung der Gate-Leitung G6 die mit den Lastvorrichtungen 101 und 103 verbundene Schaltung wirksam abgeschaltet, während die mit der Lastvorrichtung 102 verbundene Schaltung sich als UND-Inverterstufe, gefolgt von einer mit der Lastvorrichtung 104 verbundenen Inversionsschaltung darstellt. Zur Darstellung der Exklusiv-ODER-Verknüpfung arbeitet die mit den Lastvorrichtungen 101 und 102 verbundene Exklusiv-ODER-Schaltung wie bei der Addierfunktion, wobei jedoch die Betätigung der Gate-Leitung 6 bewirkt, dass die zugehörigen Lastvorrichtungen 103 und 104 als doppelte Inversion für das Ausgangssignal des Exklusiv-ODER-Gliedes wirken, so dass das Ausgangssignal Rn mit dem Ausgangssignal des Exklusiv-ORDER-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 Ausgangssignals der Addierstufe darstellen. Fig. 13b zeigt die gleiche Schaltung, bei der das Sperren des Übertrages von der vorhergehenden Bitposition bewirkt, dass 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, dass die den Lastvorrichtungen 101 und 103 zugeordnete Schaltung unwirksam gemacht wird. Die Lastvorrichtung 104 und die zugehörige Schaltung arbeiten im Anschluss 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, dass die mit den Lastvorrichtungen 102,103 und 104 verbundenen Schaltungen sich als eine Reihe von drei Inverterstufen darstellen, die der der Lastvorrichtung 101 zugeordneten ODER-Verknüpfung folgen. Wie aus Fig. 13e und 13f zu erkennen, lässt sich das Eingangssignal An oder Bn dadurch durchschalten, dass die Gate-Leitungen Gl bzw. G2 betätigt werden, während die Gate-Leitungen G3 und G6 aktiv sind, so dass das ausgewählte Eingangssignal am Ausgang auftritt, während die vier Lastvorrichtungen und die zugehörigen Schaltungen in jedem Fall als eine Reihe von vier Inverterstufen wirken. Die Verwendung einer Minimaske oder eines Festwertspeichers (ROS) 34 als eine zusätzliche Einrichtung zum Laden von Daten in einer Anzahl von Registern und
Funktionssteuerschaltungen bewirkt, dass in ausgewählten Fällen der Prozessor die Eigenschaft eines Langwortmikroprozessors 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 Bits an das Eingangsregister 98 auf der Datenleitung 134 und 2 Bits Funktionssteuerinformation an die Takt- und Steuerschaltungen 63 über Leitung 133. Demgemäss bewirkt diese Schaltung eine Komprimierung von zwei Befehlen plus Funktionssteuerung zu einem einzigen Befehl, wodurch sowohl ein Mikrocode als auch Exekutionszeit in einem Kurzwortprozessor eingespart wird.
Gemäss Fig. 8 und 9 weist der Maskenspeicher 34 eine fünf Einzelleitungen enthaltende Eingangs-Datenleitung 132 auf, wobei jede der Einzelleitungen an einer Inverterstufe 36 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-EingangssignaIe über die entsprechenden unterschiedlichen Anschlüsse mit den 10 wahren und komplementären, eingangsseitig angeschlossenen Leitungen. Eine Serie von 18 NOR-Gliedern 141 bildet die 18x32-Bit-Anordnungdes 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-Anschluss 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 des Prozessors bilden diejenigen 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, dass 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 zugeordneten Speicher. Ist keine Speicheranforderung vorhanden, dann wird die Kippschaltung 155 nicht eingestellt und die Leitung 156 ist positiv, so dass, da die Leitung 157 ebenfalls gewöhnlich positiv ist, das NAND-Glied 158 befriedigt wird, und damit auf der Leitung 159 ein negatives Ausgangssignal 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 dass 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 dass das Ausgangssignal auf Leitung 152 ebenfalls negativ wird, wodurch wiederum die Kippschaltung 161 zurückgestellt wird, mit der Wirkung, dass auf Leitung 162 ein negatives Ausgangs-
8
5
10
15
20
25
30
35
40
45
50
55
60
65
signal auftritt, das in der Inverterstufe 164 invertiert und als positives Ausgangssignai oder die 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 Ausgangssignal auftritt, das die bistabile Kippschaltung 155 einstellt. Diese bistabile Kippschaltung 155 dient als Verriegelungsschaltung, die, wenn sie eingestellt ist, anzeigt, dass 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, dass NAND 158 befriedigt wird, wodurch die Einstellung der bistabilen Kippschaltung 161 verhindert und damit das Schieberegisterbit 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 angeforderte 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 Ausgangsleitungen 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, dass 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 dass die Kippschaltung 151 eingestellt wird. Dadurch bewirkt der auf Leitung 153 auftretende negative Ausgangsimpuls, dass das negative UND-Glied 181 auf Leitung 180 einen positiven Ausgangsimpuls abgibt, der durch die Inverterstufe 182 invertiert wird und damit ein negatives Ausgangssignal 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 abgehende Anforderung anzeigende Signal sperrt ausserdem das UND-Glied 149, wodurch wirksam verhindert wird, dass ein Störimpuls mehr als ein Bit in dem Ring umlaufen lässt. Das auf der Leitung 180 liegende positive Signal wird ausserdem als positives Eingangssignal dem NAND-Glied 179 zugeführt, wodurch 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 Register oder Zähler 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ändige 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 dass das negative UND-Glied 181 nicht befriedigt wird, womit das eine abgehende Anforderung kennzeichnende Signa} beendet wird. Wenn auf der Leitung 156 ein positives Potential liegt, dann
620779
wird NAND 158 nicht länger gesperrt und ein auf der Leitung 159 liegendes negatives Ausgangssignal befriedigt das negative UND-Glied 160, so dass dessen positives Ausgangssignal die Kippschaltung 161 einstellt. Dadurch wird aber die Kippschaltung 151 zurückgestellt und auf der Schiebebit-Ausgangslei-tung 145 wird, wie zuvor, ein negativ gerichteter Impuls dadurch erzeugt, dass 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 dass 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, dass 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 äusseren Speicher 196 haben. Jeder Prozessor hat eine Speichersteuerschaltung, die eine Schaltung gemäss Fig. 10 enthält. Eine Anzahl von Leitungen 197 verbinden die Schiebebiteingangs- und Schiebebitaus-gangsleitungen der einzelnen Prozessoren in der Weise miteinander, dass 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 dass jeder der Prozessoren den äusseren Speicher 198 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 zusammengefasst. Alle sieben Prozessoren können unter den gleichen Bedingungen wie in Fig. 11 unter Verwendung eines einzigen Ringzählers, der alle Speicheradress-Schieberegister-bitpositionen enthält, nacheinander Speicherzugriff erhalten, doch wird öfters gefordert, dass eine oder mehrere Gruppen von Prozessoren eine höhere Priorität erhalten 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 Leitung 201 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 Speicherzyklus 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, dass dieser eine auf Prozessorebene wirksame Speichersteuerring durch jede Bitposition dadurch entsperrt wird, dass die Mehrfach-Leitungen 183 für diesen Ring betätigt werden. Man sieht, dass die Ausgangsleitungen der Bitpositionen 1 und 3 des Ringzählers 200 miteinander verbunden sind, so dass der aus Prozessoren 1 bis 3 bestehende Ring in bezug auf Zugriff zu dem äusseren Speicher 168 eine erhöhte Priorität besitzt. Demgemäss verbessert die Verwendung eines einzelnen Ringes wie in Fig. 11 die Ausnutzung des äusseren Speichers dadurch, dass der Zugriff dyna-
9
5
10
15
20
25
30
35
40
45
50
55
60
65
620 779 1 0
misch erfolgt, statt mit fest zugeteilten Perioden oder Zeitab- antrifft. Will man diese Schwierigkeiten in einer Weise umgeschnitten. Fügt man eine zweite Ebene der Zugriffssteuerung, hen, ohne dass dabei das gesamte System dadurch beeinträch-wie z. B. in Fig. 12, hinzu, so kann man einem bestimmten Pro- tigt wird, dass man immer die Zeitverzögerung des schlimm-zessor oder einer Gruppe von Prozessoren, oder in veränderli- sten Falls mit einbezieht, wird der Systemtakt bei Erzeugung eher Prioritätsabstufung in bezug auf ausgewählte Prozessoren 5 einer Zugriffsanforderung angehalten und bei Beendigung des oder Gruppen von Prozessoren, Zugriffsprioritäten zum exter- Zugriffzyklus wieder in Betrieb gesetzt, so dass das System von nen Speicher zuordnen. Andere Verfahren zum Ansteuern der der Zugriffsgeschwindigkeit des jeweils benutzten externen Mehrfach-Leitungen 183 reichen von einfachen Zählern bis zu Speichers unabhängig wird. Ferner ist eine Schaltung vorgese-einer intelligenten Steuerung unter Verwendung eines Prozes- hen, mit deren Hilfe der auf dem Chip befindliche Steuerspei-sors, um damit unterschiedliche Prozessorprioritäten einsetzen 10 eher wirkungsvoll dadurch verändert werden kann, dass man zu können. selektiv für einzelne Befehle oder Blöcke von Befehlen den äus-
Eine über Leitung 148 abgehende Anforderung für seren zusätzlichen Steuerspeicher substituiert und damit ver-
Speichersteuerung entsperrt die Torschaltungen 189 und 190 meidet, dass der gesamte Prozessorchip erneut entworfen und und überträgt damit den Speicherinhalt des Speicheradressre- ersetzt werden muss, wenn in der Steuerspeicheranordnung gisters 191 bzw. 192 über die Datenleitungen 193 und 194 nach 15 eine Änderung durchgeführt werden muss.
dem externen Speicher. In Abhängigkeit davon werden Adress- Diejenige Schaltung, die für den Prozessor die arithmeti-
daten zwischen dem externen Speicher und dem Speicherda- sehen und logischen Funktionen durchführt, wird dadurch ver-
tenregister (MDR) 44, das als Datenschnittstelle zwischen Pro- einfacht und mengenmässig verringert, dass die fundamentalen zessor und externen Speicher wirkt, übertragen. Weitere Über- Bitpositionsaddierschaltungen für die Durchführung zahlrei-
tragungsmöglichkeiten zwischen Prozessor und anderen ange- 20 cher anderer Funktionen auf Befehl aufgetastet werden. Dabei schlossenen Geräten werden über das externe Register 93, das wird ein Operationscode decodiert, um damit verschiedene externe Register 94 und das Zusatzregister 95 hergestellt. einer Reihe von sechs Durchschaltleitungen anzusteuern, mit deren Hilfe selektiv die Addierschaltungen zur Erzeugung
Rückblick und Übersicht anderer Funktionen modifiziert werden können. Ferner stehen
In der vorliegenden Beschreibung wurde eine Mikroprozes- 25 bei mit kurzen Datenworten arbeitenden Mikroprozessoren soranordnung dargestellt, die vollständig auf einem einzigen, Steuerbits der arithmetischen und logischen Einheit weniger mit einer hochintegrierten Schaltung versehenen Halbleiter- und weniger zur Verfügung. Bei dem erfindungsgemäss aufge-plättchen enthalten ist. Diese Anordnung enthält auf einem ein- bauten Prozessor ist ein Register dazu bestimmt, solche Infor-zigen Halbleiterplättchen nicht nur die Freigabeschaltungen mation vorübergehend abzuspeichern, so dass der Prozessor für den Prozessor, sondern auch eine als Festwertspeicher auf- 30 mit seiner Verarbeitung fortfahren kann, wobei dann die Funkgebaute Steuerspeicheranordnung, so dass für dieses Halb- tion der arithmetischen und logischen Einheit, entsprechend leiterplättchen nur noch eine Quelle für Oszillatorimpulse, ein dem Speicherinhalt eines solchen Registers nur dann geändert Anschluss an eine Stromversorgung und eine Rückstelleitung wird, wenn dies erforderlich ist. Zu anderen Zeiten ist es dann erforderlich sind, damit die Schaltung völlig unabhängig für nur erforderlich, die Eingabedaten zu ändern. Der Prozessor sich arbeiten kann. Der Prozessor ist dabei so aufgebaut, dass 35 weist ferner eine Minimaske oder eine Speicheranordnung auf, er mit einem äusseren Massenspeicher zusammen arbeiten die in Abhängigkeit von einer 5-Bit-Adresse eine aus 32 kann, so dass er für eine echte Parallelverarbeitung einsetzbar Speicherplätzen auswählt und gleichzeitig das ALU-Eingangs-ist. Der Prozessor kann ferner einen zusätzlichen, ausserhalb register und das ALU-Operationsregister lädt sowie 2-Bit-des Halbleiterplättchens angeordneten Steuerspeicher neben Steuerinformation an die Takt- und Steuerschaltung abgibt, der auf dem Halbleiterplättchen angeordneten Speicheranord- 40 Dadurch werden mehr als 2 normale Befehle wirksam zu einem nung ansteuern, und die Gesamtschaltung enthält die verschie- einzigen Befehl zusammengefasst, wodurch sich sowohl beim densten Schaltungsvarianten, durch die der Einsatz der einzel- Mikrocode als auch Ausführungszeit einsparen lässt. Dieses nen Schaltkreise wirtschaftlich wird, wobei der Prozessor für Verfahren gibt in ausgewählten Fällen einem mit einem Kurzkurze Befehlsworte mit den Eigenschaften eines Prozessors für wort arbeitenden Prozessor die Möglichkeit, mit einem langen lange Befehlsworte ausgestattet wird. 45 Befehlswort zu arbeiten.
Der hier dargestellte Prozessor ist grundsätzlich insoweit Der Prozessor enthält ferner eine Speichersteuerschaltung, ein 12-Bit-Prozessor, als er einen 12-Bit-Befehl benutzt, der die den Zugriff zu dem äusseren Massenspeicher steuert und einen Teil mit 4 Bit enthält, der die Art und Länge definiert die als ein Teil eine Schaltung enthält, die als eine Position oder sowie einen aus 8 Bit bestehenden Abschnitt, der bestimmte Stufe eines kontinuierlich umlaufenden Schieberegisters arbei-Modifizierinstruktionen, unmittelbare Daten oder Adressen 50 tet. Ferner ist eine Mehrfachleitung vorgesehen, mit der die enthalten kann. Die Datensammelleitung kann 8 Bit gleichzei- Speichersteuerschaltung selektiv gesperrt werden kann. Die tig übertragen und dient dem Datenaustausch mit einem äusse- erwähnte Schieberegisterbitposition kann entweder mit einer ren Massenspeicher mit 8-Bit-Bytes. Bei der Adressierung Reihe von gleichartigen Schaltungen anderer Prozessoren zusätzlicher, ausserhalb des Halbleiterplättchens liegender oder anderer Anlagen, die den Speicher ansteuern, zur Bildung Steuerspeicher werden Datenleitungen benutzt, die unabhän- 55 eines freilaufenden Ringzählers zusammengeschaltet werden, gig von denjenigen Leitungen sind, die den Prozessor mit dem Wenn der Prozessor zu dem äusseren Massenspeicher Zugriff äusseren Massenspeicher verbinden. Wenn man zwei parallele erhalten will, dann wird ein derartiger Zugriff durch die Auf-8-Bit-Datenleitungen nach der ausserhalb gelegenen Steuer- nähme eines einzigen Bit in dem Ringzähler und dessen Speispeicheranordnung einsetzt, dann kann man ein aus 2 Byte cherung in der zugehörigen Bitpositionsschaltung freigegeben, bestehendes Datenwort übertragen und damit den Wirkungs- w Durch dieses Verfahren können mehrere Prozessoren auf grad des Informationsaustauschs mit dem Steuerspeicher erhö- dynamischer Basis über eine einzige Datensammelleitung zu hen. einem einzigen äusseren Massenspeicher Zugriff erhalten.
Wenn man sowohl den auf dem Halbleiterplättchen als Obgleich bei diesem Verfahren jede beliebige Anzahl von Pro-
auch den ausserhalb des Halbleiterplättchens befindlichen zessoren oder anderen Anlagen auf dynamischer Basis einen
Steuerspeicher benutzt, dann lässt sich voraussehen, dass der 65 Speicher ansteuern kann, so wird dadurch jedoch noch nicht
Zugriff zu dem ausserhalb des Halbleiterplättchens liegenden die Tatsache berücksichtigt, dass bei den meisten Parallelverar-
Steuerspeicher langsamer abläuft, und es ist ferner möglich, beitungssystemen mit Parallelprozessoren eine oder mehrere dass man noch andere Differenzen beim Speicherzugriff Anlagen oder Geräte gibt, die entweder häufiger oder mit Prio-
rität Zugriff zum Speicher haben. Diese Funktion wird dadurch sichergestellt, dass 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 liegenden Leitungen eines jeden Ringes sind miteinan11 620 779
der verbunden und an einer Bitposition eines freilaufenden Ringzählers einer zweiten Ebene angeschlossen. Dabei kann jedem Ring von Prozessor-Bitpositionen dadurch häufiger Zugriff zum Speicher gegeben werden, dass ein Anschluss an 5 mehr als einer Ringzählerbitposition der zweiten Ebene hergestellt wird.
G
7 Blatt Zeichnungen

Claims (23)

  1. 620779
    PATENTANSPRÜCHE
    1. Datenverarbeitungsanlage mit auf einer einzigen Halbleiterscheibe untergebrachtem Prozessor mit Verarbeitungseinrichtungen (22,27,32,97,98,99), einem internen Steuerspeicher (18), einer Anzahl von Eingabe/Ausgaberegistern (44,93, 94,95), einem Arbeitsspeicher (30) und mit Speichersteuerungseinrichtungen (36,41,42,191,192) zum Ansteuern eines externen Datenspeichers (26), sowie mit einem Steuerspeicher-Adressregister (28,29), dadurch gekennzeichnet, dass ein externer Steuerspeicher (17) durch die Adressregister (28,29) des internen Steuerspeichers (18) wahlweise ansteuerbar ist, und dass mindestens ein E/A-Register (44) als Speicherdatenregister des externen Datenspeichers (26) dient (Fig. 1, Fig. 2).
  2. 2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, dass für die Adressierung des internen Steuerspeichers (18) fortschreibbare Befehls-Adressregister (28,29) vorgesehen sind, die mit dem internen Steuerspeicher (18) und dem externen Steuerspeicher (17) verbunden sind, und dass die Befehls-Adressregister (28,29) ein erstes Feld für die Auswahl des zu adressierenden Steuerspeichers (17 bzw. 18) und ein zweites Feld aufweisen, das die Adresse des innerhalb des ausgewählten Steuerspeichers liegenden, zu adressierenden Speicherplatzes enthält.
  3. 3. Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, dass das erste Feld eine einzige Bitposition enthält, deren logischer Zustand (0,1) bewirkt, dass entweder der interne (18) oder der externe (17) Steuerspeicher adressiert wird; und dass bei Adressierung des internen Steuerspeichers weniger Bitpositionen des zweiten Feldes Verwendung finden als bei der Adressierung des externen Steuerspeichers.
  4. 4. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, dass ein erster in zwei Richtungen betreibbarer Datenkanal (49) den Prozessor mit dem externen Datenspeicher (26) und ein zweiter, in zwei Richtungen betreibbarer Datenkanal (56,57) den Prozessor mit dem externen Steuerspeicher (17) verbinden (Fig. 1, Fig. 2).
  5. 5. Datenverarbeitungsanlage nach Anspruch 3, dadurch gekennzeichnet, dass für die Auswahl der Adressierung eine Verknüpfungsschaltung (59,61) vorgesehen ist, die eingangssei-tig an der Bitposition (0) des ersten Feldes und am Übertragausgang der höchsten bei der Adressierung des internen Steuerspeichers (18) benutzten Bitposition (5) angeschlossen ist und dann ein Ausgangssignal an die nächst höhere Bitposition (4) abgibt, wenn ein Übertrag auftritt, während die Bitposition des ersten Feldes den zweiten logischen Zustand anzeigt, jedoch dann, wenn ein Übertrag auftritt, während die Bitposition des ersten Feldes 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 lädt (Fig. 3).
  6. 6. Datenverarbeitungsanlage nach Anspruch 5, dadurch gekennzeichnet, dass der interne Steuerspeicher ein Festwertspeicher ist, und dass ausserdem als Arbeitsspeicher ein ladbarer Speicher (30) vorgesehen ist, dass dieser Speicher parallel mit dem internen Steuerspeicher adressierbar ist, dass ferner der Ausgang dieses Speichers an die Bitposition des ersten Feldes anschaltbar ist, um den Inhalt der Bitposition des ersten Feldes festzulegen, so dass die Steuerung durch selektive Übertragung der Steuerfunktion vom internen an den externen Steuerspeicher veränderbar ist (Fig. 2, Fig. 3).
  7. 7. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, dass bei Anforderung eines Steuerspeicherzyklus ein Signal erzeugt wird, das in dem adressierten Steuerspeicher den Speicherzyklus einleitet und den Prozessor sperrt, und dass bei Zyklusende ein Signal (90) erzeugt wird, aufgrund dessen das Ausgangssignal des Steuerspeichers dem Prozessor zum Beginn der Verarbeitung des darin enthaltenen Befehls zugeleitet wird, wodurch die Verarbeitungszeit des Prozessors von der Zykluszeit des Steuerspeichers unabhängig ist (Fig. 4).
  8. 8. Datenverarbeitungsanlage nach den Ansprüchen 4 und 7, dadurch gekennzeichnet, dass der zweite Datenkanal eine grössere Kapazität aufweist als der erste.
  9. 9. Datenverarbeitungsanlage nach Anspruch 1, mit einem den Steuerspeichern zugeordneten Befehlsregister (75,76) für die Aufnahme eines adressierten Befehls, der einen Operationsteil und einen Adressteil enthält, dadurch gekennzeichnet, dass ein als Festwertspeicher aufgebauter Maskenspeicher (34), ein Rechenwerk (22) und eine Anzahl diesem Rechenwerk vorgeschaltete Register (97,98,32) vorgesehen sind, die dem Rechenwerk Daten zuführen und dessen Operationen steuern, dass über Datenleitungen das Befehlsregister mit dem Maskenspeicher und den dem Rechenwerk vorgeschalteten Registern und der Maskenspeicher mit den vorgeschalteten Registern verbunden sind, dass dabei der Operationsteil des adressierten Befehls bewirkt, dass der Adressteil eine ausgewählte Speicherposition in dem Maskenspeicher ansteuert und damit eine Reihe von Operationen einschliesslich des Ladens von mindestens einem der vorgeschalteten Register mit dem Speicherinhalt des im Maskenspeicher adressierten Speicherplatzes bewirkt.
  10. 10. Datenverarbeitungsanlage nach Anspruch 9, dadurch gekennzeichnet, dass der Maskenspeicher (34) ausgangsseitig mit Adressregistern verbunden ist, denen entsprechend der im Maskenspeicher angesteuerten Speicherposition Steuersignale zuführbar sind.
  11. 11. Datenverarbeitungsanlage nach Anspruch 9, dadurch gekennzeichnet, dass zu den vorgeschalteten Registern mindestens ein Dateneingangsregister (98) und ein Rechenwerks-Operationsregister (32) gehören.
  12. 12. Datenverarbeitungsanlage nach Anspruch 9, dadurch gekennzeichnet, dass das Rechenwerk (22) ein erstes und ein zweites Eingaberegister (97,98) aufweist, die durch die Ausgangsdaten des Maskenspeichers (34) über einen Datenkanal (134) ansteuerbar sind.
  13. 13. Datenverarbeitungsanlage nach Anspruch 9, dadurch gekennzeichnet, dass der Maskenspeicher (34) ausserdem über eine Datenleitung (133) mit einer Steuereinrichtung (63) verbunden ist zur Übertragung von Steuerbits.
  14. 14. Datenverarbeitungsanlage nach Anspruch 1, in welcher die Verarbeitungseinrichtungen ein Rechenwerk (22) mit zwei Eingaberegistern (97,98) umfassen, wobei das Rechenwerk für eine vorgegebene, der Kapazität der zugeordneten Übertragungswege entsprechenden Anzahl paralleler Bitpositionen ausgelegt ist, dadurch gekennzeichnet, dass für jede Bitposition eine Addierschaltung (Fig. 7) vorgesehen ist, die eine Anzahl selektiv auftastbarer Steuerschalter (107,108,110,113,116,117) für eine wahlweise Einschaltung von Teilen der Addierschaltung enthält, und dass ein Operationsdecodierer (99, Fig. 2c) vorgesehen ist, dessen Ausgangsleitungen (Gl bis G6) mit entsprechenden Steuerschaltern verbunden sind, so dass durch eine Anzahl von Signalkombinationen (Fig. 6) zur Ansteuerung verschiedener Teile der Addierschaltung verschiedene logische Funktionen auswählbar sind.
  15. 15. Datenverarbeitungsanlage nach Anspruch 14, dadurch gekennzeichnet, dass jede Addierschaltung aus einem ersten und einem zweiten Exklusiv-ODER-Glied und einer Übertragsstufe besteht, dass die Eingänge (An, Bn) des ersten Exklusiv-ODER-Gliedes mit entsprechenden Bitpositionen des ersten und zweiten Eingaberegisters (97,98) verbunden sind, und dass die Eingänge des zweiten Exklusiv-ODER-Gliedes am Ausgang des ersten Exklusiv-ODER-Gliedes und an der Übertragsstufe der Addierschaltung einer anderen Bitposition angeschlossen sind.
  16. 16. Datenverarbeitungsanlage nach Anspruch 15, dadurch gekennzeichnet, dass der mit der Übertragsstufe einer anderen Bitposition verbundene Eingang (Cn-1) des zweiten Exklusiv-
    2
    5
    10
    15
    ?0
    25
    30
    35
    40
    45
    50
    55
    60
    65
    ODER-Gliedes durch einen wahlweise betätigbaren Schalter gesperrt werden kann, wodurch das Ausgangssignal des zweiten Exklusiv-ODER-Gliedes gleich dem Ausgangssignal des ersten Exklusiv-ODER-Gliedes wird.
  17. 17. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, dass für den externen Datenspeicher (26, Fig. 1) eine Anzahl mit ihm verbundene Speicherzugriffsschaltungen (Fig. 10) vorgesehen sind, deren jede eine selbst-tak-tende Schieberegister-Bitposition enthält, wobei die einzelnen Schieberegister-Bitpositionen durch Leitungen ( 197, Fig. 11 ; 199, Fig. 12) miteinander zu einem Schieberegister verbunden sind, dass die zusammengeschalteten Schieberegister-Bitpositionen durch ein aktives Bit in der Weise betätigbar sind, dass eine der Zugriffsschaltungen dann Zugriff zu dem Datenspeicher ( 196, Fig. 11 ; 198, Fig. 12) erhält, wenn das aktive Bit in der der betreffenden Zugriffsschaltung zugeordneten Schieberegi-ster-Bitposition liegt.
  18. 18. Datenverarbeitungsanlage nach Anspruch 17, dadurch gekennzeichnet, dass die Schieberegister-Bitpositionen derart miteinander verbunden sind, dass das aktive Bit die einzelnen Schieberegister-Bitpositionen gemäss einer vorbestimmten Rangfolge durchläuft.
  19. 19. Datenverarbeitungsanlage nach Anspruch 17, dadurch gekennzeichnet, dass jede Schieberegister-Bitposition (Fig. 10) eine erste bistabile Kippschaltung (151) enthält, die durch einen über eine Eingangsleitung (144) ankommenden Bitimpuls einstellbar ist, und während einer fortdauernden Speicherzugriffsanforderung durch die zugeordnete Speicherzugriffsschaltung eingestellt bleibt.
  20. 20. Datenverarbeitungsanlage nach Anspruch 19, dadurch gekennzeichnet, dass jede 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.
  21. 21. Datenverarbeitungsanlage nach Anspruch 19, dadurch gekennzeichnet, dass in jeder Schieberegister-Bitposition Verknüpfungsglieder (146, 149,181,182) angeordnet sind, die während einer Zugriffsanforderung den Schiebebit-Eingang (144) von der ersten Kippschaltung (151) abtrennen, so dass ein an dem Schiebebit-Eingang auftretender Störimpuls nicht wirksam wird, wodurch die Anwesenheit von mehr als einem einzigen Bit in dem durch die Zusammenschaltung der Schieberegister-Bitposition gebildeten Ring vermieden wird.
  22. 22. Datenverarbeitungsanlage nach Anspruch 17, dadurch gekennzeichnet, dass die Speicherzugriffsschaltungen zu einer Anzahl von Gruppen zusammengefasst sind, bei denen die Schieberegister-Bitpositionen einer jeden Gruppe einen Ring (199) bilden (Fig. 12); und dass durch eine zusätzliche Steuerschaltung (200,201,202) jede Gruppe ihren Speicherzugriff gemäss einer vorgegebenen Rangfolge erhält.
  23. 23. Datenverarbeitungsanlage nach Anspruch 22, dadurch gekennzeichnet, dass als zusätzliche Steuerschaltung ein weiteres aus mehreren Bitpositionen (1,2,3,4) zusammengeschaltetes Steuerschieberegister (200) dient, bei dem die Anzahl der Bitpositionen der Anzahl von Gruppen von Schieberegister-Bitpositionen entspricht, dass in dem ebenfalls als Ringzähler geschalteten Steuerschieberegister ein einzelnes Bit die Bitpositionen durchläuft, und dass die Schieberegister-Bitpositionen in jeder Gruppe der ersten Ebene untereinander (199) und iiber eine Leitung (202) mit der entsprechenden Bitposition des Steuerschieberegisters (200) verbunden sind (Fig. 12).
    620779
CH544977A 1976-05-03 1977-05-02 CH620779A5 (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 (1)

Publication Number Publication Date
CH620779A5 true CH620779A5 (de) 1980-12-15

Family

ID=24741195

Family Applications (1)

Application Number Title Priority Date Filing Date
CH544977A CH620779A5 (de) 1976-05-03 1977-05-02

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
US4954951A (en) * 1970-12-28 1990-09-04 Hyatt Gilbert P System and method for increasing memory performance
US5526506A (en) * 1970-12-28 1996-06-11 Hyatt; Gilbert P. Computer system having an improved memory architecture
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
US4390963A (en) * 1980-09-15 1983-06-28 Motorola, Inc. Interface adapter architecture
US4434461A (en) 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
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
US4435763A (en) 1981-04-13 1984-03-06 Texas Instruments Incorporated Multiprogrammable input/output circuitry
US4580216A (en) * 1981-06-22 1986-04-01 Texas Instruments Incorporated Microcomputer with internal selection of on-chip or off-chip access
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
EP0063458B1 (de) * 1981-04-13 1989-08-23 Texas Instruments Incorporated Mikrocomputersystem
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
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
DE117837T1 (de) * 1983-03-01 1985-01-17 Mostek Corp., Carrollton, Tex. Benutzerprogrammierbare buskonfiguration fuer 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
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4870562A (en) * 1986-03-20 1989-09-26 Nec Corporation Microcomputer capable of accessing internal memory at a desired variable access time
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
US5155819A (en) * 1987-11-03 1992-10-13 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US4878174A (en) * 1987-11-03 1989-10-31 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
JPS52152135A (en) 1977-12-17
JPS5924462B2 (ja) 1984-06-09
GB1527318A (en) 1978-10-04
AU2478977A (en) 1978-11-09
DD130183A5 (de) 1978-03-08
JPS6110851B2 (de) 1986-03-31
AT376309B (de) 1984-11-12
CA1091355A (en) 1980-12-09
IT1113581B (it) 1986-01-20
JPS6051134B2 (ja) 1985-11-12
FR2350645A1 (fr) 1977-12-02
GB1527317A (en) 1978-10-04
US4093982A (en) 1978-06-06
US4144563A (en) 1979-03-13
ATA262077A (de) 1984-03-15
FR2350645B1 (de) 1980-02-01
DE2716369C2 (de) 1991-02-07
BR7702850A (pt) 1978-05-16
NL7704824A (nl) 1977-11-07
AU511624B2 (en) 1980-08-28
JPS57164353A (en) 1982-10-08
GB1527316A (en) 1978-10-04
DE2716369A1 (de) 1977-11-17
JPS57197649A (en) 1982-12-03

Similar Documents

Publication Publication Date Title
CH620779A5 (de)
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2718454C3 (de) Als Halbleiterschaltung ausgeführte Speichervorrichtung
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE2819571C2 (de)
DE2540975C2 (de) Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse
CH623947A5 (de)
DE2835095C2 (de) Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren
DE3638572C2 (de)
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2130299B2 (de) Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage
EP0010185B1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2717658A1 (de) Anordnung zur ansteuerung eines mikroprogrammspeichers
DE2536622C2 (de) Verzweigungssteuerung mit flexibler Auswahl von Steuerworten
DE2019444B2 (de) Datenverarbeitungsanlage mit vorrangschaltung
DE1499730A1 (de) Einrichtung zur Speicherauswahl
DE2548720C2 (de) Mikroprogramm-Steuerwerk
DE69726400T2 (de) Festkörper-datenprozessor mit vielseitiger mehrquellen-unterbrechungsorganisation
DE3344340C2 (de) Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen
DE2245284A1 (de) Datenverarbeitungsanlage
DE2121490A1 (de) Orthogonaler Datenspeicher
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE3313075C2 (de)
AT354783B (de) Programmierbare schaltung zur datenverarbeitung

Legal Events

Date Code Title Description
PL Patent ceased