DE2533737A1 - Datenprozessor - Google Patents

Datenprozessor

Info

Publication number
DE2533737A1
DE2533737A1 DE19752533737 DE2533737A DE2533737A1 DE 2533737 A1 DE2533737 A1 DE 2533737A1 DE 19752533737 DE19752533737 DE 19752533737 DE 2533737 A DE2533737 A DE 2533737A DE 2533737 A1 DE2533737 A1 DE 2533737A1
Authority
DE
Germany
Prior art keywords
rail
data
address
register
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19752533737
Other languages
English (en)
Other versions
DE2533737C2 (de
Inventor
Thomas Harold Bennett
Earl Fred Carlow
Anthony Elias Kouvoussis
Pa Norristown
Rodney Harry Orgill
Charles Ingraham Peddle
Michael Frederick Wiles
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of DE2533737A1 publication Critical patent/DE2533737A1/de
Application granted granted Critical
Publication of DE2533737C2 publication Critical patent/DE2533737C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • G06F9/3557Indexed addressing using program counter as base address

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Datenprozessor Die Erfindung betrifft einen Datenprozessor und bezieht sich insbesondere auf den Aufbau und die Anordnung eines Mikroprozessorplättchens.
  • Es sind verschiedene Mikroprozessorplättchen bekannt, die als integrierte Schaltung ausgebildet sind, so daß eine integrierte Großschaltung in MOS-Technik entsteht (MOS = Metalloxidsilizium).
  • Als Herstellungsverfahren kommen dazu das P-Kanal-Verfahren und das schnellere und weiter entwickelte N-Eanal-Verfahren in Betracht. Die llikroprozessorplättchen bzw. #ikroprozessor-Chips sind das Herz des gesamten Mikrocomputersystems bzw.
  • Mikrorechnersystems, welches sich auch als Mikrodatenverarbeitungssystem bezeichnen läßt, und es sind normalerweise eine Anzahl von Energieversorgungseinheiten, externen Speichereinrichtungen mit Direktzugriff, Bestspeichereinrichtungen, aus denen nur gelesen werden kann sowie eine Vielfalt von Pufferkopplungseinheiten und Peripheriesteuereinheiten vorhanden.
  • Eine verhältnismäßig kleine Anzahl von Halbleiterplättchen bzw. Halbleiter-Chips ist erforderlich, um ein vollständiges Mikrocomputersystem bzw. Nikrodatenverarbeitungssystem aufzubauen. Ein einfacher, jedoch vollständiger Plikrocomputer, welcher solche Mikroprozessor-Baugruppen verwendet, kann auf einer kleinen gedruckten echaltungskarte untergebracht werden, wobei höchstens vier oder fünf integrierte Schaltungsbaugruppen erforderlich sind. Einige Steuerfunktionen können sogar mit weniger integrierten Schaltungabaugruppen ausgeführt werden. Dadurch wird die Leistungsfähigkeit der digitalen Datenverarbeitung durch einen Computer bei sehr geringen Kosten in einer groben Vielfalt von industriellen Einrichtungen und Einrichtungen der Nachrichtentechnik zur Verfügung gestellt, beispielsweise in Prozeß- und Fertigungssteuersystemen, bei der Computerperipherie und bei der Gerätetechnik für Anschlußstellen, bei Sarametersteuersystemen jeglicher Art von Mikrocomputern in Kraftfahrzeugen, in Verkehrssteuereinrichtungen und an vielen anderen Stellen, an welchen eine Direktlogik für eine Computersteuerung optimalisiert werden soll. Die Einsparungen an Zeit und Kosten für den Entwurf von Mikrocomputersystemen werden durch integrierte Großschaltungen in MOS-Technik und entsprechende Speicher- und Peripherieeinheiten stark verbessert. Die Auslegung von gedruckten Schaltungskarten wird vereinfacht. Die komplexen Verbindungen, welche für große Anzahlen von herkömmlichen integrierten Schaltungen erforderlich sind, werden durch Festspeicher ersetzt. Die einzige Zwischenverbindungsleitung auf gedruckten Schaltungskarten verläuft zwischen den verschiedenen Adressen- und Datenschienen sowie den Eingabe/Ausgabe-Einrichtungen. Die Kosteneinsparungen sind nicht auf die direkten Bauteilkosten beschränkt, sondern erstrecken sich auch auf andere zugehörige Kosten für die Gerätetechnik. Die Zahl der Anschlüsse wird vermindert, die Verdrahtung kann vereinfacht werden, die Kartenhalterung kann kleiner ausgebildet werden usw.. Entsprechende indirekte Kosten werden ebenfalls gesenkt, da der Zusammenbau weniger Zeit erfordert, die Dokumentation einfacher ist und die Wartung vereinfacht ist. In gleicher Weise wesentlich für Kosteneinsparungen und gerätetechnische Systeme ist die Fähigkeit von Systemingenieuren, einen vorgeschlagenen Entwurf rasch aufzubauen. Es muß keine Verdrahtungslogik simuliert werden, optimalisiert oder nachgebildet werden. Der logische Entwicklungsteil des Entwicklungszyklus wird nun das Manipulieren mit den Funktionsblöcken, wie sie oben erwähnt wurden, wobei die Steuerfolge die Form annimmt, ein Datenverarbeitungsprogramm in einen externen Festspeicher einzuschreiben.
  • Eine Brett schaltung besteht lediglich noch in der Zusammenschaltung einiger integrierter Großschaltungs-Baugruppen. Es ist auch wesentlich einfacher, einen Entwurf zu ändern. Die Anwendung von Simulatoren ermöglicht es, den Entwurf zu überprüfen, bevor er gerätetechnisch ausgeführt ist. Insgesamt führt dies dazu, daß etwa 90 % der Entwicklungszeit für einen Mikrocomputer eingespart werden können, wenn ein Mikroprozessor und die zugehörigen Chips bzw. Plättchen verwendet werden.
  • Jedoch haben verschiedene Mikroprozessoren verschiedene lieistungsfähigkeiten, welche den Anwendern verschiedene Vorteile bieten, welche jeweils andere Anwendungsgebiete haben.
  • Beispielsweise kann ein bestimmtes Mikroprozessorplättchen für einen Anwender klar im Vorteil sein, und eine andere Mikroprozessoreinheit kann für einen anderen Anwender mit verschiedenen Programmerfordernissen vorteilhaft sein. Die Effektivität bzw. der Wirkungsgrad bestimmter Mikrocomputersysteme kann gewöhnlich dadurch gemessen werden, daß die Arbeitsgeschwindigkeit und die externen Speichererfordernisse für eine repräsentative Klasse von praktischen Standardprogrammen ermittelt werden. Es ist weiterhin klar, daß eine Mikroprozessoreinheit mit kürzerem Zaschinenzyklus, welche weniger Maschinenzyklen zur Ausführung eines bestimmten Befehlssatzes benötigt, im allgemeinen für einen Anwender vorteilhaft ist.
  • Eine leichte Steuerung des Eingags/Ausgangs-Datenflusses kann für den Anwender auch Vorteile mit sich bringen, wenn eine bestimmte Mikroprozessoreinheit verwendet wird. Nunmehr sind Familien von Ergänzungsschaltungen, welche direkt mit einem in zwei Richtungen arbeitenden Datenübertragungsweg, der auch als Datenschiene zu bezeichnen ist, gekoppelt werden können, wodurch die meisten der bekannten Mikroprozessorplättchen gekennzeichnet sind, in Verbindung mit neuen Mikroprozessoreinheiten im allgemeinen viel leistungsfähiger als die frühesten Mikroprozessorplättchen für integrierte Großschaltungen in MOS-Technik der ersten Generation, indem die Befehlssätze für die neueren Einrichtungen viel größer und leistungsfähiger sind (die leistungsfidgsten Mikroprozessorplättchen umfassen etwa 70 Befehle) und dadurch, daß die für die Ausführung eines Befehls benötigte Zeit etwa um eine Größenordnung kürzer ist. Weitere Verbesserungen des Gesamtsystems und seiner Leistungsfähigkeit können sich jedoch noch aus Verbesserungen in der Anordnung und dem Aufbau von Mikroprozessorplättchen ergeben, indem neue Systeme verwendet werden, welche verbesserte Mikroprozessorplättchen und die zugehörige Peripherie verwenden.
  • Aufgabe der Erfindung ist es, ein Mikroprozessorplättchen der oben näher erläuterten Art zu schaffen, welches derart aufgebaut ist, daß die Datenübertragungsgeschwindigkeit auf einem in zwei Richtungen arbeitenden Datenübertragungsweg besonders hoch wird.
  • Zur Lösung dieser Aufgabe dienen insbesondere die im Patentbegehren niedergelegten Merkmale.
  • Eine bevorzugte Ausführungsform der Erfindung schafft eine als integrierte Schaltung ausgebildete Prozessoreinheit auf einem Halbleiterplättchen, und zwar unter Anwendung der MOS-Technik (MOS L fletalloxidsilizium), wobei eine interne Adressenschiene vorgesehen ist, welche mit einer Adressenausgangstreiberschaltung verbunden ist, die mit einer externen Adressenschiene verbunden ist, welche zur Adressierung eines externen Speichers verwendet wird. Der Mikroprozessor weist auch eine interne Datenschiene auf, welche in zwei Richtungen arbeitet und mit der Dateneingangs/ausgangs-Schaltung verbunden ist, welche Daten von einen: in zwei Richtungen arbeitenden externen Datenkanal empfängt und zu diesem überträgt, der mit dem externen Speicher und Peripheriekopplungseinheiten verbunden sein kann. Die Nikroprozessoreinrichtung weist auch eine Programmregistereinrichtung auf, welche mit der internen Adressenschiene und mit der internen Datenschiene verbunden ist, um eine Adresse des laufenden Befehls zu speichern, und diese Adresse zu der internen Adressenschiene oder der internen Datenschiene zu übertragen, und sie weist weiterhin eine Zählereinrichtung auf, welche mit der Adressenschiene, der Datenschiene und dem Programmregister verbunden ist, um eine Adresse eines folgenden Bytes eines Befehles zu erzeugen und diese Adresse unabhängig von der Adressenschiene in das Programmregister zu übertragen. Dies geschieht dadurch, daß der Inhalt des Prograc.mregisters entweder inkrementiert oder dekrementiert wird und über einen von der Adressenschiene unabhängigen Datenweg in das Programmregister rückübertragen wird. Die Fiikroprozessoreinheit ist intern derart ausgebildet, daß die interne Adressenschiene in zwei Abschnitte unterteilt ist. Jeder der internen Abschnitte treibt eine separate externe Datenschienen-Treiberschaltung. Die Programmregistereinrichtung und die Zählereinrichtung sowie alle anderen Register und Zähler, welche mit der Adressenschiene und der Datenschiene gekoppelt sind, sind ebenfalls aufgeteilt bzw. aufgespalten, wobei jedes dieser Teile einen ersten Abschnitt aufweist, welcher zwischen der Datenschiene und dem ersten Adressenschienenabschnitt angeordnet ist, welcher auch als untere oder tiefgelegte Adressenschiene bezeichnet ist) und weiterhin einen zweiten Abschnitt hat, (der auch als obere Adressenschiene oder hochgelegte Adressenschiene bezeichnet ist), welcher zwischen der Datenschiene und dem zweiten Adressenschienenabschnitt angeordnet ist. Der erste Adressenschienenabschnitt ist weiterhin mit Hilfe eines Adressenschienenschalters aufgeteilt, welcher in steuerbarer Weise åjeden Leiter des ersten Adressenschienenabschnittes mit einem entsprechenden Leiter eines dritten Adressenschienenabschnittes verbindet. Der dritte Adressenschienenabschnitt ist mit einer arithmetischen Logikeinheit gekoppelt.
  • Eine zusätzliche Logikschaltung ist auf dem Plättchen dazu vorgesehen, die Unterbrechungsroutine zu steuern und die erforderlichen Zeittaktsignale zu erzeugen, welche dazu dienen, eine Datenübertragung zwischen den verschiedenen Zählern und Registern und der internen Adressenschiene und der Datenschiene sowie der Arithmetiklogikeinheit durchzuführen.
  • Gemäß der Erfindung ist somit ein Programmregister zwischen einer Datenschiene mit einer Breite von n Bits und einer Adressenschiene mit einer Breite von n Bits angeordnet, um die Adresse des laufenden Bytes in einem Befehl mit mehreren Bytes zu speichern, der gerade ausgeführt wird. Weiterhin ist ein Zähler zwischen der Adressenschiene und der Datenschiene angeordnet, welcher zusätzlich mit einem Programmregister gekoppelt ist, um das Laden des Zählerinhaltes in das Programmregister unabhängig vom Status der Adressenschiene durchzuführen. Ein Hilfsregister ist ebenfalls zwischen der Adressenschiene und der Datenschiene angeordnet. Der Zähler wird in jedem Maschinenzyklus während der Ausführung des Befehls auf den neuesten Stand gebracht, außer für bestimmte Befehle, während welchen der Zähler gesperrt ist, um die Möglichkeit zu schaffen, daß er alsililfaregister arbeitet, so daß dadurch die Adresse des nächsten Befehls gespeichert wird. Die Adressenschiene kann für die tbertragung von Daten zu und von dem liilfsregister verwendet werden, und zwar gleichzeitig zu dem Laden des Programmregisters von dem Zähler. Die Adressenschiene ist in zwei Abschnitte unterteilt, von denen åjeder n Bits breit ist, wobei einer zur Übertragung der Adressenbits höherer Ordnung und der andere zur unabhängigen Übertragung der Adressenbits niedrigerer Ordnung dient. Dieser Aufbau gestattet die Ausführung von vielen Befehlen in weniger Maschinenzyklen als es bisher möglich war.
  • Die Erfindung wird nachfolgend beispielsweise anhand der Zeichnung beschrieben; in dieser zeigen: Fig. 1 ein Teilblockdiagramm einer bevorzugten Ausführungsform gemäß der Erfindung, welches den Aufbau der internen Datenübertragungawege und der Programmregister für ein Mikroprozessorplättchen veranschaulicht, Fig. 4 ein Diagramm, welches eine Doppelleitungs-Halbleiter-Baugruppe für das Mikroprozessorplättchen gemäß Fig. 1 veranschaulicht, wobei die Eingangs- und die Ausgangssignalanschlüsse im einzelnen dargestellt sind, Fig. 5 ein Zeitdiagramm, welches einen Schreibspeicherzyklus des Mikroprozessors gemäß Fig. 1 und 4 veranschaulicht, Fig. 6 ein Zeitdiagramm, welches eine Lesespeicheroperation des Mikroprozessors gemäß Fig. 1 und 4 veranschaulicht, und Fig. 7 ein Zeitdiagramm, welches einen Halt-Zyklus für den Mikroprozessor gemäß Fig. 1 und 4 veranschaulicht.
  • Das Blockdiagramm der Fig. 1 stellt den Aufbau und die Anordnung des Mikroprozessorplättchens 10 dar. Ein Mikroprozessor läßt sich auch als Mikrozentraleinheit oder Mikrodatenverarbeitungseinheit bezeichnen. Das Mikroprozessorplättchen 10 weist eine Anzahl von Steuerfunktionsblöcken auf, nämlich eine Schienensteuerschaltung 11, eine Halt-Logik 13, einen Zeitgenerator 21, eine Rückstartlogik 35, eine Befehlsdekodier- und Steuerschaltung 41 und eine Unterbrechungslogikschaltung 45. Eine Schiene oder Datenschiene läßt sich auch als Datenübertragungsweg bezeichnen. Der in der Fig. 1 dargestellte Mikroprozessoraufbau legt die fundamentalen Beziehungen zwischen den verschiedenen Zählern, Registern und arithmetischen Logikeinheiten (ALU) und den internen Adressenschienen und Datenschienen fest. Der Ausdruck Schiene oder Datenschiene bzw. Datenübertragungsweg bedeutet eine Mehrzahl von getrennten Leitern in einer einzelnen Leitung. Die oben erwähnte Steuerschaltung erzeugt in einer entsprechenden Zeittaktsteuerung Steuersignale, welche die Übertragung von Daten zwischen den verschiedenen Registern und Schienen und der Arithmetiklogikeinheit steuern.
  • Bevor die einzelnen Verbindungen gemäß Fig. 1 im Detail erläutert werden, ist es zweckmäßig, diejenigen verschiedenen Signale zu beschreiben, welche von außen an den Mikroprozessor herangeführt werden oder von dem Mikroprozessor (MPU), d. h. von dem Mikroprozessorplättchen 10 erzeugt werden, und es werden weiterhin die programmierbaren Register und der åjeweilige Adressenmodus des Mikroprozessorplättchens 10 erläutert. Die externen Signale, welche zu der Mikroprozessoreinheit 10 hingeführt werden oder von dieser erzeugt werden, sind in der Fig. 4 veranschaulicht, welche die externen Leitungsanschlüsse des Mikroprozessorplättchens 10 mit der Baugruppe mit 40 Anschlußstiften veranschaulicht. Diese mit 40 Anschlußstiften ausgestattete Doppelleitungs-Baugruppe ist mit 510 bezeichnet.
  • Die zwei Taktsteuerungen #1 und #2, welche das System benötigt, sind sich nicht überlappende Taktsignale, wie es in dem Zeitdiagramm der Fig. 5 und dem Zeitdiagramm der Fig. 6 dargestellt ist. Die Taktsignale ~1 und ~2 arbeiten auf einem Spannungspegel VDD Die Adressenschiene weist 16 Adressenleitungen A#-A15 auf. Die Adressenleitungen AO-AY niedriger Ordnung sind in der Fig. 1 mit dem Bezugszeichen 14 bezeichnet, werden von den Ausgangspuffern OBL betrieben und sind in der Fig. 4 deutlich erkennbar. Die Adressenleitungen hu-A15 hoher Ordnung sind in der Fig. 1 mit 12 bezeichnet, werden von den Ausgangspuffern OBH getrieben und sind in der Fig. 9 klar ersichtlich. Die in zwei Richtungen arbeitende externe Datenschiene weist die Datenleitungen D#-D7 auf, welche von den Datenausgangspuffern OB getrieben werden und von Dateneingangsregistern DBl abgefragt werden, und sie dient zur bbertragung von Daten zu dem. und von dem externen Speicher sowie zu den und von de: Peripherieeinrichtungen, welche von dein Mikroprozessorplå-tCcnen gesteuert werden.
  • Die 16 Adressenleitungen der Adressenschiene werden dazu verwendet, einen externen Speicher und Peripheriestetiereinheiten zu adressieren, die nachfolgend erläutert werden. enn der Eingang für Gehen/Halten (G/li) hochgelegt ist, holt die Maschine den Befehl, welcker von der Inkrementiereinrichtung adressiert ist, (durch die Bezugszahlen 36 und 40 in der Fig. 1 bezeichnetj oder die Programmzähler (in der Fig. 1 mit 58 und 66 bezeichnet) und die Ausführung beginnt. Wenn G/H tiefgelegt ist, wird die gesamte Aktivität der Maschine angehalten. Im Modus Halten wird die Maschine am Ende eines Befehls angehalten, und das Signal für eine verfügbare Schiene bzw. einen verfügbaren Datenübertragungsweg (BA) liegt auf einem logischen Pegel "1", und das gültige Speicheradressensignal (VPIA) liegt auf einem logischen Pegel "O. Alle anderen drei Statusleitungen sind im Drei-Status-Modus (dieser Drei-Status-Modus ist ein Modus mit einer sehr hohen Ausgangsimpedanz, in welchem alle Treibereinrichtungen abgeschaltet sind), wobei der Ausgang erdfrei bleibt. Es wird auf das Zeitdiagramm der Eig. 6 hingewiesen. Das Drei-Status-Steuereingangssignal (TSC) 20 ist in der Fig. 1 mit dem Bezugszeichen 20 bezeichnet und bewirkt, daß alle Adressenleitungen A#-A15 und die Lese/Schreib-(R/W)-Leitung abgeschaltet werden oder in den Status hoher Impedanz übergehen. Die mit 24 bzw. 26 bezeichneten Signale VMA und BA werden tiefgelegt. Jedoch wird die DB-Datenschiene 30 von TSC nicht beeinflußt, vielmehr jedoch durch das Datenschienenaktivierungssignal 91 (DBE). Die Tatsache, daß die Adressenleitungen A~-A15 durch Drei-(status-Schienentreiber getrieben werden, erlaubt es der Mikroprozessoreinheit 10, für Direktapeicheradressierungsanwendungen (DMA) verwendet zu werden, wie es unten näher erläutert wird.
  • Das Lese/Schreib-Ausgangssignal informiert die Peripherie und die Speichereinrichtungen, ob die Mikroprozessoreinheit sich in einem Lesestatus (hoch) oder in einem Schreibstatus (tief) befindet. Ein normaler Bereitschaftsstatus dieses Signals ist der Lesepegel (hoch). Wenn TSC hoch geht, wird der Lese/Schreib-Puffer abgeschaltet (hohe Impedanz). Auch dann, wenn die Maschine angehalten wird, befindet sich der Lese/Schreib-Puffer im abgeschalteten Zustand. Das Ausgangssignal für die gültige Speicheradresse (VMA) informiert den Speicher und die peripheren Einheiten, daß sich eine gültige Adresse auf der Adressenschiene ABL, ABS befindet. Beim normalen Betrieb des Systems kann VMA mit #2 über eine logische Funktinn UND verknüpft sein oder mit einer Adressenleitung, um Aktivierungssignale für externe Speichereinheiten und periphere Kopplungseinrichtungen zu liefern. Das Datenschienen-Aktivierungseingangssignal 91 (DBE) ist ein Drei-Status-Steuersignal für die Mikroprozessor-Datenschiene und aktiviert die Datenschienentreiber DBO und zwar im hochgelegten Zustand. Wenn es für eine andere Einrichtung erwünscht ist, die Datenschiene zu steuern, beispielsweise in bestimmten Direktspeicherzugriff-Anwendungen, sollte DBE tief gehalten werden. Der Unterbrechungsanforderungseingang (IXQ) 51 fordert eine Unterbrechungsfolge, die in dem Mikroprozessorplättchen 10 erzeugt werden soll. Das Mikroprozessorplättchen wartet, bis der laufende Befehl abgeschlossen ist, welcher gerade in der Ausführung begriffen ist, bevor die Anforderung erkannt wird. Wenn zu dieser Zeit das Unterbrechungsmasken-Bit im Bedingungskoderegister nicht gesetzt ist, beginnt die Maschine eine Unterbrechungsfolge, in welcher das Indexregister IXL , IXH (65, 59) der Programmzähler 58, 66, die Akkumulatoren ACCA, 82 und ACCD, 77, sowie das Bedingungskoderegister 85 in einen externen Direkt speicher (RAM) abgespeichert werden. Dann antwortet der Mikroprozessor 10 auf die Unterbrechungsanforderung dadurch, daß das Unterbrechungsmasken-Bit hochgelegt wird, so daß keine weiteren Unterbrechungszyklen auftreten können. Am Ende des Zyklus wird eine 16-Bit-Adresse geladen, welche auf eine Vektoradresse hinweist, die in den Speicherplätzen N-6 und N-7 geladen ist. Eine an diesen Plätzen gespeicherte Adresse bewirkt, daß der Mikroprozessor 10 eine Verzweigung zu einer Unterbrechungsroutine im externen Speicher vornimmt.
  • Das Signal 26 für eine verfügbare Schiene (BA) befindet sich normalerweise in einem tiefgelegten Zustand. Wenn es aktiviert wird, geht es in einen hochgelegten Zustand über, wodurch angezeigt wird, daß der Mikroprozessor 10 angehalten wurde und daß die Adressenschiene verfügbar ist. Dies tritt auf, wenn die Leitung Gehen/Halten im Zustand Halten (tief) ist oder wenn der Prozessor im Wartestatus ist, was dann auftritt, wenn ein Wartebefehl ausgeführt wird. Zu dieser Zeit gehen alle Drei-Status-Ausgangstreiber in den abgeschalteten Status und andere Ausgänge gehen auf ihren normalen inaktiven Pegel. Der Prozessor wird dadurch aus dem Wartezustand herausgeführt, daß ein maskierbares oder ein nicht-maskierbares Unterbrechungssignal auftritt. Das Rückstartsignal (RST) bzw. das Signal zum erneuten Starten wird dazu verwendet, den Mikroprozessor 10 dann erneut zu starten, wenn infolge eines Energieausfalles eine Abschaltung vorgekommen ist oder wenn der Mikroprozessor überhaupt eingeschaltet wird. Wenn bei dieser Eingangssignal eine positive Flanke erkannt wird, so bedeutet dies für den Mikroprozessor, daß die Rückstartfolge begonnen wird. Dadurch wird der Mikroprozessor erneut gestartet. Alle höheren Adressenleitungen werden hoch gelegt. Bei dem Rückstartvorgang werden die zwei letzten Plätze (N-1, N) in diesem Bereich dazu verwendet, das Programm zu laden, welches von dem Programmzähler adressiert wird.
  • Ein nicht-maskierbares Unterbrechungssignal (NMI) fordert, daß eine nicht-maskierbare Unterbrechungsfolge in dem Mikroprozessor erzeugt wird. Das Unterbrechungsmasken-Bit im Bedingungskoderegister hat keine Auswirkung auf NMI. Diese Folge könnte als Unterbrechungsfolge mit hoher Priorität angesehen werden.
  • Das Indexregister, das Programmregister, die Akkumulatoren und das Bedingungskoderegister werden auf einen externen Speicher abgespeichert. Am Ende dieses Zyklus wird eine 16-Bit-Adresse geladen, welche auf eine Vektoradresse hinweist, die in die Speicherplätze N-2 und N-3 geladen ist. Eine Adresse, welche an diesen Plätzen gespeichert ist, bewirkt, daß der Mikroprozessor eine Verzweigung zu einer nicht-maskierbaren Unterbrechungsroutine im Speicher vornimmt.
  • Das Mikroprozessorplättchen 10 hat vier 16-Bit-Register und drei 8-Bit-Register, welche zur Verwendung durch den Programmierer zur Verfügung stehen. Dieser Programmzähler PCL, POH, welcher durch das Bezugszeichen 58 bzw. 66 bezeichnet ist, ist ein 2-Byte-Register, welche auf die laufende Programmadresse hinweist. Sein Inhalt wird jeweils nach der Ausführung eines Befehls auf den neuesten Stand gebracht. Die Inkrementiereinrichtung INC, welche INCL und INCH aufweist, bringt die laufende Programmadresse während der Ausführung eines laufenden Befehls auf den neuesten Stand, indem der jeweilige Inhalt inkrementiert oder dekrementiert wird, und sie kann unter Umständen ihren Inhalt unabhängig von der Adressenschiene in das Pro grammregister laden und kann als ein Hilfsregister dienen oder als ein Aufwärts/Abwärts-Zähler oder als eine Inkrementier-/ Dekrementier-Einrichtung anderer Register, welche mit der Adressenschiene oder der Datenschiene verbunden sind, und zwar intern.
  • Der jeweils mit den Bezugszahlen 70 und 76 bezeichnete Stapelanzeiger SPL bzw. SPH ist ein 2-Byte-Register, welches die Adresse des nächsten verfügbaren Platzes in einem externen Rückstell-/Vorhol-Stapel angibt.
  • Das Indexregister IXL, IXH ist ein 2-Byte-Register, welches dazu verwendet wird, eine 16-Bit-Speicheradresse für den indizierten Modus einer Speicheradressierung zu speichern.
  • Die Mikroprozessoreinheit 10 enthält zwei 8-Bit-Akkumulatoren ACCA und ACCB, welche dazu verwendet werden, Operanden auf zu nehmen und ergibt sich aus einer Arithmetiklogikeinheit ALU.
  • Das Bedingungskoderegister 85 zeigt die Ergebnisse einer Operation der Arithmetiklogikeinheit an, und zwar einschließlich einer negativen Zahl, (N, O) Z (Überlauf) V, Übertrag von Bit-8 (0), Halbübertrag von Bit-3 (H) und Unterbrechungsmaskenbit (1).
  • Diese Bits des Bedingungskoderegisters werden als prüfbare Bedingungen für die bedingten Verzweigungsbefehle verwendet.
  • Der anhand der Fig. 1 erläuterte Mikroprozessor hat sieben Adressiermöglichkeiten, welche von einem Programmierer verwendet werden können, wobei der Adressiermodus sowohl eine Funktion der Art des Befehls als auch der Kodierung innerhalb des Befehls ist. Im einzelnen bestehen folgende Adressiermöglichkeiten: Eine Akkumulatoradressierung, bei welcher entweder der Akkumulator A oder der Akkumulator B spezifiziert ist. Dies sind 1-Byte-Befehle. Bei einer unmittelbaren Adressierung ist der Operand in dem zweiten und dem dritten Byte des Befehls enthalten. Es ist keine weitere Adressierung des Speichers erforderlich. Der Mikroprozessor adressiert diesen Platz, wenn er den unmittelbaren Befehl zur Ausführung holt. Dies sind zwei-oder 3-Byte-Befehle. Bei der direkten Adressierung ist die Adresse des Operanden in dem zweiten Byte des Befehls enthalten.
  • Eine direkte Adressierung versetzt den Benutzer in die Lage, direkt die untersten 256 Bytes in einer Maschine zu adressieren.
  • Dieser Teil des Speichers sollte für eine Datenzwischenspeicherung und für Zwischenergebnisse verwendet werden. Dies sind 2-Byte-Befehle.
  • Bei einer extensiven Adressierung wire die Adresse, welche in dem zweiten Byte des Befehls enthalten ist, als die höheren 8-Bit der Adresse des Operanden verwendet Das dritte Byte des Befehls wird als die unteren 8-Bit der Adresse für den Operanden verwendet. Dies ist eine absolute Adresse im Speicher. Dies sind 3-Byte-Befehle. Bei einer indizierten Adressierung wird die in dem zweiten Byte des Befehls enthaltene Adresse in dem Mikroprozessor den untersten 8-Bits des Indexregisters hinzugefügt. Der Übertrag wird dann den 8-Bits höherer Ordnung des Indexregisters zugefügt. Dieses Ergebnis wurde dazu verwendet, einen externen Direktspeicher zu adressieren. Die modifizierte Adresse wird in einem Zwischenadressenregister gehalten, so daß im Indedregister keine Veränderung auftritt. Dies sind 2-Byte-Befehle. Bei dem angewadten Adressierungsmodus liefert der Befehl die Adresse. Dies sind 1-Byte-Befehle. Bei der relativen Adressierung wird die in dem zweiten Byte des Befehls enthaltene Adresse den untersten 8-Bits des Programmzählers hinzugefügt, plus 2. Der Ubertrag wird dann den hohen 8 Bits zugefügt. Dies versetzt den Benutzer in die Lage, Daten innerhalb eines Bereiches von-125 bis +129 Bytes des gegenwärtigen Befehls zu adressieren. Dies sind 2-Byte-Befehle.
  • Aus der Fig. 1 ist ersichtlich, daß die Ausgangsschiene 14 (A#-A7) niedriger Ordnung durch acht Puffer 18 (OBL) für eine tiefgelegte Ausgangsschiene getrieben wird und daß die Adressenschiene 12 (A8-A15) hoher Ordnung durch acht Puffer 28 (OBH) für eine hochgelegte Ausgangsschiene getrieben wird. Die Puffer 28 (OBH) und die Puffer 18 (OBL) werden durch den Drei-Status-Steuerleiter 20 (TSc) aktiviert, und zwar ebenso wie der Lese Schreib-Ausgangspuffer 28, welcher mit dem Lese/Schreib-Leiter 22 verbunden ist und diesen treibt. Der Lese/Schreib-Puffer 28 hat einen Eingang, welcher mit der Schienensteuerlogikschaltung 11 verbunden ist. Die Puffer 18 für eine tiefgelegte Ausgangaschiene werden jeweils durch Adressenleiter 32 (ABL) niedrigerer Ordnung getrieben und durch interne Datenschienenleiter 44 (DB).
  • Es ist ersichtlich, daß die Spitzenenden der verschiedenen in der Fig. 1 dargestellten Schienen bzw. Übertragungswege die Abweichungen des Datenflusses angeben.
  • Die Puffer 16 (OBH) werden durch die Leiter 34 (ABH) für hochgelegte Adressenschienen getrieben. Die Inkrementiereinrichtung 36 (INCL) ist zwischen der Schiene 32 (ABL) und der Datenschiene (30) angeordnet. Es dürfte ersichtlich sein, daß Abschnitte wie 46 und 50, welche INDOL mit ABL und DB koppeln, die mittels der Kopplungsschaltung möglichen Datenübertragungsrichtungen anzeigen, welche den Registern oder Zählernzugeordnet ist. Zweckmäßigerweise werden die Abschnitte 46 und 50 als Kopplungsschaltung angesehen, wobei die Pfeilspitzen die möglichen Richtungen von Datenübertragungen durch die äeweilige Kopplungsschaltung angeben. Der Programmzähler PO enthält eine mit 58 bezeichnete Einheit (PCL) für einen tiefgelegten Programmzähler und eine mit 66 bezeichnete Einheit (PCH) für einen hochgelegten Programmzähler. Die mit 58 bezeichnete Einheit POL ist zwischen der mit 32 bezeichneten Einheit ABL und der mit 30 bezeichneten Einheit DB angeordnet, und zwar mittels einer Kopplungsschaltung 60 bzw. 62 und ist weiterhin mittels einer Kopplungsschaltung 48 mit der Einheit INCL gekoppelt. In ähnlicher Weise ist die Einheit PCH zwischen der mit 3t bezeichneten Einheit DB und der mit 34 bezeichneten Einheit ABH angeordnet, und zwar mittels einer Kopplungsschaltung 64 bzw. 68, und ist weiterhin mittels einer Kopplungsschaltung 56 mit der Einheit INCL gekoppelt.
  • Der Programmzähler PO einschließlich des Programmzählers 58 (POL) und des Programmzählers 66 (PCH) ist eigentlich ein Programmregister. Sein Inhalt wird åjeweils durch INC auf den neuesten Stand gebracht, wozu INCL gehört, eine mit 36 bezeichnete Einheit, und weiterhin auch INCH, eine mit 40 bezeichnete Einheit, was somit als Zählereinrichtung anzusehen ist. Eine Zählereinrichtung kann allgemein eine Inkrementier- oder eine Dekrementiereinrichtung sein oder im allgemeinsten Sinne ein Aufwärtszähler oder ein Abwärtszähler.
  • Der Stapelzeiger umfaßt das Register 70 (SPL) für einen tiefgelegten Stapelzeiger und das Register 76 (SPH) für einen hochgelegten Stapelzeiger. SPL ist zwischen ABL und DB angeordnet, und zwar mittels einer Kopplungsschaltung 72 bzw. 74. SPH ist zwischen DB und ABH angeordnet, und zwar mittels einer Kopplungsschaltung 78 bzw. 80. Das Indexregister weist ein Register 65 (IXL) für ein tiefgelegtes Indexregister und ein Register 69 (IXH) für ein hochgelegtes Indexregister auf. (Es sei darauf hingewiesen, daß die Ausdrücke hoch bzw. hochgelegt und tief bzw. tiefgelegt sich auf Register beziehen, welche jeweils mit Adressenschienen hoher Ordnung bzw. niedriger Ordnung verbunden sind, nämlich mit A#-A7 bzw. A8-A15.IX2L ist zwischen DB und ABH angeordnet, und zwar mittels einer Kopplungsschaltung 71 bzw. 73. IXL ist zwischen ABL und DB angeordnet und zwar mittels einer Kopplungsschaltung 63 bzw. 67. Eine mit 81 bezeichnete zusätzliche Einheit ABL1 für eine tiefgelegte Adressenschiene ist mit ABL über eine Schalteranordnung 59 (SW) verbunden. IXL ist mittels der Kopplungsschaltung 61 mit ABL1 verbunden. IXH ist mittels der Kopplungsschaltung 75 mit ABL1 verbunden. Der mit dem Bezugszeichen 77 bezeichnete Akkumulator A (ACCB) ist zwischen ABL1 und DB angeordnet, und zwar mittels der Kopplungsschaltung 79 bzw. 44. Der mit 82 bezeichnete Akkumulator A (ABBA) ist zwischen ABL1 und DB angeordnet, und zwar mittels der Kopplungsschaltung 83 bzw.
  • 84. Das Bedingungskoderegister 85 ist mittels der Kopplungsschaltung 86 mit DB verbunden und ist weiterhin mittels der Kopplungsschaltung 87 mit der Arithmetiklogiteinheit 88 (ALU) verbunden. ALU ist mit ABL1 und mit DB über die Kopplungsschaltung 89 verbunden und weiterhin über die Kopplungsschaltung 90.
  • Die mit 57 bezeichnete externe Datenschiene D#-D7 ist mit der mit 30 bezeichneten internen Datenschiene DB verbunden, und zwar über die Datenausgangspuffer 92 (DB), welche durch den Eingabeleiter 91 (DBE) aktiviert werden. DBO ist in der Fig. 1 mit 92 bezeichnet. Die externe Datenschiene 57 ist auch mit dem mit 93 bezeichneten Dateneingaberegister DBI verbunden, welches mit DB gekoppelt ist.
  • Die Schienensteuerschaltung 11 ist mit dem Lese/Schreib-Ausgangspuffer 28 verbunden und erzeugt das Lese/Schreib-Signal, und sie erzeugt weiterhin das Signal (VMA) für die gültige Speicheradresse auf dem Leiter 24 sowie das Signal (BA) für die verfügbare Schiene auf dem Leiter 26. Die Schienensteuerschaltung 11 ist mit der Halt-Logikschaltung 13 verbunden, welche durch das Eingangs signal Gehen/Halten auf dem Leiter 15 getrieben wird. Der Zeittaktgenerator 21 erzeugt Steuersignale auf dem Leiter 19, welche die Schienensteuerschaltung 11 steuern.
  • Dem Zeittaktgenerator 21 werden Taktsignale #1 über den Leiter 31 und #2 über den Leiter 29 zugeführt. Der Zeittaktgenerator 21 erzeugt auch Taktsignale auf den Leitern 25, welche mit der Befehlsdekodier- und Steuerschaltung 41 sowie mit der Unterbrechungsschaltung 45 verbunden sind, die ebenfalls mit der Befehlsdekodier- und Steuerschaltung 41 verbunden ist.
  • Die Unterbrechungslogikschaltung 45 erzeugt ein Unterbrechungsantwortsignal auf den Leiter 47 und weist einen Eingangsunterbrechungsauswahlleiter 49 auf. Das Befehlsregister 53 (IR) ist zwischen der externen Datenschiene 57 und der Befehlsdekodier-und Steuerschaltung 41 angeordnet, und zwar mittels der Kopplungsschaltung 96 bzw. 55. Die Befehlsdekodier- und Steuerschaltung 41 erzeugt eine Mehrzahl von Steuersignalen auf den Leitern 43, welche auf die verschiedenen Register, die Schienen und die Arithmetiklogikeinheit sowie auf die verschiedenen Kopplungsschaltungen verteilt werden sollen, welche jeweils zugeordnet sind, um die erforderlichen Datenübertragungen während der Ausführung der verschiedenen Befehle in geordneter zeitlicher Folge vorzunehmen. Diese Anschlüsse sind in der Fig. 1 nicht dargestellt. Das Zwischenregister 38, welches auch mit T bezeichnet ist, ist mit DB und ABH verbunden, und zwar mittels der Kopplungsschaltung 42 bzw. 38.
  • Die Funktionen der Register in der Fig. 1, von denen jedes acht Bit lang ist (d. h. ein Byte), sind gemäß der bevorzugten Ausführungsform der Erfindung folgende: Der Programmzähler enthält zwei 8-Bit-Register PCH und POL, welche auf die laufende Programmadresse hinweisen. Der Stapelzeiger bzw. die Stapelzeigereinrichtung weist zwei 8-Bit-Register SPH und SPL auf und weist auf den Stapel im Speicher hin. Das Indexregister enthält zwei Register IXH und IXL, welche einen beliebigen Platz im System adressieren können. Zwei 8-Bit-Zähler, welche an sich Aufwärts-Abwärts-Zähler INOH und INDOL sind, werden dazu verwendet, den Stapelzeiger zu inkrementieren und zu dekrementieren, ebenso das Indexregister und den Programmzähler selbst. INCH und INCL können auch als Zwischenadressenregister verwendet werden. Das Zwischenspeicherregister T wird dazu verwendet, Adressenbits höherer Ordnung zu speichern. Die zwei Akkumulatoren ACCA und ACCB werden dazu verwendet, Operanden und Ergebnisse von der Arithmetiklogikeinheit 88 (ALU) aufzunehmen. Das Bedingungskoderegister 85 ist mit ALU verbunden und zeigt folgendes an: negative Zahl, Null, Überlauf, Übertrag von Bit-7, Übertrag von Bit-3 und Unterbrechungsmaskenmarkierungen.
  • Das Datenpuffereingangsregister DBI und das 8-Bit-Befehlsregister (1R) werden verriegelt und halten die Information, welche über die externe Datenschiene 57 zugeführt wird. Der Schienenschalter SW verbindet dann , wenn er aktiviert wird, die Schienen ABL und ABL1 mieeinander, und er ist so aufgebaut, daß er in zwei Richtungen arbeiten kann und Daten in jeder Richtung überträgt. Der Datenschienen-Ausgangspuffer DBO, die Puffer OBH für eine hochgelegte Ausgangsadresse und die Puffer OBL für eine tiefgelegte Ausgangsadresse enthalten Drei-Status-Ausgangs-Puffer, welche grundsätzlich bekannt sind. Ein Typ wird in der entsprechenden Parallelanmeldung beschrieben.
  • Der grundlegende Lesezyklus des Mikroprozessors gemäß Fig. 1 wird in der Fig. 7 erläutert. Die Adressenausgangssignale A~-A15 und die gültige Speicheradresse (VMA) werden als Ausgangssignale zu Beginn von #1 erzeugt und werden zu den Zeitpunkten A und B stabil. Es sei darauf hingewiesen, daß die Buchstaben oder die alphanumerische Bezeichnung für bestimmte Leiter auch dazu verwendet werden kann, ein Signal auf dem Leiter anzusprechen. Das Lese/Schreib-Ausgangssignal ist eine gewisse Zeit später stabil, welche mit C bezeichnet ist. Die Punkte A, B und C können typischerweise 300 Nanosekunden später liegen als der Punkt D, welcher der Vorderflanke von #1 entspricht.
  • Das Speicheraktivierungssignal E kann gleich dem logischen Produkt von VMA und #2 sein oder beispielsweise auch eine Adressenschiene. Die Daten müssen an den externen Datenschieneneingängen 57 zu dem Mikroprozessor 10 zumindest eine minimale Zeit stabil sein, die etwa 100 Nanosekunden vor der rückwärtigen Flanke von #2 liegen kann. Das Datensignal ist einfach das Ausgangssignal des angesprochenen externen Speichers.
  • Die Schreibdatenfolge des Mikroprozessors ist in der Fig. 6 veranschaulicht. Die Adresse und VMA werden als Ausgangssignale zu Beginn von #1 erzeugt und sind etwa 300 Nanosekunden später stabil, wie beim oben beschriebenen Lesezyklus. Die Lese/Schreib-Leitung dient auch als Ausgang zu Beginn von ~1 und ist in etwa 350 Nanosekunden stabil. Das Mikroprozessor-Datenschienenaktivierungssignal (DBE) wird während #2 aktiviert. An den Mikroprozessor-Datenausgangsschienen werden Daten etwa 200 Nanosekunden nach dem Beginn von #2 erzeugt.
  • Es sei darauf hingewiesen, daß Prozessoren, bzw. Datenverarbeitungseinheiten, Steuereinheiten und Datenverarbeitungseinrichtungen bzw. Komputer bekannter Art nach der Herstellung von Mikroprozessoren als integrierte Großschaltungen, welche dazu dienten, in Rechner- und Datenverarbeitungssystemen verwendet zu werden, eine große Anzahl von zugänglichen Anschlußpunkten im System hatten. Die große Anzahl von Anschlußpunkten, welche zugänglich waren, ermöglichte die Verwendung großer Zahlen von Datenleitern in der Datenschiene bzw. im Datenübertragungsweg und einer großen Anzahl von Adressenleitern in der Adressenschiene. Im allgemeinen war die Anzahl von verfügbaren Anschlußstiften, welche für Daten- und Adressenschienen zugänglich waren, nicht annähernd so ernsthaft begrenzt, wie es bei einem Mikroprozessor der Fall ist, der auf einem einzigen integrierten Schaltungsplättchen aufgebaut ist, wobei die Anzahl der Stifte, die zugänglich sind, durch die Halbleiter-Baugruppentechnologie außerordentlich eingeschränkt ist, und es besteht gegenwärtig eine obere Grenze von etwa 40 Stiften für eine wirtschaftliche Halbleiter-Baugruppe. Dies begrenzt die Anzahl der Leiter stark, welche für die Adressenschiene und die Datenschiene verwendet werden können, und es werden zugleich auch die Stifte in ihrer Anzahl stark begrenzt, welche für andere Steuersignale zur Verfügung stehen.
  • Beispielsweise wird bei dem Mikroprozessor gemäß Fig. 1 eine 8-Bit breite Datenschiene verwendet. Um jedoch eine ausreichend große Anzahl von Speicherplätzen zu haben, wird eine 16-Bit breite Adressenschiene benötigt, die aus zwei Bytes besteht.
  • Die entsprechend aufgeteilte interne Datenschienenanordnung und die entsprechend aufgeteilten Register wurden entwickelt, um eine Parallelverarbeitung von Datenbytes zu ermöglichen, damit die Geschwindigkeit erhöht werden kann, mit welcher bestimmte Befehle ausgeführt werden. Die Erfindung löst somit ein Problem, welches zuvor im Stand der Technik nicht aufgetreten ist, weil bei früheren bekannten Einrichtungen eine 2-Byte-Datenschiene leicht verwenden werden konnte, da keine ernsthafte Begrenzung für die Anzahl der Stifte bestand, welche der Datenschiene zugeordnet werden können.
  • - Patentansprüche -

Claims (18)

  1. Patentansprüche 0 Datenprozessor (Datenverarbeitungseinheit) mit einer Adressenschiene, welche mit einer Adressenausgangsschaltung verbunden ist, und mit einer internen Datenschiene, welche mit einer Dateneingabe/Datenausgabe-Schaltung verbunden ist, dadurch g e k e n n z e i c h n e t, daß eine Mehrzahl von Registern (36, 58) vorgesehen sind, welche zwischen der Adressenschiene (32) und der internen Datenschiene (30) angeordnet sind, und daß eine Kopplungsschiene (48) vorhanden ist, welche wenigstens zwei der Register (36, 58) miteinander verbindet, um Daten von einem der Register zu dem anderen der Register zu übertragen, und zwar unabhängig von der internen Datenschiene (30) und der Adressenschiene (32).
  2. 2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß eines der Register ein Programmregister (58) ist, welches mit der Adressenschiene und der Datenschiene gekoppelt ist, um eine Adresse einesßefehls zu speichern, und daß ein weiteres der Register ein Zähler (36) ist, welcher mit der Adressenschiene (32), mit der Datenschiene (30) und dem Programmregister durch die Kopplungsschiene verbunden ist, um Daten zwischen dem Zähler und dem Programmregister zu übertragen, und zwar unabhängig von der Adressenschiene (32) und der Datenschiene (30).
  3. 3. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Prozessoreinheit ein Mikroprozessor-Halbleiterplättchen ist.
  4. 4. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß wenigstens eines der Register nicht mit beiden Schienen verbunden ist, wobei eine Datenübertragung zwischen Registern, welche mit der ersten Schiene verbunden sind, und Datenübertragungen zwischen Registern, welche mit der zweiten Schiene verbunden sind, während desselben internen Zeittaktzyklus der Prozessoreinheit unabhängig ablaufen.
  5. 5. Prozessor nach Anspruch 3, dadurch gekennzeichnet, daß eine zweite Adressenschiene (34) und eine Mehrzahl von weiteren Registern (38, 40, 60) vorgesehen sind, welche zwischen der Datenschiene (30) und der zweiten Adressenschiene (34) angeordnet sind.
  6. 6. Prozessor nach Anspruch 3, dadurch gekennzeichnet, daß eine geteilte Adressenschiene (32, 81) mit den Registern gekoppelt ist, um Daten seriell zwischen dem Abschnitt (31, 81) der geteilten Adressenschiene zu übertragen, und zwar während desselben internen Zeittaktzyklus des Mikroprozessorplättchens.
  7. 7. Prozessor nach Anspruch 6, dadurch gekennzeichnet, daß eine Schalteranordnung (59) vorgesehen ist, welche mit dem ersten und dem zweiten Abschnitt (32, 81) verbunden ist, um die entsprechenden Leiter des ersten und des zweiten Abschnittes jeweils seriell zu koppeln.
  8. 8. Prozessor nach Anspruch 2, dadurch gekennzeichnet, daß der Zähler die Adressen des nachfolgenden Bytes erzeugt, indem der Inhalt des Programmregisters inkrementiert oder dekrementiert wird.
  9. 9. Prozessor nach Anspruch 2, dadurch gekennzeichnet, daß eine Schaltung vorgesehen ist, mit welcher die Adressenschiene und die Datenschiene vorab aufbereitet werden.
  10. 10. Prozessor nach Anspruch 5, dadurch gekennzeichnet, daß ein Indexregister (69) vorgesehen ist, welches mit der internen Datenschiene (30) und mit der Adressenschiene (32, 81) sowie mit der zweiten tiefgelegten Adressenschiene (34) verbunden ist, und daß weiterhin eine Kopplungsschaltung (71) vorhanden ist, welche dazu dient, eine Datenübertragung zwischen dem Indexregister und der internen Datenschiene zu ermöglichen und eine Datenübertragung von der Adressenschiene (32, 81) zu dem Indexregister zu aktivieren und weiterhin eine Datenübertragung von dem Indexregister zu der zweiten Adressenschiene zu gestatten.
  11. 11. Prozessor nach Anspruch 3, dadurch gekennzeichnet, daß ein Stapelzeigerregister (70) vorgesehen ist, welches mit der Adressenschiene und der Datenschiene verbunden ist.
  12. 12. Prozessor nach Anspruch 3, dadurch gekennzeichnet, daß die Adressenschiene in einen ersten Abschnitt (32) und in einen zweiten Abschnitt (81) aufgeteilt ist und daß der zweite Abschnitt mit dem ersten Abschnitt durch einen Adressenschalter (59) verbunden ist.
  13. 13. Prozessor nach Anspruch 12, dadurch gekennzeichnet, daß der zweite Abschnitt der Adressenschiene mit der ersten Adressenschiene verbunden ist, welche mit einem Indexregister (65) verbunden ist, daß weiterhin ein erstes Akkumulatorregister (77) vorhanden ist, welches zwischen dem zweiten Abschnitt und der Datenschiene angeordnet ist, und daß weiterhin eine Arithmetiklogikeinheit (88) vorgesehen ist, welche zwischen dem zweiten Abschnitt und der Datenschiene angeordnet ist.
  14. 14. Prozessor nach Anspruch 13, dadurch gekennzeichnet, daß ein zweites Äkkumulatorregister (82) vorgesehen ist, welches zwischen dem zweiten Abschnitt und der Datenschiene angeordnet ist.
  15. 15. Prozessor nach Anspruch 5, dadurch gekennzeichnet, daß ein Zwischenregister (38) vorgesehen ist, welches zwischen der zweiten Adressenschiene und der Datenschiene angeordnet ist und dazu dient, vorübergehend Daten zu speichern.
  16. 16. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß eine Unterbrechungsschaltung (47) vorgesehen ist, welche dazu dient, eine Datenverarbeitungsfolge des Datenprozessors zu unterbrechen, daß weiterhin ein Unterbrechungseingang mit der Unterbrechungsschaltung verbunden ist, und zwar einschließlich einer Speicherschaltung zur steuerbaren Speicherung eines maskierten Unterbrechungsbits, welche mit der Unterbrechungsschaltung gekoppelt ist, um eine bedingte Maskierungsoperation der Unterbrechungsschaltung bei der Unterbrechung einer Datenverarbeitungsfolge auszuführen, welche von einem in der Speicherschaltung gespeicherten Status abhängt.
  17. 17. Prozessor nach Anspruch 16, dadurch gekennzeichnet, daß ein Befehlsregister (41) vorgesehen ist, welches mit der Unterbrechungsschaltung (47) und mit einer Schaltung verbunden ist, welche einen Befehlsdekodierer aufweist, daß das Befehlsregister eine Eingangsgatterschaltung aufweist, welche durch ein Signal aktiviert wird, das von der Unterbrechungsschaltung geliefert wird, um das bedingte Laden eines Befehls von der Dateneingabe/ausgabe-Schaltung in das Befehlsregister zu gestatten.
  18. 18. Prozessor nach Anspruch 17, dadurch gekennzeichnet, daß die Unterbrechungsschaltung (47) den Betrieb des Mikroprozessorplättchens in Reaktion auf ein extern angelegtes Unterbrechungsanforderungssignal unterbricht, welches dem Befehlsregister des Mikroprozessors zugeführt wird, um den Inhalt des Befehlsregisters (41) zu steuern, und das externe Laden eines Programmbefehls zu sperren, wobei auch der Inhalt des Befehlsregisters derart modifiziert wird, daß ein Befehlsdekodierer (41), welcher mit dem Befehlsregister verbunden ist, eine Folge von Signalen erzeugt, welche einer Steuerschaltung zugeführt werden, die mit dem Befehlsdekodierer gekoppelt ist, welcher dieselbe Schaltung aktiviert, die aktiviert worden wäre, wenn ein von außen geladener Wartebefehl ausgeführt worden wäre.
DE2533737A 1974-10-30 1975-07-28 Mikroprozessor mit aufteilbarer Adressenschiene Expired DE2533737C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US51915074A 1974-10-30 1974-10-30

Publications (2)

Publication Number Publication Date
DE2533737A1 true DE2533737A1 (de) 1976-05-06
DE2533737C2 DE2533737C2 (de) 1984-04-12

Family

ID=24067061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2533737A Expired DE2533737C2 (de) 1974-10-30 1975-07-28 Mikroprozessor mit aufteilbarer Adressenschiene

Country Status (5)

Country Link
US (1) US4090236A (de)
JP (2) JPS5757743B2 (de)
DE (1) DE2533737C2 (de)
FR (1) FR2289964A1 (de)
GB (1) GB1507178A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2935906A1 (de) * 1978-09-05 1980-03-13 Motorola Inc Mikrokomputer

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484271A (en) * 1979-01-31 1984-11-20 Honeywell Information Systems Inc. Microprogrammed system having hardware interrupt apparatus
JPS56147218A (en) * 1980-04-18 1981-11-16 Sharp Corp System start control circuit by time counting signal
US4433378A (en) * 1981-09-28 1984-02-21 Western Digital Chip topography for MOS packet network interface circuit
JPS6019220A (ja) * 1983-07-13 1985-01-31 Fujitsu Ltd マイクロコンピユ−タ
US4628489A (en) * 1983-10-03 1986-12-09 Honeywell Information Systems Inc. Dual address RAM
US5179678A (en) * 1987-09-08 1993-01-12 Nec Corporation Address/control signal input circuit for a cache controller which clamps the address/control signals to predetermined logic level clamp signal is received
US5274828A (en) * 1992-02-24 1993-12-28 Texas Instruments Incorporated Computer including an integrated circuit having an on-chip high voltage source
US5410721A (en) * 1992-12-24 1995-04-25 Motorola, Inc. System and method for incrementing a program counter
US6025737A (en) * 1996-11-27 2000-02-15 Altera Corporation Circuitry for a low internal voltage integrated circuit
US6175952B1 (en) 1997-05-27 2001-01-16 Altera Corporation Technique of fabricating integrated circuits having interfaces compatible with different operating voltage conditions
US6147511A (en) 1996-05-28 2000-11-14 Altera Corporation Overvoltage-tolerant interface for integrated circuits
JPH10187505A (ja) * 1996-12-24 1998-07-21 Toshiba Corp 情報記憶システム及び同システムに適用するデータ配置方法
US6255850B1 (en) 1997-10-28 2001-07-03 Altera Corporation Integrated circuit with both clamp protection and high impedance protection from input overshoot
TW583405B (en) * 2002-12-23 2004-04-11 Via Tech Inc Signal detection method suitable for integrated circuit chip
US7149605B2 (en) * 2003-06-13 2006-12-12 Battelle Memorial Institute Electrical power distribution control methods, electrical energy demand monitoring methods, and power management devices
US8051729B2 (en) * 2005-06-17 2011-11-08 Thk Co., Ltd. Screw device and method of manufacturing the same
KR101359717B1 (ko) * 2010-11-08 2014-02-07 한국전자통신연구원 에너지 타일 프로세서

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2349253A1 (de) * 1972-10-02 1974-04-11 Rca Corp Programmgesteuerte rechenanlage

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1014635A (en) * 1962-07-31 1965-12-31 Rca Corp Data processing system
US3462742A (en) * 1966-12-21 1969-08-19 Rca Corp Computer system adapted to be constructed of large integrated circuit arrays
JPS5147505B2 (de) * 1971-12-29 1976-12-15
US3757310A (en) * 1972-01-03 1973-09-04 Honeywell Inf Systems Memory address selction apparatus including isolation circuits
US3820085A (en) * 1973-04-06 1974-06-25 Gte Automatic Electric Lab Inc Communication switching system having separate register subsystem and stored program processor each having its own memory,and data transfer by processor access to the register memory
US3938098A (en) * 1973-12-26 1976-02-10 Xerox Corporation Input/output connection arrangement for microprogrammable computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2349253A1 (de) * 1972-10-02 1974-04-11 Rca Corp Programmgesteuerte rechenanlage

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BUCHHOLZ, Werner, Planning a Computer Systems, New York, McGraw-Hill Book Company, Inc., 1962, S. 133-149
Proceedings of the Eastern Joint Computer Conference 1959, S. 48 bis 58 *
SIEBERT, Hanns-Peter, Das 8-bit-Mikrocomputer-Konzept M6800, In: Elektronik, 1974, H. 10, S. 387-390
YOUNG, Link, BENNETT,Tom, LAVELL, Jeff, N-channel MOS technology yields new generation of microprocessors, In: Electronics, 18. April 1974, S. 88-100

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2935906A1 (de) * 1978-09-05 1980-03-13 Motorola Inc Mikrokomputer

Also Published As

Publication number Publication date
FR2289964A1 (fr) 1976-05-28
GB1507178A (en) 1978-04-12
JPS5844558A (ja) 1983-03-15
JPS5757743B2 (de) 1982-12-06
US4090236A (en) 1978-05-16
JPS5168144A (de) 1976-06-12
DE2533737C2 (de) 1984-04-12

Similar Documents

Publication Publication Date Title
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3685913T2 (de) Vektorenverarbeitung.
DE2716369C2 (de)
DE2533737A1 (de) Datenprozessor
DE2935906C2 (de) Mikroprozessor
DE2907181A1 (de) Befehlssatz-modifizierregister fuer einen datenprozessor
DE1549523B2 (de) Datenverarbeitungsanlage
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
CH623947A5 (de)
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE2714805A1 (de) Datenverarbeitungssystem
EP0010185B1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2835095A1 (de) Gekoppeltes, mikroprogrammiertes prozessorsystem
DE3882425T2 (de) Datenübertragungssteuerungsvorrichtung für Direktspeicherzugriff.
DE4022365C2 (de) Datenübertragungssystem
DE3545937A1 (de) Mikroprozessor
EP0130269A2 (de) Speicherprogrammierbare Steuerung
DE2725614C2 (de)
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE3650154T2 (de) Datenverarbeitendes Gerät.
DE3410497A1 (de) Rechneranordnung
DE69031960T2 (de) Mikroprozessor, der mit einem Coprozessor zusammenarbeitet
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE69938017T2 (de) Datenprozessor mit robuster Unterbrechungsverzweigung und Betriebsverfahren dazu

Legal Events

Date Code Title Description
OD Request for examination
OI Miscellaneous see part 1
OGA New person/name/address of the applicant
8181 Inventor (new situation)

Free format text: BENNETT, THOMAS HAROLD CARLOW, EARL FRED, SCOTTSDALE, ARIZ., US KOUVOUSSIS, ANTHONY ELIAS, PHOENIX,ARIZ., US ORGILL, RODNEY HARRY PEDDLE, CHARLES INGRAHAM, NORRISTOWN, PA., US WILES, MICHAEL FREDERICK, PHOENIX, ARIZ., US

D2 Grant after examination
8364 No opposition during term of opposition