DE19950255A1 - Mikroprozessor - Google Patents

Mikroprozessor

Info

Publication number
DE19950255A1
DE19950255A1 DE19950255A DE19950255A DE19950255A1 DE 19950255 A1 DE19950255 A1 DE 19950255A1 DE 19950255 A DE19950255 A DE 19950255A DE 19950255 A DE19950255 A DE 19950255A DE 19950255 A1 DE19950255 A1 DE 19950255A1
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.)
Granted
Application number
DE19950255A
Other languages
English (en)
Other versions
DE19950255B4 (de
Inventor
Hiroyoshi Yamashita
Masaaki 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

Die vorliegende Erfindung sieht einen Mikroprozessor vor, welcher den Durchsatz einer CPU verbessern kann. Module wie die Programm-ROMs, in denen Instruktionszugriffe von einer CPU konzentriert werden, werden in einem ersten Princeton-Bus zusammengesetzt, und Module wie die externe Bus-I/F, SDRAM-I/F, periphere Bus-I/F, in denen Datenzugriffe hauptsächlich konzentriert werden, werden in einem zweiten Princeton-Bus zusammengesetzt. Daher können der Instruktionszugriff und der Datenzugriff parallel in bezug auf die Busse des Instruktionsbusses und des Datenbusses individuell durch eine Bussteuereinheit durchgeführt werden. Da die Busse effizient genutzt werden können, kann der Durchsatz der CPU wesentlich verbessert werden.

Description

GEBIET DER ERFINDUNG
Die vorliegende Erfindung bezieht sich auf einen Mikro­ prozessor, welcher mit einer Vielzahl von Bussen und einer Vielzahl von Busmastern ausgestattet ist. Insbesondere be­ zieht sich diese Erfindung auf einen Mikroprozessor, der mit einer Bussteuereinheit zum effizienten Steuern der Busse ausgestattet ist, wenn Zugriffsanforderungen von den Bus­ mastern gestellt werden. In einem Mikroprozessor, der für eine Steueranordnung oder eine tragbare elektronische Vor­ richtung verwendet wird, wurde in den letzten Jahren im all­ gemeinen 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 mon­ tiert, um die Nutzungseffizienz der Busses zu erhöhen.
HINTERGRUND DER ERFINDUNG
Fig. 1 ist ein Blockbild, das eine schematische Konfigu­ ration eines herkömmlichen Mikroprozessors unter Verwendung einer Harvard-Architektur zeigt. Die Harvard-Architektur ist eine der Architekturen auf einer Registerebene, die unabhän­ gig voneinander vorgesehene Busse für einen Datenzugriff (Datenbusse) und Busse für einen Instruktionszugriff (In­ struktionsbusse) 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 ver­ bundener 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 Instruk­ tionen schützen, und kann einen parallelen Betrieb von Zu­ griffen erzielen, um eine Hochgeschwindigkeitsverarbeitung zu erzielen.
Wie in Fig. 1 gezeigt, enthält der herkömmliche Mikro­ prozessor 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 In­ struktionsspeicher 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 Startinstruktionssatzes und eines Basis­ instruktionssatzes, 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 Mikro­ prozessor 110 eine externe Bus-I/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 ein­ gebauten peripheren Anordnungen.
Ein Instruktionsbus IB und ein Datenbus DB sind zwischen der CPU 110 und der Bussteuereinheit 120 vorgese­ hen. Der Programm-ROM 141, der Programm-RAM 142, der DMA- Controller 143, die externe Bus-I/F 151, die SDRAM-I/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 Kom­ munikation, 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 (ein­ schließlich der CPU 110) ist mit einem nicht dargestellten Steuerbus zum Transferieren von Steuersignalen versehen, wie einem Busnutzungsanforderungssignal, das für eine Kommunika­ tion 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 Fig. 1 gezeigt, werden der Instruktions­ speicher 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 Be­ nutzerprogramm 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 vor­ nimmt, ob eine entsprechende Instruktion im Instruktions­ speicher 131 gespeichert ist oder nicht. Wenn die entspre­ chende 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 An­ ordnung möglich, diese Instruktion aus dem Instruktionsspei­ cher 131 abzurufen.
Wenn, wie oben erläutert, der Cache-Treffer erhalten wurde, kann der Instruktionsabruf in einem kürzeren Takt­ zyklus 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 Ge­ schwindigkeit vornehmen kann.
Wenn einmal aus der SDRAM-I/F 152 oder anderen abgeru­ fene Daten im Datenspeicher 132 gespeichert werden, wird es auf eine Weise ähnlich den im Instruktionsspeicher 131 ge­ speicherten 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 Instruk­ tionsabruf 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 Bussteuerein­ heit 120 ein Busnutzungsanforderungssignal an den DMA-Con­ troller 143. Beim Empfang dieses Busnutzungsanforderungs­ signals 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über­ lassungssignals vom DMA-Controller 143 sendet die Bussteuer­ einheit 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 Fig. 1 gezeigt, die Bussteuereinheit 120 vorgesehen, um es jedem Busmaster zu ermöglichen, ein Busrecht von einem anderen Busmaster zu erhalten, wodurch eine Buszuteilung er­ zielt wird, indem eine Kollision des Zugriffs auf die Busse vermieden wird.
Außerdem ist es im herkömmlichen Mikroprozessor 100 er­ forderlich, daß der Energieverbrauch niedrig ist, da er durch Batterien betrieben wird, und aufgrund von Wärmegegen­ maß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 Betriebs­ modus vorgesehen, um einen nicht dargestellten Takt-Control­ ler die Zuführung eines Taktsignals halten zu lassen. Ähn­ lich kann eine Schlafinstruktion genannte Instruktion ausge­ fü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 PB erhalten, um einen Zugriff auf den Pro­ gramm-ROM 141 oder den Programm-RAM 142 vorzunehmen. Daher wurde nicht unbedingt ein effizienter Buszugriff durchge­ führt.
Wenn beispielsweise ein Instruktionscode aus dem Pro­ gramm-ROM 141 in den Instruktionsspeicher 131 durch den In­ struktionsbus IB und den Princeton-Bus PB abgerufen wird, ermöglicht es die CPU 110, Daten unter Verwendung des Daten­ busses 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überlas­ sungssignal an die Bussteuereinheit 120 sendet, wie oben be­ schrieben, 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-Con­ troller 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 ver­ schiedene Princeton-Busse PBs verteilt sind. Da dieses System jedoch nicht unter Berücksichtigung der Harvard- Architektur ausgebildet ist, war es nicht möglich, die Bus­ nutzungseffizienz der CPU 110 wesentlich zu verbessern.
Außerdem wird, wie oben beschrieben, gemäß dem oben be­ schriebenen herkömmlichen Mikroprozessor 100 ein niedriger Energieverbrauch durch den Standby-Betrieb des Takt-Control­ lers 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.
ZUSAMMENFASSUNG DER ERFINDUNG
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.
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-I/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.
Andere Aufgaben und Merkmale dieser Erfindung gehen aus der folgenden Beschreibung mit Bezugnahme auf die beige­ schlossenen Zeichnungen hervor.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist ein Blockbild, um eine schematische Konfigu­ ration eines bekannten Mikroprozessors unter Verwendung einer Harvard-Architektur zu zeigen;
Fig. 2 ist eine Darstellung zur Erläuterung des Prinzips eines Mikroprozessors gemäß der vorliegenden Erfindung;
Fig. 3 ist ein Blockbild, das eine schematische Konfigu­ ration eines Mikroprozessors in bezug auf eine erste Ausfüh­ rungsform der vorliegenden Erfindung zeigt;
Fig. 4 ist ein Blockbild, das eine schematische Konfigu­ ration einer Instruktionsschnittstelle in der ersten Ausfüh­ rungsform der vorliegenden Erfindung zeigt;
Fig. 5 ist ein Blockbild, das eine schematische Konfigu­ ration einer Buszuteilungsschaltung in der ersten Ausfüh­ rungsform zeigt;
Fig. 6 ist ein Zeitdiagramm zur Erläuterung eines Zu­ stands eines gleichzeitigen Zugriffs eines ersten Princeton- Busses und eines zweiten Princeton-Busses durch eine CPU in der ersten Ausführungsform;
Fig. 7 ist ein Blockbild, das eine schematische Konfigu­ ration eines weiteren Beispiels einer Instruktionsschnitt­ stelle in der ersten Ausführungsform zeigt;
Fig. 8 ist ein Blockbild, das eine schematische Konfigu­ ration eines weiteren Beispiels einer Buszuteilungsschaltung in der ersten Ausführungsform zeigt;
Fig. 9 ist ein Blockbild, das eine schematische Konfigu­ ration eines Mikroprozessors in bezug auf eine zweite Aus­ führungsform der vorliegenden Erfindung zeigt;
Fig. 10 ist ein Blockbild, das eine schematische Konfiguration eines Mikroprozessors in bezug auf eine dritte Ausführungsform der vorliegenden Erfindung zeigt;
Fig. 11 ist ein Blockbild, das eine schematische Konfi­ guration eines weiteren Beispiels einer Bussteuereinheit in der dritten Ausführungsform zeigt; und
Fig. 12A bis 12O sind Blockbilder, welche die schemati­ schen 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äu­ tert. 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 vor­ liegende Erfindung erläutert.
Fig. 2 ist eine Darstellung zur Erläuterung des Prinzips des Mikroprozessors in bezug auf die vorliegende Erfindung. Wie in Fig. 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 Nutzungszu­ stands einer Vielzahl von Bussen, einen Instruktionsspeicher 41 als Speicher zum ausschließlichen Speichern von Instruk­ tionen, einen Datenspeicher 42 als Speicher zum ausschließ­ lichen Speichern von Daten, einen Programm-ROM 51 zum Spei­ chern eines Startinstruktionssatzes und eines Basisinstruk­ tionssatzes, einen Programm-RAM 52 zum Speichern eines Be­ nutzerprogramms, einen DMA-Controller 53 zum Steuern eines DMA-Transfers, eine externe Bus-I/F 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 62, um es zu ermög­ lichen, einen SDRAM als erweiterter Speicher zu expandieren, und einen periphere Bus-I/F 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 ver­ bunden, 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 peri­ phere Anordnungen verbunden. Diese Einheiten sind ähnlich jenen des in Fig. 1 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 Adres­ senbus 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 Busnutzungsan­ forderungssignal, das für die Kommunikation mit der Bussteu­ ereinheit 30 notwendig ist, einem Lese/Schreib-Signal, einem Adressen-Strobe-Signal, einem Daten-Strobe-Signal, verschie­ denen Quittungssignalen, etc.
Als nächstes wird der Betrieb rund um den Buszugriff dieses Mikroprozessors 10 erläutert. Wenn die CPU 20 anfäng­ lich keinen Cache-Treffer im Instruktionsspeicher 41 erhal­ ten kann, und daher die CPU 20 eine Instruktion aus dem Programm-ROM 51 abrufen will, sendet die CPU 20 ein Bus­ nutzungsanforderungssignal an die Bussteuereinheit 30, um ein Busrecht zur Nutzung des ersten Princeton-Busses PB1 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 In­ struktion zugegriffen wird.
Während eine Instruktion vom Programm-ROM 51 im In­ struktionsspeicher 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 ge­ nutzten Bus prompt zu erhalten. So kann sogar eine effi­ ziente Bussteuerung auch in der Bussteuereinheit 30 erzielt werden.
Außerdem kann die Bussteuereinheit 30 ein Betriebs­ stopp-Anforderungssignal eingeben. Wenn ein Standby-Betrieb notwendig ist, führt daher durch den Empfang dieses Be­ triebsstopp-Anforderungssignals die Bussteuereinheit 30 den folgenden Betrieb für die mit der Bussteuereinheit 30 ver­ bundenen Busse durch. Die Bussteuereinheit 30 sendet ein Halteanforderungssignal, das eine Halteanforderung des In­ struktionsbusses IB repräsentiert, an die CPU 20 als Bus­ master, um ein Busrecht zur Nutzung des Instruktionsbusses IB zu erhalten. Nach der Beendigung des Buszyklus des ausge­ führten Instruktionsabrufs führt die CPU 20 ein Quittungs­ signal 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 re­ präsentiert, von der CPU 20, wodurch sie ein Busrecht zur Nutzung des Datenbusses DB erhält.
Heim Empfang der Busrechte zur Nutzung des Instruk­ tionsbusses IB und des Datenbusses DB aktiviert die Bussteu­ ereinheit 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 Be­ triebsstopp-Anzeigesignal aktiviert wird, empfangen die mit dem Instruktionsbus IB, dem Datenbus DB, dem ersten Princeton-Bus PB1 und dem zweiten Princeton-Bus PB2 verbun­ denen Module ein Betriebsstopp-Anzeigesignal, und unterbre­ chen die Eingabe eines diesen Modulen zugeführten Takt­ signals, wodurch ihr Betrieb gehalten wird. So wird ein Standby-Zustand des Mikroprozessors ohne die Speicheropera­ tion 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 beschrie­ benen Prinzips arbeitet, werden nun detaillierte Ausfüh­ rungsformen erläutert.
Fig. 3 ist ein Blockbild, das eine schematische Konfigu­ ration eines Mikroprozessors in bezug auf eine erste Ausfüh­ rungsform der vorliegenden Erfindung zeigt. Teile, die iden­ tisch sind mit jenen in Fig. 2, sind mit denselben Bezugs­ zahlen versehen, und ihre Erläuterung entfällt. Wie in Fig. 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 Fig. 2.
Der Instruktionsbus IB besteht aus einem Adressenbus IBA, durch den eine Adresse eines Busmasters, der eine In­ struktion 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 Zu­ griffsziels 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 Instruktions­ schnittstelle 82, die eine Verbindungsschnittstelle des In­ struktionsbusses IB wird, eine Datenbusschnittstelle 83, die eine Verbindungsschnittstelle des Datenbusses DB wird, eine erste Princeton-Busschnittstelle 84, die eine Verbindungs­ schnittstelle des ersten Princeton-Busses PB1 wird, eine zweite Princeton-Busschnittstelle 85, die eine Verbindungs­ schnittstelle des zweiten Princeton-Busses PB2 wird, und eine Buszuteilungsschaltung 81, die mit diesen Busschnitt­ stellen verbunden ist, um eine Buszuteilung durchzuführen.
Als nächstes werden die Konfiguration und der Betrieb der Instruktionsschnittstelle 82 erläutert. Fig. 4 ist ein Blockbild, das eine schematische Konfiguration der Instruk­ tionsschnittstelle 82 zeigt. Wie in Fig. 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 De­ codieren einer im Adressenpuffer 82b gespeicherter Adresse, um einen Bus und einen Modul zu spezifizieren, auf den zu­ zugreifen 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 Zu­ stands des Instruktionsbusses IB, und eine WAIT-Generator­ schaltung 82e zum Ausgeben eines WAIT-Signals an den diesen Bus benützenden Modul gemäß einem von der Ablaufsteuerein­ heit 82d angezeigten Buszustand.
Als nächstes wird die Ablaufsteuereinheit 82d erläu­ tert. Wenn eine nicht so kompliziert auszuführende Steuerung von einem Mikrocomputer durchgeführt wird, oder wenn eine Hochgeschwindigkeitssteuerung erforderlich ist, wird im all­ gemeinen eine Schaltungskonfiguration zum Durchführen ver­ schiedener Steuerungen durch die Kombination eines Gatters und einer Verriegelung verwendet.
Diese Schaltung kann beispielsweise in Kombination mit dem Mikrocomputer in einer derartigen Weise verwendet werden, daß die CPU des Mikrocomputers die gesamte Verarbei­ tung 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 sequen­ tiell gemäß dem Fortschreiten der Steuerung ändert, wird Zustandsverschiebungssystem genannt, welches durch die Kom­ bination des Gatters und der Verriegelung strukturiert ist. Die Steuerschaltung für den sich ändernden Zustand wird Ab­ laufsteuereinheit 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 kontinuier­ lichen Lesezustand, einem Schreibzustand, etc. Dann gibt die Ablaufsteuereinheit 82d ein Adressen/Datenzustandssignal zum Ausführen einer Busauswahl auf der Basis des obigen Zu­ stands, ein Adressenanforderungssignal, das vom Adressende­ coder 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 Busnutzungsanforde­ rungssignal zur Nutzung dieses Busses generiert hat, anzuzeigen, wenn der Bus belegt ist.
Im Datenpuffer 82a gespeicherte Daten, eine vom Adres­ sendecoder 82c generierte physische Adresse und ein Buszu­ standssignal, das einen von der Ablaufsteuereinheit 82d ge­ setzten Buszustand repräsentiert, werden in die Buszutei­ lungsschaltung 81 eingegeben.
Die Ablaufsteuereinheit 82d kann sich in zwei exklu­ siven 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üh­ ren, 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, ver­ riegelt wurde, der Adressenbus vor der Freigabe des Daten­ busses 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 Adressende­ coder, eine Ablaufsteuereinheit bzw. eine WAIT-Generator­ schaltung auf eine Weise ähnlich der oben beschriebenen In­ struktionsschnittstelle 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 Adressen­ decoder 84c, eine Ablaufsteuereinheit 84d und eine WAIT- Generatorschaltung 84e bzw. einen Datenpuffer 85a, einen Adressenpuffer 85b, einen Adressendecoder 85c, eine Ablauf­ steuereinheit 85d und eine WAIT-Generatorschaltung 85e strukturiert sind.
Demgemäß hat die Bussteuereinheit 31 individuelle Da­ tenpuffer 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 not­ wendig, 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 Adressen­ puffern 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 nachste­ hend 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 gene­ riert hat. Daher kann die Belastung verringert werden, und die Ausbildung kann vereinfacht werden, verglichen mit dem Fall, wo eine WAIT-Generatorschaltung in der Buszuteilungs­ schaltung 81 zum Generieren von WAIT-Signalen gemäß den je­ weiligen 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. Fig. 5 ist ein Blockbild, das eine schematische Konfiguration der Buszuteilungsschaltung 81 zeigt.
Wie in Fig. 5 gezeigt, enthält die Buszuteilungsschal­ tung 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 In­ struktionsschnittstelle 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äuter­ ten Fig. 3 bis 5 nachstehend der Betriebsfluß des Mikropro­ zessors 11 erläutert, bis die CPU 20 einen Instruktionscode vom Programm-ROM 51 durch einen Instruktionsabruf erhält. Es wird angenommen, daß kein Cache-Treffer im Instruktionsspei­ cher 41 erhalten wurde.
Zuerst sendet die CPU 20 ein Busnutzungsanforderungs­ signal 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 Bedin­ gung 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 Adressenanforderungs­ signal 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 Instruktions­ busses vom Nicht-Zugriffszustand zum Lesezustand geändert hat. Gleichzeitig gibt die Ablaufsteuereinheit 82d ein Adressen/Datenzustandssignal aus, um einen Busidentifika­ tionscode 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/Datenzustands­ signal, 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 ausge­ geben.
Ähnlich wird im Datenbus-Schaltmodul 81b ein Datenbus­ schalter 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-Busschnitt­ stelle 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-Bus­ schnittstelle 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-Zu­ griffszustand 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 dar­ gestellten 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 ent­ sprechenden Instruktionscode aus dem durch diese Adresse an­ gezeigten Speicherbereich heraus, und sendet diesen Instruk­ tionscode an den Datenbus PBD1 des ersten Princeton-Busses PB1.
Dann sendet der Programm-ROM 51 ein Datenquittungssi­ gnal, das die Vollendung der Datenübertragung repräsentiert, an die Bussteuereinheit 31 durch den nicht dargestellten Steuerbus.
Beim Empfang des Datenquittungssignals sendet die Bus­ steuereinheit 31, spezifischer die Buszuteilungsschaltung 81, die an den Datenbus PBD1 des ersten Princeton-Busses PB1 gesendeten Daten an den Datenpuffer 82a der Instruktions­ schnittstelle 82.
Wenn in diesem Fall die CPU 20 einen BUSY-Zustand aufgrund einer anderen Verarbeitung anzeigt, und Daten bei­ spielsweise nicht sofort empfangen kann, werden die zu emp­ fangenden Daten im Datenpuffer 82a gehalten. Daher kann die CPU 20 diese Daten durch den Datenbus IBD des Instruktions­ busses IB empfangen, unmittelbar nachdem der BUSY-Zustand aufgehoben wurde.
Danach wird ein Busfreigabesignal zum Freigeben des In­ struktionsbusses IB und des ersten Princeton-Busses PB1 zur Bussteuereinheit 31 gesendet. Gleichzeitig wird das WAIT-Si­ gnal in der Instruktionsschnittstelle 82 und der ersten Princeton-Busschnittstelle 84 in den nicht-aktiven Zustand gesetzt, und der Verschiebungszustand der Ablaufsteuerein­ heit 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 Zugriffsverarbei­ tung auf den Programm-ROM 51 durch die CPU 20. Es wird ange­ nommen, daß kein Cache-Treffer im Datenspeicher 42 erhalten wurde.
In diesem Fall sendet die CPU 20 ein Busnutzungsanfor­ derungssignal 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 Daten­ busschnittstelle 83 hält diese Adresse im Adressenpuffer ähnlich der Instruktionsschnittstelle 82, und sendet diese Adresse gleichzeitig an den Adressendecoder 83c. Der Adres­ sendecoder 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 Daten­ busses 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 Busidentifikations­ codes des zweiten Princeton-Busses PB2, auf den zuzugreifen ist, aus.
In diesem Fall ist der Datenbus DB von der CPU 20 be­ setzt, 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 Vorneh­ men eines Zugriffs auf den Datenbus DB warten gelassen.
Die Daten, die Adresse und das Adressen/Datenzustands­ signal, die aus der Datenbusschnittstelle 83 ausgegeben werden, werden in die Buszuteilungsschaltung 81 eingegeben. In der Buszuteilungsschaltung 81 wird zuerst ein Adressen­ busschalter für den zweiten Princeton-Bus PB2 durch den Ein­ gang des Adressenzustandssignals im Adressenbus-Schaltmodul 81a ausgewählt, und die Eingangsadresse wird an den Adres­ senbus PBA2 des zweiten Princeton-Busses PB2 ausgegeben.
Ähnlich wird im Datenbus-Schaltmodul 81b ein Datenbus­ schalter 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-Busschnitt­ stelle 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-Bus­ schnittstelle 85 läßt den zweiten Princeton-Bus PB2 in der Buszuteilungsschaltung 81 spezifizieren, gibt ein Schreibsi­ gnal 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 Schreibzu­ stand, 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 darge­ stellten 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 darge­ stellt). 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 Bussteuerein­ heit 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.
Fig. 6 ist ein Zeitdiagramm zur Erläuterung des gleich­ zeitigen Zugriffs des ersten Princeton-Busses PB1 und des zweiten Princeton-Busses PB2 durch die CPU 20. Wie in Fig. 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 Priori­ tätsreihenfolge der Busse setzen, die den Instruktionsbus IB, den Datenbus DB, den ersten Princeton-Bus PB1 und den zweiten Princeton-Bus PB2 enthalten, wenn Busverbindungsan­ forderungen gleichzeitig von jeder Busschnittstelle gestellt wurden.
Wenn beispielsweise Busverbindungsanforderungen an den Instruktionsbus IB und den Datenbus DB von der CPU 20 ge­ stellt wurden, ist es möglich, den Datenbus DB mit hoher Priorität zu verbinden. Die Prioritätsreihenfolge von Bus­ verbindungen kann nach Bedarf geändert werden, indem eine derartige Strukturierung vorgenommen wird, daß die Buszutei­ lungsschaltung 81 von der CPU 20 ein Prioritätsreihenfolge­ signal 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 Er­ findung die Module des Programm-ROM 51, des Programm-RAM 52 und dgl., in denen Instruktionszugriffe von der CPU 20 kon­ zentriert werden, im ersten Princeton-Bus PB1 zusammenge­ setzt, 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äch­ lich 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 Instruktions­ busses 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 Durch­ satz der CPU 20 wesentlich zu verbessern.
Im Mikroprozessor 11 in bezug auf die erste Ausfüh­ rungsform sind die Ablaufsteuereinheiten 82d bis 85d und die WAIT-Generatorschaltungen 82e bis 85e jeweils in jeder der Busschnittstellensektionen vorgesehen, welche die Instruk­ tionsschnittstelle 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 Buszu­ teilungsschaltung 81 vorgesehen sein, indem sie entsprechend jeder Busschnittstelle vorgesehen werden.
Fig. 7 ist ein Blockbild, das eine schematische Konfigu­ ration einer Instruktionsschnittstelle 82' als weiteres Bei­ spiel der Instruktionsschnittstelle zur Erläuterung dieses alternativen Falls zeigt. Fig. 8 ist ein Blockbild, das eine schematische Konfiguration einer Buszuteilungsschaltung 81' als weiteres Beispiel der Buszuteilungsschaltung zur Erläu­ terung dieses alternativen Falls zeigt.
Wie in Fig. 7 gezeigt, enthält die Instruktionsschnitt­ stelle 82' einen Datenpuffer 82'a, einen Adressenpuffer 82'b und einen Adressendecoder 82'c. Diese Puffer haben dieselben Funktionen wie die Funktionen des in Fig. 4 gezeigten Daten­ puffers 82a, Adressenpuffers 82b und Adressendecoders 82c, und daher entfällt eine Erläuterung dieser Puffer. Andere Busschnittstellen, die eine Datenbusschnittstelle, einen ersten Princeton-Hus und einen zweiten Princeton-Bus enthal­ ten, haben auch dieselben Strukturen wie die Instruktions­ schnittstelle 82'.
Andererseits enthält, wie in Fig. 8 gezeigt, die Buszu­ teilungsschaltung 81' einen Adressenbus-Schaltmodul 81'a und einen Datenbus-Schaltmodul 81'b, die dem in Fig. 5 gezeigten Adressenbus-Schaltmodul 81a bzw. Datenbus-Schaltmodul 81b entsprechen. Zusätzlich zu obigem enthält die Buszuteilungs­ schaltung 81' auch eine Adressen-WAIT-Generatorschaltung 81'c, eine Adressen-Ablaufsteuereinheit 81'd, eine Daten-Ab­ laufsteuereinheit 81'e und eine Daten-WAIT-Generatorschal­ tung 81'f.
Die Adressen-Ablaufsteuereinheit 81'd und die Daten-Ab­ laufsteuereinheit 81'e haben dieselben Funktionen wie die Funktionen der in Fig. 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 Fig. 4 gezeigten WAIT-Generator­ schaltung 82e. Daher entfällt die Erläuterung dieser Ablauf­ steuereinheiten 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 Bussteuerein­ heit verbunden ist. Fig. 9 ist ein Blockbild, das eine sche­ matische Konfiguration des Mikroprozessors in bezug auf die zweite Ausführungsform zeigt. Teile, die mit jenen in Fig. 2 identisch sind, sind mit identischen Bezugszahlen versehen, und ihre Erläuterung entfällt.
In Fig. 9 hat ein Mikroprozessor 12 die DMA-Schnitt­ stelle 86 in einer Bussteuereinheit 32, so daß ein DMA-Con­ troller 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ömm­ lichen 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 er­ halten, 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 Bus­ steuereinheit 32, welche die Instruktionsschnittstelle 82, die Datenbusschnittstelle 83, die erste Princeton-Bus­ schnittstelle 84 und die zweite Princeton-Busschnittstelle 85 enthalten.
Mit dieser Anordnung können die herkömmlich innerhalb des DMA-Controllers vorgesehenen Puffer in der Bussteuerein­ heit 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-Control­ lers 53 einfach ausgebildet werden. Die Ausbildung der Bus­ steuereinheit 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 Ver­ gleich zum herkömmlichen Verbindungsverfahren des DMA-Con­ trollers 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 Bus­ steuerung in der Bussteuereinheit 32 erzielt werden.
Außerdem wird zusammen mit der Leistung der Verrin­ gerung der auf die Busse ausgeübten Belastung die parallele Verarbeitung des Instruktionszugriffs und des Datenzugriffs effektiver, die der Vorteil der Struktur der Harvard-Archi­ tektur ist. Durch das Einführen des DMA-Controllers wird es auch möglich, den Durchsatz der CPU 20 wesentlich zu ver­ bessern.
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 An­ schluß in der Bussteuereinheit 31 vorgesehen ist, um eine Bussteuereinheit 33 zu erhalten. Wenn ein Standby-Betriebs­ anforderungssignal in diesen externen Anschluß eingegeben wird, erteilt gemäß dieser Bussteuereinheit 33 die Buszutei­ lungsschaltung 81 eine Bushalteanforderung an jede Bus­ schnittstelle. In einem Zustand, wo ein Busrecht jedes Busses erhalten wird, kann die Buszuteilungsschaltung 81 ein Betriebsstopp-Anforderungssignal an mit den Bussen verbun­ dene Module senden.
Fig. 10 ist ein Blockbild, das eine schematische Konfi­ guration des Mikroprozessors in bezug auf die dritte Ausfüh­ rungsform der vorliegenden Erfindung zeigt. Teile, die mit jenen in Fig. 2 identisch sind, sind mit identischen Bezugs­ zahlen 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 Fig. 10 gezeigt, ist ein externer Anschluß 90 mit der Buszuteilungsschaltung 81 der Bussteuereinheit 33 ver­ bunden. 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 Buszutei­ lungsschaltung 81 ein Bushalteanforderungssignal an die Bus­ schnittstellen, welche die Instruktionsschnittstelle 82, die Datenbusschnittstelle 83, die erste Princeton-Busschnitt­ stelle 84 und die zweite Princeton-Busschnittstelle 85 ent­ halten.
Spezifischer sendet jede Busschnittstelle ein Bus­ nutzungsanforderungssignal 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 PB1 und des zweiten Princeton-Busses PB2 erhalten hat, aktiviert die Bussteuereinheit 30 ein Be­ triebsstopp-Anzeigesignal, das für jeden des Instruktions­ busses 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 ge­ sendet. Beim Empfang dieses Betriebsstopp-Anforderungssi­ gnals unterbricht jeder Modul eine Eingabe eines Takt­ signals, das dem Modul zugeführt wird, um die Operation zu halten. So wird ein Standby-Zustand des Mikroprozessors er­ halten, ohne eine Speicheroperation der CPU 20 zu involvie­ ren, und ein Standby-Betrieb kann zur Zeit der Bestätigung eines Testbetriebs leicht gestartet werden.
Ferner ist es auch möglich, anstelle des externen An­ schlusses 90 eine Standby-Register 91 vorzusehen, in das eine Flagge geschrieben wird, die eine Standby-Betriebsan­ forderung durch einen Eingang eines einen Testmodus anzei­ genden Signals anzeigt. Fig. 11 ist ein Blockbild, das eine schematische Konfiguration einer Bussteuereinheit eines weiteren Beispiels zeigt, um diesen alternativen Fall zu veranschaulichen. Wie in Fig. 11 gezeigt, hat die Bussteuer­ einheit denselben Betrieb, außer daß der externe Anschluß 90 in Fig. 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 bei­ spielsweise einen Standby-Betrieb in einem Testmodus zu aktivieren, dann ein Busrecht zur Nutzung jedes des Instruk­ tionsbusses IB, des Datenbusses DB, des ersten Princeton- Busses PB1 und des zweiten Princeton-Busses PB2 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 Fig. 10 und Fig. 11 gezeigte Bussteuereinheit 33 kann so konfiguriert sein, daß der DMA-Controller direkt mit der Bussteuereinheit verbunden ist, in einer Weise ähnlich der in der zweiten Ausführungsform erläuterten Bussteuerein­ heit 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-Con­ troller angeschlossen sein, um unabhängig eine Busnutzungs­ anforderung 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 Daten­ speicher 42 als Cache-Speicher funktionieren, diese Speicher können jedoch keine Cache-Speicher sein, sondern als gewöhn­ liche Speicher wie ein SDRAM verwendet werden, der mit dem Programm-RAM 52 und der SDRAM-I/F 62 verbunden ist. Bei­ spielsweise 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 Fig. 12A bis 12O gezeigten Fällen verwendet werden. Beispielsweise kann, wie in Fig. 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 Fig. 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 Fig. 12C gezeigt, der Instruktionsspeicher 131, der mit dem Instruk­ tionsbus IB verbunden ist, auf den Datenspeicher 132 zu­ greifen, 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 Fig. 12D gezeigt, der In­ struktionsspeicher 131, der mit dem Instruktionsbus IB ver­ bunden 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 Fig. 12E gezeigt, der Daten­ speicher 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 Fig. 12F gezeigt, der Instruktionsspeicher 131, der mit dem Instruktionsbus IB verbunden ist, auf den Daten­ speicher 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 Fig. 12 G gezeigt, der Datenspeicher 132, der mit dem Datenbus DB ver­ bunden 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 Fig. 12H gezeigt, der In­ struktionsspeicher 131, der mit dem Instruktionsbus IB ver­ bunden 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 Fig. 12I gezeigt, der In­ struktionsspeicher 131, der mit dem Instruktionsbus IB ver­ bunden 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 Fig. 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 Fig. 12K gezeigt, der In­ struktionsspeicher 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 zugrei­ fen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in Fig. 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 Fig. 12M ge­ zeigt, der Instruktionsspeicher 131, der mit dem Instruk­ tionsbus IB verbunden ist, auf den DMA-Controller 53 zugrei­ fen, und der Datenspeicher 132, der mit dem Datenbus DB ver­ bunden ist, kann auf den zweiten Princeton-Bus PB2 zugrei­ fen. Ähnlich kann, wie in Fig. 12N gezeigt, der Instruktions­ speicher 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 Fig. 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üh­ rungssektion 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 Instruk­ tionsabrufs vom Programm-ROM durch den Instruktionsbus ge­ wartet hat, hat der Mikroprozessor der vorliegenden Erfin­ dung die folgenden Charakteristiken. Die Module des Pro­ gramm-ROM, des Programm-RAM und dgl., in denen Instruktions­ zugriffe 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-Con­ troller als Busmaster am Bus angeschlossen, und es besteht die Tendenz dazu, längere Zeit zu dauern, bis der DMA-Con­ troller 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 er­ halten. Zusammen mit der Leistung der Verringerung der auf die Busse ausgeübten Belastung wurde die parallele Verarbei­ tung 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 Speicher­ operation durchführen, indem das Steuerregister innerhalb des Takt-Controllers betrieben wird, und folglich wird ein Halten eines Takts ausgeführt. Es war notwendig, ein Mini­ mumprogramm 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 Daten­ busses, 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 Spei­ cheroperation zur Zeit eines Testbetriebs durchführt.
Obwohl die Erfindung zwecks einer vollständigen und klaren Offenbarung in bezug auf eine spezifische Ausfüh­ rungsform beschrieben wurde, werden die beigeschlossenen Ansprüche dadurch nicht eingeschränkt, sondern sind so aus­ zulegen, daß sie alle Modifikationen und alternativen Kon­ struktionen verkörpern, die für Fachleute ersichtlich sind und weitgehend in die hier ausgeführten grundlegenden Lehren fallen.

Claims (11)

1. Mikroprozessor, mit:
einer CPU zum Ausführen einer Instruktion;
einem Instruktionsspeicher zum Speichern von Instruk­ tionen;
einem Datenspeicher zum Speichern von Daten;
einem Instruktionsbus zum Vornehmen eines Zugriffs auf den Instruktionsspeicher;
einem Datenbus zum Vornehmen eines Zugriffs auf den Datenspeicher;
einem ersten Princeton-Bus, der mit Modulen für einen Instruktionszugriff verbunden ist;
einem zweiten Princeton-Bus, der mit Modulen für einen Datenzugriff verbunden ist; und
einer Bussteuereinheit zum Durchführen einer Buszutei­ lung 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 Bus­ steuereinheit getrennte Busschnittstellensektionen für den Instruktionsbus, den Datenbus, den ersten Princeton-Bus und den zweiten Princeton-Bus zum Durchführen einer Eingabe/Aus­ gabe-Steuerung von Daten und Adressen enthält, und
jede der Busschnittstellensektionen mit Datenpuffern zum Halten von Daten und Adressenpuffern zum Halten von Adressen versehen ist.
3. Mikroprozessor nach Anspruch 1, bei welchem die Bus­ steuereinheit getrennte Busschnittstellensektionen für den Instruktionsbus, den Datenbus, den ersten Princeton-Bus und den zweiten Princeton-Bus zum Durchführen einer Eingabe/Aus­ gabe-Steuerung von Daten und Adressen enthält, und
jede der Busschnittstellensektionen mit Adressen­ decodern zum Decodieren der Adresse und Ausgeben eines Adressenanforderungssignals versehen ist, das ein Verbin­ dungsanforderungsziel anzeigt.
4. Mikroprozessor nach Anspruch 1, bei welchem die Bus­ steuereinheit getrennte Zustandsverschiebungssteuereinheiten für den Instruktionsbus, den Datenbus, den ersten Princeton- Bus und den zweiten Princeton-Bus zum Generieren eines Zu­ standssignals 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 ver­ bunden sind, und
eine Busverbindung gemäß einem Zustandssignal durch­ führt, das von den Zustandsverschiebungssteuereinheiten ge­ neriert wird.
5. Mikroprozessor nach Anspruch 4, bei welchem die Bus­ steuereinheit getrennte Warteanzeige-Signalgeneratoreinhei­ ten 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 Zustandsverschiebungssteuereinheit generiertes Signal den Buszugriffszustand anzeigt.
6. Mikroprozessor nach Anspruch 1, bei welchem die Bus­ steuereinheit ein Prioritätsreihenfolge-Signal zum Setzen einer Prioritätsreihenfolge von zu verbindenden Bussen ein­ gibt, und wenn eine Vielzahl von Verbindungsanforderungen an verschiedene Busse unter dem Instruktionsbus, dem Datenbus, dem ersten Princeton-Bus und dem zweiten Princeton-Bus gene­ riert wird, die Bussteuereinheit dann die Busse gemäß der vom Prioritätsreihenfolge-Signal gesetzten Prioritätsreihen­ folge verbindet.
7. Mikroprozessor nach Anspruch 1, bei welchem die Bus­ steuereinheit eine DMA-Schnittstelle zum Durchführen einer Eingabe/Ausgabe-Steuerung eines DMA-Transfers aufweist, indem damit ein DMA-Controller zum Steuern des DMA-Transfers verbunden wird.
8. Mikroprozessor nach Anspruch 7, bei welchem die DMA- Schnittstelle 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 Bus­ steuereinheit 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 Unter­ brechen 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 Bussteuerein­ heit angeschlossen sind.
11. Mikroprozessor, mit:
einer CPU zum Ausführen einer Instruktion;
einem Instruktionsspeicher zum Speichern von Instruk­ tionen;
einem Datenspeicher zum Speichern von Daten;
einem Instruktionsbus zum Vornehmen eines Zugriffs auf den Instruktionsspeicher;
einem Datenbus zum Vornehmen eines Zugriffs auf den Datenspeicher;
einem gemeinsamen Bus für einen Instruktions- und Datenzugriff; und
einer Bussteuereinheit zum Durchführen einer Buszutei­ lung des Instruktionsbusses, des Datenbusses und des gemein­ samen Busses gemäß einer Busnutzungsanforderung von der CPU.
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 true DE19950255A1 (de) 2000-06-15
DE19950255B4 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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061591A1 (en) * 2001-01-31 2002-08-08 Hitachi,Ltd Data processing system and data processor
WO2014166753A1 (de) * 2013-04-09 2014-10-16 Friedhelm Becker Schadsoftware-sicheres datenverarbeitungssystem

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 珠海一微半导体股份有限公司 一种存储控制器架构、数据处理电路及数据处理方法

