DE68927907T2 - Einchipmikrorechner - Google Patents

Einchipmikrorechner

Info

Publication number
DE68927907T2
DE68927907T2 DE68927907T DE68927907T DE68927907T2 DE 68927907 T2 DE68927907 T2 DE 68927907T2 DE 68927907 T DE68927907 T DE 68927907T DE 68927907 T DE68927907 T DE 68927907T DE 68927907 T2 DE68927907 T2 DE 68927907T2
Authority
DE
Germany
Prior art keywords
processor
circuit
register
output
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68927907T
Other languages
English (en)
Other versions
DE68927907D1 (de
Inventor
Yasushi Akao
Shirou Baba
Yoshimune Hagiwara
Hiroyuki Hatori
Hideo Nakamura
Terumi Sawase
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE68927907D1 publication Critical patent/DE68927907D1/de
Application granted granted Critical
Publication of DE68927907T2 publication Critical patent/DE68927907T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • 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/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers
    • 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/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)

Description

  • H
  • Die vorliegende Erfindung betrifft eine integrierte Halbleiterschaltung und insbesondere einen (im weiteren als Mikrocomputer bezeichneten) Ein-Chip-Mikrocomputer. Ferner betrifft die vorliegende Erfindung eine integrierte Halbleiterschaltung, die sich zum bedeutsamen Verringern der Anzahl von Komponenten beim Aufbauen eines Systems und zum Verkürzen der Entwicklungsphase eines Anwendungssystems eignet.
  • Bei einer Vorrichtung des Standes der Technik sind ein Mikrocomputer und ein PLA (programmierbares logisches Feld) derart hergestellt, daß sie einen Chip bilden, und das PLA arbeitet in Reaktion auf ein externes Eingangssignal unabhängig vom Programm des Mikrorechners. Ausgangssignale des PLA aktivieren ferner verschiedene Funktionen, und der Mikrocomputer wird durch das daraus resultierende Ergebnis gestartet.
  • Das PLA ist eine Logikschaltungs-Vorrichtung mit einer variablen Logikstruktur, deren Schaltfünktion sich durch einen elektrischen Schreibvorgang in eine Vorrichtung eines nicht-flüchtigen Halbleiterspeichers beliebig aufbauen läßt.
  • Ferner ist im U.S.-Patent Nr.4,609,986 ein verbessertes, mit der EPROM-Technik arbeitendes PLA offenbart.
  • Ferner ist als Vorrichtung einer integrierten Halbleiterschaltung mit einer Datenverarbeitungseinheit, wie einer CPU, und einem nicht-flüchtigen Speicherblock zum Speichern von Sofiware auf einem gleichen Chip eine in JP-A-60-198667 offenbarte Vorrichtung einer integrierten Halbleiterschaltung bekannt.
  • Ferner sind im Produktkatalog der Altera Corporation, Seite 12, bzw. in Elecfronic Design, 1986, 7. Aug., Seiten 94 bis 97, elektrisch beschreibbare Logikvorrichtungen erörtert.
  • Der Tagungsbericht ICASSP 86, Tokyo, 07-11.04.1986, Band 1, Seiten 393-396, IEEE, New York, USA, s. Abiko et al., "Architecture and applications of a 100-NS CMOS VLSI digital signal processor" beschäftigt sich mit verschiedenen Architeltturen und Anwendungen monolithischer, programmierbarer Signalprozessoren, insbesondere mit programmierbaren Digitalsignalprozessoren, die auf einer Harvard-Architektur basieren.
  • Die in der oben erwähnten Schrift JP-A-61-285567 offenbarte Vorrichtung des Standes der Technik bewirkt eine Verringerung der Anzahl von Komponenten bei manchen Anwendungen. Jedoch ist auf eine Bereitschaft bezüglich einer generellen Verwendung nur ein schwaches Augenmerk gerichtet, so daß sich umfangreiche Anwendungen nicht abdecken lassen, was zu einem Problem führt. Ferner offenbart das oben erwähnte U.S.-Patent Nr.4,609,986 lediglich das PLA selbst. Dieses Patent offenbart lediglich eine Bereitstellung eines gewünschten Ein-Chip-Mikrorechners für den Benutzer mit kurzer Lieferzeit, die durch Integrieren der PLL, d.h. der programmierbaren Logikschaltung, und des Mikrorechners auf einem Chip, durch Bilden eines Speicherblocks zum Speichern eines Software des Ein-Chip-Mikrorechners darstellenden Programms in Form eines nicht-flüchtigen Speichers und durch Schreiben des Programms in den nicht-flüchtigen Speicher zum Speichern des Programms von außerhalb des Chip unter der Anweisung des Benutzers selbst erreicht wird. Einrichtungen, die dem Benutzer selbst ermöglichen, eine Logikvorrichtung zum Implementieren von Hardware eines Ein-Chip-Mikrorechners frei aufzubauen, wurden nicht betrachtet.
  • Die Software (das Programm) des Ein-Chip-Mikrorechners wird entwickelt, und die so entwickelte Software wird in den ROM (Nur-Lese-Speicher) des Speicherblocks des Ein-Chip-Mikrorechners geschrieben. Besteht dieser ROM aus einem nicht-flüchtigen Speicher und schreibt der Benutzer selbst frei ein Programm in diesen nicht-flüchtigen Speicher von außerhalb des Chip, so kann der Benutzer in kurzer Zeit einen eine gewünschte Software enthaltenden Ein-Chip-Mikrocomputer erhalten.
  • Auch was die Hardware des Ein-Chip-Mikrorechners anbelangt, haben jeweifige Benutzer oft verschiedene Anforderungsspezifikationen. Daher ist es unmöglich, gleichzeitig verschiedenen Anforderungsspezifikationen des Benutzers mit einer einheitlichen Hardware zu entsprechen. Beim Stand der Technik ist daher eine Random-Logikschaltung oder ähnliches als externe Schaltung des Ein-Chip-Mikrorechners hinzugefügt, um eine Anforderungsspeziiikation jeweiliger Benutzer selbst zu realisieren, was zu Problemen einer großen Anzahl von Komponenten, mit denen das Gesamtsystem arbeitet, und zu einem großen Installationsbereich führt. Eine Grundkonfiguration eines Ein-Chip-Mikrorechners zum Lösen dieses Problems ist bereits in JP-B-63-91563 (U.S-Patentanmeldung Nr.238,534, eingereicht in den Vereinigten Staaten am 31. August 1988) offenbart.
  • Als Beispiele der Hardw&e eines Ein-Chip-Mikrorechners, bezüglich welcher jeweilige Benutzer ihre besonderen Anforderungsspezifkationen haben, können verschiedene Beispiele, wie ein Tasteneingabe-Codierer (der ein Codierer zum Umwandeln von über eine Tastatur eingegebenen Informationen und zum Einbringen der resultierenden Informationen in den Ein-Chip-Mikrocomputer ist), ein Anzeige-Decodierer (ein Decodierer zum Umwandein von Informationen, die vom Ein-Chip-Mikrocomputer ausgegeben werden, und zum Betreiben einer Anzeigeeinheit), ein die Zeit messender Zeitgeber und eine Schaltung für serielle Kommunikation erwähnt werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Logikkonflguration und eine Schaltungskonfiguration zu schaffen, die sich zum Realisieren einer höheren Geschwindigkeit und einer minimierten Chipgröße beim Realisieren des in der oben beschriebenen Patentanmeldung offenbarten Ein-Chip-Mikrorechners in LSI-Form eignen.
  • Weitere Aufgaben der vorliegenden Erfindung werden anhand der nachfolgenden Beschreibung und Zeichnungen verdeutlicht.
  • Gemäß einem repräsentativen Aspekt der in der vorliegenden Anmeldung offenbarten Erfindung umfaßt eine innerhalb eines Ein-Chip-Mikrorechners ausgebildete Logikeinheit eine Steuerschaltung mit einer Vorrichtung eines elektrisch beschreibbaren, nicht-flüchtigen Halbleiterspeichers, eine Verarbeitungsschaltung und eine Vielzahl von Paaren aus Adressen- und Statusregistern.
  • Von außerhalb des Chip kann der Benutzer Informationen in den in dieser Logikeinheit enthaltenen nicht-flüchtigen Halbleiterspeicher schreiben. Die Steuerschaltung ist derart konfiguriert, daß sie aus der oben beschriebenen Vielzahl von Paaren von Adressen- und Statusregistern in Reaktion auf derart in den nicht-flüchtigen Halbleiterspeicher geschriebene Informationen beliebig ein Paar auswählen kann.
  • Infolge der oben beschriebenen Konfiguration läßt sich das oben beschriebene Paar aus einem Adressen- und einem Statusregister selektiv mit einer Verarbeitungsschaltung verbinden. Da sich die Schaltftunktion der Logikeinheit so in Reaktion auf in den nichtflüchtigen Halbleiter geschriebene Informationen beliebig bilden läßt, ist es möglich, Anforderungsspezifikationen verschiedener Benutzer mit den so beliebig gebildeten Schaltüngsfünktionen zu entsprechen.
  • Ferner kann mittels einer einzigen Verarbeitungsschaltung durch unabhängiges Definieren so vieler Funktionen wie oben beschriebene Paare aus Adressen- und Statusregistern und durch Steuern einer Auswahl dieser Paare von Adressen- und Statusregistern in einem Zeitmultiplex-Verfahren ein Betrieb realisiert werden, der so aussieht, als würde eine Vielzahl unabhängiger Programme abeiten.
  • Diese Aufgaben sind durch einen in Anspruch 1 beanspruchten Ein-Chip-Mikrocomputer gelöst. Weitere vorteilhafte Ausführungsbeispiele sind in den Unteransprüchen spezifiziert.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockschaltbild eines Unterprozessors, der ein Ausführungsbeispiel der vorliegenden Erfindung ist.
  • Fig. 2 ist ein Gesamtkonfigurations-Schaltbild eines Ein-Chip-Mikrorechners, der ein Ausführungsbeispiel der vorliegenden Erfindung ist.
  • Fig. 3 ist ein detailliertes Konfigurationsschaltbild des Unterprozessors und eines programmierbaren I/O pro Kanal.
  • Fig. 4 ist ein Diagramm, das in einem Mikro-EPROM spezifizierte Befehle darstellt.
  • Fig. 5 ist ein Diagramm, das die Konfiguration eines Registers darstellt.
  • Fig. 6A, Fig. 6B, Fig. 6C und Fig. 6D sind Schaltbilder, die Verarbeitungsschaltungen darstellen, wobei diese dann verwendet werden, wenn eine Zeitgeber-Funktion zu realisieren ist.
  • Fig. 7 ist ein Statusübergangs-Diagramm einer Speicherzugriffsschaltung.
  • Fig. 8 ist ein Konfigurationsschaltbild, das ein Adressenregister, ein Statusregister und deren Umgebungen darstellt.
  • Fig. 9A und Fig. 9B sind Diagramme, die Arbeitsabfolgen bei der Konfiguration von Fig. 8 darstellen.
  • Fig. 10 ist ein Schaltbild, das die Konfiguration eines Steuer-PLA und einer ereignisgesteuerten Steuerschaltung darstellt.
  • Fig. 11A und Fig. 11B sind Diagramme, die ein Programm des Steuer-PLA von Fig. 10 darstellen.
  • Fig. 12 ist ein Diagramm, das einen Operations-Zeitablauf einer ereignisgesteuerten Steuerung darstellt.
  • Fig. 13 ist ein Konfigurationsschaltbild, das ein Adressenregister, ein Statusregister und deren Umgebungen beim Durchführen einer Pipeline-Steuerung darstellt.
  • Fig. 14A ist ein Schaltbild, das die Konfiguration einer Ausgangsschaltung von Fig. 13 darstellt.
  • Fig. 14B ist ein Diagramm, das die Folge der Operationen der Schaltung von Fig. 13 darstellt.
  • Fig. 15 ist ein Diagramm, das die Folge darstellt, die verwendet wird, wenn durch die Schaltung von Fig. 13 eine Pipeline-Steuerung durchgeführt wird.
  • Fig. 16 ist ein Konfigurationsschaltbild einer Anfangswert-Steuerschaltung.
  • Fig. 17 ist ein Diagramm, das das Programm eines Steuer-PLA von Fig. 16 darstellt.
  • Fig. 18 ist ein Konfigurationsschaltbild eines programmierbaren I/O.
  • Fig. 19A und Fig. 19B sind Konfigurationsschaltbilder nicht-flüchtiger Schaltkreise.
  • Fig. 20 ist ein Konfigurationsschaltbild eines PLD.
  • Fig. 21 ist ein Konfigurationsschaltbild zum Testen des Ein-Chip-Mikrorechners.
  • Fig. 22A ist ein Konfigurationsschaltbild zum Testen eines Unterprozessors.
  • Fig. 22B ist ein Diagramm, das eine Testreihenfolge der Schaltung von Fig. 22A darstellt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Nachfolgend werden bevorzugte Ausführungsbeispiele der vorliegenden Erfindung genau beschrieben.
  • Fig. 2 ist eine Gesamtkonfiguration eines Ein-Chip-Mikrorechners, der ein Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • Ein Mikrocomputer 1 umfaßt auf einem Halbleitersubstrat:
  • einen Hauptprozessor 5 mit einer CPU (Zentraleinheit) 2, einem RAM 3 und einem EPROM (elektrisch beschreibbarer Nur-Lese-Speicher) 4;
  • einen Unterprozessor (SP) 6;
  • eine elektrisch beschreibbare, programmierbare Logikvorrichtung (PLD) 7;
  • programmierbare I/O-Ports (PI/O) 8 und 199; und
  • einen gemeinsamen Bus 9 zum Verbinden der oben beschriebenen Blöcke.
  • Unter den oben genannten Komponenten handelt es sich bei dem EPROM 4 um einen Speicher zum Speichern von Informationen bezüglich des Betriebs der CPU 2. Es ist möglich, Informationen von außerhalb des Chip in den EPROM 4 elektrisch einzuschreiben.
  • Ferner handelt es sich bei dem oben beschriebenen Unterprozessor (SP) 6, der programmierbaren logischen Vorrichtung (PLD) 7 und den programmierbaren I/O-Ports (PI/O) 8 und 199 um Logikeinheiten, die jeweils nicht-flüchtige Halbleiterspeicher umfassen, in welche außerhalb des Chip Informationen elektrisch eingeschrieben werden können. Jede dieser Logikeinheiten umfaßt eine Steuerschaltung zum Vorgeben von Verbindungsbeziehungen von in der Einheit enthaltenen Komponenten und zum Realisieren einer gewünschten Logikschaltungskonfiguration in Reaktion auf Informationen, die in einen in der oben beschriebenen Einheit enthaltenen nicht-flüchtigen Halbleiterspeicher geschrieben sind.
  • Der oben beschriebene Unterprozessor (SP) 6 umfaßt eine der im Hauptprozessor 5 enthaltenen CPU 2 entsprechende Prozessoreinheit. Beim vorliegenden Ausführungsbeispiel wird der Hauptprozessor 5 hauptsächlich für eine generelle Berechnung verwendet, wohingegen der Unterprozessor 6 hauptsächlich für eine fünktionale Verarbeitung, wie eine I/O- Steuerung, verwendet wird. Unter diesem Gesichtspunkt weisen der Hauptprozessor 5 und der Unterprozessor 6 jeweiligen Verwendungszwecken entsprechende, verschiedene Befehlssätze auf
  • Ferner laßt sich auch ein außerhalb des Mikrorechners 1 angeordneter DRAM oder ähnliches als externer Speicher mit dem Mikrocomputer 1 verbinden. In diesem Fall wird ein DRAM oder ähnliches über eine an dem in Fig. 2 dargestellten gemeinsamen Bus 9 angeschlossene, nicht dargestellte I/O-Schaltung eines externen Speichers mit dem Mikrocomputer 1 verbunden. Wird der Adressenraum dieses externen Speichers derart gestaltet, daß es sich bei den Adressenräumen dieses externen Speichers, des RAM 3 und des EPROM 4 um einen gemeinsamen Adressenraum handelt, so ist es möglich, in einfacher Weise auf diesen externen Speicher vom Unterprozessor 6 zuzugreifen.
  • Nachfolgend werden die Konfiguration und Wirkungsweise des Unterprozessors 6 und des programmierbaren I/O 8 unter Bezugnahme auf Fig. 1 beschrieben. Hauptabschnitte der in der vorliegenden Anmeldung offenbarten Erfindung bestehen in diesem Abschnitt.
  • KONFIGURATION VON SUBPROZESSOR UND PROGRAMMIERBAREM I/O
  • Fig. list ein Schaltbild der Konfiguration des in Fig. 2 dargestellten Unterprozessors 6 und des programmierbaren I/O-Ports (programmierbaren I/O) 8. Der Unterprozessor 6 umfaßt zwei Prozessorkanäle (Kanal A 10a und Kanal B 10b) mit gleicher Konfiguration.
  • Jeder Unterprozessor-Kanal umfaßt:
  • einen Mikro-ROM (Nür-Lese-Speicher) 11 zum Speichern von Mikrobefehlen;
  • eine Steuerschaltung 12 zum Erzeugen von Steuerinformationen in Übereinstimmung mit im Mikro-ROM 11 gespeicherten Informationen;
  • eine durch die Steuerschaltung 12 gesteuerte Verarbeitungsschaltung 13;
  • ein Steuer-PLA (programmierbares logisches Steuerfeld) 14 zum Steuern des oben beschriebenen ROM 11 und der oben beschriebenen Steuerschaltung 12 und Verarbeitungsschaltung 13; und
  • eine Port-Schnittstellenschaltung 15, die mit der Verarbeitungsschaltung 13 und dem Steuer-PLA 14 verbunden ist.
  • Ferner umfaßt der Unterprozessor 6 eine Prozessor-Schnittstellenschaltung 16 zum Kommunizieren mit dem Hauptprozessor 5. Diese Schnittstellenschaltung 16 ist sowohl mit dem Unterprozessor-Kanal A 10a als auch mit dem Unterprozessor-Kanal B 10b verbunden. Der programmierbare I/O 8 weist zwei den oben beschriebenen Unterprozessor-Kanälen entsprechende Kanäle auf Jeder Kanal umfaßt eine zur Port-Schnittstellenschaltung 15 des Unterprozessors 6 gehörende I/O-Schaltung ("0)18 und ein Unterbrechungsstatus- Flag (ISF) 56.
  • Ferner umfaßt der programmierbare I/O 8 eine Zwischenkanal-Schnittstellenschaltung 19. Diese Schnittstellenschaltung 19 ist mit I/O A 18a, ISFA 56a, I/O B 18b und ISFB 56b verbunden.
  • Fig. 3 stellt eine detaillierte Konfiguration des Unterprozessors und des programmierbaren I/O pro Kanal dar. Jeder der in Fig. 1 dargestellten Mikro-ROMs umfaßt einen EPROM (elektrisch beschreibbarer Nur-Lese-Speicher), der im weiteren als Mikro-EPROM 11 bezeichnet wird. Ausgangssignale des Mikro-EPROM 11 werden der Steuerschaltung 12 zugeführt. Bei diesem Mikro-EPROM 11 bilden acht Felder ein Mikrobefehlswort (d.h. ein Wort). Unten sind acht Felder aufgelistet.
  • (1) Befehl angebendes Feld
  • (2) Datenlänge angebendes Feld
  • (3) Register auswählendes Feld
  • (4) Numerisches Datenfeld
  • (5) Nächste-Adresse-Steuerfeld
  • (6) Port-Spezifikationsfeld
  • (7) Ausgangsvergleichs-Spezifikationsfeld
  • (8) Eingangsaulhahme-Spezifikationsfeld
  • Dieses Mikrobefehlswort wird später genau beschrieben. Ferner werden dem Mikro- EPROM 11 durch eine Adressenregisterschaltung 20 Eingangssignale zugeführt. Diese Adressenregisterschaltung 20 wird durch eine in der Steuerschaltung 12 enthaltene Adressen-Steuerschaltung 21 gesteuert. Diese Adressen-Steuerschaltung 21 ist eine Schaltung zum Erzeugen einer Adresse des Mikro-EPROM 11 auf der Grundlage eines von einer Verarbeitungseinheit 26 gelieferten Status-Ausgangssignals und von Informationen, die von der I/O-Schaltung 18 geliefert werden. Der Ausgang der Adressen-Steuerschaltung 21 ist mit der oben beschriebenen Adressenregisterschaltung 20 verbunden. Die Adressenregisterschaltung 20 ist in der Lage, eine Vielzahl von Adreßinformationseinheiten zu speichern. Welche aus der Vielzahl von Adressen ausgewählt wird, hängt von der Steuerung des Steuer-PLA 14 ab. In Reaktion auf zuvor im Mikro-EPROM 11 gespeicherte Informationen steuert die in der Steuerschaltung 12 enthaltene Verarbeitungs-Steuerschaltung 22 Verbindungsbeziehungen von in der Verarbeitungseinheit 26 in der Verarbeitungsschaltung 13 enthaltenen Komponenten. In ähnlicher Weise steuert eine Register-Steuerschaltung 23 in Reaktion auf im Mikro-EPROM 11 gespeicherte Informationen Verbindungsbeziehungen jeweiliger Register, die in einer Registerschaltung 42 in der Verarbeitungsschaltung 13 enthalten sind.
  • Nachfolgend wird die Kontiguralion der Verarbeitungsschaltung 13, die im Betrieb durch die Steuerschaltung 12 gesteuert wird, genau beschrieben.
  • Die Verarbeitungsschaltung 13 umfaßt die Verarbeitungseinheit 26, ein Statusregister SR, das zumindest entweder ein Übertrags-Flag (CF) oder ein Null-Flag (ZF) bzw. gewöhnlich beide Flags enthält, und die Registerschaltung 42.
  • Die Verarbeitungseinheit 26 ist dafür vorgesehen, einen im Befehls-Spezifikationsfeld des Mikro-EPROM beschriebenen Befehl auszuführen. Die Verarbeitungseinheit 13 umfaßt eine Arithmetik-Logik-Einheit (ALU) 71 und einen Komparator CMP.
  • Die ALU 71 und der Komparator CMP können gleichzeitig arbeiten. Eingänge der ALU 71 und des Komparators CMI) sind mit einem ersten Lese-Bus 25 und einem zweiten Lese-Bus 32 verbunden. Das Ausgangssignal der ALU wird einem Schreib-Bus-Eingangsselektor 34 zugeführt. Der Ausgang des CMP ist mit einer Schreib-Bus-Ausgangssteuerschal tung 35 und einem Null-Flag-Eingangsselektor 36 verbunden. Eine Null-Erzeugungsschal tung 37 ist mit einem weiteren Eingang des Schreib-Bus-Eingangsselektors 34 verbunden. Die Null-Erzeugungsschaltung 37 ist eine vom INCCLR-Befehl (Erhöhen-und-Löschen-Befehl), der später beschrieben wird, verwendete Schaltung. Ist das Ausgangssignal des CMP "1", so gibt die Null-Erzeugungsschaltung 37 an einen Schreib-Bus 31 eine "0" als Daten aus. Anders ausgedrückt wird die Null-Erzeugungsschaltung 37 dazu verwendet, ein als Zählregister bestimmtes Register zu löschen.
  • Die ALU ist über den Null-Flag-Eingangsselektor 36 und einen Übertrags-Eingangsselektor 38 mit dem Statusregister SR verbunden. Ferner kann ein Übertragseingang 39 zur ALU durch Spezifizieren von Informationen, die, zusätzlich zu dem im oben beschriebenen Statusregister SR enthaltenen Übertrags-Flag, in einem im Befehls-Spezifikationsfeld des Mikro-EPROM 11 enthaltenen Übertragseingangs-Spezifikationsfeld zu speichern sind, zwingend als "0" bzw. "1" definiert werden. Ferner läßt sich auch eine Port-Datenleitung 69 zum Übertragen eines Eingangssignals von einem Port in Übereinstimmung mit einer Spezifikation des oben beschriebenen Feldes als Übertragseingang 39 der ALU verwenden.
  • Die Registerschaltung 42 umfaßt Register R0 bis R19, RIMM und RFRT sowie Komparatoren C01, C23, C45 und C67, die ausschließlich für eine Ausgangsvergleichs- Funktion verwendet werden. Die Register R0 bis R19 sind mit dem ersten Lese-Bus 25, dem zweiten Lese-Bus 32 und dem Schreib-Bus 31 gemeinsam verbunden. Nur-Lese-Register RIMM und RFRT sind lediglich mit den Lese-Bussen verbunden. Ein Eingang der Komparatoren C01, C23, C45 und C67 ist jeweils mit den Registem R0, R2, R4 und R6 verbunden. Die anderen Eingänge dieser Komparatoren sind mit dem zweiten Lese-Bus 32 gemeinsam verbunden. Ausgangsleitungen 44a bis 44d der oben beschriebenen Komparatoren sind der Port-Schnittstellenschaltung 15 zugeführt. Diese Port-Schnittstellenschaltung 15 wird durch ein Signal auf einer Ausgangssteuerleitung 43 gesteuert, das auf der Grundlage von im Ausgangsvergleichs-Spezifikationsfeld des Mikro-EPROM enthaltenen Bits erzeugt wird. Ferner weisen die Register R9 bis R11 eine Eingangsauihahme-Funktion auf Eingänge vom Schreib-Bus 31 zu diesen Registern R9 bis R11 werden durch von der Port- Schnittstellenschaltung 15 kommende Eingangsaufhahme-Eingangssteuerleitungen 45 gesteuert. Ein Lese/Schreib-Bus 46 zum Anschließen an den Hauptprozessor 5 ist vorgesehen und mit den Registern R0 bis R19 gemeinsam verbunden, so daß der in Fig. 2 dargestellte Hauptprozessor direkt auf die Register R0 bis R19 zugreifen kann. Durch Anordnen der Register R0 bis R19 im Adressenraum der Haupt-CPU 2 ist es möglich, auch von der Haupt-CPU 2 aus frei auf die Register R0 bis R19 zuzugreifen. In diesem Fall können die Haupt-CPU 2 und der Unterprozessor 6 gleichzeitig den Inhalt ein und desselben Registers lesen. Treten gleichzeitig Versuche auf, in ein und dasselbe Register zu schreiben, so erhält der Schreibversuch der Haupt-CPU 2 Vorrang und der Schreibversuch des Unterprozessors 6 wird nichtig. Ein Datenaustausch mit der Haupt-CPU 2 erfolgt über die Prozessor- Schnittstellenschaltung 16.
  • ARBEITSWEISE VON MIKROBEFEHL UND UNTERPROZESSOR
  • Nachfolgend wird die Wirkungsweise des Mikrobefehis, des Unterprozessors und des programmierbaren I/O genau beschrieben. Ilierbei werden nacheinander eine Beschreibung jedes der acht in einem Mikrobefehiswort enthaltenen Felder und die Wirkungsweise des Prozessors und des programmierbaren I/O, die auf die Beschreibung reagieren, beschrieben.
  • (1) Befehls-Spezifikationsfeld
  • Dieses Feld ist ein Feld zum Spezifizieren der Verarbeitungsfünktion der Verarbeitungseinheit 26 um die Arithmetik-Logik-Einheit (ALU) 71 und des Betriebs des Statusregisters (SR).
  • Befehle lassen sich unterteilen in allgemeine Befehle, Zeitgeber-Befehle und Speicherzugriffs-Befehle. Fig. 4 ist eine Liste von Befehlssätzen.
  • Allgemeine Befehle
  • Übertragen: MOVE
  • Rechenoperation: ADD/Ci, SUB/Ci
  • Logische Operation: AND, OR, ERO
  • Verschieben: LSL/Gi, LSR/Ci
  • Keine Operation: NOP
  • Ci bezeichnet einen Übertragseingang der Verarbeitungseinheit Lind läßt sich wie folgt spezifizieren.
  • Ci = 0
  • Ci = 1 Ci = CF (Übertrags-Flag von SR) Ci = Pi (Daten eines durch ein später beschriebenes Port-Spezifikationsfeld (6) spezifizierten Eingangs-Ports)
  • Zeitgeber-Befehl
  • INCCLR: Erhöhen und Löschen. Inhalte eines ersten und eines zweiten Registers, die in der Registerschaltung 42 enthalten sind, werden durch einen Komparator CMP verglichen. Sind die Inhalte dieser Register äquivalent, so wird im Null-Flag (ZF) eines Statusregisters (SR) 70 eine logische 1 gespeichert und das erste Register gelöscht. Wenn die Inhalte dieser Register nicht äquivalent sind, wird im ZF eine logische 0 gespeichert, und Daten des ersten Registers werden durch die ALU 71 erhöht.
  • INCCMP: Erhöhen und Vergleichen. Inhalte des ersten und des zweiten Registers werden durch den Komparator CMP verglichen. Sind die Inhalte dieser Register aquivalent, so wird im ZF eine logische 1 gespeichert. Sind die Inhalte dieser Register nicht äquivalent, so wird im ZF eine logische 0 gespeichert. Ferner werden in jedem Fall Daten des ersten Registers durch die ALU 71 erhöht.
  • DECLD: Erniedrigen und Laden. Daten des ersten Registers werden durch die ALU 71 erniedrigt. Ist das Ergebnis null (d.h. ZF = 0), so werden Daten des zweiten Registers zum ersten Register übertragen.
  • Speicherzugriffs-Befehl
  • WRSET: Schreiben, Setzen. Ein Ursprungsregister bzw. numerische Daten wird bzw. werden zu einem Datenpuffer übertragen.
  • WRSTART: Schreiben beginnen. Ein Ursprungsregister bzw. numerische Daten wird bzw. werden zu einem Adressenpuffer übertragen, und es beginnt ein Schreibzyklus.
  • RDSTART: Lesen beginnen. Ein Ursprungsregister bzw. numerische Daten wird bzw. werden zu einem Adressenpuffer übertragen, und es beginnt ein Lesezyklus.
  • RDGET: Lesen, Holen. Der Inhalt des Datenpuffers wird zu einem Zielregister übertragen.
  • REF: Auffrischen. Ein Ursprungsregister bzw. numerische Daten wird bzw. werden zu einem Adressenpuffer übertragen, und es beginnt ein Auffrischzyklus.
  • In Fig. 4 stellt BfW in der Spalte der Datenlänge eine Datenlänge dar, die von jedem Befehl bearbeitet werden kann. Die Datenlänge ist durch ein nachfolgend in (2) beschriebenes Feld spezifiziert.
  • (2) Datenlänge-Spezifikationsfeld
  • Dies ist ein Feld zum Spe7lfl7leren von entweder 8 Bits (8yte bzw. B) oder 16 Bits (Wort bzw. W) als in der Verarbeitungseinheit 26 verarbeitete Datenlänge und Größe jedes Registers in der Registerschaltung 42.
  • (3) Register-Auswalhfeld
  • Dies ist ein Feld zum gleichzeitigen Spezifizieren zweier Register (eines Ursprungsregisters Rs und eines Zielregisters Rd), die beim Verarbeiten in der Verarbeitungseinheit außerhalb von in der Registerschaltung 42 enthaltenen Registern mitwirken. Ob die spezifizierten Register Bytes als Einheit oder Wörter als Einheit aufweisen, hängt von der Spezifikation des oben in (2) beschriebenen Feldes ab. Es ist möglich, ein numerisches Register (RIMM) als Register zu spezifizieren. In diesem Fall sind die numerischen Daten, die in das später in (4) beschriebene numerische Datenfeld eingeschrieben sind, an der Verarbeitung beteiligt. Ist als Zielregister ein numerisches Register spezifiziert, so wird das Verarbeitungsergebnis lediglich in ein Statusregister reflektiert, und Ergebnisdaten werden verworfen.
  • Fig. 5 stellt eine Konfiguration von in der Registerschaltung 42 enthaltenen Registern dar. In Fig. 5 lassen sich Mehrzweck-Register R0 bis R19 als 8 Bits x 20 Register bzw. als 8 Bits x 40 Register verwenden. Ein Register RIMM (*5) ist ein die in den Mikro- EPROM eingeschriebenen numerischen Daten reflektierendes Register und ein Nur-Lese Register. Ein Register RFRT (*6) ist ein den Wert eines freilaufenden 16-Bit-Zeitgebers reflektierendes Register, wobei dem freilaufenden 16-Bit-Zeitgeber Taktsignale als Eingang zugeführt werden, und ein Nur-Lese-Register. R0/R1, R2/R3, R4/R5 und R6/R7 lassen sich auch jeweils in Paaren als Register mit Ausgangsvergleichs-Funktion verwenden. Liegt in dem später in (7) beschriebenen Ausgangs-Spezifikationsfeld eine Ausgangsvergleichs-Spezifikation vor, so werden diese Register automatisch paarweise gesichert.
  • Unter den oben beschriebenen Paaren werden R0/R1 und R2/R3 ausschließlich für 16 Bits verwendet, wohingegen R4/R5 und R6/R7 sowohl für 16 Bits als auch für 8 Bits verwendet werden können. Ob diese Register für 16 oder 8 Bits verwendet werden, ist durch das oben in (2) beschriebene Datenlänge-Spezifikationsfeld spezifiziert. Die Register R8 bis R11 lassen sich außerdem als Eingangsaufiiahme-Register verwenden. Ob die Register R8 bis R11 als Eingangsaufiiahme-Register verwendet werden oder nicht, ist in dem später in (8) beschriebenen Eingangsauthahme-Spezifikationsfeld spezifiziert.
  • (4) Numerisches Datenfeld
  • Dies ist ein Feld zum Einschreiben numerischer Daten, wenn in dem oben in (3) be schriebenen Register-Auswahlfeld ein numerisches Register (RIMM) spezifiziert ist.
  • (5) Nächste-Adresse-Steuerfeld
  • Dies ist ein Feld zum Beschreiben, welche Adresse als nächster Mikrobefehl ausgewählt wird, der auf den in der Ausführung befindlichen Befehl folgt. In dieses Feld können eine Verzweigungsbedingung und zwei verschiedene Adressen (Adresse 0 und Adresse 1) eingeschrieben werden, die es ermöglichen, das Verzweigungsziel zu ändern, wobei eine derartige Anderung davon abhängig ist, ob die Bedingung erfüllt ist oder nicht.
  • Als Verzweigungsbedingung lassen sich entweder ein Übertrags-Flag CF oder ein Null-Flag ZF, die im Statusregister SR enthalten sind, ein Übertrag C, das als Ergebnis einer durch einen Befehl in Ausführung durchgeführten Verarbeitung erzeugt wird, ein Null-Z und Daten Pi in einem durch ein nachfolgend in (6) beschriebenes Port-Spezifikationsfeld spezifizierten Eingangs-Port spezifizieren. Wenn die angegebene Bedingung erfüllt ist, so wird als nächste Adresse die Adresse 0 ausgewählt. Wenn die angegebene Bedingung nicht erfüllt ist, wird die Adresse 1 ausgewählt.
  • (6) Port-Spezifikationsfeld
  • Dies ist ein Feld zum Spezifizieren, welches Bit aus einer Vielzahl von im programmierbaren I/O 8 gespeicherten Bits ausgewählt und wie das so ausgewählte I/O-Bit betätigt werden soll. Die Port-Schnittstellenschaltung 15 führt eine Decodierung der in diesem Feld gespeicherten Informationen und eine Steuerung der oben beschriebenen Auswahl und Betriebsspezifikation durch. Dieses so spezifizierte I/O-Bit wird im weiteren vereinfachend als Port bezeichnet.
  • Bei diesem Feld lassen sich gleichzeitig drei Ports spezifizieren. Drei Bits, d.h. drei in diesem Port-Spezifikationsfeld spezifizierte Ports, werden als P&sub0;, P&sub1;, und Pck bezeichnet.
  • Die folgenden drei Operationen lassen sich in P&sub0; spezifizierert
  • ein Port ist weder als Eingang noch als Ausgang spezifiziert.
  • Ein Port ist als Eingang spezifiziert. Der spezifizierte Port wird als Eingangs-Port verwendet.
  • Ein Port ist als Ausgang spezifiziert. Der spezifizierte Port wird als Ausgangs-Port verwendet. In diesem Fall ist es möglich zu spezifizieren, was als Ausgangsbedingung und jeweils ausgeführte Operationen verwendet wird, wenn die Ausgangsbedingung erfüllt ist und wenn die Ausgangsbedingung nicht erfüllt ist.
  • Tabelle 1 stellt Arten und Inhalte von Bedingungen dar, die sich als oben beschriebene Ausgangsbedingung verwenden lassen. Tabelle 2 zeigt, wie die Operationen "durchgehend", "0-Ausgabe", "1-Ausgabe" und "Inversion" auf der Grundlage durchgeführt werden, ob die Bedingungen von Tabelle 1 erfüllt sind oder nicht.
  • Die folgenden beiden Operationen lassen sich in P&sub1; spezifizieren.
  • Keine Ausgabe vorhanden.
  • Ausgabe vorhanden. In diesem Fall lassen sich eine Ausgangsbedingung (Tabelle 3) und eine Operation zu diesem Zeitpunllt (Tabelle 4) auf die gleiche Weise spezifizieren wie beim vorhergehenden Fall von P&sub0; Anders als im Falle von P&sub0; kann der Status von P&sub0; als Ausgangsbedingung spezifiziert werden. TABELLE 3 TABELLE 4
  • Die folgenden beiden Operationen lassen sich in Pck spezifizieren.
  • Es ist keine Sprungsteuerung vorhanden.
  • Es ist eine Sprungsteuerung vorhanden.
  • Eine Sprungsteuerung ist eine Steuerung zum Ungültigmachen eines in Ausführung befindlichen Befehls. Ist eine Sprungspezifikation vorhanden und das Eingangssignal zum spezifizierten Port gleich 1, so wird der in Ausführung befindliche Befehl fortgesetzt. Wenn jedoch das Eingangssignal zum spezifizierten Port gleich 0 ist, so wird der in Ausführung befindliche Befehl ungültig gemacht. Wenn der Befehl ungültig gemacht ist, bleiben Zustände des Registers, des Statusregisters und des Ausgangs-Ports unverändert.
  • (7) Ausgangsvergleichs-Spezifikationsfeld
  • Dies ist ein Feld zum Spezifizieren, das die Verarbeitungsschaltung 13 eine Ausgangsvergleichs-Operation durchführen soll. Ist der Ausgangsvergleich in diesem Feld spezifiziert, so werden die in der Registerschaltung 42 enthaltenen Register R0 bis R7 paarweise gesichert, und es wird eine an einen Ausgangsvergleich angepaßte Verarbeitungs schaltungs-Konfiguration realisiert.
  • Fig. 6A ist ein Schaltbild, das die Konfiguration der für einen Ausgabevergleich angeschlossenen Verarbeitungsschaltung 13 darstellt. In Fig. 6A bezeichnet ein Bezugszeichen 24 die Registerschaltung 42, in welcher eine Verbindung von Registern und Komparatoren derart gesteuert wird, daß sie sich für einen Ausgabevergleich eignet.
  • In der Registerschaltung 24 von Fig. 6A bezeichnen R0, R2, R4 und R6 Basisregister und R1, R3, R5 und R7 Vergleichsregister, wohingegen C01, C23, C45 und C67 Komparatoren bezeichnen. Als Beispiel wird nun eine Konfiguration und eine Betriebsweise eines Satzes von Ausgabevergleichsschaltungen beschrieben. Die Register R6 und R7 sind über eine Gatterschaltung 240 miteinander verbunden. Einer der Eingänge des Komparators 241 ist mit dem Vergleichsregister R7 verbunden, während sein anderer Eingang mit dem ersten Lese-Bus verbunden ist. Ein Ausgang 243 des Komparators 241 ist mit einem Setz- Anschluß 5 eines Ausgangs-Flip-Flop 244 verbunden. Der Ausgang des Flip-Flop 244 ist mit einem Ausgabevergleich-Ausgangsanschluß 245 verbunden.
  • Die Gatterschaltung 240 wird durch eine von der Verarbeitungseinheit 26 kommende Nullsignalleitung 27 gesteuert. Wird die Nullsignalleitung 27 zu 1, so werden im Basisregister R6 gespeicherte Daten zum Vergleichsregister R7 übertragen. Ferner ist ein Löschanschluß C des Ausgangs-Flip-Flop 244 mit einer Null-Flag-Leitung Zn - 1 verbunden, um vor einer Befehlsausführung erhaltene Null-Flag-Informationen darzustellen. Wird der Befehl unter dem Zustand ausgeführt, daß die Zn-1 gleich list, so wird das oben beschriebene Flip-Flop- 244 gelöscht. Die Funktion der Verarbeitungseinheit richtet sich nach einem in das Befehlsfeld des Mikro-EPROM eingeschriebenen Befehl.
  • Fig. 6B bis Fig. 6D stellen Konfigurationen der Verarbeitungseinheit 26 und der Registerschaltung 42 dar, die verwendet werden, wenn ein Zeitgeber-Befehl ausgeführt wird. Der Zeitgeber-Befehl wurde oben an der Stelle "(1) Befehls-Spezifikationsfeld" sowie unter Bezugnahlne auf die Liste von Fig. 4 erwähnt. Nachfolgend werden in der Verarbeitungseinheit 26 und der Registerschaltung 42 realisierte Schaltungskonfigurationen unter Bezugnahme auf Fig. 6B bis Fig. 6D beschrieben.
  • Fig. 6B stellt eine Konfiguration dar, die realisiert ist, wenn der in Fig. 4 dargestellte INCCLR-Befehl ausgeführt wurde. Die mit dem ersten Lese-Bus 25 verbundene ALU 71 wird zu einem Aufwärtszähler (INC). Ferner sind Eingänge des in der Verarbeitungseinheit 26 enthaltenen Komparators CMI) mit dem ersten Lese-Bus 25 und dem zweiten Lese-Bus 32 verbunden. Gleichzeitig sind zwei im Register-Spezifikationsfeld spezifizierte Register als Zählregister Rct 29 und konstantes Register Roc 28 spezifiziert.
  • In gleicher Weise stellt Fig. 6C den Fall des INCCMP-Befehls dar, und Fig. 6D stellt den Fall des DECLD-Befehls dar. Fig. 6C und Fig. 6D werden jedoch nicht weiter beschrieben.
  • (8) Eingangsaufnahme-Spezifikationsfeld
  • Dies ist ein Feld zum Spezifizieren, daß die Verarbeitungseinheit 13 eine Eingangsaufhahme-Operation ausführen soll. Ist in diesem Feld eine Eingangsaufhahme spezifiziert, so werden die in der Registerschaltung 42 enthaltenen Register R8 bis R11, wie oben in (3) beschrieben, als Eingangsaufnahme-Register gesichert, und es wird eine Verarbeitungsschaltungs-Konfiguration realisiert, die sich für eine Eingangsaufhahme eignet.
  • Fig. 6A ist ebenfalls ein Schaltbild, das eine Konfiguration der Verarbeitungsschaltung 13 darstellt, die derart angeschlossen ist, daß sie sich für eine Eingangsaufhalime eignet. In Fig. 6A bezeichnet ein Bezugszeichen 30 die Registerschaltung 42 zu dem Zeitpunkt, zu dem die Verbindung der Register derart gesteuert wird, daß sie sich für eine Eingangsaulhalime eignet. Es lassen sich maximal bis zu vier Eingangsaufnahmen spezifizieren. Wird dieser Befehl ausgeführt, so schalten Eingangsgatter 301 zum Schreib-Zeitpunkt zu Registern durch, wenn Eingangsaufhahme-Eingangsanschlüsse 300 logisch 1 sind. Der Inhalt des Schreib-Busses 31 wird in die Eingangsaufhahme-Register R8 bis R11 aufgenommen.
  • SCHNITTSTELLE ZWISCHEN HAUPTPROZESSOR UND UNTERPROZESSOR
  • Ein Austausch von Daten zwischen der CPU 2 im Hauptprozessor 5 und dem Unterprozessor 6 erfolgt über die im Unterprozessor 6 angebrachte Prozessor-Schnittstellenschaltung 16. Wie in Fig. 3 dargestellt, umfaßt die Prozessor-Schnittstellenschaltung 16 ein Unterbrechungsfreigabe-Flag-Register (IEF-Register) 47, ein erstes Speicherdaten-Register (MDB1-Register) 48, ein erstes Speicheradressen-Pufferregister (MAB1-Register) 49, ein Datenpufferregister (DBF-Register) 50 und ein Adressen-Pufferregister (ABF-Register) 51. Ferner wird die Prozessor-Schnittstellenschaltung 16 durch eine vom Mikro-EPROM kommende Steuerleitung 17 gesteuert.
  • Als Schnittstellenmodi zu dem in Fig. 2 dargestellten Hauptprozessor 5 stehen drei Modi, namlich (1) Slave-Modus, (2) Master-Modus und (3) Unterbrechungsanforderung, zur Verfügung. Diese drei Modi werden nachfolgend genau beschrieben.
  • (1) Slave-Modus
  • In diesem Modus arbeitet der Hauptprozessor 5 als Master. Eine Datenübertragung zwischen dem Hauptprozessor und dem Unterprozessor wird in diesem Modus über einen Adressenbus (AB) und einen Datenbus KDB), die mit der Prozessor-Schnittstellenschaltung 16 von Fig. 3 verbunden sind, ausgeführt. Genauer wird eine Datenübertragung zwischen der CPU 2 und den im Unterprozessor 6 enthaltenen Registern R0 bis R19 in Übereinstimmung mit einem in der CPU 2 erzeugten Lese/Schreib-Signal (RD1/WR1) und dem Signal auf dem Adressenbus (AB) durchgeführt.
  • Wenn Daten in die Register R0 bis R19 zu schreiben sind, werden von der CPU 2 Schreibdaten auf den Datenbus DB ausgegeben, und auf einen Adressenbus AB wird eine einer Registernummer entsprechende Adresse ausgegeben. Ferner wird ein Schreibsignal (WR1) zur Geltung gebracht. Folglich verden Schreibdaten in den Datenpuffer (DBF) 50 aufgenommen, und Register-Auswahlinformationen werden in den Adressenpuffer (ABF) aufgenommen. Synchron mit dem Betrieb des Unterprozessorkanais 10 werden Daten vom oben beschriebenen Datenpuffer 50 zu einem ausgewählten Register übertragen.
  • (2) Master-Modus
  • In diesem Modus arbeitet der Unterprozessor 6 als Bus-Master. Unter dem Zustand, daß der Unterprozessor 6 eine Busrecht-Anforderung an die CPU 2 des Hauptprozessors 5 ausgibt und der Unterprozessor 6 den gemeinsamen Bus 9 dominiert, werden ein Lesen- Schreiben von Daten aus dem im Hauptprozessor 5 enthaltenen RAM 3 bzw. in den RAM 3, ein Auslesen von Daten aus dem EPROM 4 und ein Eingeben/Ausgeben von Daten in den programmierbaren I/O 8 bzw. aus dem programmierbaren I/O 8 durchgeführt.
  • Was die Busrecht-Anforderung zur CPU 2 anbelangt, so wird von der Prozessor- Schnittstellenschaltung 16 ein Busrecht-Anforderungssignal BRQ ausgegeben, und von der CPU 2 wird in Reaktion auf das Signal BRQ ein Bestätigungssignal BAK ausgegeben. Von dem Recht, den Bus zu benutzen, kann unter der Steuerung des Unterprozessors 6 Gebrauch gemacht werden.
  • Das vom Unterprozessor gelieferte Busrecht-Anforderungssignal BRQ wird durch Ausführen des WRSTART-Befehls, RDSTART-Befehls und REF-Befehls erzeugt, die in den unter Bezugnahme auf Fig. 4 beschriebenen Speicherzugriffsbefehlen enthalten sind. Nachfolgend wird ein Datenzugriff in diesem Modus unter Bezugnahme auf Fig. 3 und ein in Fig. 7 dargestelltes Statusübergangs-Diagramm einer Speicherzugriffs-Steuerschaltung genau beschrieben.
  • Im Ruhezustand (S0) werden lediglich der WRSET-Befehl, RDSTART-Befehl und der REF-Befehl unter den in Fig. 4 dargestellten Speicherzugriffsbefehlen akzeptiert, und ein Übergang in andere Zustände wird möglich. Wird der WRSET-Befehl ausgeführt, so wird das spezifizierte Register Rd bzw. numerische Daten über den ersten Lese-Bus 25, die ALU 71 und den Schreib-Bus 31 zu einem zweiten Speicherdatenpuffer (MDB2) 53 des Unterprozessors 6 und ferner über einen Speicherzugriffsbus 55 zum ersten Speicherdatenpuffer (MDB1) 48 der Prozessor-Schnittstellenschaltung 16 übertragen. Der Zustand wechseit anschließend zu "Befehl warten 1" (S1) über.
  • Im Zustand 51 werden lediglich der WRSTART-Befehl und der REF-Befehl akzeptiert. Wird in diesem Zustand der WRSTART-Befehl ausgeführt, so werden Daten eines Registers Ra, in welchem eine Speicheradresse gespeichert ist, bzw. numerische Daten über den ersten Lese-Bus 25, die ALU 71 und den Schreib-Bus 31 zu einem zweiten Speicheradressenpuffer (MAB2) und ferner über den Speicherzugriffsbus 55 zum ersten Speicheradressenpuffer (MAB1) 49 übertragen. Gleichzeitig wird von der Prozessor-Schnittstellenschaltung 16 das Busrecht-Anforderungssignal BRQ ausgegeben, und der Zustand wechseit zu "Schreiben warten" (S2) über.
  • In diesem Zustand wird auf das Bus-Bestätigungssignal BAK, das ein von der Haupt-CPU zurückgegebenes Antwortsignal ist, gewartet. Wird das Bestätigungssignal BAK zur Geltung gebracht, so wechselt der Zustand zu "Schreiben" (S3) über.
  • Im "Schreiben"-Zustand (S3) wird der Inhalt des ersten Speicherdatenpuffers (MDB1) auf den Datenbus DB ausgegeben, und der Inhalt des ersten Speicheradressenpuffers (MAB1) 49 wird auf den Adressenbus AB ausgegeben. Außerdem wird ein Schreibsignai (WR2) ausgegeben. Nach Abschluß des Schreibens wird der Ruhezustand (S0) wiederhergestellt.
  • Wird im Ruhezustand (S0) der RDSTART-Befehl ausgeführt, so werden Daten eines Registers, in welchem eine auszulesende Speicheradresse gespeichert ist, über den zweiten Speicheradressenpuffer 54 zum ersten Speicheradressenpuffer 49 übertragen. Außerdem wird das Busrecht-Anforderungssignal BRQ ausgegeben, und der Zustand wechselt zu "Lesen warten" (S4) über.
  • Ist in diesem Zustand das Bestätigungssignal BAK vorhanden, so wird der Inhalt des ersten Speicheradressenpuffers 49 auf den Adressenbus AB ausgegeben, und es wird ein Lesesignal (RD2) ausgegeben. Daten werden über den Datenbus in den ersten Speicherdatenpuffer 48 ausgelesen (SS). Anschließend wechselt der Zustand zu "Befehl warten 2" (S6) über.
  • Im "Befehl warten 2"-Zustand (S6) wird der RDGET-Befehl, WRSTART-Befehl und der REF-Befehl akzeptiert. Der RDGET-Befehl ist ein Befehl zum Übertragen von Daten vom ersten Speicherdatenpuffer 48 zu einem bestimmten Register. Wie oben beschrieben, ist der WRSTART-Befehl ein Befehl zum Schreiben von Daten vom zweiten Speicherdatenpuffer 53 in eine bestimmte Speicheradresse eines im Hauptprozessor enthaltenen Speichers bzw. eines außerhalb des Chip angeordneten Speichers. Werden nacheinander der RDSTART-Befehl und der RDGET-Befehl ausgeführt, so wird daher der Inhalt des Speichers in das Register des Unterprozessors 6 aufgenommen. Werden nacheinander der RDSTART-Befehl und der WRSTART-Befehl ausgeführt, so werden Daten direkt von einem Speicher zu einem anderen Speicher übertragen.
  • Die Ausführung des REF-Befehls ist nur im Ruhezustand (SO), im "Befehl warten 1 "-Zustand (S1) und im "Befehl warten 2"-Zustand (S6) möglich. In den jeweiligen Fällen wird das Busrecht-Anforderungssignal BRQ ausgegeben, und der Zustand wechselt zu "Auffrischen warten 0 bis 2" (S8 bis S10) über.
  • Wird im "Auffrischen warten"-Zustand das Bestätigungssignal BAK zur Geltung gebracht, so wird ein zum Auffhschen eines dynamischen RAM erforderliches Signal an die Peripherie der integrierten Halbleiterschaltung ausgegeben, wobei der vor der Verschiebung zu den Zuständen "Auffrischen warten 0" bis "Auffrischen warten 2" angenommene Zustand wiederhergestellt wird. Wird jedoch im "Auffrischen warten 0"-Zustand (89) der WRSET- Befehl ausgeführt, so wechselt der Zustand zum "Auffrischen warten 1 "-Zustand (S8) über. Nach Beendigung der Auffrischung wechselt der Zustand zum "Befehl warten 1 "-Zustand (S1) über.
  • Ferner wechselt der Zustand, wenn im "Auffrischen warten 2"-Zustand (S10) der RDGET-Befehl ausgeführt wird, zu "Auffrischen warten 0" (S9) über. Nach Beendigung der Auffrischung wird der Ruhezustand wiederhergestellt.
  • Ist eine Durchführung eines oben beschriebenen Speicherzugriffsbefehls erfolgreich und ist eine Verschiebung zum nächsten Zustand erfolgt, so wird das Null-Flag ZF in dem in Fig. 3 dargestellten Statusregister SR 70 gesetzt ("1"). Konnte eine Verschiebung zum nächsten Zustand nicht erfolgen, so wird das Null-Flag ZF gelöscht ("0"). Durch Erzeugen eines derartigen Programms, daß das Null-Flag ZF nach einer Ausführung des Befehls bestätigt und der gleiche Befehl so lange wiederholt ausgeführt wird, bis die Beziehung ZF = 1 erfüllt ist, läßt sich ein zuverlässiger Speicherzugriff durchführen.
  • (3) Unterbrechungsanforderung
  • Hierbei handelt es sich um einen Modus zum Erzeugen einer vom Unterprozessor 6 an den Hauptprozessor 5 zu liefernden Unterbrechungsanforderung. Ein in Fig. 3 dargestelltes Unterbrechungsstatus-Flag (15F) 56 umfaßt ein 8-Bit-Flag und läßt sich durch einen Befehl des Unterprozessors 6 setzen bzw. löschen. Mit anderen Worten läßt sich das Unter brechungsstatus-Flag 56 im Port-Spezifikationsfeld eines Mikrobefehls bestimmen und durch die gleiche Verarbeitung wie die des I/O-Ports betätigen. Der Ausgang des Unterbrechungsstatus-Flag 56 ist über eine Leitung 57 mit dem innerhalb der Hauptprozessor- Schnittstellenschaltung 16 angeordueten Unterbrechungsfreigabe-Flag (IEF) 47 verbunden. Die jeweiligen Bits dieses Unterbrechungsfreigabe-Flag (IEF) 47 entsprechen den jeweiligen Bits des Unterbrechungsstatus-Flag 56.
  • Sind das Bit des Unterbrechungsstatus-Flag (15F) 56 und das Unterbrechungsfreigabe-Flag (IEF) 47 gesetzt, so wird eine Unterbrechungsanforderung IRQ an die CPU 2 erzeugt. Das Unterbrechungsfreigabe-Flag 47 ist mit dem Datenbus DB verbunden, und dessen Schreib- und Lese-Operation kann vom Hauptprozessor 5 durchgeführt werden.
  • SCHNITTSTELLE ZWISCHEN UNTERPROZESSOREN UND ZWISCHEN PORT UND UNTERPROZESSOR
  • Oben wurde eine Schnittstelle zwischen dem Hauptprozessor 5 und dem Unterprozessor 6 beschrieben. Wie unter Bezugnahine auf Fig. 1 beschrieben, umfaßt der vorhegende Unterprozessor 6 den Unterprozessorkanal A 10a und den Unterprozessorkanal B 10b mit der gleichen Konfiguration. Um eine Kommunikation zwischen diesen Unterprozessorkanälen durchzuführen, ist die Zwischenkanal-Schnittstellenschaltung 19 vorgesehen. Die Zwischenkanal-Schnittstellenschaltung 19 umfaßt ein 8-Bit-Semaphor-Flag (5) und ist sowohl mit dem Unterprozessorkanal A 10a als auch mit dem Unterprozessorkanal B 10b verbunden. Daher können die jeweiligen Kanäle gemeinsam auf das Semaphor-Flag (5) zugreifen. Eine Auswahl und Betätigung des Semaphor-Flag wird durch das Port-Spezifikationsfeld des Mikrobefehls bestimmt. Das Semaphor-Flag (5) läßt sich durch die Schreib- Betätigung setzen und löschen und ist ein Flag mit Auslesen-Löschen.
  • Die Port-Schnittstellenschaltung 15 von Fig. 3 ist eine Schnittstellenschaltung zwischen dem Unterprozessorkanal 10 und der Zwischenkanal-Schnittstellenschaltung 19 mit der I/O-Schaltung (I/O) 18, dem Schnittstellenstatus-Flag (ISF) 56 und dem Semaphor-Flag (5). Die I/O-Schaltung 18 umfaßt einen 16-Bit-I/O-Port und kann über ein Terminal 67 mit der Umgebung der integrierten Halbleiterschaltung kommunizieren. Der I/O-Port 18, das Unterbrechungsstatus-Flag 56 und das Semaphor-Flag 19, die oben beschrieben sind, werden allesamt als Ports behandelt, die ein Bit als Einheit nehmen. Durch eine Spezifikation im oben beschriebenen Port-Spezifikationsfeld des Mikro-EPROM 11 lassen sich drei Ports gleichzeitig als I/O-Port (P&sub0;) Ausgangs-Port (P&sub1;) und Eingangs-Port (Pck) auswählen, um eine Lese/Schreib-Operation durchzuführen.
  • Die Port-Schnittstellenschaltung 15 ist über eine Statusregister-Ausgangsleitung 68 mit dem Statusregister (SR) 70 verbunden, und es werden ihr Informationen des Übertrags- Flags (CF) und des Null-Flag (ZF), die im Statusregister 70 gespeichert sind, zugeführt. Die Port-Datenleitung 69 wird über den Übertrags-Eingangsselektor 38 der Arithmetik-Logik- Einheit (ALU) 71 und der Adressen-Steuerschaltung 21 zugeführt. In der Adressen-Steuerschaltung 21 wird ein Signal auf der Port-Datenleitung 69 als eine von Verzweigungsbedingungen verwendet. Die Port-Schnittstellenschaltung 15 ist durch eine P0-Signalleitung 59, eine P1-Signalleitung 58, eine Pck-Signalleitung 60, eine P&sub0;-Auswahlleitung 62, eine Pi- Auswahlleitung 61 und eine Pck-Auswahlleitung 63 mit den oben beschriebenen Ports verbunden. Es ist möglich, einen I/O zu einem durch die P&sub0;-Auswahlleitung 62 ausgewählten Port zu bestimmen und über die P&sub0;-Signalleitung 59 eine Datenausgabe zum Port und eine Dateneingabe vom Port durchzuführen. Es ist möglich, lediglich eine Ausgabe zu einem durch die P&sub1;-Auswahlleitung 61 ausgewählten Port zu bestimmen, und Daten werden über die P&sub1;-Signalleitung 58 an den Port ausgegeben. Es ist möglich, lediglich eine Eingabe in einen durch die Pck-Auswahlleitung 63 ausgewählten Port zu bestimmen, und Daten vom Port werden über die Pck-Signalleitung 60 eingegeben. Dieses Pck-Signal wird als Sprungsteuerung emes Befehls verwendet. Zusätzlich zu Port-Funktionen, die durch die oben beschriebene P&sub0;-Signalleitung 62, P&sub1;-Auswahlleitung 61 und Pck-Auswahlleitung 63 bestimmt sind, gibt es eine Ausgangsvergleichs-Funktion und eine Eingangsaufhahme-Funktion. Diese arbeiten jedoch wie oben beschrieben.
  • ADRESSREGISTER UND STATUSREGISTER
  • Die Adressenregisterschaltung 20 des im vorliegenden Ausführungsbeispiel dargestellten Unterprozessorkanals 10 umfaßt 8 Adressenregister mit gleicher Konfiguration. In jedem Adressenregister sind Adreßinformationen des Mikro-EPROM 11 gespeichert. Ferner umfaßt die Statusregisterschaltung (SR) 70 ebenfalls 8 Statusregister mit gleicher Konfiguration.
  • Fig. 8 stellt ein Beispiel einer Konfiguration der Adressenregisterschaltung 20, der Registerschaltung (SR) 70 und ihrer peripheren Schaltung dar. Die Adressenregisterschaltung 20 umfaßt Adressenregister AR0 bis AR7, einen Adressenregister-Ausgangsselektor 73 zum Auswählen einer von jewelligen Ausgangsleitungen 72, einen mit einer Ausgangsleitung 74 der Adressen-Steuerschaltung 21 verbundenen Adressenregister-Eingangsmultiple xer 75 und Adressenregister-Eingangsleitungen 76 zum Übertragen der Ausgabe des Adressenregister-Eingangsmultiplexers 75 zu den Adressenregistern AR0 bis AR7. Ferner umfaßt die Statusregisterschaltung 70 Statusregister SR0 bis SR7, einen Statusregister-Ausgangsselektor 78 zum Auswählen einer von jeweiligen Ausgangsleitungen 77, einen Statusregister-Eingangsmultiplexer 80, dessen Eingangsleitung eine von der Verarbeitungseinheit 26 ausgehende Statussignal-Leitung 70 ist, und Statusregister-Eingangsleitungen 81 zum Übertragen der Ausgabe des Statusregister-Eingangsmultiplexers 80 zu einem beliebigen Statusregister SR0 bis SR7.
  • Steuersignale des oben beschriebenen Adressenregister-Ausgangsselektors 73, des Adressenregister-Eingangsmultiplexers 75, des Statusregister-Ausgangsselektors 78 und des Statusregister-Eingangsmultiplexers 80 werden im Steuer-PLA 14 erzeugt und dazu verwendet, jeweilige Einheiten über eine Adressenregister-Ausgangssteuerleitung 82, eine Adressenregister-Eingangssteuerleitung 83, eine Statusregister-Ausgangssteuerleitung 84 und eine Statusregister-Eingangssteuerleitung 85 zu steuern. Unter der Annahme, daß aus acht Adressenregistem AR ein Adresseiregister ARi und aus acht Statusregistern SR ein Statusregister SRi ausgewählt wird, wird nachfolgend eine Reihe von Operationen beschrieben. Eine Auswahlinformation von ARi wird vom Steuer-PLA 14 auf die Adressenregister-Ausgangssteuerleitung 82 ausgegeben. Daten des Mikro-EPROM 11 werden unter Verwendung des Inhalts des ARi als Adresse ausgelesen und zur Adressen-Steuerschaltung 21, Verarbeitungs-Steuerschaltung 22 und Register-Steuerschaltung 23 übertragen.
  • Die Adressen-Steuerschaltung 21, die Verarbeitungs-Steuerschaltung 22 und die Register-Steuerschaltung 23 dekodieren Daten, die jeweils eine Adressensteuerung, eine Verarbeitungssteuerung und eine Registersteuerung betreffen und in den Daten des Mikro- EPROM enthalten sind. Als Folge werden Steuersignale erzeugt, die für eine Verarbeitungssteuerung der Verarbeitungseinheit 26 und eine Auswahl eines Registers erforderlich sind.
  • Der Inhalt eines Ursprungsregisters wird ausgelesen. Eine Auswahlinformation eines SRi wird vom Steuer-PLA 14 auf die Statusregister-Ausgangssteuerleitung 84 ausgegeben. Unter Verwendung des Übertrags-Flag und/oder des Null-Flag, die im SRi enthalten sind, erfolgt eine Verarbeitung.
  • Auswahlsignale SRi und ARi werden vom Steuer-PLA 14 jeweils auf die Statusregister-Eingangssteuerleitung 85 und die Adressenregister-Eingangssteuerleitung 83 ausge geben. Das Verarbeitungsergebnis wird in das Zielregister geschrieben. Neue, infolge einer Verarbeitung erzeugte Statusregisterdaten werden in das SRi aufgenommen, und die nächste Adresse wird in das ARi aufgenommen. Eine Reihe von Operationen ist so abgeschlossen.
  • Bei der oben beschriebenen Reihe von Operationen bis wird die Auswahl des Adressenregisters ARi und des Statusregisters SRi durch das Steuer-PLA 14 durchgeführt. Durch ein derartiges Aufbauen des Steuer-PLA, daß das Paar aus einem Adressenregister und einem Statusregister nacheinander geändert und ausgeführt werden kann, lassen sich daher bis zu 8 unabhängige Programme des Mikro-EPROM ausführen. Das Steuer-PLA 14 wird durch eine Rücksetz-Signalleitung 94 und eine Ereignissteuerleitung 100, die mit einer ereignisgesteuerten Steuerschaltung 99 verbunden ist, gesteuert. Diese Steuerleitungen werden später beschrieben.
  • Als erstes Beispiel einer durch das Steuer-PLA 14 durchgeführten Steuerung wird nun angenommen, daß Paare aus Adressenregistem und Statusregistem und Anordnungen dieser Paare wie folgt vorgeschrieben sind.
  • Im Falle dieses Beispiels wird ein Zyklus in der für eine Ausführung der oben beschriebenen Reihe von Operationen bis erforderlichen Zeit, d.h. in der Zeit, die dem 8- fachen der Mikrobefehl-Ausführungszeit entspricht, ausgeführt. Das gleiche Paar aus einem Adressenregister und einem Statusregister wird wiederhergestellt.
  • Fig. 9A stellt ein zweites Beispiel einer durch das Steuer-PLA 14 durchgeführten Steuerung dar. Bei diesem Beispiel ist die oben beschriebene Reihe von Operationen durch einen Zustand Si dargestellt. Ein Zyklus umfaßt 16 Zustände, nämlich S&sub0; bis S&sub1;&sub5; In jedem Zustand wird das dargestellte Paar aus einem Adressenregister und einem Statusregister ausgewählt und ausgeführt. In Fig. 9A stellen F0 bis F7 Funktionen dar, die jeweils unter Verwendung von AR0 SR0 bis AR7 SR7 ausgeführt werden. Jede Funktion ist durch eine Kombination von in Fig. 4 dargestellten Befehlen, d.h. durch ein Programm, realisiert. Im Falle des in Fig. 9A dargestellten Beispiels wird die Funktion F0 in einer Zykluszeit tcy viermal ausgeführt. Mit anderen Worten werden in der Zykluszeit tcy 4 Mikrobefehle ausgeführt. Jede der Funktionen F1 und F2 wird in der Zykluszeit tcy einmal ausgeführt. Jede der Funktionen F3, F4, F5, F6 und F7 wird zweimal ausgeführt. Daher läßt sich der Ausführungszyklus jeder Funktion wie folgt darstellen.
  • F0: tcy/4
  • F1, F2: tcy
  • F3 bis F7: tcy/2
  • Oben wurde das zweite Steuerbeispiel des Steuer-PLA beschrieben. Durch Ändern von Daten des Steuer-PLA läßt sich jedoch eine beliebige Kombination realisieren. Es ist auch möglich, in gemischter Weise eine Funktion niedriger Geschwindigkeit, eine Funktion mittlerer Geschwindigkeit und eine Funktion hoher Geschwindigkeit zu realisieren. Ferner wird es durch Verwenden eines aus elektrisch beschreibbaren EPROM-Vorrichtungen bestehenden Steuer-PLA möglich, das Steuer-PLA im Benutzerfeld in der gleichen Weise frei neu aufzubauen wie den Mikro-EPROM.
  • Fig. 9B stellt ein drittes Beispiel einer durch das Steuer-PLA durchgeführten Steuerung dar. Bei diesem Beispiel umfaßt ein Zyklus 5 Zustände S&sub0; bis S&sub4;. Eine ereignisgesteuerte Funktion ist dem Zustand S&sub4; zugewiesen. Der Ausdruck "ereignisgesteuert" bedeutet, daß drei wie in Fig. 8 dargestellt im Terminal 67 enthaltene Anschlüsse (Ie0, Ie1, Ie2) als Ereignis-Eingangsanschlusse nut Prioritätsreihenfolgen verwendet werden und das Steuer- PLA über die I/O-Schaltung 18, eine ereignisgesteuerte Eingangsleitung 66, die in der Port- Schnittstellenschaltung 15 enthaltene ereignisgesteuerte Steuerschaltung 99 und die Ereignissteuerleitung 100 gesteuert wird. Dadurch werden den Eingangsanschlüssen Ie0, Ie1 und Ie2 entsprechende Funktionen, d.h. Paare aus Adressenregistern und Statusregistern, ausgewählt. Bei dem Beispiel von Fig. 9B sind F4 (AR4 SR4), F5 (AR5 SR5), F6 (AR6 SR6) und F7 (AR7 SR7) als ereignisgesteuerte Funktion zugewiesen. Wird nun davon ausgegangen, daß Prioritätsreihenfolgen von Eingängen von den Eingangsanschlüssen Ie0, Ie1 und Ie2 als Ie0 > Ie1 > Ie2 vorgegeben sind (d.h. der Eingang von Ie0 hat die höchste Priorität), so lassen sich Funktionen F4 bis F7 wie in Tabelle 5 dargestellt auswählen. TABELLE 5
  • Bei dieser Tabelle bedeutet ein Zeichen x "nicht beachten", d.h. die durch ein Zeichen x dargestellte Eingabe wird nicht beachtet.
  • Fig. 10 stellt ein Beispiel einer Konfiguration des Steuer-PLA 14 und der ereignisgesteuerten Steuerschaltung 99, dargestellt in Fig. 8, dar. Dieses Steuer-PLA 14 umfaßt eine logische Feldstruktur (UND-Ebene, ODER-Ebene). Genauer umfaßt das Steuer-PLA 14 eine UND-Ebene (Logisches-Produkt-Ebene) 87, eine Ausgangsleitung (Produktausdruck- Leitung) 88 der UND-Ebene 87, eine ODER-Ebene (Logische-Summe-Ebene) 89, einen Rückkopplungs-Signalspeicher (LF) 90, der über eine Rückkopplungs-Signalspeicher-Eingangsleitung 98 mit dem Ausgang der ODER-Ebene 89 verbunden ist, einen Eingangs-Signalspeicher (LI) 92, der mit dem Rückkopplungs-Signalspeicher 90 über eine Rückkopplungsleitung 95 verbunden ist, und eine mit der ODER-Ebene 89 verbundene Ausgangsschaltung 93. Die UND-Ebene 87 und die ODER-Ebene 89 des PLA umfassen elektrisch beschreibbare, nicht-flüchtige Halbleiter-Speichervorrichtungen. Ein Inhalt kann von außerhalb des Chip des Mikrorechners in die UND-Ebene 87 und ODER-Ebene 89 geschrieben werden.
  • Ausgänge der Ausgangsschaltung 93 sind die Adressenregister-Ausgangssteuerleitung 82, die Adressenregister-Eingangssteuerleitung 83, die Statusregister-Ausgangssteuerleitung 84 und die Statusregister-Eingangssteuerleitung 85. Eingänge des Eingangs-Signalspeichers 92 sind mit einer Rücksetz-Signalleitung 94 zum Liefern eines Initialisierungssi gnals und mit einer Ereignissteuerleitung 100 verbunden, die von einem in der ereignisgesteuerten Steuerschaltung 99 enthaltenen Prioritätscodierer 101 ausgeht.
  • Die ereignisgesteuerte Steuerschaltung 99 umfaßt Ereignis-Signalspeicher 102a, 102b und 102c, die mit dem oben beschriebenen Prioritätscodierer 101 und der I/O-Schaltung 18 verbunden sind. Setzanschlüsse der Ereignis-Signalspeicher 102a, 102b und 102c sind über ereignisgesteuerte Eingangsleitungen 66 mit der I/O-Schaltung 18 verbunden. Jeder der Ereignis-Signalspeicher 102a, 102b und 102c weist einen Löschanschluß C auf, so daß der Signalspeicher durch einen Befehl des Unterprozessors 6 gelöscht werden kann.
  • Bei dem vorliegenden Konfigurationsbeispiel umfaßt die Rückkopplungsleitung 95 sechs Leitungen, und es lassen sich maximal bis zu 64 (=2&sup6;) Zustände programmieren. Eine Steuer-Ausgangsleitung 96 von der ODER-Ebene 89 umfaßt 4 Leitungen und überträgt Paarauswahlinformationen von Adressenregistern AR0 bis AR7 und Statusregistern SO bis S7, die eine zur Ausgangsschaltung 93 auszuführende Funktion betreffen. Auf der Grundlage dieser Informationen führt die Ausgangsschaltung 93 eine für eine Steuerreihe erforderliche Zeitsteuerung durch.
  • Fig. 11A und Fig. 11B stellen PLA-Daten dar, die jeweils den unter Bezugnahme auf Fig. 9A bzw. Fig. 9B beschriebenen PLA-Steuerbeispielen entsprechen. In Fig. 11A und Fig.11B stellt "Ev" einen Inhalt eines Ereigniseingangs, "FB" eine der UND-Ebene 87 über die Rückkopplungsleitung 95 zugeführte Statusinformation, "nächster Zustand" eine von der ODER-Ebene 89 auf die Rückkopplungs-Signalspeicher-Eingangsleitung 98 ausgegebene Information bezüglich des nächsten Zustands und "Steuerung" eine als Ergebnis einer durch das Steuer-PLA 14 durchgeführten Steuerung ausgeführte Funktion dar.
  • Nachfolgend wird die Wirkungsweise des Steuer-PLA 14 in den Beispielen von Fig. 9A und Fig. 9B unter Bezugnahlne auf Fig. 10, Fig. 11A und Fig. 11B beschrieben.
  • Bei dem Beispiel von Fig. 9A ist eine Ereignisfiinktion nicht definiert. Wie in Fig. 11A dargestellt, ist daher der Ereigniseingang Ev in sämtlichen Zuständen (S0 bis S15) mit x "nicht beachten" gekennzeichnet.
  • Wenn der Ausgang des Eingangs-Signalspeichers 92 eine Information von Sj (j = 0 bis 63) enthält, d.h. wenn der auf der UND-Ebene 87 ausgeführte Zustand Sj ist, so wird eine Information Sj+1 des nächsten Zustands auf die Rückkopplungs-Signalspeicher-Eingangsleitung 98 ausgegeben. Ferner wird ein Auswahlsignal des ARi SRi-Paares (Fi), das die im Zustand Sj ausgeführte Funktion betrifft, auf die Steuerausgangs-Signalspeicher-Eingangsleitung 99 ausgegeben.
  • Bezugnehmend auf Fig. 9A sei erwalint, daß S0 der UND-Ebene 87 zugeführt wird, während das Rücksetzsignal 94 gerade zugeführt wird. Wird das Rücksetzsignal aufgehoben, so beginnt eine Operation ausgehend von diesem Zustand S0. Mit anderen Worten wird S1 von der ODER-Ebene 89 als nächster Zustand auf die Eingangsleitung 98 ausgegeben und im Rückkopplungs-Signalspeicher 90 gehalten. Als Steuerausgang wird F0 ausgegeben. Wenn eine F0 betreffende Verarbeitungsreihe abgeschlossen ist, wird die Information S1 bezüglich des nächsten Zustands vom Rückkopplungs-Signalspeicher 90 zum Eingangs- Signalspeicher 92 übertragen, um zu einer Eingangsinformation der UND-Ebene 87 zu werden. Die oben beschriebene Operation wird wiederholt. Lautet die Eingangsinformation der UND-Ebene S15 und wird S0 als Information bezüglich des nächsten Zustands defi niert, so wird eine Operation, wie in Fig. 9A dargestellt, wiederholt in der Schleife ausgeführt.
  • Bei dem Beispiel von Fig. 9B ist eine Ereignisfünktion einem Zustand S4 zugewiesen. In dem auf die Ausführung des S3-Zustands folgenden Zustand S4 wird abhängig vom Zustand des Ereigniseingangs Ev eine Funktion ausgewählt und ausgeführt. Mit anderen Worten werden jeweils Funktionen F4, F5, F6 und F7 ausgewählt und ausgeführt, wenn Ev = Ev 3, Ev = Ev 2, Ev = Ev 1 und Ev = Ev 0 gilt. Mit anderen Worten wird der S4-Zustand als vier Zustände, die Ev3 S4, Ev2 S4, Ev1 S4 und Ev0 S4 umfassen, beschrieben, wobei " " ein logisches Produkt darstellt.
  • Wenn S0 als nächster, auf die oben beschriebenen vier Zustände folgender Zustand beschrieben ist, so kehrt die Verarbeitung nach Ausführung der Ereignisfünktion zum S0- Zustand zurück. Die Schleifenoperation wird so wiederholt.
  • Fig. 12 zeigt ein Zeitablaufdiagramm in dem Fall, in welchem der Ereigniseingang in der als Ie2 T Ie1 dargestellten Reihenfolge geliefert wird (wobei die Priorität als Ie2 < Ie1 dargestellt ist). Im Zustand vor der Eingabe des Ereigniseingangs wird eine in den als Ereignisfünktion zugewiesenen Funktionen F4 bis F7 enthaltene Funktion F4 ausgeführt. Eine Schleife ist als F0 T F1 T F2 T F3 T F4 ( in Fig. 12) ausgebildet.
  • Wird nun davon ausgegangen, daß sich der Ereigniseingang Ie2 zu einem dargestellten Zeitpunkt (a) auf "1" ändert, so wird die in Ausführung befindliche Funktion F4 unterbrochen, und anschließend beginnt die Ausführung von FS. Eine Schleife ist als F0 T F1 T F2 T F3 T F5 ( in Fig. 12) ausgebildet.
  • Wenn sich Ie1 zu einem dargestellten Zeitpunkt (b) vor Beendigung der Ausführung der Funktion FS auf "1" ändert, wird die Ausführung von F5 ebenfalls unterbrochen, und es beginnt die Ausführung von F6. Falls kein Eingang eine höhere Priorität hat als die Priorität vonIe1, so wird die Verarbeitung in der als F0 T F1 T F2 T F3 T F6 dargestellten Schleife so lange fortgesetzt, bis die Verarbeitung der Funktion F6 beendet ist, d.h. bis das die Funktion F6 bildende Programm selbst einen Ereignis-Signalspeicher 1 löscht in Fig. 12).
  • Wenn der Ereignis-Signalspeicher 1 durch das F6-Programm zu einem dargestellten Zeitpunkt (c) gelöscht wird, so wird die Verarbeitung von F5, welche unterbrochen wurde, erneut gestartet ( in Fig. 12), und ein Ereignis-Signalspeicher 2 wird durch das Programm von F5 gelöscht. So wird die Verarbeitung beendet (d).
  • Wenn der Ereignis-Signalspeicher 2 gelöscht wird, wird die Ausführung von F4 erneut gestartet.
  • Bei dem in Fig. 12 dargestellten Beispiel wurde der Fall beschrieben, bei dem Ereigniseingänge in der Reihenfolge einer niedrigen Priorität erzeugt werden. In einem Fall, in welchem ein Eingang mit einer niedrigeren Priorität später eingegeben wird, wird jedoch eine Verarbeitung einer Funktion mit niedriger Priorität nach Beendigung einer Verarbeitung einer Funktion mit hoher Priorität gestartet.
  • PIPELINE-STEUERUNG
  • Eine Reihe von wie unter Bezugnahme auf Fig. 8 vom ausgewählten Adressenregi ster ARi und Statusregister SRi ausgeführten Operationen, nämlich Ol Lesen einer Information vom Mikro-EPROM, Dekodieren, Lesen eines Ursprungsregisters und Verarbeiten und 04 Schreiben einer Information in das Zielregister, kann einer Pipeline-Steuerung unterzogen werden, indem zwischen jeweilige Funktionen ausführende Schaltungen Signalspeicher eingefügt werden. Nachfolgend wird eine schnelle Mehrfünktionssteuerung mittels einer Pipeline-Steuerung beschrieben.
  • Fig. 13 stellt ein zweites Konfigurationsbeispiel einer Steuerschaltung dar, die auf Fig. 8 basiert und eine Pipeline-Steuerung zuläßt. Nachfolgend wird der Unterschied zwischen der Konfiguration von Fig. 13 und der von Fig. 8 beschrieben.
  • (1) Die zwischen dem Mikro-EPROM 11 und der Verarbeitungseinheit 26 angeordnete Ver&beitungs-Steuerschaltung 22 ist in einen Decodierer 22a und eine Steuerschaltung 22b unterteilt. Die zwischen dem Mikro-EPROM 11 und der Registerschaltung 42 angeordnete Register-Steuerschaltung 23 ist in einen Decodierer 23a und eine Steuerschaltung 23b unterteilt. Außerdem sind an in Fig. 13 dargestellten Positionen Signalspeicher 103, 104, 105 und 106 angeordnet.
  • (2) Ein Signalspeicher 107 ist zwischen der Verarbeitungseinheit 26 und dem Schreib- Bus 31 angeordnet. Ferner ist ein Signalspeicher 108 zwischen der Verarbeitungseinheit 26 und der Statussignalleitung 79 angeordnet.
  • (3) Die Adressen-Steuerschaltung 21 umfaßt einen ersten Verzögerungspuffer 109, einen zweiten Verzögerungspuffer 110, einen dritten Verzögerungspuffer 111, eine Verzweigungssteuerschaltung 112, die durch die Statussignafleitung 79 und die Port-Datenleitung 69 gesteuert wird, und eine Nächste-Adresse-Auswahlschaltung 113. Die Ausgangsleitung 74 der Adressen-Steuerschaltung 21 wird der Adressenregisterschaltung 20 zugeführt.
  • Bei der oben beschriebenen Schaltungskonfiguration wird eine Reihe von Operationen wie folgt ausgeführt.
  • (A) : T0-Zyklus
  • Eine Auswahlinformation eines Adressenregisters ARi wird vom Steuer-PLA 14 auf die Adressenregister-Ausgangssteuerleitung 82 ausgegeben. Unter Verwendung des Inhalts des ARi als Adresse werden Daten im Mikro-EPROM 11 ausgelesen. Diese Daten werden in die Signalspeicher 103 und 105 und den ersten Verzögerungspuffer 109 aufgenommen.
  • (B) : T1-Zyklus
  • Die Inhalte der Signalspeicher 103 und 105 werden durch die Decodierschaltungen 22a und 23a dekodiert. Die so dekodierten Inhalte werden jeweils in die Signalspeicher 104 und 106 aufgenommen. Außerdem werden Daten vom ersten Verzögerungspuffer 109 zum zweiten Verzögerungspuffer 110 übertragen.
  • (C) T2-Zyklus
  • Auf der Grundlage der jeweiligen Inhalte der Signalspeicher 104 und 106 erzeugen Steuerschaltungen 22b und 23b Steuersignale und führen einen Lesevorgang zum Lesen des Ursprungsregisters und einen Ausgabevorgang zum Ausgeben einer Auswahlinformation vom Steuer-PLA 14 auf die Statusregister-Ausgangssteuerleitung 84 aus. Folglich wird in der Verarbeitungseinheit 26 unter Verwendung des Übertrags-Flag CF und des Null-Flag ZF eine Verarbeitung ausgeführt, und das Ergebnis wird in die Signalspeicher 107 und 108 aufgenommen. Ferner werden Daten vom zweiten Verzögerungspuffer 110 zum dritten Verzögerungspuffer 111 übertragen, und Daten des Signalspeichers 106 werden zu einem Signalspeicher 114 übertragen.
  • (D): T3-Zyklus
  • Über den Schreib-Bus 31 wird der Inhalt des Signalspeichers 107 in ein auf der Grundlage von Daten des Signalspeichers 114 ausgewähltes Ziekegister geschrieben. Außerdem wird auf der Statusregister-Eingangssteuerleitung 85 eine Statusregister-Auswahlinformation erzeugt. Als Verarbeitungsergebnis erzeugte Statusregisterdaten werden in das Statusregister SRi aufgenommen. Ferner wird auf der Grundlage einer Information des Nächste-Adresse-Steuerfeldes des Mikro-EPROM, die bereits in den dritten Verzögerungs puffer aufgenommen ist, die nächste Adresse ausgewählt. In Übereinstimmung mit einem vom Steuer-PLA 14 auf die Adressenregister-Eingangssteuerleitung 83 gelieferten Signal wird die nächste Adresse in das Adressenregister ARi aufgenommen. Eine Reihe von Operationen ist so beendet.
  • Eine oben beschriebene Pipeline-Steuerfolge wird durch Verwenden eines Verzögerungs-Signalspeichers in der Ausgangsschaltung 93, die, wie in Fig. 10 dargestellt, im Steuer-PLA 14 enthalten ist, und durch Konfigurieren der Ausgangsschaltung 93 wie in Fig. 14A dargestellt möglich. Mit anderen Worten sind zwischen die von der ODBR-Ebene 89 des PLA ausgehende Steuerausgangsleitung 96 und die Ausgänge 82, 83, 84 und 85 der Ausgangsschaltung 93 Signalspeicher-Schaltungen 116, 117 und 118 eingefügt, die zu Beginn durch das Rücksetz-Signal 94 gelöscht werden. Die jeweiligen Signalspeicher-Schaltungen halten hintereinander das Eingangssignal auf der Grundlage des Taktsignals und arbeiten wie in Fig. 14B dargestellt.
  • In Fig. 14B stellen A bis D eine Reihe von Funktionen dar, die in Zyklen T0 bis T3 verarbeitet werden. Im T0-Zyklus wird eine Auswahlinformation AROi des Adressenregisters ARi über eine Ausgangs-Zeitgeberschaltung 115 auf der Grundlage eines auf die Steuerausgangsleitung 96 des PLA ausgegebenen Steuerausgangssignals Fi ( ) auf die Adressenregister-Ausgangssteuerleitung 82 ausgegeben.
  • Hngegen wird ein Signal auf der Steuerausgangsleitung 96 einer Signalspeicher Schaltung 116 zugeführt. Ferner wird der Ausgang der Signalspeicher-Schaltung 116 der Signalspeicher-Schaltung 117 zugeführt. Daher wird der Ausgang der Signalspeicher- Schaltung 117 um zwei Zyklen verzögert. Im Zyklus T2 wird ein Auswahlsignal SROi des Statusregisters SRi auf die Statusregister-Ausgangssteuerleitung 84 ausgegeben ( ).
  • Ferner wird der Ausgang der Signalspeicher-Schaltung 117 in der Signalspeicher Schaltung 118 um einen Zyklus verzögert. Im T3-Zyklus werden ein Adressenregister-Eingangssteuersignal ARIi ( ) und ein Statusregister-Eingangssteuersignal SRIi ( ) ausgegeben. Eine Reihe von Operationen zum Ausführen eines Wortes eines eine bestimmte Funktion Fi bildenden Mikrobefehls ist so beendet.
  • Fig. 15 stellt ein durch Anwenden einer Pipeline-Steuerung auf das in den Figuren 9A und 11A dargestellte Steuerbeispiel erhaltenes Beispiel dar. In den Zuständen S&sub0; bis S&sub1;&sub5; werden die jeweiligen auszuführenden Funktionen Fi (F0 bis F7) jeweils ausgegeben ( ). In Übereinstimmung mit dem Signal Fi wird durch die Schaltung von Fig. 14A eine Steuerung bis durchgeführt. Durch die oben beschriebene Steuerung wird eine Steuerreihe A bis D, wie dargestellt, bezüglich jeder der Funktionen F0 bis F7 ausgeführt. Mit anderen Worten wird eine Verarbeitung A bis D irgendeiner Funktion in sämtlichen Zuständen S&sub0; bis S&sub1;&sub5; ausgeführt. Eine dargestellte Steuerung B', C' und D' wird nicht in der mit dem Rücksetzen beginnenden ersten Schleife, sondern in der zweiten Schleife und den folgenden Schleifen ausgeführt.
  • Bei dem oben unter Bezugnahme auf die Figuren 13, 14A, 14B und 15 beschriebenen Beispiel entspricht die Anaahl der Steuer-Statusregister SR 70 der Anzahl von Adressen-Signalspeichern, d.h. 8. Die ursprüngliche Aufgabe des Vorsehens von Statusregistern besteht darin, bei einer in einem bestimmten Befehlsschritt ausgeführten Verarbeitung erzeugte Informationen, wie eine Null und ein Übertrag, zu halten, so daß diese Informationen bei einem anderen Befehlsschritt, der später ausgeführt wird, verwendet werden können. Bei einem Prozessor wie dem beim vorliegenden Ausführungsbeispiel beschriebenen Unterprozessor, bei dem eine Ausführung eines Schrittes eines Mikrobefehls mit der Erzeugung einer Verzweigungsbedingung und der Erzeugung einer Verzweigungsadresse endet, wird daher das Halten des Status' für lange Zeit zum Zwecke einer Bedingungsverzweigung unnötig, vorausgesetzt, daß der Statusausgang für das Ausführungsintervall eines Schrittes gehalten wird. Mit anderen Worten werden so viele Statusregister wie Adressen-Signalspeicher unnötig. Es ist ferner möglich, lediglich einen Signalspeicher vorzusehen, der in der Lage ist, den Statusausgang lediglich während des Befehlszyklus w halten. In diesem Fall läßt sich eine komplizierte Verarbeitung, wie eine mittels eines eine Vielzahl von Schritten umfassenden Befehls realisierte Doppellängen-Verarbeitung, wie folgt realisieren, obwohl sich die Ausführungsleistung verschlechtert. Ist beispielsweise erwünscht, daß eine als Ergebnis einer Ausführung in einem ersten Befehlsschritt erzeugte Übertrags-Information als Inkrement-Information beim nächsten Befehlsschritt verwendet wird, so wird dies erreicht, indem ein derartiges Programm erzeugt wird, daß ein +1-Befehl am bestimmten Ziel eingeschrieben wird, wenn als Ergebnis einer im ersten Befehlssclrritt durchgeführten Verarbeitung ein Übertrag = 1 ist, wohingegen kein Befehl am bestimmten Ziel eingeschrieben wird, wenn ein Übertrag =0 ist.
  • Fig. 16 stellt die Konfiguration einer peripheren Schaltung des Steuer-PLA zum Durchführen einer Anfangswert-Einstellung des Adressenregisters AR und einer Rücksetz Steuerung des Unterprozessors 6 dar. Das Steuer-PLA 14 von Fig. 16 ist durch Hinzufügen einer Anfangsadressen-Steuerleitung 119 zum Steuer-PLA 14 von Fig. 10 mit der oben unter Bezugnahme auf Fig. 14A beschriebenen Ausgangsschaltung 93 erhalten.
  • Wie oben unter Bezugnahme auf Fig. 8 und Fig. 10 beschrieben, steuert die im Ausgang der Ausgangsschaltung 93 enthaltene Adressenregister-Ausgangssteuerleitung 83 den Adressenregister-Eingangsmultiplexer 75 zum Auswählen von Eingängen, die den Adressenregistern AR0 bis AR7 zugeführt werden.
  • In Fig. 16 ist die folgende Schaltung der oben beschriebenen Schaltung hinzugefügt. Das Signal auf der Anfangsadressen-Steuerleitung 119 wird nacheinander durch dreistufige Signalspeicher-Schaltungen 120, 121 und 122 verzögert. Der Ausgang der Signalspeicher- Schaltung 122 der letzten Stufe ist mit einem Eingang der ersten Logische-Summe-Schaltung (ODER-Schaltung) 123 verbunden. Der andere Eingang der ODER-Schaltung 123 ist mit dem Ausgang eines Komp&ators 124 verbunden, der durch ein in einem Befehlsregister 125 gespeichertes Funktion-Rücksetzfreigabe-Bit gesteuert wird. Eingänge des Komparators 124 sind die Adressenregister-Eingangssteuerleitung 83 und ein in einem Befehlsregister 125 gespeichertes Funktionsnummern-Bit (PN). Die Adressenregister-Ausgangssteuer leitung 83 ist außerdem mit Schaltung 126 zur Erzeugung einer Anfangsadresse verbunden. Der Ausgang der Schaltung 126 zur Erzeugung einer Anfangsadresse ist einer Selektor schaltung 127 zugeführt, die durch die ODER-Schaltung 123 gesteuert wird. Der andere Eingang der Selektorschaltung 127 ist mit dem Ausgang 74 der Adressen-Steuerschaltung 21 verbunden.
  • Nachfolgend werden unter Bezugnahme auf Fig. 16 und Fig. 17 eine Anfangswert- Einstellung des Adressenregisters AR bei der oben beschriebenen Schaltungskonfiguration, d.h. eine Einstellung einer Anfangsadresse AIi des das Programm einer Funktion Fi in sich speichernden Mikro-EPROM und eine Rücksetz-Steuerung beschrieben. Gegenüber Fig. 11A ist in Fig. 17 eine Information eines die Anfangswert-Einstellung bestimmenden Bits (I) zum Liefern einer Information an die Anfangsadressen-Steuerleitung 119 hinzugefügt. Die Beschreibung von in Fig. 17 ist, abgesehen von der Vorgabe 1 = 0, die gleiche wie die von Fig. 11A.
  • Sowohl in Fig. 11 als auch in Fig. 17 ist Fi in das Steuerfeld eingeschrieben. Tatsächlich jedoch werden numerische 3-Bit-Daten i geschrieben. Mit anderen Worten werden, wenn I=1 und Fi im Steueffeld eingeschrieben sind, 3-Bit-Daten "i" in drei niederwertige Bits des Adressenregisters ARi als Anfangsadresse eingeschrieben. Logische "0"-en werden in sämtliche höherwertige Bits gesetzt, wobei drei niederwertige Bits hiervon ausgeschlossen sind.
  • In Fig. 16 wird das Ausgangssignal (1) auf der Anfangsadressen-Steuerleitung 119 gleichzeitig mit dem Ausgangssigual auf der Steuerausgangsleitung 96 ausgegeben. Das Ausgangssignal (1) auf der Anfangsadressen-Steuerleitung 119 wird durch die Signalspeicher-Schaltungen 120, 121 und 122 um drei Zyklen verzögert. Das Ausgangssignal auf der Steuerausgangsleitung wird durch die Signalspeicher-Schaltungen 116, 117 und 118 um drei Zyklen verzögert. Eine Information des eine Anfangswert-Einstellung bestimmenden Bits (I) arbeitet über die ODER-Schaltung 123 als Auswahlsignal der Selektorschaltung 127. Ferner wird der numerische Wert "i" auf die Adressenregister-Eingangssteuerleitung 83 ausgegeben. Der numerische Wert "i" arbeitet als Steuersignal des Adressenregister-Eingangsmultiplexers 75 und wird zu den Eingangsdaten der Schaltung 126 zur Erzeugung einer Anfangsadresse. Die Schaltung 126 zur Erzeugung einer Anfangsadresse arbeitet derart, daß sie "i" in 3 niederwertige Bits und "0" in andere, höherwertige Bits setzt, um eine Anfangsadresse zu erzeugen.
  • Wenn das eine Anfangswert-Einstellung bestimmende Bit (I) = 0, so wird in der Selektorschaltung 127 die Ausgangsleitung 74 der Adressen-Steuerschaltung ausgewählt. So werden aus dem Mikro-EPROM ausgelesene Daten über den Adressenregister-Eingangsmultiplexer 75 dem Adressenregister ARi eingegeben.
  • Ist I = 1, so wird in der Selektorschaltung 127 der Ausgang der Schaltung 126 zur Erzeugung einer Anfangsadresse, d.h. der Anfangsadresse, ausgewählt und über den Adressenregister-Eingangsmultiplexer 75 dem Adressenregister ARi eingegeben. In Fig. 17 wird eine Operation durch den Rücksetz-Start ausgehend von einem Zustand S0' gestartet. In Zuständen S0' bis S7' wird die Anfangsadresse (niederwertige Daten: 0 bis 7; höherwertige Däten: 0) nacheinander Adressenregistern F0 bis F7 zugeführt ( in Fig. 17). Anschließend wird die oben unter Bezugnahme auf Fig. 11 A in Fig. 17) beschriebene Operation gestartet und dann die Schleifenoperation ausgeführt.
  • Das Befehlsregister (RCMND) 125 ist ein Register zum Durchführen der Rücksetz- Steuerung des Unterprozessors 6 und weist, wie unten dargestellt, eine 7-Bit-Konfiguration auf.
  • Die Bedeutung der jeweiligen Abschnitte ist wie folgt:
  • RA: Vollständig rückgesetzter Unterprozessorkanal A
  • RB: Vollständig rückgesetzter Unterprozessorkanal B
  • FREA: Rücksetzen der in FN unter Funktionen des Unterprozessorkanals A beschriebenen Funktion
  • FREB: Rücksetzen der in FN unter Funktionen des Unterprozessorkanals B beschriebenen Funktion
  • FN: Beschreiben der Funktionsnummer (Fi), wenn FREA = 1 oder FREB = 1
  • Das Befehlsregister 125 ist im Speicherraum der in Fig. 2 dargestellten CPU 2 angeordnet. Die CPU 2 kann auf das Befehlsregister 125 zugreifen. In Fig. 16 ist ein die Steuerung eines Kanals betreffendes Befehlsregister 125 dargestellt. Das Bit R von Fig. 16 entspricht jedoch dem oben beschriebenen RA bzw. RB, und FRE von Fig. 16 entspricht dem oben beschriebenen FREA bzw. FREB.
  • Wenn das Bit R des Befehlsregisters 125 auf "1" gesetzt ist, so wird diese Information über eine zweite Logische-Summe-Schaltung (ODER-Schaltung) 128 und eine Rücksetzsignal-Leitung 94' als Rücksetzsignal dem Eingangs-Signalspeicher 92 zugeführt. So wird das gesamte Steuer-PLA 14 derart gesteuert, daß es den Rücksetz-Zustand annimmt. Mit anderen Worten wird das gesamte Steuer-PLA 14 genauso gesteuert wie in dem Fall, in welchem an die Rücksetzsignal-Leitung 94 eine "1" geliefert wird. Wird das Bit R anschließend auf "0" gesetzt, so wird die Rücksetzung aufgehoben und die Steuerung ausgehend von dem in Fig. 17 dargestellten Anfangszustand S0' erneut gestartet.
  • Wenn die Funktionsnummer Fi in die FN-Bits (3 Bits) des Befehlsregisters 125 gesetzt ist und FRE-Bit = 1 gilt, so wird der Komparator 124 aktiviert. Zu dem Zeitpunkt, zu welchem der Wert des FN-Bits gleich dem Wert der Adressenregister-Eingangssteuerleitung 83 wird, wird vom Komparator 124 eine "1" ausgegeben, um die Selektorschaltung 127 über die ODER-Schaltung 123 zu steuern. Ausgehend von der Selektorschaltung 127 wird ein durch Modifizieren des Ausgangs der Schaltung 126 zur Erzeugung einer Anfangsadresse erhaltener Wert, d.h. der Wert der oben beschriebenen Adressenregister-Eingangs steuerleitung 83, über den Adressenregister-Eingangsmultiplexer 75 in das Adressenregister ARi eingegeben. Folglich wird lediglich eine in den FN-Bits des Befehlsregisters 125 bestimmte Funktion Fi rückgesetzt Infolge der Beziehung FRE-Bit = 0 wird das Mikroprogramm der Funktion Fi von der Anfangsadresse aus erneut gestartet. Gleichzeitig werden andere Funktionen als die Funktion Fi nicht beeinträchtigt, und das Programm wird fortgesetzt.
  • PROGRAMMIERBARES I/O
  • Nachfolgend wird der in Fig. 2 dargestellte programmierbare Ein/Ausgangs-Port (programmierbare I/O) 8 beschrieben. Fig. 18 stellt eine Konfiguration 130 des einem Bit entsprechenden programmierbaren I/O 8 dar. Wie oben im Punkt eines Port-Spezifikationsfeld des Mikro-EPROM beschrieben, umfaßt das programmierbare I/O, wie in Fig. 18 dargestellt, eine Vielzahl von I/O-Bits und ist durch die Information des Port-Spezifikationsfeldes bestimmt.
  • Das programmierbare I/O-Bit 130 umfaßt eine Ausgangsschaltung 132 und eine Eingangsschaltung 131. Die Ausgangsschaltung 132 ist über eine Anschlußleitung 133 mit dem Terminal 67 verbunden und weist eine Ausgangsleitung (DBO) 136 zum Datenbus und eine Ausgangsleitung (SPO) 137 zum Unterprozessor auf Die Eingangsschaltung 131 ist jiber die Anschlußleitung 133 mit dem Terminal 67 verbunden und weist eine Eingangsleitung (DBI) 134 zum Datenbus und eine Eingangsleitung (SPI) 135 zum Unterprozessor auf.
  • Die Ausgangsschaltung 132 umfaßt einen Selektor 139 zum Auswählen der DBO 136 und SPO 137, eine Signalspeicher-Ausgangsschaltung 140, die durch den Ausgang des Selektors 139 gesteuert wird, eine Nächstes-Niveau-Ausgangsschaltung 141, der als Eingang die SPO 137 zugeführt wird, eine Inversions-Ausgangsschaltung 142, einen Ausgangsselektor 146, dem jeweils von der oben beschriebenen Signalspeicher-Ausgangsschaltung 140, Nächstes-Niveau-Ausgangsschaltung 141 und Inversions-Ausgangsschaltung 142 kommende Ausgangsleitungen 143, 144 und 145 zugeführt sind, so daß der Selektor 146 eine von diesen Ausgangsleitungen 143, 144 und 145 auswählt, ein Datenrichtungsregister (DDR) 147 und einen Ausgangspuffer 148, der derart durch das Datenrichtungsregister (DDR) 147 gesteuert wird, daß dieser Daten auf eine Anschlußleitung 133 ausgibt.
  • Ferner ist der Selektor 139 mit einem nicht-flüchtigen Schaltkreis (EPSW1) 149 verbunden, der mit EPROM-Vorrichtungen arbeitet. Ferner sind der Ausgangsselektor 146, das DDR 147, die Signalspeicher-Ausgangsschaltung 140, die Nächstes-Niveau-Ausgangsschaltung 141 und die Inversions-Ausgangsschaltung 142 mit einem nicht-flüchtigen Schaltkreis (EPSW2) 150 verbunden.
  • Die Eingangsschaltung 131 umfaßt einen Eingangspuffer 138, der an die Anschlußleitung 133 angeschlossen ist, einen ersten Eingangsselektor 152 mit einer Ausgangsleitung 151 des Eingangspuffers 138 und den oben beschriebenen Ausgangsleitungen 143, 144 und 145 als dessen Eingänge, einen zweiten Eingangsselektor 153 mit der Ausgangsleitung 151 des Eingangspuffers 138 und den oben beschriebenen Ausgangsleitungen 143, 144 und 145 als dessen Eingange, eine Schaltung 155 zur Erfassung beider Flanken, der an ihrem Eingang ein Ausgang 154 des ersten Eingangsselektors 152 zugeführt ist, eine Schaltung 156 zur Erfassung einer positiven Flanke, der an ihrem Eingang der Ausgang 154 des ersten Eingangsselektors 152 zugeführt ist, eine Schaltung 157 zur Erfassung einer negativen Flanke, der an ihrem Eingang der Ausgang 154 des ersten Eingangsselektors 152 zugeführt ist, und einen Unterprozessor-Eingangsselektor 158, dem die Ausgänge 154 des ersten Eingangsselektors und die Ausgänge der Erfassungsschaltung 155, der Schaltung 156 zur Erfassung einer positiven Flanke, und der Schaltung 157 zur Erfassung einer negativen Flanke zugeführt sind.
  • Selektoren 153, 152 und 158 sind mit nicht-flüchtigen Schaltkreisen (EPSW3 und EPSW4) 159 und 160 verbunden. Nachfolgend werden Funktionen von Hauptschaltungen beschrieben.
  • Signalspeicher-Ausgangsschaltung 140:
  • Sie hält Schreibdaten, die entweder von der Ausgangsleitung 136 des in dem in Fig. 2 dargestellten gemeinsamen Bus 9 enthaltenen Datenbusses oder von der vom Unterprozessor 6 gelieferten Ausgangsdatenleitung 137 geliefert werden.
  • Nächstes-Niveau-Ausgangsschaltung 141:
  • Sie umfaßt eine erste und eine zweite Signalspeicher-Schaltung. Uber den Datenbus geschriebene Daten eines ersten Signalspeichers werden zu einem zweiten Signalspeicher übertragen, der durch ein Ausgangssigual vom Unterprozessor mit der Ausgangsleitung 144 verbunden ist.
  • Inversions-Ausgangsschaltung 142:
  • Sie führt am Ausgangssignal des Unterprozessors eine Inversion durch. Schaltung zur Erfassung beider Flanken:
  • Sie erfaßt eine ansteigende bzw. abfallende Flanke eines vom Terminal 67 eingegebenen Signals und setzt ein Flip-Flop. Erfolgt ein Auslesen vom Unterprozessor, so wird der Inhalt des Flip-Flop ausgegeben, und das Flip-Flop wird gelöscht.
  • Schaltung 156 zur Erfassung einer positiven Flanke:
  • Sie erfaßt eine ansteigende Flanke eines vom Terminal 67 eingegebenen Signals, wodurch ein Flip-Flop gesetzt wird. Erfolgt ein Auslesen vom Unterprozessor, so wird der Inhalt des Flip-Flop ausgegeben, und das Flip-Flop wird gelöscht.
  • Schaltung 157 zur Erfassung einer negativen Flanke:
  • Sie erfaßt eine abfallende Flanke eines vom Terminal 67 eingegebenen Signals, wodurch ein Flip-Flop gesetzt wird. Erfolgt ein Auslesen vom Unterprozessor, so wird der Inhalt des Flip-Flop ausgegeben und das Flip-Flop gelöscht.
  • EPSW1:
  • Er definiert, ob der Eingang der Signalspeicher-Ausgangsschaltung 140 mit dem Datenbus oder mit dem Unterprozessor-Ausgang verbunden werden soll.
  • EPSW2:
  • Er ist eine Schaltung zum Definieren der Ausgangsfünktion und kann die folgenden Funktionen definieren.
  • Sie liefert über eine Anfangsdatenleitung 161 Anfangsdaten an die Signalspeicher-Ausgangsschaltung 140, Nächstes-Niveau-Ausgangsschaltung 141 und Inversions-Ausgangsschaltung 142.
  • Sie definiert, welcher Ausgang mittels einer Auswahlleitung 162 aus den Ausgängen der Signalspeicher-Ausgangsschaltung 140, der Nächstes-Niveau-Ausgangsschaltung 141 und der Inversions-Ausgangsschaltung 142 ausgewählt werden soll.
  • Sie liefert über eine Anfangsrichtungs-Steuerleitung 163 Anfangsdaten an das Datenrichtungsregister (DDR), um die Anfangsdatenrichtung des Terminals 67 (Eingabe oder Ausgabe) zu definieren. Das oben beschriebene DDR ist außerdem am Datenbus angeschlossen, und es ist ferner möglich, Daten vom Hauptprozessor rückzusetzen, wann immer dies erforderlich ist.
  • EPSW3:
  • Er definiert, ob der Eingang des Datenbusses mit dem Eingang vom Terminal 67, irgendeinem Ausgang der Ausgänge der Signalspeicher-Ausgangsschaltung 140, der Nächstes-Niveau-Ausgangsschaltung 141 und der Inversions-Ausgangsschaltüng 142 verbunden oder gesperrt werden soll.
  • EPSW4:
  • Er ist eine Schaltung zum Definieren der Eingangsfünktion des Unterprozessors und kann die folgenden Funktionen definieren.
  • Unter Verwendung einer Eingangsdaten-Auswahlleitung 176 definiert der EPSW4, ob die Eingangsdatenquelle des Unterprozessors mit dem Eingang vom Terminal 67, dem Ausgang der Sigualspeicher-Ausgangsschaltung, dem Ausgang der Nächstes-Niveau-Ausgangsschaltung 141 oder dem Ausgang der Inversions-Ausgangsschaltung 142 verbunden werden soll.
  • Unter Verwendung einer Eingangsfünktions-Auswahlleitung 164 definiert der EPSW4, ob es sich bei der Eingangsfünktion zum Unterprozessor um eine Erfassung beider Flanken, eine Erfassung einer positiven Flanke, eine Erfassung einer negativen Flanke oder um eine Niveau-Eingabe handeln soll.
  • Durch anfängliches Programmieren der oben beschriebenen nicht-flüchtigen Schaltkreise (EPSW 1 bis 4) lassen sich verschiedene gewünschte Funktionen realisieren.
  • Fig. 19A und Fig. 19B stellen Beispiele einer Konfiguration eines nicht-flüchtigen Schaltkreises dar. Ein erstes, in Fig. 19 dargestelltes Beispiel umfaßt PMOS-Transistoren 165 und 166, NMOS-Transistoren 167 und 168, einen NMOS-Transistor 171 zum Liefern von Testdaten und eine EPROM-Schaltung 184 mit einem eine hohe Haltespannung aufweisenden NMOS-Transistor 169, einer EPROM-Vorrichtung 170 und einer EPROM-Schreibschaltung 172. Source-Anschlüsse des PMOS 165 und PMOS 166 sind mit einer Leistungsversorgungsleitung 174 verbunden. Ein Bezugszeichen 175 bezeichnet eine Masse-Leitung. Sowohl bei einem den PMOS 165 und den NMOS 167 umfassenden Transistorpaar als auch bei einem anderen, den PMOS 166 und den NMOS 168 umfassenden Transistorpaar sind die Drain-Anschlüsse beider Transistoren miteinander verbunden und Gate-Anschlüsse an die gleiche Gate-Leitung angeschlossen, was zu einer Komplementärstruktur führt. Ferner ist der Ausgangsanschluß eines Transistorpaares mit dem Eingangsanschluß des anderen Transistorpaares und der Ausgangsansrhluß des anderen Transistorpaares mit dem Eingangsanschluß des einen Transistorpaares verbunden, was zu einer Kreuzkopplung führt.
  • Eine Drain-Leitüng des den PMOS 165 und den NMOS 167 umfassenden Transistorpaares, d.h. eine aus der Gate-Leitung des den PMOS 166 und den NMOS 168 umfassenden Transistorpaares herausgeführte Leitung, wird zu einer Ausgangsleitung 173. Ferner ist ein Anschluß des NMOS-Transistors 171 mit der Drain-Leitung des den PMOS 166 und den NMOS 168 umfassenden Transistorpaares, d.h. mit der Gate-Leitung des den PMOS 165 und den NMOS 167 umfassenden Transistorpaares, verbunden. Uber den NMOS- Transistor 171 werden der kreuzgekoppelten Schaltung Testdaten zugeführt. Eingänge einer EPROM-Schreibschaltung 172 sind an eine Hochspannungs-Leistungsversorgungsleitung 180 zum Liefern einer Schreibspannung (12 V) und an eine Schreibdatenleitung 181 angeschlossen. Ausgangsleitungen der Schreibschaltung 172, d.h. Schreibsteuerleitungen 177, 178 und 179, sind mit Gate-Anschlüssen und Drain-Anschlüssen des NMOS 169 mit hoher Haltespannung und der EPROM-Vorrichtung 170 verbunden, um das Schreiben einer Information in die EPROM-Vorrichtung 170 zu steuern. Ein Eingangs-Ausgangs-Verhältnis zum Zeitpunkt des Schreibens, d.h. zu dem Zeitpunkt, zu welchem an der Hochspannungs Leistungsversorgungsleitung 180 12 V anliegen, ist in Tabelle 6 dargestellt. TABELLE 6
  • Die beim vorliegenden Ausführungsbeispiel verwendete EPROM-Vorrichtung ist eine Vorrichtung des Typs der Ultraviolettstrahlungs-Löschung. Als Folge einer Ultraviolett- Strahlung erreicht der Schwellenwert der EPROM-Vorrichtung etwa 1 V. Wenn das Schreiben durch Anlegen einer Spannung von 5 V an die Datenleitung 181 unter dem Zustand, daß Daten gelöscht werden, ausgeführt wird, so steigt der Schwellenwert der EPROM-Vorrichtung auf etwa 7 V an. Wenn an die Steuerleitungen 177 und 179 5 V geliefert werden und die Steuerleitung 178 mit Ausnahme des Schreibzeitpunkts im Schwebezustand gehalten wird, wird daher die EPROM-Vorrichtung 170 im Löschzustand leitend, wohingegen sie im Schreibzustand nicht-leitend wird.
  • Wenn die Spannung der Leistungsversorgungsleitung 174 von der Spannung (0 V), die der Spannung der Masse-Leitung entspricht, auf 5 V im Schreibzustand, d.h. im nichtleitenden Zustand, geändert wird, so werden aufgrund der oben beschriebenen Konfiguration auf der Ausgangsleitung 173 in jedem Fall 5 V ausgegeben. Ist der Schaltungsaufbau derart durchgeführt, daß auf der Ausgangsleitung 173 in jedem Fall 0 V ausgegeben werden, wenn sich die Spannung der Leistungsversorgungsleitung 174 ausgehend von der Spannung (0 V), die der Spannung der Masse-Leitung entspricht, auf 5 V im leitenden Zustand ändert, so wird es daher möglich, die Spannung auf der Ausgangsleitung 173 bei einer vom Löschzustand bzw. Schreibzustand der oben beschriebenen EPROM-Vorrichtung 170 abhängigen Leistungsversorgungskopplung zu fixieren. Daher ist der PMOS 165 so festgelegt, daß er eine geringere Stromleitfähigkeit als der PMOS 166 aufweist, und der NMOS 168 ist so festgelegt, daß er eine geringere Stromleitfähigkeit als der NMOS 167 aufweist.
  • Der NMOS 171 ist ein Transistor zum Liefern willkürlicher Daten an die oben beschriebene kreuzgekoppelte Schaltung in dem Zustand, in welchem die EPROM-Vorrichtung 170 gelöscht ist. Werden Daten an einen Anschluß 183 geliefert und an einen Gate- Anschluß 183 5 V angelegt, so können in die kreuzgekoppelte Schaltung Daten eingegeben werden. Selbst wenn die Spannung des Gate-Anschlusses 183 nach dem Zuführen von Daten im oben beschriebenen Zustand auf 0 V zurückgeführt wird, wird der Wert gehalten. In diesem Fall entsprechen die Daten auf der Ausgangsleitung 173 den durch Invertieren von über den NMOS 171 gelieferten Daten erhaltenen Daten.
  • Fig. 19B stellt ein zweites Konfigurationsbeispiel eines nicht-flüchtigen Schaltkreises dar. Bei diesem Beispiel ist zwischen den NMOS 167 und die Masse-Leitung 175 des ersten Beispiels eine EPROM-Schaltung 184' mit der gleichen Konfiguration wie die Konfiguration der beim ersten Beispiel beschriebenen EPROM-Schaltung 184 zwischengeschaltet. Im Falle dieses Beispiels ist es möglich, den Ausgang 173 ohne Versetzen der MOS-Transistoren in unsymmetrische Zustände stabil zu fixieien, indem lediglich eine der EPROM-Vorrichtungen 170 und 170' in den Schreibzustand gebracht wird Sind der kreuzgekoppelten Schaltung beliebige Daten zuzuführen, so können Daten gesetzt werden, indem beide EPROM-Vorrichtungen 170 und 170' in den gelöschten Zustand gebracht werden und der NMOS 171' in der gleichen Weise wie beim ersten Beispiel gesteuert wird.
  • Fig. 20 stellt eine detaillierte Konfiguration der PLD 7 und des zweiten programmierbaren I/O-Ports (PI/O2) 199 in dem in Fig. 2 dargestellten Ein-Chip-Mikrocomputer dar. Die PLD 7 umfaßt einen Eingangsselektor 200, eine Logisches-Produkt-Schaltung (UND-Schaltung) 201, eine Logische-Summe-Schaltung (ODER-Schaltung) 202, eine Ausgangsschaltung 203, einen Ausgangsmultiplexer 205 und eine Rückführungsleitung 204 von der Ausgangsschaltung 203 zur Logisches-Produkt-Schaltung 201. Unter den oben beschriebenen Komponenten werden der Eingangsselektor 200, die Ausgangsschaltung 203 und der Ausgangsmultiplexer 205 durch nicht-flüchtige Schaltkreise EPSW13, EPSW14 und EPSW15 gesteuert, die, wie unter Bezugnahme auf Fig. 19A und Fig. 19B beschriebenen, mit EPROM-Vorrichtungen arbeiten.
  • Der programmierbare I/O-Port 199 umfaßt fünf Ports PDBO, P1 188, P2 189, P3 190 und PDBI 192, von denen jedes eine 3-Bit-Konfiguration aufweist und an den im gemeinsamen Bus enthaltenen 3-Bit-Datenbus DB angeschlossen ist. Ferner wird jeder Port durch ein Auswahisignal SEL, ein Lesesignal RD und ein Schreibsignal WR gesteuert. Unter den oben beschriebenen Ports sind drei Ports P0, P1 und P3 jeweils durch nicht-flüchtige Schaltkreise EPSW10, EPSW11 und EPSW 12 gekennzeichnet. Durch diese Kennzeichnung werden die Ports P0, P1 und P3 als bilaterale Mehrzweck-I/O-Ports zum Durchführen einer Datenübertragung zwischen Anschlußleitungen 185, 186 und 187 für Terminals und dem Datenbus DB verwendet. Zudem lassen sich die Ports P0, P1 und P3 auch für eine Datenübertragung zwischen den Anschlußleitungen 185, 186 und 187 und der oben beschriebenen PLD 7 verwenden.
  • Der Port P1 kann über eine Ausgangsleitung 194 eine Dateneingabe in die PLD 7 durchführen. Der Port P2 kann über eine Ausgangsleitung 195 eine Dateneingabe in die PLD 7 und über eine Eingangsleitung 196 eine Datenausgabe aus der PLD 7 durchführen. Der Port 3 kann über eine Eingangsleitung 197 eine Datenausgabe zur PLD 7 durchführen. Bei den Ports PDBO und PDBI handelt es sich um Ports für eine ausschließliche Verwendung, die nur für eine Kommunikation mit der oben beschriebenen PLD 7 verwendet werden. Diese Ports PDBO und PDBI weisen keine Anschlußleitungen für Terminals auf Der Port PBDO wird als Eingangspuffer zum Eingeben von Daten auf dem Datenbus DB in die PLD 7 über eine Ausgangsleitung 193, der Port PDBI als Ausgangspuffer zum Ausgeben des Ausgangssignals der PLD 7 auf den Datenbus DB über eine Eingangsleitung 198 ver wendet. Nachfolgend wird die Funktion der jeweiligen nicht-flüchtigen Schaltkreise (EPSW 10 bis 15) beschrieben.
  • EPSW10:
  • Er definiert, ob der Port Pl als an den Datenbus angeschlossenes Mehrzweck-Port oder PLD-Eingang verwendet werden soll.
  • EPSW11:
  • Er definiert, ob der Port P2 als an den Datenbus angeschlossener Mehrzweck-Port oder als PLD-Eingang bzw. PLD-Ausgang verwendet werden soll.
  • EPSW12:
  • Er definiert, ob der Port P3 als an den Datenbus angeschlossener Mehrzweck-Port oder als PLD-Ausgang verwendet werden soll.
  • EPSW13:
  • Er steuert den Eingangsselektor 200 und definiert, welche Leitung an den Eingang der im PLD 7 enthaltenen Logisches-Produkt-Schaltung (UND-Schaltung) 201 angeschlossen werden soll. Eingänge umfassen Eingänge von den Ports PDBO, P1 und P2, den Adres senbus AB und einen das Lesesignal RD, das Schreibsignal WR und ein Taktsignal enthaltenden Steuerbus CB.
  • EPSW14:
  • Er steuert die Ausgangsschaltung 203 und definiert die Ausgangspolarität und ähnliches.
  • EPSW15:
  • Er definiert, ob das PLD-Ausgangssignal zum Port 3 oder zum Ausgangspuffer PDBI für den Datenbus ausgegeben werden soll.
  • BESCHREIBEN UND TESTEN DES EPROM
  • Wie oben beschrieben umfaßt der Ein-Chip-Mikrocomputer des vorliegenden Ausführungsbeispiels verschiedene Schaltungen, die jeweils mit einer EPROM-Vorrichtung arbeiten, die eine elektrisch beschreibbare, nicht-flüchtige Halbleiter-Speichervorrichtung ist. Es ist erforderlich, diesen EPROM mit Daten zu beschreiben und ihn zu testen.
  • Fig. 21 stellt eine Konfiguration zum Schreiben von Daten in den EPROM und Testen dieses EPROM dar. Im Schreibmodus sind eine EPROM-Vorrichtung enthaltende Schaltungen, d.h. Schaltungsmodule
  • eines EPROM 4 für ein Programm,
  • eines Mikro-EPROM 11 a eines Unterprozessorkanais A 10a,
  • eines Steuer-PLA 14a,
  • eines Mikro-EPROM 11b eines Unterprozessorkanals B 20b,
  • eines Steuer-PLA 14b,
  • einer PLD 7,
  • eines ersten programmierbaren I/O 8, und
  • eines zweiten programmierbaren I/O 199
  • mit dem gemeinsamen Bus 9 verbunden.
  • Ferner sind Schaltungsmodule, wie die CPU 2 und der RAM 3, die keine EPROM- Vorrichtung umfassen, elektrisch vom gemeinsamen Bus 9 getrennt.
  • In einem solchen Zustand werden erforderliche Informationen über einen Test-Port und den gemeinsamen Bus 9 von außerhalb des Halbleitersubstrats 1 an die jeweiligen, jeweils eine EPROM-Vorrichtung umfassenden Schaltungsmodule geliefert, um einen Schreib- und Test-Vorgang auszuführen. Signalleitungen, die dazu verwendet werden, mit der Umgebung des Halbleitersubstrats 1 zu diesem Zeitpunkt zu kommunizieren, umfassen eine Testdatenleitung 207, eine Testadressenleitung 208 und eine Teststeuerleitung 209.
  • Bei einem Schreibvorgang werden in den EPROM einzuschreibende Daten einer Testdatenleitung 207 zugeführt, wogegen bei einem Lesevorgang aus dem EPROM ausgelesene Daten auf die Testdatenleitung 207 ausgegeben werden. Der Testadressenleitung 208 werden Auswahlinformationen des EPROM zugeführt. Auf die Teststeuerleitung 209 werden ein Test-Freigabesignal sowie ein Schreib- und ein Lesesignal zum Steuern einer hohen Schreibspannung, eines Schreib- und eines Lesevorgangs geliefert. Dieser Mikrocomputer wechselt also in Reaktion auf ein der Teststeuerleitung 209 zugeführtes Signal vom normalen Befehlsausführvorgang (Normalmodus) in den Schreibmodus über.
  • In den oben beschriebenen Schaltungsmodulen bis enthaltene EPROM-Vorrichtungen sind einem gleichen Adressenraum zugewiesen, d.h. diese EPROM-Vorrichtungen sind derart zugewiesen, daß sie durch die Testadressenleitung 208 im Schreibmodus durchgehend spezifiziert werden können. So ist es möglich, mittels eines durch einen im Handel erhältlichen Standard-EPROM-Beschreiber erzeugten Signals Informationen zu schreiben.
  • Nachfolgend wird ein Verfahren zum Testen des Unterprozessors beschrieben. Fig. 22A stellt eine Konfiguration eines Kanals des Unterprozessors dar. Der Unterprozessor Test wird in drei unten beschriebenen Stufen durchgeführt, und seine Steuerung erfolgt in Reaktion auf an der Teststeuerleitung 209 anliegende Signale.
  • (1) EPROM-Vorrichtungstest:
  • Ein Vorrichtungstest von EPROM-Vorrichtungen, wie ein Test von Daten-Halteeigenschaften, wird unter Verwendung des oben beschriebenen Schreibmodus in den EPROM durchgeführt. Mit anderen Worten wird ein Lese/Schreib-Test bezüglich im PLA 4 enthaltener PROM-Vorrichtungen und bezüglich des Mikro-EPROM 11 über den Test-Port 206 und den gemeinsamen Bus 9, die in Fig. 22A dargestellt sind, durchgeführt.
  • (2) Halbdynamischer Test:
  • Wie in Fig. 22A dargestellt, sind Signalspeicher-Schaltungen 210 und 211 zum Testen jeweils zwischen dem Steuer-PLA 14 und der Steuerschaltung 12 und zwischen dem Mikro-EPROM 11 und der Steuerschaltung 12 angeordnet. Der Halbdynamische Test wird unter Verwendung von in den Signalspeicher-Schaltungen 210 und 211 gehaltenen Informationen durchgeführt. Sein Ablauf ist in Fig. 228 dargestellt. Im Normalmodus wird eine Reihe von Vorgängen ausgeführt, die einen EPROM-Lesezyklus, einen Decodierzyklus, einen Register- und Statusregister-SR-Lesezyklus und Register- und Statusregister- SR-Verarbeitungsausführzyklus sowie einen Register- und Statusregister-SR-Schreibzyklus umfaßt. Im Modus des halbdynamischen Tests ist jedoch der Zyklus unter den oben beschriebenen Zyklen durch einen Test-Zyklus 1 (TC1) ersetzt.
  • In TC1 werden über den Test-Port 206 und den gemeinsamen Bus 9 Steuerdaten in die testenden Signalspeicher-Schaltungen 210 und 211 gesetzt. Mit anderen Worten wird der gleiche Zustand hergestellt wie deijenige, der erhalten wird, wenn das Steuersignal vom Steuer-PLA 14 und Daten vom Mikro-EPROM empfangen werden. Ferner werden in ein in der Verarbeitungsschaltung 13 enthaltenes Mehrzweck-Register Anfangsdaten gesetzt. Die oben beschriebene TC1-Verarbeitung läßt sich statisch durchführen.
  • Nachdem die jeweiligen Daten gesetzt sind, werden nacheinander die oben beschriebenen Zyklen bis ausgeführt. Nach Beendigung des Zyklus' wird der Ablauf vorübergehend gestoppt und ein Test-Zyklus 2 (TC2) gestartet. Im TC2 können die Inhalte der Register statisch ausgelesen werden. Durch Vergleichen der Inhalte von Registern mit erwarteten Werten läßt sich daher das Testergebnis feststellen.
  • In Fig. 22A ist eine Information des Mikro-EPROM 11 derart dargestellt, daß sie immer über die Signalspeicher-Schaltung 211 zum Testen in die Steuerschaltung eingegeben wird. Im Normalmodus arbeitet diese Signalspeicher-Schaltung 211 jedoch lediglich zum Halten einer Information des Mikro-EPROM. (3) Dynamischer Test: Das Steuer-PLA 14 umfaßt ein PLA zum Testen, das lediglich in diesem Testmodus verwendet werden kann. In der gleichen Weise umfaßt der Mikro-EPROM 11 einen Testprogrammbereich in einem Teil seiner Adresse. In diesen Testprogrammbereich wird in dem oben beschriebenen Testmodus von (1) ein Testprogramm geschrieben. Der Ablauf dieses dynamischen Testmodus' ist mit dem des Normalmodus', abgesehen davon, daß ein PLA zum Testen und ein Mikro-EPROM-Bereich zum Testen ausgewählt werden, identisch. Mit anderen Worten wird dann, wenn dieser dynamische Testmodus bestimmt ist, die Adresse eines Mikro-EPROM-Bereichs zum Testen als Anfangsadresse bestimmt.
  • Wie oben beschrieben, ermöglicht die vorliegende Erlindung, die Flexibilität nicht nur einer Software, sondern auch einer Hardware zu erhöhen und einen für einen breiten Anwendungsbereich geeigneten Ein-Chip-Mikrocomputer zu realisieren. Ferner wird infolge einer optimalen Pipeline-Steuerung eine schnelle Verarbeitung einer Vielzahl von Funktionen möglich. So sind eine Leistung und eine Funktion erreicht, die einem Vergleich mit einer Hardware für Sonderzwecke standhalten.
  • Beim vorliegenden Ausführungsbeispiel wurde ein Beispiel beschrieben, das mit einem EPROM des Typs der Ultraviolettstrahlungs-Löschung als nicht-flüchtigen Halbleiterspeicher arbeitet. Selbstverständlich läßt sich eine ähnliche Wirkung auch dann erzielen, wenn ein EEPROM des Typs der elektrischen Löschung oder ein ausschließlich zum Ausle sen verwendeter ROM verwendet wird.
  • Ferner ist es ebenfalls möglich, den Unterprozessor 6, die PLD 7 und programmierbare I/Os 8 und 199, die oben beschrieben sind, außerhalb des Halbleitersubstrats über den gemeinsamen Bus zusammenzuschalten.
  • Infolge der vorliegenden Erfindung kann die Eigenschaft der Universalität eines Ein- Chip-Mikrorechners verbessert werden. Bei einem breiten Anwendungsbereich läßt sich die Anzahl von in der oben beschriebenen Schaltung um den Ein-Chip-Mikrocomputer enthaltenen Komponenten verringern. Ferner kann aufgrund der Tatsache, daß der Benutzer in der Lage ist, von eigener Hand logische Informationen einzuschreiben, auf Anderungen bezüglich einer Spezifikation und Logik, falls diese vorkommen, schnell reagiert werden. Zusammen mit einer Verkürzung der Entwicklungsphase werden auch die Kosten bedeutend verringert.
  • Ferner ist keine spezielle Schreibvorrichtung efforderlich, da Spezifikationen zum Schreiben von Daten in nicht-flüchtige Vorriebtungen derart gestaltet sind, daß sie Spezifikationen für nicht-flüchtige Standard-Halbleiterspeicher entsprechen, so daß Informationen mittels eines Standard-PROM-Schreibers geschrieben werden können. Die Kostenersparnis in diesem Punkt ist ebenfalls beträchtlich.

