DE19950255B4 - Mikroprozessor - Google Patents

Mikroprozessor Download PDF

Info

Publication number
DE19950255B4
DE19950255B4 DE19950255A DE19950255A DE19950255B4 DE 19950255 B4 DE19950255 B4 DE 19950255B4 DE 19950255 A DE19950255 A DE 19950255A DE 19950255 A DE19950255 A DE 19950255A DE 19950255 B4 DE19950255 B4 DE 19950255B4
Authority
DE
Germany
Prior art keywords
bus
data
princeton
instruction
control unit
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 - Lifetime
Application number
DE19950255A
Other languages
English (en)
Other versions
DE19950255A1 (de
Inventor
Hiroyoshi Kawasaki Yamashita
Masaaki Kawasaki Tani
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.)
Cypress Semiconductor Corp
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE19950255A1 publication Critical patent/DE19950255A1/de
Application granted granted Critical
Publication of DE19950255B4 publication Critical patent/DE19950255B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Microcomputers (AREA)

Abstract

Mikroprozessor (10), mit:
einer CPU (20) zum Ausführen einer Instruktion;
einem Instruktionsspeicher (41) zum Speichern von Instruktionen;
einem Datenspeicher (42) zum Speichern von Daten;
einem Instruktionsbus (IB) zum Vornehmen eines Zugriffs auf den Instruktionsspeicher;
einem Datenbus (DB) zum Vornehmen eines Zugriffs auf den Datenspeicher;
einem ersten Princeton-Bus (PB1), der mit Modulen (51, 52) für einen Instruktionszugriff verbunden ist;
einem zweiten Princeton-Bus (PB2), der mit Modulen (61, 62, 63) für einen Datenzugriff verbunden ist; und
einer Bussteuereinheit (30; 31; 32; 33) zum Durchführen einer Buszuteilung des Instruktionsbusses, des Datenbusses, des ersten Princeton-Busses und des zweiten Princeton-Busses gemäß einer Busnutzungsanforderung von der CPU.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf einen Mikroprozessor, welcher mit einer Vielzahl von Bussen und einer Vielzahl von Busmastern ausgestattet ist. Insbesondere bezieht sich diese Erfindung auf einen Mikroprozessor, der mit einer Bussteuereinheit zum effizienten Steuern der Busse ausgestattet ist, wenn Zugriffsanforderungen von den Busmastern gestellt werden gemäß Patentanspruch 1. In einem Mikroprozessor, der für eine Steueranordnung oder eine tragbare elektronische Vorrichtung verwendet wird, wurde in den letzten Jahren im allgemeinen ein System eingesetzt, das eine große Anzahl von an den Bussen angeschlossenen Modulen zum Steuern dieser Module durch die Busse aufweist, um komplexe Prozesse zu erzielen, und um die Expandierbarkeit der Verarbeitung zu erhöhen. Insbesondere sind auf einem Mikroprozessor, von dem eine Hochgeschwindigkeitsverarbeitung verlangt wird, ein Cache-Speicher und ein DMA (Direktspeicherzugriff)-Controller montiert, um die Nutzungseffizienz der Busses zu erhöhen.
  • l ist ein Blockbild, das eine schematische Konfiguration eines herkömmlichen Mikroprozessors unter Verwendung einer Harvard-Architektur zeigt. Die Harvard-Architektur ist eine der Architekturen auf einer Registerebene, die unabhängig voneinander vorgesehene Busse für einen Datenzugriff (Datenbusse) und Busse für einen Instruktionszugriff (Instruktionsbusse) verwendet. Ferner wird bei der Harvard-Architektur ein mit den Datenbussen verbundener Speicher, das heißt ein Datenspeicher, ausschließlich zum. Speichern von Daten verwendet, und ein mit den Instruktionsbussen verbundener Speicher, das heißt ein Instruktionsspeicher, wird ausschließlich zum Speichern von Instruktionen verwendet. So werden der Datenspeicher und der Instruktionsspeicher als räumlich getrennte Adressen verwendet. Durch die Verwendung dieser Harvard-Architektur kann der Mikroprozessor Instruktionen schützen, und kann einen parallelen Betrieb von Zugriffen erzielen, um eine Hochgeschwindigkeitsverarbeitung zu erzielen.
  • Wie in l gezeigt, enthält der herkömmliche Mikroprozessor 100 eine CPU (Zentraleinheit) 110 zum Ausführen von Instruktionen gemäß Programmcodes, eine Bussteuereinheit 120 zum Durchführen einer Buszuteilung durch die Überwachung des Nutzungszustands einer Vielzahl von Bussen, einen Instruktionsspeicher 131 als Speicher zum ausschließlichen Speichern von Instruktionen, einen Datenspeicher 132 als Speicher zum ausschließlichen Speichern von Daten. Ferner enthält der Mikroprozessor 100 einen Programm-ROM 141 zum Speichern eines Startinstruktionsatzes und eines Basisinstruktionssatzes, einen Programm-RAM 142 zum Speichern eines Benutzerprogramms. Außerdem enthält der Mikroprozessor 100 einen DMA-Controller 143 zum direkten Austauschen von Daten, das heißt, für einen DMA-Transfer, zwischen mit den Bussen verbundenen Modulen, ohne durch die CPU 110 zu gehen, und verschiedene Speicher. Darüber hinaus enthält der Mikroprozessor 110 eine externe Bus-2/F 151 zum Anschließen an externe Einheiten, um eine funktionelle Expansion oder einen Dateneingang in die externen Einheiten und -ausgang aus diesen durchzuführen, eine SDRAM-I/F 152, um die Expansion eines SDRAM (synchroner dynamischer Speicher mit wahlfreiem Zugriff) als erweiterter Speicher zu ermöglichen. Schließlich enthält der Mikroprozessor 100 eine periphere Bus-I/F 153 zum Ausführen einer Funktion als Schnittstelle mit eingebauten peripheren Anordnungen.
  • Ein Instr uktionsbus IB und ein Datenbus DB sind zwischen der CPU 110 und der Bussteuereinheit 120 vorgesehen. Der Programm-ROM 141, der Programm-RAM 142, der DMA-Controller 143, die externe Bus-I/F 151, die SDRAM-2/F 152 und die periphere Bus-I/F 153 sind mit einem gemeinsamen Bus verbunden, das heißt einem Princeton-Bus PB, der von der Bussteuereinheit 120 überwacht wird.
  • Ein Zeitgeber 161, ein UART (universeller asynchroner Empfänger/Sender) 162 zum Unterstützen einer seriellen Kommunikation, ein Analog/Digital-Wandler (ADC) 163 und dgl. sind mit der peripheren Bus-I/F 153 als eingebaute periphere Anordnungen verbunden.
  • Der Instruktionsbus IB, der Datenbus DB und der Princeton-Bus PB enthalten einen Datenbus zum Transferieren von Daten bzw. einen Adressenbus zum Transferieren einer Adresse. Jeder mit jedem dieser Busse verbundene Modul (einschließlich der CPU 110) ist mit einem nicht dargestellten Steuerbus zum Transferieren von Steuersignalen versehen, wie einem Busnutzungsanforderungssignal, das für eine Kommunikation mit der Bussteuereinheit 120 notwendig ist, einem Lese/Schreib-Signal, einem Adressen-Strobe-Signal, einem Daten-Strobe-Signal, verschiedenen Quittungssignalen, etc.
  • Im Mikroprozessor 100 unter Verwendung der Harvard-Architektur, wie in l gezeigt, werden der Instruktionsspeicher 131 und der Datenspeicher 132 insbesondere als Cache-Speicher verwendet, um den Durchsatz zu verbessern. Der Grundbetrieb des Mikroprozessors 100 wird nachstehend erläutert.
  • Wenn der Mikroprozessor 100 gestartet wird, wird eine im Programm-ROM 141 gespeicherte Startinstruktion in die CPU 110 durch den Princeton-Bus PB und den Instruktionsbus IB eingelesen, und ein im Programm-RAM 142 gespeichertes Benutzerprogramm wird ausgeführt, wenn notwendig.
  • In diesem Fall prüft die CPU 110, bevor sie einen Zu griff auf den Programm-ROM 141 und den Programm-RAM 142 vornimmt, ob eine entsprechende Instruktion im Instruktionsspeicher 131 gespeichert ist oder nicht. Wenn die entsprechende Instruktion gespeichert ist (Cache-Treffer), ruft die CPU 110 diese Instruktion aus dem Instruktionsspeicher 131 ab und führt diese Instruktion aus (Instruktionsabruf).
  • Wenn die entsprechende Instruktion hingegen nicht im Instruktionsspeicher 131 gespeichert ist, ruft die CPU 110 die Instruktion aus dem Programm-ROM 141 oder dem Programm-RAM 142 ab, der das ursprüngliche Zugriffsziel ist, und führt diese Instruktion aus. Gleichzeitig speichert die CPU 110 die abgerufene Instruktion im Instruktionsspeicher 131. Wenn es erneut notwendig wird, die einmal von der CPU 110 ausgeführte Instruktion auszuführen, ist es mit dieser Anordnung möglich, diese Instruktion aus dem Instruktionsspeicher 131 abzurufen.
  • Wenn, wie oben erläutert, der Cache-Treffer erhalten wurde, kann der Instruktionsabruf in einem kürzeren Taktzyklus ausgeführt werden als im Fall des Zugriffs auf den Programm-ROM 141 oder Programm-RAM 142. Daher kann ein System erzielt werden, das eine Verarbeitung mit hoher Geschwindigkeit vornehmen kann.
  • Wenn einmal aus der SDRAM-I/F 152 oder anderen abgerufene Daten im Datenspeicher 132 gespeichert werden, wird es auf eine Weise ähnlich den im Instruktionsspeicher 131 gespeicherten Daten möglich, einen Cache-Treffer aus dem Datenspeicher 132 zu erhalten, wenn es notwendig ist, einen Datenzugriff auf die SDRAM-I/F 152 oder andere vorzunehmen. So kann ein System erzielt werden, das eine Verarbeitung mit hoher Geschwindigkeit vornehmen kann.
  • In diesem Mikroprozessor 100 kann nicht nur die CPU 110, sondern auch der DMA-Controller 143 ein Busmaster werden. Daher muß die CPU 110 eine Genehmigung zur Nutzung des Instruktionsbusses IB, des Datenbusses DB und des Princeton-Busses PB von der Bussteuereinheit 120 erhalten, jedesmal wenn die CPU 110 den oben beschriebenen Instruktionsabruf oder Datenzugriff durchführt.
  • Mit anderen Worten, um einen Zugriff auf den Programm-ROM 141 oder Programm-RAM 142 vorzunehmen, sendet die CPU 110 ein Busnutzungsanforderungssignal, das eine Anforderung zur Nutzung des Princeton-Busses PB repräsentiert, durch den Steuerbus an die Bussteuereinheit 120.
  • Die Bussteuereinheit 120 prüft, ob der Princeton-Bus PB von einem anderen Busmaster genutzt wird oder nicht. Wenn beispielsweise der DMA-Controller 143 den Princeton-Bus PB zum Durchführen eines DMA-Transfers von der SDRAM-I/F 152 zur externen Bus-I/F 151 benützt, sendet die Bussteuereinheit 120 ein Busnutzungsanforderungssignal an den DMA-Controller 143. Beim Empfang dieses Busnutzungsanforderungssignals geht der DMA-Controller 143 in einen Haltezustand unmittelbar nach der Beendigung des aktuell ausgeführten Buszyklus, und sendet dann ein Busüberlassungssignal an die Bussteuereinheit 120.
  • Die Bussteuereinheit 120 sendet ein WAIT-Signal an die CPU 110, um die CPU 110 während einer Periode ab dem Empfang des Busnutzungsanforderungssignals durch den DMA-Controller 143 bis zum Senden des Busüberlassungssignals durch den DMA-Controller 143 warten zu lassen. Beim Empfang des Busüberlassungssignals vom DMA-Controller 143 sendet die Bussteuereinheit 120 ein Buserhaltsignal, welches das Erhalten eines Busrechts repräsentiert, an die CPU 110. Wenn die CPU 110 das Busrecht erhält, kann sie einen Zugriff auf jede mit dem Princeton-Bus PB verbundene Einheit vornehmen.
  • Wenn ein anderer Busmaster als die CPU 110, wie der DMA-Controller 143, den Princeton-Bus PB benützen will, muß dieser Busmaster ferner auch ein Busrecht erhalten, indem er ein Busnutzungsanforderungssignal an die Bussteuereinheit 120 auf ähnliche Weise wie oben beschrieben sendet.
  • So ist im herkömmlichen Mikroprozessor 100, wie in l gezeigt, die Bussteuereinheit 120 vorgesehen, um es jedem Busmaster zu ermöglichen, ein Busrecht von einem anderen Busmaster zu erhalten, wodurch eine Buszuteilung erzielt wird, indem eine Kollision des Zugriffs auf die Busse vermieden wird.
  • Außerdem ist es im herkömmlichen Mikroprozessor 100 erforderlich, daß der Energieverbrauch niedrig ist, da er durch Batterien betrieben wird, und aufgrund von Wärmegegenmaßnahmen. Der Betrieb des Mikroprozessors oder der Betrieb eines Teils der Module des Mikroprozessors kann gestoppt werden, um einen niedrigen Energieverbrauch während einer Periode zu erzielen, in der diese Komponenten ungenutzt sind. Beispielsweise wurde eine Technik zur Reduktion des Energieverbrauchs vorgeschlagen, indem ein der CPU 110 und anderen Modulen zugeführtes Taktsignal gehalten wird.
  • Spezifischer wird ein Standby-Modus genannter Betriebsmodus vorgesehen, um einen nicht dargestellten Takt-Controller die Zuführung eines Taktsignals halten zu lassen. Ähnlich kann eine Schlafinstruktion genannte Instruktion ausgeführt werden, um die Zuführung eines Takts nur zu einem Zielmodul zu unterbrechen, wobei der Betrieb dieses Moduls gehalten wird.
  • Obwohl ein Versuch unternommen wurde, die Belastung der Busse zu verteilen, indem individuell der Instruktionsbus IB und der Datenbus DB vorgesehen werden, muß jedoch gemäß dem Mikroprozessor 100 die CPU 110 ein Busrecht zur Nutzung des Princeton-Busses PH erhalten, um einen Zugriff auf den Programm-ROM 141 oder den Programm-RAM 142 vorzunehmen. Daher wurde nicht unbedingt ein effizienter Buszugriff durchgeführt.
  • Wenn beispielsweise ein Instruktionscode aus dem Programm-ROM 141 in den Instruktionsspeicher 131 durch den Instruktionsbus IB und den Princeton-Bus PB abgerufen wird, ermöglicht es die CPU 110, Daten unter Verwendung des Datenbusses DB abzurufen. Wenn die CPU beispielsweise die von der externen Bus-I/F 151 eingegebenen Daten abrufen will, ist es in diesem Zustand jedoch notwendig, ein Busrecht zur Nutzung des Princeton-Busses PB zu erhalten. Folglich muß die CPU 110 warten, bis der Abruf eines Instruktionscodes aus dem Programm-ROM 141 zum Instruktionsspeicher 131 beendet ist.
  • Obwohl der DMA-Controller 143 als repräsentativer anderer Busmaster als die CPU 110 bei der Verbesserung des Durchsatzes einer internen arithmetischen Verarbeitung der CPU 110 effektiv ist, wird der DMA-Controller 143 ferner vom WAIT-Signal warten gelassen, bis die CPU 110 ein Busüberlassungssignal an die Bussteuereinheit 120 sendet, wie oben beschrieben, wenn ein anderer Busmaster, wie die CPU 110, das Busrecht zur Nutzung des Princeton-Busses PB hat. So kam es zu dem Problem, daß es eine Zeit dauert, bis der DMA-Controller 143 ein Busrecht erhält.
  • Im herkömmlichen Mikroprozessor wurde auch ein System vorgeschlagen, bei dem eine Vielzahl von Princeton-Bussen PBs als gemeinsame Busse vorgesehen ist, und Module auf verschiedene Princeton-Busse PBs verteilt sind. Da dieses System jedoch nicht unter Berücksichtigung der Harvard-Architektur ausgebildet ist, war es nicht möglich, die Busnutzungseffizienz der CPU 110 wesentlich zu verbessern.
  • Außerdem wird, wie oben beschrieben, gemäß dem oben beschriebenen herkömmlichen Mikroprozessor 100 ein niedriger Energieverbrauch durch den Standby-Betrieb des Takt-Controllers zum Halten der Zuführung eines Taktsignals erzielt. Um die Zuführung des Taktsignals zu halten, muß die CPU 110 jedoch ein Steuerregister innerhalb des Takt-Controllers zum Durchführen einer Speicheroperation betreiben, und es war notwendig, ein Minimumprogramm für einen Testbetrieb des Haltens des Taktsignals zu erstellen.
  • Aus der US 50 34 887 A und US 55 77 230 A sind Mikroprozessoren mit einer Harvard-Architektur bekannt, wobei aus ersterer zusätzlich eine Buszuteilungsschaltung bekannt ist, die den Zugriff von bzw. auf zwei Bussysteme von einem Mikroprozessor erlaubt.
  • Im Lichte der oben beschriebenen Probleme ist es eine Aufgabe der vorliegenden Erfindung, einen Mikroprozessor vorzusehen, welcher den Durchsatz der CPU verbessern kann, indem die Effizienz der Nutzung der Busse verbessert wird, und welcher leichter zu einem Standby-Betrieb wechseln kann.
  • Diese Aufgabe ist durch die Merkmale des Anspruchs 1 gelöst.
  • Gemäß einem der Aspekte der vorliegenden Erfindung werden die Module wie die Programm-ROMS und dgl., in denen Instruktionszugriffe von der CPU konzentriert werden, im ersten Princeton-Bus zusammengesetzt, und die Module der externen Bus-I/F, der SDRAM-I/F, der peripheren Bus-2/F und dgl., in denen hauptsächlich Datenzugriffe konzentriert werden, werden, im zweiten Princeton-Bus zusammengesetzt. Daher ist es möglich, die Vorteile der Konfiguration unter Verwendung der Harvard-Architektur bestmöglich zu nutzen, worin der Instruktionszugriff und der Datenzugriff von den individuellen exklusiven Bussen des Instruktionsbusses und des Datenbusses durch die Bussteuereinheit durchgeführt werden.
  • Ausführungsbeispiele dieser Erfindung sind in der folgenden Beschreibung mit Bezugnahme auf die beigeschlossenen Zeichnungen dargestellt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • l ist ein Blockbild, um eine schematische Konfiguration eines bekannten Mikroprozessors unter Verwendung einer Harvard-Architektur zu zeigen;
  • 2 ist eine Darstellung zur Erläuterung des Prinzips eines Mikroprozessors gemäß der vorliegenden Erfindung;
  • 3 ist ein Blockbild, das eine schematische Konfiguration eines Mikroprozessors in bezug auf eine erste Ausführungsform der vorliegenden Erfindung zeigt;
  • 4 ist ein Blockbild, das eine schematische Konfiguration einer Instruktionsschnittstelle in der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 5 ist ein Blockbild, das eine schematische Konfiguration einer Buszuteilungsschaltung in der ersten Ausführungsform zeigt;
  • 6 ist ein Zeitdiagramm zur Erläuterung eines Zustands eines gleichzeitigen Zugriffs eines ersten Princeton-Busses und eines zweiten Princeton-Busses durch eine CPU in der ersten Ausführungsform;
  • 7 ist ein Blockbild, das eine schematische Konfiguration eines weiteren Beispiels einer Instruktionsschnittstelle in der ersten Ausführungsform zeigt;
  • 8 ist ein Blockbild, das eine schematische Konfiguration eines weiteren Beispiels einer Buszuteilungsschaltung in der ersten Ausführungsform zeigt;
  • 9 ist ein Blockbild, das eine schematische Konfiguration eines Mikroprozessors in bezug auf eine zweite Ausführungsform der vorliegenden Erfindung zeigt;
  • 10 ist ein Blockbild, das eine schematische Konfiguration eines Mikroprozessors in bezug auf eine dritte Ausführungsform der vorliegenden Erfindung zeigt;
  • 11 ist ein Blockbild, das eine schematische Konfiguration eines weiteren Beispiels einer Bussteuereinheit in der dritten Ausführungsform zeigt; und
  • 12A bis 120 sind Blockbilder, welche die schematischen Konfigurationen von Buszugriffsvariationen zeigen.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nun werden detailliert bevorzugte Ausführungsformen eines Mikroprozessors in bezug auf die vorliegende Erfindung mit Bezugnahme auf die beigeschlossenen Zeichnungen erläutert. Es ist zu beachten, daß die vorliegende Erfindung nicht auf diese Ausführungsformen beschränkt ist. Zuerst wird das Prinzip des Mikroprozessors in bezug auf die vorliegende Erfindung erläutert.
  • 2 ist eine Darstellung zur Erläuterung des Prinzips des Mikroprozessors in bezug auf die vorliegende Erfindung. Wie in 2 gezeigt, enthält ein Mikroprozessor 10 eine CPU (Zentraleinheit) 20 zum Ausführen von Instruktionen gemäß Programmcodes, eine Bussteuereinheit 30 zum Durchführen einer Buszuteilung durch die Überwachung des Nutzungszustands einer Vielzahl von Bussen, einen Instruktionsspeicher 41 als Speicher zum ausschließlichen Speichern von Instruktionen, einen Datenspeicher 42 als Speicher zum ausschließlichen Speichern von Daten, einen Programm-ROM Modul 51 zum Speichern eines Startinstruktionssatzes und eines Basisinstruktionssatzes, einen Programm-RAM Modul 52 zum Speichern eines Benutzerprogramms, einen DMA-Controller 53 zum Steuern eines DMA-Transfers, eine externe Bus-I/F Modul 61 zum Verbinden mit externen Einheiten, um eine funktionelle Expansion oder einen Dateneingang in die externen Einheiten und -ausgang aus diesen durchzuführen, eine SDRAM-I/F Modul 62, um es zu ermöglichen, einen SDRAM als erweiterter Speicher zu expandieren, und einen periphere Bus-I/F Modul 63 zum Ausführen einer Funktion als Schnittstelle mit eingebauten peripheren Anordnungen.
  • Zwischen der CPU 20 und der Bussteuereinheit 30 sind ein Instruktionsbus IB und ein Datenbus DB vorgesehen, wobei sie eine Struktur unter Verwendung der oben beschriebenen Harvard-Architektur aufweisen. Der Programm-ROM 51 und der Programm-RAM 52 sind mit einem ersten Princeton-Bus PB1 verbunden, der von der Bussteuereinheit 30 verwaltet wird. Die externe Bus-I/F 61, die SDRAM-I/F 62 und die periphere Bus- I/F 63 sind mit einem zweiten Princeton-Bus PB2 verbunden, der auch von der Bussteuereinheit 30 verwaltet wird. Der DMA-Controller 53 ist direkt mit der Bussteuereinheit 30 verbunden.
  • Ein Zeitgeber 71, ein UART 72 zum Unterstützen einer seriellen Kommunikation, ein Analog/Digital-Wandler 73 und dgl. sind mit der peripheren Bus-I/F 63 als eingebaute periphere Anordnungen verbunden. Diese Einheiten sind ähnlich jenen des in l gezeigten herkömmlichen Mikroprozessors, und ihre Erläuterung entfällt.
  • Der Instruktionsbus IB, der Datenbus DB, der erste Princeton-Bus PB1 und der zweite Princeton-Bus PB2 enthalten einen Datenbus zum Transferieren von Daten bzw. einen Adressenbus zum Transferieren einer Adresse. Jeder mit jedem dieser Busse verbundene Modul, einschließlich der CPU 20, ist mit einem nicht dargestellten Steuerbus versehen, zum Transferieren von Steuersignalen, wie einem Busnutzungsanforderungssignal, das für die Kommunikation mit der Bussteuereinheit 30 notwendig ist, einem Lese/Schreib-Signal, einem Adressen-Strobe-Signal, einem Daten-Strobe-Signal, verschiedenen Quittungssignalen, etc.
  • Als nächstes wird der Betrieb rund um den Buszugriff dieses Mikroprozessors 10 erläutert. Wenn die CPU 20 anfänglich keinen Cache-Treffer im Instruktionsspeicher 41 erhalten kann, und daher die CPU 20 eine Instruktion aus dem Programm-ROM 51 abrufen will, sendet die CPU 20 ein Busnutzungsanforderungssignal an die Bussteuereinheit 30, um ein Busrecht zur Nutzung des ersten Princeton-Busses PBI zu erhalten, mit dem der Programm-ROM 51 verbunden ist.
  • Der Programm-RAM 52 ist zusätzlich zum Programm-ROM 51 auch mit dem ersten Princeton-Bus verbunden. Da diese jedoch Speicher sind, die Instruktionscodes speichern, kann der erste Princeton-Bus ausschließlich als Instruktionszugriffs bus funktionieren, auf den zur Zeit des Abrufs einer Instruktion zugegriffen wird.
  • Während eine Instruktion vom Programm-ROM 51 im Instruktionsspeicher 41 gespeichert wird, kann demgemäß die CPU 20 einen Zugriff auf einen mit dem zweiten Princeton-Bus PB2 verbunden Modul durch den Datenbus DB vornehmen. So kann der Mikroprozessor 10 die Vorteile der Harvard-Architektur bestmöglich nutzen, und kann den Durchsatz der CPU 20 wesentlich verbessern.
  • Da der DMA-Controller 53 als repräsentativer anderer Busmaster als die CPU 20 direkt mit der Bussteuereinheit 30 verbunden ist, ohne durch die Busse zu gehen, ist es ferner möglich, ein Busrecht im Fall der Durchführung eines DMA-Transfers durch einen anderen Bus als den von der CPU 20 genutzten Bus prompt zu erhalten. So kann sogar eine effiziente Bussteuerung auch in der Bussteuereinheit 30 erzielt werden.
  • Außerdem kann die Bussteuereinheit 30 ein Betriebsstopp-Anforderungssignal eingeben. Wenn ein Standby-Betrieb notwendig ist, führt daher durch den Empfang dieses Betriebsstopp-Anforderungssignals die Bussteuereinheit 30 den folgenden Betrieb für die mit der Bussteuereinheit 30 verbundenen Busse durch. Die Bussteuereinheit 30 sendet ein Halteanforderungssignal, das eine Halteanforderung des Instruktionsbusses IB repräsentiert, an die CPU 20 als Busmaster, um ein Busrecht zur Nutzung des Instruktionsbusses IB zu erhalten. Nach der Beendigung des Buszyklus des ausgeführten Instruktionsabrufs führt die CPU 20 ein Quittungssignal zurück, das eine Busfreigabe des Instruktionsbusses IB repräsentiert.
  • Der Datenbus DB wird auch auf ähnliche Weise behandelt. Die Bussteuereinheit 30 sendet ein Halteanforderungssignal, das eine Halteanforderung des Datenbusses DB repräsentiert, an die CPU 20. Dann empfängt die Bussteuereinheit 30 ein Quittungssignal, das eine Busfreigabe des Datenbusses DB repräsentiert, von der CPU 20, wodurch sie ein Busrecht zur Nutzung des Datenbusses DB erhält.
  • Beim Empfang der Busrechte zur Nutzung des Instruktionsbusses IB und des Datenbusses DB aktiviert die Bussteuereinheit 30 ein Betriebsstopp-Anzeigesignal, das für jeden des Instruktionsbusses IB, des Datenbusses DB, des ersten Princeton-Busses PB1 und des zweiten Princeton-Busses PB2 vorbereitet wurde.
  • Wenn das in der Bussteuereinheit 30 vorgesehene Betriebsstopp-Anzeigesignal aktiviert wird, empfangen die mit dem Instruktionsbus IB, dem Datenbus DB, dem ersten Princeton-Bus PB1 und dem zweiten Princeton-Bus PB2 verbundenen Module ein Betriebsstopp-Anzeigesignal, und unterbrechen die Eingabe eines diesen Modulen zugeführten Taktsignals, wodurch ihr Betrieb gehalten wird. So wird ein Standby-Zustand des Mikroprozessors ohne die Speicheroperation der CPU 20 erhalten, und der Standby-Betrieb kann zur Zeit der Bestätigung eines Testbetriebs leicht erhalten werden.
  • Zum besseren Verständnis des Mikroprozessors gemäß der vorliegenden Erfindung, der auf der Basis des oben beschriebenen Prinzips arbeitet, werden nun detaillierte Ausführungsformen erläutert.
  • 3 ist ein Blockbild, das eine schematische Konfiguration eines Mikroprozessors in bezug auf eine erste Ausführungsform der vorliegenden Erfindung zeigt. Teile, die identisch sind mit jenen in 2, sind mit denselben Bezugszahlen versehen, und ihre Erläuterung entfällt. Wie in 3 gezeigt, ist eine Bussteuereinheit 31 eine Anordnung zum Durchführen einer Bussteuerung des Instruktionsbusses IB, des Datenbusses DB, des ersten Princeton-Busses PB1 und des zweiten Princeton-Busses PB2, in einer Weise ähnlich der Bussteuereinheit 30 in 2.
  • Der Instruktionsbus IB besteht aus einem Adressenbus IBA, durch den eine Adresse eines Busmasters, der eine Instruktion abruft, transferiert wird, und einem Datenbus IBD, durch den einen Instruktionscode repräsentierende Daten transferiert werden. Ähnlich besteht der Datenbus DB aus einem Adressenbus DBA, durch den eine Adresse eines Zugriffsziels zum Lesen/Schreiben von Daten transferiert wird, und einem Datenbus DBD, durch den zu lesende/schreibende Daten transferiert werden. Ähnlich besteht der erste Princeton-Bus PB1 aus einem Adressenbus PBA1 und einem Datenbus PBD1, und der zweite Princeton-Bus PB2 besteht aus einem Adressenbus PBA2 und einem Datenbus PBD2.
  • Die Bussteuereinheit 31 enthält eine Instruktionsschnittstelle Busschnittstellensektion 82, die eine Verbindungsschnittstelle des Instruktionsbusses IB wird, eine Datenbusschnittstelle Busschnittstellensektion 83, die eine Verbindungsschnittstelle des Datenbusses DB wird, eine erste Princeton-Busschnittstelle Busschnittstellensektion 84, die eine Verbindungsschnittstelle des ersten Princeton-Busses PB1 wird eine zweite Princeton-Busschnittstelle Busschnittstellensektion 85, die eine Verbindungsschnittstelle des zweiten Princeton-Busses PB2 wird, und eine Buszuteilungsschaltung 81, die mit diesen Busschnittstellen verbunden ist, um eine Buszuteilung durchzuführen.
  • Als nächstes werden die Konfiguration und der Betrieb der Instruktionsschnittstelle 82 erläutert. 4 ist ein Blockbild, das eine schematische Konfiguration der Instruktionsschnittstelle 82 zeigt. Wie in 4 gezeigt, enthält die Instruktionsschnittstelle 82 einen Datenpuffer 82a zum temporären Speichern von Daten auf dem Datenbus IBD, einen Adressenpuffer 82b zum temporären Speichern einer Adresse auf dem Adressenbus IBA, einen Adressendecoder 82c zum Decodieren einer im Adressenpuffer 82b gespeicherter Adresse, um einen Bus und einen Modul zu spezifizieren, auf den zuzugreifen ist, eine Ablaufsteuereinheit 82d zum Eingeben von Steuersignalen, wie einem Busnutzungsanforderungssignal, einem Lese/Schreibsignal, etc., von jedem Modul und zum Setzen eines Busnutzungszustands, in diesem Fall eines Zustands des Instruktionsbusses IB, und eine WAIT-Generatorschaltung Warteanzeige-Generatorschaltung 82e zum Ausgeben eines WAIT-Signals an den diesen Bus benützenden Modul gemäß einem von der Ablaufsteuereinheit 82d angezeigten Buszustand.
  • Als nächstes wird die Ablaufsteuereinheit 82d erläutert. Wenn eine nicht so kompliziert auszuführende Steuerung von einem Mikrocomputer durchgeführt wird, oder wenn eine Hochgeschwindigkeitssteuerung erforderlich ist, wird im allgemeinen eine Schaltungskonfiguration zum Durchführen verschiedener Steuerungen durch die Kombination eines Gatters und einer Verriegelung verwendet.
  • Dieses Schaltung kann beispielsweise in Kombination mit dem Mikrocomputer in einer derartigen Weise verwendet werden, daß die CPU des Mikrocomputers die gesamte Verarbeitung des Systems durchführt, und dieses Schaltung einen Teil der Steuerungen durchführt. Andererseits verschiebt sich im Steuersystem der Zustand sequentiell gemäß dem Fortschreiten der Steuerung. Auch wenn dasselbe Signal eingegeben wurde, ist der Inhalt der Steuerung in Abhängigkeit vom Zustand verschieden. Das System, bei dem sich der Zustand sequentiell gemäß dem Fortschreiten der Steuerung ändert, wird Zustandsverschiebungssystem oder Ablaufsteuerung genannt, welches durch die Kombination des Gatters und der Verriegelung strukturiert ist. Die Steuerschaltung für den sich ändernden Zustand wird Ablaufsteuereinheit genannt.
  • Gemäß den oben beschriebenen Steuersignalen und dem Speicherzustand im Datenpuffer 82a und im Adressenpuffer 82b generiert die Ablaufsteuereinheit 82d ein Zustandssignal, das einen Zustand eines Buszugriffs repräsentiert, in dem sich ein Bus, in diesem Fall der Instruktionsbus IB, aktuell befindet. Das heißt, der Bus ist in irgendeinem von einem Nicht-Zugriffszustand, einem Lesezustand, einem kontinuierlichen Lesezustand, einem Schreibzustand, etc. Dann gibt die Ablaufsteuereinheit 82d ein Adressen/Datenzustandssignal zum Ausführen einer Busauswahl auf der Basis des obigen Zustands, ein Adressenanforderungssignal, das vom Adressendecoder 82c ausgegeben wird, und ein Steuersignal von dem Modul, an den eine Zugriffsanforderung gestellt wurde, aus.
  • Die WAIT-Generatorschaltung 82e ist eine Schaltung zum Erhalten eines Buszustands, der von der Ablaufsteuereinheit 82d generiert wird, und zum Senden eines WAIT-Signals, um eine Warteanzeige für den Modul, der ein Busnutzungsanforderungssignal zur Nutzung dieses Busses generiert hat, anzuzeigen, wenn der Bus belegt ist.
  • Im Datenpuffer 82a gespeicherte Daten, eine vom Adressendecoder 82c generierte physische Adresse und ein Buszustandssignal, das einen von der Ablaufsteuereinheit 82d gesetzten Buszustand repräsentiert, werden in die Buszuteilungsschaltung 81 eingegeben.
  • Die Ablaufsteuereinheit 82d kann sich in zwei exklusiven Ablaufsteuereinheiten befinden, einer zur ausschließlichen Verwendung für Daten und einer zur ausschließlichen Verwendung für Adressen, und sie können individuell Zustände setzen. Mit dieser Anordnung kann die Buszuteilungsschaltung 81 eine optimale Buszuteilung in einem Buszyklus durchführen, wobei sie sich auf einen Nutzungszustand zwischen dem Datenbus IBD und dem Adressenbus IBA konzentriert.
  • Beispielsweise wird unmittelbar, nachdem eine Adresse auf dem Adressenbus im Modul, auf den zugegriffen wird, verriegelt wurde, der Adressenbus vor der Freigabe des Datenbusses freigegeben, so daß dieser Adressenbus von einem anderen Modul verwendet werden kann, um dadurch die Nutzungseffizienz der Busses insgesamt zu erhöhen.
  • Andere Busschnittstellen, wie die Datenbusschnittstelle 83, die erste Princeton-Busschnittstelle 84 und die zweite Princeton-Busschnittstelle 85, haben auch Strukturen, die einen Datenpuffer, einen Adressenpuffer, einen Adressendecoder, eine Ablaufsteuereinheit bzw. eine WAIT-Generatorschaltung auf eine Weise ähnlich der oben beschriebenen Instruktionsschnittstelle 82 enthalten. Die Erläuterung dieser Schnittstellen entfällt.
  • Es wird angenommen, daß die Datenbusschnittstelle 83 durch einen Datenpuffer 83a, einen Adressenpuffer 83b, einen Adressendecoder 83c, eine Ablaufsteuereinheit 83d und eine WAIT-Generatorschaltung 83e strukturiert ist. Ähnlich wird angenommen, daß die erste Princeton-Busschnittstelle 84 und die zweite Princeton-Busschnittstelle 85 auch durch einen Datenpuffer 84a, einen Adressenpuffer 84b, einen Adressendecoder 84c, eine Ablaufsteuereinheit 84d und eine WAIT-Generatorschaltung 84e bzw. einen Datenpuffer 85a, einen Adressenpuffer 85b, einen Adressendecoder 85c, eine Ablaufsteuereinheit 85d und eine WAIT-Generatorschaltung 85e strukturiert sind.
  • Demgemäß hat die Bussteuereinheit 31 individuelle Datenpuffer 82a bis 85a und Adressenpuffer 82b bis 85b für den Instruktionsbus IB, den Datenbus DB, den ersten Princeton-Bus PB1 und den zweiten Princeton-Bus PB2, und kann Daten und Adressen in diesen Puffern halten. Wenn ein Modul, auf den zugegriffen wird, belegt ist, ist es daher nicht notwendig, Daten und eine Adresse erneut zu senden. Unmittelbar nachdem der belegte Zustand des Moduls, auf den zugegriffen wird, freigegeben wird, ist es möglich, die Daten und die Adresse von den Datenpuffern 82a bis 85a und den Adressenpuffern 82b bis 85b zu transferieren. Folglich kann der Durchsatz des Busmasters und des Moduls, auf den zugegriffen wird, verbessert werden.
  • Da die Busse jeweils ihre eigenen Adressendecoder 82c bis 85c aufweisen, und jede Busschnittstellensektion ihr eigenes Adressenanforderungssignal ausgeben kann, kann ferner die Bussteuereinheit 31 die Belastung verteilen, die durch die Decodierverarbeitung zum Spezifizieren eines Busses, auf den zuzugreifen ist, entsteht. Zusätzlich kann die Busnutzungseffizienz verbessert werden.
  • Da die Busse jeweils ihre eigenen Ablaufsteuereinheiten 82d bis 85d aufweisen, ist es außerdem möglich, einen eigenen Busnutzungszustand für jeden Bus zu setzen, und eine individuelle Busverbindungsanforderung kann an die nachstehend zu beschreibende Buszuteilungsschaltung 81 gestellt werden. Daher kann die Belastung verringert werden, und die Ausbildung kann vereinfacht werden, verglichen mit dem Fall, wo eine Ablaufsteuereinheit in der Buszuteilungsschaltung 81 zur Verwaltung aller Busnutzungszustände vorgesehen ist.
  • Da die Busse ihre eigenen WAIT-Generatorschaltungen (82e bis 85e) aufweisen, ist es darüber hinaus möglich, ein eigenes WAIT-Signal für jeden Bus zu generieren, und eine individuelle Warteanzeige kann für einen Modul generiert werden, der eine Anforderung zur Nutzung des Busses generiert hat. Daher kann die Belastung verringert werden, und die Ausbildung kann vereinfacht werden, verglichen mit dem Fall, wo eine WAIT-Generatorschaltung in der Buszuteilungsschaltung 81 zum Generieren von WAIT-Signalen gemäß den jeweiligen Nutzungszuständen aller Busse vorgesehen ist.
  • Als nächstes werden die Konfiguration und der Betrieb der Buszuteilungsschaltung 81 erläutert, indem ein Fall als Beispiel herangezogen wird, wo die CPU 20 ein Busrecht zur Nutzung des Instruktionsbusses IB und des ersten Princeton-Busses PB1 erhält und einen Instruktionsabruf aus dem Pro gramm-ROM 51 durchführt. 5 ist ein Blockbild, das eine schematische Konfiguration der Buszuteilungsschaltung 81 zeigt.
  • Wie in 5 gezeigt, enthält die Buszuteilungsschaltung 81 einen Adressenbus-Schaltmodul 81a zum Spezifizieren eines Busses, in diesem Fall des ersten Princeton-Busses PB1, auf den auf der Basis eines Adressenzustandssignals zuzugreifen ist, das von einer Busschnittstelle, in diesem Fall der Instruktionsschnittstelle 82, eingegeben wird, und zum Senden des Adresseneingangs von der Busschnittstelle zu einem Adressenbus, in diesem Fall dem Adressenbus PBA1, und einen Datenbus-Schaltmodul 81b zum Spezifizieren eines Busses, in diesem Fall des ersten Princeton-Busses PB1, auf den auf der Basis eines Datenzustandssignals zuzugreifen ist, das von einer Busschnittstelle, in diesem Fall der Instruktionsschnittstelle 82, eingegeben wird, und zum Senden des Adresseneingangs von der Busschnittstelle zu einem Adressenbus, in diesem Fall dem Adressenbus PBD1.
  • Die aus der Buszuteilungsschaltung 81 ausgegebenen Adressen und Daten werden zum entsprechenden Adressenbus und Datenbus tatsächlich durch die Busschnittstelle, in diesem Fall die erste Princeton-Busschnittstelle 84, transferiert.
  • Als nächstes wird mit Bezugnahme auf die oben erläuterten 3 bis 5 nachstehend der Betriebsfluß des Mikroprozessors 11 erläutert, bis die CPU 20 einen Instruktioncode vom Programm-ROM 51 durch einen Instruktionsabruf erhält. Es wird angenommen, daß kein Cache-Treffer im Instruktionsspeicher 41 erhalten wurde.
  • Zuerst sendet die CPU 20 ein Busnutzungsanforderungssignal zur Nutzung des Instruktionsbusses IB und des ersten Princeton-Busses PB1 jeweils an die Bussteuereinheit 31 durch den nicht dargestellten Steuerbus. Da nur der Modul für einen Instruktionszugriff durch die CPU 20 mit dem ersten Princeton-Bus PB1 verbunden ist, kann ein Busrecht des ersten Princeton-Busses PB1 unmittelbar unter der Bedingung erhalten werden, daß ein anderer Busmaster als die CPU 20 nicht mit dem ersten Princeton-Bus PB1 verbunden ist.
  • Beim Erhalten eines Busrechts zur Nutzung des ersten Princeton-Busses PB1 sendet die CPU 20 eine Adresse, die vom Programmzähler der CPU 20 angezeigt wird, zum Adressenbus IBA des Instruktionsbusses IB. Die Instruktionsschnittstelle 82 hält diese Adresse im Adressenpuffer 82b, und sendet diese Adresse gleichzeitig an den Adressendecoder 82c. Der Adressendecoder 82c decodiert die durch den Adressenpuffer 82b gesendete Adresse und gibt ein Adressenanforderungssignal aus.
  • Dann gibt die Ablaufsteuereinheit 82d ein Lesesignal aus der CPU 20 als Steuersignal zusammen mit dem vom Adressendecoder 82c ausgegebenen Adressenanforderungssignal ein, um anzuzeigen, daß sich der Zustand des Instruktionsbusses vom Nicht-Zugriffszustand zum Lesezustand geändert hat. Gleichzeitig gibt die Ablaufsteuereinheit 82d ein Adressen/Datenzustandssignal aus, um einen Busidentifikationscode des ersten Princeton-Busses PB1 anzuzeigen, auf den zuzugreifen ist.
  • Da in diesem Fall der Instruktionsbus IB von der CPU 20 besetzt ist, erhält die WAIT-Generatorschaltung 82e den von der Ablaufsteuereinheit 82d gesetzten Lesezustand, um dadurch das WAIT-Signal zu aktivieren. Die anderen Module werden durch dieses WAIT-Signal im aktiven Zustand auf das Vornehmen eines Zugriffs auf den Instruktionsbus IB warten gelassen.
  • Die Daten, die Adresse und das Adressen/Datenzustandssignal, die aus der Instruktionsschnittstelle 82 ausgegeben werden, werden in die Buszuteilungsschaltung 81 eingegeben. In der Buszuteilungsschaltung 81 wird zuerst der Adressen busschalter für den ersten Princeton-Bus PB1 auf der Basis des Eingangs des Adressenzustandssignals im Adressenbus-Schaltmodul 81a ausgewählt, und die Eingangsadresse wird an den Adressenbus PBA1 des ersten Princeton-Busses PB1 ausgegeben.
  • Ähnlich wird im Datenbus-Schaltmodul 81b ein Datenbusschalter für den ersten Princeton-Bus PB1 auf der Basis des Eingangs des Datenzustandssignals ausgewählt, so daß der Datenbus IBD des Instruktionsbusses und der Datenbus PBD1 des ersten Princeton-Busses PB1 miteinander verbunden werden.
  • In der Realität wird die aus der Buszuteilungsschaltung 81 ausgegebene Adresse an den Adressenbus PBA1 des ersten Princeton-Busses PB1 durch die erste Princeton-Busschnittstelle 84 ausgegeben. Ähnlich werden der Datenbus IBD des Instruktionsbusses und der Datenbus PBD1 des ersten Princeton-Busses durch die erste Princeton-Busschnittstelle 84 miteinander verbunden.
  • Die Ablaufsteuereinheit 84d der ersten Princeton-Busschnittstelle 84 läßt den ersten Princeton-Bus PB1 in der Buszuteilungsschaltung 81 spezifizieren, gibt ein Lesesignal von der CPU 20 als Steuersignal ein, und zeigt an, daß sich der Zustand des ersten Princeton-Busses PB1 vom Nicht-Zugriffszustand zum Lesezustand geändert hat.
  • Da in diesem Fall der erste Princeton-Bus PB1 von der CPU 20 besetzt ist, erhält die WAIT-Generatorschaltung 84e den von der Ablaufsteuereinheit 84d gesetzten Lesezustand, um dadurch das WAIT-Signal zu aktivieren. Die anderen Module werden durch dieses WAIT-Signal im aktiven Zustand auf das Vornehmen eines Zugriffs auf den ersten Princeton-Bus PB1 warten gelassen.
  • Andererseits empfängt der Programm-ROM 51 ein Adressen-Strobe-Signal, das repräsentiert, daß eine effektive Adresse auf dem Adressenbus PBA1 gesendet wird, durch den nicht dargestellten Steuerbus von der Bussteuereinheit 31. So ruft der Programm-ROM 51 die an den Adressenbus PBA1 des ersten Princeton-Busses PB1 gesendete Adresse ab, nimmt einen entsprechenden Instruktionscode aus dem durch diese Adresse angezeigten Speicherbereich heraus; und sendet diesen Instruktionscode an den Datenbus PBD1 des ersten Princeton-Busses PB1.
  • Dann sendet der Programm-ROM 51 ein Datenquittungssignal, das die Vollendung der Datenübertragung repräsentiert, an die Bussteuereinheit 31 durch den nicht dargestellten Steuerbus.
  • Beim Empfang des Datenquittungssignals sendet die Bussteuereinheit 31, spezifischer die Buszuteilungsschaltung 81, die an den Datenbus PBD1 des ersten Princeton-Busses PB1 gesendeten Daten an den Datenpuffer 82a der Instruktionsschnittstelle 82.
  • Wenn in diesem Fall die CPU 20 einen BUSY-Zustand aufgrund einer anderen Verarbeitung anzeigt, und Daten beispielsweise nicht sofort empfangen kann, werden die zu empfangenden Daten im Datenpuffer 82a gehalten. Daher kann die CPU 20 diese Daten durch den Datenbus IBD des Instruktionsbusses IB empfangen, unmittelbar nachdem der BUSY-Zustand aufgehoben wurde.
  • Danach wird ein Busfreigabesignal zum Freigeben des Instruktionsbusses IB und des ersten Princeton-Busses PB1 zur Bussteuereinheit 31 gesendet. Gleichzeitig wird das WAIT-Signal in der Instruktionsschnittstelle 82 und der ersten Princeton-Busschnittstelle 84 in den nicht-aktiven Zustand gesetzt, und der Verschiebungszustand der Ablaufsteuereinheit wird in den Nicht-Zugriffszustand zurückgeführt.
  • Als nächstes wird der Betriebsfluß des Mikroprozessors 11 für den Fall erläutert, wo die CPU 20 Daten in die mit dem zweiten Princeton-Bus PB2 verbundene SDRAM-I/F 62 schreibt, gleichzeitig mit einem Start der Zugriffsverarbeitung auf den Programm-ROM 51 durch die CPU 20. Es wird angenommen, daß kein Cache-Treffer im Datenspeicher 42 erhalten wurde.
  • In diesem Fall sendet die CPU 20 ein Busnutzungsanforderungssignal zur Nutzung des Datenbusses DB bzw. des zweiten Princeton-Busses PB2 zur Bussteuereinheit 31 durch den nicht dargestellten Steuerbus. Da nur der Modul für einen Instruktionszugriff durch die CPU 20 mit dem ersten Princeton-Bus PB1 verbunden ist, kann ein Busrecht des zweiten Princeton-Busses PB2 unter der Bedingung unmittelbar erhalten werden, daß ein anderer Busmaster als die CPU 20 nicht mit dem ersten Princeton-Bus PB1 verbunden ist.
  • Beim Erhalten eines Busrechts zur Nutzung des zweiten Princeton-Busses PB2 sendet die CPU 20 eine Adresse zum Speichern der im Instruktionsregister der CPU 20 angezeigten Daten an den Adressenbus DBA des Datenbusses IB. Die Datenbusschnittstelle 83 hält diese Adresse im Adressenpuffer ähnlich der Instruktionsschnittstelle 82, und sendet diese Adresse gleichzeitig an den Adressendecoder 83c. Der Adressendecoder 83c decodiert die durch den Adressenpuffer 83b gesendete Adresse, und gibt ein Adressenanforderungssignal aus.
  • Ferner sendet die CPU 20 die im Instruktionsregister der CPU 20 angezeigten Daten an den Datenbus DBD des Datenbusses DB. Die Datenbusschnittstelle 83 hält die Adresse auf dem Adressenbus DBA im Adressenpuffer auf eine Weise ähnlich der Instruktionsschnittstelle 82, und sendet diese Adresse gleichzeitig an den Adressendecoder 83c. Der Adressendecoder 83c decodiert die durch den Adressenpuffer 83b gesendete Adresse, und gibt ein Adressenanforderungssignal aus. Die Daten auf dem Datenbus DBD werden auch auf ähnlich Weise im Datenpuffer 83a gehalten.
  • Dann gibt die Ablaufsteuereinheit 83d ein Schreibsignal von der CPU 20 als Steuersignal zusammen mit dem aus dem Adressendecoder 83c ausgegebenen Adressenanforderungssignal ein, um anzuzeigen, daß sich der Zustand des Datenbusses DB vom Nicht-Zugriffszustand zum Schreibzustand geändert hat. Gleichzeitig gibt die Ablaufsteuereinheit 83d ein Adressen/ Datenzustandssignal zum Anzeigen eines Busidentifikationscodes des zweiten Princeton-Busses PB2, auf den zuzugreifen ist, aus.
  • In diesem Fall ist der Datenbus DB von der CPU 20 besetzt, die WAIT-Generatorschaltung 83e erhält den von der Ablaufsteuereinheit 83d gesetzten Schreibzustand, um dadurch das WAIT-Signal zu aktivieren. Die anderen Module werden durch dieses WAIT-Signal im aktiven Zustand auf das Vornehmen eines Zugriffs auf den Datenbus DB warten gelassen.
  • Die Daten, die Adresse und das Adressen/Datenzustandssignal, die aus der Datenbusschnittstelle 83 ausgegeben werden, werden in die Buszuteilungsschaltung 81 eingegeben. In der Buszuteilungsschaltung 81 wird zuerst ein Adressenbusschalter für den zweiten Princeton-Bus PB2 durch den Eingang des Adressenzustandssignals im Adressenbus-Schaltmodul 81a ausgewählt, und die Eingangsadresse wird an den Adressenbus PBA2 des zweiten Princeton-Busses PB2 ausgegeben.
  • Ähnlich wird im Datenbus-Schaltmodul 81b ein Datenbusschalter für den zweiten Princeton-Bus PB2 durch den Eingang des Datenzustandssignals ausgewählt, so daß der Datenbus DBD des Datenbusses und der Datenbus PBD1 des zweiten Princeton-Busses PB2 miteinander verbunden werden.
  • In der Realität wird die aus der Buszuteilungsschaltung 81 ausgegebene Adresse an den Adressenbus PBA2 des zweiten Princeton-Busses PB2 durch die zweite Princeton-Busschnittstelle 85 ausgegeben. Ähnlich werden der Datenbus DBD des Datenbusses und der Datenbus PBD2 des zweiten Princeton-Busses PB2 durch die zweite Princeton-Busschnittstelle 85 miteinander verbunden.
  • Die Ablaufsteuereinheit 85d der zweiten Princeton-Busschnittstelle 85 läßt den zweiten Princeton-Bus PB2 in der Buszuteilungsschaltung 81 spezifizieren, gibt ein Schreibsignal von der CPU 20 als Steuersignal ein, und zeigt an, daß sich der Zustand des zweiten Princeton-Busses PB2 vom Nicht-Zugriffszustand zum Schreibzustand geändert hat.
  • Da in diesem Fall der zweite Princeton-Bus PB2 von der CPU 20 besetzt ist, erhält die WAIT-Generatorschaltung 85e den von der Ablaufsteuereinheit 85d gesetzten Schreibzustand, um dadurch das WAIT-Signal zu aktivieren. Die anderen Module werden durch dieses WAIT-Signal im aktiven Zustand auf das Vornehmen eines Zugriffs auf den zweiten Princeton-Bus PB2 warten gelassen.
  • Andererseits empfängt die SDRAM-I/F 62 ein Adressen-Strobe-Signal, um anzuzeigen, daß eine effektive Adresse auf dem Adressenbus PBA2 gesendet wird, durch den nicht dargestellten Steuerbus von der Bussteuereinheit 31. So ruft die SDRAM-I/F 62 die an den Adressenbus PBA2 des zweiten Princeton-Busses PB2 gesendete Adresse ab, und speichert die auf dem Datenbus PDB2 übertragenen Daten in dem durch diese Adresse angezeigten Speicherbereich.
  • Dann sendet die SDRAM-I/F 62 ein Datenquittungssignal zum Anzeigen der Vollendung des Speicherns von Daten an die Bussteuereinheit 31 durch einen Steuerbus (nicht dargestellt). So beendet die CPU 20 die Zugriffsverarbeitung auf die SDRAM I/F 62. Danach wird ein Busfreigabesignal zum Freigeben des zweiten Princeton-Busses PB2 zur Bussteuereinheit 31 gesendet. Gleichzeitig wird das WAIT-Signal in der Datenbusschnittstelle 83 und der zweiten Princeton-Busschnittstelle 85 auf den nicht-aktiven Zustand gesetzt, und der Verschiebungszustand der Ablaufsteuereinheit wird zum Nicht-Zugriffszustand zurückgeführt.
  • Wie oben erläutert, kann die CPU 20 gleichzeitig den Instruktionszugriff und den Datenzugriff durchführen, so daß die Busse mit höherer Effizienz genutzt werden können, indem die Vorteile der Harvard-Architektur bestmöglich genutzt werden.
  • 6 ist ein Zeitdiagramm zur Erläuterung des gleichzeitigen Zugriffs des ersten Princeton-Busses PB1 und des zweiten Princeton-Busses PB2 durch die CPU 20. Wie in 6 gezeigt, kann die CPU 20 gleichzeitig eine Anforderung zur Nutzung des Instruktionsbusses IB und eine Anforderung zur Nutzung des Datenbusses DB in zwei Zyklen C1 und C2 eines Systemtakts CLK stellen. Die CPU 20 kann auch gleichzeitig eine Anforderung zur Nutzung des ersten Princeton-Busses PB1 und eine Anforderung zur Nutzung des zweiten Princeton-Busses PB2 in den nachfolgenden zwei Zyklen C2 und C3 stellen.
  • Ferner kann die Buszuteilungsschaltung 81 eine Prioritätsreihenfolge der Busse setzen, die den Instruktionsbus IB, den Datenbus DB, den ersten Princeton-Bus PB1 und den zweiten Princeton-Bus PB2 enthalten, wenn Busverbindungsanforderungen gleichzeitig von jeder Busschnittstelle gestellt wurden.
  • Wenn beispielsweise Busverbindungsanforderungen an den Instruktionsbus IB und den Datenbus DB von der CPU 20 gestellt wurden, ist es möglich, den Datenbus DB mit hoher Priorität zu verbinden. Die Prioritätsreihenfolge von Busverbindungen kann nach Bedarf geändert werden, indem eine derartige Strukturierung vorgenommen wird, daß die Buszuteilungsschaltung 81 von der CPU 20 ein Prioritätsreihenfolgesignal zum Setzen der Prioritätsreihenfolge empfängt.
  • Wie oben erläutert, werden gemäß dem Mikroprozessor 11 in bezug auf die erste Ausführungsform der vorliegenden Erfindung die Module des Programm-ROM 51, des Programm-RAM 52 und dgl., in denen Instruktionszugriffe von der CPU 20 konzentriert werden, im ersten Princeton-Bus PB1 zusammengesetzt, und die Module der externen Bus-I/F 61, der SDRAM-I/F 62, der peripheren Bus-I/F 63 und dgl., in denen hauptsächlich Datenzugriffe konzentriert werden, werden im zweiten Princeton-Bus zusammengesetzt.
  • Folglich ist es möglich, die Vorteile der Konfiguration unter Verwendung der Harvard-Architektur bestmöglich zu nutzen, worin die Instruktionszugriffe und die Datenzugriffe von den individuellen exklusiven Bussen des Instruktionsbusses und des Datenbusses durch die Bussteuereinheit 31 durchgeführt werden. So können der Instruktionszugriff und der Datenzugriff parallel durchgeführt werden, wodurch es möglich wird, die Busse effizient zu nutzen, und den Durchsatz der CPU 20 wesentlich zu verbessern.
  • Im Mikroprozessor 11 in bezug auf die erste Ausführungsform sind die Ablaufsteuereinheiten 82d bis 85d und die WAIT-Generatorschaltungen 82e bis 85e jeweils in jeder der Busschnittstellensektionen vorgesehen, welche die Instruktionsschnittstelle 82, die Datenbusschnittstelle 83, die erste Princeton-Busschnittstelle 84 und die zweite Princeton-Busschnittstelle 85 enthalten. Alternativ dazu können diese Ablaufsteuereinheiten 82e bis 85d und die WAIT-Generatorschaltungen 82e bis 85e auch innerhalb der Buszuteilungsschaltung 81 vorgesehen sein, indem sie entsprechend jeder Busschnittstelle vorgesehen werden.
  • 7 ist ein Blockbild, das eine schematische Konfiguration einer Instruktionsschnittstelle 82' als weiteres Beispiel der Instruktionsschnittstelle zur Erläuterung dieses alternativen Falls zeigt. 8 ist ein Blockbild, das eine schematische Konfiguration einer Buszuteilungsschaltung 81' als weiteres Beispiel der Buszuteilungsschaltung zur Erläuterung dieses alternativen Falls zeigt.
  • Wie in 7 gezeigt, enthält die Instruktionsschnittstelle 82' einen Datenpuffer 82'a, einen Adressenpuffer 82'b und einen Adressendecoder 82'c. Diese Puffer haben dieselben Funktionen wie die Funktionen des in 4 gezeigten Datenpuffers 82a, Adressenpuffers 82b und Adressendecoders 82c, und daher entfällt eine Erläuterung dieser Puffer. Andere Busschnittstellen, die eine Datenbusschnittstelle, einen ersten Princeton-Bus und einen zweiten Princeton-Bus enthalten, haben auch dieselben Strukturen wie die Instruktionsschnittstelle 82'.
  • Andererseits enthält, wie in 8 gezeigt, die Buszuteilungsschaltung 81' einen Adressenbus-Schaltmodul 81'a und einen Datenbus-Schaltmodul 81'b, die dem in 5 gezeigten Adressenbus-Schaltmodul 81a bzw. Datenbus-Schaltmodul 81b entsprechen. Zusätzlich zu obigem enthält die Buszuteilungsschaltung 81' auch eine Adressen-WAIT-Generatorschaltung 81'c, eine Adressen-Ablaufsteuereinheit 81'd, eine Daten-Ablaufsteuereinheit 81'e und eine Daten-WAIT-Generatorschaltung 81'f.
  • Die Adressen-Ablaufsteuereinheit 81'd und die Daten-Ablaufsteuereinheit 81'e haben dieselben Funktionen wie die Funktionen der in 4 gezeigten Ablaufsteuereinheit 82d. Die Adressen-WAIT-Generatorschaltung 81'c und die Daten-WAIT-Generatorschaltung 81'f haben auch dieselben Funktionen wie die Funktionen der in 4 gezeigten WAIT-Generatorschaltung 82e. Daher entfällt die Erläuterung dieser Ablaufsteuereinheiten und Schaltungen.
  • Als nächstes wird ein Mikroprozessor in bezug auf die zweite Ausführungsform erläutert. Die zweite Ausführungsform unterscheidet sich von der ersten Ausführungsform dadurch, daß die Bussteuereinheit 31 eine DMA-Schnittstelle 86 auf weist, die mit der Buszuteilungsschaltung 81 verbunden ist, und daß der DMA-Controller 53 direkt mit der Bussteuereinheit verbunden ist. 9 ist ein Blockbild, das eine schematische Konfiguration des Mikroprozessors in bezug auf die zweite Ausführungsform zeigt. Teile, die mit jenen in 2 identisch sind, sind mit identischen Bezugszahlen versehen, und ihre Erläuterung entfällt.
  • In 9 hat ein Mikroprozessor 12 die DMA-Schnittstelle 86 in einer Bussteuereinheit 32, so daß ein DMA-Controller 53 als repräsentativer anderer Busmaster als die CPU 20 direkt mit der Bussteuereinheit 32 verbunden werden kann, ohne durch einen Bus zu gehen.
  • Mit dieser Anordnung entsteht im Gegensatz zum herkömmlichen Mikroprozessor 100 kein derartiges Problem, daß es eine längere Zeit dauert, um ein Busrecht zur Nutzung des eigenen DMA-Controllers zu erhalten, gemäß dem Betrieb eines anderen Moduls, der mit demselben Bus verbunden ist, mit dem der DMA-Controller zu verbinden ist. Daher ist es möglich, einen prompten Zugriff auf die Buszuteilungsschaltung 81 vorzunehmen, um ein Busrecht zur Nutzung eines Busses zu erhalten, mit dem ein Modul, der zugreift, bzw. ein Modul, auf den zugegriffen wird, in einem DMA-Transfer verbunden sind.
  • Die DMA-Schnittstelle 86 hat einen Datenpuffer und einen Adressenpuffer, ähnlich den Busschnittstellen der Bussteuereinheit 32, welche die Instruktionsschnittstelle 82, die Datenbusschnittstelle 83, die erste Princeton-Busschnittstelle 84 und die zweite Princeton-Busschnittstelle 85 enthalten.
  • Mit dieser Anordnung können die herkömmlich innerhalb des DMA-Controllers vorgesehenen Puffer in der Bussteuereinheit 32 zusammengesetzt werden, und der Betrieb der DMA-Schnittstelle 86 sowie der Betrieb der oben beschriebenen Busschnittstelle können von der Buszuteilungsschaltung 81 gesteuert werden. Daher kann die Struktur des DMA-Controllers 53 einfach ausgebildet werden. Die Ausbildung der Bussteuereinheit 32 kann auch effektiv genutzt werden.
  • So ist gemäß dem Mikroprozessor 12 in bezug auf die zweite Ausführungsform der DMA-Controller 53 als Busmaster direkt mit der Bussteuereinheit 32 verbunden und wird von der Buszuteilungsschaltung 81 verwaltet. Daher kann im Vergleich zum herkömmlichen Verbindungsverfahren des DMA-Controllers die auf die Busse ausgeübte Belastung verringert werden, und ein Busrecht für einen DMA-Transfer kann auch prompt erhalten werden. Ferner kann eine effiziente Bussteuerung in der Bussteuereinheit 32 erzielt werden.
  • Außerdem wird zusammen mit der Leistung der Verringerung der auf die Busse ausgeübten Belastung die parallele Verarbeitung des Instruktionszugriffs und des Datenzugriffs effektiver, die der Vorteil der Struktur der Harvard-Architektur ist. Durch das Einführen des DMA-Controllers wird es auch möglich, den Durchsatz der CPU 20 wesentlich zu verbessern.
  • Als nächstes wird ein Mikroprozessor in bezug auf eine dritte Ausführungsform der vorliegenden Erfindung erläutert. Die dritte Ausführungsform unterscheidet sich von der ersten und zweiten Ausführungsform dadurch, daß ein externer Anschluß in der Bussteuereinheit 31 vorgesehen ist, um eine Bussteuereinheit 33 zu erhalten. Wenn ein Standby-Betriebsanforderungssignal in diesen externen Anschluß eingegeben wird, erteilt gemäß dieser Bussteuereinheit 33 die Buszuteilungsschaltung 81 eine Bushalteanforderung an jede Busschnittstelle. In einem Zustand, wo ein Busrecht jedes Busses erhalten wird, kann die Buszuteilungsschaltung 81 ein Betriebsstopp-Anforderungssignal an mit den Bussen verbundene Module senden.
  • 10 ist ein Blockbild, das eine schematische Konfi guration des Mikroprozessors in bezug auf die dritte Ausführungsform der vorliegenden Erfindung zeigt. Teile, die mit jenen in 2 identisch sind, sind mit identischen Bezugszahlen versehen, und die Erläuterung dieser Teile entfällt. Die Beschreibung von mit den Bussen verbundenen Modulen wird weggelassen, und es ist nur die Bussteuereinheit 33 gezeigt.
  • Wie in 10 gezeigt, ist ein externer Anschluß 90 mit der Buszuteilungsschaltung 81 der Bussteuereinheit 33 verbunden. Wenn beispielsweise gewünscht wird, den Standby-Betrieb des Mikroprozessors zu bestätigen, gibt dieser externe Anschluß 90 ein Standby-Betriebsanforderungssignal ein. Wenn ein Standby-Betriebsanforderungssignal vom externen Anschluß 90 eingegeben wurde, sendet die Buszuteilungsschaltung 81 ein Bushalteanforderungssignal an die Busschnittstellen, welche die Instruktionsschnittstelle 82, die Datenbusschnittstelle 83, die erste Princeton-Busschnittstelle 84 und die zweite Princeton-Busschnittstelle 85 enthalten.
  • Spezifischer sendet jede Busschnittstelle ein Busnutzungsanforderungssignal an einen Modul, der ein Busrecht zur Nutzung eines Busses hat. Wenn der Modul, der dieses Busnutzungsanforderungssignal empfangen hat, einen Buszyklus beendet hat, sendet der Modul ein Busfreigabesignal an die Busschnittstelle, so daß die Busschnittstelle, die dieses Freigabesignal empfangen hat, das Busrecht erhält.
  • Wenn die Bussteuereinheit 30 Busrechte zur Nutzung des Instruktionsbusses IB, des Datenbusses DB, des ersten Princeton-Busses PH1 und des zweiten Princeton-Busses PB2 erhalten hat, aktiviert die Bussteuereinheit 30 ein Betriebsstopp-Anzeigesignal, das für jeden des Instruktionsbusses IB, des Datenbusses DB, des ersten Princeton-Busses PB1 bzw. des zweiten Princeton-Busses PB2 vorbereitet wurde.
  • Wenn dieses Betriebsstopp-Anzeigesignal aktiviert wird, wird das Betriebsstopp-Anforderungssignal zu jedem Modul gesendet. Beim Empfang dieses Betriebsstopp-Anforderungssignals unterbricht jeder Modul eine Eingabe eines Taktsignals, das dem Modul zugeführt wird, um die Operation zu halten. So wird ein Standby-Zustand des Mikroprozessors erhalten, ohne eine Speicheroperation der CPU 20 zu involvieren, und ein Standby-Betrieb kann zur Zeit der Bestätigung eines Testbetriebs leicht gestartet werden.
  • Ferner ist es auch möglich, anstelle des externen Anschlusses 90 eine Standby-Register 91 vorzusehen, in das eine Flagge geschrieben wird, die eine Standby-Betriebsanforderung durch einen Eingang eines einen Testmodus anzeigenden Signals anzeigt. 11 ist ein Blockbild, das eine schematische Konfiguration einer Bussteuereinheit eines weiteren Beispiels zeigt, um diesen alternativen Fall zu veranschaulichen. Wie in 11 gezeigt, hat die Bussteuereinheit denselben Betrieb, außer daß der externe Anschluß 90 in 10 durch das Standby-Register 91 ersetzt wurde.
  • So ist es gemäß dem Mikroprozessor in bezug auf die dritte Ausführungsform möglich, in die Bussteuereinheit 33 ein Standby-Betriebsanforderungssignal einzugeben, um beispielsweise einen Standby-Betrieb in einem Testmodus zu aktivieren, dann ein Busrecht zur Nutzung jedes des Instruktionsbusses IB, des Datenbusses DB, des ersten Princeton-Busses PB1 und des zweiten Princeton-Busses PH2 zu erhalten, und danach die Zuführung eines Taktsignals zu jedem Modul zu halten. Daher ist es im Gegensatz zur herkömmlichen Praxis leicht möglich, den Mikroprozessor in einen Standby-Betrieb zu versetzen, ohne die Notwendigkeit zu involvieren, daß die CPU 20 eine Speicheroperation zur Zeit eines Testbetriebs durchführt.
  • Die in 10 und 11 gezeigte Bussteuereinheit 33 kann so konfiguriert sein, daß der DMA-Controller direkt mit der Bussteuereinheit verbunden ist, in einer leise ähnlich der in der zweiten Ausführungsform erläuterten Bussteuereinheit 32.
  • Ferner können in der ersten bis dritten Ausführungsform als Module, die mit dem Instruktionsbus IB, dem Speicherbus DB, dem ersten Princeton-Bus PB1 bzw. dem zweiten Princeton-Bus PB2 verbunden sind, andere Busmaster als der DMA-Controller angeschlossen sein, um unabhängig eine Busnutzungsanforderung an die Bussteuereinheiten 30 bis 33 zu stellen.
  • Außerdem wird in der ersten bis dritten Ausführungsform angegeben, daß der Instruktionsspeicher 41 und der Datenspeicher 42 als Cache-Speicher funktionieren, diese Speicher können jedoch keine Gache-Speicher sein, sondern als gewöhnliche Speicher wie ein SDRAM verwendet werden, der mit dem Programm-RAM 52 und der SDRAM-I/F 62 verbunden ist. Beispielsweise ist es möglich, den Instruktionsspeicher 41 als Cache-Speicher zu verwenden, und den Datenspeicher 42 als gewöhnlichen Speicher zu verwenden.
  • Ferner kann die vorliegende Erfindung in den in 12A bis 120 gezeigten Fällen verwendet werden. Beispielsweise kann, wie in 12A gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der Datenspeicher 132, der mit dem Datenbus DB verbunden ist, kann auf den zweiten Princeton-Bus PB2 Seite-an-Seite zugreifen. Ähnlich kann, wie in 12B gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der Datenspeicher 132, der mit dem Datenbus DB verbunden ist, kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in 12C gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB verbunden ist, und der erste Princeton-Bus PB1 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in 12D gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller 53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in 12E gezeigt, der Datenspeicher 132, der mit dem Datenbus DB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller 53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in 12F gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB verbunden ist, und der DMA-Controller 53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in 12G gezeigt, der Datenspeicher 132, der mit dem Datenbus DB verbunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller 53 kann auf den ersten Princeton-Bus PB1 zugreifen.
  • Darüber hinaus kann, wie in 12H gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller 53 kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in 12I gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB verbunden ist, und der DMA-Controller 53 kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in 12J gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller 53 kann auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in 12K gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB ver bunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller 53 kann auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in 12L gezeigt, der erste Princeton-Bus PB1 auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller 53 kann auf den Datenspeicher 132 zugreifen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in 12M gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den DMA-Controller S3 zugreifen, und der Datenspeicher 132, der mit dem Datenbus DB verbunden ist, kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in 12N gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den DMA-Controller 53 zugreifen, und der Datenspeicher 132, der mit dem Datenbus DB verbunden ist, kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in 12O gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den DMA-Controller 53 zugreifen, und der erste Princeton-Bus PB1 kann auf den zweiten Princeton-Bus PB2 zugreifen.
  • Durch den Zugriff auf die Busse in dieser Weise ohne jegliche Art einer Einschränkung können die Busse effizient genutzt werden, und der Durchsatz der Instruktionsausführungssektion kann stark verbessert werden.
  • Wie oben erläutert, im Gegensatz zum herkömmlichen Mikroprozessor, bei dem die CPU Daten aus der externen Bus-I/F oder dgl. abrufen muß, die mit demselben Princeton-Bus verbunden ist, nachdem sie auf die Vollendung eines Instruktionsabrufs vom Programm-ROM durch den Instruktionsbus gewartet hat, hat der Mikroprozessor der vorliegenden Erfindung die folgenden Charakteristiken. Die Module des Programm-ROM, des Programm-RAM und dgl., in denen Instruktionszugriffe von der CPU konzentriert werden, werden im ersten Princeton-Bus zusammengesetzt, und die Module der externen Bus-I/F, der SDRAM-I/F, der peripheren Bus-I/F und dgl., in denen hauptsächlich Datenzugriffe konzentriert werden, werden im zweiten Princeton-Bus zusammengesetzt. Daher können der Instruktionszugriff und der Datenzugriff parallel in bezug auf den ersten Princeton-Bus und den zweiten Princeton-Bus durch die Bussteuereinheit durchgeführt werden. Ferner können die Busse effizient genutzt werden, so daß der Durchsatz der CPU wesentlich verbessert werden kann.
  • Gemäß dem herkömmlichen Mikroprozessor ist der DMA-Controller als Busmaster am Bus angeschlossen, und es besteht die Tendenz dazu, längere Zeit zu dauern, bis der DMA-Controller ein Busrecht zur Nutzung dieses Busses erhält.
  • Im Gegensatz dazu ist gemäß dem Mikroprozessor der vorliegenden Erfindung der DMA-Controller direkt mit der Bussteuereinheit 32 verbunden, um dadurch die Notwendigkeit zu vermeiden, daß der DMA-Controller selbst das Busrecht erhält. Daher wurde es möglich, ein Busrecht prompt zu erhalten. Zusammen mit der Leistung der Verringerung der auf die Busse ausgeübten Belastung wurde die parallele Verarbeitung des Instruktionszugriffs und des Datenzugriffs als Vorteil der Struktur der Harvard-Architektur effektiver. Durch das Einführen des DMA-Controllers wurde es möglich, den Durchsatz der CPU weiter zu verbessern.
  • Ferner muß gemäß dem herkömmlichen Mikroprozessor die CPU zur Durchführung eines Standby-Betriebs eine Speicheroperation durchführen, indem das Steuerregister innerhalb des Takt-Controllers betrieben wird, und folglich wird ein Halten eines Takts ausgeführt. Es war notwendig, ein Minimumprogramm für den Testbetrieb des Haltens des Taktsignal vorzubereiten.
  • Im Gegensatz dazu ist es gemäß dem Mikroprozessor der vorliegenden Erfindung möglich, in die Bussteuereinheit ein Standby-Betriebsanforderungssignal einzugeben, um einen Standby-Betrieb in einem Testmodus zu aktivieren, dann ein Recht zur Nutzung jedes des Instruktionsbusses, des Datenbusses, des ersten Princeton-Busses und des zweiten Princeton-Busses zu erhalten, und danach eine Zuführung eines Taktsignals an jeden Modul zu halten. Daher ist es im Gegensatz zur herkömmlichen Praxis leicht möglich, den Mikroprozessor in einen Standby-Betrieb zu versetzen, ohne die Notwendigkeit zu involvieren, daß die CPU 20 eine Speicheroperation zur Zeit eines Testbetriebs durchführt.

