Warning: fopen(111data/log202008051607.log): failed to open stream: No space left on device in /home/pde321/public_html/header.php on line 107

Warning: flock() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 108

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 113
Mechanismus zur Prüfung und Diagnose - Dokument DE69712982T2
 
PatentDe  


Dokumentenidentifikation DE69712982T2 28.11.2002
EP-Veröffentlichungsnummer 0813149
Titel Mechanismus zur Prüfung und Diagnose
Anmelder Sharp K.K., Osaka, JP;
Sharp Microeletronics Technology, Inc., Camas, Wash., US
Erfinder Spaderna, Dieter, Portland, Oregon 97229, US;
Sabha, Raed, Vancouver, US
Vertreter Müller - Hoffmann & Partner Patentanwälte, 81667 München
DE-Aktenzeichen 69712982
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 03.03.1997
EP-Aktenzeichen 973013824
EP-Offenlegungsdatum 17.12.1997
EP date of grant 05.06.2002
Veröffentlichungstag im Patentblatt 28.11.2002
IPC-Hauptklasse G06F 11/00

Beschreibung[de]
Gebiet der Erdindug

Die Erfindung betrifft integrierte Schaltungen, genauer gesagt, einen Prüf- und Diagnosemechanismus zur Verwendung in einer integrierten Schaltung, die eine RISC(reduced instruction set computer = Computer mit reduziertem Befehlssatz)-CPU (central processing unit = zentrale Verarbeitungseinheit) enthält, die zur Verwendung in tragbaren Geräten vorgesehen ist, mit einem Block von auf dem Chip befindlichem Speicher, der als Cache oder RAM verwendet werden kann.

Hintergrund der Erfindung

Zu tragbaren Geräten gehören elektronische Instrumente wie Manager für persönliche Information, Mobiltelefone, Digitalkameras, tragbare Spiele, Strichcodescanner, medizinische Geräte, elektronische Instrumente sowie Navigationssysteme, insbesondere GPS(global positioning system)-Satellitennavigationssysteme.

Um kommerziell erfolgreich zu sein, benötigen tragbare Geräte billige integrierte Schaltungen mit geringem Energieverbrauch, um für lange Lebensdauer zu sorgen, wobei sie hohen Funktionsstandards genügen, um zu gewährleisten, dass ihre Ausgangssignale genau und brauchbar sind. Außerdem muss die Schnittstelle zwischen der integrierten Schaltung und dem Rest des tragbaren Geräts von Plug-and-play-Design sein, so dass eine einzelne Art integrierter Schaltungen bei einer Anzahl tragbarer Geräte verwendet werden kann. Ein Teil derartiger Flexibilität besteht darin, dass der Designer eines tragbaren Geräts dazu in der Lage sein muss, den IC einfach als Lagerhaltungskomponente, die keinerlei interne Modifizierung erfordert, um bei einer Anzahl von Anwendungen ververwendet werden zu können, in das Gerät einzubauen.

Die "Rechenleistung", wie sie sich bei CPUs in Form einer integrierten Schaltung findet, wie bei den Chipserien Intel 30·86 und Pentium(R) sowie den Chipreihen Motorola 68000, hat in den letzten wenigen Jahren deutlich zugenommen. Gleichzeitig hat die Größe derartiger Chips deutlich zugenommen, was auch für ihre Energieerfordernisse gilt. Derartige Chips sind als CISCs (conventional instruction set computers = Computer mit herkömmlichem Befehlssatz) konzipiert, und sie benötigten schließlich erhebliche Blöcke an zugehörigem Direktzugriffsspeicher (RAM), während die Anwendungen zugenommen haben, und zwar scheinbar grenzenlos, die riesige Mengen an Festplattenraum benötigen, für den Betrieb auf diese Chips enthaltenden Computern geschrieben wurden. Derartige CISC-Bauteile sind wegen ihrer Energieerfordernisse und ihrer Größe nicht einfach bei tragbaren Geräten anwendbar.