Claims (19)

1. Ein-Chip-Mikrocomputer (1), der auf einem Halbleitersubstrat ausgebildet ist, mit einem ersten Prozessor (10), wobei der erste Prozessor umfaßt eine Speichereinrichtung (11) zum Speichern von Mikrobefehlen; eine Verarbeitungsschaltung (13) mit einer Recheneinheit (71), die in Abhängigkeit von den in der Speichereinrichtung (11) gespeicherten Mikrobefehlen betrieben wird; wobei der Mikrocomputer (1) gekennzeichnet ist durch eine Arrrahl von Adressenregistem (20; AR0-AR7) zum Speichern von Adressen für einen Zugriff auf die Speichereinrichtung (11), um Mikrobefehle zum Betreiben der Verarbeitungsschaltung (13) auszulesen; eine Anzahl von Statusregistern (70; SR0-SR7), von denen jedes Statusinformationen einschließlich von entweder einer Nullinformation oder einer Ausführinformation enthält, die als Ergebnis der in der Verarbeitungsschaltung (13) ausgeführten Verarbeitung erzeugt werden; und durch eine Auswahleinrichtung mit einem programmierbaren Logik-Array (14) zum Auswählen eines Registerpaares aus einem Adressenregister und einem Statusregister aus der Anzahl von Adressenregistern (20; AR0-AR7) und der Anzahl von Statusregistern (70; SR0-SR7) in Reaktion auf die in das programmierbare Logik-Array (14) von außerhalb des Mikrocomputers (1) eingeschriebenen Informationen, um der Speichereinrichtung (11) eine Adresse und der Recheneinheit (71) in der Verarbeitungsschaltung (13) eine Statusinformation zuzuführen.
2. Mikrocomputer nach Anspruch 1, wobei die Auswahleinrichtung eine Einrichtung zum selektiven Zuführen von Adressendaten zu den Adressenregistern umfaßt.
3. Mikrocomputer nach Anspruch 1, wobei der erste Prozessor (10) ein Steuerregister (125) umfaßt, das mit der Auswahleinrichtung (14) verbunden ist; und wobei die Auswahleinrichtung (14) eine Einrichtung zum selektiven Zuführen von Adressendaten zu den Adressenregisters (20; AR0-AR7) in Reaktion auf im Steuerregister (125) gespeicherte Informationen aufweist.
4. Mikrocomputer nach Anspruch 1, wobei der erste Prozessor (10) des weiteren umfaßt eine Anschlußeinrichtung (67) zur Aulhahme eines Siguals von außerhalb des Mikrocomputers (1); und eine Übertragungseinrichtung (99), die in Reaktion auf ein an einem Eingang der Anschlußeinrichtung (67) anliegendes Signal Informationen (100) an die Auswahleinrichtung (14) überträgt, wobei die Auswahleinrichtung eine Einrichtung zum Auswählen eines Paares aus einem Adressenregister und einem Statusregister in Reaktion auf die genannten Informationen (100) aufweist.
5. Mikrocomputer nach Anspruch 4, wobei die Anschlußeinrichtung (67) eine Anzahl von Anschlüssen (Ie0, Ie1, Ie2) aufweist, und wobei die Übertragungseinrichtung (99) eine Anzahl von Erfassungseinrichtungen (102) zum Erfassen von Übergangspunkten in den an der Anzahl von Anschlüssen zugeführten Signalen sowie eine Einrichtung (10) umfaßt, die die Anzahl von erfaßten Signalen mit Prioritäten versieht.
6. Mikrocomputer nach Anspruch 1, wobei die Speichereinrichtung (11) ein Festwertspeicher mit einer elektrisch beschreibbaren, nicht-flüchtigen Halbleiter-Speichervorrichtung ist.
7. Mikrocomputer nach Anspruch 1, wobei der Mikrocomputer einen zweiten Prozessor (10b) mit der gleichen Konfiguration wie der erste Prozessor (10a) aufweist.
8. Mikrocomputer nach Anspruch 7, wobei der Mikrocomputer einen dritten Prozessor (5) mit einer CPU (2) aufweist, wobei die CPU (2) über einen gemeinsamen Bus (9) mit dem ersten Prozessor (10a) verbunden ist.
9. Mikrocomputer nach Anspruch 7, wobei der erste Prozessor (loa) und der zweite Prozessor (10b) über eine erste Interfaceeinrichtung (19) verbunden sind.
10. Mikrocomputer nach Anspruch 9, wobei die erste Interfaceeinrichtung (19) eine Einrichtung zum Halten eines Semaphore-Flags (S) mit einer Anzahl von Bits umfaßt, auf die sowohl vom ersten als auch vom zweiten Prozessor (10a, 10b) zugegriffen werden kann.
11. Mikrocomputer nach Anspruch 8, wobei der erste Prozessor (loa) einen Befehlssatz aufweist, der sich von dem des dritten Prozessors (5) unterscheidet.
12. Mikrocomputer nach Anspruch 8, wobei der dritte Prozessors (5) eine Interrupt- Verarbeitungseinrichtung (2) und der erste Prozessor (loa) eine Interrupterlaubnis-Anforderungseinrichtung (47, 56) umfaßt, wobei die Interrupt-Verarbeitungseinrichtung (2) mit der Interrupterlaubnis-Anforderungseinrichtung (47, 56) verbunden ist.
13. Mikrocomputer nach Anspruch 8, wobei der erste Prozessor (10a) eine zweite Interfaceeinrichtung (16) und einen ersten Prozessorbus (46) aufweist, und wobei der erste Prozessorbus (46) mit dem dritten Prozessor (5) über die zweite Interfaceeinrichtung (16) und den gemeinsamen Bus (9) verbunden ist.
14. Mikrocomputer nach Anspruch 13, wobei der erste Prozessorbus (46) ein Bus ist, auf den vom dritten Prozessor (5) direkt zugegriffen werden kann.
15. Mikrocomputer nach Anspruch 13, wobei der gemeinsame Bus einen Datenbus (DB) und einen Adressenbus (AB) umfaßt, und wobei die zweite Interfaceeinrichtung (16) mit einer Lesesignalleitung (RD1) Lind einer Schreibsignalleitung (WR1) des dritten Prozessors (5) verbunden ist und die Datenübertragung zwischen dem ersten Prozessor (10a) und dem dritten Prozessor (5) in Reaktion auf Signale auf der Lesesignalleitung (RD1), der Schreibsignalleitung (WRI) und dem Adressenbus (AB) erfolgt.
16. Mikrocomputer nach Anspruch 15, wobei der dritte Prozessor (5) eine Speichereinrichtung (3, 4) und eine mit dem gemeinsamen Bus (9) verbundene Anschlußverbindungseinrichtung (199) aufiveist; der erste Prozessor (loa) einen zweiten Prozessorbus (31) und eine Speicherzugriffseinrichtung (53, 54, 48, 49, RD2, WR2, BRQ, BAK, REF) umfaßt, die mit dem zweiten Prozessorbus (31), dem Datenbus (DB) und dem Adressenbus (AB) verbunden ist; die Speicherzugriffseinrichtung eine Anforderungseinrichtung (BRQ) zum Anfordern des Rechts auf Benutzung des gemeinsamen Busses vom dritten Prozessor (5) aufweist, und wobei die Speicherzugriffseinrichtung den Zugriff auf die Speichereinrichtung (3, 4) und die Anschlußverbindungseinrichtung (199) durch Ausführen eines Befehls erhält, der in ein Befehlsfeld eines Festwertspeichers (11) des ersten Prozessors (loa) eingeschrieben ist.
17. Mikrocomputer nach Anspruch 16, wobei die Anschlußverbindungseinrichtung (199) mit einem außerhalb des Mikrocomputers (1) angeordneten externen Speicher verbunden ist, und wobei die Speicherzugriffseinrichtung den Zugriff auf den externen Speicher durch Ausführen des Befehls erhält.
18. Mikrocomputer nach Anspruch 17, wobei der externe Speicher ein dynamischer Direktzugriffsspeicher ist, und wobei die Speicherzugriffseinrichtung den dynamischen Direktzugriffsspeicher durch Ausführen des Befehls aufkischt.
19. Mikrocomputer nach Anspruch i, wobei das programmierbare Logik-Array (14) einen UND-Logikbereich (87) und einen ODER-Logikbereich (89) aufweist, und wobei wenigstens einer der Bereiche, der UND-Logikbereich oder der ODER-Logikbereich, aus einer elektrisch beschreibbaren nicht-flüchtigen Halbleiter-Speichervorrichtung besteht.
DE68927907T 1988-09-30 1989-09-29 Einchipmikrorechner Expired - Fee Related DE68927907T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24415688 1988-09-30