Claims (10)

  1. Mikroprozessor (10), mit: einer CPU (20) zum Ausführen einer Instruktion; einem Instruktionsspeicher (41) zum Speichern von Instruktionen; einem Datenspeicher (42) zum Speichern von Daten; einem Instruktionsbus (IB) zum Vornehmen eines Zugriffs auf den Instruktionsspeicher; einem Datenbus (DB) zum Vornehmen eines Zugriffs auf den Datenspeicher; einem ersten Princeton-Bus (PB1), der mit Modulen (51, 52) für einen Instruktionszugriff verbunden ist; einem zweiten Princeton-Bus (PB2), der mit Modulen (61, 62, 63) für einen Datenzugriff verbunden ist; und einer Bussteuereinheit (30; 31; 32; 33) zum Durchführen einer Buszuteilung des Instruktionsbusses, des Datenbusses, des ersten Princeton-Busses und des zweiten Princeton-Busses gemäß einer Busnutzungsanforderung von der CPU.
  2. Mikroprozessor nach Anspruch 1, bei welchem die Bussteuereinheit getrennte Busschnittstellensektionen (82, 83, 84, 85) für den Instruktionsbus, den Datenbus, den ersten Princeton-Bus und den zweiten Princeton-Bus zum Durchführen einer Eingabe/Ausgabe-Steuerung von Daten und Adressen enthält, und jede der Busschnittstellensektionen mit Datenpuffern (82a, 83a, 84a, 85a) zum Halten von Daten und Adressenpuffern (82b, 83b, 84b, 85b) zum Halten von Adressen versehen ist.
  3. Mikroprozessor nach Anspruch 1, bei welchem die Bussteuereinheit getrennte Busschnittstellensektionen (82, 83, 84, 85) für den Instruktionsbus, den Datenbus, den ersten Princeton-Bus und den zweiten Princeton-Bus zum Durchführen einer Eingabe/Ausgabe-Steuerung von Daten und Adressen enthält, und jede der Busschnittstellensektionen mit Adressendecodern (82c, 83c, 84c, 85c, 82'c) zum Decodieren der Adresse und Ausgeben eines Adressenanforderungssignals versehen ist, das ein Verbindungsanforderungsziel anzeigt.
  4. Mikroprozessor nach Anspruch 1, bei welchem die Bussteuereinheit getrennte Ablaufsteuereinheiten (82d, 83d, 84d, 85d, 81'd, 81'e) für den Instruktionsbus, den Datenbus, den ersten Princeton-Bus und den zweiten Princeton-Bus zum Generieren eines Zustandssignals aufweist, welches einen Nutzungszustand eines Busses gemäß einem Steuersignal anzeigt, das aus den Modulen ausgegeben wird, die mit dem Instruktionsbus, dem Datenbus, dem ersten Princeton-Bus und dem zweiten Princeton-Bus verbunden sind, und eine Busverbindung gemäß einem Zustandssignal durchführt, das von den Ablaufsteuereinheiten generiert wird.
  5. Mikroprozessor nach Anspruch 4, bei welchem die Bussteuereinheit getrennte Warteanzeige-Generatorschaltungen (82e, 83e, 84e, 85e, 81'c, 81'f) für den Instruktionsbus, den Datenbus, den ersten Princeton-Bus und den zweiten Princeton-Bus zum Ausgeben eines Warteanzeigesignals an einen Modul aufweist, welcher eine Busnutzungsanforderung an einen Bus gestellt hat, der sich in einem Buszugriffszustand befindet, wenn ein von der Ablaufsteuereinheit generiertes Signal den Buszugriffszustand anzeigt.
  6. Mikroprozessor nach Anspruch 1, bei welchem die Bussteuereinheit ein Prioritätsreihenfolge-Signal zum Setzen einer Prioritätsreihenfolge von zu verbindenden Bussen eingibt, und wenn eine Vielzahl von Verbindungsanforderungen an verschiedene Busse unter dem Instruktionsbus, dem Datenbus, dem ersten Princeton-Bus und dem zweiten Princeton-Bus generiert wird, die Bussteuereinheit dann die Busse gemäß der vom Prioritätsreihenfolge-Signal gesetzten Prioritätsreihenfolge verbindet.
  7. Mikroprozessor nach Anspruch 1, bei welchem die Bussteuereinheit eine DMA-Schnittstelle (86) zum Durchführen einer Eingabe/Ausgabe-Steuerung eines DMA-Transfers aufweist, indem damit ein DMA-Controller (53) zum Steuern des DMA-Transfers verbunden wird.
  8. Mikroprozessor nach Anspruch 7, bei welchem die DMA-Schnittstelle (86) einen Datenpuffer zum Halten von zur DMA-Transferzeit eingegebenen und ausgegebenen Daten und einen Adressenpuffer zum Halten einer Adresse aufweist.
  9. Mikroprozessor nach Anspruch 1, bei welchem die Bussteuereinheit ein Standby-Anforderungssignal zum Anfordern eines Standby-Betriebs eingibt, um den Betrieb eines mit jedem Bus verbundenen Moduls temporär zu stoppen, dann ein Nutzungsrecht für jeden Bus in jeder der Busschnittstellen erhält, gemäß dem Standby-Anforderungssignal, und danach an jeden mit jedem Bus verbundenen Modul ein Betriebsstopp-Anforderungssignal ausgibt, das eine Anforderung zum Unterbrechen eines den Modulen zugeführten Takts repräsentiert.
  10. Mikroprozessor nach Anspruch 1, bei welchem als mit den Bussen zu verbindende Module Busmaster zum unabhängigen Generieren einer Busnutzungsanforderung an die Bussteuereinheit angeschlossen sind.
DE19950255A 1998-12-01 1999-10-18 Mikroprozessor Expired - Lifetime DE19950255B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10-341205 1998-12-01
JP34120598A JP3623379B2 (ja) 1998-12-01 1998-12-01 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
DE19950255A1 DE19950255A1 (de) 2000-06-15
DE19950255B4 true DE19950255B4 (de) 2004-05-13

Family

ID=18344198

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19950255A Expired - Lifetime DE19950255B4 (de) 1998-12-01 1999-10-18 Mikroprozessor

Country Status (3)

Country Link
US (1) US6516378B1 (de)
JP (1) JP3623379B2 (de)
DE (1) DE19950255B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013005971B3 (de) * 2013-04-09 2014-08-28 Friedhelm Becker Schadsoftware-sicheres Datenverarbeitungssystem

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946831B1 (ko) 2001-01-31 2010-03-09 가부시키가이샤 히타치세이사쿠쇼 데이터 처리 시스템 및 데이터 프로세서
US6959354B2 (en) * 2001-03-08 2005-10-25 Sony Corporation Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
US6871247B1 (en) * 2001-11-08 2005-03-22 Lsi Logic Corporation Mechanism for supporting self-modifying code in a harvard architecture digital signal processor and method of operation thereof
CN100465929C (zh) * 2003-02-24 2009-03-04 扬智科技股份有限公司 并行数据总线组、数据***及其组件联系方法
US7240144B2 (en) * 2004-04-02 2007-07-03 Arm Limited Arbitration of data transfer requests
JP4553622B2 (ja) * 2004-04-09 2010-09-29 ルネサスエレクトロニクス株式会社 データ処理装置
JP5062950B2 (ja) * 2004-10-20 2012-10-31 キヤノン株式会社 ダイレクトメモリアクセス装置及びその制御方法
JP4989872B2 (ja) * 2005-10-13 2012-08-01 ルネサスエレクトロニクス株式会社 半導体記憶装置および演算処理装置
JP4324810B2 (ja) * 2007-04-10 2009-09-02 セイコーエプソン株式会社 マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式
CN101676734A (zh) * 2008-09-16 2010-03-24 鸿富锦精密工业(深圳)有限公司 总线参数自动测量***及方法
CN114328311A (zh) * 2021-12-15 2022-04-12 珠海一微半导体股份有限公司 一种存储控制器架构、数据处理电路及数据处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034881A (en) * 1988-04-22 1991-07-23 Hitachi, Ltd. Method of and system for controlling common bus
US5034887A (en) * 1987-07-08 1991-07-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor with Harvard Architecture
US5577230A (en) * 1994-08-10 1996-11-19 At&T Corp. Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1269176A (en) * 1985-02-22 1990-05-15 Fairchild Camera And Instrument Corporation Multiple bus system including a microprocessor having separate instruction and data interfaces and caches
US5386537A (en) * 1991-03-28 1995-01-31 Minolta Camera Kabushiki Kaisha System with reduced instruction set processor accessing plural memories at different speeds using bank interleaving
JP3163984B2 (ja) * 1996-06-28 2001-05-08 ヤマハ株式会社 楽音発生装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034887A (en) * 1987-07-08 1991-07-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor with Harvard Architecture
US5034881A (en) * 1988-04-22 1991-07-23 Hitachi, Ltd. Method of and system for controlling common bus
US5577230A (en) * 1994-08-10 1996-11-19 At&T Corp. Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013005971B3 (de) * 2013-04-09 2014-08-28 Friedhelm Becker Schadsoftware-sicheres Datenverarbeitungssystem
WO2014166753A1 (de) 2013-04-09 2014-10-16 Friedhelm Becker Schadsoftware-sicheres datenverarbeitungssystem

Also Published As

Publication number Publication date
JP2000163312A (ja) 2000-06-16
DE19950255A1 (de) 2000-06-15
JP3623379B2 (ja) 2005-02-23
US6516378B1 (en) 2003-02-04

Similar Documents

Publication Publication Date Title
DE69127101T2 (de) System für verteilte mehrfachrechnerkommunikation
DE69632634T2 (de) Arbitrierungseinheit zum Multiprozessorsystembuszugriff mit Wiederholungsfähigkeit
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
EP0929041B1 (de) Verfahren und Anordnung zum Betreiben eines Bussystems
DE69031086T2 (de) Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
DE3782335T2 (de) Speichersteuersystem.
DE3687426T2 (de) Mehrprozessorsystem-architektur.
DE4218003C2 (de) Cache-Steuereinrichtung für ein sekundäres Cache-Speichersystem
EP0951682B1 (de) IO- UND SPEICHERBUSSYSTEM FÜR DFPs SOWIE BAUSTEINE MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN
DE69021603T2 (de) Buszugriffsarbitrierung in digitalen Rechnern.
DE3914265C2 (de)
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
EP3077912B1 (de) Steuergerät für ein kraftfahrzeug
DE19950255B4 (de) Mikroprozessor
DE3606211A1 (de) Multiprozessor-computersystem
DE2953861C2 (de)
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE68924810T2 (de) Zeitgeberkanal für die Verwendung in einem Mehrkanal-Zeitsystem.
DE3485980T2 (de) Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem.
DE68919018T2 (de) Zeitgeberkanal mit Übereinstimmungserkennungsmerkmalen.
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
DE3642324A1 (de) Multiprozessoranlage mit prozessor-zugriffssteuerung
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE60034998T2 (de) Verbesserungen in oder bezüglich von Mikroprozessoren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: FUJITSU MICROELECTRONICS LTD., TOKYO, JP

8327 Change in the person/name/address of the patent owner

Owner name: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, KANAGAWA, JP

8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE

R082 Change of representative

Representative=s name: VON KREISLER SELTING WERNER, DE

R081 Change of applicant/patentee

Owner name: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), US

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, JP

Effective date: 20140331

Owner name: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SU, US

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, KANAGAWA, JP

Effective date: 20140331

Owner name: CYPRESS SEMICONDUCTOR CORP. (N.D.GES.D.STAATES, US

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, KANAGAWA, JP

Effective date: 20140331

R082 Change of representative

Representative=s name: VON KREISLER SELTING WERNER - PARTNERSCHAFT VO, DE

Effective date: 20140331

Representative=s name: MURGITROYD & COMPANY, DE

Effective date: 20140331

R081 Change of applicant/patentee

Owner name: CYPRESS SEMICONDUCTOR CORP. (N.D.GES.D.STAATES, US

Free format text: FORMER OWNER: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SUNNYVALE, CALIF., US

R082 Change of representative

Representative=s name: MURGITROYD & COMPANY, DE

R071 Expiry of right