RISC (reduce instruction set computer = Computer mit reduziertem Befehlssatz) wurden ursprünglich bei hochwertigen Grafikanwendungen und CAE/CAD- Workstations verwendet. Jedoch ermöglicht es die RISC-Architektur, dass ein IC eine wesentlich kleinere Chipgröße aufweist, da wegen des kleineren Befehlssatzes bei der RISC-Technologie weniger Transistoren realisiert werden müssen, was zu einfacheren Designs führt, die schließlich weniger Zeit zur Fertigstellung und Fehlerbeseitigung benötigen. Außerdem verfügen kleinere Chips über kürzere Signalpfade, was bedeutet, dass jeder Befehlszyklus von kürzerer Dauer ist. Die relative Größe einer RISC-CPU ist deutlich kleiner als die einer CISC-CPU, wobei z. B. der Chip 386 SL von Intel ungefähr 170 mm² misst, während ein RISC-Chip mit ähnlichen Rechenfähigkeiten geringfügig größer als 5 mm² ist.

Die kleine Größe von auf RISC basierenden CPUs macht die RISC-Architektur für SOC("system-on-chip" = System-auf-Chip)-Anwendungen ideal, bei denen die CPU und eine Anzahl anderer Strukturen auf einem einzelnen Chip vorhanden sind. Eine derartige SOC-Architektur kann zu einem Chip führen, der immer noch beträchtlich kleiner als eine CISC-CPU ist, jedoch alle Rechen- und Steuerungsstrukturen in einer einzelnen integrierten Schaltung enthält. Eine SOC-Architektur enthält allgemein eine RISC-CPU und eine Art eines lokalen RAMS und/oder eines Datencaches. Außerdem kann der Chip interne und externe Buscontroller, verschiedene Arten von Kommunikationsports, einen Interruptcontroller sowie einen Impulsbreitenmodulator, verschiedene Konfigurationsregister, verschiedene Timer/Zähler-Strukturen und eine Art von Ausgabecontroller, wie einen LCD-Controller enthalten. Eine derartige Struktur kann mit einer 32-Bit-Architektur konfiguriert sein, mit zugehörigen, auf den Chip integrierten Peripherieschaltunge, wobei es die Integration dem Designer des tragbaren Geräts erlaubt, den Chip einzubauen, um den Entwicklungszyklus zu verkürzen und die Einführung des Produkts im Markt zu beschleunigen. Die Chipstruktur kann über einen externen 16-Bit-Datenbus mit einer integrierten, programmierbaren Bussteuerung verfügen, die SRAMs, DRAMs, EPROMs und/oder Speicherbauteile, die keinen zusätzlichen Puffer benötigen, um mit der integrierten Schaltung zu funktionieren, mit 8 oder mit 16 Bits, unterstützen kann. Der Chip kann mit entweder 3,3 Volt oder 5 Volt betrieben werden, wobei jeweils zwischen 100 mW und 350 mW erforderlich sind.

Durch Kombinieren einer Anzahl von Peripherieschaltungen auf dem Chip und durch Anbringen eines internen Busses zwischen der CPU und den Peripherieschaltungen ist es möglich, eine Anzahl von Operationen auf dem Chip auszuführen, während gleichzeitig Operationen außerhalb des Chips, wie Einspeicherungs- und Abrufvorgänge betreffend einen Speicher gesteuert werden.

Die integrierte Schaltung kann eine Speicherschnittstelle aufweisen, die für mehrere programmierbare Chipfreigaben sorgt, was es den Benutzern ermöglicht, Wartezustände und die Speicherbreite, 8 oder 16 Bits breit, einzustellen. Die integrierte Schaltung stellt eine Adressencodierung und eine DRAM-Steuerlogik bereit, die es einem externen Busmaster ermöglicht, Datenübertragungsvorgänge auszuführen, ohne dass externe Adressendecodierung oder externe DRAM-Controller erforderlich wären. Wenn sequenzielle Zugriffe verwendet werden, inkrementiert die integrierte Schaltung automatisch die vom externen Busmaster gelieferte anfängliche Speicheradresse, um dadurch Übertragungsvorgänge zu beschleunigen.