Publications (2)

Publication Number Publication Date
DE68927907D1 DE68927907D1 (de) 1997-04-30
DE68927907T2 true DE68927907T2 (de) 1997-10-09

Family

ID=17114596

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927907T Expired - Fee Related DE68927907T2 (de) 1988-09-30 1989-09-29 Einchipmikrorechner

Country Status (5)

Country Link
US (1) US5426744A (de)
EP (1) EP0361525B1 (de)
KR (1) KR0136594B1 (de)
DE (1) DE68927907T2 (de)
HK (1) HK1003582A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10204344A1 (de) * 2002-02-01 2003-08-14 Systemonic Ag Konfigurierbares Bussystem

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307464A (en) * 1989-12-07 1994-04-26 Hitachi, Ltd. Microprocessor and method for setting up its peripheral functions
JPH04195481A (ja) * 1990-11-28 1992-07-15 Hitachi Ltd シングルチツプマイクロコンピュータ及び多機能メモリ
US5396639A (en) * 1991-09-16 1995-03-07 Rohm Co., Ltd. One chip microcomputer having programmable I/O terminals programmed according to data stored in nonvolatile memory
JPH06150024A (ja) * 1992-11-10 1994-05-31 Nec Corp マイクロコンピュータ
FR2700402B1 (fr) * 1993-01-13 1995-04-07 Sgs Thomson Microelectronics Microcontrôleur à mémoire électriquement programmable multimode.
JP3904244B2 (ja) * 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5488612A (en) * 1993-10-04 1996-01-30 International Business Machines, Corporation Method and apparatus for field testing field programmable logic arrays
US6735683B2 (en) 1994-09-14 2004-05-11 Hitachi, Ltd. Single-chip microcomputer with hierarchical internal bus structure having data and address signal lines coupling CPU with other processing elements
TW247949B (en) * 1994-11-10 1995-05-21 Motorola Inc Data processor with transparent operation during a background mode and method therefor
JPH096633A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5761483A (en) * 1995-08-18 1998-06-02 Xilinx, Inc. Optimizing and operating a time multiplexed programmable logic device
US5838954A (en) * 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing a time multiplexed programmable logic device
US5701441A (en) * 1995-08-18 1997-12-23 Xilinx, Inc. Computer-implemented method of optimizing a design in a time multiplexed programmable logic device
US5615167A (en) * 1995-09-08 1997-03-25 Digital Equipment Corporation Method for increasing system bandwidth through an on-chip address lock register
US5768562A (en) * 1995-09-26 1998-06-16 Altera Corporation Methods for implementing logic in auxiliary components associated with programmable logic array devices
WO1997015001A2 (en) * 1995-10-06 1997-04-24 Patriot Scientific Corporation Risc microprocessor architecture
US5970255A (en) * 1995-10-16 1999-10-19 Altera Corporation System for coupling programmable logic device to external circuitry which selects a logic standard and uses buffers to modify output and input signals accordingly
WO1997036245A1 (en) * 1996-03-25 1997-10-02 Advanced Micro Devices, Inc. Serial interface module and method
JPH1097385A (ja) * 1996-09-19 1998-04-14 Toshiba Corp ディスク記録再生装置及び同装置に適用するインターフェース制御装置
US5890199A (en) * 1996-10-21 1999-03-30 Ramtron International Corporation Data processor incorporating a ferroelectric memory array selectably configurable as read/write and read only memory
US6195674B1 (en) * 1997-04-30 2001-02-27 Canon Kabushiki Kaisha Fast DCT apparatus
US6061749A (en) 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
US6421817B1 (en) 1997-05-29 2002-07-16 Xilinx, Inc. System and method of computation in a programmable logic device using virtual instructions
US6223301B1 (en) * 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6898101B1 (en) 1997-12-16 2005-05-24 Cypress Semiconductor Corp. Microcontroller with programmable logic on a single chip
US6467009B1 (en) 1998-10-14 2002-10-15 Triscend Corporation Configurable processor system unit
JP3871461B2 (ja) * 1999-02-02 2007-01-24 ローム株式会社 シーケンス制御用マイクロコントローラ
KR100326223B1 (ko) * 1999-02-27 2002-02-27 다니구찌 이찌로오, 기타오카 다카시 메모리와 프로세서가 동일 칩 상에 형성된 마이크로 컴퓨터
US6851047B1 (en) 1999-10-15 2005-02-01 Xilinx, Inc. Configuration in a configurable system on a chip
US6600959B1 (en) * 2000-02-04 2003-07-29 International Business Machines Corporation Method and apparatus for implementing microprocessor control logic using dynamic programmable logic arrays
US6912601B1 (en) 2000-06-28 2005-06-28 Cypress Semiconductor Corp. Method of programming PLDs using a wireless link
US6721840B1 (en) 2000-08-18 2004-04-13 Triscend Corporation Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory
DE10056198A1 (de) * 2000-11-13 2002-02-14 Infineon Technologies Ag Kommunikationssystem zum Austausch von Daten unter Verwendung eines zusätzlichen Prozessors
US6857110B1 (en) * 2001-01-30 2005-02-15 Stretch, Inc. Design methodology for merging programmable logic into a custom IC
US6725364B1 (en) 2001-03-08 2004-04-20 Xilinx, Inc. Configurable processor system
JP2002323993A (ja) * 2001-04-25 2002-11-08 Nec Corp シングルチップマイクロコンピュータ並びにその試験方法及び試験プログラム
US7107374B1 (en) 2001-09-05 2006-09-12 Xilinx, Inc. Method for bus mastering for devices resident in configurable system logic
US6886092B1 (en) * 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US7245527B2 (en) * 2005-05-16 2007-07-17 Freescale Semiconductor, Inc. Nonvolatile memory system using magneto-resistive random access memory (MRAM)
US7884672B1 (en) 2006-11-01 2011-02-08 Cypress Semiconductor Corporation Operational amplifier and method for amplifying a signal with shared compensation components
KR100961207B1 (ko) 2008-10-02 2010-06-09 주식회사 하이닉스반도체 커맨드 생성회로 및 반도체 메모리 장치
US20100117242A1 (en) * 2008-11-10 2010-05-13 Miller Gary L Technique for packaging multiple integrated circuits

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
GB1468642A (en) * 1975-01-07 1977-03-30 Burroughs Corp Data processing systems
US4192007A (en) * 1978-05-30 1980-03-04 Lorain Products Corporation Programmable ringing generator
US4197579A (en) * 1978-06-06 1980-04-08 Xebec Systems Incorporated Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
US4320453A (en) * 1978-11-02 1982-03-16 Digital House, Ltd. Dual sequencer microprocessor
US4794558A (en) * 1979-06-12 1988-12-27 Motorola, Inc. Microprocessor having self-programmed eprom
US4349870A (en) * 1979-09-05 1982-09-14 Motorola, Inc. Microcomputer with programmable multi-function port
US4339657A (en) * 1980-02-06 1982-07-13 International Business Machines Corporation Error logging for automatic apparatus
US4387444A (en) * 1980-07-07 1983-06-07 Hughes Aircraft Company Non-volatile semiconductor memory cells
JPS57117027A (en) * 1981-01-13 1982-07-21 Nec Corp Signal sending and receiving circuit
DE3280477T2 (de) * 1982-02-11 1998-02-12 Texas Instruments Inc Hochgeschwindigkeits-Multiplizierer für einen Mikrorechner zur Anwendung in einem digitalen Signalverarbeitungssystem
US4586127A (en) * 1982-11-03 1986-04-29 Burroughs Corp. Multiple control stores for a pipelined microcontroller
DE3241357A1 (de) * 1982-11-09 1984-05-10 Siemens AG, 1000 Berlin und 8000 München Vorrichtung zur mikrobefehls-bereitstellung fuer mindestens zwei unabhaengig arbeitende funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen baustein und verfahren zu ihrem betrieb
US4578750A (en) * 1983-08-24 1986-03-25 Amdahl Corporation Code determination using half-adder based operand comparator
US4609986A (en) * 1984-06-14 1986-09-02 Altera Corporation Programmable logic array device using EPROM technology
JPS61285567A (ja) * 1985-08-06 1986-12-16 Minolta Camera Co Ltd ワンチツプマイクロコンピユ−タ
JPS6267800A (ja) * 1985-09-20 1987-03-27 Hitachi Ltd 半導体集積回路装置
JPS63175300A (ja) * 1987-01-16 1988-07-19 Hitachi Ltd 半導体集積回路装置
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10204344A1 (de) * 2002-02-01 2003-08-14 Systemonic Ag Konfigurierbares Bussystem

