DE69932891T2 - Informationsverarbeitungsgerät und -verfahren, und Darstellungsmedium - Google Patents

Informationsverarbeitungsgerät und -verfahren, und Darstellungsmedium Download PDF

Info

Publication number
DE69932891T2
DE69932891T2 DE69932891T DE69932891T DE69932891T2 DE 69932891 T2 DE69932891 T2 DE 69932891T2 DE 69932891 T DE69932891 T DE 69932891T DE 69932891 T DE69932891 T DE 69932891T DE 69932891 T2 DE69932891 T2 DE 69932891T2
Authority
DE
Germany
Prior art keywords
data
bus
address
control device
dram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69932891T
Other languages
English (en)
Other versions
DE69932891D1 (de
Inventor
Sony Computer Entertainment Inc Makoto Minato-ku Furuhashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of DE69932891D1 publication Critical patent/DE69932891D1/de
Application granted granted Critical
Publication of DE69932891T2 publication Critical patent/DE69932891T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Verarbeiten von Informationen und ein Bereitstellungsmedium zum Bereitstellen von Programmen und Daten.
  • Im Allgemeinen ermöglicht ein DRAM (dynamischer Speicher mit wahlfreiem Zugriff), der in einem Chip enthalten ist, dass die Bitbreite eines Datenbus frei eingestellt wird, und dieser kann eine hohe Bandbreite zur Verfügung stellen, wenn er mit mehreren Bitbreiten kompatibel ist.
  • Umgekehrt kann eine CPU nicht mit einem Bus verbunden werden, der eine Anzahl von Bits aufweist, die größer ist als die Anzahl von Bits, die durch die CPU verarbeitet werden kann. Gewöhnlicherweise ist die Bitbreite einer CPU kleiner als die Bitbreite eines DRAMS.
  • Daher muss, wenn ein DRAM und eine CPU gemeinsam auf einem Chip angeordnet sind, die Bitbreite des Datenbus mit der Bitbreite der CPU übereinstimmen mit dem Ergebnis, dass das DRAM nicht in der Lage ist, seine Vorteile zur Verfügung zu stellen.
  • Es kommt vor, dass eine DSP (Digitaler Signalprozessor) mit einem Datenbus verbunden ist und eine hohe Bandbreite zwischen ihm und einem DRAM benötig. 5 der beigefügten Zeichnungen zeigt ein Videounterhaltungssystem 60, das zur Verwendung bei einer solchen Situation aufgebaut ist. Wie in 5 gezeigt ist, weist das Videounterhaltungssystem 60 einen CPU-Bus 12, der eine kleinere Bandbreite aufweist, und einen Systembus (Datenbus) 13 auf, der eine größere Bitbreite aufweist, wobei ein DRAM 41 mit dem Datenbus 13 verbunden ist.
  • Zum Beispiel ist der CPU-Bus 12 32 Bits breit und der Systembus 13 128 Bits breit, und diese Busse 12, 13 werden verwendet, um Programme und Daten zwischen den verschiedenen Einrichtungen zu übertragen.
  • Mit dem CPU-Bus 12 sind eine CPU 31, eine Peripherieeinrichtung 32 und ein Cache-Speicher 51 verbunden. Mit dem Systembus 13 sind der Cache-Speicher 51, das DRAM 41, eine DMA-Steuerung (DMA: direkter Speicherzugriff) (DMAC) 42 und eine DSP 43 verbunden.
  • Der CPU 31 wird ein Programm bereitgestellt, das von dem DRAM 41 über den Cache-Speicher 51 übertragen wird, und führt einen bestimmten Prozess gemäß dem bereitgestellten Programm aus. Der CPU 31 können auch Daten von dem DRAM 41 über den Cache-Speicher 51 bereitgestellt werden.
  • Die Peripherieeinrichtung 32 umfasst eine Zeitsteuerung zur Ausführung einer Taktoperation und eine Unterbrechungs-Steuerung zur Erzeugung von Unterbrechungspulsen in voreingestellten periodischen Intervallen.
  • Das DRAM 41 ist aufgebaut, um Daten, die für den Betrieb der CPU 31 und des DSP 43 benötigt werden, und auch Programme zu speichern, die durch die CPU 31 und den DSP 43 ausgeführt werden. Der Cache-Speicher 51 speichert Programme und Daten, die der CPU 31 bereitgestellt werden, die aus dem DRAM 41 ausgelesen worden sind.
  • Als Antwort auf eine Anfrage von der CPU 31 oder der DSP 43 überträgt die DMA-Steuerung 42 Programme oder Daten von dem DRAM 41 an den Cache-Speicher 51 oder den DSP 43.
  • Der DSP 43 führt Programme aus, die von dem DRAM 41 bereitgestellt werden.
  • Die CPU 31 greift üblicherweise auf den Cache-Speicher 51 über den CPU-Bus 12 zu, liest ein benötigtes Programm und Daten aus dem Cache-Speicher 51 aus und führt das Programm aus und verarbeitet die Daten. Der DSP 43 führt ein Programm aus und verarbeitet Daten, die von dem DRAM 41 über den Systembus 13 unter der Steuerung der DMA-Steuerung 42 übertragen worden sind.
  • Da das Videounterhaltungssystem 60 einen CPU-Bus 12 und einen Systembus 13 aufweist, die voneinander getrennt sind, kann der Systembus 13, der ein Datenbus mit einer großen Bitbreite ist, mit dem DRAM 41 verbunden werden, ohne durch die Bitbreite der CPU 31 begrenzt zu sein. Als Ergebnis können Daten mit einer hohen Rate zwischen dem DRAM 41 und der DSP 43 übertragen werden.
  • Der Cache-Speicher 51 speichert Programme und Daten, auf die sehr häufig von der CPU 31 zugegriffen werden. Jedoch verursacht der Cache-Speicher 51 gelegentlich einen Cache-Fehler, d. h. das Speichern von benötigten Programmen und Daten schlägt fehl. Während gespeicherte Programme nacheinander aus dem Cache-Speicher 51 durch die CPU 31 ausgelesen werden, werden gespeicherte Daten häufig angefragt und wahlfrei aus dem Cache-Speicher 51 durch die CPU 31 ausgelesen. Aus diesem Grunde treten viele Cache-Fehler mit Bezug auf die in dem Cache-Speicher 51 gespeicherten Daten auf. Wenn ein Cache-Fehler auftritt, muss die CPU 31 die DMA-Steuerung 42 auffordern, Daten von dem DRAM 41 an den Cache-Speicher 51 gemäß einem DMA(direkter Speicherzugriff)-Datenübertragungsprozess zu übertragen. Diese Datenübertragungsoperation belastet die CPU 31 zusätzlich, die dann keine Hochgeschwindigkeitsverarbeitung mehr durchführen kann.
  • Wenn das DRAM 41 Daten an den Cache-Speicher 51 gemäß dem DMA-Datenübertragungsprozess im Falle eines Cache-Fehlers überträgt, gibt die DMA-Steuerung 42 eine Adresse, die die Speicherposition in dem DRAM 41 für die an den Cache-Speicher 51 zu übertragenden Daten angibt, an das DRAM 41 aus und steuert die Übertragung der Daten, während eine Adresse, die die Speicherposition in dem Cache-Speicher 51 der Daten angibt, an den Cache-Speicher 51 ausgegeben wird. 6 der beigefügten Zeichnungen zeigt ein Zeitsteuerungsdiagramm, das die Datenübertrag von dem DRAM 41 an den Cache-Speicher 51 gemäß dem DMA-Datenübertragungsprozess zeigt.
  • Die DMA-Steuerung 42 startet das Übertragen der Daten von dem DRAM 41 an den Cache-Speicher 51 gemäß dem DMA-Datenübertragungsprozess zum Zeitpunkt des n-ten Taktzyklus (nachfolgend als n-ter Takt-Zeitpunkt bezeichnet) eines Systemtaktsignals. Eine Anfrage von der CPU 31 umfasst eine Anfangsadresse in dem DRAM 41 der an den Cache-Speicher 51 zu übertragenden Daten, die (Größe) der an den Cache-Speicher 51 zu übertragenden Daten und eine Anfangsadresse in dem Cache-Speicher 51, um die von dem DRAM 41 zu übertragenden Daten zu speichern.
  • Wie in 6 dargestellt ist, gibt die DMA-Steuerung 42 zum n-ten Takt-Zeitpunkt die Anfangsadresse (Adresse D1) in dem DRAM 41 über den Systembus (Adressbus) 13 an das DRAM 41 aus und weist das DRAM 41 an, Daten (Daten A), die in der Adresse gespeichert sind, zu lesen.
  • Das DRAM 41 speichert gewöhnlicherweise Seiten von Programmen und Daten. Wenn das DRAM 41 Daten liest, z. B. innerhalb einer Seite, kann das DRAM 41 den Ausleseprozess relativ schnell ausführen. Jedoch, wenn das DRAM 41 mehrere Seiten von Daten liest, dann, da ein Seitenbruch zwischen den Seiten von Daten auftritt, hält das DRAM 41 seinen Betrieb virtuell für eine bestimmte Zeitdauer, z. B. im dargestellten Beispiel vier Taktpulse, bei dieser Seitenunterbrechung an.
  • Normalerweise sind bei dem DRAM-Datenübertragungsprozess die Daten, die das DRAM 41 anfänglich überträgt, nicht auf Daten bezogen, die das DRAM 41 zuvor verarbeitet hat, und das DRAM 41 erfährt einen Seitenbruch zwischen diesen Seiten. Insbesondere bleibt das DRAM 41 inaktiv bis zu einem Punkt unmittelbar vor dem Zeitpunkt des (n + 4)-ten Taktzyklus und kann die Daten (Daten A) an den Cache-Speicher 51 nicht bis zu dem (n + 4)-ten Taktzeitpunkt ausgeben.
  • Die DMA-Steuerung 42 gibt die Anfangsadresse (Adresse D1) in dem DRAM 41 über den Systembus (Adressbus) 13 an das DRAM 41 aus und wartet, bis die Daten A von dem DRAM 41 an den Systembus (Datenbus) 13 ausgegeben werden.
  • Wie in 6 dargestellt ist, gibt, nachdem das DRAM 41 die Daten A an den Systembus (Datenbus) 13 zum Zeitpunkt des (n + 3)-ten Taktzyklus ausgibt, die DMA-Steuerung 42 eine Anfangsadresse (Schreibadresse) (Adresse C1) in dem Cache-Speicher 51 über den Systembus (Adressbus) 13 an den Cache-Speicher 51 zum Zeitpunkt des (n + 4)-ten Taktzyklus aus. Der Cache-Speicher 51 speichert nun die Daten (Daten A) auf dem Systembus (Datenbus) 13 von dem DRAM 41 in dessen Adresse C1.
  • Dann gibt die DMA-Steuerung 42 zum Zeitpunkt des (n + 5)-ten Taktzyklus eine Adresse (Adresse D2) als zur Anfangsadresse nächsten Adresse in dem DRAM 41 als eine Leseadresse auf das DRAM 41 aus und weist das DRAM 41 an, Daten B, die in der Adresse D2 gespeichert sind, zu lesen. Das DRAM 41 gibt nun die Daten B an den Systembus (Datenbus) 13 aus. Zum Zeitpunkt des (n + 6)-ten Taktzyklus gibt die DMA-Steuerung 42 eine Adresse (Adresse C2) als eine zur Anfangsadresse nächste Adresse in dem Cache-Speicher 51 als eine Schreibadresse über den Systembus (Adressbus) 13 an den Cache-Speicher 51 aus und weist den Cache-Speicher 51 an, die Daten B zu schreiben. Der Cache-Speicher 51 speichert nun die Daten (Daten B) auf dem Systembus (Datenbus) 13 in die Adresse C2 des DRAM 41.
  • Zum Zeitpunkt des (n + 7)-ten Taktzyklus und zum Zeitpunkt des (n + 8)-ten Taktzyklus wird die DMA-Steuerung 42 auf die gleiche Weise betrieben wie zum Zeitpunkt des (n + 5)-ten Taktzyklus und zum Zeitpunkt des (n + 6)-ten Taktzyklus, um Daten C von dem DRAM 41 an den Cache-Speicher 51 gemäß dem DMA-Übertragungsprozess zu übertragen.
  • Auf diese Weise ist es notwendig, dass die DMA-Steuerung 42 die Schreib- und Leseadressen abwechselnd an das DRAM 41 und den Cache-Speicher 51 über den gemeinsamen Adressbus in zeitlichem Bezug zum Taktsignal ausgibt. Ein Problem bei der DMA-Steuerung 42 besteht darin, dass sie Daten nicht effizient übertragen kann, weil eines der Daten in zwei Taktzyklen übertragen wird.
  • US-A-5,594,877 offenbart eine Speicherschnittstelle, die eine Auswahl von Bussen mit 32 und 64 Bit Breite verwendet. EP-A-0 243 189 offenbart einen Datenspeicher und eine Übertragungsvorrichtung, die mindestens zwei Speicher umfasst, die jeweils einen Adressbus aufweisen. US-A-5437042 offenbart eine DMA-Anordnung.
  • Verschiedene diesbezügliche Aspekte und Merkmale der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Ausführungsformen der Erfindung können ein Verfahren und eine Vorrichtung zum effizienten Übertragen von Programmen und Daten in einem Videounterhaltungssystem vorsehen, das vielfältige Programme ausführt, sowie ein Bereitstellungsmedium zum Bereitstellen von Programmen und Daten zur Verfügung stellen.
  • Ausführungsformen der Erfindung können es ermöglichen, dass die Daten und Programme effizient bei einer höheren Rate übertragen werden.
  • In einer Vorrichtung zum Verarbeiten von Informationen, einem Verfahren zum Verarbeiten von Informationen und einem Bereitstellungsmedium gemäß der vorliegenden Erfindung werden Programme und Daten getrennt zwischen einem ersten Bus und einem zweiten Bus gespeichert. Somit kann eine Steuereinrichtung die notwendigen Daten effizienter erhalten.
  • Bei einer Vorrichtung zum Verarbeiten von Informationen, einem Verfahren zum Verarbeiten von Informationen und einem Bereitstellungsmedium gemäß der vorliegenden Erfindung werden Daten mit Hilfe einer Adresse, die auf Basis eines Anfangswertes zwischen einem ersten Bus und einem zweiten Bus erzeugt werden, übertragen. Somit können Daten effizient übertragen werden.
  • Bei einer Vorrichtung zum Verarbeiten von Informationen, einem Verfahren zum Verarbeiten von Informationen, und einem Bereitstellungsmedium gemäß der vorliegenden Erfindung können Daten über eine zweite Steuereinrichtung übertragen werden. Folglich kann eine große Menge von Daten bei einer hohen Rate übertragen werden.
  • Die Erfindung wird nun beispielhaft mit Bezug auf die beigefügten Zeichnungen beschrieben, wobei gleiche Teile durch gleiche Bezugszeichen bezeichnet werden und wobei:
  • 1 ein Blockdiagramm eines Videounterhaltungssystems gemäß der vorliegenden Erfindung zeigt;
  • 2 ein Flussdiagramm einer Verarbeitungsabfolge eines DMA-Datenübertragungsprozesses zeigt, die durch das Videounterhaltungssystem, das in 1 gezeigt ist, ausgeführt wird;
  • 3 ein Zeitsteuerungs-Diagramm zeigt, das einen DMA-Datenübertragungsprozess darstellt;
  • 4A ein Zeitsteuerungs-Diagramm eines Prozesses zeigt, bei dem eine CPU Daten aus einem DRAM über einen SRAM ausliest;
  • 4B ein Zeitsteuerungs-Diagramm eines Prozesses zeigt, bei dem eine CPU Daten direkt aus einem DRAM ausliest;
  • 5 ein Blockdiagramm eines herkömmlichen Videounterhaltungssystems zeigt;
  • 6 ein Flussdiagramm einer Verarbeitungsabfolge eines DMA-Datenübertragungsprozesses zeigt, der durch das herkömmliche Videounterhaltungssystem, das in 5 gezeigt ist, ausgeführt wird.
  • Die vielfältigen Einrichtungen der vorliegenden Erfindung, auf die in den Ansprüchen bezogen wird, werden durch die entsprechenden Teile, die in Klammern in dem nächsten Abschnitt angegeben sind, implementiert. Jedoch sollten die mehreren Einrichtungen nicht nur als auf diese Teile eingeschränkt verstanden werden.
  • Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung weist eine erste Speichereinrichtung (z. B. ein DRAM 41, das in 1 gezeigt ist) zum Speichern von Programmen und Daten auf, einen ersten Bus (z. B. einen Systembus 13, der in 1 gezeigt ist), mit dem die erste Speichereinrichtung verbunden ist, eine Steuereinrichtung (z. B. eine CPU 31, die in 1 gezeigt ist) zum Steuern der ersten Speichereinrichtung, und einen zweiten Bus auf (z. B. einen CPU-Bus 12, der in 1 dargestellt ist), mit dem die Steuereinrichtung verbunden ist, und umfasst auch eine zweite Speichereinrichtung (z. B. einen SRAM 33, der in 1 gezeigt ist), die mit dem ersten Bus und dem zweiten Bus verbunden ist, um Daten von den in der ersten Speichereinrichtung gespeicherten Daten, die der ersten Speichereinrichtung bereitgestellt werden sollen, zu speichern, und eine dritte Speichereinrichtung (z. B. einen Befehlscache 34, der in 1 dargestellt ist), die mit dem ersten Bus und dem zweiten Bus verbunden ist, um Programme aus den in der ersten Speichereinrichtung gespeicherten Programme, die der Steuereinrichtung bereitgestellt werden sollen, zu speichern.
  • Die Informationsverarbeitungsvorrichtung umfasst weiterhin eine Konvertierungseinrichtung (z. B. einen Bitkonvertierer 35), die mit dem ersten Bus (z. B. dem Systembus 13, der in 1 dargestellt ist), und dem zweiten Bus (z. B. dem CPU-Bus 12, der in 1 gezeigt ist) verbunden ist, um die Bitbreite der Daten, die über den ersten Bus empfangen werden, in eine Bitbreite zu konvertieren, die der Bitbreite des zweiten Busses entspricht.
  • Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung weist eine erste Speichereinrichtung (z. B. ein DRAM 41, das in 1 gezeigt ist) zum Speichern von vorbestimmten Daten, einen ersten Bus (z. B. einen Systembus 13, der in 1 gezeigt ist), mit dem die erste Speichereinrichtung verbunden ist, eine erste Steuereinrichtung (z. B. eine CPU 31, die in 1 gezeigt ist) zum Steuern der ersten Speichereinrichtung und einen zweiten Bus auf (z. B. einen CPU-Bus 12, der in 1 gezeigt ist), mit dem die erste Steuereinrichtung verbunden ist, und umfasst auch eine zweite Speichereinrichtung (z. B. ein SRAM 33, der in 1 gezeigt ist), die mit dem ersten Bus und dem zweiten Bus verbunden ist, um Daten, die von der ersten Speichereinrichtung übertragen werden, zu speichern, eine Erzeugungseinrichtung (z. B. einen Adresszähler 36, der in 1 gezeigt ist) zum Erzeugen einer Adresse für entweder die erste Speichereinrichtung oder die zweite Speichereinrichtung anhand einer Anfangsadresse, und eine zweite Steuereinrichtung (z. B. eine DMA-Steuerung 42, die in 1 dargestellt ist) zum Bereitstellen der Anfangsadresse in der Erzeugungseinrichtung zum Erzeugen einer Adresse abhängig von einer Anfrage von der ersten Steuereinrichtung und zum Steuern einer Datenübertragung zwischen der ersten Speichereinrichtung und der zweiten Speichereinrichtung mit Hilfe der durch die Erzeugungseinrichtung erzeugten Adresse.
  • Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung weist eine erste Speichereinrichtung (z. B. ein DRAM 41, das in 1 gezeigt ist) zum Speichern von Programmen und Daten, einen ersten Bus (z. B. einen Systembus 13, der in 1 gezeigt ist), mit dem die erste Speichereinrichtung verbunden ist, eine erste Steuereinrichtung (z. B. eine CPU 31, die in 1 gezeigt ist) zum Steuern der ersten Speichereinrichtung, einen zweiten Bus (z. B. einen CPU-Bus 12, der in 1 gezeigt ist), mit dem die erste Steuereinrichtung verbunden ist, eine zweite Steuereinrichtung (z. B. eine Host-CPU 21, die in 1 gezeigt ist) zum Steuern der ersten Speichereinrichtung und der ersten Steuereinrichtung und einen dritten Bus auf (z. B. einen Hostbus 11, der in 1 gezeigt ist), mit dem die zweite Steuereinrichtung verbunden ist, und umfasst auch eine Anpassungseinrichtung (z. B. einen FIFO-Speicher 22, der in 1 gezeigt ist), der mit dem ersten Bus und dem dritten Bus verbunden ist, um Daten, die durch die zweite Steuereinrichtung ausgegeben werden, zeitweilig zu speichern und den Zeitpunkt der Ausgabe der gespeicherten Daten anzupassen, eine dritte Steuereinrichtung (z. B. einen DMAC 42, der in 1 gezeigt ist) zum Steuern der Datenübertragung zwischen der zweiten Steuereinrichtung und der ersten Speichereinrichtung sowie eine zweite Speichereinrichtung (z. B. ein Register 23, das in 1 dargestellt ist), das mit dem zweiten Bus und dem dritten Bus verbunden ist, um Daten zur Verwendung in einer Kommunikation zwischen der ersten Steuereinrichtung und der zweiten Steuereinrichtung zu speichern.
  • Die Informationsverarbeitungsvorrichtung umfasst weiterhin eine Kommunikationseinrichtung (z. B. einen zweiten direkten Pfad 24b, der in 1 gezeigt ist) auf, um eine direkte Kommunikation zwischen der zweiten Steuereinrichtung und Speichereinrichtung zu ermöglichen.
  • 1 zeigt ein Videounterhaltungssystem 1 zum Ausführen von vielfältigen Programmen, die eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung enthält. Diejenigen Teile des Videounterhaltungssystems 1, die identisch sind zu denjenigen des Videounterhaltungssystems 60, das in 5 gezeigt ist, sind durch identische Bezugszeichen bezeichnet und werden nachfolgend nicht ausführlich beschrieben.
  • Das Videounterhaltungssystem 1 weist vier Busse auf das sind ein Hauptbus 10, ein Host-Bus 11, ein CPU-Bus 12 und ein Systembus 13. Mit dem Hauptbus 10 sind eine Laufwerkssteuerung 3 zum Aufzeichnen von Daten auf und/oder zur Wiedergabe von Daten von einem Aufzeichnungsmedium 2 und ein Hauptspeicher 4 verbunden.
  • Mit dem Host-Bus 11 sind eine Host-CPU 21 und eine Host-Schnittstelle 25 verbunden. Der Hauptbus 10 und der Host-Bus 11 sind miteinander über einen ersten direkten Pfad 24a für die Host-CPU 21 verbunden. Die Host-Schnittstelle 25 umfasst einen FIFO-Speicher 22, ein Register 23 und einen zweiten direkten Pfad 24b für die Host-CPU 21. Der FIFO-Speicher 22, das Register 23 und der zweite direkte Pfad 24b sind mit dem Host-Bus 11 verbunden.
  • Mit dem CPU-Bus 12 sind das Register 23, eine CPU 31, eine Peripherieeinrichtung 32, ein SRAM 33, ein Befehlscache 34 und ein Bitkonvertierer 35 verbunden. Mit dem Systembus 13 sind der FIFO-Speicher 22, das SRAM 33, der Befehlscache 34, der Bitkonvertierer 35, ein DRAM 41, eine DMA-Steuerung 42, ein Adresszähler 36 und eine DSP 43 verbunden.
  • Die Host-CPU 21 führt vielfältige Prozesse gemäß Programmen, die von dem Aufzeichnungsmedium 2 über die Laufwerkssteuerung 3 an den Hauptspeicher 4 übertragen werden, aus.
  • Zum Beispiel kann die Host-CPU 21 Programme und notwendige Daten aus dem Hauptspeicher 4 in dem DRAM 41 speichern und Programme und Daten, die in dem DRAM 41 gespeichert sind, anfordern. Insbesondere steuert, wenn die Host-CPU 21 eine Anfrage über das Register 23 an die CPU 31 sendet, die CPU 31 die DMA-Steuerung 42, um einen DMA-Datenübertragungsprozess zum Übertragen von Programmen und Daten zwischen dem FIFO-Speicher 22 und dem DRAM 41 auszuführen. Die Host-CPU 21 kann auch direkt auf das DRAM 41 und andere Einrichtungen über den zweiten direkten Pfad 24b zugreifen. Die DMA-Steuerung 42 funktioniert auch als ein Verteiler für den Systembus 13 (Busverteiler).
  • Der FIFO-Speicher 22 speichert zeitweilig die Daten, die von der Host-CPU 21 ausgegeben werden und gibt die gespeicherten Daten über den Systembus 13, an die DMA-Steuerung 42 aus und speichert auch zeitweilig Daten, die von der DMA-Steuerung 42 ausgegeben werden und gibt Daten an die Host-CPU 21 aus. Das Register 23 ist ein Register, das verwendet wird, wenn ein Handshake zwischen der Host-CPU 21 und der CPU 31 stattfindet und speichert Befehle und Daten, die Prozesszustände repräsentieren.
  • Die CPU 31 greift auf den Befehlscache 34 zu, lädt ein darin gespeichertes Programm, führt das Programm aus und, wenn notwendig, greift auf das SRAM 33 zu und wird daraus mit bestimmten Daten versorgt. Wenn notwendige Daten nicht in dem SRAM 33 gespeichert sind, fängt die CPU 31 bei der DMA-Steuerung 42 an, die DMA-Datenübertragung von dem DRAM 41 an das SRAM 33 auszuführen. Wenn ein Programm, das von der CPU 31 benötigt wird, nicht in dem Befehlscache 34 gespeichert ist, liest der Befehlscache 34 das Programm von dem DRAM 41 ein.
  • Das SRAM 33 umfasst ein Dual-Port-SRAM und wird z. B. als ein Datencache verwendet, und es kann darauf sowohl von der CPU 31 als auch der DMA-Steuerung 42 bei festgelegten Adressen gleichzeitig zum Auslesen und Schreiben von Daten zugegriffen werden. Das SRAM 33 dient dazu, diejenigen der in dem DRAM gespeicherten Daten, auf die sehr häufig von der CPU 31 zugegriffen wird, zu speichern. Das SRAM 33 kann eine 2-Bank-Speicheranordnung aufweisen, wobei eine Bank mit dem CPU-Bus 12 und die andere Bank mit dem Systembus 13 verbunden ist. Das SRAM 33 dient auch dazu, Daten bei Adressen, die durch den Adresszähler 36 erzeugt werden, zu speichern.
  • Der Befehlscache 34 ist ein Speicher-Cache, auf dessen beliebige Adressen zum Auslesen von Daten daraus zugegriffen werden kann. Der Befehlscache 34 dient dazu, diejenigen der in dem DRAM 41 gespeicherten Programme, auf die sehr häufig von der CPU 31 zugegriffen wird, zu speichern.
  • Der Bitkonvertierer 35 konvertiert die Bitbreite der Daten, die über den CPU-Bus 12 empfangen werden, zu einer Bitbreite, die der des Systembusses 12 entspricht und gibt Daten mit der veränderten Bitbreite aus und ändert auch die Bitbreite der Daten, die über den Systembus 13 empfangen werden, zu einer Bitbreite, die der Bitbreite des CPU-Bus 12 entspricht, und gibt die Daten mit der geänderten Bitbreite aus.
  • Der Adresszähler 36 ist mit dem Systembus 13 verbunden und ist auch mit dem SRAM 33 verbunden. Der Adresszähler 36 inkrementiert eine Anfangsadresse, die initialisiert worden ist, um Adressen für das SRAM 33 zu erzeugen, und gibt die erzeugten Adressen an das SRAM 33 aus.
  • Von den in dem DRAM 41 gespeicherten Daten sind die Daten, auf die sehr häufig von der CPU 31 zugegriffen wird, in dem SRAM 33 getrennt von den Programmen gespeichert. Daher können die Daten, die von der CPU 31 angefragt werden, effizient gespeichert werden.
  • Eine Verarbeitungsfolge eines DMA-Datenübertragungsprozesses zum Übertragen von Programmen und Daten von der Host-CPU 21 zu dem DRAM 41 wird nachfolgend mit Bezug auf 2 beschrieben.
  • In Schritt S1 weist die Host-CPU 21 die DMA-Steuerung 42 an, Programme und Daten, die in einem Speicher (nicht gezeigt) gespeichert sind, zu übertragen (wenn Programme und Daten nicht voneinander unterschieden werden müssen, wird auf sie als „Programme und/oder Daten" Bezug genommen). In Schritt S2 vermittelt die DMA-Steuerung 42 abhängig von dem Befehl von der Host-CPU 21 das Recht, den Systembus 13 zu verwenden, zwischen sich selbst und der CPU 31 und dem DSP 43 und verlangt das Recht, den Systembus 13 zu benutzen.
  • In Schritt S3 gibt die Host-CPU 21 an das DRAM 41 zu übertragende Programme und/oder Daten an den FIFO-Speicher 22 aus. In Schritt S4 überträgt die DMA-Steuerung 42 die Programme und/oder Daten des FIFO-Speichers 22, das sind die Programme und/oder Daten, die von der Host-CPU 21 ausgegeben werden, über den Systembus 13 an das DRAM 41 gemäß dem DMA-Datenübertragungsprozess und speichert die Programme und/oder Daten in dem DRAM 41.
  • Somit kann die Host-CPU 21 Programme und/oder Daten an das DRAM 41 übertragen und sie in das DRAM 41 an der CPU 31 vorbeileitend schreiben. Folglich kann die Host-CPU 21 eine große Menge von Programmen und/oder Daten an das DRAM 41 übertragen und sie in das DRAM 41 mit einer hohen Rate schreiben, ohne die CPU 31 zu belasten. Auf ähnliche Weise kann die Host-CPU 21 die DMA-Steuerung 42 auffordern, Programme und/oder Daten, die in dem DRAM 41 gespeichert sind, an den FIFO-Speicher 22 gemäß dem DMA-Datenübertragungsprozess zu übertragen und die übertragenen Programme und/oder Daten aus dem FIFO-Speicher 22 anfordern.
  • Von den Programmen und Daten, die so in dem DRAM 41 gespeichert sind, werden die Programme in dem Befehlscache 34 gespeichert. Danach greift die CPU 31 auf den Befehlscache 34 zu, um daraus ein benötigtes Programm auszulesen.
  • Zum Auslesen von Daten, die in dem DRAM 41 gespeichert sind, fragt die CPU 31 bei der DMA-Steuerung 42 an, die gewünschten Daten aus dem in dem DRAM 41 gespeicherten Daten an das SRAM 33 gemäß dem DMA-Datenübertragungsprozess zu übertragen. Danach greift die CPU 31 auf das SRAM 33 zu, um die benötigten Daten daraus auszulesen.
  • Gemäß der oben beschriebenen Verfahrensabfolge wird die Wahrscheinlichkeit, dass ein Cache-Fehler auftritt, reduziert. Jedoch ist dadurch die Möglichkeit des Auftretens eines Cache-Fehlers nicht eliminiert. Wenn ein Cache-Fehler auftritt, muss die CPU 31 die notwendigen Daten von dem DRAM 41 zu dem SRAM 33 übertragen.
  • Ein DMA-Datenübertragungsprozess zum Übertragen von Daten von dem DRAM 41 an das SRAM 33 wird nachfolgend mit Bezug auf 3 beschrieben.
  • Als Antwort auf eine Anfrage von der CPU 31 erlangt die DMA-Steuerung 42 das Recht, den Systembus 13 zu verwenden, und startet das Übertragen von Daten von dem DRAM 41 an das SRAM 33 gemäß dem DMA-Datenübertragungsprozess zu einem Zeitpunkt eines n-ten Taktzyklus. Die Anfrage von der CPU 31 umfasst eine Anfangsadresse (Leseadresse) des DRAMs 41 von Daten, die an das SRAM 33 zu übertragen sind, die Menge von Daten, die an das SRAM 33 zu übertragen sind (Daten an sieben Adressen in der dargestellten Ausführungsform) und eine Anfangsadresse (Schreibadresse) des SRAM 33 zum Speichern der Daten, die aus dem DRAM 41 ausgelesen werden, in dem SRAM 33.
  • Wie in 3 dargestellt ist, gibt die DMA-Steuerung 42 zum Zeitpunkt des n-ten Taktzyklus die Anfangsadresse (Adresse D1) in dem DRAM 41 über den Systembus (Adressbus) 13 an das DRAM 41 aus und weist das DRAM 41 an, Daten (Daten A), die in der Adresse gespeichert sind, zu lesen.
  • Zu diesem Zeitpunkt erfährt das DRAM 41 einen Seitenbruch für eine bestimmte Zeitdauer, d. h. vier Taktpulse bei der dargestellten Ausführungsform, und unterbricht seinen Betrieb virtuell. Das DRAM 41 ist nicht in der Lage, die Daten (Daten A) an den Systembus (Datenbus) 13 bis zu einem Punkt unmittelbar vor dem Zeitpunkt des (n + 3)-ten Taktzyklus auszugeben.
  • Dann zum Zeitpunkt des (n + 1)-ten Taktzyklus gibt die DMA-Steuerung die Anfangsadresse (Adresse S1) des SRAM 33 und eine Datengröße über den Systembus (Adressbus) 13 an den Adresszähler 36 aus. Der Adresszähler 36 stellt die Adresse S1 als Anfangswert ein und gibt die Adresse S1 als eine Schreibadresse an das SRAM 33 aus. Daher, wenn das SRAM 33 nachfolgend Daten aus dem DRAM 41 empfängt, kann das SRAM 33 die empfangenen Daten in die Schreibadresse schreiben.
  • Zum Zeitpunkt des (n + 3)-ten Taktzyklus nimmt das DRAM 41 seinen Betrieb nach dem Seitenbruch wieder auf und liest die Daten A von der Anfangsadresse (Adresse D1) des DRAM 41 und gibt die Daten A an den Systembus (Datenbus) 13 aus. Da dem SRAM 33 bereits die Schreibadresse S1 bereitgestellt worden ist, speichert das SRAM 33 die Daten A an der Adresse S1.
  • Zum Zeitpunkt des (n + 4)-ten Taktzyklus gibt die DMA-Steuerung 42 eine Adresse (Adresse D2) als eine zu der Anfangsadresse nächsten Adresse des DRAM 41 als eine Leseadresse an den Systembus (Adressbus) 13 aus, und weist das DRAM 41 an, Daten B, die in der Adresse D2 gespeichert sind, zu lesen. Als Antwort auf den Befehl liest das DRAM 41 die Daten B von der Adresse D2 aus und gibt die Daten B an den Systembus (Datenbus) 13 aus. Zur gleichen Zeit inkrementiert der Adresszähler 36 die gespeicherte Adresse S1 in eine Adresse S2 und gibt die Adresse S2 an das SRAM 33 aus. Da die DMA-Steuerung 42 das SRAM 33 anweist, die Daten B zur gleichen Zeit zu schreiben, speichert das SRAM 33 die Daten B an der Adresse S2.
  • Da die DMA-Steuerung 42 von dem Zeitpunkt des (n + 1)-ten Taktzyklus keine Adressen ausgibt, wenn sie die Adresse S1 zu dem Zeitpunkt des (n + 4)-ten Taktzyklus ausgibt, wenn sie die Adresse S2 ausgibt, liegen keine effektiven Adressen auf dem Systembus (Adressbus) 13 zum Zeitpunkt des (n + 2)-ten Taktzyklus und zum Zeitpunkt des (n + 3)-ten Taktzyklus vor.
  • Zum Zeitpunkt des (n + 5)-ten Taktzyklus und den nachfolgenden Taktzyklen sowie zum Zeitpunkt des (n + 4)-ten Taktzyklus werden Daten von dem DRAM 41 an das SRAM 33 übertragen. Wenn das SRAM 33 die Daten der vorgegebenen Größe, d. h. Daten an sieben Adressen in der dargestellten Ausführungsform (die Daten A–G) speichert, ist die Übertragung der Daten gemäß dem DMA-Datenübertragungsprozess vollständig.
  • Auf diese Weise erzeugt der Adresszähler 36, nachdem die DMA-Steuerung 42 den Adresszähler 36 auf die Anfangsadresse des SRAM 33 einstellt, Schreibadressen für das SRAM 33 und gibt die erzeugten Schreibadressen an das SRAM 33 aus. Folglich wird von der DMA-Steuerung 42 nicht verlangt, die Schreibadressen an das SRAM 33 auszugeben, sondern muss nur die Leseadressen für das DRAM 41 an den Systembus (Adressbus) 13 ausgeben.
  • Die DMA-Steuerung 42 ist somit in der Lage, Daten gemäß dem DMA-Datenübertragungsprozess von dem DRAM 41 an das SRAM 33 zum Zeitpunkt eines Taktzyklus zu übertragen. Während in dem DRAM 41 ein Seitenbruch erfolgt, gibt die DMA-Steuerung 42 eine Anfangsadresse des SRAM 33 an den Adresszähler 36 aus. Daher kann der Überschuss bei dem ersten Datenübertragungszyklus auf ein Minimum begrenzt werden.
  • In der obigen Beschreibung ist der Adresszähler 36 aufgebaut, um Schreibadressen (Adressen für das SRAM 33) zu erzeugen. Jedoch kann der Adresszähler 36 aufgebaut sein, um Leseadressen (Adressen für das DRAM 41) zu erzeugen.
  • Wie oben beschrieben, überträgt die CPU 31, wenn das SRAM 33 nicht notwendige Daten speichert, die Daten von dem DRAM 41 an das SRAM 33 gemäß dem DMA-Datenübertragungsprozess. Nachfolgend greift die CPU 31 auf das SRAM 33 zu und liest die Daten aus dem SRAM 33 aus.
  • Wenn die CPU 31 nicht viele Male auf das SRAM 33 (DRAM 41) zugreifen muss, d. h. die Größe der durch die CPU 31 benötigten Daten relativ gering ist, kann es in Anbetracht der für das Übertragen der Daten zwischen dem DRAM 41 und dem SRAM 33 benötigten Zeit schneller sein, wenn die CPU 31 direkt auf das DRAM 41 zugreift, um daraus die Daten auszulesen, als die Daten über das SRAM 33 auszulesen.
  • 4A zeigt ein Zeitablauf-Diagramm eines Prozesses, bei dem die CPU 31 Daten aus dem DRAM 41 über das SRAM 33 ausliest, wenn die Menge von Daten, die durch die CPU 31 verarbeitet wird, relativ gering ist. 4B zeigt ein Zeitablaufs-Diagramm eines Prozesses, bei dem die CPU 31 direkt auf das DRAM 41 zugreift, um daraus Daten auszulesen.
  • Das Zeitablauf-Diagramm, das in 4A gezeigt ist, stellt einen Prozess dar, bei dem die CPU 31 auf das SRAM 33 zugreift und ein bestimmtes Programm ausführt. In dem in 4A gezeigten Beispiel liest das durch die CPU 31 ausgeführte Programm bestimmte Daten, verarbeitet die gelesenen Daten und speichert die verarbeiteten Daten in dem DRAM 41. Der Prozess, der in 4A dargestellt ist, wird nachfolgend beschrieben.
  • Zu einem Zeitpunkt T1 in 4A fordert die CPU 31 das Übertragen von Daten von dem DRAM 41 an das SRAM 33 gemäß dem DMA-Datenübertragungsprozess von der DMA-Steuerung 42 an. Abhängig von der Anfrage von der CPU 31 fordert die DMA-Steuerung 42 das Recht, den Systembus 13 zu verwenden, und startet die Übertragung von Daten von dem DRAM 41 an das SRAM 33 gemäß dem DMA-Datenübertragungsprozess.
  • Zu einem Zeitpunkt T2 beendet die DMA-Steuerung 42 die Übertragung von Daten von dem DRAM 41 zu dem SRAM 33. Zu einem nächsten Zeitpunkt T3 greift die CPU 31 auf das SRAM 33 zu und beginnt das Lesen der übertragenen Daten über den CPU-Bus 12.
  • Zu einem Zeitpunkt T4 beendet die CPU 31 das Auslesen der Daten von dem SRAM 33 und beginnt das Verarbeiten der ausgelesenen Daten. Wenn die CPU 31 die Verarbeitung der Daten zu einem Zeitpunkt T5 beendet, beginnt die CPU 31, die verarbeiteten Daten in dem SRAM 33 über den CPU-Bus 12 zu speichern. Zu einem nächsten Zeitpunkt T6, wenn die CPU 31 das Speichern der verarbeiteten Daten in dem SRAM 33 beendet, fragt die CPU 31 bei der DMA-Steuerung 42 an, das Recht zur Verwendung des Systembusses 13 zu erhalten. Zu einem Zeitpunkt T7 beginnt die DMA-Steuerung 42 das Übertragen der verarbeiteten Daten von dem SRAM 33 zu dem DRAM 41 gemäß dem DMA-Datenübertragungsprozess. Zu einem Zeitpunkt T8 beendet die DMA-Steuerung 42 die Übertragung der Daten von dem SRAM 33 zu dem DRAM 41.
  • Das Zeitablauf-Diagramm, das in 4B gezeigt ist, stellt einen Prozess dar, bei dem die CPU 31 direkt auf das DRAM 41 über den Bitkonvertierer 35 zugreift und ein bestimmtes Programm ausführt. Bei diesem Beispiel ist das durch die CPU 31 ausgeführte Programm dasselbe wie das Programm in dem Beispiel, das in 4A gezeigt ist. D. h. das Programm, das durch die CPU 31 ausgeführt wird, liest bestimmte Daten, verarbeitet die ausgelesenen Daten und speichert die verarbeiteten Daten in dem DRAM 41. Der Prozess, der in 4B gezeigt ist, wird nachfolgend beschrieben.
  • Zu einem Zeitpunkt T11 greift die CPU 31 auf das DRAM 41 über den Bitkonvertierer 35 zu und startet das Auslesen von bestimmten Daten aus dem DRAM 41. Der Bitkonvertierer 35 dient dazu, die Bitbreite (128 Bits) der aus dem DRAM 41 ausgelesenen Daten in eine Bitbreite (32 Bits) zu konvertieren, die der Bitbreite des CPU-Bus 12 entspricht. Die Daten, die die CPU 31 aus dem DRAM 41 in dem in 4B gezeigten Beispiel ausliest, sind die gleichen wie die Daten, die die CPU 31 von dem SRAM 33 in dem Beispiel, das in 4A gezeigt ist, ausliest.
  • Zu einem Zeitpunkt T12 beendet die CPU 31 das Auslesen von Daten aus dem DRAM 41 und beginnt das Verarbeiten der ausgelesenen Daten. Die CPU 31 verarbeitet die Daten für eine Verarbeitungszeitdauer (von dem Zeitpunkt T12 bis zu dem Zeitpunkt T13), die der Verarbeitungszeitdauer (von dem Zeitpunkt T4 bis zu dem Zeitpunkt T5) in dem Beispiel, das in 4A gezeigt ist, entspricht. Die verarbeiteten Daten, die durch die CPU 31 erzeugt werden, sind die gleichen wie die verarbeiteten Daten, die durch die CPU 31 in dem in 4A gezeigten Beispiel erzeugt werden.
  • Zu einem Zeitpunkt T13 gibt die CPU 31 die verarbeiteten Daten über den Bitkonvertierer 35 an das DRAM 41 aus und beginnt das Speichern der verarbeiteten Daten in dem DRAM 41. Der Bitkonvertierer 35 konvertiert die Bitbreite der Daten von der CPU 31 zu einer Bitbreite, die der Bitbreite des Systembusses 13 entspricht und gibt die Daten mit der konvertierten Bitbreite an das DRAM 41 aus. Zu einem Zeitpunkt T14 beendet die CPU 31 das Schreiben der Daten in das DRAM 41.
  • Die Gesamtverarbeitungszeiten des Programms in den in den 4A und 4B gezeigten Beispielen werden miteinander wie folgt verglichen: In dem in 4A gezeigten Beispiel beträgt die Verarbeitungszeit t1 (von dem Zeitpunkt T1 zum Zeitpunkt T8). In dem in 4B gezeigten Beispiel beträgt die Verarbeitungszeit t10 (von dem Zeitpunkt T11 zum Zeitpunkt T14). In den in den 4A und 4B gezeigten Beispielen ist die Zeit t1 länger als die Zeit t10. Daher ist die Gesamtverarbeitungszeit des Programms bei dem in 4B gezeigten Beispiel geringer als die Gesamtverarbeitungszeit des Programms in dem in 4A gezeigten Beispiel.
  • Wenn, wie oben beschrieben ist, die Größe der zu verarbeitenden Daten geringer ist, d. h. wenn die Anzahl, während der auf das DRAM 41 zugegriffen wird, geringer ist, ist die benötigte Verarbeitungszeit geringer, wenn die CPU 31 direkt auf das DRAM 41 über den Bitkonvertierer 35 zugreift, um Daten zu verarbeiten, als wenn die CPU 31 auf das SRAM 33 zum Verarbeiten der Daten zugreift.
  • Während die vorliegende Erfindung mit Bezug auf ein Videounterhaltungssystem beschrieben worden ist, sind die Prinzipien der vorliegenden Erfindung auch auf vielfältige andere Informationsverarbeitungsvorrichtungen anwendbar.
  • Ein Bereitstellungsmedium zum Bereitstellen eines Computerprogramms und/oder Daten, die die obige Verarbeitung für einen Benutzer ausführt, kann eines der vielfältigen Informationsaufzeichnungsmedien einschließlich einer Magnetplatte, einer CD-ROM, eines Festkörperspeichers usw. sowie eines der mehreren Informationsübertragungsmedien, die in Netzwerken und Satellitensystemen usw. verwendet werden, umfassen.
  • Obwohl eine bestimmte bevorzugte Ausführungsform der vorliegenden Erfindung gezeigt und ausführlich beschrieben worden ist, ist es selbstverständlich, dass vielfältige Änderungen und Modifikationen vorgenommen werden können, ohne von dem Bereich der beigefügten Ansprüche abzuweichen.

Claims (4)

  1. Vorrichtung zum Verarbeiten von Informationen, umfassend: eine erste Speichereinrichtung (41) zum Speichern von Programmen und Daten; einen ersten Bus (13), mit dem die erste Speichereinrichtung (41) verbunden ist, eine erste Steuereinrichtung (42) zum Steuern der ersten Speichereinrichtung (41); eine zweite Steuereinrichtung (31) zum Steuern zumindest der ersten Steuereinrichtung (42); einen zweiten Bus (12), mit dem die zweite Steuereinrichtung (31) verbunden ist; eine zweite Speichereinrichtung (33), die mit dem ersten Bus (13) und dem zweiten Bus (12) verbunden ist, um in der ersten Speichereinrichtung (41) gespeicherte Daten, die der zweiten Steuereinrichtung (31) zur Verfügung gestellt werden sollen, zwischenzuspeichern; und eine dritte Speichereinrichtung (34), die mit dem ersten Bus (13) und dem zweiten Bus (12) verbunden ist, um Programme von den in der ersten Speichereinrichtung (41) gespeicherten Programmen, die der zweiten Steuereinrichtung (31) bereitgestellt werden sollen, zu speichern; dadurch gekennzeichnet, dass die Vorrichtung zum Verarbeiten von Informationen weiterhin eine Adresserzeugungseinrichtung (36) umfasst, die mit dem ersten Bus (13) und der zweiten Speichereinrichtung (33) verbunden ist, wobei die erste Steuereinrichtung (42) eine Anfangsleseadresse, die durch die zweite Steuereinrichtung (31) angefordert wird, an die erste Speichereinrichtung (41) gemäß einer Anfrage von der zweiten Steuereinrichtung (31) ausgibt, wobei die erste Steuereinrichtung (42) weiterhin eine Anfangsschreibadresse und eine Datengröße, die von der zweiten Steuereinrichtung (31) gefordert wird, an die Adresserzeugungseinrichtung (36) ausgibt, wobei die Adresserzeugungseinrichtung (36) die Anfangsschreibadresse als die letzte Anfangsschreibadresse speichert und die Anfangsschreibadresse an die zweite Speichereinrichtung (33) ausgibt, wobei die erste Speichereinrichtung (41) Daten aus der Anfangsleseadresse ausliest und die Daten an den ersten Bus (13) ausgibt, wobei die zweite Speichereinrichtung (33) die Daten, die an den ersten Bus (13) ausgegeben werden, von der Anfangsschreibadresse schreibt, wobei nach dem Speichern der letzten Anfangsschreibadresse die Adresserzeugungseinrichtung (36) eine neue Anfangsschreibadresse erzeugt, indem die letzte Anfangsschreibadresse entsprechend einer weiteren von der ersten Steuereinrichtung (42) an die erste Speichereinrichtung (41) ausgegebenen Anfangsleseadresse aktualisiert wird, wobei die Adresserzeugungseinrichtung (36), die erzeugte neue Anfangsschreibadresse als die neue letzte Anfangsschreibadresse speichert und die erzeugte neue Anfangsschreibadresse an die zweite Speichereinrichtung (33) ausgibt; und wobei die Vorrichtung eine Konvertierungseinrichtung (35) umfasst, die mit dem ersten Bus (13) und dem zweiten Bus (12) verbunden ist, um die Bitbreite der durch den ersten Bus (13) empfangenen Daten in eine Bitbreite zu konvertieren, die der Bitbreite des zweiten Busses (12) entspricht, wobei die zweite Steuereinrichtung (31) Daten, die in der ersten Speichereinrichtung (41) gespeichert sind, über die Konvertierungseinrichtung (35) ausliest, wenn eine von der zweiten Steuereinrichtung (31) zu verarbeitende Datengröße klein ist und t1 > t10 ist, wobei eine Verarbeitungszeit, die eine Zeitdauer der Datenübertragung über die erste Steuereinrichtung (42) umfasst, t1 beträgt und eine Verarbeitungszeitdauer, die eine Zeitdauer der Datenübertragung über die Konvertierungseinrichtung (35) umfasst, t10 beträgt.
  2. Verfahren zum Verarbeiten einer Information in einer Informationsverarbeitungseinrichtung mit einer ersten Speichereinrichtung (41) zum Speichern von Programmen und Daten, einem ersten Bus (13), mit dem die erste Speichereinrichtung (41) verbunden ist; einer ersten Steuereinrichtung (42) zum Steuern der ersten Speichereinrichtung (41); eine zweite Steuereinrichtung (31) zum Steuern von zumindest der ersten Steuereinrichtung (42); einen zweiten Bus (12), mit dem die zweite Steuereinrichtung (31) verbunden ist; einer zweiten Speichereinrichtung (33), die mit dem ersten Bus (13) und dem zweiten Bus (12) verbunden ist; eine dritte Speichereinrichtung (34), die mit dem ersten Bus (13) und dem zweiten Bus (12) verbunden ist; und eine Konvertierungseinrichtung (35), die mit dem ersten Bus (13) und dem zweiten Bus (12) verbunden ist, um die Bitbreite der über den ersten Bus (13) empfangenen Daten in eine Bitbreite zu konvertieren, die der Bitbreite des zweiten Busses (12) entspricht, wobei das Verfahren die Schritte umfasst: Zwischenspeichern der Daten in der zweiten Speichereinrichtung (33), die den in der Speichereinrichtung (41) gespeicherten Daten und den der zweiten Steuereinrichtung (31) bereitgestellten Daten entsprechen; und Speichern von Programmen aus den Programmen, die in der ersten Speichereinrichtung (41) gespeichert sind, in der dritten Speichereinrichtung (34), wobei die Programme der zweiten Steuereinrichtung (31) bereitgestellt werden sollen; wobei die erste Steuereinrichtung (42) eine Anfangsleseadresse, die von der zweiten Steuereinrichtung (31) angefordert wird, an die erste Speichereinrichtung (41) gemäß einer Anfrage von der zweiten Steuereinrichtung (31) ausgibt; wobei die erste Steuereinrichtung (42) eine Anfangsschreibadresse und eine Datengröße, die von der zweiten Steuereinrichtung (31) angefordert wird, an eine Adresserzeugungseinrichtung (36) ausgibt, die mit dem ersten Bus (13) und der zweiten Speichereinrichtung (33) verbunden ist; wobei die Adresserzeugungseinrichtung (36) eine Anfangsschreibadresse als die letzte Anfangsschreibadresse speichert und die Anfangsschreibadresse an die zweite Speichereinrichtung (33) ausgibt; wobei die erste Speichereinrichtung (41) die Daten von der Anfangsleseadresse ausliest und die Daten an den ersten Bus (13) ausgibt; wobei die zweite Speichereinrichtung (33) die Daten schreibt, die an den ersten Bus (13) von der Anfangsschreibadresse ausgegeben werden; wobei nach dem Speichern der letzten Anfangsschreibadresse die Adresserzeugungseinrichtung (36) eine neue Anfangsschreibadresse erzeugt, indem die letzte Anfangsschreibadresse entsprechend einer weiteren von der ersten Steuereinrichtung (42) an die erste Speichereinrichtung (41) ausgegebenen Anfangsleseadresse aktualisiert wird; wobei die Adresserzeugungseinrichtung (36) die erzeugte neue Anfangsschreibadresse als eine neue letzte Anfangsschreibadresse speichert und die erzeugte neue Anfangsschreibadresse an die zweite Speichereinrichtung (33) ausgibt; und wobei die Bitbreite der über den ersten Bus (13) von der ersten Speichereinrichtung (41) empfangenen Daten in eine Bitbreite konvertiert wird, die einer Bitbreite des zweiten Busses (12) entspricht, um die von der zweiten Steuereinrichtung (33) auszulesenden Daten zu bilden, wenn eine durch die zweite Steuereinrichtung (31) zu verarbeitende Datengröße klein ist und t1 > t10 ist, wobei t1 der Verarbeitungszeitdauer entspricht, die eine Zeitdauer der Datenübertragung über die erste Steuereinrichtung (42) umfasst, und t10 einer Verarbeitungszeitdauer entspricht, die eine Zeitdauer der Datenübertragung über die Konvertierungseinrichtung (35) umfasst.
  3. Computerprogramm mit einem Programmcode zum Ausführen aller Schritte des Verfahrens nach Anspruch 2.
  4. Bereitstellungsmedium, das ein Computerprogramm nach Anspruch 3 bereitstellt.
DE69932891T 1998-07-03 1999-06-29 Informationsverarbeitungsgerät und -verfahren, und Darstellungsmedium Expired - Lifetime DE69932891T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP18862298 1998-07-03
JP18862298A JP3803196B2 (ja) 1998-07-03 1998-07-03 情報処理装置、情報処理方法および記録媒体

Publications (2)

Publication Number Publication Date
DE69932891D1 DE69932891D1 (de) 2006-10-05
DE69932891T2 true DE69932891T2 (de) 2007-03-08

Family

ID=16226916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69932891T Expired - Lifetime DE69932891T2 (de) 1998-07-03 1999-06-29 Informationsverarbeitungsgerät und -verfahren, und Darstellungsmedium

Country Status (4)

Country Link
US (1) US6567908B1 (de)
EP (1) EP0969384B1 (de)
JP (1) JP3803196B2 (de)
DE (1) DE69932891T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
ATE557343T1 (de) 1998-08-24 2012-05-15 Microunity Systems Eng Prozessor und verfahren zur durchführung eines breitschaltungsbefehls mit breitem operand
US7932911B2 (en) * 1998-08-24 2011-04-26 Microunity Systems Engineering, Inc. Processor for executing switch and translate instructions requiring wide operands
JP2001188748A (ja) * 1999-12-27 2001-07-10 Matsushita Electric Ind Co Ltd データ転送装置
US6615890B1 (en) * 2000-06-09 2003-09-09 Venture Tape Corp. Tape applicator for glazing applications
JP2015053095A (ja) * 2013-09-09 2015-03-19 ソニー株式会社 メモリ、メモリシステムおよびメモリの制御方法
US9785565B2 (en) 2014-06-30 2017-10-10 Microunity Systems Engineering, Inc. System and methods for expandably wide processor instructions
RU188931U1 (ru) * 2018-11-06 2019-04-29 Федеральное государственное бюджетное образовательное учреждение высшего образования "Тульский государственный университет" Устройство преобразования интерфейсов

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4534011A (en) * 1982-02-02 1985-08-06 International Business Machines Corporation Peripheral attachment interface for I/O controller having cycle steal and off-line modes
GB8609848D0 (en) * 1986-04-23 1986-05-29 British Petroleum Co Plc Transfer mechanism
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
WO1993018459A1 (en) * 1992-03-06 1993-09-16 Rambus Inc. Prefetching into a cache to minimize main memory access time and cache size in a computer system
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5437042A (en) * 1992-10-02 1995-07-25 Compaq Computer Corporation Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
CA2148186A1 (en) * 1994-05-04 1995-11-05 Michael T. Jackson Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system
US5619728A (en) * 1994-10-20 1997-04-08 Dell Usa, L.P. Decoupled DMA transfer list storage technique for a peripheral resource controller
JPH08147241A (ja) * 1994-11-22 1996-06-07 Seiko Epson Corp 情報処理装置およびその構成方法
JP3789998B2 (ja) * 1997-01-17 2006-06-28 株式会社ルネサステクノロジ メモリ内蔵プロセサ

Also Published As

Publication number Publication date
DE69932891D1 (de) 2006-10-05
EP0969384A3 (de) 2001-11-21
EP0969384A2 (de) 2000-01-05
EP0969384B1 (de) 2006-08-23
JP3803196B2 (ja) 2006-08-02
JP2000020451A (ja) 2000-01-21
US6567908B1 (en) 2003-05-20

Similar Documents

Publication Publication Date Title
DE69232458T2 (de) Programmierbare Zeitsteuerung für Speicher
DE3909896C2 (de)
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE69132195T2 (de) System für verteilte Mehrfachrechnerkommunikation
DE69707688T2 (de) Speichersteuerungseinheit zur optimalen ausführung von speichersteuerungsabfolgen zwischen verschiedenen speicherbanken
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE4100670C2 (de) Halbleiterspeichervorrichtung mit eingebautem Cache-Speicher und Verfahren zum Betreiben einer solchen
DE68928040T2 (de) Pufferspeichersubsystem für Peripheriesteuerungen und Verfahren
DE3885985T2 (de) Speichersteueranordnung für ein Daten verarbeitendes System.
DE10059596A1 (de) Verfahren zur Zeiteinstellung eines Systemspeichers
DE102006002526A1 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE69422221T2 (de) Genaue und komplette Übertragung zwischen verschiedenen Busarchitekturen
DE69932891T2 (de) Informationsverarbeitungsgerät und -verfahren, und Darstellungsmedium
DE69123987T2 (de) Stossbetrieb für Mikroprozessor mit externem Systemspeicher
DE602004012310T2 (de) Speicherschnittstelle für systeme mit mehreren prozessoren und einem speichersystem
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE60027357T2 (de) Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet
DE3943095A1 (de) Einrichtung und verfahren zum zuordnen verfuegbaren speicherraums zum systemspeicherraum in einem computersystem
DE10125724A1 (de) Speichersystem, Speicherbauelement und Speicherdatenzugriffsverfahren
DE102004050037B4 (de) Speicherbauelement, Speichersystem und Betriebsmodussetzverfahren
DE69033416T2 (de) Hauptspeicherkarten mit Einzelbit-Setz- und Rücksetz-Funktion
DE69432063T2 (de) Bussteuereinrichtung
DE3787283T2 (de) Integrales Eingang-Ausgangssystem für Rastabtast-Druckeinheit.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition