-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft das technische Gebiet der Datenübertragung
bei Datenprozessoren mit Busverbindung und der Datenübertragung in
Systemen mit einer Anzahl von Datenprozessoren und einer Anzahl
von Systembussen. Zum Beispiel betrifft die vorliegende Erfindung
eine Technik, die angewendet werden kann, wenn ein Datenprozessor die
in andere Datenprozessoren eingebauten Schaltungen gemeinsam mit
diesen benutzt, und die angewendet werden kann, wenn ein Datenprozessor
auf die externen Busse von anderen Datenprozessoren zugreift. Darüberhinaus
betrifft die vorliegende Erfindung die Technik der Bootsteuerung,
mit der die Betriebsprogramme von Datenprozessoren zu Beginn im
Speicher gespeichert werden.
-
Mit
der steigenden Komplexität
von Systemen nimmt die Anzahl der Datenprozessoren und Komponenten
im System zu. Zum Beispiel umfaßt
im Mobiltelefonsystem ein Basisband-Datenprozessor, der die Kommunikation
steuert, Steuersoftware (Anwendungssoftware und Tastenkontrollsoftware
und dergleichen) und Hardware (Komponenten einer Hochfrequenzschaltung,
LCD, Speicher und dergleichen). Bei der heutigen Vielzahl von Funktionen
ist es jedoch schwierig, daß der
Basisband-Prozessor alle Prozesse durchführt. Bei den herkömmlichen PC-Systemen
wurde dieses Problem durch Erhöhen der
Betriebsfrequenz des Datenprozessors gelöst. Bei batteriebetriebenen
mobilen Terminals kann die Leistungsfähigkeit jedoch nicht durch
eine höhere Frequenz
verbessert werden, da die Lebensdauer der Batterie nicht eingeschränkt werden
soll.
-
Auch
wurde in Betracht gezogen, die Frequenz zu variieren, mit der die
Prozesse vom Datenprozessor ausgeführt werden. In der Praxis ist
die Umsetzung eines solchen Verfahrens in einem komplexen System
jedoch sehr schwierig. Darüberhinaus haben
Datenprozessoren, die für
schnelle Operationen geeignet sind, in der Regel eine große Chipfläche, und
es ist schwierig, bei solchen Datenprozessoren den im Standby-Zustand
verbrauchten Strom zu verringern.
-
Um
diese Probleme zu lösen,
werden herkömmlich
Anwendungen, die vom eigentlichen Datenprozessor nicht ausgeführt werden
können,
von einem Co-Prozessor oder von einem anderen Datenprozessor verarbeitet.
Da dabei die Datenprozessoren immer nur diejenige Aufgabe ausführen, für die sie
am besten geeignet sind, läßt sich
ein solches System relativ leicht aufbauen, wobei auch der Gesamt-Stromverbrauch
des Systems herabgesetzt werden kann.
-
Wenn
sich in einem System mehrere Datenprozessoren und Co-Prozessoren
und so weiter befinden, wird für
die Verbindung der Datenprozessoren häufig ein gemeinsamer Bus verwendet.
Wenn jedoch ein Datenprozessor den gemeinsamen Bus nicht nutzen
kann, oder wenn durch die gemeinsame Verwendung des Busses nicht
die volle Leistungsfähigkeit
erreicht werden kann, da dessen Leistungsfähigkeit beim Zugriff auf einen
Speicher nicht ausreicht, muß der
Datentransfer über
ein bestimmtes Interface zu einem Datenpro zessor erfolgen, der dann
die Verbindung des Interface mit dem Bus und den anderen Prozessoren
herstellt. An diesem Interface wird das Host-Port-Interface zum
Beispiel durch das DSP (TMS320C54x) von TI unterstützt. Der
Datentransfer zwischen den Datenprozessoren erfolgt dabei unter
Verwendung des in den Datenprozessor eingebauten RAMs und der Interruptfunktion.
Um die übertragenen
Daten nutzen zu können,
muß Software
ausgeführt
werden.
-
Nicht
nur das System, sondern auch die Funktion der Datenprozessoren ist
ausgesprochen umfangreich. Wenn sich in einem System mehrere Datenprozessoren
befinden, ist es nicht erforderlich, daß alle Datenprozessoren die
gleichen Funktionen unterstützen,
sondern es können
die den Datenprozessoren eigenen Funktionen wie das Speicher-Interface, der USB
(Universal Serial Bus), eine Speicherkarte, ein serielles Interface
für SDRAMs
(synchrone DRAMs) und dergleichen effektiver ausgenutzt werden.
Wenn Datenprozessoren mit einem Interface verbunden sind, das nicht
am gemeinsamen Bus hängt,
müssen
die übertragenen
Daten unter der Bedingung, daß die
unterstützten
Funktionen der jeweiligen Datenprozessoren benutzt werden, mit Software
verarbeitet werden. Wenn zum Beispiel ein bestimmter Datenprozessor über das
Speicherinterface eines anderen Datenprozessors auf einen Speicher zugreifen
will, ist es erforderlich, daß zum
anderen Datenprozessor die Daten, auf die über dieses Interface zugegriffen
werden soll, übertragen
werden, woraufhin auf dem anderen Datenprozessor ein Programm für einen
Interruptprozeß ausgeführt wird,
der andere Datenprozessor bei der Ausführung des Programms auf den
Speicher zugreift und nach dem Zugriff eine Interruptanforderung
an den einen Datenprozessor ausgibt, um über das Interface die Daten zu
dem einen Datenprozessor zu übertragen.
-
Ein
weiteres Problem der komplizierten Systemstruktur ist die Verringerung
der Aufbaufläche. Insbesondere
bei mobilen Informationsterminals ist es erforderlich, die Anzahl
der Komponenten des Systems zu verringern, um die Aufbaufläche unter den
Gesichtspunkten einer Verringerung des Stromverbrauchs und der Kosten
zu verkleinern. Wenn das System jedoch viele Funktionen aufweisen
soll, ist auch die Anzahl der Komponenten für die Umsetzung der Funktionen
hoch. Das Problem verstärkt
sich, wenn wie oben beschriebene mehrere Datenprozessoren vorgesehen
werden.
-
Wenn
bei einem herkömmlichen
System wie beschrieben mehrere Datenprozessoren vorgesehen sind
und die Datenprozessoren nicht über
einen gemeinsamen Bus verbunden werden können, ist für die gegenseitige Verbindung
der Datenprozessoren jeweils ein Interface erforderlich. Ein Host-Interface wie
das DSP von TI führt
bei der Durchführung
des Datentransfers eine Übergabefunktion
aus, wobei die in die Datenprozessoren eingebauten RAMs und eine
Interruptfunktion verwendet werden. Da es dabei erforderlich ist,
für jede
Datenübertragung
einen Interruptprozeß auszuführen, nimmt
die Leistungsfähigkeit
ab, da jedesmal das gerade laufende Programm unterbrochen wird.
Dieses Problem tritt besonders dann in Erscheinung, wenn es erforderlich ist,
externe Interfaces zu benutzen, die von den Datenprozessoren unterstützt werden.
-
Die
Erfinder der vorliegenden Erfindung haben überlegt, vorab ein Betriebsprogramm
für die
Datenprozessoren in einem Speicher zu speichern. Zum Beispiel wird
in einem Mikroprozessor mit einem elektrisch programmierbaren Flash-Speicher
auf dem Chip zum Speichern von Betriebsprogrammen für die CPU
das Initialprogramm für
den Flash-Speicher bei der Herstellung mit einer Schreibvorrichtung wie
einer EPROM-Schreibvorrichtung
eingeschrieben. Ein solcher Schreibvorgang ist jedoch kompliziert
und erfordert einige Zeit, da der Schreibvorgang eine Überprüfung und
einen Umschreibprozeß umfaßt. Ein
solcher Schreibvorgang erhöht
damit ebenfalls die Herstellungskosten für einen Datenprozessor.
-
In
der
US 6 141 718 ist
ein Datenverarbeitungssystem beschrieben, bei dem eine erste und eine
zweite integrierte Halbleiterschaltung mit einer dritten integrierten
Halbleiterschaltung in Verbindung stehen, wobei zweite integrierte
Halbleiterschaltung zwei Betriebsmoden bezüglich des Abgebens von Daten
an die dritte integrierte Halbleiterschaltung umfaßt.
-
AUFGABE DER ERFINDUNG UND ÜBERSICHT ÜBER DIE
ERFINDUNG
-
Aufgabe
der vorliegenden Erfindung ist es daher, einen Datenprozessor mit
einem Datenübertragungsinterface
für eine
Datenübertragung
zusätzlich
zu einem Speicherinterface in einem komplizierten Datenverarbeitungssystem
für viele
Funktionen zu schaffen. Eine weitere Aufgabe der vorliegenden Erfindung
ist es, von den internen Funktionen der jeweiligen Datenprozessoren
oder von externen Schaltungen der jeweiligen Datenprozessoren in
anderen mit dem Interface verbundenen Datenprozessoren oder Vorrichtungen
wirkungsvoll Gebrauch zu machen. Mit der vorliegenden Erfindung
soll über
eine Verbesserung der Systemleistung ein niedriger Stromverbrauch
erreicht werden, und es sollen die Kosten niedrig gehalten werden.
-
Eine
andere Aufgabe der vorliegenden Erfindung ist es, ein Datenverarbeitungssystem
und darüberhinaus
einen Datenprozessor zu schaffen, bei dem der Prozeß zum anfänglichen
Einschreiben eines vom Datenprozessor auszuführenden Programms in einen
nichtflüchtigen
Speicher leicht durchzuführen
ist.
-
Die
obigen Aufgaben werden mit dem im Patentanspruch 1 angegebenen System
gelöst.
-
Typische
Merkmale der folgenden Beschreibung werden nun kurz erläutert.
-
[1]
Gemäß einem
ersten Aspekt erhalten andere Datenprozessoren Zugriff auf den internen
Bus eines Datenprozessors.
-
Bei
diesem ersten Aspekt ist ein Datenprozessor (100) mit einem
Interface (119) für
die Verbindung mit einem anderen Datenprozessor (101) versehen,
und dieses Interface ist mit einer Funktion versehen, die den anderen
Datenprozessor zum Bus-Master für
den internen Bus des einen Datenprozessors macht, um die Funktion
zu unterstützen,
von außen über das
Interface die vom Speicher auf den internen Baus abgebildeten peripheren
Funk tionen direkt mit den anderen Datenprozessoren zu betreiben.
Der Datenprozessor kann dadurch die peripheren Funktionen der anderen
Datenprozessoren verwendeten, ohne daß dazu Programminterrupts auszuführen sind.
Wenn der erste Datenprozessor zum Beispiel über das Speicherinterface eines
zweiten Datenprozessors auf einen bestimmten Speicher zugreift,
kann der erste Datenprozessor über
das Interface des zweiten Datenprozessors zugreifen und den peripheren
Speicher und die anderen peripheren Schaltungen nutzen. Kurz gesagt
kann ein Datenprozessor die peripheren Ressourcen von anderen Datenprozessoren
gemeinsam mit diesen nutzen. Mit anderen Worten kann der erste Datenprozessor
direkt die Interfacefunktionen des zweiten Datenprozesses nutzen.
Dadurch wird die Systemleistung erhöht.
-
Dieser
Aspekt wird nun genauer erläutert. Das
Datenverarbeitungssystem des ersten Aspekts umfaßt den ersten Datenprozessor
(100) und den zweiten Datenprozessor (101). Der
zweite Datenprozessor enthält
das Interface (119), das dem ersten Datenprozessor das
Recht erteilt, den internen Bus des zweiten Datenprozessors zu nutzen.
Das Interface läßt den ersten
Datenprozessor, der das Recht erhalten hat, den internen Bus zu
nutzen, auf die mit dem internen Bus verbundene Ein/Ausgabe-Schaltung
zugreifen.
-
Die
Ein/Ausgabe-Schaltung besteht aus einer einzigen Schaltung oder
aus einer Anzahl von Schaltungen, zum Beispiel aus einer mit einem SDRAM
verbundenen SDRAM-Interfaceschaltung, einer mit einem Flüssigkristalldisplay
verbundenen LCD-Interfaceschaltung,
einer mit einer Speicherkarte verbundenen Speicherkarten-Interfaceschaltung, einer
seriellen Interfaceschaltung, einem nichtflüchtigen Speicher, einem elektrisch
programmierbaren nichtflüchtigen
Speicher oder einer allgemeinen Ein/Ausgabe-Port-Schaltung.
-
Das
Interface kann einen Puffer-RAM (107) enthalten, der ausschließlich für Operationen
in Verbindung mit einem Zugriff vom zweiten Datenprozessor und einem
Zugriff vom ersten Datenprozessor zuständig ist.
-
[2]
Gemäß einem
zweiten Aspekt kann der andere Datenprozessor über den einen Datenprozessor
auf den externen Datenbus des einen Datenprozessors zugreifen.
-
Der
zweite Aspekt umfaßt
eine Einrichtung (114), die im zweiten Datenprozessor ein
Interface zwischen dem ersten Datenprozessor (100) und
einer externen Vorrichtung (104) des zweiten Datenprozessors
bereitstellt, während
sich der zweite Prozessor (101) in einem Wartezustand befindet
(die Stromversorgung ist aus oder im Standby-Zustand). Entsprechend
kann der erste Datenprozessor die mit dem zweiten Datenprozessor
verbundene Vorrichtung steuern, ohne während des Wartezustands des zweiten
Datenprozessors dafür
eine externe Schaltung zu benutzen. Auch wenn der zweite Datenprozessor
im Wartezustand ist, kann daher der erste Datenprozessor die mit
dem zweiten Datenprozessor verbundene externe Schaltung dadurch
steuern, daß er
die internen Schaltungen des zweiten Datenprozessors umgeht. Dadurch
wird die Anzahl der Komponenten für das Datenverarbeitungssystem
kleiner, und auch die Kosten werden geringer.
-
Dieser
Aspekt wird nun näher
beschrieben. Das Datenverarbeitungssystem des zweiten Aspekts umfaßt den ersten
Datenprozessor (100), einen ersten Bus (103),
der mit dem ersten Datenprozessor verbunden ist, den zweiten Datenprozessor
(101), der mit dem ersten Bus verbunden ist, und einen zweiten
Bus (105), der mit dem zweiten Datenprozessor verbunden
ist. Der zweite Datenprozessor enthält eine erste externe Interfaceschaltung
(119), von der ein Anschluß mit dem ersten Bus und ein
anderer Anschluß mit
dem internen Bus verbunden ist, ein zweites externes Interface (113),
von dem ein Anschluß mit
dem zweiten Bus und ein anderer Anschluß mit dem internen Bus verbunden
ist, und einen Umschalter (114), der statt des einen Anschlusses
der zweiten externen Interfaceschaltung den einen Anschluß der ersten
Interfaceschaltung mit dem zweiten Bus verbindet, wenn sich der
zweite Datenprozessor im Wartezustand befindet.
-
Im
Wartezustand des zweiten Datenprozessors wird zum Beispiel der Taktsynchronisationsschaltung
des zweiten Datenprozessors kein Taktsignal zugeführt. Der
zweite Datenprozessor enthält auch
eine Stromversorgungs-Steuerschaltung (116b), um die Betriebsstromversorgung
für den
Umschalter von der Betriebsstromversorgung der anderen Schaltungen
zu trennen und um einem Teil oder allen oben beschriebenen und anderen
Schaltungen im Wartezustand des zweiten Datenprozessors keinen Betriebsstrom
zuzuführen.
Der Stromverbrauch wird so im Wartezustand des zweiten Datenprozessors
verringert.
-
Die
zweite externe Interfaceschaltung enthält eine LCD-Interfaceschaltung,
die zum Beispiel mit einer Flüssigkristalldisplaysteuerung
verbunden ist. In diesem Fall ist der zweite Bus mit der Flüssigkristalldisplaysteuerung
verbunden. Entsprechend steuert der erste Datenprozessor die Flüssigkristalldisplaysteuerung über den
Umschalter.
-
[3]
Gemäß einem
dritten Aspekt wird die Betriebssteuerung zum anfänglichen
Einschreiben eines nach einer Resetoperation vom Datenprozessor auszuführenden
Betriebsprogramms von einem nichtflüchtigen Speicher auf dem Chip
abgerufen. Über
den jeweiligen Datenprozessor wird auf dem lokalen Bus ein nichtflüchtiger
Speicher bereitgestellt.
-
Das
Datenverarbeitungssystem des dritten Aspekts umfaßt den ersten
Datenprozessor (100) und den zweiten Datenprozessor (101).
Der zweite Datenprozessor enthält
einen nichtflüchtigen
Speicher (107), der so gesteuert wird, daß nach einer
Resetoperation in einem ersten Betriebsmodus Daten in den ersten
Datenprozessor eingeschrieben werden, eine CPU (109), die
den nichtflüchtigen
Speicher als Objekt für
die Zuführung
von Anweisungen nach der Schreiboperation im ersten Betriebsmodus
betrachtet, und einen elektrisch programmierbaren nichtflüchtigen
Speicher (502), der nach einer Resetoperation von der CPU
im zweiten Betriebsmodus als Objekt für die Zuführung von Anweisungen betrachtet
wird. Der erste Datenprozessor bringt den zweiten Datenprozessor
in den ersten Betriebsmodus und speichert dann im nichtflüchtigen
Speicher ein Schreibsteuerprogramm für den nichtflüchtigen
Speicher und ermöglicht
es der CPU, die Anweisung abzurufen. Entsprechend ist der zweite
Datenprozessor in der Lage, das in den nichtflüchtigen Speicher eingeschriebene
Schreibsteuerprogramm auszuführen und
dann in Abhängigkeit
von der Ausführung
als erstes das Betriebsprogramm für den ersten Datenprozessor
in den nichtflüch tigen
Speicher auf dem Chip einzuschreiben. Bei der Ausführung dieses
Betriebsprogramms reicht es aus, wenn der zweite Betriebsmodus nach
der Aufhebung der Resetoperation zugeteilt wird.
-
Der
elektrisch programmierbare nichtflüchtige Speicher ist nicht auf
einen On-Chip-Speicher
für den
ersten Datenprozessor beschränkt.
Dieser Speicher kann auch ein elektrisch programmierbarer nichtflüchtiger
Speicher (501) sein, der mit dem lokalen Bus des ersten
Datenprozessors verbunden ist.
-
Beim
dritten Aspekt erfolgt die Betriebssteuerung beim anfänglichen
Einschreiben des vom Datenprozessor nach einer Resetoperation auszuführenden
Betriebsprogramms durch den nichtflüchtigen Speicher auf dem Chip.
Durch den jeweiligen Datenprozessor wird am lokalen Bus ein nichtflüchtiger Speicher
bereitgestellt. Es ist daher nicht mehr erforderlich, den Prozeß zum Einschreiben
des Programms in den On-Chip-Programmspeicher und dergleichen bereits
bei der Herstellung des Datenprozessors auszuführen.
-
[4]
Ein vierter Aspekt umfaßt
den Datenprozessor für
das Datenverarbeitungssystem des ersten bis dritten Aspekts.
-
Der
Datenprozessor enthält
die CPU (109), den mit der CPU verbundenen internen Bus,
eine mit dem internen Bus verbundene periphere Schaltung (116),
eine erste externe Interfaceschaltung (119), die an einem
Anschluß mit
einem ersten externen Anschluß und
an einem anderen Anschluß mit
dem internen Bus verbunden ist, und eine zweite externe Interfaceschaltung
(113), die an einem Anschluß mit einem zweiten externen
Anschluß und
an einem anderen Anschluß mit
dem internen Bus verbunden ist. Die erste externe Interfaceschaltung
erhält
in Reaktion auf eine externe Zugriffsanforderung das Recht, den
internen Bus zu nutzen, und ermöglicht
einen Zugriff auf die mit dem internen Bus verbundene periphere
Schaltung. Entsprechend kann der Datenprozessor die anderen Datenprozessoren
die peripheren Schaltungen auf dem Chip benutzen lassen, die mit
dem internen Bus verbunden sind.
-
Außerdem kann
ein Umschalter (114) vorgesehen sein, der im Wartezustand
der CPU den ersten externen Anschluß statt mit der zweiten externen
Interfaceschaltung mit dem zweiten externen Anschluß verbindet. Über den
einen Datenprozessor können die
anderen Datenprozessoren auf den externen Bus des einen Datenprozessors
zugreifen. Wenn zum Beispiel eine LCD-Steuerung mit dem lokalen
Bus des Datenprozessors verbunden ist, können die anderen Datenprozessoren über die
LCD-Steuerung des lokalen Busses und über den Systembus die Zeitdisplaysteuerung
für den
LCD ausführen,
wenn sich der jeweilige Datenprozessor im Wartezustand befindet.
-
Beim
dritten Aspekt wird zuerst ein Bootprogramm für den Datenprozessor eingeschrieben.
Der Datenprozessor enthält
des weiteren einen nichtflüchtigen
Speicher, in den im ersten Betriebsmodus nach einer Resetoperation über die
erste externe Interfaceschaltung eingeschrieben wird, und einen Programmspeicher
wie einen elektrisch programmierbaren nichtflüchtigen Speicher. Nach dem Schreibvorgang
im ersten Betriebsmodus kann die CPU aus dem nichtflüchtigen
Speicher Anweisungen abrufen und die Anweisungen ausführen. Darüberhinaus
kann die CPU die Anweisungen nach der Resetoperation im zweiten
Betriebsmodus aus dem Programmspeicher abrufen und die Anweisungen ausführen. Das
Bootprogramm für
den Datenprozessor kann durch Einschreiben eines Schreibsteuerprogramms
für den
Programmspeicher in den nichtflüchtigen
Speicher im zweiten Betriebsmodus in den nichtflüchtigen Programmspeicher und
Ausführen des
im zweiten Betriebsmodus eingeschriebenen Schreibsteuerprogramms
eingeschrieben werden.
-
Durch
Ausbilden der CPU, des internen Busses, der ersten externen Interfaceschaltung,
der zweiten externen Interfaceschaltung, des Umschalters, des nichtflüchtigen
Speichers und des Programmspeichers auf einem Halbleitersubstrat
kann der Datenprozessor auf einem einzigen Chip ausgebildet werden.
Durch Ausbilden der CPU, des internen Busses, der ersten externen
Interfaceschaltung, der zweiten externen Interfaceschaltung, des
Umschalters und des nichtflüchtigen
Speichers auf einem ersten Halbleitersubstrat und des Programmspeichers
(501) auf einem zweiten Halbleitersubstrat und Anordnen
des ersten und des zweiten Halbleitersubstrats auf einem Substrat
für eine
dichte Packung und Einschließen
des Substrats in ein Gehäuse
kann auch ein Multichipmodul ausgebildet werden.
-
[5]
Gemäß einem
fünften
Aspekt wird der Datenprozessor für
das Datenverarbeitungssystem des ersten Aspekts unter einem anderen
Aspekt betrachtet.
-
Der
Datenprozessor enthält
einen ersten Anschluß,
der mit einem ersten Bus verbunden ist, einen zweiten Anschluß, der mit
einem zweiten Bus verbunden ist, eine erste interne Schaltung und
eine zweite interne Schaltung, die selektiv einen ersten oder einen
zweiten Zustand annehmen können,
einen ersten Signalweg, der über
die erste interne Schaltung und die zweite interne Schaltung vom
ersten Anschluß zum
zweiten Anschluß führt, und
einen zweiten Signalweg, der über
die zweite interne Schaltung vom ersten Anschluß zum zweiten Anschluß führt. Die
zweite interne Schaltung wählt
aus dem ersten Signalweg und dem zweiten Signalweg in Abhängigkeit
vom Zustand der ersten internen Schaltung den gewünschten
Signalweg aus.
-
Der
erste Zustand ist zum Beispiel der von der ersten internen Schaltung
anzunehmende Betriebszustand und der zweite Zustand zum Beispiel der
Wartezustand, in dem keine Anweisungen ausgeführt werden. Die zweite interne
Schaltung wählt im
Betriebszustand den ersten Weg aus und im Wartezustand den zweiten
Weg.
-
Es
ist auch eine Stromversorgungs-Steuerschaltung vorgesehen, die die
Verbindung einer ersten Stromquelle mit der ersten internen Schaltung und
die Verbindung einer zweiten Stromquelle mit der zweiten internen
Schaltung steuert. Die Stromversorgungs-Steuerschaltung trennt die
erste Stromquelle von der ganzen ersten internen Schaltung oder
einem Teil der ersten internen Schaltung, wenn von der zweiten internen
Schaltung der zweite Signalweg ausgewählt wird. Im Wartezustand wird
so die unnütze
Verbindung zwischen der Stromquelle und der Schaltung getrennt,
die für
den Betrieb nicht erforderlich ist.
-
Die
erste interne Schaltung, die zweite interne Schaltung und die Stromversorgungs-Steuerschaltung
können
auf einem Halbleitersubstrat ausgebildet werden. Es ist auch möglich, die
erste interne Schaltung und die Stromversorgungs-Steuerschaltung
auf einem ersten Substrat auszubilden und die zweite interne Schaltung
auf einem zweiten Halbleitersubstrat und das erste und das zweite
Halbleitersubstrat in einem geschlossenen Gehäuse unterzubringen. Der Datenprozessor
kann so als Multichipmodul und dergleichen ausgebildet werden.
-
Wenn
die erste interne Schaltung eine Taktsteuerschaltung (116a)
für die
Zuführung
eines Taktsignals für
einen synchronen Betrieb zur ersten internen Schaltung enthält, wird
empfohlen, daß die
Taktsteuerschaltung die Zuführung
des Taktsignals zur ersten internen Schaltung beendet, wenn von
der zweiten internen Schaltung der zweite Signalweg ausgewählt wird.
Im Wartezustand braucht das Taktsignal der Schaltung nicht zugeführt werden,
die nicht arbeitet, wodurch ein unnützer Stromverbrauch verhindert
wird.
-
Vorzugsweise
trennt die Stromversorgungs-Steuerschaltung zum Steuern der Verbindung der
ersten Stromquelle mit der ersten internen Schaltung und der Verbindung
der zweiten Stromquelle mit der zweiten internen Schaltung die Stromquelle
von der ganzen ersten internen Schaltung oder einem Teil der ersten
internen Schaltung, wenn die Zuführung des
Taktsignals zu der ersten internen Schaltung beendet wird.
-
Die
erste interne Schaltung, die zweite interne Schaltung, die Taktsteuerschaltung
und die Stromversorgungs-Steuerschaltung können auf einem Halbleitersubstrat
ausgebildet werden. Es können
auch die erste interne Schaltung, die Taktsteuerschaltung und die
Stromversorgungs-Steuerschaltung auf einem ersten Halbleitersubstrat
ausgebildet werden und die zweite interne Schaltung auf einem zweiten
Halbleitersubstrat und das erste Halbleitersubstrat und das zweite
Halbleitersubstrat in einem geschlossenen Gehäuse untergebracht werden, um für den Datenprozessor
ein Multichipmodul auszubilden.
-
[6]
Gemäß einem
sechsten Aspekt wird das Informationsverarbeitungssystem des ersten
Aspekts unter einem anderen Aspekt betrachtet.
-
Das
Informationsverarbeitungssystem enthält einen ersten Bus, einen
zweiten Bus und einen mit dem ersten Bus und dem zweiten Bus verbundenen
Datenprozessor. Der Datenprozessor weist ein erstes Betriebsprofil
und ein zweites Betriebsprofil auf. Im ersten Betriebsprofil verarbeitet
der Datenprozessor die auf dem ersten Bus zugeführten Informationen und führt dem
zweiten Bus vorgegebene Informationen zu. Im zweiten Betriebsprofil
leitet der Datenprozessor die zugeführten Informationen direkt vom
ersten Bus auf den zweiten Bus.
-
Ein
Mobiltelefonsystem enthält
erste bis dritte integrierte Halbleiterschaltungen, einen ersten
Bus zum Verbinden der ersten integrierten Halbleiterschaltung mit
der zweiten integrierten Halbleiterschaltung und einen zweiten Bus
zum Verbinden der zweiten integrierten Halbleiterschaltung mit der
dritten integrierten Halbleiterschaltung. Die zweite integrierte
Halbleiterschaltung weist ein erstes Betriebsprofil und ein zweites
Betriebsprofil auf. Im ersten Betriebsprofil führt die zweite integrierte
Halbleiterschaltung auf der Basis der von der ersten integrierten
Halbleiterschaltung zugeführten
Informationen vorgegebene Prozesse aus und gibt das Ergebnis der
Prozesse an die dritte integrierte Halbleiterschaltung aus. Im zweiten
Betriebsprofil gibt die zweite integrierte Halbleiterschaltung die von
der ersten integrierten Halbleiterschaltung zugeführten Informationen
direkt zu der dritten integrierten Halbleiterschaltung weiter.
-
Bei
dem beschriebenen Mobiltelefonsystem kann die erste integrierte
Halbleiterschaltung ein Steuersignal zuführen, das die Umschaltung der zweiten
integrierten Halbleiterschaltung in das erste oder zweite Betriebsprofil
steuert. Das Steuersignal kann als Befehl ausgegeben werden.
-
Bei
dem Mobiltelefonsystem ist die erste integrierte Halbleiterschaltung
zum Beispiel für
Basisbandprozesse vorgesehen, während
die dritte integrierte Halbleiterschaltung für eine Displaysteuerung vorgesehen
ist. Die vorgegebenen Prozesse werden zum Beispiel mindestens für die Videosignale
ausgeführt.
-
Mit
dem zweiten Bus kann eine Speichervorrichtung verbunden sein. Die
Speichervorrichtung kann zum Beispiel die Verarbeitungsprogramme speichern,
die die Prozesse angeben, die in der zweiten integrierten Halbleiterschaltung
ausgeführt
werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Blockdarstellung eines Beispiels für ein erfindungsgemäßes Datenverarbeitungssystem.
-
2 ist
eine Blockdarstellung, die den Umleitungsbereich bei dem zweiten
Datenprozessor der 1 genauer zeigt.
-
3 ist
eine Blockdarstellung eines Beispiels für den Fall, daß der Datenprozessor
aus einem Multichipmodul besteht.
-
4 ist
eine Blockdarstellung eines praktischen Beispiels für eine erste
externe Interfaceschaltung im zweiten Datenprozessor der 2.
-
5 ist
eine Blockdarstellung eines weiteren praktischen Beispiels für die erste
externe Interfaceschaltung im zweiten Datenprozessor.
-
6 ist
eine Darstellung zur Beschreibung der ersten Schreiboperation für ein Bootprogramm für den Datenprozessor
im erfindungsgemäßen Datenverarbeitungssystem.
-
7 zeigt
den zeitlichen Ablauf der Bootoperation bei dem Datenverarbeitungssystem
der 6.
-
8 ist
eine weitere Zeittafel für
die Bootoperation bei dem Datenverarbeitungssystem der 6.
-
9 ist
eine Zeittafel für
die Aktualisierung eines Bootprogramms und das Hinzufügen/Aktualisieren
von Anwendungen, die vom zweiten Datenprozessor unter der Bedingung
ausgeführt
werden, daß das
Bootprogramm im Programmspeicher gespeichert ist.
-
10 zeigt
eine Schnittansicht durch ein Multichipmodul, das den Datenprozessor
der 3 bildet.
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die 1 zeigt
ein Beispiel eines erfindungsgemäßen Datenverarbeitungssystems.
Das System enthält
einen ersten Datenprozessor 100, der mit einem ersten externen
Bus 103 verbunden ist, und einen zweiten Datenprozessor 101,
der mit einem zweiten externen Bus 105 verbunden ist. Der erste
externe Bus 103 ist mit einer Anzahl von externen Vorrichtungen 102 wie
einem RAM, einem ROM und einem Flash-Speicher (FLASH) verbunden.
Der zweite externe Bus 105 ist mit externen Vorrichtungen
wie einem RAM, einem ROM, einem FLASH und einer Flüssigkristalldisplaysteuerung
(LCD-Steuerung) verbunden. Der zweite Datenprozessor 101 ist über eine
erste externe Interfaceschaltung 119 als Vorrichtung am
ersten externen Bus 103 mit dem ersten externen Bus 103 verbunden.
-
Der
zweite Datenprozessor 101 weist einen internen schnellen
Bus 108 und einen internen langsamen Bus 115 auf.
Der interne schnelle Bus 108 ist mit einer CPU 109,
einem Cache-Speicher 110, einem digitalen Signalverarbeitungsprozessor
(DSP) 111, einer Brückenschaltung 112,
die eine Busbrückenschaltung
zwischen dem internen schnellen Bus 108 und dem internen
langsamen Bus 115 bildet, einer ersten externen Interfaceschaltung 119,
einer zweiten externen Interfaceschaltung 113 und einem RAM 107 verbunden.
Der interne langsame Bus 115 ist mit einer seriellen Interfaceschaltung
(SCI), einem USB (Universal Serial Bus), einem Zeitgeber, einer Speicherkarten-Interfaceschaltung
(MCIF), einem allgemeinen Ein/Ausgabe-Port (IOP) als 10-Port, einem
Taktimpulsgenerator (CPG) und einer peripheren Schaltung 116,
etwa einem Flash-Speicher, verbunden. In der 1 hat der
Taktimpulsgenerator (CPG) das Bezugszeichen 116a und der
allgemeine Ein/Ausgabe-Port (IOP) das Bezugszeichen 116b.
-
Das
Datenverarbeitungssystem ist, ohne darauf beschränkt zu sein, als Mobiltelefonsystem konfiguriert.
Der erste Datenprozessor 100 führt dabei die Basisbandprozesse
aus. Der zweite Datenprozessor 101 steuert die Bildanzeige
an der externen Vorrichtung 104 etwa als Flüssigkristalldisplaysteuerung
und führt
Signalprozesse wie eine Kompression und Expansion des Signals aus.
Die Steuerung etwa der zeitlichen Anzeige über die Flüssigkristalldisplaysteuerung
wird, ohne darauf beschränkt
zu sein, vom ersten Datenprozessor 100 über den zweiten Datenprozessor 101 ausgeführt.
-
Die
erste externe Interfaceschaltung 119 sorgt dafür, daß der erste
Datenprozessor 100 das Recht für die Verwendung des internen
Busses des zweiten Datenprozessors erhält, zum Beispiel des schnellen
Busses 108, und sie sorgt auch dafür, daß der erste Datenprozessor 100,
der das Recht für
die Nutzung des internen Busses 108 erhalten hat, Zugriff
auf die Ein/Ausgabe-Schaltung erhält, die mit dem internen Bus 108 verbunden
ist. Die Ein/Ausgabe-Schaltung umfaßt einen Widerstand oder dergleichen
des DSP 111. Kurz gesagt erhält der erste Datenprozessor 100 die
Erlaubnis, als Bus-Master des internen schnellen Busses 108 aufzutreten.
Das Auftreten als Bus-Master wird von der internen Bussteuereinheit 106 gesteuert.
-
Die
erste externe Interfaceschaltung 119 steuert den Betrieb
des RAM als gemeinsamer Speicher oder gemeinsamer Puffer der CPU 109 und
des ersten Datenprozessors 100. Das heißt, daß die erste externe Interfaceschaltung 119 den
RAM 107 ausschließlich
in Reaktion auf eine Zugriffsanforderung an den RAM 107 von
der CPU und eine Zugriffsanforderung an den RAM 107 vom
ersten Datenprozessor 100 betreibt. Durch die gemeinsame
Pufferfunktion des RAM 107 kann der Datentransfer zwischen
dem ersten Datenprozessor 100 und dem zweiten Datenprozessor 101 ausgeführt werden.
Für diesen
Datentransfer kann zum Beispiel die Übergabesteuerung mittels eines
Interruptsignals 117 erfolgen. Das heißt, daß, wenn der erste Datenprozessor 100 im
RAM 107 Daten speichern will, er das Interruptsignal 117 an
die CPU 109 ausgibt und die CPU 109 während des
auf den Interrupt folgenden Interruptprozesses die Daten des RAM 107 abruft.
Im umgekehrten Fall gibt die externe Interfaceschaltung 119 eine
Interruptanforderung an den ersten Datenprozessor 100 aus.
-
Die
Interface-Spezifikation der zweiten externen Interfaceschaltung 113 macht
sie zum Interface für
die externen Vorrichtungen, die mit dem externen Bus 105 verbunden
sind. Wenn zum Beispiel der Speicher FLASH und die Flüssigkristalldisplaysteuerung
(LCD-Steuerung) als externe Vorrichtungen 104 angeschlossen
sind, umfaßt
die zweite externe Interfaceschaltung 13 die Interfacefunktionen
für die Flash-Speicher-Interfaceschaltung
und die LCD-Interfaceschaltung.
-
Bei
dem Aufbau der 1 ist ein Bereich 118 mit
einem Umschalter 114 vorgesehen, der den externen Bus 103 der
ersten externen Interfaceschaltung statt mit dem Anschlußende des
externen Busses 105 der zweiten externen Interfaceschaltung 113 mit
dem externen Bus 105 verbindet, wenn sich der zweite Datenprozessor 101 im
Wartezustand befindet. Das heißt,
daß der
Umschalter 114 das Verbindungsprofil so auswählt, daß der erste
externe Bus 103 statt mit der zweiten externen Interfaceschaltung 113 mit
dem zweiten externen Bus 105 verbunden wird, wenn sich
der zweite Datenprozessor 101 im Wartezustand befindet.
Entsprechend kann der erste Datenprozessor 100 über die
Umschalt-Steuereinheit 114 auf die Vorrichtungen am zweiten
externen Bus 105 zugreifen. Zum Beispiel kann der erste
Datenprozessor 100 als externe Vorrichtung 104 am
externen Bus 105 über
den Umschalter 114 die Flüssigkristalldisplaysteuerung
kontrollieren. Die Schaltung im Bereich 118 der 1 ist
in Betrieb, wenn der zweite Datenprozessor 101 im Wartezustand
ist.
-
Im
Wartezustand des zweiten Datenprozessors 101 wird der CPU 109,
dem DSP 111, der seriellen Interfaceschaltung und der Taktsynchronisationsschaltung,
dem Zeitgeber im zweiten Datenprozessor 101, kein Taktsignal
zugeführt.
Zum Beispiel gibt der Taktimpulsgenerator 116a kein Taktsignal CLK
mehr aus, oder der Oszillatorbetrieb für die Zuführung des Taktsignals wird
angehalten, wenn die CPU 109 ein Wartezustands-Anzeigebit im Wartezustandsregister
des Taktimpulsgenerators 116a entsprechend setzt.
-
In
der 1 bezeichnet das Bezugszeichen 120 eine
Stromversorgungsschaltung. Im zweiten Datenprozessor 101 können die
Betriebsspannungsquelle vdd1 des Umschalters 114 und die
Betriebsspannungsquelle vdd2 der anderen Schaltungen voneinander
getrennt werden. Zum Beispiel sind der externe Stromversorgungsanschluß und die
Stromversorgungsleitung für
die Betriebsspannungsquelle vdd1 und der externe Stromversorgungsanschluß und die
Stromversorgungsleitung für
die Betriebsspannungsquelle vdd2 voneinander physikalisch isoliert.
Die Stromversorgungsschaltung 120 versorgt die Be triebsspannungsquellen
vdd1 und vdd2 an den entsprechenden Stromversorgungsanschlüssen mit Strom
bzw. Spannung. Der allgemeine Ein/Ausgabe-Port 116b wird
als Stromversorgungs-Steuerschaltung für die Stromversorgungsschaltung 120 verwendet.
Der allgemeine Ein/Ausgabe-Port 116b beendet die Zufuhr
von Energie von der Betriebsspannungsquelle vdd2 zu allen oder einem
Teil der übrigen
Schaltungen, wenn der zweite Datenprozessor 101 in den
Wartezustand übergeht.
Die Betriebsspannungsquelle vdd1 versorgt den Umschalter 114 so
lange mit Energie, wie der zweite Datenprozessor 101 in
Betrieb ist. Wenn der zweite Datenprozessor 101 aufgrund
eines Interrupts aus dem Wartezustand herausgeht, ist die Betriebsspannungsquelle
mit der Interrupt-Steuerschaltung verbunden. Die Stromversorgungs-Steuerschaltung 116b versetzt
das Stromversorgungs-Steuerregister
der Stromversorgungsschaltung 120 während des Übergangs in den Wartezustand
in den Stromversorgungs-Stoppanzeigezustand. Entsprechend wird der
Betrieb der Betriebsspannungsquelle vdd2 beendet. Es reicht dann
aus, wenn beim Wiederherstellungsprozeß für den Betriebszustand nach
dem Wartezustand eine Resetoperation für den Stromversorgungs-Stoppanzeigezustand
erfolgt.
-
Die 2 zeigt
ein Beispiel für
die Schaltung im Bereich 118 des zweiten Datenprozessors 101 der 1.
In diesem Beispiel ist die erste externe Interfaceschaltung 119 mit
einer Signalleitung 200 als Bus-Master für den internen
langsamen Bus 115 angeschlossen. Wie die Signalleitung 200 der 2 zeigt,
ist der interne Bus, den die erste externe Interfaceschaltung 119 als
Bus-Master steuert, nicht auf den schnellen Bus 108 beschränkt, sondern
kann auch der langsame Bus sein.
-
Im
Datenprozessor 1 wird die Schaltung im Bereich 118 zweite
Schaltung genannt, während
die Schaltungen wie die CPU 109 im anderen Bereich erste
Schaltung genannt werden. Der Bereich 118 umfaßt einen
ersten externen Anschluß 210,
einen ersten Bus 211 zum Verbinden des ersten externen Anschlusses
mit der ersten Schaltung, einen zweiten Bus 212 zum Verbinden
der ersten Schaltung mit der zweiten Schaltung, einen dritten Bus 213 zum
Verbinden des ersten externen Anschlusses mit der zweiten internen
Schaltung, einen zweiten externen Anschluß 215, einen vierten
Bus 216 zum Verbinden des zweiten externen Anschlusses
mit der zweiten Schaltung, einen Selektor 217 zum Auswählen entweder
des zweiten Busses 212 oder des dritten Busses 213 für die Verbindung
mit dem vierten Bus, einen Bustreiber 218 und einen fünften Bus 219.
Der Selektor 217 wählt
das Verbindungsprofil für
die Verbindung des ersten Busses 211 mit dem vierten Bus 216 während des Übergangs
in den Wartezustand aus. Unter Berücksichtigung des Betriebszustands der
CPU 109 werden Anweisungen im Wartezustand von der ersten
Schaltung gesteuert (erster Zustand), während im Betriebszustand die
Anweisungen von der ersten Schaltung ausgeführt werden (zweiter Zustand).
Im Wartezustand kann der zweite Datenprozessor 101 den
ersten externen Bus 103 direkt mit dem zweiten externen
Bus 105 verbinden. Dabei werden im Wartezustand des zweiten
Datenprozessors 101 die Daten vom ersten externen Bus 103 ohne
jede weitere Bedingung zum zweiten externen Bus 105 übertragen.
Es ist jedoch auch möglich,
den ersten externen Bus 103 und den zweiten externen Bus 105 über einen
Ein/Ausgabe-Puffer (nicht gezeigt) zu verbinden. Die Ein/Ausgabe
von Daten vom ersten externen Bus 103 zum zweiten externen
Bus 105 wird entsprechend gesteuert.
-
In
den 1 und 2 ist der zweite Datenprozessor 101 als
sogenannter Einchip-Datenprozessor
auf einem Halbleitersubstrat ausgebildet.
-
Die 3 zeigt
ein Beispiel, bei dem der zweite Datenprozessor 300 als
Multichipmodul ausgebildet ist. Der zweite Datenprozessor 300 besteht aus
der ersten externen Interfaceschaltung 119, einem Chip 301 mit
der Funktion des Umschalters 114 und einem Chip 302 mit
den anderen Funktionen. Der Chip 302 weist als erste externe
Interfaceschaltung 119 eine Verbindungseinheit 303 für den internen
schnellen Bus 108 auf. Der Chip 301, der mit der Verbindungseinheit 303 verbunden
ist, kann als Bus-Master des internen schnellen Busses 108 betrieben
werden. Der erste externe Bus 103 kann im Wartezustand
des zweiten Datenprozessors 300 durch Betreiben nur des
Chips 301 mit dem zweiten externen Bus 105 verbunden
werden.
-
Die 4 zeigt
ein praktisches Beispiel für das
erste externe Interface 119 des zweiten Datenprozessors 101.
Die erste externe Interfaceschaltung 119 besteht aus einer
Zugriffssteuereinheit 401 für den externen Bus, einer Busumsetzungs-Vermittlungseinheit 402,
einer Zugriffssteuereinheit 403 für den internen Bus, einer RAM-Zugriffssteuereinheit 404 und
einer Reset/Interrupt-Steuereinheit 405.
-
Die
Zugriffsinformationen vom ersten externen Bus 103 werden
in die Zugriffssteuereinheit 401 für den externen Bus gegeben
und dann unter Synchronisation der eingegebenen Informationen zu
der Busumsetzungs-Vermittlungseinheit 402 übertragen. Die
Busumsetzungs-Vermittlungseinheit 402 stellt fest, ob der
Zugriff auf den RAM 107 oder den internen Bus 108 erfolgt.
Wenn der Zugriff für
den internen Bus 108 ist, wird an die Zugriffssteuereinheit 403 für den internen
Bus eine Zugriffsanforderung ausgegeben, um die Buszugriffsoperation
entsprechend der Buszugriffspezifikationen des internen Busses 108 durchzuführen. Dabei
werden das Adressensignal, das Buszugriffssteuersignal und die Daten
dem Bus 108 in Übereinstimmung
mit den Buszugriffsspezifikationen des internen Busses 108 zugeführt und dann
die Daten vom Bus 108 aufgenommen. Wenn der Zugriff für den RAM 107 ist,
wird der RAM-Zugriffssteuereinheit 404 eine Speicherzugriffsanforderung
zugesendet, um die Zugriffsoperation entsprechend den Zugriffsspezifikationen
des RAM 107 auszuführen.
Dabei werden das Adressensignal, das Speichersteuersignal und die
Daten dem RAM 107 in Übereinstimmung
mit den Speicherzugriffsspezifikationen zugeführt und dann die Daten vom
RAM 107 aufgenommen.
-
Die
Ausgabe einer Interrupt/Resetanweisung an die CPU 109 und
die Ausgabe einer Interruptanweisung von der CPU 109 wird
jeweils in der Reset/Interrupt-Steuereinheit 405 bearbeitet,
und die Zugriffssteuereinheit 401 für den externen Bus gibt die
entsprechende Anforderung an die Vorrichtung am ersten externen
Bus 103 weiter. Die Anforderung von einer Vorrichtung am
ersten externen Bus 103 und eine Operationsanforderung von
der RAM-Zugriffssteuereinheit 404 werden von der Zugriffssteuereinheit 401 für den externen
Bus als Interruptanforderung an die Reset/Interruptsteuereinheit 405 gegeben.
-
Die 5 zeigt
ein anderes praktisches Beispiel für das erste externe Interface 119 des
zweiten Datenprozessors 101. In diesem Bild ist ein praktisches
Beispiel für
die Realisierung des Interface für den
Bus 103, des Interface für den Bus 115 und
des Interface für
den RAM 107 dargestellt. Die erste externe Interfaceschaltung 119 enthält eine
Steuerschaltung 410, ein Indexregister IDX und ein Adressenflag
FG. Die Steuerschaltung 410 enthält Register mit einer eingebauten
Steuerschaltung wie ein Adressenregister ADR, ein Datenregister
DAT, ein Befehlsregister CMD, ein Zugriffssteuerregister ACS und
ein Statusregister STS. Das Adressenflag FG zeigt auf das Indexregister
IDX, wenn der logische Wert "1" gesetzt ist, und
auf das Register mit der eingebauten Steuerschaltung, wenn der logische
Wert "0" gesetzt ist. Welches
Register aus den Registern mit der eingebauten Steuerschaltung beim
logischen Wert "0" ausgewählt werden
soll, wird anhand des Wertes des Indexregisters IDX bestimmt. Auf
das Indexregister IDX und das Adressenflag FG wird über den
ersten externen Bus 103 zugegriffen. Der Bus 103 besteht
aus einem Datenbus 103D, einem Adressenbus 103A und
einem Steuerbus 103C. Das Register mit der eingebauten
Steuerschaltung wird in Abhängigkeit
vom Wert des Indexregisters IDX ausgewählt, die Adresseninformationen,
die Dateninformationen, die Steuerinformationen über den Buszugriff und die
Befehlsinformationen werden über
den Datenbus 103D in das entsprechende Register geladen,
und der Zugriff auf den RAM 107 und den Bus 115 werden
in Abhängigkeit
von den geladenen Befehlsinformationen ausgeführt. Für den Zugriff wird dabei der
Einstellwert des Registers verwendet, die Zugriffszeit wird anhand
der Zugriffssteuerinformationen bestimmt. Auf die über den
externen Bus 103 in den RAM 107 eingeschriebenen
Daten kann von der CPU 109 über den internen Bus 108 zugegriffen
werden. Der Bus 108 besteht aus einem Datenbus 108D, einem
Adressenbus 108A und einem Steuerbus 108C. Der
Bus 115 besteht aus einem Datenbus 115D, einem
Adressenbus 115A und einem Steuerbus 115C.
-
Die 6 zeigt
ein Beispiel dafür,
wie zu Beginn ein Bootprogramm für
die Datenverarbeitung in dem erfindungsgemäßen Datenverarbeitungssystem eingeschrieben
wird. Bei dem Beispiel der 6 ist dem
internen Bus 115 der CPU 109 ein Speicher 502 zugeordnet,
und dem zweiten externen Bus 105 ist ein Speicher 501 zugeordnet.
Ohne darauf beschränkt
zu sein, werden bei dem vorliegenden Beispiel die Speicher 501, 502 als
Speicherbereiche für Nutzerprogramme
verwendet. Das unmittelbar nach dem Rücksetzen des zweiten Datenprozessors 101 ausgeführte Bootprogramm
wird dabei in der Regel im Speicher 501 oder im Speicher 502 gespeichert. In
der 6 ist der interne Speicher 502 mit dem
internen langsamen Bus 115 verbunden, er kann aber auch
mit dem internen schnellen Bus 108 verbunden sein. Der
interne Speicher 502 des zweiten Datenprozessors ist ein
elektrisch programmierbarer nichtflüchtiger Speicher, etwa ein
Flash-Speicher. Er kann zusammen mit der CPU 109 und so
weiter auf einem Halbleitersubstrat oder auf einem anderen Halbleitersubstrat
ausgebildet und in einem Gehäuse
eingeschlossen sein. Wenn er auf einem anderen Halbleitersubstrat
ausgebildet ist und mit der CPU usw. in einem Gehäuse untergebracht
ist, kann er im Gehäuse statt
mit den internen Bussen 108, 115 des zweiten Datenprozessors 101 auch
mit dem zweiten externen Bus 105 verbunden sein. Die elektrisch
programmierbaren nichtflüchtigen
Speicher 501 und 502 werden hier als Programmspeicher
verwendet.
-
Das
anfängliche
Einschreiben eines Programms in die elektrisch programmierbaren
nichtflüchtigen
Speicher 501 und 502 erfolgt während des Herstellungsprozesses
für die
integrierte Halbleiterschaltung wie dem Datenprozessor 101 mit
einer Schreibvorrichtung wie einer EPROM-Schreibvorrichtung. Bei
dem Beispiel der 6 wird angenommen, daß zu Beginn
in der Anfangsstufe, wenn der Datenprozessor 101 im Datenverarbeitungssystem untergebracht
wird, in die nichtflüchtigen
Speicher 501, 502 kein Bootprogramm eingeschrieben
wurde. Das Datenverarbeitungssystem der 6 ermöglicht einen
anfänglichen
Einschreibvorgang für
das Bootprogramm in der Anfangsstufe. Der zweite Datenprozessor 101 umfaßt somit
ein System zum Booten des zweiten Datenprozessors 101 aus
dem RAM 107. Dazu wird das Bootprogramm für den zweiten
Datenprozessor 101 vom ersten Datenprozessor 100 über den
ersten externen Bus 103 zum Steuern des zweiten Datenprozessors 101 und
Ausführen
der Programme des RAM 107 nach dem Einschreibvorgang in
den RAM 107 eingeschrieben. Dafür ist ein Umschalten erforderlich,
damit der zweite Datenprozessor 101 das Programm im RAM 107 oder
die Programme der Speicher 501 und 502 ausführt. Dieser Umschaltvorgang
wird unter Verwendung des Pegels eines Bootmodesignals (BT) 503 ausgeführt, wenn ein
Resetsignal (RES) 504 einen Resetvorgang einleitet. Wenn
sich zum Beispiel das Bootmodesignal 503 auf dem hohen
Pegel befindet, während
sich das Resetsignal 504 auf dem niedrigen Pegel befindet, wird
so umgeschaltet, daß das
Programm des RAM 107 ausgeführt wird. Wenn sich dagegen
das Bootmodesignal 503 auf dem niedrigen Pegel befindet, wird
so umgeschaltet, daß die
Programme der Speicher 501, 502 ausgeführt werden.
-
Es
wird das Vorgehen beim anfänglichen Einschreibvorgang
für das
Bootprogramm näher
beschrieben. Im zweiten Datenprozessor 101 wird der RAM 107 vom
ersten Datenprozessor 100 im ersten Betriebsmodus nach
dem Aufheben des Resetvorgangs durch das Resetsignal 504 in
den Einschreibzustand versetzt. Im ersten Betriebsmodus befindet sich
zum Beispiel während
der Resetperiode, während
der sich das Resetsignal 504 auf dem niedrigen Pegel befindet,
das Bootmodesignal 503 auf dem hohen Pegel, weshalb des
Resetsignal durch Negieren auf den hohen Pegel gebracht wird, um
den Resetvorgang aufzuheben. Die CPU 109 wird dabei von
einer zugeführten
Anweisung gesteuert. Es wird kurz gesagt der CPU 109 ein
Startvektor zugeführt.
Wie oben beschrieben ist dabei der Zugriff auf den RAM 107 vom
ersten Datenprozessor 100 auf die erste externe Interfaceschaltung 106 erweitert.
Wenn der Einschreibvorgang am RAM 107 durch den Datenprozessor 100 beendet
ist, wird der Startvektor, der die führende Adresse des RAMs 107 angibt,
der CPU 109 mit dem Befehl zugeführt, der in Reaktion auf die Änderung
des Bootmodesignals 503 vom niedrigen Pegel auf den hohen
Pegel vom Datenprozessor 100 zu der ersten externen Interfaceschaltung 119 gegeben
wird. Entsprechend führt
die CPU 109 das im RAM 107 gespeicherte Programm
aus. Da der anfängliche
Einschreibvorgang des Nutzerprogramms berücksichtigt wird, reicht es
aus, wenn das im RAM 107 gespeicherte Programm wenigstens
das Einschreibsteuerprogramm für
das Nutzerprogramm ist. Das Nutzerprogramm selbst kann vorher zusammen mit
dem oben beschriebenen Programm zum RAM 107 geführt werden.
Anderenfalls ist es auch möglich,
das Nutzerprogramm zu Beginn dadurch in den Speicher 502 einzuschreiben,
daß das
Programm durch Ausführen
des zum RAM 107 übertragenen Schreibsteuerprogramms
aus der seriellen Interfaceschaltung 116 und dergleichen
ausgelesen wird.
-
Im
zweiten Betriebsmodus nach dem Aufheben des Resetvorgangs wird der
Speicher 501 oder 502 als Objekt des Abrufens
von Anweisungen durch die CPU 109 betrachtet. Im zweiten
Betriebsmodus befindet sich das Bootmodesignal 503 auf
dem niedrigen Pegel, und das Resetsignal 504 wird während der
Periode, während
der zum Beispiel das Resetsignal 504 auf dem niedrigen
Pegel ist, durch Negieren auf den hohen Pegel gebracht, wodurch
der Restvorgang aufgehoben wird. Entsprechend führt die CPU 109 das
Nutzerprogramm aus, das zu Beginn im ersten Betriebsmodus im Speicher 501 oder 502 gespeichert
wurde.
-
Es
wird nun der Vorgang beim Speichern eines Programms für die Schreibsteuerung
als Bootprogramm vom ersten Datenprozessor 100 im RAM 107 beschrieben.
-
Vor
dem Booten des zweiten Datenprozessors 101 wird zuerst
das von einem mit dem ersten Datenprozessor 100 verbundenen
externen Speicher wie dem Speicher 505 oder der Speicherkarte 506 oder über ein
serielles Interface (nicht gezeigt) eingegebene Bootprogramm vom
ersten Datenprozessor 100 in den RAM 107 des zweiten
Datenprozessors 101 eingeschrieben.
-
Das
zum RAM 107 übertragene
Bootprogramm kann auch Anwendungen enthalten, es kann jedoch auch
ein kurzes Bootprogramm verwendet werden, wenn es die folgenden
Prozesse beinhaltet. Zum Beispiel werden die in den Speicher 501 oder 502 einzuschreibenden
Programme durch die Übertragung
der Programme über
die erste externe Interfaceschaltung 119 vom ersten Datenprozessor 100 im
RAM 107 gespeichert. Die in die Speicher 501 und 502 einzuschreibenden
Programme können
auch über
die seriellen und USB-Anschlüsse
oder durch eine Speicherkarte von der peripheren Vorrichtung 116 des
zweiten Datenprozessors übertragen
werden.
-
Wenn
die Speicher 501, 502 zum Booten des zweiten Datenprozessors 101 Flash-Speicher sind, wurde
der Flash-Speicher bisher nach dem Zusammenbau des System initialisiert.
Im vorliegenden Fall kann der Flash-Speicher jedoch beim Booten
vom RAM 107 initialisiert werden, so daß die Kosten bei der Massenherstellung
des Datenprozessors 101 geringer werden.
-
Die 7 zeigt
eine Zeittafel für
den Bootvorgang bei dem Datenverarbeitungssystem der 6.
-
Der
erste Datenprozessor 100 gibt zum Steuern des Betriebs
des zweiten Datenprozessors 101 ein Bootmodesignal 503 und
ein Resetsignal 504 aus.
-
Wenn
der erste Datenprozessor das Bootmodesignal 503 auf den
hohen Pegel bringt, um den Reset aufzuheben (das Resetsignal geht
dabei vom hohen Pegel auf den niedrigen Pegel), wird der zweite
Datenprozessor in den Modus gebracht, in dem er vom RAM 107 bootet.
Entsprechend wird das Bootprogramm vom RAM 107 über den
ersten externen Bus 103 übertragen. Die CPU 109 des
zweiten Datenprozessors stellt fest, daß sich das Bootmodesignal auf
dem hohen Pegel befindet, und ruft das Bootprogramm über die
erste externe Interfaceschaltung 119 vom RAM 107 ab.
Die CPU 109 führt
während der Übertragung
des Bootprogramms die ihm zugeführten
Anweisungen aus und wird daher in den Wartezustand gebracht, da
das Bootprogramm noch nicht zugeführt ist. Nach Beendigung der Übertragung
des Bootprogramms überträgt der erste
Datenprozessor 100 den Übertragungs-Ende-Befehl
zur ersten externen Interfaceschaltung 119, und wenn die
erste externe Interfaceschaltung 119 die CPU 109 zum
Abrufen des Bootprogramms anweist, wird der zweite Datenprozessor 101 mit
dem Programm des RAM 107 betrieben. Die CPU 109 führt das
Bootprogramm im RAM 107 aus und führt über den internen schnellen
Bus 108 den Einschreibprozeß für das Bootprogramm in die Speicher 501, 502 aus.
Wenn der Einschreibvorgang für
das Bootprogramm in die Speicher 501, 502 beendet
ist, wird der zweite Datenprozessor 101 wieder zurückgesetzt
(das Resetsignal (RES) 504 geht vom hohen Pegel auf den
niedrigen Pegel), und dieser Reset wird unter der Bedingung wieder
aufgehoben, daß das
Bootmodesignal (BT) 503 auf den niedrigen Pegel geht und
der zweite Datenprozessor 101 betrieben wird. Entsprechend ruft
die CPU 109 das Bootprogramm aus den Speichern 501, 502 ab
und führt
das Programm aus, wodurch der Datenverarbeitungsvorgang im zweiten Datenprozessor
abläuft.
-
Das
Beispiel der 7 zeigt den zeitlichen Ablauf
beim Zuführen
des Bootprogramms vom Speicher 505 oder der Speicherkarte 506,
die über
den ersten externen Bus 103 mit dem ersten Datenprozessor 100 verbunden
sind, zu den Speichern 501, 502.
-
Die 8 zeigt
eine andere Zeittafel für
den Bootvorgang bei dem Datenverarbeitungssystem der 6.
Bei der Zeittafel der 8 wird angenommen, daß das in
den Speichern 501, 502 gespeicherte Bootprogramm über die
seriellen und USB-Anschlüsse 116 und
dergleichen des zweiten Datenprozessors 101 zugeführt wird.
Alles andere ist wie bei der 7.
-
Die 9 zeigt
eine Zeittafel für
die Aktualisierung des Bootprogramms oder das Hinzufügen/Aktualisieren
einer vom zweiten Datenprozessor 101 ausgeführten Anwendung,
wenn das Bootprogramm im Speicher 501 oder 502 gespeichert
ist.
-
Wenn
der erste Datenprozessor 100 das Bootmodesignal 503 auf
den niedrigen Pegel setzt, um den Reset aufzuheben, beginnt der
zweite Datenprozessor 101 mit seinem Betrieb durch Abrufen
des Bootprogramms aus den Speichern 501, 502.
In den Speichern 501, 502 wurde vorher das Transferprogramm
zum Aktualisieren des Bootprogramms oder dem Hinzufügen/Aktualisieren
einer vom Prozessor 2 ausgeführten Anwendung gespei chert.
Das Transferprogramm wird durch eine Anweisung oder dergleichen
vom ersten Datenprozessor 100 abgerufen. Wenn zum Beispiel
eine hinzuzufügende
Anwendung über
eine Funkverbindung und eine angeschlossene Antenne vom ersten Datenprozessor 100 erhalten
wird, überträgt der erste
Datenprozessor 100 die erhaltene und hinzuzufügende Anwendung über den
externen Bus 103 zum RAM 107. Der zweite Datenprozessor 101 nimmt
die hinzuzufügende Anwendung über die
erste externe Interfaceschaltung 119 aus dem RAM 107 auf
den internen Bus 108 und überträgt die Anwendung dann zum Einschreiben
zum Speicher 501 oder 502.
-
Die 10 zeigt
eine Schnittansicht eines Multichipmoduls für den Datenprozessor 300 der 3.
Auf einer Seite der dicht belegten Leiterplatte 510 befinden
sich viele Bump-Elektroden 511, die mit den Befestigungsflächen der
gedruckten Leiterplatte aus einem Glasfaserepoxidsubstrat verbunden
sind. Auf der anderen Seite der Leiterplatte befinden sich viele
Mikro-Bump-Elektroden 512 und Elektrodenflächen 513,
die mit den Bump-Elektroden 511 verbunden sind. Auf einem
Teil der Mikro-Bump-Elektroden 512 befinden sich an der
Unterseite die Bondflächen für den Halbleiterchip 302.
Auf dem Halbleiterchip 302 liegt der andere Halbleiterchip 301.
Die Bondflächen
dieses Halbleiterchips 301 sind mit den entsprechenden
Elektrodenflächen 513 über Bonddrähte 515 verbunden.
Die Bonddrähte 515 und
die Halbleiterchips 301, 302 sind vollständig in
Kunstharz 516 eingebettet.
-
Die
vorliegende Erfindung wurde auf der Basis von bevorzugten Ausführungsformen
beschrieben. Sie ist darauf jedoch nicht beschränkt, innerhalb des Umfangs
der Patentansprüche
sind verschiedene Abänderungen
und Modifikationen möglich.
-
Zum
Beispiel sind die peripheren Schaltungen und die anderen Schaltungsmodule
des Datenprozessors nicht auf die mit Bezug zu der 1 beschriebenen
Elemente beschränkt
und können
nach Bedarf ausgetauscht werden. Der interne Bus des Datenprozessors
muß nicht
in einen schnellen und einen langsamen Bus aufgeteilt sein. Die
Stromversorgungssysteme für
die erste Schaltung und die zweite Schaltung sind nicht unbedingt
von den externen Spannungsanschlüssen
getrennt. Das Ende der Stromzufuhr kann auch durch einen Schalter
gesteuert werden. Wenn der Datenprozessor als Multichipmodul ausgebildet
ist, ist die Art der enthaltenen integrierten Halbleiterschaltungen
nicht auf die oben beschriebenen beschränkt. Es können auch insgesamt drei Chips
als Halbleiterchips angeordnet werden, etwa der Flash-Speicher 502,
ein Prozessorkernchip wie die andere CPU 109 und ein Interfacechip
wie der Halbleiterchip 301. Das Multichipmodul kann auch
eine Anzahl von Flash-Speicherchips enthalten.
-
Die
vorliegende Erfindung kann bei Datenverarbeitungssystemen verwendet
werden, bei denen beabsichtigt ist, die Lasten unter Verwendung
einer Anzahl von Datenprozessoren zu verteilen, etwa bei einem mobilen
Telefonsystem, einem Display-Steuersystem, einem Druckersystem und
bei anderen mobilen Informationsterminals sowie bei Datenprozessoren,
die solche Datenverarbeitungssysteme verwenden.