DE19950255B4 - Mikroprozessor - Google Patents
Mikroprozessor Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling 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
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 Mikroprozessor100 eine CPU (Zentraleinheit)110 zum Ausführen von Instruktionen gemäß Programmcodes, eine Bussteuereinheit120 zum Durchführen einer Buszuteilung durch die Überwachung des Nutzungszustands einer Vielzahl von Bussen, einen Instruktionsspeicher131 als Speicher zum ausschließlichen Speichern von Instruktionen, einen Datenspeicher132 als Speicher zum ausschließlichen Speichern von Daten. Ferner enthält der Mikroprozessor100 einen Programm-ROM141 zum Speichern eines Startinstruktionsatzes und eines Basisinstruktionssatzes, einen Programm-RAM142 zum Speichern eines Benutzerprogramms. Außerdem enthält der Mikroprozessor100 einen DMA-Controller143 zum direkten Austauschen von Daten, das heißt, für einen DMA-Transfer, zwischen mit den Bussen verbundenen Modulen, ohne durch die CPU110 zu gehen, und verschiedene Speicher. Darüber hinaus enthält der Mikroprozessor110 eine externe Bus-2/F151 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/F152 , um die Expansion eines SDRAM (synchroner dynamischer Speicher mit wahlfreiem Zugriff) als erweiterter Speicher zu ermöglichen. Schließlich enthält der Mikroprozessor100 eine periphere Bus-I/F153 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 Bussteuereinheit120 vorgesehen. Der Programm-ROM141 , der Programm-RAM142 , der DMA-Controller143 , die externe Bus-I/F151 , die SDRAM-2/F152 und die periphere Bus-I/F153 sind mit einem gemeinsamen Bus verbunden, das heißt einem Princeton-Bus PB, der von der Bussteuereinheit120 ü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/F153 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 Bussteuereinheit120 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 inl gezeigt, werden der Instruktionsspeicher131 und der Datenspeicher132 insbesondere als Cache-Speicher verwendet, um den Durchsatz zu verbessern. Der Grundbetrieb des Mikroprozessors100 wird nachstehend erläutert. - Wenn der Mikroprozessor
100 gestartet wird, wird eine im Programm-ROM141 gespeicherte Startinstruktion in die CPU110 durch den Princeton-Bus PB und den Instruktionsbus IB eingelesen, und ein im Programm-RAM142 gespeichertes Benutzerprogramm wird ausgeführt, wenn notwendig. - In diesem Fall prüft die CPU
110 , bevor sie einen Zu griff auf den Programm-ROM141 und den Programm-RAM142 vornimmt, ob eine entsprechende Instruktion im Instruktionsspeicher131 gespeichert ist oder nicht. Wenn die entsprechende Instruktion gespeichert ist (Cache-Treffer), ruft die CPU110 diese Instruktion aus dem Instruktionsspeicher131 ab und führt diese Instruktion aus (Instruktionsabruf). - Wenn die entsprechende Instruktion hingegen nicht im Instruktionsspeicher
131 gespeichert ist, ruft die CPU110 die Instruktion aus dem Programm-ROM141 oder dem Programm-RAM142 ab, der das ursprüngliche Zugriffsziel ist, und führt diese Instruktion aus. Gleichzeitig speichert die CPU110 die abgerufene Instruktion im Instruktionsspeicher131 . Wenn es erneut notwendig wird, die einmal von der CPU110 ausgeführte Instruktion auszuführen, ist es mit dieser Anordnung möglich, diese Instruktion aus dem Instruktionsspeicher131 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-RAM142 . 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 Datenspeicher132 gespeichert werden, wird es auf eine Weise ähnlich den im Instruktionsspeicher131 gespeicherten Daten möglich, einen Cache-Treffer aus dem Datenspeicher132 zu erhalten, wenn es notwendig ist, einen Datenzugriff auf die SDRAM-I/F152 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 CPU110 , sondern auch der DMA-Controller143 ein Busmaster werden. Daher muß die CPU110 eine Genehmigung zur Nutzung des Instruktionsbusses IB, des Datenbusses DB und des Princeton-Busses PB von der Bussteuereinheit120 erhalten, jedesmal wenn die CPU110 den oben beschriebenen Instruktionsabruf oder Datenzugriff durchführt. - Mit anderen Worten, um einen Zugriff auf den Programm-ROM
141 oder Programm-RAM142 vorzunehmen, sendet die CPU110 ein Busnutzungsanforderungssignal, das eine Anforderung zur Nutzung des Princeton-Busses PB repräsentiert, durch den Steuerbus an die Bussteuereinheit120 . - Die Bussteuereinheit
120 prüft, ob der Princeton-Bus PB von einem anderen Busmaster genutzt wird oder nicht. Wenn beispielsweise der DMA-Controller143 den Princeton-Bus PB zum Durchführen eines DMA-Transfers von der SDRAM-I/F 152 zur externen Bus-I/F151 benützt, sendet die Bussteuereinheit120 ein Busnutzungsanforderungssignal an den DMA-Controller143 . Beim Empfang dieses Busnutzungsanforderungssignals geht der DMA-Controller143 in einen Haltezustand unmittelbar nach der Beendigung des aktuell ausgeführten Buszyklus, und sendet dann ein Busüberlassungssignal an die Bussteuereinheit120 . - Die Bussteuereinheit
120 sendet ein WAIT-Signal an die CPU 110, um die CPU110 während einer Periode ab dem Empfang des Busnutzungsanforderungssignals durch den DMA-Controller143 bis zum Senden des Busüberlassungssignals durch den DMA-Controller143 warten zu lassen. Beim Empfang des Busüberlassungssignals vom DMA-Controller143 sendet die Bussteuereinheit120 ein Buserhaltsignal, welches das Erhalten eines Busrechts repräsentiert, an die CPU110 . Wenn die CPU110 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-Controller143 , den Princeton-Bus PB benützen will, muß dieser Busmaster ferner auch ein Busrecht erhalten, indem er ein Busnutzungsanforderungssignal an die Bussteuereinheit120 auf ähnliche Weise wie oben beschrieben sendet. - So ist im herkömmlichen Mikroprozessor
100 , wie inl gezeigt, die Bussteuereinheit120 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 CPU110 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 CPU110 ein Busrecht zur Nutzung des Princeton-Busses PH erhalten, um einen Zugriff auf den Programm-ROM141 oder den Programm-RAM142 vorzunehmen. Daher wurde nicht unbedingt ein effizienter Buszugriff durchgeführt. - Wenn beispielsweise ein Instruktionscode aus dem Programm-ROM
141 in den Instruktionsspeicher131 durch den Instruktionsbus IB und den Princeton-Bus PB abgerufen wird, ermöglicht es die CPU110 , Daten unter Verwendung des Datenbusses DB abzurufen. Wenn die CPU beispielsweise die von der externen Bus-I/F151 eingegebenen Daten abrufen will, ist es in diesem Zustand jedoch notwendig, ein Busrecht zur Nutzung des Princeton-Busses PB zu erhalten. Folglich muß die CPU110 warten, bis der Abruf eines Instruktionscodes aus dem Programm-ROM141 zum Instruktionsspeicher131 beendet ist. - Obwohl der DMA-Controller
143 als repräsentativer anderer Busmaster als die CPU110 bei der Verbesserung des Durchsatzes einer internen arithmetischen Verarbeitung der CPU110 effektiv ist, wird der DMA-Controller143 ferner vom WAIT-Signal warten gelassen, bis die CPU110 ein Busüberlassungssignal an die Bussteuereinheit120 sendet, wie oben beschrieben, wenn ein anderer Busmaster, wie die CPU110 , das Busrecht zur Nutzung des Princeton-Busses PB hat. So kam es zu dem Problem, daß es eine Zeit dauert, bis der DMA-Controller143 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 CPU110 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 undUS 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 bis120 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 in2 gezeigt, enthält ein Mikroprozessor10 eine CPU (Zentraleinheit)20 zum Ausführen von Instruktionen gemäß Programmcodes, eine Bussteuereinheit30 zum Durchführen einer Buszuteilung durch die Überwachung des Nutzungszustands einer Vielzahl von Bussen, einen Instruktionsspeicher41 als Speicher zum ausschließlichen Speichern von Instruktionen, einen Datenspeicher42 als Speicher zum ausschließlichen Speichern von Daten, einen Programm-ROM Modul51 zum Speichern eines Startinstruktionssatzes und eines Basisinstruktionssatzes, einen Programm-RAM Modul52 zum Speichern eines Benutzerprogramms, einen DMA-Controller53 zum Steuern eines DMA-Transfers, eine externe Bus-I/F Modul61 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 Modul62 , um es zu ermöglichen, einen SDRAM als erweiterter Speicher zu expandieren, und einen periphere Bus-I/F Modul63 zum Ausführen einer Funktion als Schnittstelle mit eingebauten peripheren Anordnungen. - Zwischen der CPU
20 und der Bussteuereinheit30 sind ein Instruktionsbus IB und ein Datenbus DB vorgesehen, wobei sie eine Struktur unter Verwendung der oben beschriebenen Harvard-Architektur aufweisen. Der Programm-ROM51 und der Programm-RAM52 sind mit einem ersten Princeton-Bus PB1 verbunden, der von der Bussteuereinheit30 verwaltet wird. Die externe Bus-I/F61 , die SDRAM-I/F62 und die periphere Bus- I/F63 sind mit einem zweiten Princeton-Bus PB2 verbunden, der auch von der Bussteuereinheit30 verwaltet wird. Der DMA-Controller53 ist direkt mit der Bussteuereinheit30 verbunden. - Ein Zeitgeber
71 , ein UART72 zum Unterstützen einer seriellen Kommunikation, ein Analog/Digital-Wandler73 und dgl. sind mit der peripheren Bus-I/F63 als eingebaute periphere Anordnungen verbunden. Diese Einheiten sind ähnlich jenen des inl 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 Bussteuereinheit30 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 CPU20 anfänglich keinen Cache-Treffer im Instruktionsspeicher41 erhalten kann, und daher die CPU20 eine Instruktion aus dem Programm-ROM51 abrufen will, sendet die CPU20 ein Busnutzungsanforderungssignal an die Bussteuereinheit30 , um ein Busrecht zur Nutzung des ersten Princeton-Busses PBI zu erhalten, mit dem der Programm-ROM51 verbunden ist. - Der Programm-RAM
52 ist zusätzlich zum Programm-ROM51 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 Instruktionsspeicher41 gespeichert wird, kann demgemäß die CPU20 einen Zugriff auf einen mit dem zweiten Princeton-Bus PB2 verbunden Modul durch den Datenbus DB vornehmen. So kann der Mikroprozessor10 die Vorteile der Harvard-Architektur bestmöglich nutzen, und kann den Durchsatz der CPU20 wesentlich verbessern. - Da der DMA-Controller
53 als repräsentativer anderer Busmaster als die CPU20 direkt mit der Bussteuereinheit30 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 CPU20 genutzten Bus prompt zu erhalten. So kann sogar eine effiziente Bussteuerung auch in der Bussteuereinheit30 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 Bussteuereinheit30 den folgenden Betrieb für die mit der Bussteuereinheit30 verbundenen Busse durch. Die Bussteuereinheit30 sendet ein Halteanforderungssignal, das eine Halteanforderung des Instruktionsbusses IB repräsentiert, an die CPU20 als Busmaster, um ein Busrecht zur Nutzung des Instruktionsbusses IB zu erhalten. Nach der Beendigung des Buszyklus des ausgeführten Instruktionsabrufs führt die CPU20 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 CPU20 . Dann empfängt die Bussteuereinheit30 ein Quittungssignal, das eine Busfreigabe des Datenbusses DB repräsentiert, von der CPU20 , 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 CPU20 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 in2 , sind mit denselben Bezugszahlen versehen, und ihre Erläuterung entfällt. Wie in3 gezeigt, ist eine Bussteuereinheit31 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 Bussteuereinheit30 in2 . - 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 Busschnittstellensektion82 , die eine Verbindungsschnittstelle des Instruktionsbusses IB wird, eine Datenbusschnittstelle Busschnittstellensektion83 , die eine Verbindungsschnittstelle des Datenbusses DB wird, eine erste Princeton-Busschnittstelle Busschnittstellensektion84 , die eine Verbindungsschnittstelle des ersten Princeton-Busses PB1 wird eine zweite Princeton-Busschnittstelle Busschnittstellensektion85 , die eine Verbindungsschnittstelle des zweiten Princeton-Busses PB2 wird, und eine Buszuteilungsschaltung81 , 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 Instruktionsschnittstelle82 zeigt. Wie in4 gezeigt, enthält die Instruktionsschnittstelle82 einen Datenpuffer82a zum temporären Speichern von Daten auf dem Datenbus IBD, einen Adressenpuffer82b zum temporären Speichern einer Adresse auf dem Adressenbus IBA, einen Adressendecoder82c zum Decodieren einer im Adressenpuffer82b gespeicherter Adresse, um einen Bus und einen Modul zu spezifizieren, auf den zuzugreifen ist, eine Ablaufsteuereinheit82d 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-Generatorschaltung82e zum Ausgeben eines WAIT-Signals an den diesen Bus benützenden Modul gemäß einem von der Ablaufsteuereinheit82d 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 Adressenpuffer82b generiert die Ablaufsteuereinheit82d 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 Ablaufsteuereinheit82d ein Adressen/Datenzustandssignal zum Ausführen einer Busauswahl auf der Basis des obigen Zustands, ein Adressenanforderungssignal, das vom Adressendecoder82c 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 Ablaufsteuereinheit82d 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 Adressendecoder82c generierte physische Adresse und ein Buszustandssignal, das einen von der Ablaufsteuereinheit82d gesetzten Buszustand repräsentiert, werden in die Buszuteilungsschaltung81 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 Buszuteilungsschaltung81 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-Busschnittstelle84 und die zweite Princeton-Busschnittstelle85 , haben auch Strukturen, die einen Datenpuffer, einen Adressenpuffer, einen Adressendecoder, eine Ablaufsteuereinheit bzw. eine WAIT-Generatorschaltung auf eine Weise ähnlich der oben beschriebenen Instruktionsschnittstelle82 enthalten. Die Erläuterung dieser Schnittstellen entfällt. - Es wird angenommen, daß die Datenbusschnittstelle
83 durch einen Datenpuffer83a , einen Adressenpuffer83b , einen Adressendecoder83c , eine Ablaufsteuereinheit83d und eine WAIT-Generatorschaltung83e strukturiert ist. Ähnlich wird angenommen, daß die erste Princeton-Busschnittstelle84 und die zweite Princeton-Busschnittstelle85 auch durch einen Datenpuffer84a , einen Adressenpuffer84b , einen Adressendecoder84c , eine Ablaufsteuereinheit84d und eine WAIT-Generatorschaltung84e bzw. einen Datenpuffer85a , einen Adressenpuffer85b , einen Adressendecoder85c , eine Ablaufsteuereinheit85d und eine WAIT-Generatorschaltung85e strukturiert sind. - Demgemäß hat die Bussteuereinheit
31 individuelle Datenpuffer82a bis85a und Adressenpuffer82b bis85b 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 Datenpuffern82a bis85a und den Adressenpuffern82b bis85b 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 bis85c aufweisen, und jede Busschnittstellensektion ihr eigenes Adressenanforderungssignal ausgeben kann, kann ferner die Bussteuereinheit31 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 bis85d 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 Buszuteilungsschaltung81 gestellt werden. Daher kann die Belastung verringert werden, und die Ausbildung kann vereinfacht werden, verglichen mit dem Fall, wo eine Ablaufsteuereinheit in der Buszuteilungsschaltung81 zur Verwaltung aller Busnutzungszustände vorgesehen ist. - Da die Busse ihre eigenen WAIT-Generatorschaltungen (
82e bis85e ) 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 Buszuteilungsschaltung81 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 CPU20 ein Busrecht zur Nutzung des Instruktionsbusses IB und des ersten Princeton-Busses PB1 erhält und einen Instruktionsabruf aus dem Pro gramm-ROM51 durchführt.5 ist ein Blockbild, das eine schematische Konfiguration der Buszuteilungsschaltung81 zeigt. - Wie in
5 gezeigt, enthält die Buszuteilungsschaltung81 einen Adressenbus-Schaltmodul81a 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 Instruktionsschnittstelle82 , eingegeben wird, und zum Senden des Adresseneingangs von der Busschnittstelle zu einem Adressenbus, in diesem Fall dem Adressenbus PBA1, und einen Datenbus-Schaltmodul81b 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 Instruktionsschnittstelle82 , 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-Busschnittstelle84 , transferiert. - Als nächstes wird mit Bezugnahme auf die oben erläuterten
3 bis5 nachstehend der Betriebsfluß des Mikroprozessors11 erläutert, bis die CPU20 einen Instruktioncode vom Programm-ROM51 durch einen Instruktionsabruf erhält. Es wird angenommen, daß kein Cache-Treffer im Instruktionsspeicher41 erhalten wurde. - Zuerst sendet die CPU
20 ein Busnutzungsanforderungssignal zur Nutzung des Instruktionsbusses IB und des ersten Princeton-Busses PB1 jeweils an die Bussteuereinheit31 durch den nicht dargestellten Steuerbus. Da nur der Modul für einen Instruktionszugriff durch die CPU20 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 CPU20 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 CPU20 angezeigt wird, zum Adressenbus IBA des Instruktionsbusses IB. Die Instruktionsschnittstelle82 hält diese Adresse im Adressenpuffer82b , und sendet diese Adresse gleichzeitig an den Adressendecoder82c . Der Adressendecoder82c decodiert die durch den Adressenpuffer82b gesendete Adresse und gibt ein Adressenanforderungssignal aus. - Dann gibt die Ablaufsteuereinheit
82d ein Lesesignal aus der CPU20 als Steuersignal zusammen mit dem vom Adressendecoder82c ausgegebenen Adressenanforderungssignal ein, um anzuzeigen, daß sich der Zustand des Instruktionsbusses vom Nicht-Zugriffszustand zum Lesezustand geändert hat. Gleichzeitig gibt die Ablaufsteuereinheit82d 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-Generatorschaltung82e den von der Ablaufsteuereinheit82d 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 Buszuteilungsschaltung81 eingegeben. In der Buszuteilungsschaltung81 wird zuerst der Adressen busschalter für den ersten Princeton-Bus PB1 auf der Basis des Eingangs des Adressenzustandssignals im Adressenbus-Schaltmodul81a 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-Busschnittstelle84 ausgegeben. Ähnlich werden der Datenbus IBD des Instruktionsbusses und der Datenbus PBD1 des ersten Princeton-Busses durch die erste Princeton-Busschnittstelle84 miteinander verbunden. - Die Ablaufsteuereinheit
84d der ersten Princeton-Busschnittstelle84 läßt den ersten Princeton-Bus PB1 in der Buszuteilungsschaltung81 spezifizieren, gibt ein Lesesignal von der CPU20 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-Generatorschaltung84e den von der Ablaufsteuereinheit84d 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 Bussteuereinheit31 . So ruft der Programm-ROM51 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 Bussteuereinheit31 durch den nicht dargestellten Steuerbus. - Beim Empfang des Datenquittungssignals sendet die Bussteuereinheit
31 , spezifischer die Buszuteilungsschaltung81 , die an den Datenbus PBD1 des ersten Princeton-Busses PB1 gesendeten Daten an den Datenpuffer82a der Instruktionsschnittstelle82 . - 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 Datenpuffer82a gehalten. Daher kann die CPU20 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 Instruktionsschnittstelle82 und der ersten Princeton-Busschnittstelle84 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 CPU20 Daten in die mit dem zweiten Princeton-Bus PB2 verbundene SDRAM-I/F 62 schreibt, gleichzeitig mit einem Start der Zugriffsverarbeitung auf den Programm-ROM51 durch die CPU20 . Es wird angenommen, daß kein Cache-Treffer im Datenspeicher42 erhalten wurde. - In diesem Fall sendet die CPU
20 ein Busnutzungsanforderungssignal zur Nutzung des Datenbusses DB bzw. des zweiten Princeton-Busses PB2 zur Bussteuereinheit31 durch den nicht dargestellten Steuerbus. Da nur der Modul für einen Instruktionszugriff durch die CPU20 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 CPU20 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 CPU20 angezeigten Daten an den Adressenbus DBA des Datenbusses IB. Die Datenbusschnittstelle83 hält diese Adresse im Adressenpuffer ähnlich der Instruktionsschnittstelle82 , und sendet diese Adresse gleichzeitig an den Adressendecoder83c . Der Adressendecoder83c decodiert die durch den Adressenpuffer83b gesendete Adresse, und gibt ein Adressenanforderungssignal aus. - Ferner sendet die CPU
20 die im Instruktionsregister der CPU20 angezeigten Daten an den Datenbus DBD des Datenbusses DB. Die Datenbusschnittstelle83 hält die Adresse auf dem Adressenbus DBA im Adressenpuffer auf eine Weise ähnlich der Instruktionsschnittstelle82 , und sendet diese Adresse gleichzeitig an den Adressendecoder83c . Der Adressendecoder83c decodiert die durch den Adressenpuffer83b gesendete Adresse, und gibt ein Adressenanforderungssignal aus. Die Daten auf dem Datenbus DBD werden auch auf ähnlich Weise im Datenpuffer83a gehalten. - Dann gibt die Ablaufsteuereinheit
83d ein Schreibsignal von der CPU20 als Steuersignal zusammen mit dem aus dem Adressendecoder83c ausgegebenen Adressenanforderungssignal ein, um anzuzeigen, daß sich der Zustand des Datenbusses DB vom Nicht-Zugriffszustand zum Schreibzustand geändert hat. Gleichzeitig gibt die Ablaufsteuereinheit83d 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-Generatorschaltung83e erhält den von der Ablaufsteuereinheit83d 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 Buszuteilungsschaltung81 eingegeben. In der Buszuteilungsschaltung81 wird zuerst ein Adressenbusschalter für den zweiten Princeton-Bus PB2 durch den Eingang des Adressenzustandssignals im Adressenbus-Schaltmodul81a 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-Busschnittstelle85 ausgegeben. Ähnlich werden der Datenbus DBD des Datenbusses und der Datenbus PBD2 des zweiten Princeton-Busses PB2 durch die zweite Princeton-Busschnittstelle85 miteinander verbunden. - Die Ablaufsteuereinheit
85d der zweiten Princeton-Busschnittstelle85 läßt den zweiten Princeton-Bus PB2 in der Buszuteilungsschaltung81 spezifizieren, gibt ein Schreibsignal von der CPU20 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-Generatorschaltung85e den von der Ablaufsteuereinheit85d 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 Bussteuereinheit31 . So ruft die SDRAM-I/F62 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 Bussteuereinheit31 durch einen Steuerbus (nicht dargestellt). So beendet die CPU20 die Zugriffsverarbeitung auf die SDRAM I/F62 . Danach wird ein Busfreigabesignal zum Freigeben des zweiten Princeton-Busses PB2 zur Bussteuereinheit31 gesendet. Gleichzeitig wird das WAIT-Signal in der Datenbusschnittstelle83 und der zweiten Princeton-Busschnittstelle85 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 CPU20 . Wie in6 gezeigt, kann die CPU20 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 CPU20 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 Buszuteilungsschaltung81 von der CPU20 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-ROM51 , des Programm-RAM52 und dgl., in denen Instruktionszugriffe von der CPU20 konzentriert werden, im ersten Princeton-Bus PB1 zusammengesetzt, und die Module der externen Bus-I/F61 , der SDRAM-I/F62 , der peripheren Bus-I/F63 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 CPU20 wesentlich zu verbessern. - Im Mikroprozessor
11 in bezug auf die erste Ausführungsform sind die Ablaufsteuereinheiten82d bis85d und die WAIT-Generatorschaltungen82e bis85e jeweils in jeder der Busschnittstellensektionen vorgesehen, welche die Instruktionsschnittstelle82 , die Datenbusschnittstelle83 , die erste Princeton-Busschnittstelle84 und die zweite Princeton-Busschnittstelle85 enthalten. Alternativ dazu können diese Ablaufsteuereinheiten82e bis85d und die WAIT-Generatorschaltungen82e bis85e auch innerhalb der Buszuteilungsschaltung81 vorgesehen sein, indem sie entsprechend jeder Busschnittstelle vorgesehen werden. -
7 ist ein Blockbild, das eine schematische Konfiguration einer Instruktionsschnittstelle82' als weiteres Beispiel der Instruktionsschnittstelle zur Erläuterung dieses alternativen Falls zeigt.8 ist ein Blockbild, das eine schematische Konfiguration einer Buszuteilungsschaltung81' als weiteres Beispiel der Buszuteilungsschaltung zur Erläuterung dieses alternativen Falls zeigt. - Wie in
7 gezeigt, enthält die Instruktionsschnittstelle82' einen Datenpuffer82'a , einen Adressenpuffer82'b und einen Adressendecoder82'c . Diese Puffer haben dieselben Funktionen wie die Funktionen des in4 gezeigten Datenpuffers82a , Adressenpuffers82b und Adressendecoders82c , 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 Instruktionsschnittstelle82' . - Andererseits enthält, wie in
8 gezeigt, die Buszuteilungsschaltung81' einen Adressenbus-Schaltmodul81'a und einen Datenbus-Schaltmodul81'b , die dem in5 gezeigten Adressenbus-Schaltmodul81a bzw. Datenbus-Schaltmodul81b entsprechen. Zusätzlich zu obigem enthält die Buszuteilungsschaltung81' auch eine Adressen-WAIT-Generatorschaltung81'c , eine Adressen-Ablaufsteuereinheit81'd , eine Daten-Ablaufsteuereinheit81'e und eine Daten-WAIT-Generatorschaltung81'f . - Die Adressen-Ablaufsteuereinheit
81'd und die Daten-Ablaufsteuereinheit81'e haben dieselben Funktionen wie die Funktionen der in4 gezeigten Ablaufsteuereinheit82d . Die Adressen-WAIT-Generatorschaltung81'c und die Daten-WAIT-Generatorschaltung81'f haben auch dieselben Funktionen wie die Funktionen der in4 gezeigten WAIT-Generatorschaltung82e . 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-Schnittstelle86 auf weist, die mit der Buszuteilungsschaltung81 verbunden ist, und daß der DMA-Controller53 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 in2 identisch sind, sind mit identischen Bezugszahlen versehen, und ihre Erläuterung entfällt. - In
9 hat ein Mikroprozessor12 die DMA-Schnittstelle86 in einer Bussteuereinheit32 , so daß ein DMA-Controller53 als repräsentativer anderer Busmaster als die CPU20 direkt mit der Bussteuereinheit32 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 Buszuteilungsschaltung81 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 Bussteuereinheit32 , welche die Instruktionsschnittstelle82 , die Datenbusschnittstelle83 , die erste Princeton-Busschnittstelle84 und die zweite Princeton-Busschnittstelle85 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-Schnittstelle86 sowie der Betrieb der oben beschriebenen Busschnittstelle können von der Buszuteilungsschaltung81 gesteuert werden. Daher kann die Struktur des DMA-Controllers53 einfach ausgebildet werden. Die Ausbildung der Bussteuereinheit32 kann auch effektiv genutzt werden. - So ist gemäß dem Mikroprozessor
12 in bezug auf die zweite Ausführungsform der DMA-Controller53 als Busmaster direkt mit der Bussteuereinheit32 verbunden und wird von der Buszuteilungsschaltung81 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 Bussteuereinheit32 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 Bussteuereinheit33 zu erhalten. Wenn ein Standby-Betriebsanforderungssignal in diesen externen Anschluß eingegeben wird, erteilt gemäß dieser Bussteuereinheit33 die Buszuteilungsschaltung81 eine Bushalteanforderung an jede Busschnittstelle. In einem Zustand, wo ein Busrecht jedes Busses erhalten wird, kann die Buszuteilungsschaltung81 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 in2 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 Bussteuereinheit33 gezeigt. - Wie in
10 gezeigt, ist ein externer Anschluß90 mit der Buszuteilungsschaltung81 der Bussteuereinheit33 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 Buszuteilungsschaltung81 ein Bushalteanforderungssignal an die Busschnittstellen, welche die Instruktionsschnittstelle82 , die Datenbusschnittstelle83 , die erste Princeton-Busschnittstelle84 und die zweite Princeton-Busschnittstelle85 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 Bussteuereinheit30 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-Register91 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 in11 gezeigt, hat die Bussteuereinheit denselben Betrieb, außer daß der externe Anschluß90 in10 durch das Standby-Register91 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 CPU20 eine Speicheroperation zur Zeit eines Testbetriebs durchführt. - Die in
10 und11 gezeigte Bussteuereinheit33 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 Bussteuereinheit32 . - 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 bis33 zu stellen. - Außerdem wird in der ersten bis dritten Ausführungsform angegeben, daß der Instruktionsspeicher
41 und der Datenspeicher42 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-RAM52 und der SDRAM-I/F62 verbunden ist. Beispielsweise ist es möglich, den Instruktionsspeicher41 als Cache-Speicher zu verwenden, und den Datenspeicher42 als gewöhnlichen Speicher zu verwenden. - Ferner kann die vorliegende Erfindung in den in
12A bis120 gezeigten Fällen verwendet werden. Beispielsweise kann, wie in12A gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der Datenspeicher132 , der mit dem Datenbus DB verbunden ist, kann auf den zweiten Princeton-Bus PB2 Seite-an-Seite zugreifen. Ähnlich kann, wie in12B gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der Datenspeicher132 , der mit dem Datenbus DB verbunden ist, kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in12C gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den Datenspeicher132 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 in12D gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in12E gezeigt, der Datenspeicher132 , der mit dem Datenbus DB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in12F gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den Datenspeicher132 zugreifen, der mit dem Datenbus DB verbunden ist, und der DMA-Controller53 kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in12G gezeigt, der Datenspeicher132 , der mit dem Datenbus DB verbunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller53 kann auf den ersten Princeton-Bus PB1 zugreifen. - Darüber hinaus kann, wie in
12H gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller53 kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in12I gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den Datenspeicher132 zugreifen, der mit dem Datenbus DB verbunden ist, und der DMA-Controller53 kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in12J gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den ersten Princeton-Bus PB1 zugreifen, und der DMA-Controller53 kann auf den Datenspeicher132 zugreifen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in12K gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB ver bunden ist, auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller53 kann auf den Datenspeicher132 zugreifen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in12L gezeigt, der erste Princeton-Bus PB1 auf den zweiten Princeton-Bus PB2 zugreifen, und der DMA-Controller53 kann auf den Datenspeicher132 zugreifen, der mit dem Datenbus DB verbunden ist. Ähnlich kann, wie in12M gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den DMA-Controller S3 zugreifen, und der Datenspeicher132 , der mit dem Datenbus DB verbunden ist, kann auf den zweiten Princeton-Bus PB2 zugreifen. Ähnlich kann, wie in12N gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den DMA-Controller53 zugreifen, und der Datenspeicher132 , der mit dem Datenbus DB verbunden ist, kann auf den ersten Princeton-Bus PB1 zugreifen. Ähnlich kann, wie in12O gezeigt, der Instruktionsspeicher131 , der mit dem Instruktionsbus IB verbunden ist, auf den DMA-Controller53 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)
- 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. - 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. - 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. - 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. - 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. - 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.
- 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. - 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. - 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.
- 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.
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)
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)
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)
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)
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 | ヤマハ株式会社 | 楽音発生装置 |
-
1998
- 1998-12-01 JP JP34120598A patent/JP3623379B2/ja not_active Expired - Lifetime
-
1999
- 1999-10-18 DE DE19950255A patent/DE19950255B4/de not_active Expired - Lifetime
- 1999-10-26 US US09/426,757 patent/US6516378B1/en not_active Expired - Lifetime
Patent Citations (3)
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)
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 |