EP-A-0 652 516 offenbart einen integrierten Prozessor, der über einen JTAG- oder einen anderen Prüfprotokollbus mit einem Hostcomputer verbunden wird.

Patent Abstracts of Japan, Vol. 011, No. 177 (P-583), 6. Juni 1987 & JP 62 006488 A (Toshiba Corp.; andere: 01), 13. Januar 1987, offenbaren eine Speicherauffrischschaltung, bei der Auffrischsteuerschaltungen einen Speicher auffrischen, während eine CPU in einen Leerlaufzustand versetzt ist.

Eine Ausführungsform der Erfindung dieser Anmeldung ist ein Test- und Diagnosemechanismus, der einen externen Busmastercontroller enthält und Zugriff auf praktisch alle internen Register in der integrierten Schaltung erlaubt und es den auf dem Chip vorhandenen SRAM/DRAM-Controllern erlaubt, auf externen Speicher zuzugreifen.

Genauer gesagt, ist durch die Erfindung eine integrierte Schaltung geschaffen, wie sie im Anspruch 1 dargelegt ist.

Diese und andere Aufgaben und Vorteile der Erfindung werden vollständiger erkennbar, wenn die folgende Beschreibung in Verbindung mit den Zeichnungen gelesen wird.

Kurze Beschreibung der Zeichnungen

Fig. 1 ist ein Blockdiagramm einer auf einem Chip vorhandenen Systemstruktur bei einer Ausführungsform der Erfindung.

Fig. 2 ist ein Blockdiagramm von Stiftverbindungen zwischen der integrierten Schaltung der Ausführungsform und mit ihr verbundenen Bauteilen außerhalb des Chips.

Beste Art zum Ausführen der Erfindung

Es wird zunächst auf die Fig. 1 Bezug genommen, in der eine SOC(system onchip)-Struktur einer Ausführungsform der Erfindung allgemein als 10 dargestellt ist. Der IC 10 enthält eine 32-Bit-RISC-CPU 12, die mit einem internen Bus 14 von 32 Bits Breite verbunden ist. Die CPU 12 ist direkt mit einem Controller 16 für den internen Bus verbunden, der seinerseits mit dem Bus 14 und einer Buskarte 18 verbunden ist. Der IC 10 beinhaltet ferner einen lokalen RAM (SRAM) 20, einen kombinierten Befehls-/Datencache 22 und einen externen Zugriffsport 24. Bei der bevorzugten Ausführungsform soll der IC 10 mit einem Flüssigkristalldisplay (LCD) verbunden werden, und zu diesem Zweck enthält er einen LCD-Controller 26, der mit einer Schnittstelle 28 für eine LCD-Tafel verbunden ist. Es ist ein Controller 30 für einen externen Bus vorhanden, der mit einer externen Speicherschnittstelle 32 von 26 Bits Breite und einer Auswähleinheit 34 für externe Chips verbunden ist.

Es ist eine Anzahl von Konfigurationsregistern 36 vorhanden, deren Funktionen hier später beschrieben werden. Bei der bevorzugten Ausführungsform befinden sich die Konfigurationsregister 36 im Controller 16 für den internen Bus. In der integrierten Schaltung befindet sich eine Anzahl interner "Peripherieschaltungen", die mit dem internen Bus 14 verbunden sind und über einen universellen asynchronen Empfänger/Sender (UART = universal asynchronous receiver/transmitter) 38, einen Parallelport 40, einen Timer/Zähler 42, einen Interruptcontroller 44 und einen Impulsbreitenmodulator (PWM) 46 beinhalten.