Also Published As

Publication number Publication date
KR0136594B1 (ko) 1998-10-01
DE68927907D1 (de) 1997-04-30
HK1003582A1 (en) 1998-10-30
EP0361525A2 (de) 1990-04-04
EP0361525A3 (de) 1991-03-13
US5426744A (en) 1995-06-20
KR900005282A (ko) 1990-04-13
EP0361525B1 (de) 1997-03-26

Similar Documents

Publication Publication Date Title
DE68927907T2 (de) Einchipmikrorechner
DE4035405C2 (de)
DE2716369C2 (de)
DE69107460T2 (de) Assoziativer speicher.
DE69033568T2 (de) Preisgünstiger Hochleistungsmikroprozessor
DE69419524T2 (de) Sperrsynchronisierung für verteilte speicher-massivparallelrechner
DE69032342T2 (de) Mikroprozessor und Verfahren zur Aufstellung seiner Peripheriefunktionen
DE69907955T2 (de) Globale und locale registersegmentierung in einem vliw prozessor
DE69713784T2 (de) Rekonfigurierbares rechnersystem
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE68928213T2 (de) Inhaltadressierte Speicherzellenanordnung
DE68928848T2 (de) Multi-Prozessor-Rechnersystem mit prozessunabhängiger Adressierung von Kommunikationsregistern
DE69129569T2 (de) Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen
DE3853613T2 (de) Mikrorechner mit flexiblen anwendungsspezifischen integrierten Schaltungen.
DE3650532T2 (de) Speicher mit programmierbarem Zugang
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE3752017T2 (de) Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
DE69128017T2 (de) Verteiltes rechnersystem
DE3689595T2 (de) Datenverarbeitungssystem.
DE4418892C2 (de) Mikrocomputer
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE112013000904T5 (de) Durchführen von Aktualisierungen von Quellcode, der auf einer Vielzahl von Rechenknoten ausgeführt wird
DE102020103521A1 (de) Minimieren der Nutzung von Hardware-Zählern bei getriggerten Operationen für kollektive Kommunikation
DE3855524T2 (de) Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator
DE3882425T2 (de) Datenübertragungssteuerungsvorrichtung für Direktspeicherzugriff.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee