DE69736106T2 - Rechnersystem mit an einen echtzeit-datencachespeicher gekoppelter multimediaeinheit - Google Patents

Rechnersystem mit an einen echtzeit-datencachespeicher gekoppelter multimediaeinheit Download PDF

Info

Publication number
DE69736106T2
DE69736106T2 DE69736106T DE69736106T DE69736106T2 DE 69736106 T2 DE69736106 T2 DE 69736106T2 DE 69736106 T DE69736106 T DE 69736106T DE 69736106 T DE69736106 T DE 69736106T DE 69736106 T2 DE69736106 T2 DE 69736106T2
Authority
DE
Germany
Prior art keywords
multimedia
memory
data
input
real
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
DE69736106T
Other languages
English (en)
Other versions
DE69736106D1 (de
Inventor
Dale Austin GULICK
Andy Austin LAMBRECHT
Mike Austin WEBB
Larry Austin Hewitt
Brian Round Rock BARNES
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE69736106D1 publication Critical patent/DE69736106D1/de
Application granted granted Critical
Publication of DE69736106T2 publication Critical patent/DE69736106T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7857Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using interleaved memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7846On-chip cache and off-chip main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7864Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip

Landscapes

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

Description

  • Gebiet der Gebiet
  • Die vorliegende Erfindung betrifft ein Computersystem mit einer speziellen Multimediaverarbeitungseinrichtung bzw. Maschine und einem Echtzeitdatencache-Speicher, der lokal für die Multimediamaschine vorgesehen ist.
  • Beschreibung des Stands der Technik
  • Computerarchitekturen enthalten im Allgemeinen eine Vielzahl von Einrichtungen, die durch einen oder mehrere diverse Busse angeschlossen sind. Beispielsweise enthalten moderne Computersysteme typischerweise eine zentrale Recheneinheit (CPU), die über eine Brückenlogik mit dem Hauptspeicher verbunden ist. Die Brückenlogik ist ferner mit einem lokalen Erweiterungsbus mit großer Bandbreite, etwa den peripheren Komponentenverbindung- (PCI) Bus oder dem Videoelektronikstandardverbindungs-(VESA) VL-Bus, verbunden. Zu Beispielen von Einrichtungen, die mit lokalen Erweiterungsbussen angeschlossen werden können, gehören Videobeschleunigerkarten, Klangkarten, Telefonkarten, Kleincomputersystemschnittstellen- (SCSI) Adapter, Netzwerkschnittstellenkarten, etc. Ein zweiter Erweiterungsbus kann mit dem lokalen Erweiterungsbus aus Gründen der Rückwärtskompatibilität verbunden sein. Zu Beispielen dieser Erweiterungsbusse gehören der Industriestandardarchitektur- (ISA) Bus, der erweiterte Industriestandardarchitektur- (EISA) Bus und der Mikrokanalarchitektur- (MCA) Bus. Es können diverse Geräte an den zweiten Erweiterungsbus angeschlossen werden, wozu ein Fax/Modem, eine Klangkarte, etc. gehören.
  • Personalcomputersysteme wurden ursprünglich für Geschäftsanwendungen, etwa die Textverarbeitung und von Tabellenkalkulationsanwendungen entwickelt, um nur einige zu nennen. Aktuell werden Computersysteme jedoch auch verwendet, um eine Reihe von Echtzeitanwendungen zu betreiben, wozu Multimedianwendungen mit Video- und Audiokomponenten, Bildaufnahme- und Abspielen, Telefonanwendungen und Spracherkennung und Synthese u. a. gehören. Diese Echtzeitanwendungen benötigen typischerweise einen großen Anteil der Systemressourcen und der Bandbreite.
  • Ein dabei auftretendes Problem besteht darin, dass Computersysteme ursprünglich für Geschäftsanwendungen gestaltet sind und für die Echtzeiterfordernisse moderner Multimediaanwendungen nicht gut geeignet sind. Beispielsweise wird in modernen Personalcomputersystemarchitekturen angenommen, dass die Mehrzahl der Anwendungen, die gerade in dem Computersystem ausgeführt werden, keine Echtzeitgeschäftsanwendungen sind, etwa die Textverarbeitung und/oder die Tabellenkalkulation, die hauptsächlich in der Haupt-CPU ausgeführt werden. Im Allgemeinen wurden Computersysteme im Allgemeinen so gestaltet, dass Multimediahardwarekomponenten nicht Teil des Systems sind, und daher ist dieses System für Multimediaanwendungen nicht optimiert. Vielmehr ist die Multimediahardware typischerweise als eine Zusatzkarte für das optionale Einfügen in einen Erweiterungsbus des Computersystems ausgestaltet.
  • In vielen Fällen sind Multimediahardwarekarten an einen Erweiterungsbus angeschlossen, besitzen jedoch nicht den erforderlichen Zugriff zu dem Systemspeicher und zu anderen Systemressourcen, um eine geeignete Betriebsweise zu ermöglichen. Beispielsweise muss eine Multimediahardwarekarte, die an den lokalen Erweiterungsbus angeschlossen ist, zunächst auf die Zuteilung für die Steuerung des lokalen Erweiterungsbusses warten, bevor die Einrichtung auf den Systemspeicher zugreifen kann. Da ferner die Computersystemarchitektur nicht für Multimedia optimiert ist, verwenden Multimediahardwarekarten im Allgemeinen die Systemressourcen nicht in effizienter Weise. Beispielsweise enthalten Multimediahardwarekarten üblicherweise ihren eigenen Speicher zusätzlich zu dem Systemspeicher. Beispielsweise sind Videobeschleunigerkarten typischerweise mit 1 bis 4 Megabit an Video-RAM ausgestattet. Klangkarten, Videoaufnahmekarten und andere Multimediakarten sind ebenso mit einem entsprechenden internen Speicher versehen. Dieses Erfordernis eines zusätzlichen Speichers kann unerwünschterweise zu höheren Kosten des Systems beitragen.
  • In dem Maße, wie Multimediaanwendungen zunehmen, wird die Multimediahardware zu einer wesentlichen Komponente in Personalcomputersystemen. Daher ist eine verbesserte Computersystemarchitektur wünschenswert, die für Echtzeitmultimediaanwendungen sowie für Nichtechtzeitanwendungen optimiert ist. Ferner sind verbesserte Verfahren zum Übertragen von Echtzeitdaten an die Multimediahardware wünschenswert.
  • WO 94/10641 offenbart ein bekanntes Multimediasystem mit den Merkmalen des Oberbegriffs des Anspruchs 1.
  • 1996 IEEE internationale Halbleiterschaltungskonferenz, ISSGC96/Sitzung 13/Mikroprozessoren, Dokument FP 13.6 „Ein für Multimediaanwendungen x86-Prozessor" von Forrest Norrod et al. offenbart eine bekannte x86-kompatible CPU mit Multimediafunktion.
  • Überblick über die Erfindung
  • Die vorliegende Erfindung umfasst ein Computersystem und ein Verfahren, die für Echtzeitmultimediaanwendungen optimiert sind. Das Computersystem umfasst eine spezielle Multimediamaschine bzw. Multimediaeinheit, die mit einem Echtzeitdatencache-Speicher verbunden ist, wobei die Multimediamaschine und der Echtzeitdatencache-Speicher ein höheres Leistungsvermögen gegenüber aktuellen Computerarchitekturen bereitstellen. Die Multimediamaschine führt eine Reihe von Echtzeitoperationen einschließlich von Audio- und Videofunktionen aus. Die Multimediamaschine erhält Befehle und Daten aus dem Hauptspeicher und/oder aus dem Echtzeitdatencache-Speicher. Die Multimediamaschine kann einen Multimediaspeicher und eine Speichersteuerung und möglicherweise eine DMA-Steuerung für eine noch größere Leistungssteigerung aufweisen.
  • Das Computersystem umfasst eine CPU, die über eine Chipsatzlogik mit dem Hauptspeicher verbunden ist. Die Chipsatzlogik umfasst eine Hauptspeichersteuerung sowie weitere unterstützende Logikkomponenten. Eine Multimediamaschine ist über einen Echtzeitdatencache-Speicher mit der Chipsatzlogik verbunden. Die Multimediamaschine kann optional direkt mit dem Hauptspeicher verbunden sein. Die Multimediamaschine umfasst Anschlüsse bzw. Ports zur Verbindung mit einer oder mehreren der folgenden Komponenten: einem Videomonitor, einem Audio-Digital-Analog-Wandler (DAC) und/oder anderen Kommunikationseinrichtungen. Die Chipsatzlogik ist mit einem lokalen Erweiterungsbus (vorzugsweise dem PCI-Bus) verbunden. Es können diverse periphere Einrichtungen mit dem lokalen Erweiterungsbus einschließlich einer Festplatte, einer Netzwerkschnittstellenkarte, einer Kommunikationslogik, etc. verbunden werden.
  • Der Echtzeitdatencache-Speicher, der zwischen der Multimediamaschine und der Chipsatzlogik angeschlossen ist, ermöglicht es, dass Multimediabefehle und Daten in anderen Stellen als dem Hauptspeicher gespeichert werden. In einer Ausführungsform ist die Multimediamaschine direkt mit dem Hauptspeicher verbunden, und der Echtzeitdatencache-Speicher ermöglicht das gemeinsame Nutzen gespeicherter Multimediadaten durch die CPU und die Multimediamaschine. Im hierin definierten Sinne bezeichnet der Begriff "Multimedia" Video-, Audio-, Graphik- und Kommunikationsinformation sowie andere Arten an Echtzeitinformationen. Die Quelle der in dem Echtzeitdatencache-Speicher gespeicherten Multimediadaten kann eine Einrichtung sein, die mit einem Erweiterungsbus verbunden ist. In einer weiteren Ausführungsform ist die Multimediamaschine nicht direkt mit dem Hauptspeicher verbunden, und der Echtzeitdatencache-Speicher speichert Multimediabefehle und Daten, die von dem Hauptspeicher erhalten werden, zur Verwendung für die Multimediamaschine. In diesem Falle kann die Quelle der Multimediainformationen (d. h. der Befehle und der Daten) eine Einrichtung sein, die mit einem Erweiterungsbus, der CPU oder dem Hauptspeicher verbunden ist. Der Echtzeitdatencache-Speicher reduziert die Zeit, die für die Multimediamaschine erforderlich ist, um auf die erforderlichen Multimediadaten zuzugreifen, und reduziert ferner das Einladen in den Hauptspeicher.
  • Die Multimediamaschine umfasst eine oder mehrere DSP-Einheiten bzw. Maschinen, die DSP-Maschinen für Allgemeinzwecke oder entsprechende Audio- und Videomaschinen sein können. Die eine oder die mehreren DSP-Maschinen sind über einen oder mehrere I/O- (Eingabe/Ausgabe-) Kanäle mit entsprechenden I/O- (Eingabe/Ausgabe) Anschlüssen einschließlich von Video-, Audio- und Kommunikationsanschlüssen verbunden. Die Video-I/O-Anschlüsse sind so ausgebildet, dass sie mit einem Videomonitor verbunden werden, und die Audio-I/O-Anschlüsse sind für eine Anschluss an einen Audio-DAC- und/oder Lautsprecher ausgebildet.
  • Gemäß der vorliegenden Erfindung erzeugt die CPU Multimediabefehle und Daten oder überträgt diese zu einem zugeordneten Multimediaadressenraum in dem Hauptspeicher. Die CPU gruppiert Multimediabefehle und Daten in separate Multimediabefehls- und Datenelemente. Die CPU schreibt dann die Multimediabefehls- und Datenelemente zusammen mit einer Information über die Position der Elemente in Speicherstellen innerhalb des Multimediaadressenraumes. Die Information zur Lage der Elemente umfasst die Adressenoffsetzahlen der Elemente innerhalb des Multimediaadressenraums. Die Multimediamaschine verwendet die Information über die Position des Elements, um Multimediabefehle und Daten aus dem Hauptspeicher abzurufen.
  • Daher umfasst die vorliegende Erfindung eine neue Computersystemarchitektur und ein Verfahren, die das Leistungsverhalten während Echtzeitmultimediaanwendungen verbessern. Eine zugeordnete Multimediamaschine ist mit dem Hauptspeicher und einem Echtzeitdatencache-Speicher verbunden. Der Echtzeitdatencache-Speicher kann Daten enthalten, die von einer an einen Erweiterungsbus angeschlossenen Einrichtung erzeugt werden. Die CPU kann auf den Echtzeitdatencache-Speicher zugreifen, wenn sie Multimediabefehle und Daten erzeugt. Die CPU schreibt die Multimediabefehle und Daten sowie eine Information über die Lage der Elemente in den Hauptspeicher. Die Multimediamaschine erhält Multimediabefehle und Daten aus dem Hauptspeicher und/oder aus dem Echtzeitdatencache-Speicher nach Bedarf, wobei dies vorzugsweise gleichzeitig mit Operationen der Multimediamaschine stattfindet.
  • Kurze Beschreibung der Zeichnungen
  • Ein besseres Verständnis der vorliegenden Erfindung kann erreicht werden, wenn die folgende detaillierte Beschreibung der bevorzugten Ausführungsform in Verbindung mit den folgenden Zeichnungen studiert wird, in denen:
  • 1 eine Blockansicht einer Ausführungsform eines Computersystems mit einer Multimediamaschine ist, die mit einem Hauptspeicher und einem Echtzeitdatencache-Speicher verbunden ist;
  • 2a eine Blockansicht des Hauptspeichers und eine Ausführungsform der Multimediamaschine ist;
  • 2b eine Blockansicht einer zweiten Ausführungsform der Multimediamaschine mit einem chipinternen Multimediaspeicher und einer Speichersteuerung ist;
  • 2c eine Blockansicht einer dritten Ausführungsform der Multimediamaschine mit einem chipinternen Multimediaspeicher, einer Speichersteuerung und einer DMA-Steuerung ist;
  • 3 eine Blockansicht einer zweiten Ausführungsform eines Computersystems mit einer Multimediamaschine ist, die mit einem Echtzeitdatencache-Speicher verbunden ist;
  • 4 eine Blockansicht einer Ausführungsform der Multimediamaschine in dem Computersystem aus 3 ist; und
  • 5 ein Flussdiagramm des Verfahrens zum Ausführen von Echtzeitmultimediaanwendungen in dem erfindungsgemäßen Computersystem ist.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • Blockdiagramm des Computersystems
  • 1 ist eine Blockansicht einer Ausführungsform eines Computersystems gemäß der vorliegenden Erfindung. Das Computersystem umfasst eine zentrale Recheneinheit (CPU) 102, die über einen Prozessorbus 104 mit einem Chipsatz 106 (d. h. einer Host/PCI/Cache-Brücke) verbunden ist. Der Chipsatz 106 ist vorzugsweise ähnlich zu dem Triton-Chipsatz, der von Intel Corporation erhältlich ist, einschließlich gewisser Modifizierungen, um die Multimediamaschine und den Echtzeitdatencache-Speicher der vorliegenden Erfindung aufzunehmen. Ein Cache-Speicher der Ebene 2 oder L2 (nicht gezeigt) kann mit einer Cache-Steuerung innerhalb des Chipsatz 106 verbunden sein. Der Chipsatz 106 ist über einen Speicherbus 108 mit einem Hauptspeicher 110 verbunden. Der Chipsatz 106 ist ferner über einen Echtzeitdatencache-Speicher 126 mit einer Multimediamaschine 112 verbunden. Eine Verteilungs- bzw. Arbitrationslogikeinheit 107 in dem Chipsatz 106 führt eine Funktionszuteilung zwischen der CPU 102 und der Multimediamaschine 112 in Bezug auf den Zugriff auf den Hauptspeicher 110 aus. Der Hauptspeicher 110 ist vorzugsweise ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM) oder ein erweiterter Datenausgangs- (EDO) Speicher.
  • Die Multimediamaschine 112 ist mit dem Speicherbus 108 und dem Echtzeitdatencache-Speicher 126 verbunden. Die Multimediamaschine 112 ist ausgebildet, Video- und Audioverarbeitungsfunktionen auszuführen, und Multimediaausgangssignale zu einem oder mehreren Eingabe/Ausgabe-Anschlüssen zuzuführen. Wie gezeigt, umfasst die Multimediamaschine 112 vorzugsweise einen Eingabe/Ausgabe- (I/O) Anschluss bzw. Port 172, der für den Anschluss an einen Videomonitor 114 geeignet ist, und einen Eingabe/Ausgabe-Anschluss 174, der zum Anschluss an einen Audio- Codierer/Decodierer (CODEC) einschließlich eines Audio-DAC 115 geeignet ist. Der Audio-DAC 115 kann einen geeigneten D/A-Wandler enthaften, wie er von Crystal Semiconductor, Austin, TX, erhältlich ist. Der Audio-DAX 115 ist mit Lautsprechern 116 verbunden. Die Multimediamaschine 112 kann ferner einen Eingabe/Ausgabe-Anschluss 176 aufweisen, der zum Anschluss an ein Kommunikationsmedium geeignet ist.
  • In einer bevorzugten Ausführungsform umfasst die Multimediamaschine 112 eine Videoverarbeitungsschaltung und/oder Firmware, mit einem Digital-Analog-Wandler mit Speicher mit wahlfreiem Zugriff (RAMDAC) zum Konvertieren von Videodaten in geeignete Analogsignale, vorzugsweise in entsprechende Signale „rot, grün und blau" (RGB), die für die direkte Ausgabe für einen Videomonitor 114 vorgesehen sind. In einer alternativen Ausführungsform enthält die Multimediamaschine eine DSP-Maschine 210, liefert digitale Videopixeldaten über einen I/O-Kanal 220a zu dem Videoeingabe/Ausgabe-Anschluss 172, und ein separater RAMDAC und zugehörige Logikschaltung (nicht gezeigt) empfangen die Videopixeldaten von dem Videoeingabe/Ausgabe-Anschluss 172 und erzeugen die geeignete RGB-Signale, um den Videomonitor 114 anzusteuern.
  • Der Chipsatz 106 ist ferner mit einem lokalen Erweiterungsbus 120 verbunden. Der lokale Erweiterungsbus 120 ist vorzugsweise ein PCI-Bus. Jedoch sollte beachtet werden, dass der lokale Erweiterungsbus 120 ein beliebiger Bus aus einer Reihe lokaler Busarchitekturen sein kann, wozu der VESA VL-Bus gehört. Es können diverse Arten peripher Einrichtungen mit dem lokalen Bus 120 verbunden sein. In 1a ist ein peripheres Gerät 122 mit dem lokalen Erweiterungsbus 120 verbunden. Das periphere Gerät 122 kann eine Festplatte, eine CD-ROM-Schnittstellenkarte, eine Netzwerkschnittstellensteuerung, ein SCSI-Adapter oder eine andere übliche periphere Einrichtung sein. Eine Busbrücke 150 verbindet optional den lokalen Erweiterungsbus 120 mit einem zweiten Erweiterungsbus 152. Der Erweiterungsbus 152 kann ein beliebiger Bus aus einer Vielzahl von Busarten sein, wozu ein ISA, ein EISA-Bus oder ein MCA-Bus gehört. In 1 ist ein peripheres Gerät 124 gezeigt, das mit dem Erweiterungsbus 152 verbunden ist. Das periphere Gerät 124 kann ein Modem oder ein anderes älteres Peripheriegerät sein. Der Chipsatz 106 empfängt Multimediadaten von einem externen Gerät, das an den lokalen Erweiterungsbus 120 oder den Erweiterungsbus 152 angeschlossen ist, und speichert die Multimediadaten in dem Echtzeitdatencache-Speicher 126. Beispielsweise kann die Quelle der in dem Echtzeitdatencache-Speicher 126 gespeicherten Multimediadaten ein Videodecodierer, eine Videoaufnahmeeinrichtung, ein CD-ROM oder eine andere periphere Einrichtung sein, die mit dem lokalen Erweiterungsbus 120 verbunden ist.
  • Der Echtzeitdatencache-Speicher 126, der zwischen der Multimediamaschine 112 und dem Chipsatz 106 angeschlossen ist, ermöglicht es, dass Multimediadaten von einer externen Quelle in einer Speicherstelle gespeichert werden, die nicht dem Hauptspeicher 110 entspricht. Der Echtzeitdatencache-Speicher 126 ermöglicht es ferner, dass diese Multimediadaten von der CPU 102 und der Multimediamaschine 112 gemeinsam benutzt werden. Multimediadaten, die in dem Echtzeitdatencache-Speicher 126 gespeichert sind, können von der Multimediamaschine 112 mit geringerer Wartezeit abgerufen werden, und der Echtzeitdatencache-Speicher 126 reduziert ferner die Auslastung des Hauptspeichers 110.
  • Verteilungslogik
  • Die Verteilungslogikeinheit 107 in dem Chipsatz 106 (1) empfängt Busanforderungen von der CPU 102 und der Multimediamaschine 112 und gewährt Zugriff auf den Hauptspeicher 110 über den Speicherbus 108. Die Multimediamaschine 112 besitzt vorzugsweise Vorrang beim Zugreifen auf den Multimediaadressenraum 182 in dem Hauptspeicher 110. Um Zugriff auf den Multimediaadressenraum 182 zu erhalten, kann die Multimediamaschine 112 einfach ein oder mehrere Bits in einem Register in der Verteilungslogik 107 beschreiben. In diesem Falle wird der CPU 102 einen Zugriff zu dem Multimediaadressenraum 182 nur gewährt, wenn dieser zunächst für eine gewisse Zeitdauer der Zugriff verweigert wurde. Alternativ ist der Speicherbus 108 ein isochroner Bus, wobei die CPU 102 und die Multimediamaschine 112 eine garantierte Bandbreite und Wartezeit für den Speicherbus 108 für den Hauptspeicher 110 besitzen. Ein alternatives Zuteilungsschema, etwa ein auf Konkurrenz basierendes oder auf Hierarchie basierendes Schema, kann ebenso eingesetzt werden.
  • Der Hauptspeicher 110 speichert das Betriebssystem und Anwendungssoftware sowie Treibersoftware einschließlich von Videotreibern und Audiotreibern. Der Hauptspeicher 110 und/oder das periphere Gerät 122 speichern ferner Multimediabefehle und Daten. Die CPU 102 führt die Anwendungssoftware und die Treibersoftware aus dem Hauptspeicher 110 heraus aus und erzeugt Multimediabefehle und Daten und/oder überträgt diese. Beispielsweise kann die CPU 102 den Transfer von Multimediadaten von einem peripheren Gerät oder einer externen Quelle zu dem Hauptspeicher 110 oder zu dem Echtzeitdatencache-Speicher 126 veranlassen. Die CPU 102 kann ferner Multimediabefehle und Daten in Reaktion auf Anwendungssoftware erzeugen.
  • Blockansicht des Hauptspeichers
  • 2a ist eine Blockansicht, in der die Multimediamaschine 112 dargestellt ist, die mit dem Hauptspeicher 110 verbunden ist. In der Ausführungsform aus 2a wird der Speicher, der zur Speicherung von Multimediabefehlen und Daten verwendet wird, als externer Speicher für die Multimediamaschine 112 gezeigt. Die Multimediamaschine 112 umfasst eine oder mehrere DSP-Einheiten bzw. Maschinen 210. Jede DSP-Maschine 210 ist mit dem Speicherbus 108, dem Echtzeitdatencache-Speicher 126 und einem oder mehreren I/O-Kanälen 220 verbunden. Wie gezeigt, umfasst die Multimediamaschine 112 drei I/O-Kanäle 220a, 220b und 220c. Der I/O-Kanal 220a ist vorzugsweise ein entsprechender Videokanal und ist mit dem Video-Eingabe/Ausgabe- (I/O) Anschluss 172 verbunden. Der I/O-Kanal 220b ist vorzugsweise ein entsprechender Audio-Kanal und ist mit dem Audio-Eingabe/Ausgabe-Anschluss 174 verbunden. Der I/O-Kanal 220c ist mit dem Kommunikationseingabe/ausgabe-Anchluss 176 verbunden. In einer weiteren Ausführungsform ist jede DSP-Maschine 210 einer speziellen Multimediafunktion zugeordnet (beispielsweise Video, Audio, oder Kommunikation).
  • Während der Initialisierung des Computersystems wird ein Teil des Speicheradressenraumes 180 in dem Hauptspeicher 110 der Multimediamaschine 112 zugeordnet, wobei dieser Raum als Multimediaadressenraum 182 bezeichnet wird. In einer Ausführungsform kann die Multimediamaschine 112 zusätzlich Adressenraum anfordern, wenn der in dem Hauptspeicher 110 zugeordnete Multimediaadressenraum 182 nicht ausreichend ist. Die Funktionsweise des Hauptspeichers 110 in dieser Weise besitzt den Vorteil, dass die Multimediamaschine 112 lediglich die erforderliche Menge an Speicherplatz verwendet. Speicherplatz, der nicht der Multimediamaschine 112 zugeordnet ist, ist für andere Anwendungen verfügbar.
  • Während des Betriebs der Multimediamaschine 112 überträgt und/oder erzeugt die CPU 102 Multimediabefehle und Daten, bildet separate Multimediabefehls- und Datenelemente und schreibt die Multimediabefehls- und Datenelemente in den Multimediaadressenraum 182 in dem Hauptspeicher 110. Das Multimediabefehlselement enthält Multimediabefehle, und das Multimediadatenelement enthält Multimediadaten. Wenn die CPU Multimediabefehle und Daten erzeugt oder austauscht, kann die CPU 102 auf den Echtzeitdatencache-Speicher 126 zugreifen, der Multimediadaten enthält, die von einer externen Quelle (d. h. einer peripheren Einrichtung, die mit dem Erweiterungsbus 120 oder 152 verbunden ist) erzeugt wurden. Die CPU 102 kann multimediaabhängige Operationen (beispielsweise Bildskalierung oder Drehung) an den Multimediadaten aus dem Echtzeitdatencache-Speicher 126 heraus ausführen, wodurch zusätzliche Multimediadaten erzeugt werden. Die CPU 102 schreibt Multimediabefehls- und Datenelemente in den Multimediaadressenraum 182 zusammen mit Informationen über die Struktur der Elemente. Die Information über die Struktur der Elemente umfasst die Adressenoffsetwerte der ersten Speicherstellen der Multimediabefehls- und Datenelemente innerhalb des Multimediaadressenraumes 182. Die CPU 102 schreibt die Information über die Struktur der Elemente in Speicherplätze an vorbestimmten Adressenoffsetwerten in Bezug auf den ersten Speicherplatz des Multimediaadressenraumes (d. h. die Basisadresse des Multimediaadressenraumes). Unter Anwendung der Basisadresse des Multimediaadressenraumes und der Elementadressenoffsetinformation ruft die Multimediamaschine 112 Multimediabefehle- und Daten aus dem Hauptspeicher ab.
  • Blockansicht der Multimediaeinheit bzw. Maschine
  • Während des Betriebs der Multimediamaschine 112 erhält jede DSP-Maschine 210 Multimediabefehle von dem Hauptspeicher 110 und nach Bedarf Daten von dem Hauptspeicher 110 und/oder dem Echtzeitdatencache-Speicher 126. Jede DSP-Maschine 210 führt Multimediabefehle aus, erzeugt Multimediaausgangssignale und leitet die Multimediaausgangssignale zu einem geeigneten Ausgangsanschluss über einen geeigneten I/O-Kanal. In einer Ausführungsform werden die Video- und Audio-I/O-Kanäle 220a und 220b miteinander synchronisiert, um eine Synchronisation von Audiodaten und Videodaten während Multimediarepräsentationen sicherzustellen. Die Multimediamaschine 112 kann Befehle in der ausgelesenen Reihenfolge ausführen, oder die Multimediamaschine 112 kann Multimedianbefehle nach Priorität ausführen. Beispielsweise können Befehle, die mit Video- und Audiokomponenten einer Multimediapräsentation verknüpft sind, eine höhere Priorität für die Ausführung erfordern als Befehle, die mit Telefonanwendungen verknüpft sind.
  • In einer bevorzugten Ausführungsform ist eine der einen oder mehreren DSP-Maschinen 210 ausgebildet, Video- und Graphikfunktionen (beispielsweise Polygonerzeugung und Texturabbildung) und Audiofunktionen (beispielsweise MIDI- und Signaltabellensynthese) auszuführen. Eine derartige DSP-Maschine kann einen oder mehrere ROM's enthalten, die Mikrocodierung entsprechend den Video- und Audioverarbeitungsanweisungen oder Befehlen enthalten. Die DSP-Maschine 210 kann ferner Kommunikationsfunktionen ausführen, etwa eine ISDN-Verbindung oder eine Modemfunktion.
  • 2b – alternative Ausführungsformen der Multimediamaschine
  • 2b ist eine Blockansicht der Multimediamaschine 112 gemäß einer zweiten Ausführungsform. Die Multimediamaschine 112 umfasst eine Speichersteuerung 162, die mit dem Speicherbus 108, dem Echtzeitdatencache-Speicher 126 und einem Multimediaspeicher 160 verbunden ist. Jede DSP-Maschine 210 ist mit einem oder mehreren I/O-Kanälen 220 in der zuvor beschriebenen Weise verbunden. Die Speichersteuerung 162 steuert den Betrieb des Multimediaspeichers 160 und erhält Multimediabefehle und Daten für den Speicher 160. Die Speichersteuerung 162 erhält Multimediabefehle aus dem Multimediabefehlselement in dem Multimediaadressenraum 182 des Hauptspeichers 110. Die Speichersteuerung 162 erhält Multimediadaten von dem Multimediadatenelement in dem Multimediaadressenraum 182 und/oder dem Echtzeitdatencache-Speicher 126.
  • Der Multimediaspeicher 160 kann einen Datencache-Speicher aufweisen, der Multimediadaten enthält, von denen man annimmt, dass sie in der näheren Zukunft wieder benötigt werden. Der Multimediaspeicher 160 kann ferner eine Multimediabefehlswarteschlange enthalten, und die Speichersteuerung 162 kann einen Vorabholmechanismus enthalten, um die Multimediabefehlswartschlange gefüllt zu halten. Des weiteren kann der Multimediaspeicher 160 in zwei oder mehrere separate Adressenräume oder Puffer unterteilt werden, wobei ein Adressenraum oder Puffer für jede DSP-Maschine 210 vorgesehen ist. Jede DSP-Maschine 210 kann somit auf Befehle und Daten aus dem zugeordneten Adressenraum oder Puffer zugreifen.
  • In der Ausführungsform aus 2b ist der Multimediaspeicher 160 ein Speicher mit dualem Port bzw. Anschluss. Ein erster Anschluss des Multimediaspeichers 160 ist mit der Speichersteuerung 162 verbunden, und ein zweiter Anschluss des Multimediaspeichers 160 ist mit der einen oder den mehreren DSP-Maschinen 210 verbunden. Der Multimediaspeicher 160 umfasst varzugsweise einen Hochgeschwindigkeitsspeicher mit wahlfreiem Zugriff mit Dualport (DRAM), und die Speichersteuerung 162 enthält vorzugsweise eine Speichersteuerung für Dualport-DRAM-Speicher.
  • Während des Betriebs der Multimediamaschine 112 erhält jede DSP-Maschine 210 Multimediabefehle und Daten aus dem Multimediaspeicher 160. Jede DSP-Maschine 210 führt Multimediabefehle aus, erzeugt Multimediaausgangssignale und liefert die Multimediaausgangssignale zu einem geeigneten Ausgangsanschluss über einen geeigneten I/O-Kanal, wie dies zuvor beschrieben ist.
  • 2c – alternative Ausführungsform der Multimediamaschine
  • 2c ist eine Blockansicht der Multimediamaschine 112, die eine dritte Ausführungsform darstellt. Eine Direktspeicherzugriffs- (DMA) Steuerung 190 ist zwischen der Speichersteuerung 162 und dem Speicherbus 108 angeschlossen. Die Speichersteuerung 162 erhält Multimediabefehle und Daten, die in dem Hauptspeicher 110 gespeichert sind, über die DMA-Steuerung 190. Die DMA-Steuerung 190 überträgt eine große Anzahl an Multimediabefehlen und Daten, die in aufeinanderfolgenden Speicherplätzen gespeichert sind (d. h. Blöcke aus Multimediabefehlen und Daten), die innerhalb des Multimediaadressenraumes 182 des Hauptspeichers 110 angeordnet sind. Eine Übertragung einer kleineren Anzahl aus größeren Blöcken an Befehlen und Daten kann effizienter ausgeführt werden, als das Übertragen einer größeren Anzahl an kleineren Blöcken. Die Speichersteuerung 162 kann ferner Multimediadaten aus dem Echtzeitdatencache-Speicher 126 erhalten. Der Multimediaspeicher 160 ist in der zuvor beschriebenen Weise ausgestaltet, und jede DSP-Maschine 210 funktioniert in der oben beschriebenen Weise.
  • 3 und 4 – alternative Ausführungsform des Computersystems
  • 3 und 4 zeigen eine zweite Ausführungsform eines Computersystems mit der Multimediamaschine 112, die direkt mit dem Echtzeitdatencache-Speicher 126 verbunden ist, die jedoch nicht direkt mit dem Hauptspeicher 110 verbunden ist. 3 ist eine Blockansicht eines Computersystems der zweiten Ausführungsform. Die Multimediamaschine 112 ist mit einem Video- (I/O) Eingabe/Ausgabe-Anschluss 172, einem Audio-Eingabe/Ausgabe-Anschluss 174 und einem Kommunikations-Eingabe/Ausgabe-Anschluss 176 verbunden. Ein Echtzeitdatencache-Speicher 126 ist zwischen der Multimediamaschine 112 und dem Chipsatz 106 angeschlossen. Der Echtzeitdatencache-Speicher 126 ermöglicht es, dass Multimediadaten von einer externen Quelle in einer Speicherstelle, die nicht dem Hauptspeicher 110 entspricht, gespeichert werden, und ermöglicht ferner, dass diese Multimediadaten von der CPU 102 und der Multimediamaschine 112 gemeinsam benutzt werden. In dieser Ausführungsform enthält der Echtzeitdatencache-Speicher 126 ferner Multimediabefehl und Daten, die von dem Hauptspeicher 110 erhalten werden. Die Multimediamaschine 112 enthält Multimediabefehle und Daten aus dem Echtzeitdatencache-Speicher 126 nach Bedarf. Wenn die erforderliche Information nicht in dem mit Echtzeitdatencache-Speicher 126 vorhanden ist (d. h. es tritt eine Anforderung für Daten auf, die nicht in dem Cache-Speicher sind), erhält der Echtzeitdatencache-Speicher 126 die Information aus dem Hauptspeicher 110 über den Chipsatz 106. Alle anderen Computersystemkomponenten, die in 3 gezeigt sind, arbeiten in der zuvor beschriebenen Weise.
  • 4 ist eine Blockansicht einer Ausführungsform der Multimediamaschine 112 in dem Computersystem aus 3. Der zur Speicherung von Multimediabefehlen und Daten verwendete Speicher ist ein externer Speicher für die Multimediamaschine 112. Die Multimediamaschine 112 umfasst eine oder mehrere DSP-Maschinen 222. Jede DSP-Maschine 222 ist mit dem Echtzeitdatencache-Speicher 126 verbunden und mit einem oder mehreren I/O-Kanälen 220 verbunden. Wie gezeigt, enthält die Multimediamaschine 112 drei I/O-Kanäle 220a, 220b und 220c, wie dies zuvor beschrieben ist. Während des Betriebs der Multimediamaschine 112 erhält jede DSP-Maschine 222 nach Bedarf Multimediabefehle und Daten aus dem Echtzeitdatencache-Speicher 126. Jede DSP-Maschine 222 führt Multimediabefehle aus, erzeugt Multimediaausgangssignale und leitet die Multimediaausgangssignale zu einem geeigneten Ausgangsanschluss über einen geeigneten I/O-Kanal. Die Multimediamaschine 112 führt Befehle in der abgerufenen Reihenfolge aus, oder die Multimediamaschine 112 kann Multimediabefehle entsprechend einer Priorität verarbeiten. Befehle, die mit Video- und Audiokomponenten einer Multimediarepräsentation verknüpft sind, können eine höhere Priorität bei der Verarbeitung erfordern als Befehle, die mit einer Telefonanwendung verknüpft sind. In einer bevorzugten Ausführungsform ist eine der einen oder der mehreren DSP-Maschinen 222 ausgebildet, Video- und Graphikfunktionen (beispielsweise Polygonerzeugung und Texturabbildung) und Audiofunktionen (beispielsweise MIDI- und Signaltabellesynthese) auszuführen. Eine derartige DSP-Maschine kann eine oder mehrere ROM's enthalten, die den Video- und Audioverarbeitungsinstruktionen oder Befehlen entsprechende Mikrocodierungen enthalten. Die DSP-Maschine kann ferner Kommunikationsfunktionen, etwa eine ISDN-Verbindung oder Modemfunktion, ausführen.
  • Funktionsweise des Computersystems
  • 5 ist ein Flussdiagramm des Verfahrens zum Ausführen von Echtzeitmultimediaanwendungen in einem Computersystem mit einer zugeordneten Multimediamaschine 112, die mit dem Echtzeitdatencache-Speicher 126 verbunden ist. Während eines ersten Schrittes 302 erzeugt die CPU 102 Multimediabefehle und Daten. Beim Erzeugen von Multimediabefehlen und Daten kann die CPU 102 vorteilhafterweise auf den Echtzeitdatencache-Speicher zugreifen, der die von einer externen Quelle (d. h. einer peripheren Einrichtung, die mit einem lokalen Erweiterungsbus oder einem anderen Erweiterungsbus verbunden ist) erzeugt wurden. Die CPU kann multimediabezogene Operationen (beispielweise Bildskalierung oder Drehung) an Multimediadaten aus dem Echtzeitdatencache-Speicher 126 ausführen, wodurch zusätzliche Multimediadaten erzeugt werden. Die CPU 102 bildet separate Multimediabefehls- und Datenelemente während des Schritts 304. Das Multimediabefehlselement enthält Multimediabefehle, und das Multimediadatenelement enthält Multimediadaten. Während des Schritts 306 schreibt die CPU 102 die Multimediabefehls- und Datenelemente in einen Multimediaadressenraum in dem Hauptspeicher zusammen mit entsprechender Information über die Struktur des Elements.
  • Die Multimediamaschine 112 erhält Befehle und Daten aus dem Hauptspeicher 110 und/oder dem Echtzeitdatencache-Speicher 126 während des Schritts 308. Die Information über die Struktur der Elemente, die von der CPU 102 bereitgestellt wird, wird verwendet, wenn Befehle und Daten aus dem Hauptspeicher abgerufen werden. In Ausführungsformen, in denen die Multimediamaschine 112 nicht direkt mit dem Hauptspeicher 110 verbunden ist, erhält der Echtzeitdatencache-Speicher 126 Multimediabefehle und Daten aus dem Hauptspeicher 110 über den Chipsatz 106. Die Multimediamaschine 112 kann die abgerufenen Befehle mit einer Priorität belegen oder nicht. Während des Schritts 310 führt die Multimediamaschine 112 die Multimediabefehle unter Anwendung der Multimediadaten aus. Wenn die Multimediamaschine 112 die Multimediabefehle ausführt, kann die Multimediamaschine 112 auch Multimediadaten aus dem Echtzeitendatencache-Speicher 126 nach Bedarf erhalten. Als Ergebnis des Abarbeitens des Befehls erzeugt die Multimediamaschine 112 Multimediaausgangssignale während des Schritts 312. Die Multimediamaschine 112 liefert während des Schritts 314 die Multimediaausgangssignale zu geeigneten Ausgangsanschlüssen.
  • Schlussfolgerung
  • Daher stellt die vorliegende Erfindung eine neuartige Computersystemarchitektur bereit, die das Leistungsverhalten während Multimediaanwendungen erhöht. Eine zugeordnete Multimediamaschine bzw. Einheit ist direkt mit einem Echtzeitdatencache-Speicher verbunden. Der Echtzeitdatencache-Speicher ermöglicht es, dass Multimediadaten von einer externen Quelle (beispielsweise einem Videodecodierer oder einer Videoaufnahmeinrichtung) in einem Speicherplatz abgelegt werden, der nicht der Hauptspeicher ist, und ermöglicht ferner, dass diese Multimediadaten von der CPU und der Multimediamaschine gemeinsam benutzt werden. Die CPU kann auf den Echzeitdatencache-Speicher zugreifen, wenn sie Multimediabefehle und Daten erzeugt. Die CPU schreibt Multimediabefehle und Daten zusammen mit Informationen, wo die Befehle und Daten in dem Hauptspeicher angeordnet sind (d. h. eine Information hinsichtlich der Lade der Elemente), in den Hauptspeicher. Die Multimediamaschine erhält nach Bedarf Daten aus dem Hauptspeicher und/oder dem Echtzeitdatencache-Speicher. Der Echtzeitdatencache-Speicher reduziert die Zugriffszeit für benötigte Multimediadaten sowie die Auslastung des Hauptspeichers. Lediglich der Anteil des Hauptspeichers, der tatsächlich von den Multimediaanwendungen benötigt wird, wird reserviert, wodurch möglichst viel Speicherplatz für andere Anwendungen frei bleibt.
  • Obwohl das System und das Verfahren der vorliegenden Erfindung in Verbindung mit der bevorzugten Ausführungsform beschrieben sind, ist nicht beabsichtigt, die Erfindung auf die hierin dargestellte spezielle Form einzuschränken, sondern es ist vielmehr beabsichtigt, derartige Alternativen, Modifizierungen und Äquivalente abzudecken, wie sie begründet innerhalb des Grundgedankens und Schutzbereichs der Erfindung, wie sie durch die angefügten Patentansprüche definiert ist, enthalten sind.

Claims (17)

  1. Computersystem mit: einer CPU (102); einem Erweiterungsbus (120), der mit der CPU und einem peripheren Gerät (122) verbunden ist; einem Speicherbus (108), der mit der CPU (102) verbunden ist; einem Hauptspeicher (110), der mit dem Speicherbus (108) verbunden ist; einer Chipsatzlogikeinheit (106), die mit der CPU (102), dem Erweiterungsbus (120) und dem Speicherbus (108) verbunden ist; und einer Multimediaeinheit (112) zum Ausführen von Multimedia-Video- und Audiooperationen; gekennzeichnet durch: einen Echtzeit-Daten-Cache-Speicher (126), der zwischen der Multimediaeinheit (112) und der Chipsatzlogikeinheit (106) angeschlossen ist; wobei die Chipsatzlogikeinheit (106) ausgebildet ist, Multimediadaten von dem peripheren Gerät (122) zu empfangen und die Multimediadaten dem Echtzeit-Daten-Cache-Speicher (126) zuzuleiten, und wobei der Echtzeit-Daten-Cache-Speicher (126) ausgebildet ist, die Multimediadaten von der Chipsatzlogikeinheit (106) zu empfangen, die Multimediadaten zu speichern und die Multimediadaten der Multimediaeinheit (112) zuzuführen.
  2. Computersystem nach Anspruch 1, wobei die CPU (102) ausgebildet ist, Multimediabefehle und Multimediadaten zu erzeugen und die Multimediabefehle und Multimediadaten der Chipsatzlogikeinheit (106) zuzuführen, und wobei die Chipsatzlogikeinheit (106) ausgebildet ist, die Multimediabefehle und Multimediadaten von der CPU (102) zu empfangen und die Multimediabefehle und Multimediadaten dem Hauptspeicher (110) über den Speicherbus (108) zuzuführen.
  3. Computersystem nach Anspruch 1, wobei Speicherplätze des Hauptspeichers (110) einen Speicheradressenraum umfassen, und wobei ein Bereich des Speicheradressenraumes für die Multimediaeinheit (112) reserviert ist.
  4. Computersystem nach Anspruch 1, wobei die Multimediaeinheit (112) umfasst: eine DSP-Einheit (210; 222), die mit dem Echtzeit-Daten-Cache-Speicher (126) verbunden ist, wobei die DSP-Einheit ausgebildet ist, Multimediabefehle und Multimediadaten von dem Echtzeit-Daten-Cache-Speicher zu empfangen und Multimediaausgangssignale zu erzeugen; einen Eingabe/Ausgabe-Kanal (220), der mit der DSP-Einheit (210; 222) verbunden ist; und einen Eingabe/Ausgabe-Anschluss, der mit dem Eingabe/Ausgabe-Kanal gekoppelt und ausgebildet ist, eine Eingabe/Ausgabe-Einrichtung mit dem Computersystem zu verbinden; wobei die DSP-Einheit ausgebildet ist, die Multimediaausgangssignale dem Eingabe/Ausgabe-Kanal zuzuführen, der Eingabe/Ausgabe-Kanal ausgebildet ist, die Multimedia-Ausgangssignale von der DSP-Einheit (210; 222) zu empfangen und die Multimedia-Ausgangssignale dem Eingabe/Ausgabe-Anschluss zuzuführen, und der Eingabe/Ausgabe-Anschluss ausgebildet ist, die Multimedia-Ausgangssignale von dem Eingabe/Ausgabe-Kanal zu empfangen und die Multimedia-Ausgangssignale einem Eingabe/Ausgabe-Gerät, das mit dem Eingabe/Ausgabe-Anschluss verbunden ist, zuzuführen.
  5. Computersystem nach Anspruch 1, wobei die Multimedia-Einheit umfasst: eine DSP-Einheit (210; 222), die ausgebildet ist, Multimedia-Ausgangssignale zu erzeugen; einen Eingabe/Ausgabe-Kanal (220), der mit der DSP-Einheit (210; 222) verbunden ist; und einen Eingabe/Ausgabe-Anschluss (172, 174, 176), der mit dem Eingabe/Ausgabe-Kanal (220) verbunden und ausgebildet ist, ein Eingabe/Ausgabe-Gerät mit dem Computersystem zu verbinden; wobei die DSP-Einheit ausgebildet ist, die Multimedia-Ausgangssignale dem Eingabe/Ausgabe-Kanal (220) zuzuführen, der Eingabe/Ausgabe-Kanal ausgebildet ist, die Multimedia-Ausgangssignale von der DSP-Einheit zu empfangen und die Multimedia-Ausgangssignale dem Eingabe/Ausgabe-Anschluss (172, 174, 176) zuzuführen, und der Eingabe/Ausgabe-Anschluss ausgebildet ist, die Multimedia-Ausgangssignale von dem Eingabe/Ausgabe-Kanal (220) zu empfangen und die Multimedia-Ausgangssignale einem Eingabe/Ausgabe-Gerät zuzuführen, das mit dem Eingabe/Ausgabe-Anschluss verbunden ist; und wobei die Chipsatzlogikeinheit (106) ausgebildet ist, Multimediabefehle und Multimediadaten von dem Hauptspeicher (110) über den Speicherbus (108) zu empfangen und die Multimediabefehle und Multimediadaten dem Echtzeit-Daten-Cache-Speicher (126) zuzuführen, wobei der Echtzeit-Daten-Cache-Speicher ausgebildet ist, die Multimediabefehle und Multimediadaten von der Chipsatzlogikeinheit (108) zu empfangen, die Multimediabefehle und Multimediadaten zu speichern und die Multimediabefehle und Multimediadaten der DSP-Einheit (210; 222) der Multimediaeinheit zuzuführen, und wobei die DSP-Einheit (210; 222) ausgebildet ist, Multimediabefehle und Multimediadaten von dem Echtzeit-Daten-Cache-Speicher (126) zu empfangen.
  6. Computersystem nach Anspruch 1, wobei das periphere Gerät (122) ausgebildet ist, Multimediadaten zu speichern; wobei die Multimedia-Einheit (112) mit der Chipsatzlogikeinheit (106) verbunden ist und einen oder mehrere Anschlüsse zur Verbindung mit einem Videobildschirm und mit Lautsprechern aufweist; und wobei die Multimediaeinheit (112) ausgebildet ist, auf die Multimediadaten in dem Echtzeit-Daten-Cache-Speicher zuzugreifen.
  7. Computersystem nach Anspruch 6, wobei die Multimedia-Einheit (112) mit dem Speicherbus (108) verbunden und ausgebildet ist, Multimediadaten aus dem Hauptspeicher (110) abzurufen.
  8. Computersystem nach Anspruch 7, wobei die Multimedia-Einheit (112) ausgebildet ist, Multimediabefehle und einen ersten Satz aus Multimediadaten von dem Hauptspeicher (110) über den Speicherbus (108) zu empfangen und einen zweiten Satz aus Multimediadaten von dem Echtzeit-Daten-Cache-Speicher (126) zu empfangen.
  9. Computersystem nach Anspruch 7, wobei die Chipsatzlogikeinheit (106) eine Verteilungslogikeinheit aufweist, die ausgebildet ist, die Aufteilung zwischen der CPU und der Multimediaeinheit für den Zugriff auf den Hauptspeicher (110) über den Speicherbus (108) zu koordinieren.
  10. Computersystem nach Anspruch 7, wobei die Multimediaeinheit umfasst: eine DSP-Einheit (210; 222), die angeschlossen ist, Multimediabefehle und Multimediadaten zu empfangen und die ausgebildet ist, ein oder mehrere Multimediaausgangssignale zu erzeugen; einen Eingabe/Ausgabe-Kanal (220), der mit der DSP-Einheit (210; 222) verbunden ist; und einen Eingabe/Ausgabe-Anschluss, der mit dem Eingabe/Ausgabe-Kanal verbunden und ausgebildet ist, eine Verbindung mit einem Eingabe/Ausgabe-Gerät des Computersystems herzustellen; wobei die DSP-Einheit ausgebildet ist, die Multimediaausgangssignale dem Eingabe/Ausgabe-Kanal zuzuführen, der Eingabe/Ausgabe-Kanal ausgebildet ist, die Multimediaausgangssignale von der DSP-Einheit (210; 222) zu empfangen und die Multimediaausgangssignale dem Eingabe/Ausgabe-Anschluss zuzuführen, und der Eingabe/Ausgabe-Anschluss ausgebildet ist, die Multimediaausgangssignale von dem Eingabe/Ausgabe-Kanal zu empfangen und die Multimedia-Ausgangssignale dem Eingabe/Ausgabe-Gerät des Computersystems zuzuführen.
  11. Computersystem nach Anspruch 10, wobei die DSP-Einheit (210; 222) mit dem Speicherbus (108) und dem Echtzeit-Daten-Cache-Speicher (126) verbunden ist, und wobei die DSP-Einheit ausgebildet ist, erste Multimediadaten aus dem Hauptspeicher über den Speicherbus und zweite Multimediadaten aus dem Echtzeit-Daten-Cache-Speicher zu empfangen.
  12. Computersystem nach Anspruch 10, wobei die Multimedia-Einheit (112) ferner umfasst: eine Speichersteuerung (162), die mit dem Speicherbus (108) und dem Echtzeit-Daten-Cache-Speicher (126) verbunden ist, wobei die Speichersteuerung (162) ausgebildet ist, erste Multimediadaten von dem Hauptspeicher (110) und zweite Multimediadaten von dem Echtzeit-Daten-Cache-Speicher zu empfangen; und einen Multimediaspeicher (160), der zwischen der Speichersteuerung (162) und der DSP-Einheit (210) angeschlossen ist; wobei die Speichersteuerung (162) ausgebildet ist, die ers ten und zweiten Multimediadaten dem Multimediaspeicher (160) zuzuführen, und wobei der Multimediaspeicher (160) ausgebildet ist, die ersten und zweiten Multimediadaten von der Speichersteuerung (162) zu empfangen, die ersten und zweiten Multimediadaten zu speichern und die ersten und zweiten Multimediadaten der DSP-Einheit (210) zuzuführen.
  13. Computersystem nach Anspruch 10, das ferner umfasst: eine DMA-Steuerung (190), die mit dem Speicherbus (108) verbunden und ausgebildet ist, Multimediabefehle und einen ersten Satz aus Multimediadaten von dem Hauptspeicher (110) über den Speicherbus (108) zu empfangen; eine Speichersteuerung (162), die mit der DMA-Steuerung (190) und dem Echtzeit-Daten-Cache-Speicher (126) verbunden ist; und einen Multimediaspeicher (160), der mit der Speichersteuerung (162) und der DSP-Einheit (210) verbunden ist; wobei die DMA-Steuerung (190) ausgebildet ist, die Multimediabefehle und den ersten Satz aus Multimediadaten der Speichersteuerung zuzuführen, wobei die Speichersteuerung (162) ausgebildet ist, die Multimediabefehle und den ersten Satz aus Multimediadaten von der DMA-Steuerung (190) zu empfangen, einen zweiten Satz aus Multimediadaten von dem Echtzeit-Daten-Cache-Speicher (126) zu empfangen; und die Multimediabefehle und den ersten und den zweiten Satz aus Multimediadaten dem Multimediaspeicher (160) zuzuführen, und wobei der Multimediaspeicher (160) ausgebildet ist, die Multimediabefehle und den ersten und den zweiten Satz aus Multimediadaten von der Speichersteuerung (162) zu empfangen, die Multimediabefehle und den ersten und den zweiten Satz aus Multimediadaten zu speichern und die Multimediabefehle und den ersten und den zweiten Satz aus Multimediadaten der DSP-Einheit (210) zuzuführen.
  14. Verfahren zum Ausführen von Echtzeit-Multimedia-Anwendungen in einem Computersystem, wobei das Computersystem umfasst: eine CPU (102); einen Erweiterungsbus (120), der mit der CPU und einem peripheren Gerät (122) verbunden ist; einen Speicherbus (108); eine Chipsatzlogikeinheit (106), die mit der CPU (102), dem Erweiterungsbus (130) und dem Speicherbus (108) verbunden ist; einen Hauptspeicher (110), der mit dem Speicherbus verbunden ist; eine Multimedia-Einheit (112) mit einem Eingabe/Ausgabe-Anschluss; einen Echtzeit-Daten-Cache-Speicher (126), der zwischen der Multimedia- Einheit (112) und der Chipsatzlogikeinheit (106) angeschlossen ist, wobei das Verfahren umfasst: Erzeugen von Multimediabefehle durch die CPU (102); Zuführen der Multimediabefehle zu dem Hauptspeicher (110) durch die CPU (102); Bereitstellen von Multimediadaten von dem peripheren Gerät (122) an die Chipsatzlogikeinheit (106); Zuführen der Multimediadaten von der Chipsatzlogikeinheit (106) zu dem Echtzeit-Daten-Cache-Speicher (126); Erhalten von Multimediabefehlen von dem Hauptspeicher (110) und von Multimediadaten von dem Echtzeit-Daten-Cache-Speicher (126) in der Multimedia-Einheit (112); Ausführen, durch die Multimedia-Einheit (112), der Multimediabefehle unter Anwendung der Multimediadaten; Erzeugen eines Multimedia-Ausgangssignals durch die Multimedia-Einheit (112); und Zuführen des Multimedia-Ausgangssignals von der Multimedia-Einheit (112) zu dem Eingabe/Ausgabe-Anschluss.
  15. Verfahren nach Anspruch 14, wobei der Schritt des Zuführens der Multimedia-Befehle zu dem Hauptspeicher (110) mittels der CPU (102) umfasst: Erzeugen von Multimediabefehls- und Datenelementen durch die CPU (102); Erzeugen einer Befehls- und Datenelementsstrukturinformation durch die CPU (102); und Zuführen der Multimediabefehls- und Datenelemente und der Befehls- und Datenelementsstrukturinformation zu dem Hauptspeicher (110) durch die CPU (102).
  16. Verfahren nach Anspruch 14, wobei die Multimedia-Einheit (112) Multimediadaten von dem Hauptspeicher (110) und von dem Echtzeit-Daten-Cache-Speicher (126) während des Schritts des Erhaltens erhält.
  17. Verfahren nach Anspruch 14, wobei die Multimedia-Einheit (112) Multimediabefehle und Multimediadaten von dem Echtzeit-Daten-Cache-Speicher (126) während des Schritts des Erhaltens empfängt.
DE69736106T 1996-05-17 1997-01-23 Rechnersystem mit an einen echtzeit-datencachespeicher gekoppelter multimediaeinheit Expired - Lifetime DE69736106T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US650941 1984-09-17
US08/650,941 US5898892A (en) 1996-05-17 1996-05-17 Computer system with a data cache for providing real-time multimedia data to a multimedia engine
PCT/US1997/001068 WO1997044742A1 (en) 1996-05-17 1997-01-23 Computer system having a multimedia engine coupled to a real-time data cache

Publications (2)

Publication Number Publication Date
DE69736106D1 DE69736106D1 (de) 2006-07-27
DE69736106T2 true DE69736106T2 (de) 2007-03-08

Family

ID=24610947

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69736106T Expired - Lifetime DE69736106T2 (de) 1996-05-17 1997-01-23 Rechnersystem mit an einen echtzeit-datencachespeicher gekoppelter multimediaeinheit

Country Status (4)

Country Link
US (1) US5898892A (de)
EP (1) EP0898751B1 (de)
DE (1) DE69736106T2 (de)
WO (1) WO1997044742A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069428A (ja) * 1996-08-28 1998-03-10 Nec Corp ビデオ表示装置
US6366971B1 (en) * 1998-01-09 2002-04-02 Yamaha Corporation Audio system for playback of waveform sample data
US7158532B2 (en) * 1998-07-06 2007-01-02 Intel Corporation Half duplex link with isochronous and asynchronous arbitration
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US7099848B1 (en) 1999-02-16 2006-08-29 Listen.Com, Inc. Audio delivery and rendering method and apparatus
US6351783B1 (en) * 1999-05-20 2002-02-26 Intel Corporation Method and apparatus for isochronous data transport over an asynchronous bus
US6857106B1 (en) 1999-09-15 2005-02-15 Listen.Com, Inc. Graphical user interface with moveable, mergeable elements
US6732235B1 (en) * 1999-11-05 2004-05-04 Analog Devices, Inc. Cache memory system and method for a digital signal processor
US7565675B2 (en) * 1999-12-08 2009-07-21 Listen.Com, Inc. Scheduled retrieval, storage and access of media data
US20030018581A1 (en) * 2000-02-16 2003-01-23 Bratton Timothy R. Delivering media data to portable computing devices
KR100385233B1 (ko) * 2000-03-14 2003-05-23 삼성전자주식회사 데이터 프로세싱 시스템의 익스포넌트 유닛
US7213075B2 (en) * 2000-12-15 2007-05-01 International Business Machines Corporation Application server and streaming server streaming multimedia file in a client specific format
US20030014596A1 (en) * 2001-07-10 2003-01-16 Naohiko Irie Streaming data cache for multimedia processor
US8090928B2 (en) * 2002-06-28 2012-01-03 Intellectual Ventures I Llc Methods and apparatus for processing scalar and vector instructions
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
US8568227B2 (en) * 2009-11-13 2013-10-29 Bally Gaming, Inc. Video extension library system and method
CN102279838A (zh) * 2011-08-31 2011-12-14 公安部第三研究所 基于统一硬件任务接口的系统架构的重构方法
CN108132909A (zh) * 2016-12-01 2018-06-08 深圳市三诺数字科技有限公司 一种dsp数据存储的处理方法及装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4245344A (en) * 1979-04-02 1981-01-13 Rockwell International Corporation Processing system with dual buses
US5208745A (en) * 1988-07-25 1993-05-04 Electric Power Research Institute Multimedia interface and method for computer system
US4991169A (en) * 1988-08-02 1991-02-05 International Business Machines Corporation Real-time digital signal processing relative to multiple digital communication channels
US5287484A (en) * 1989-06-21 1994-02-15 Hitachi, Ltd. Multi-processor system for invalidating hierarchical cache
US5245322A (en) * 1990-12-11 1993-09-14 International Business Machines Corporation Bus architecture for a multimedia system
US5212742A (en) * 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
JPH0512117A (ja) * 1991-07-04 1993-01-22 Toshiba Corp キヤツシユ一致化方式
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
CA2069711C (en) * 1991-09-18 1999-11-30 Donald Edward Carmon Multi-media signal processor computer system
JPH05268482A (ja) * 1991-10-15 1993-10-15 Internatl Business Mach Corp <Ibm> 画像情報を圧縮解除する方法およびその装置
CA2071347A1 (en) * 1991-10-15 1993-04-16 Nader Amini Expandable high performance fifo design
US5261072A (en) * 1991-10-31 1993-11-09 Tandy Corporation Compact disk data transfer system using cache memory
JP3024327B2 (ja) * 1991-12-27 2000-03-21 カシオ計算機株式会社 デジタルレコーダ
CA2084575C (en) * 1991-12-31 1996-12-03 Chris A. Dinallo Personal computer with generalized data streaming apparatus for multimedia devices
US5440755A (en) * 1992-04-06 1995-08-08 Accelerated Systems, Inc. Computer system with a processor-direct universal bus connector and interchangeable bus translator
EP0572024A2 (de) * 1992-05-27 1993-12-01 Kabushiki Kaisha Toshiba Multimediaanzeige-Steuersystem zur Speicherung von Bilddaten in einem Rasterpufferspeicher
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
FR2696259A1 (fr) * 1992-09-30 1994-04-01 Apple Computer Organisation en tâches et en modules d'une exécution dans un processeur.
US5519839A (en) * 1992-10-02 1996-05-21 Compaq Computer Corp. Double buffering operations between the memory bus and the expansion bus of a computer system
US5440740A (en) * 1992-10-13 1995-08-08 Chen; Fetchi System and method for managing devices on multiple digital signal processors
AU3058892A (en) * 1992-11-02 1994-05-24 3Do Company, The Audio/video computer architecture
US5325423A (en) * 1992-11-13 1994-06-28 Multimedia Systems Corporation Interactive multimedia communication system
US5510740A (en) * 1993-04-21 1996-04-23 Intel Corporation Method for synchronizing clocks upon reset
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5530902A (en) * 1993-06-14 1996-06-25 Motorola, Inc. Data packet switching system having DMA controller, service arbiter, buffer type managers, and buffer managers for managing data transfer to provide less processor intervention
EP0629954A1 (de) * 1993-06-15 1994-12-21 International Business Machines Corporation Adapter zur Übertragung von Datenblöcken variabler Länge aud einen Systembus
US5440336A (en) * 1993-07-23 1995-08-08 Electronic Data Systems Corporation System and method for storing and forwarding audio and/or visual information on demand
US5623633A (en) * 1993-07-27 1997-04-22 Dell Usa, L.P. Cache-based computer system employing a snoop control circuit with write-back suppression
US5557757A (en) * 1994-02-02 1996-09-17 Advanced Micro Devices High performance integrated processor architecture including a sub-bus control unit for generating signals to control a secondary, non-multiplexed external bus
US5508940A (en) * 1994-02-14 1996-04-16 Sony Corporation Of Japan And Sony Electronics, Inc. Random access audio/video processor with multiple outputs
KR0143524B1 (ko) * 1994-02-25 1998-07-15 구자홍 서로 다른 종류의 디스크 재생장치
US5497373A (en) * 1994-03-22 1996-03-05 Ericsson Messaging Systems Inc. Multi-media interface
WO1996041279A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Computer system having a dedicated multimedia engine including multimedia memory
US5748983A (en) * 1995-06-07 1998-05-05 Advanced Micro Devices, Inc. Computer system having a dedicated multimedia engine and multimedia memory having arbitration logic which grants main memory access to either the CPU or multimedia engine
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths

Also Published As

Publication number Publication date
WO1997044742A1 (en) 1997-11-27
EP0898751B1 (de) 2006-06-14
DE69736106D1 (de) 2006-07-27
EP0898751A1 (de) 1999-03-03
US5898892A (en) 1999-04-27

Similar Documents

Publication Publication Date Title
DE69736106T2 (de) Rechnersystem mit an einen echtzeit-datencachespeicher gekoppelter multimediaeinheit
DE69603732T2 (de) Rechnersystem mit zugeordnetem multimediaprozessor und multimediaspeicher
DE69820143T2 (de) Datenverarbeitungsgerät und -verfahren
DE69625631T2 (de) Datenpuffer
DE69217664T2 (de) Multimedia-signalprozessor-rechnersystem
DE60217884T2 (de) Verfahren und apparat für verteilten direktspeicherzugriff in einem system auf einem chip
DE69827544T2 (de) Datenverarbeitungsgerät und -Verfahren
DE60108911T2 (de) Prozessorschnittstelle mit geringem overhead
DE69319327T2 (de) Videoserver
DE69730656T2 (de) Medienserver in dem ein SCSI-Bus eingesetzt wird und in dem eine SCSI-logische Einheit zur Differenzierung zwischen Transfer/Modi benutzt wird
DE69027515T2 (de) Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung
DE69819686T2 (de) Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung
DE10394081B4 (de) Verfahren und Vorrichtung zum Einprägen von Schreibdaten in einen Cache-Speicher
DE69522345T2 (de) Videospielvorrichtung
DE69723726T2 (de) Anwendungsprogrammierungsschnittstelle für Datenübertragung und Busverwaltung einer Busstruktur
DE2523372C3 (de) Eingabe-/Ausgabe-Anschlußsteuereinrichtung
DE69828074T2 (de) Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl
DE102005022893B3 (de) Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte
DE10147317A1 (de) Bildschirmanzeigeeinrichtung und Verfahren zu deren Nutzung in einem mobilen Endgerät
DE102006041793A1 (de) Verfahren und System zum Liefern von Multimediadaten von verschiedenen Quellen zu verschiedenen Clientanwendungen
DE69432613T2 (de) Vorrichtung und Verfahren zur Kommunikation zwischen einem Rechner und einem periphären Gerät
DE102006036837A1 (de) Datenspeicherverwaltungsverfahren und -system
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE69133025T2 (de) Multiprozessorsystem
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: ADVANCED MICRO DEVICES, INC., SUNNYVALE, CALIF., U

8364 No opposition during term of opposition