Ein externer Busmaster 48, der hier auch als externes Bauteil bezeichnet wird, ist mit der externen Speicherschnittstelle 32, der Auswähleinheit 34 für externe Chips und einem externen Speicher 50 verbunden. Der externe Speicher 50 kann SRAM- und DRAM-Abschnitte beinhalten. Periphere Bauteile, die gemeinsam mit 52 markiert sind, sind mit der externen Speicherschnittstelle 32 und der Auswähleinheit 34 für externe Chips verbunden. Die externe Speicherschnittstelle 32 und die Auswähleinheit 34 für externe Chips bilden bei der bevorzugten Ausführungsform Teile des externen Buscontrollers 30. Der Fachmann erkennt, dass die durch die Bezugszahlen 12 bis 46 gekennzeichneten Objekte Teil der integrierten. Schaltung 10 bilden, während Objekte mit Bezugszahlen über 46 außerhalb des Chips befindliche Bauteile sind.

Bei der bevorzugten Ausführungsform besteht der IC 10 aus einem TQFP(Thin Quad Flat Pack)-Baustein mit 160 Stiften. Es wird nun auf die Fig. 2 Bezug genommen, gemäß der diejenigen Stifte von speziellem Interesse sind, die eine Verbindung zum externen Busmaster 48 herstellen und die als BREQ (bus master request) zum Übertragen eines Anforderungssignals, als BGR (bus master grant) zum Übertragen eines Gewährungssignals, als XREQ (transfer request) und als XACK (transfer acknowledge) gekennzeichnet sind. Der Signalfluss ist durch mit Pfeilen versehene Linien repräsentiert, die den IC 10, den externen Busmaster 48, einen DRAM 50a, einen SRAM 50b und Peripherieschaltungen 52 verbinden. Es ist zu beachten, dass sich die externe Speicherschnittstelle 32 und die Auswähleinheit 34 für externe Chips bei der bevorzugten Ausführungsform körperlich im externen Buscontroller 30 befinden. Die Stifte BREQ und XREQ werden hier als Anforderungsmechanismus bezeichnet, während die Stifte BGR und XACK hier als Gewährungsmechanismus bezeichnet werden. Dann laufen Daten und/oder Befehle zwischen dem IC 10 und dem externen Speicher und Peripherievorrichtungen über Busse für Daten, Adressen und Steuerungsfunktionen, die allgemein als Bus 54 gekennzeichnet sind, hin und her.

Unter Bezugnahme auf die Fig. 1 und 2 wird nun das Vorstehende detaillierter beschrieben. Die CPU 12 ermöglicht es dem externen Busmaster 48, die Steuerung der externen Speicherschnittstelle 32 und die Verwendung von auf dem Chip vorhandenen SRAM/DRAM-Controllern, die sich im Wesentlichen im internen Buscontroller 16 befinden, zu übernehmen, um Daten zu übertragen. Die bereits genannten vier speziellen Signale werden dazu verwendet, die Steuerung der externen Schnittstelle 32 zu bewerkstelligen. Es ist zu beachten, dass der externe Busmaster 48 seine eigenen Chipfreigaben und CAS/RAS(column address select/row address select)-Signale für den externen Speicher 50 liefern muss oder dass er die Signale XREQ/XACK dazu verwenden muss, unter Verwendung der sich im internen Buscontroller 16 befindenden SRAM/DRAM-Controller, Zugriff auf die auf dem Chip vorhandenen Steuerungssignale zu erhalten. Der externe Busmaster 48 fordert die Steuerung der externen Speicherschnittstelle 32 dadurch an, dass er den Stift BREQ auf hoch schaltet. Wenn die CPU 12 irgendeine aktuelle Busoperation abschließt, wird die externe Schnittstelle 32 betreffend den externen Busmaster 48 freigegeben, und der Stift BGR wird auf hoch angesteuert. Nachdem der externe Busmaster 48 die Abfrage oder die Übertragung von Daten abgeschlossen hat, schaltet er den Stift BREQ auf niedrig, und die CPU 12 schaltet den Stift BGR auf niedrig, was anzeigt, dass die externe Speicherschnittstelle vom externen Buscontroller 48 freigegeben wurde und dass sie sich nun unter Steuerung durch die CPU 12 befindet.