Family Cites Families (6)

* 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
JPS6414648A (en) * 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor
JP2633900B2 (ja) * 1988-04-22 1997-07-23 株式会社日立製作所 共通バス制御方法
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
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
JP3163984B2 (ja) * 1996-06-28 2001-05-08 ヤマハ株式会社 楽音発生装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061591A1 (en) * 2001-01-31 2002-08-08 Hitachi,Ltd Data processing system and data processor
EP1679590A1 (de) * 2001-01-31 2006-07-12 Hitachi, Ltd. Datenverarbeitungssystem
WO2014166753A1 (de) * 2013-04-09 2014-10-16 Friedhelm Becker Schadsoftware-sicheres datenverarbeitungssystem
US9881169B2 (en) 2013-04-09 2018-01-30 Friedhelm Becker Malware-proof data processing system

Also Published As

Publication number Publication date
JP2000163312A (ja) 2000-06-16
DE19950255B4 (de) 2004-05-13
JP3623379B2 (ja) 2005-02-23
US6516378B1 (en) 2003-02-04

Similar Documents

Publication Publication Date Title
DE4218003C2 (de) Cache-Steuereinrichtung für ein sekundäres Cache-Speichersystem
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3782335T2 (de) Speichersteuersystem.
DE3750107T2 (de) Cachespeicherkohärenzsteuerung mit einem Speicher, der ein laufendes Lesen anzeigt.
DE3587439T2 (de) Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher.
DE3486299T2 (de) Bus-Arbitrierungssystem.
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE3689042T2 (de) Gerät zur Pufferung von Schreibanforderungen.
DE68926036T2 (de) Speicherkonfiguration zur Verwendung für Schnittstellenbildung zwischen einer Systemsteuereinheit für ein Multiprozessorsystem und dem Hauptspeicher
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
DE68920435T2 (de) Steuereinheit für den speicher.
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE3854369T2 (de) Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung.
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE3914265A1 (de) Steuerung des fliessbandbetriebs in einem dynamische busanpassung anwendenden mikrocomputersystem
DE3485980T2 (de) Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem.
DE19950255A1 (de) Mikroprozessor
DE69030688T2 (de) Halte- und Verriegelungsschaltung für Mikroprozessor
DE60132424T2 (de) Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung
DE2944419A1 (de) Digitalrechnersystem
DE68919018T2 (de) Zeitgeberkanal mit Übereinstimmungserkennungsmerkmalen.
DE68926761T2 (de) Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher
EP1915694A1 (de) Vorrichtung und verfahren zur speicherung von daten und/oder befehlen in einem rechnersystem mit wenigstens zwei verarbeitungseinheiten und wenigstens einem ersten speicher oder speicherbereich für daten und/oder befehle
DE3650642T2 (de) Speichermittel mit Mehrwortauslesen und Schreiben
DE4022365C2 (de) Datenübertragungssystem

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