Wenn die CPU 12 erkennt, dass der Stift BREQ hoch ist, schließt sie ihre aktuelle Busoperation ab und schaltet BGR auf hoch, was es dem externen Busmaster 48 ermöglicht, die Steuerung der externen Schnittstelle 32 zu übernehmen. Alle auf dem Chip vorhandenen Komponenten befinden sich unter der Steuerung des externen Busmasters 48, mit Ausnahme der CPU 12, die sich in einem Leerlaufmodus befindet. Solange BGR durch die CPU 12 auf hoch gehalten wird, verfügt der externe Busmaster 48 über die Steuerung der externen Speicherschnittstelle 32. Es ist zu beachten, dass sich die CPU 12 zwar in einem Leerlaufmodus befindet, dass jedoch der IC 10 die DRAM-Speicherbänke weiterhin entsprechend seiner Programmierung auffrischt, was hier auch als Auffrischmechanismus bezeichnet wird.

Wenn der externe Busmaster 48 den Stift XREQ auf hoch schaltet, und wenn angenommen wird, dass auch BGR auf hoch geschaltet ist, kann der externe Busmaster 48 auf den internen SRAM, den Cache, Register, den DRAM-Controller und den SRAM-Controller zugreifen. Der externe Busmaster 48 sorgt für Adressen-, Daten-, Lese/Schreib-Zugriffe betreffend den IC 10, und er informiert diesen über die Übertragungsgröße, wobei der IC 10 seine auf dem Chip vorhandenen Controller dazu verwendet, die Übertragung abzuschließen. Der externe Busmaster 48 kann den IC 10 auch dazu auffordern, die Übertragungsadresse intern nachzufahren, und zwar in einem sich im internen Buscontroller 16 befindenden Speicherkartenregister, genauer gesagt, in einem der dort vorhandenen Konfigurationsregister 36, um so das Erfordernis zu beseitigen, eine externe Adresse über diejenige hinaus bereitzustellen, die für die erste Übertragung benötigt wird. Dazu gehört dasjenige, was hier als Stopp/Start-Mechanismus zum Versetzen der CPU 12 in einen Leerlaufmodus, während das externe Bauteil 48 auf auf dem Chip vorhandene Register zugreifen kann, bezeichnet wird.

Wenn der IC 10 erkennt, dass der Stift XREQ auf hoch geschaltet ist, liefert er ein Bestätigungssignal in der Form, dass er den Stift XACK auf hoch schaltet und die Adresse und die Daten zwischenspeichert und auf eine Konfiguration für Zugriff durch den externen Busmaster 48 steuert. Der IC 10 kann die Steuerung der externen Speicherschnittstelle 32 dadurch übernehmen, dass er BGR auf niedrig schaltet, wodurch der externe Busmaster 48 am Steuern des IC 10 gehindert wird. Wenn die angeforderte Übertragung abgeschlossen ist, steuert der IC 10 XACK auf niedrig, versetzt den Datenbus 54 in einen Lesevorgang und fährt damit fort, BGR auf niedrig zu schalten, solange XREQ hoch ist. Wenn XREQ durch den externen Busmaster 48 auf niedrig geschaltet wird, schaltet der IC 10 BGR auf hoch, um damit dem externen Busmaster 48 die Steuerung über die Schnittstelle 32 zu verleihen. Der externe Busmaster 48 kann eine andere Übertragung dadurch starten, dass er XREQ auf hoch steuert, oder durch Freigeben des Busses 54 durch Ansteuern von BREQ auf niedrig.

Wenn sich der IC 10 unter der Steuerung des externen Busmaster 48 befindet, befinden sich die Stifte nOE, nWE und nBW in einem Zustand mit hoher Impedanz, und die Ansteuerungssignale nCE/nCAS und nRAS sind inaktiv. Wie hier verwendet, bedeutet "n" vor einem Stift "nicht". nOE ist das Freigabe-Ausgangssignal für den externen Speicher und die Peripherieschaltungen, und es ermöglicht es dem externen Speicher und den Peripherieschaltungen, den Datenbus anzusteuern. Es wird während eines Lesevorgangs auf niedrig und während eines Schreibvorgangs auf hoch geschaltet. Wenn es sich unter der Steuerung des externen Busmasters 48 befindet, wirkt es als Freigabe-Ausgangssignal für einen Mikrocontroller 12a, der sich in der CPU 12 befindet. nOE sollte während eines Lesevorgangs durch denn externen Busmaster 48 auf niedrig und während eines Schreibvorgangs auf hoch geschaltet werden.

nWE ist das Schreibfreigabesignal für externen Speicher und Peripherieschaltungen. Während eines Schreibvorgangs wird nWE auf niedrig gesteuert, und während eines Lesevorgangs wird es auf hoch gesteuert. Wenn sich nWE unter Steuerung durch den externen Busmaster 48 befindet, sollte es während eines Schreibvorgangs auf niedrig und während eines Lesevorgangs auf hoch geschaltet werden.

nCE/nCAS[5 : 0] sorgt für CE (chip enable)/CAS (column address select), um direkte Verbindung zu standardmäßigen externen Speichern/Peripheriebausteinen zu ermöglichen. Die Stifte wirken als nCAS, wenn sie eine Schnittstelle zum DRAM 50a bilden, und sie wirken als nCE, wenn sie eine Schnittstelle zum SRAM 50b oder Peripheriebausteinen 52 bilde n. Diese Stifte sind vom Systemdesigner vollständig programmierbar, und sie können Bytefreigabevorgänge unterstützen. nCE ist unter Steuerung durch den externen Busmaster 48 inaktiv, während nCAS nur während eines Auffrischvorgangs aktiv ist, vorausgesetzt, dass Auffrischung in die Schaltung programmiert ist nRAS sorgt für Zeilenadressen-Auswählvorgänge, was direkten Anschluss an den DRAM 50a ermöglicht. nRAS ist unter Steuerung durch den externen Busmaster 48 inaktiv.

Auch die mit A[25 : 0] und D[15 : 0] gekennzeichneten Stifte befinden sich im Zustand hoher Impedanz, wenn BGR hoch ist. A[25 : 0] spezifiziert die 26 externen Adressenbusstifte und ermöglicht es dem eingebauten Mikrocontroller, eine 26-Bit-Adresss an den externen Speicher und die Peripherieschaltungen zu liefern. Wenn Steuerung durch den externen Busmaster 48 vorliegt, wird eine 26-Bit-Adresse an den eingebauten Mikrocontroller geliefert. Die oberen 6 Bits der Adresse werden von einem internen programmierbaren Register, das sich innerhalb der Konfigurationsregister 36 befindet, geliefert, was dem externen Busmaster vollständigen Zugriff auf den 32 Bit breiten Adressenraum verleiht.

D[15 : 0] spezifiziert den externen 16-Bit-Datenbus mit 16 Stiften. Bei Steuerung den externen Busmaster 48 werden Eingangsdaten während eine Schreibzugriffs an den eingebauten Mikrocontroller 12a geliefert. nBW ist der bytebreite Zugriffsstift. Die CPU 12 liefert ein Signal an den externen Speicher 50 und die Peripherieschaltungen 52, das die Datengröße der Datenübertragung anzeigt.

nBW kann von einem externen Adressencontroller dazu verwendet werden, zusätzliche Chip/Byte-Freigabesignale zu erzeugen. Bei Steuerung durch den externen Busmaster 48 zeigt dieser die Übertragungsgröße an. Unabhängig vom aktiven Controller, sei es die CPU 12 oder der externe Busmaster 48, zeigt ein auf den Stift nBW geschaltetes niedriges Signal eine Byteübertragung an, und ein auf ihn geschaltetes hohes Signal zeigt ein Halbwort (16-Bit- Übertragung) an.

Ein Stift nBB ist der Bytebootstift, der dazu verwendet wird, zwischen 8 und 16 Bits für den Bootspeicher auszuwählen. Wenn die integrierte Schaltung 10 durch den externen Busmaster 48 gesteuert wird, kann dieser auf dem Bus 54 seine eigene Adresse an den Mikrocontroller 12a liefern, in welchem Fall der Stift nBB auf niedrig geschaltet wird, und es werden die oberen 6 Bits der Adresse von einem internen, programmierbaren Register, das als Erweiterungsregister für den externen Busmaster (EBMER) gekennzeichnet ist und sich in den Konfigurationsregistern 36 befindet, geliefert. Der externe Busmaster 48 kann auch den eingebauten Mikrocontroller dazu auffordern, die Übertragungsadresse intern nachzufahren, in welchem Fall der Stift nBB auf hoch geschaltet werden sollte. Der Mikrocontroller 12a stellt die interne Adresse als Funktion der durch den externen Busmaster 48 (nBW) spezifizierten Übertragungsgröße ein.

Ein Register des externen Busmasters wird dazu verwendet, Adressen vom externen Busmaster 48 von 26 auf 32 Bits zu erweitern, um dadurch Zugriff auf den gesamten von der CPU 12 bereitgestellten Adressenraum zu ermöglichen. Die interne 32-Bit-Adresse wird dadurch erzeugt, dass eine Adressenerweiterung von 6 Bits zur 26-Bit-Adresse auf den Stiften A[25 : 0] addiert wird. Jedesmal dann, wenn der externe Busmaster 48 eine externe Adresse liefert und nBB auf niedrig geschaltet ist, erfasst der IC 10 die externe Adresse und erzeugt durch Kombinieren der Adresse vom externen Busmaster und der Adressenerweiterung, wie sie sich im Erweiterungsregister desselben befindet, eine interne 32-Bit-Adresse. Wenn der Zugriff einmal abgeschlossen ist, aktualisiert der IC 10 die neue Adresse entsprechend der vom externen Busmaster 48 über nBW spezifizierten Übertragungsgröße, um auf die nächste adressierbare Stelle zu zeigen. Wenn der externe Busmaster 48 sequenzielle Übertragungsvorgänge ausführt, erlaubt es diese Struktur dem IC 10, zukünftige Adressen zu liefern. Dies kann bei anschließenden Übertragungsvorgängen dadurch erfolgen, dass nBB auf hoch geschaltet wird, in welchem Fall der IC 10 die externe Adresse ignoriert und statt dessen seine eigene aktualisierte Adresse verwendet. Die anfangs in das Erweiterungsregister des externen Busmaster geladene Adressenerweiterung hat den logischen Wert "111111", was es dem externen Busmaster 48 erlaubt, auf den oberen Bereich des Speichers zuzugreifen, der System- und Peripherieregister enthält, einschließlich des Erweiterungsregisters für den externen Busmaster, des lokalen SRAM, des Caches und der Ausnahmevektoren. Das Erweiterungsregister für den externen Busmaster kann durch einen Speicherbefehl oder den externen Busmaster 48 aktualisiert werden. Wenn der Wert im Erweiterungsregister für den externen Busmaster einmal ausgehend von "111111" geändert ist, kann der externe Busmaster 48 nicht mehr auf die Registererweiterung für ihn oder den oberen Speicherbereich zugreifen. Die vorstehend genannten Strukturen umfassen das, was hier als automatische Adresseninkrementiereinrichtung bezeichnet wird.

So ist es möglich, dass ein Benutzer oder Designer auf den Inhalt irgendeines Registers im IC 10 zugreift. Dies kann zu Diagnosezwecken verwendet werden, um den Inhalt eines Registers an irgendeinem speziellen Punkt während des Betriebs des IC 10 zu bestimmen, und zwar für Programmierzwecke, was es dem Benutzer ermöglicht, eine spezielle Adresse oder einen speziellen Datenwert in ein Register einzuschreiben, oder zur Prüfung, was es einem Designer ermöglicht, zu klären, dass ein spezielles Register zu einem Zeitpunkt während des Betriebs einen vorgegebenen Inhalt enthält.

Dieses System kann dann von besonderem Nutzen sein, wenn der IC 10 als Teil einer CCD(charge-coupled-device)-Kamera verwendet wird, wobei vom CCD Pixeldaten empfangen werden und diese in einen Speicher übertragen werden. Eine derartige Übertragung ist im Allgemeinen zu schnell, als dass sie durch ein herkömmliches Interruptsystem handhabbar wäre. Jedoch kann unter Verwendung des hier offenbarten Systems die Startadresse entweder vom IC 10 oder von irgendeiner externen Steuerung, abhängig von der speziellen Adressenkarte, geliefert werden, was es dem IC 10 ermöglicht, Daten mit hoher Geschwindigkeit vom CCD in den Speicher zu übertragen.


Anspruch[de]

1. Integrierte Schaltung (10) mit:

- einer CPU (12);

- einer externen Schnittstelle (30), die der integrierten Schaltung (10) Zugriff auf einen oder mehrere außerhalb des Chips befindliche Bausteine ermöglicht, wobei diese externe Schnittstelle (30) eine Anzahl adressierbarer Leitungen (A0 : 25) aufweist;

- einem Start/Stopp-Mechanismus (16, 24, 30), um die CPU bei Empfang einer Anforderung von einem externen Baustein in einen Leerlaufmodus zu versetzen und danach externen Zugriff auf auf dem Chip vorhandene Register zu erlauben; wobei

- die CPU (12) eine RISC-CPU ist und

- der Start/Stopp-Mechanismus (16, 24, 30) externen Zugriff auf die auf dem Chip vorhandenen Register über die mehreren adressierbaren Leitungen (A0 : 25) der externen Schnittstelle (30) ermöglicht.

2. Integrierte Schaltung nach Anspruch 1, die eine 32-Bit-RISC CPU (12) aufweist und bei der die externe Schnittstelle (30) eine adressierbare 26- Bit-Schnittstelle (A0 : 25) ist, und die ferner ein Erweiterungsregister (36) zum Umsetzen einer empfangenen 26-Bit-Prüf/Diagnose-Adresse in eine von der CPU (12) verwendbare 32-Bit-Adresse aufweist.

3. Integrierte Schaltung nach Anspruch 2, bei der das Erweiterungsregister (36) dazu verwendet wird, die höchstsignifikanten 6 Bits einer 32-Bit- Adresse zu liefern.

4. Integrierte Schaltung nach einem der vorstehenden Ansprüche, ferner mit einem Auffrischmechanismus, um es der integrierten Schaltung (10) zu ermöglichen, mit der Auffrischung eines DRAM fortzufahren, während sich die CPU 12 im genannten Leerlaufmodus befindet.

5. Integrierte Schaltung nach einem der vorstehenden Ansprüche, bei der der Start/Stopp-Mechanismus (16, 24, 30) einen mit der CPU (12) gekoppelten Anforderungsmechanismus beinhaltet, um einen Freigabemechanismus zu aktivieren, um dadurch die externe Schnittstelle (30) freizugeben, um den genannten externen Zugriff über die externe Schnittstelle (30) auf die integrierte Schaltung (10) zu ermöglichen.

6. Integrierte Schaltung nach Anspruch 5, bei der der Freigabemechanismus einen Gewährungsmechanismus zum Erzeugen eines externen Signals beinhaltet, um einem externen Baustein anzuzeigen, dass er auf die integrierte Schaltung (10) zugreifen kann.

7. Integrierte Schaltung nach einem der vorstehenden Ansprüche, bei der der Start/Stopp-Mechanismus (16, 24, 30) den Zugriff auf einen auf dem Chip vorhandenen Speicher (20), auf dem Chip vorhandene Peripheriebausteine (38, 40, 42, 44, 46, 26) sowie auf dem Chip vorhanden SRAM und DRAM-Controller (30) ermöglicht.

8. Vorrichtung mit:

- einer integrierten Schaltung (10) nach einem der vorstehenden Ansprüche; und

- einem außerhalb der integrierten Schaltung (10) vorhandenen Baustein, um Zugriff auf auf dem Chip vorhandene Register der integrierten Schaltung (10) anzufordern.

9. Vorrichtung nach Anspruch 8, bei der der Baustein ein Prüf/Diagnose- Baustein ist.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com