DE10001168A1 - Ausgabe-Fifo-Datenübertragungssteuereinrichtung - Google Patents

Ausgabe-Fifo-Datenübertragungssteuereinrichtung

Info

Publication number
DE10001168A1
DE10001168A1 DE10001168A DE10001168A DE10001168A1 DE 10001168 A1 DE10001168 A1 DE 10001168A1 DE 10001168 A DE10001168 A DE 10001168A DE 10001168 A DE10001168 A DE 10001168A DE 10001168 A1 DE10001168 A1 DE 10001168A1
Authority
DE
Germany
Prior art keywords
data
output
processing units
read
data transfer
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.)
Ceased
Application number
DE10001168A
Other languages
English (en)
Inventor
Hiroyasu Negishi
Junko Kobara
Yoshitsugu Inoue
Hiroyuki Kawai
Keijiro Yoshimatsu
Nelson Chan
Robert Streitenberger
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE10001168A1 publication Critical patent/DE10001168A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

Eine Ausgabe-FIFO-Datenübertragungssteuereinrichtung umfaßt einen geometrischen Arithmetikkern (10) mit einer Ganzzahlverarbeitungseinheit IPU (1) und einer Vielzahl von Gleitpunktverarbeitungseinheiten FPU (2a, 2b, 2c, 2d). Jede Verarbeitungseinheit enthält einen Zwischenpuffer oder Datenausgangspuffer (13, 23a, ...) zum Speichern von Daten über ein Rechenergebnis. Wenn eine Anweisung zur Datenübertragung von zumindest einer der Verarbeitungseinheiten an eine Ausgabe-FIFO (512) ausgegeben wird, erzeugt eine Schreib/Lese-Zeigererzeugungseinheit (41; 410) einen Schreibzeiger, der einen bestimmten Ort identifiziert, an dem Daten über ein der Anweisung zugeordnetes Rechenergebnis in dem Zwischenpuffer von zumindest einer der Verarbeitungseinheiten zu speichern sind, und einen Lesezeiger, der einen bestimmten Ort identifiziert, an dem Daten aus dem Zwischenpuffer von zumindest einer der Verarbeitungseinheiten auszulesen sind. Eine Übertragungsbetriebsarteinstelleinheit (42) stellt eine Übertragungsbetriebsart ein, die identifiziert, welche der Verarbeitungseinheiten Daten über ein Rechenergebnis übertragen soll, und liefert sodann ein Lesefreigabesignal an zumindest eine der Verarbeitungseinheiten, um die Daten aus dem Zwischenpuffer der zumindest einen Verarbeitungseinheit auszulesen.

Description

Die Erfindung betrifft eine Ausgabe-First-in-first-out (FIFO)-Datenübertragungssteuereinrichtung zum Steuern der Übertragung von Rechenergebnissen von einem geometrischen Arithmetikkern, der in einem geometrischen Arithmetikprozes­ sor zum Durchführen einer grafischen 3D-Verarbeitung enthal­ ten ist, an ein Ausgabe-FIFO und nach außerhalb des geometri­ schen Arithmetikprozessors.
Bezugnehmend auf Fig. 21 ist ein Blockdiagramm dargestellt, das die Struktur eines geometrischen Arithmetikprozessors einschließlich einer bekannten Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung zeigt. In der Figur bezeichnet ein Be­ zugszeichen 10 einen geometrischen Arithmetikkern bzw. ein geometrisches Rechenwerk zum Durchführen einer grafischen 3D- Verarbeitung, bezeichnet 20 einen AGP-Port, der eine Schnitt­ stelle zum Verbinden einer außerhalb des geometrischen Arith­ metikprozessors 100 angeordneten (nicht gezeigten) Host-CPU bzw. zentralen Verarbeitungseinheit mit dem geometrischen Arithmetikprozessor 100 ist, bezeichnet 5 einen RC-Port bzw. eine Ausgabesteuereinheit, die eine Schnittstelle zu einem sekundären Bus 6 ist, bezeichnet 30 eine PCI-Brücke zwischen dem AGP-Port 20 und der Ausgabesteuereinheit 5, und bezeich­ net 40 eine Ausgabe-FIFO (oder OFIFO)-Datenübertragungs­ steuereinheit zum Steuern einer Datenübertragung von jeder in dem geometrischen Arithmetikkern 10 enthaltenen Prozessorein­ heit an die Ausgabesteuereinheit 5 und einer Datenübertragung von der Ausgabesteuereinheit 5 an den sekundären Bus 6. Fig. 22 zeigt ein Blockdiagramm, das die Strukturen des bekannten geometrischen Arithmetikkerns 10, der OFIFO-Datenübertra­ gungssteuereinheit 40 und der Ausgabesteuereinheit 5 wie in Fig. 21 dargestellt zeigt. In Fig. 22 bezeichnet ein Bezugs­ zeichen 11 eine Ganzzahl- bzw. Integer-Verarbeitungseinheit IPU, bezeichnet 111 ein Datenausgaberegister DRIA zum Spei­ chern von Daten über ein Rechenergebnis von einer Ganzzahl- Arithmetik/Logik-Einheit bzw. Integer-ALU der IPU 11, be­ zeichnet 112 ein Datenausgaberegister DRIS zur Verwendung mit einer Schiebeeinrichtung, die zum Durchführen von Ganzzahl- Arithmetikoperationen verwendet wird, bezeichnet 114 einen Dreizustands- bzw. Tristate-Puffer, bezeichnen 12a bis 12d eine erste bis vierte Gleitpunkt-Arithmetikeinheit FPU0 bis FPU3, bezeichnet 121a ein Datenausgaberegister DRFA zum Spei­ chern von Daten über ein Rechenergebnis von einer Gleitpunkt- ALU der FPU0 12a, bezeichnet 122a ein Datenausgaberegister DRFM zum Speichern von Daten über ein Rechenergebnis von ei­ nem Gleitpunkt-Multiplizierer der FPU0 12a, und bezeichnet 124a einen Tristate-Puffer. Es erübrigt sich zu sagen, daß jede der übrigen Gleitpunktverarbeitungseinheiten FPU1 12b bis FPU3 12d ein DRFA, ein DRFM und einen Tristate-Puffer enthält.
Ein Bezugszeichen 421 bezeichnet einen Übertragungsbetriebs­ arteinstellabschnitt zum Einstellen einer Übertragungsbe­ triebsart, die identifiziert, welche zumindest eine der IPU 11 und der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 12a bis FPU3 12d Daten an die Ausgabesteuereinheit 5 übertra­ gen soll, bezeichnet 431 einen Voll-Flag-Prüfabschnitt zum Empfangen eines Voll-Flags bzw. Kennzeichenbits von der Aus­ gabesteuereinheit 5 und Ermitteln, ob die OFIFO-Datenüber­ tragungsteuereinheit Daten an die Ausgabesteuereinheit 5 übertragen kann, bezeichnet 441 einen Ausgabe-bzw. O-Bus- Dateneingabeabschnitt zum Schreiben von Daten, die auf dem O-Bus 3 geliefert werden, in ein Adreßregister desselben, falls die Daten eine Adresse sind, und andernfalls Schreiben der Daten in ein Datenregister desselben, bezeichnet 451 ei­ nen WCR-Steuerabschnitt zum Steuern eines Wortzählers bzw. WCR, der die Größe jedes Datenbündels bei der Datenübertra­ gung an die Ausgabesteuereinheit 5 angibt, bezeichnet 461 ei­ nen Datenausgabeabschnitt zum Durchführen der Datenübertra­ gung während des Steuerns der Datenübertragung an die Ausga­ besteuereinheit, bezeichnet 51 einen in der Ausgabesteuerein­ heit 5 enthaltenen Ausgabe-FIFO bzw. OFIFO-Abschnitt, und be­ zeichnet 511 einen Adreßspeicherabschnitt zum Speichern einer Anfangsadresse von in einem entsprechenden OFIFO 512 gespei­ cherten Daten. Die Ausgabesteuereinheit 5 kann acht OFIFO- Abschnitte 51 enthalten. Die Datenausgabeeinheit 461 kann ein Gültig-Flag, das angibt, ob der Wert des Datenregisters in­ nerhalb des O-Bus-Dateneingabeabschnitts 441 gültig ist oder nicht, ein Adresse-Flag, das angibt, ob die vorübergehend in dem O-Bus-Dateneingabeabschnitt 411 gespeicherten Daten eine Adresse sind oder nicht, und ein Letztes-Flag, das angibt, ob die Daten die letzten jedes Datenbündels sind oder nicht, für die die acht OFIFO-Einheiten 51 enthaltende Ausgabesteuerein­ heit 5 sowie die Daten erzeugen und liefern. Das Letztes-Flag ist auch ein Anstoßsignal zum Auslösen, daß die Ausgabesteu­ ereinheit 5 die Daten über den sekundären Bus 6 an ein (nicht gezeigtes) Render- bzw. Wiedergabe-LSI überträgt.
Nachstehend wird der Betriebsablauf der bekannten Ausgabe- FIFO-Datenübertragungssteuereinrichtung unter Bezugnahme auf Fig. 23 beschrieben. Fig. 23 ist ein Zeitverlaufsdiagramm, das den Betriebsablauf der bekannten Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung zeigt. Es sei angenommen, daß An­ weisungen zur Datenübertragung an ein OFIFO 512 aufeinander­ folgend wie folgt ausgegeben werden:
  • 1. Datenübertragungsanweisung (A);
    Zielkode ofifo0: von IPU an OFIFO (Daten 1)
  • 2. Datenübertragungsanweisung (B);
    Zielkode ofifo7: von FPU0, FPU1 und FPU2 an OFIFO (Daten 2, 3 und 4)
  • 3. Datenübertragungsanweisung (C);
    Zielkode ofifo3: von FPU0 und FPU1 an OFIFO (Daten 5 und 6)
  • 4. Datenübertragungsanweisung (D);
    Zielkode ofifo0: von IPU an OFIFO (Daten 7)
  • 5. Datenübertragungsanweisung (E);
    Zielkode ofifof: von FPU0, FPU1, FPU2 und FPU3 an OFIFO (Daten 8, 9, 10 und 11)
  • 6. Datenübertragungsanweisung (F);
    Zielkode ofifo3: von FPU0 und FPU1 an OFIFO (Daten 12 und 13)
Jede der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 12a bis FPU3 12d kann in Übereinstimmung mit SIMD (single in­ struction stream, multiple data stream)-Anweisungen arbeiten und eine Vielzahl von Daten verarbeiten, wenn eine Anweisung ausgegeben wird. Jede der Vielzahl der gezeigten Datenüber­ tragungsanweisungen (A) bis (F) kann durch einen Mikrokode ausgegeben werden. Beispielsweise ordnet die Datenübertra­ gungsanweisung (B) an, daß die FPU0 12a, die FPU1 12b und die FPU2 12c gleichzeitig arithmetische Operationen durchführen und das Rechenergebnis (d. h. Daten 2, 3 und 4) an ein oder mehrere OFIFOs 512 innerhalb der Ausgabesteuereinheit 5 in der Reihenfolge FPU0, FPU1 und FPU2 liefern.
Jedes Mal, wenn ein Mikrokode ausgeführt und eine Datenüber­ tragungsanweisung wie beispielsweise eine der Vielzahl der Datenübertragungsanweisungen (A) bis (F) wie vorstehend er­ wähnt ausgegeben werden, können entweder die IPU 11 oder zu­ mindest eine der Vielzahl von Gleitpunktverarbeitungseinhei­ ten FPU0 12a bis FPU3 12d, die der Datenübertragungsanweisung zugeordnet ist/sind, IPUouse oder FPUouse an die OFIFO-Daten­ übertragungssteuereinheit 40 liefern. Wie in Fig. 23 gezeigt wird, wenn die Datenübertragungsanweisung (B) ausgeführt und FPUouse so festgehalten bzw. gesichert ist, daß der Zustand von FPUouse 1 ist, und danach FPUouse negiert ist, nachdem die Datenübertragungsanweisung (A) zuerst ausgeführt ist, und IPUouse so festgehalten ist, daß IPUouse 1 ist, und danach IPUouse negiert ist, ein Haltsignal niedrigpegelig festgehal­ ten. Da eine Vielzahl von in Übereinstimmung mit einer SIMD- Anweisung verarbeiteten Daten auf den Signal-O-Bus 3 ausge­ sendet werden können, wenn arithmetische Anweisungen für die­ selbe Verarbeitungseinheit sequentiell ausgegeben werden, wie in dem Fall, in dem die Datenübertragungsanweisung (C) unmit­ telbar nach der Ausführung der Datenübertragungsanweisung (B) ausgeführt wird, kann die Ausführung der nächsten Datenüber­ tragungsanweisung vor dem Auslesen allen der vorangehenden Datenübertragungsanweisung zugeordneten Daten in einem Über­ schreiben sämtlicher der in den entsprechenden Datenausgabe­ registern gespeicherten Daten, wie beispielsweise DRFA und DRFM jeder Gleitpunktverarbeitungseinheit, mit neuen Rechen­ ergebnissen resultieren. Um das Überschreiben zu vermeiden, ist es notwendig, das Haltsignal festzuhalten, um den geome­ trischen Arithmetikkern 10 zu veranlassen, in den Wartezu­ stand einzutreten, in welchem er die Verarbeitung der Anwei­ sungspipeline anhält, wie in Fig. 23 gezeigt. Wenn das Halt­ signal festgehalten wird, nachdem entweder die IPU 11 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungsein­ heiten FPU0 12a bis FPU3 12d, die einer ausgegebenen Daten­ übertragungsanweisung zugeordnet sind, IPUouse oder FPUouse an die OFIFO-Datenübertragungssteuereinheit 40 liefert, lie­ fert die OFIFO-Datenübertragungssteuereinheit ein Lesenfrei­ gabesignal, um aufeinanderfolgend sämtliche der Datenübertra­ gungsanweisung zugeordneten Daten von allen entsprechenden Verarbeitungseinheiten zu lesen. Die bekannte Ausgabe-FIFO- Datenübertragungssteuereinrichtung benötigt folglich viel Zeit zur Datenübertragung an den OFIFO, weil sie den geome­ trischen Arithmetikkern 10 häufig veranlassen muß, in den Wartezustand einzutreten, in dem er die Verarbeitung der An­ weisungspipeline anhält, um das Überschreiben alter, einer vorangehenden Datenübertragungsanweisung zugeordneter Rechen­ ergebnisse, welche unmittelbar vor der Ausführung einer ge­ genwärtigen Datenübertragungsanweisung ausgeführt wurde, mit neuen Rechenergebnissen, die durch die Ausführung der gegen­ wärtigen Datenübertragungsanweisung erzeugt wurden, zu ver­ meiden.
Ein Problem bei der bekannten, wie vorstehend aufgebauten Ausgabe-FIFO-Datenübertragungssteuereinrichtung besteht daher darin, daß obwohl die IPU 11 und die Vielzahl von Gleitpunkt­ verarbeitungseinheiten FPU0 bis FPU3, die in dem geometri­ schen Arithmetikkern 10 enthalten sind, Rechenoperationen gleichzeitig durchführen können, der geometrische Arithmetik­ kern 10 häufig in den Wartezustand eintreten muß, in welchem er die Verarbeitung der Anweisungspipeline anhält, bis er Da­ ten von jeder Verarbeitungseinheit auf den O-Bus aussendet, wodurch somit die Zeit, die zur Datenübertragung an das FIFO benötigt wird, erhöht und die Verarbeitungsleistung des geo­ metrischen Arithmetikkerns 10 verringert werden. Die Erfin­ dung zielt darauf ab, das vorstehende Problem zu überwinden.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Ausgabe- FIFO-Datenübertragungssteuereinrichtung bereitzustellen, die in der Lage ist, Anweisungen fortlaufend auszuführen, während Daten über Rechenergebnisse an eine OFIFO-Einheit übertragen werden, ohne daß veranlaßt werden muß, daß ein geometrischer Arithmetikkern in einen Wartezustand eintritt, in dem er die Verarbeitung der Anweisungspipeline anhält.
Diese Aufgabe wird erfindungsgemäß gelöst durch eine Ausgabe- FIFO-Datenübertragungssteuereinrichtung, gekennzeichnet durch eine Vielzahl von Zwischenpuffern, die jeweils in einer Viel­ zahl von in einem Arithmetikkern, der auf der Grundlage einer Anweisungspipeline arbeitet, enthaltenen Verarbeitungseinhei­ ten angeordnet sind, wobei jeder der Vielzahl von Zwischen­ puffern Daten über ein durch jede der Vielzahl von Verarbei­ tungseinheiten erzeugtes Rechenergebnis speichert; eine Aus­ gabesteuereinrichtung, umfassend ein oder mehrere FIFOs, von welchen jedes Daten empfängt, die durch jede der Vielzahl von Verarbeitungseinheiten geliefert wurden, und vorübergehend die Daten speichert, wobei die Ausgabesteuereinrichtung in den Ausgabe-FIFOs gespeicherte Daten in Antwort auf ein an sie angelegtes vorbestimmtes Signal nach außerhalb der Ausga­ be-FIFO-Datenübertragungssteuereinrichtung liefert; eine Schreib/Lese-Zeigererzeugungseinrichtung zum dann, wenn eine Anweisung zur Datenübertragung von zumindest einer der Viel­ zahl von Verarbeitungseinheiten an die Ausgabe-FIFOs bei Aus­ führung eines Mikrokodes ausgegeben wird, Erzeugen eines Schreibzeigers, der einen bestimmten Ort identifiziert, an dem durch die zumindest eine der Vielzahl von Verarbeitungs­ einheiten, die der Anweisung zugeordnet sind, erzeugte Daten über ein Rechenergebnis in dem Zwischenpuffer der zumindest einen der Vielzahl von Verarbeitungseinheiten zu speichern sind, und zum Erzeugen eines Lesezeigers, der einen bestimm­ ten Ort identifiziert, an dem Daten, welche in Übereinstim­ mung mit dem Schreibzeiger in den Zwischenpuffer geschrieben sind, aus dem Zwischenpuffer der zumindest einen der Vielzahl von Verarbeitungseinheiten auszulesen sind; eine Übertra­ gungsbetriebsarteinstelleinrichtung zum Einstellen einer Übertragungsbetriebsart, die identifiziert, welche zumindest eine der Vielzahl von Verarbeitungseinheiten Daten über ein Rechenergebnis bei Ausführung des Mikrokodes übertragen soll, und zum aufeinanderfolgenden Liefern eines Lesefreigabesi­ gnals an die zumindest eine der Vielzahl von Verarbeitungs­ einheiten, um die Daten aus dem Zwischenpuffer der zumindest einen der Vielzahl von Verarbeitungseinheiten auszulesen; ei­ ne Buseinrichtung, auf der die Daten in Antwort auf das Lese­ freigabesignal durch die zumindest eine der Vielzahl von Ver­ arbeitungseinheiten ausgesendet werden; eine Dateneingabeein­ richtung zum Empfangen der auf die Buseinrichtung ausgesende­ ten Daten und zum Schreiben der Daten in ein Register dersel­ ben; und eine Datenausgabeeinrichtung zum Liefern der in das Register der Dateneingabeeinrichtung geschriebenen Daten an die Ausgabe-FIFOs der Ausgabesteuereinrichtung.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel umfaßt die Schreib/Lese-Zeigererzeugungseinrichtung eine Ein­ richtung zum Veranlassen des Arithmetikkerns, die Verarbei­ tung der Anweisungspipeline anzuhalten, um ein Überschreiben von alten Daten mit neuen Daten zu hemmen, wenn die Schreib/- Lese-Zeigererzeugungseinrichtung ermittelt, daß der Zwi­ schenpuffer jeder der Vielzahl von Verarbeitungseinheiten voll ist.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel ermittelt die Schreib/Lese-Zeigererzeugungseinrichtung in Übereinstimmung mit einer Beziehung zwischen dem Schreibzei­ ger und dem Lesezeiger, ob der Zwischenpuffer jeder der Viel­ zahl von Verarbeitungseinheiten voll ist.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel hat der Zwischenpuffer jeder der Vielzahl von Verarbeitungs­ einheiten eine Größe von 8 Worten.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel umfaßt der Arithmetikkern eine Ganzzahlverarbeitungseinheit und eine Vielzahl von Gleitpunktverarbeitungseinheiten, und erzeugt die Schreib/Lese-Zeigererzeugungseinrichtung einen Satz von Schreib- und Lesezeigern zur Verwendung mit dem Zwi­ schenpuffer der Ganzzahlverarbeitungseinheit, und einen wei­ teren Satz von Schreib- und Lesezeigern zur Verwendung mit den Zwischenpuffern der Vielzahl von Gleitpunktverarbeitungs­ einheiten.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel umfaßt die Buseinrichtung einen Bus zur Verwendung mit der Ganzzahlverarbeitungseinheit und einen weiteren Bus zur Ver­ wendung mit den Gleitpunktverarbeitungseinheiten.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel stellt die Übertragungsbetriebsarteinstelleinrichtung eine Übertragungsbetriebsart in Übereinstimmung mit einem durch den Arithmetikkern bei Ausführung des Mikrokodes gelieferten Mehrfachbitsignal ein, wobei das Mehrfachbitsignal identifi­ ziert, welche zumindest eine der Vielzahl von Verarbeitungs­ einheiten Daten über ein Rechenergebnis übertragen soll.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel ist eine DMA/Versende-Übertragungsumschalteinrichtung vorge­ sehen zum Umschalten zwischen einer DMA-Übertragung und einer Versendeübertragung, wenn die Daten aus den Ausgabe-FIFOs nach außerhalb der Ausgabe-FIFO-Datenübertragungssteuerein­ richtung übertragen werden.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel ist eine Wortzählerregistersteuereinrichtung vorgesehen, die einen Wortzähler, der die Größe jedes Datenbündels der Daten­ übertragung an die Ausgabe-FIFOs zeigt, und ein Register, bei dem ein Bit einem Letztes-Flag, das angibt, daß zu übertra­ gende Daten die letzten Daten jedes Datenbündels sind, zuge­ wiesen ist, umfaßt, und wobei die DMA/Versende-Übertragungs­ umschalteinrichtung zwischen der DMA-Übertragung und der Ver­ sendeübertragung durch Ermitteln, ob das Letztes-Flag an die die Ausgabe-FIFOs umfassende Ausgabesteuereinrichtung gelie­ fert ist, in Übereinstimmung mit einem in das Register der Wortzählerregistersteuereinrichtung bei Ausführung des Mikro­ kodes gesetzten Wert umschaltet, und die Ausgabesteuerein­ richtung in den Ausgabe-FIFOs gespeicherte Daten in Antwort auf das Letztes-Flag nach außerhalb der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung überträgt.
In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel ist eine Voll-Prüfeinrichtung vorgesehen zum Ermitteln, ob jeder der Ausgabe-FIFOs voll ist oder nicht, zu der Zeit, die durch vorbestimmte Information, die angibt, ob eine Schnitt­ stelle zur Verwendung mit der Datenübertragung von den Ausga­ be-FIFOs nach außerhalb der Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung ein AGP- oder ein PCI-Bus ist, festgelegt ist.
Die Erfindung wird nachstehend anhand bevorzugter Ausfüh­ rungsbeispiele unter Bezugnahme auf die beigefügte Zeichnung näher beschrieben. Es zeigen:
Fig. 1 ein Blockdiagramm, das die Struktur einer Ausgabe- FIFO-Datenübertragungssteuereinrichtung gemäß einem ersten Ausführungsbeispiel zeigt;
Fig. 2 ein Blockdiagramm, das die Struktur eines Beispiels eines Zwischenpuffers oder eines Datenausgangspuffers zeigt, der in jedem von einer Vielzahl von Verarbeitungseinheiten innerhalb der Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem ersten Ausführungsbeispiel enthalten ist;
Fig. 3 eine Tabelle, die einen Zielkode innerhalb Datenüber­ tragungsanweisungen zur Verwendung mit der Ausgabe-FIFO-Da­ tenübertragungssteuereinrichtung gemäß dem ersten Ausfüh­ rungsbeispiel zeigt;
Fig. 4 ein Zeitverlaufsdiagramm, das einen Vorgang des Schreibens von Daten in Datenausgangspuffer der Ausgabe-FIFO- Datenübertragungssteuereinrichtung gemäß dem ersten Ausfüh­ rungsbeispiel zeigt;
Fig. 5 ein Zeitverlaufsdiagramm, das einen Vorgang des Lesens von Daten aus den Datenausgangspuffern und aussenden der Da­ ten auf einen O-Bus der Ausgabe-FIFO-Datenübertragungssteuer­ einrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
Fig. 6 ein Diagramm, das ein Beispiel von Orten, an die Daten in die Datenausgangspuffer durch die Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung gemäß dem ersten Ausführungsbei­ spiel geschrieben werden, zeigt;
Fig. 7 ein Blockdiagramm, das die Struktur einer Ausgabe- FIFO-Datenübertragungssteuereinrichtung gemäß einem zweiten Ausführungsbeispiel zeigt;
Fig. 8 ein Zeitverlaufsdiagramm, das einen Vorgang des Hem­ mens des Schreibens von Daten in die Datenausgangspuffer der Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem zweiten Ausführungsbeispiel zeigt;
Fig. 9 ein Diagramm, das eine Beziehung zwischen einem Schreibzeiger und einem Lesezeiger vor Ausführung einer An­ weisung 3 wie in Fig. 8 gezeigt zeigt;
Fig. 10 ein Zeitverlaufsdiagramm, das einen Betriebsablauf der Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem zweiten Ausführungsbeispiel zeigt, wenn ein Haltsignal wegen aus einem anderen Grund als dem Ziel des Anhaltens des Schreibens von Daten in die Datenausgangspuffer festgehalten wird;
Fig. 11 ein Blockdiagramm, das die Struktur einer Ausgabe- FIFO-Datenübertragungssteuereinrichtung gemäß einem dritten Ausführungsbeispiel zeigt;
Fig. 12 ein Diagramm, das ein Beispiel von Orten, an denen Daten in die Datenausgangspuffer durch die Ausgabe-FIFO-Da­ tenübertragungssteuereinrichtung gemäß dem dritten Ausfüh­ rungsbeispiel geschrieben werden, zeigt;
Fig. 13 ein Blockdiagramm, das die Struktur einer Ausgabe- FIFO-Datenübertragungssteuereinrichtung gemäß einem vierten Ausführungsbeispiel zeigt;
Fig. 14 ein Zeitverlaufsdiagramm, das einen Vorgang des Le­ sens von Daten aus den Datenausgangspuffern und das Aussenden der Daten auf den O-Bus der Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung gemäß dem vierten Ausführungsbeispiel zeigt;
Fig. 15 ein Blockdiagramm, das die Struktur einer Ausgabe- FIFO-Datenübertragungssteuereinrichtung gemäß einem fünften Ausführungsbeispiel zeigt;
Fig. 16 ein Blockdiagramm, das die Struktur einer Ausgabe- FIFO-Datenübertragungssteuereinrichtung gemäß einem sechsten Ausführungsbeispiel zeigt;
Fig. 17 ein Zeitverlaufsdiagramm, das einen Versendeübertra­ gungsvorgang der Ausgabe-FIFO-Datenübertragungssteuereinrich­ tung gemäß dem sechsten Ausführungsbeispiel zeigt;
Fig. 18 ein Zeitverlaufsdiagramm, das einen DMA-Übertra­ gungsvorgang der Ausgabe-FIFO-Datenübertragungssteuerein­ richtung gemäß dem sechsten Ausführungsbeispiel zeigt;
Fig. 19(a) ein Diagramm, das ein Beispiel von Orten, an die Daten in OFIFOs in dem Fall der Versendeübertragung durch die Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem sechsten Ausführungsbeispiel geschrieben werden, zeigt;
Fig. 19(b) ein Diagramm, das ein Beispiel von Orten, an die Daten in ein OFIFO in dem Fall der DMA-Übertragung durch die Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem sechsten Ausführungsbeispiel geschrieben werden, zeigt;
Fig. 20(a) ein Diagramm, das Orte, an die Daten in ein OFIFO geschrieben werden, und eine Sequenz, in welcher die Daten in einer AGP-Betriebsart durch eine Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung gemäß einem siebten Ausführungsbei­ spiel in das OFIFO geschrieben werden, zeigt;
Fig. 20(b) ein Diagramm, das Orte, an die Daten in ein OFIFO geschrieben werden, und eine Sequenz, in welcher die Daten in einer PCI-Betriebsart durch die Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung gemäß dem siebten Ausführungsbeispiel in das OFIFO geschrieben werden, zeigt;
Fig. 20(c) ein Diagramm, das Orte, an die Daten in ein OFIFO geschrieben werden, und eine Sequenz, in welcher die Daten in einer verbesserten PCI-Betriebsart durch die Ausgabe-FIFO- Datenübertragungssteuereinrichtung gemäß dem siebten Ausfüh­ rungsbeispiel in das OFIFO geschrieben werden, zeigt;
Fig. 21 ein Blockdiagramm, das die Struktur eines geometri­ schen Arithmetikprozessors einschließlich einer bekannten Ausgabe-FIFO-Datenübertragungssteuereinrichtung zeigt;
Fig. 22 ein Blockdiagramm, das die Struktur der bekannten Ausgabe-FIFO-Datenübertragungssteuereinrichtung zeigt; und
Fig. 23 ein Zeitverlaufsdiagramm, das den Betriebsablauf der bekannten Ausgabe-FIFO-Datenübertragungssteuereinrichtung zeigt.
Erstes Ausführungsbeispiel
Bezugnehmend auf Fig. 1 ist ein Blockdiagramm dargestellt, das die Struktur einer Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung gemäß einem ersten Ausführungsbeispiel zeigt. In der Figur bezeichnet ein Bezugszeichen 10 einen geometrischen Arithmetikkern zum Durchführen einer grafischen 3D-Verarbeitung, bezeichnet 1 eine Integer- bzw. Ganzzahlver­ arbeitungseinheit IPU, bezeichnet 11 ein Datenausgaberegister DRIA zum Speichern von Daten über ein Rechenergebnis von ei­ ner (nicht gezeigten) Integer- bzw. Ganzzahl-ALU der IPU 1, bezeichnet 12 ein Datenausgaberegister DRIS zur Verwendung mit einer Schiebeeinrichtung, die zum Durchführen von Ganz­ zahl-Arithmetikoperationen verwendet wird, bezeichnet 13 ei­ nen Zwischenpuffer oder Datenausgangspuffer, bezeichnet 14 einen Dreizustands- bzw. Tristate-Puffer, bezeichnen 2a bis 2d eine erste bis vierte Gleitpunktverarbeitungseinheit FPU0 bis FPU3, bezeichnet 21a ein Datenausgaberegister DRFA zum Speichern von Daten über ein Rechenergebnis von einer (nicht gezeigten) Gleitpunkt-ALU der FPU0 2a, bezeichnet 22a ein Da­ tenausgaberegister DRFM zum Speichern von Daten über ein Re­ chenergebnis von einem (nicht gezeigten) Gleitpunkt-Multipli­ zierer der FPU0 2a, bezeichnet 23a einen Zwischenpuffer oder Datenausgangspuffer, und bezeichnet 24a einen Tristate-Puf­ fer. Es erübrigt sich zu sagen, daß jede der übrigen Gleit­ punktverarbeitungseinheiten FPU1 2b bis FPU3 2d ein DRFA, ein DRFM, einen Datenausgangspuffer und einen Tristate-Puffer um­ faßt.
Darüber hinaus bezeichnet ein Bezugszeichen 3 einen Ausgabe­ bus bzw. O-Bus, bezeichnet 4 eine OFIFO-Datenübertragungs­ steuereinheit zum Steuern einer Datenübertragung von entweder der IPU 1 oder zumindest einer der Vielzahl von Gleitpunkt­ verarbeitungseinheiten FPU0 2a bis FPU3 2d an ein OFIFO 512 einer Ausgabesteuereinheit 5, und bezeichnet 41 einen Schreib/Lese-Zeigererzeugungsabschnitt, der auf ein Daten­ übertragungsanweisungssignal IPUouse oder FPUouse von entwe­ der der IPU 1 oder der Vielzahl von Gleitpunktverarbeitungs­ einheiten FPU0 2a bis FPU3 2d anspricht, wobei das Datenüber­ tragungsanweisungssignal die Ausgabe einer Datenübertragungs­ anweisung zur Datenübertragung an ein OFIFO 512 angibt, zum Erzeugen und Liefern eines Schreibzeigers an den Absender des Datenübertragungsanweisungssignals IPUouse oder FPUouse, und wobei der Schreibzeiger einen bestimmten Ort identifiziert, an dem Daten über zumindest ein Rechenergebnis von dem Absen­ der des Datenübertragungsanweisungssignals zu speichern oder in einen entsprechenden Datenausgangspuffer zu schreiben sind. Die Schreib/Lese-Zeigererzeugungseinrichtung 41 erzeugt und liefert auch einen Lesezeiger an eine entsprechende Ver­ arbeitungseinheit, wobei der Lesezeiger einen bestimmten Ort identifiziert, an dem Daten aus dem Datenausgangspuffer der IPU 1 oder zumindest einer der Vielzahl von Gleitpunktverar­ beitungseinheiten FPU0 2a bis FPU3 2d auszulesen sind. Die Daten sind diejenigen, die in Übereinstimmung mit dem durch den Schreib/Lese-Zeigererzeugungsabschnitt 41 erzeugten Schreibzeiger in den Datenausgangspuffer geschrieben wurden. Ein Bezugszeichen 42 bezeichnet eine Übertragungsbetriebsart­ einstelleinheit zum Einstellen einer Übertragungsbetriebsart, die identifiziert, welche zumindest eine der IPU 1 und der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d Daten an die Ausgabesteuereinheit 5 übertragen soll, in Übereinstimmung mit einem Signal Mode, das die Übertra­ gungsbetriebsart von entweder der IPU 1 oder der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d angibt, und zum Erzeugen und Liefern zumindest eines Lesefreigabesi­ gnals (entweder eines IPU-Lesefreigabesignals oder zumindest eines von FPU0- bis FPU3-Lesefreigabesignalen) an zumindest eine Verarbeitungseinheit, die eine Datenübertragung in Über­ einstimmung mit der Übertragungsbetriebsart angefordert hat, bezeichnet 43 einen Voll-Flag-Prüfabschnitt zum Empfangen ei­ nes Voll-Flags von der Ausgabesteuereinheit 5 und Ermitteln, ob die OFIFO-Datenübertragungssteuereinheit Daten an die Ausgabesteuereinheit 5 übertragen kann, bezeichnet 44 einen O-Bus-Dateneingabeabschnitt zum Schreiben von auf dem O-Bus 3 gelieferten Daten in ein Adreßregister desselben, wenn die Daten eine Adresse sind, und andernfalls Schreiben der Daten in ein Datenregister desselben, Inkrementieren der vorherigen Adresse, welche er vor dem Empfangen der Daten erzeugt hat, um Eins, und Schreiben der gegenwärtigen Adresse in das Adreßregister, bezeichnet 45 einen WCR-Steuerabschnitt zum Steuern eines Wortzählers bzw. WCR, der die Größe jedes Da­ tenbündels zur Datenübertragung an die Ausgabesteuereinheit 5 angibt, bezeichnet 46 einen Datenausgabeabschnitt zum Durch­ führen der Datenübertragung während des Steuerns der Daten­ übertragung an die Ausgabesteuereinheit 5, bezeichnet 51 ei­ nen in der Ausgabesteuereinheit 5 enthaltenen Ausgabe-FIFO (OFIFO)-Abschnitt, und bezeichnet 511 einen Adreßspeicherab­ schnitt zum Speichern einer Anfangsadresse von in einem ent­ sprechenden der Vielzahl von OFIFOs 512 gespeicheren Daten. Die Ausgabesteuereinheit 5 kann acht OFIFO-Abschnitte 51 ent­ halten. Der Datenausgabeabschnitt 46 kann ein Gültig-Flag, das angibt, ob der Wert des Datenregisters innerhalb des O- Bus-Dateneingabeabschnitts 44 gültig ist oder nicht, ein Adresse-Flag, das angibt, ob die vorübergehend in dem O-Bus- Dateneingabeabschnitt 44 gespeicherten Daten eine Adresse sind oder nicht, und ein Letztes-Flag, das angibt, ob die Da­ ten die letzten Daten jedes Datenbündels sind oder nicht, er­ zeugen und ebenso wie die Daten an die die acht OFIFO-Ab­ schnitte 51 enthaltende Ausgabesteuereinheit 5 liefern. Das Letztes-Flag ist auch ein Anstoßsignal zum Veranlassen der Ausgabesteuereinheit 5, die Daten mittels einem sekundären Bus 6 an ein (nicht gezeigtes) Render- bzw. Wiedergabe-LSI zu übertragen.
In der Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem ersten Ausführungsbeispiel kann der Datenausgangspuffer jeder Verarbeitungseinheit, wie beispielsweise der IPU 1 oder jeder der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d eine Größe von 8 Worten haben, wie in Fig. 2 gezeigt. Die acht Einwortbereiche des Datenausgangspuffers jeder Verarbeitungseinheit können von jeweils 0 bis sieben numeriert werden. Es erübrigt sich zu sagen, daß die Größe des Datenausgangspuffers jeder Verarbeitungseinheit nicht auf acht Worte beschränkt ist. Da der geometrische Arithmetikkern 10 in den meisten Fällen jedoch arithmetische Operationen in Einheiten von acht Worten durchführt, macht es das Festlegen der Größe des Datenausgangspuffers jeder Verarbeitungseinheit auf acht Worte, wie in Fig. 2 gezeigt, möglich, Daten mit ho­ her Geschwindigkeit zu übertragen.
Im Betrieb können jede der IPU 1 und der Vielzahl von Gleit­ punktverarbeitungseinheiten FPU0 2a bis FPU3 2d das Daten­ übertragungsanweisungssignal IPUouse oder FPUouse in Überein­ stimmung mit einer Anweisung zur Datenübertragung an ein OFI- FO 512 der Ausgabesteuereinheit 5 liefern. Eine Anweisung zur Datenübertragung an ein OFIFO 512 kann durch einen Mikrokode wie beispielsweise "add ilm[0], ilm[1], ofifo0" ausgegeben werden, worin add eine arithmetische IPU-Anweisung ist, die ein Rechenergebnis von der IPU 1 an ein OFIFO 512 liefert. Mikrokodes können in einem nicht gezeigten Anweisungs-RAM ge­ speichert werden. Ein nicht gezeigter Sequenzer bzw. Zuordner kann Mikrokodes holen und dekodieren sowie den Betriebsablauf jeder Verarbeitungseinheit innerhalb des geometrischen Arith­ metikkerns 10 steuern. Der letzte Teil des vorstehend erwähn­ ten Mikrokodes gibt das Ziel des Mikrokodes an; der mit einem Stern (*) markierte Teil von ofifo* identifiziert, welche zu­ mindest eine Verarbeitungseinheit, d. h. entweder die IPU I oder zumindest eine der Vielzahl von Gleitpunktverarbeitungs­ einheiten FPU0 2a bis FPU3 2d ihre Rechenergebnisse an ein OFIFO 152 übertragen soll.
In Übereinstimmung mit dem vorliegenden Ausführungsbeispiel besteht der in jedem Mikrokode enthaltene Zielkode, der eine Anweisung zur Datenübertragung an ein OFIFO 512 ausgeben kann, d. h. der Kode, der die Übertragungsbetriebsart angibt, aus vier Bit; Bit 0 bis 3 sind jeweils der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 bis FPU3 zugewiesen. Wenn Bit 0 Eins ist, wird der geometrische Arithmetikkern 10 in einer Übertragungsbetriebsart gehalten, in welcher er ein Rechenergebnis der FPU0 2a mittels der OFIFO-Datenübertra­ gungssteuereinheit an ein OFIFO 512 übertragen kann. Wenn Bit 1 Eins ist, wird der geometrische Arithmetikkern 10 in einer Übertragungsbetriebsart gehalten, in welcher er ein Rechener­ gebnis der FPU1 2b mittels der OFIFO-Datenübertragungssteuer­ einheit an ein OFIFO 512 übertragen kann. Wenn Bit 2 Eins ist, wird der geometrische Arithmetikkern 10 in einer Über­ tragungsbetriebsart gehalten, in welcher er ein Rechenergeb­ nis der FPU2 2c mittels der OFIFO-Datenübertragungssteuer­ einheit an ein OFIFO 512 übertragen kann. Wenn Bit 3 Eins ist, wird der geometrische Arithmetikkern 10 in einer Über­ tragungsbetriebsart gehalten, in welcher er ein Rechenergeb­ nis der FPU3 2d mittels der OFIFO-Datenübertragungssteuer­ einheit an ein OFIFO 512 übertragen kann. Wenn alle Bit Eins sind, wird der geometrische Arithmetikkern 10 in einer Über­ tragungsbetriebsart gehalten, in welcher er ein Rechenergeb­ nis der IPU 1 mittels der OFIFO-Datenübertragungssteuerein­ heit an ein OFIFO 512 übertragen kann. Somit kann der Über­ tragungsbetriebsarteinstellabschnitt 42 die Übertragungsbe­ triebsart in Übereinstimmung mit dem Übertragungsbetriebsart­ signal Mode von dem geometrischen Arithmetikkern 10 leicht einstellen, weil der Zielkode in jedem Mikrokode definiert ist. Der in dem geometrischen Arithmetikkern 10 nicht gezeig­ te Sequenzer dekodiert den Kode, der die Übertragungsbe­ triebsart angibt, und liefert dann den dekodierten Kode an entweder die IPU 1 oder die Vielzahl von Gleitpunktverarbei­ tungseinheiten FPU0 2a bis FPU3 2d, die dem dekodierten Ziel­ kode zugeordnet sind. Entweder die IPU 1 oder die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d lie­ fert dann das die Übertragungsbetriebsartsignal Mode sowie IPUouse oder FPUouse an die OFIFO-Datenübertragungssteuer­ einheit 4. Wie vorstehend erwähnt wurde, wird, da der geome­ trische Arithmetikkern 10 nur eine IPU enthält, die Übertra­ gungsbetriebsart automatisch ermittelt, wenn die IPU 1 IPUouse liefert. Die IPU 1 muß somit das Übertragungsbe­ triebsartsignal Mode nicht liefern.
Nachstehend wird der Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem ersten Ausführungs­ beispiel unter Bezugnahme auf Fig. 4 und 5 beschrieben. Fig. 4 und 5 sind Zeitverlaufsdiagramme, die den Betriebsablauf der Ausgabe-FIFO-Datenübertragungssteuereinrichtung zeigen. In der nachfolgenden Beschreibung sei angenommen, daß die An­ weisungen zur Datenübertragung an ein OFIFO 512 aufeinander­ folgend wie folgt ausgegeben werden:
  • 1. Datenübertragungsanweisung (A);
    Zielkode ofifo0: von IPU an OFIFO (Daten 1)
  • 2. Datenübertragungsanweisung (B);
    Zielkode ofifo7: von FPU0, FPU1 und FPU2 an OFIFO (Daten 2, 3 und 4)
  • 3. Datenübertragungsanweisung (C);
    Zielkode ofifo3: von FPU0 und FPU1 an OFIFO (Daten 5 und 6)
  • 4. Datenübertragungsanweisung (D);
    Zielkode ofifo0: von IPU an OFIFO (Daten 7)
  • 5. Datenübertragungsanweisung (E);
    Zielkode ofifof: von FPU0, FPU1, FPU2 und FPU3 an OFIFO (Daten 8, 9, 10 und 11)
  • 6. Datenübertragungsanweisung (F);
    Zielkode ofifo3: von FPU0 und FPU1 an OFIFO (Daten 12 und 13)
Jede der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die in Übereinstimmung mit SIMD-Anweisungen arbeitet, kann eine Vielzahl von Daten verarbeiten, wenn eine Anweisung ausgegeben wird. Jede der gezeigten Vielzahl von Datenübertragungsanweisungen (A) bis (F) kann durch einen Mi­ krokode ausgegeben werden. Zum Beispiel weist die Datenüber­ tragungsanweisung (B) die FPU0, die FPU1 und die FPU2 an, gleichzeitig arithmetische Operationen durchzuführen und de­ ren Rechenergebnisse (d. h. Daten 2, 3 und 4) in der Reihen­ folge FPU0, FPU1 und FPU2 an ein OFIFO 512 zu liefern. Ein solcher Prozeß des aufeinanderfolgenden Lieferns einer Viel­ zahl von Daten an ein OFIFO 512 wird als parallel/seriell transformierender Prozeß bezeichnet.
Jedes Mal, wenn ein Mikrokode ausgeführt wird und eine Daten­ übertragungsanweisung wie beispielsweise eine der Vielzahl von Datenübertragungsanweisungen (A) bis (F) wie vorstehend erwähnt ausgegeben wird, kann entweder die IPU 1 oder die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die der Datenübertragungsanweisung zugeordnet sind, IPUouse oder FPUouse an die OFIFO-Datenübertragungssteuer­ einheit 4 liefern. Der Schreib/Lese-Zeigererzeugungsabschnitt 41 der OFIFO-Datenübertragungssteuereinheit 4 erzeugt dann einen Schreibzeiger in Antwort auf IPUouse oder FPUouse. Wenn IPUouse den Zustand 1 annimmt, wie in Fig. 4 gezeigt, erzeugt der Schreib/Lese-Zeigererzeugungsabschnitt 41 einen Schreib­ zeiger mit einem Anfangswert im Zustand 0 und liefert dann den Schreibzeiger an die IPU 1, welche der Absender von IPUouse ist. Jedes Mal, wenn der Schreib/Lese-Zeigererzeu­ gungsabschnitt 41 entweder IPUouse oder FPUouse empfängt, d. h. jedes Mal, wenn IPUouse oder FPUouse in einem Taktzy­ klus im Zustand 1 ist, aktualisiert der Schreib/Lese-Zeiger­ erzeugungsabschnitt 41 den Schreibzeiger durch Inkrementieren des Schreibzeigers um Eins und liefert dann den aktualisier­ ten Schreibzeiger an den Absender von entweder IPUouse oder FPUouse.
Entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, welche der Absender von IPUouse oder FPUouse ist, erzeugt ein Schreibfreigabesignal mit einem anderen Wert als Null inner­ halb der Verarbeitungseinheit und schreibt Daten über ihr Re­ chenergebnis an einen bestimmten Ort innerhalb des Datenaus­ gangspuffers 13 oder 23a, 23b, 23c oder 23d, welcher durch den durch die Schreib/Lese-Zeigererzeugungsabschnitt 41 ge­ lieferten Schreibzeiger identifiziert wird. In dem in Fig. 4 gezeigten Beispiel erzeugen, wenn die Datenübertragungsanwei­ sung (B) ausgegeben wird, die FPU0 2a bis FPU2 2c jeweilige Schreibfreigabesignale mit einem Wert (oder einer Adresse) von "02" und schreiben jeweilige Rechnenergebnisdaten 2 bis 4 in bestimmte Orte, die innerhalb ihrer jeweiligen Datenaus­ gangspuffer 23a bis 23c mit 1 numeriert sind, welche durch den durch die Schreib/Lese-Zeigererzeugungsabschnitt 41 ge­ lieferten Schreibzeiger mit einem Wert von "1" identifiziert werden, wie in Fig. 6 gezeigt. Zu dieser Zeit werden mit dem wie in Fig. 4 gezeigten Zeitverhalten diejenigen Daten je­ weils in die bestimmten, mit 1 numerierten Orte innerhalb der Datenausgangspuffer 23a bis 23c geschrieben, welche durch den Schreibzeiger identifiziert werden. Auf diese Art und Weise inkrementiert jedes Mal, wenn daraufhin jede der Vielzahl von Datenübertragungsanweisungen (A) bis (F) ausgegeben wird, der Schreib/Lese-Zeigererzeugungsabschnitt 41 den Schreibzeiger um Eins und speichert daraufhin zumindest eine Verarbeitungs­ einheit, die jeder der Vielzahl von Datenübertragungsanwei­ sungen zugeordnet ist, ein Rechenergebnis in einem bestimmten Ort innerhalb des Datenausgangspuffers, welcher durch den Schreibzeiger identifiziert wird. Infolgedessen werden die Vielzahl von Daten 1 bis 13 aufeinanderfolgend in die Viel­ zahl von Datenausgangspuffern 13 und 23a bis 23d gespeichert, wie in Fig. 6 gezeigt.
Der Schreib/Lese-Zeigererzeugungsabschnitt 41 erzeugt auch einen Lesezeiger zum Lesen derjenigen Daten, welche in Über­ einstimmung mit dem Schreibzeiger geschrieben wurden, aus der Vielzahl von Datenausgangspuffern. Der Übertragungsbetriebs­ arteinstellabschnitt 42 schreibt Übertragungsbetriebsartin­ formationen, die angeben, welche zumindest eine Verarbei­ tungseinheit (entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d) Daten an ein OFIFO 512 übertragen soll, in Überein­ stimmung mit dem Übertragungsbetriebsartsignal Mode, welches der Übertragungsbetriebsarteinstellabschnitt empfängt, sowie IPUouse oder FPUouse in einen (nicht gezeigten) Puffer. Der Übertragungsbetriebsarteinstellabschnitt 42 erzeugt und lie­ fert dann ein Lesefreigabesignal (IPU-Lesefreigabesignal oder FPU0- (oder FPU1, FPU2 oder FPU3)-Lesefreigabesignal, die dem durch den Schreib/Lese-Zeigererzeugungsabschnitt 41 erzeugten Lesezeiger zugeordnet sind, an entweder die IPU 1 oder zumin­ dest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, welche durch die Übertragungsbetriebs­ artinformationen identifiziert wird. Im dem vorstehenden Bei­ spiel liefert der Übertragungsbetriebsarteinstellabschnitt 42 ein IPU-Lesefreigabesignal, das der Anweisung (A) zur Daten­ übertragung an ein OFIFO 512 zugeordnet ist, zunächst an die IPU 1, wie in Fig. 5 gezeigt. Danach liefert bei jedem Takt­ zyklus der Übertragungsbetriebsarteinstellabschnitt 42 auf­ einanderfolgend FPU0- bis FPU2-Lesefreigabesignale, die der Anweisung (B) zur Datenübertragung an ein OFIFO 512 zugeord­ net sind, an jeweils die FPU0 2a bis FPU2 2c, FPU0- und FPU1- Lesefreigabesignale, die der Anweisung (C) zur Datenübertra­ gung an ein OFIFO 512 zugeordnet sind, an die FPU0 2a und die FPU1 2b, ein IPU-Lesefreigabesignal, das der Anweisung (D) zur Datenübertragung an ein OFIFO 512 zugeordnet ist, an die IPU 1, FPU0- bis FPU3-Lesefreigabesignale, die der Anweisung (E) zur Datenübertragung an ein OFIFO 512 zugeordnet sind, an die FPU0 2a bis FPU3 2d, und FPU0- und FPU1-Lesefreigabesi­ gnale, die der Anweisung (F) zur Datenübertragung an ein OFI­ FO 512 zugeordnet ist, an die FPU0 2a und die FPU1 2b.
Wenn entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d ein die­ sen zugeführtes Lesefreigabesignal empfängt, liest sie Daten aus einem bestimmten Ort innerhalb ihres Datenausgangspuf­ fers, welcher durch den Lesezeiger identifiziert wird, wie in Fig. 5 gezeigt, und liefert dann die Daten auf den O-Bus 3. Nachdem der Übertragungsbetriebsarteinstellabschnitt 42 die Erzeugung sämtlicher Lesefreigabesignale, die einer Daten­ übertragungsanweisung in Übereinstimmung mit dem Übertra­ gungsbetriebsartsignal Mode zugeordnet sind, und sämtlicher Daten, beendet hat, und sämtliche Daten, die der Datenüber­ tragungsanweisung zugeordnet sind, auf dem O-Bus 3 erschienen sind, inkrementiert der Schreib/Lese-Zeigererzeugungsab­ schnitt 41 den Lesezeiger um Eins.
Wenn die Daten, die durch eine Verarbeitungseinheit auf den O-Bus 3 ausgesandt worden sind, eine Adresse sind, schreibt der O-Bus-Dateneingabeabschnitt 44 die Daten in sein (nicht gezeigtes) Adreßregister. Andernfalls schreibt der O-Bus- Dateneingabeabschnitt 44 die Daten in sein (nicht gezeigtes) Datenregister, und inkrementiert die vorangehende Adresse, welche er vor dem Empfang der Daten erzeugte, um Eins und schreibt die Adresse in das Adreßregister. Der Datenausgabe­ abschnitt 46 erzeugt und liefert ein Gültig-Flag, das angibt, ob der Wert des Datenregisters innerhalb des O-Bus-Datenein­ gabeabschnitts 44 gültig ist oder nicht, ein Adresse-Flag, das angibt, ob die vorübergehend in dem O-Bus-Dateneingabe­ abschnitt 44 gespeicherten Daten eine Adresse sind oder nicht, und ein Letztes-Flag, das angibt, ob die Daten die letzten jedes Datenbündels sind oder nicht, sowie die Daten an die die Vielzahl von OFIFOs 512 enthaltende Ausgabesteuer­ einheit 5. Das Letztes-Flag ist auch ein Anstoß-Signal zum Veranlassen der Ausgabesteuereinheit 5, die Daten mittels dem sekundären Bus 6 nach außerhalb der Einrichtung zu übertra­ gen.
Der WCR-Steuerabschnitt 45 umfaßt ein Register WCR zum Spei­ chern des Werts eines Übertragungswortzählers, wobei der Wert die Größe jedes Datenbündels der Datenübertragung an die Aus­ gabesteuereinheit 5 zeigt. Der Benutzer kann den Wert des Re­ gisters unter Verwendung eines Mikrokodes auf einen beliebi­ gen Wert setzen. Als Alternative kann eine nicht gezeigte Host-CPU den Wert des Registers setzen. Die Datenübertragung an ein OFIFO 512 der Ausgabesteuereinheit 5 kann in Einheiten von Datenbündeln bestehend aus (eine Adresse + N Daten) durchgeführt werden. In diesem Fall ist der Wert des Übertra­ gungswortzählers (d. h. der Wert von WCR) (N + 1).
Der Voll-Flag-Prüfabschnitt 43 prüft auf der Grundlage des durch die Ausgabesteuereinheit 5 gelieferten Voll-Flags, ob jede der Vielzahl von OFIFOs 512 voll ist. Wenn ermittelt wird, daß jede der Vielzahl von OFIFOs 512 voll ist, hält der Voll-Flag-Prüfabschnitt 43 die Datenübertragung an die Ausga­ besteuereinheit 5 an.
Nachstehend wird der Vergleich zwischen den Betriebsabläufen der Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem ersten Ausführungsbeispiel und der vorstehend erwähnten, be­ kannten Ausgabe-FIFO-Datenübertragungssteuereinrichtung unter Bezugnahme auf das Zeitverlaufsdiagramm, das den Betriebsab­ lauf der bekannten Ausgabe-FIFO-Datenübertragungssteuerein­ richtung gemäß Fig. 23 zeigt, beschrieben. Wenn mehrere arithmetische Anweisungen fortlaufend für dieselbe Verarbei­ tungseinheit ausgegeben werden, wenn die beiden aufeinander­ folgenden Datenübertragungsanweisungen (B) und (C) in dem vorstehenden Beispiel aufeinanderfolgend ausgegeben werden, wird eine Vielzahl von Daten, die in Übereinstimmung mit ei­ ner SIMD-Anweisung verarbeitet wurden, auf den nur einen O- Bus ausgesendet. Daher können, wenn die nächste Anweisung ausgegeben wird, bevor sämtliche Daten über Rechenergebnisse von einer oder mehr Verarbeitungseinheiten, die arithmetische Operationen in Übereinstimmung mit der vorangehenden Anwei­ sung durchgeführt haben, ausgelesen sind, Datenregister zum Speichern der Rechenergebnisse, wie beispielsweise ein DRFA und ein DRFM, mit neuen Daten überschrieben werden. Um das Überschreiben von alten Daten mit neuen Daten zu verhindern, muß der geometrische Arithmetikkern 10 durch Bewirken, daß ein Haltsignal den Zustand 0 annimmt, veranlaßt werden, in den Wartezustand einzutreten, wie in Fig. 23 gezeigt. Jedes Mal, wenn eine Datenübertragungsanweisung ausgeführt wird, liefert entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die der Datenübertragungsanweisung zugeordnet sind, IPUouse oder FPUouse an die Datenübertragungssteuereinheit 4, und das Haltsignal wird im Zustand 0 festgehalten. Die OFIFO- Datenübertragungssteuereinheit 4 liefert aufeinanderfolgend ein oder mehr Lesefreigabesignale, um Daten aus einer oder mehr entsprechenden Verarbeitungseinheiten, die der Daten­ übertragungsanweisung zugeordnet sind, auszulesen. Die be­ kannte Datenübertragungssteuereinrichtung braucht folglich viel Zeit, die für die Datenübertragung erforderlich ist, weil sie den geometrischen Arithmetikkern 10 veranlassen muß, in den Wartezustand einzutreten, wenn mehrere arithmetische Anweisungen fortlaufend für dieselbe Verarbeitungseinheit ausgegeben werden.
Demgegenüber kann jedes Mal dann, wenn eine Datenübertra­ gungsanweisung in dem geometrischen Arithmetikkern 10 ausge­ geben wird, die Ausgabe-FIFO-Datenübertragungssteuereinrich­ tung gemäß dem ersten Ausführungsbeispiel Daten, die der An­ weisung zugeordnet sind, in einem freien Bereich innerhalb des Datenausgangspuffers von zumindest einer Verarbeitungs­ einheit, die der Datenübertragungsanweisung zugeordnet ist, speichern, wie in Fig. 4 gezeigt, und dann die Daten aus dem Datenausgangspuffer von zumindest der Verarbeitungseinheit (d. h. der IPU 1 oder zumindest einer der Vielzahl von Gleit­ punktverarbeitungseinheiten FPU0 2a bis FPU3 2d), die der Da­ tenübertragungsanweisung zugeordnet sind, auslesen, um die Daten an ein OFIFO 512 zu übertragen, ohne den geometrischen Arithmetikkern 10 durch Aktivieren des Haltsignals veranlas­ sen zu müssen, in den Wartezustand einzutreten, wie in Fig. 5 gezeigt.
Wie vorstehend erwähnt wurde, kann die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem ersten Ausführungs­ beispiel Daten mit hoher Geschwindigkeit übertragen, ohne den geometrischen Arithmetikkern 10 veranlassen zu müssen, in den Wartezustand einzutreten und die Verarbeitung der Pipeline­ verarbeitung anzuhalten. Insbesondere macht es die Integrati­ on der Ausgabe-FIFO-Datenübertragungssteuereinrichtung gemäß dem ersten Ausführungsbeispiel in parallel verarbeitende LSIs bzw. Großintegrationsschaltungen, welche eine geometrische Verarbeitung für 3D-Grafiken mit hoher Geschwindigkeit durch­ führen müssen, möglich, eine Datenübertragung mit hoher Ge­ schwindigkeit parallel zu der Anweisungspipelineverarbeitung durchzuführen, ohne die Anweisungspipelineverarbeitung anhal­ ten zu müssen, so daß folglich die geometrische arithmetische Verarbeitung für 3D-Grafiken beschleunigt wird.
Zweites Ausführungsbeispiel
Nachstehend auf Fig. 7 Bezug nehmend ist ein Blockdiagramm dargestellt, das die Struktur einer Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß einem zweiten Ausfüh­ rungsbeispiel zeigt. In der Figur bezeichnen dieselben Be­ zugszeichen wie in Fig. 1 gezeigt dieselben Komponenten wie diejenigen der Ausgabe-FIFO-Datenübertragungssteuereinrich­ tung des vorstehend erwähnten ersten Ausführungsbeispiels oder vergleichbare Komponenten, so daß daher die Beschreibung der Komponenten im folgenden ausgelassen wird. In Fig. 7 be­ zeichnet ein Bezugszeichen 7 einen in einem geometrischen Arithmetikkern 10 eingebauten Sequenzer zum Festhalten eines Haltsignals, um die Anweisungspipelineverarbeitung anzuhal­ ten, wenn eine Anweisung zur Datenübertragung an ein OFIFO 512 während eines durch eine OFIFO-Datenübertragungssteuer­ einheit 4 gelieferten Belegtsignals festgehalten ist, das heißt, wenn ein Datenübertragungsanweisungssignal IPUouse oder FPUouse ausgesendet wird. Die OFIFO-Datenübertragungs­ steuereinheit 4 der Ausgabe-FIFO-Datenübertragungssteuer­ einrichtung gemäß dem zweiten Ausführungsbeispiel umfaßt ei­ nen Schreib/Lese-Zeigererzeugungsabschnitt 41, der ein Be­ legtsignal erzeugen kann, das angibt, daß der in jeder Verar­ beitungseinheit innerhalb des geometrischen Verarbeitungs­ kerns 10 enthaltene Datenausgangspuffer voll ist, in Überein­ stimmung mit einer Beziehung zwischen einem von dem Schreib/- Lese-Zeigererzeugungsabschnitt 41 erzeugten Schreibzeiger und Lesezeiger, um das Schreiben von Daten in den Datenausgangs­ puffer jeder Verarbeitungseinheit zu hemmen.
Da der grundlegende Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem zweiten Ausführungs­ beispiel derselbe ist wie der der Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung des vorstehend erwähnten ersten Ausführungsbeispiels, wird nur der Unterschied zwischen den­ selben beschrieben.
Wenn die Summe aus dem Schreibzeiger und 1 gleich dem Lese­ zeiger ist (dieser Fall wird nachstehend in Kurzform als Be­ legtzustand bezeichnet), erzeugt und liefert der Schreib/Le­ se-Zeigererzeugungsabschnitt 41 der OFIFO-Datenübertragungs­ steuereinheit 4 das Belegtsignal, um das Schreiben von Daten in den Datenausgangspuffer von jeder Verarbeitungseinheit an den Sequenzer 7 des geometrischen Arithmetikkerns 10 zu hem­ men, so daß in dem Datenausgangspuffer jeder Verarbeitungs­ einheit innerhalb des geometrischen Arithmetikkerns 10 ge­ speicherte Daten, welche noch nicht ausgelesen wurden, nicht mit neuen Daten überschrieben werden werden. Wenn eine Anwei­ sung zur Datenübertragung an ein OFIFO 512 ausgegeben wird und IPUouse oder FPUouse dann geliefert werden, während der Sequenzer 7 das festgehaltene Belegtsignal empfängt, hält der Sequenzer 7 das Haltsignal fest, um den geometrischen Arith­ metikkern 10 zu veranlassen, in den Wartezustand einzutreten, in welchem er die Anweisungspipelineverarbeitung anhält. Wenn die IPU 1 und die Vielzahl von Gleitpunktverarbeitungseinhei­ ten FPU0 2a bis FPU3 2d das von dem Sequenzer 7 festgehaltene Haltsignal empfangen, halten sie die Schreibvorgänge des Schreibens von Daten in ihre jeweiligen Datenausgangspuffer an. Da die OFIFO-Datenübertragungssteuereinheit 4 unabhängig von dem geometrischen Arithmetikkern 10 arbeitet, der die An­ weisungspipelineverarbeitung durchführt, ist es nicht notwen­ dig, den Lesevorgang des Lesens von Daten aus dem Datenaus­ gangspuffer jeder Verarbeitungseinheit, die gesteuert durch die OFIFO-Datenübertragungssteuereinheit 4 ausgeführt wird, anzuhalten, obwohl der Sequenzer 7 das Haltsignal festhält.
Nachstehend wird der Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem zweiten Ausführungs­ beispiel unter Bezugnahme auf Fig. 8 bis 10 im einzelnen be­ schrieben. In der nachfolgenden Beschreibung sei angenommen, daß der Datenausgangspuffer 13 der IPU 1 Inhalte wie in Fig. 9 gezeigt hat, bevor eine Anweisung 1 wie in Fig. 8 gezeigt ausgegeben wird. Weiter sei angenommen, daß in schraffierten Orten gespeicherte Daten noch nicht auf den O-Bus 3 ausgesen­ det werden, und daß der Schreibzeiger 1 ist und der Lesezei­ ger 3 ist. Wenn die Anweisung 1 ausgegeben wird, wird ein durch die "add"-Anweisung erzeugtes Rechenergebnis in einen bestimmten Ort innerhalb des Datenausgangspuffers 13 ge­ schrieben, welche durch den Schreibzeiger mit einem Wert von 1 identifiziert wird. Der Schreibzeiger wird dann um Eins in­ krementiert und wird daher 2. Zu dieser Zeit hält, da der Le­ sezeiger 3 und daher gleich der Summe aus dem Schreibzeiger und 1 ist, der Schreib/Lese-Zeigererzeugungsabschnitt 41 das Belegtsignal fest.
Wenn eine Anweisung 3 ausgegeben wird und das IPUouse-Signal festgehalten wird, nachdem der Sequenzer 7 das festgehaltene Belegtsignal von dem Schreib/Lese-Zeigererzeugungsabschnitt 41 empfangen hat, hält der Sequenzer 7 das Haltsignal fest. In dem zweiten Ausführungsbeispiel sei angenommen, daß das Haltsignal niedrigpegelig aktiv ist und jede Verarbeitungs­ einheit, wie die IPU 1, festgelegt ist (d. h. die Anweisungs­ pipelineverarbeitung festhält), wenn das Haltsignal in seinem niedrigpegeligen Zustand ist, und zurückgesetzt wird, wenn das Haltsignal in seinem hochpegeligen Zustand ist. Es erüb­ rigt sich zu sagen, daß das Haltsignal alternativ hochpegelig aktiv ist. Wenn das Haltsignal niedrigpegelig festgehalten wird, tritt die IPU 1 in den Wartezustand ein, in welchem sie den Schreibvorgang des Schreibens eines durch die Ausführung 3 erzeugten Rechenergebnisses in den Datenausgangspuffer 13 anhält. Danach versetzt sie, wenn der Schreib/Lese-Zeigerer­ zeugungsabschnitt 41 den Lesepunkt um eins inkrementiert, so daß der Belegtzustand nicht eingestellt wird, das Belegtsi­ gnal durch Bewirken, daß das Belegtsignal niedrigpegelig wird, in seinen inaktiven Zustand. Infolgedessen negiert der Sequenzer 7 das Haltsignal, so daß die IPU 1 das durch die Ausführung der Anweisung 3 erzeugte Rechenergebnis in den Da­ tenausgangspuffer 13 schreiben kann.
Obwohl eine andere Ursache als die Einstellung des Belegtzu­ stands das Haltsignal festhält, um den Schreibvorgang des Schreibens von Daten in den Datenausgangspuffer jeder Verar­ beitungseinheit anzuhalten und daher der geometrische Arith­ metikkern 10 in den Wartezustand eintritt, kann die Ausgabe- FIFO-Datenübertragungssteuereinrichtung Daten aus dem Daten­ ausgangspuffer jeder Verarbeitungseinheit lesen und die Daten auf den O-Bus 3 und daher an ein OFIFO 512 der Ausgabesteuer­ einheit 5 liefern, weil die Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung gemäß dem zweiten Ausführungsbeispiel unab­ hängig von der Anweisungspipelineverarbeitung arbeitet.
Wie vorstehend erwähnt wurde, kann die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem zweiten Ausführungs­ beispiel Daten mit hoher Geschwindigkeit übertragen, während sie das Überschreiben von Daten in den Datenausgangspuffer jeder Verarbeitungseinheit verhindert, ohne den geometrischen Arithmetikkern 10 veranlassen zu müssen, in den Wartezustand einzutreten und die Anweisungspipelineverarbeitung anhalten.
Drittes Ausführungsbeispiel
Nachstehend auf Fig. 11 Bezug nehmend ist ein Blockdiagramm dargestellt, das die Struktur einer Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung gemäß einem dritten Ausführungsbei­ spiel zeigt. In der Figur bezeichnen dieselben Bezugszeichen wie in Fig. 1 gezeigt dieselben Komponenten wie diejenigen der Ausgabe-FIFO-Datenübertragungssteuereinrichtung des vor­ stehend erwähnten ersten Ausführungsbeispiels oder vergleich­ bare Komponenten, so daß daher die Beschreibung der Komponen­ ten im folgenden ausgelassen wird. In Fig. 11 bezeichnet ein Bezugszeichen 410 einen Schreib/Lese-Zeigererzeugungsab­ schnitt, der auf ein Datenübertragungsanweisungssignal IPUouse von einer IPU 1 anspricht, zum Erzeugen und Liefern eines der IPU 1 zugeordneten Schreibzeigers an die IPU 1, wo­ bei der Schreibzeiger einen bestimmten Ort identifiziert, in den Daten über ein Rechenergebnis von der IPU 1 in einem Da­ tenausgangspuffer der IPU 1 zu schreiben sind. Der Schreib/­ Lese-Zeigererzeugungsabschnitt 410 erzeugt und liefert auch einen Lesezeiger, der der IPU 1 zugeordnet ist, an die IPU 1, wobei der Lesezeiger einen bestimmten Ort identifiziert, an dem Daten, welche in Übereinstimmung mit dem Schreibzeiger in den Datenausgangspuffer 13 der IPU 1 geschrieben sind, aus dem Datenausgangspuffer 13 auszulesen sind. In Antwort auf ein Datenübertragungsanweisungssignal FPUouse von einer Viel­ zahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d erzeugt und liefert der Schreib/Lese-Zeigererzeugungsab­ schnitt 410 einen weiteren Schreibzeiger, der der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d zu­ geordnet ist, auf die Vielzahl von Gleitpunktverarbeitungs­ einheiten FPU0 2a bis FPU3 2d, wobei der weitere Schreibzei­ ger einen bestimmten Ort identifiziert, in den Daten über ein Rechenergebnis von zumindest einer der Vielzahl von Gleit­ punktverarbeitungseinheiten in einem Datenausgangspuffer von zumindest einer der Vielzahl von Gleitpunktverarbeitungsein­ heiten zu speichern sind. Der Schreib/Lese-Zeigererzeugungs­ abschnitt 410 erzeugt und liefert auch einen weiteren Lese­ zeiger, der der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d zugeordnet ist, für die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, wobei der weitere Lesezeiger einen bestimmten Ort identifiziert, an dem Daten, die in den Datenausgangspuffer von zumindest einer der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d geschrieben wurden, aus dem Datenausgangspuffer von zumindest einer der Vielzahl von Gleitpunktverarbeitungsein­ heiten FPU0 2a bis FPU3 2d auszulesen sind.
Wie vorstehend erwähnt wurde, kann, da die Ausgabe-FIFO-Da­ tenübertragungssteuereinheit gemäß dem vorstehenden ersten Ausführungsbeispiel den Schreib/Lese-Zeigererzeugungsab­ schnitt 41 zum Erzeugen eines Satzes aus einem Schreibzeiger und einem Lesezeiger zur gemeinsamen Verwendung mit der IPU 1 und der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d umfaßt, der Datenausgangspuffer jeder Verarbei­ tungseinheit viele freie Bereiche haben, wie in Fig. 6 ge­ zeigt. Um das Problem zu lösen, erzeugt der Schreib/Lese-Zei­ gererzeugungsabschnitt 410 gemäß diesem Ausführungsbeispiel einen Satz aus einem Schreibzeiger und einem Lesezeiger zur Verwendung mit der IPU 1 sowie einen weiteren Satz aus einem Schreibzeiger und einem Lesezeiger zur Verwendung mit der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d.
Da der grundlegende Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem dritten Ausführungs­ beispiel derselbe ist wie der der Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung des vorstehend erwähnten ersten Aus­ führungsbeispiels, wird nur der Unterschied zwischen diesen beschrieben.
Wie vorangehend in dem ersten Ausführungsbeispiel erklärt wurde, liefert jedes Mal, wenn ein Mikrokode ausgeführt wird und eine Datenübertragungsanweisung wie beispielsweise eine der Vielzahl von Datenübertragungsanweisungen (A) bis (F) wie vorstehend erwähnt ausgegeben wird, entweder die IPU 1 oder die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die der Datenübertragungsanweisung zugeordnet sind, IPUouse oder FPUouse an die OFIFO-Datenübertragungssteuerein­ heit 4. In Antwort auf IPUouse oder FPUouse erzeugt der Schreib/Lese-Zeigererzeugungsabschnitt 410 der OFIFO-Daten­ übertragungssteuereinheit 4 einen Schreibzeiger, der dem Ab­ sender von IPUouse oder FPUouse zugeordnet ist. Wenn IPUouse den Zustand 1 annimmt, wie in Fig. 4 gezeigt, erzeugt der Schreib/Lese-Zeigererzeugungsabschnitt 410 einen Schreibzei­ ger, der der IPU 1 zugeordnet ist, mit einem Anfangswert im Zustand 0 und liefert dann den Schreibzeiger an die IPU 1, welche der Absender von IPUouse ist. Danach aktualisiert je­ des Mal, wenn der Schreib/Lese-Zeigererzeugungsabschnitt 410 IPUouse empfängt, das heißt jedes Mal, wenn IPUouse in einem Taktzyklus im Zustand 1 ist, der Schreib/Lese-Zeigererzeu­ gungsabschnitt 410 den Schreibzeiger, der der IPU 1 zugeord­ net ist, durch Inkrementieren des Schreibzeigers um Eins und liefert dann den aktualisierten Schreibzeiger an die IPU 1.
Dann erzeugt, wenn zum Beispiel eine Datenübertragungsanwei­ sung (B) ausgegeben wird, FPUouse den Zustand 1 annimmt und das Übertragungsbetriebsartsignal Mode einen Wert von 7 hat, wie in Fig. 4 gezeigt, der Schreib/Lese-Zeigererzeugungsab­ schnitt 410 einen weiteren Schreibzeiger, der der FPU zuge­ ordnet ist, mit einem Anfangswert im Zustand 0 und liefert dann den weiteren Schreibzeiger an die Vielzahl von Gleit­ punktverarbeitungseinheiten FPU0 2a bis FPU3 2d. Jedes Mal, wenn der Schreib/Lese-Zeigererzeugungsabschnitt 410 FPUouse empfängt, das heißt jedes Mal, wenn FPUouse in einem Taktzy­ klus im Zustand 1 ist, aktualisiert der Schreib/Lese-Zeiger­ erzeugungsabschnitt 410 den weiteren Schreibzeiger, der der FPU zugeordnet ist, durch Inkrementieren des weiteren Schreibzeigers um Eins und liefert dann den aktualisierten Schreibzeiger an die Vielzahl von Gleitpunktverarbeitungsein­ heiten FPU0 2a bis FPU3 2d.
Auf diese Art und Weise inkrementiert jedes Mal, wenn eine Datenübertragungsanweisung, die der IPU 1 oder zumindest ei­ ner der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d zugeordnet ist, ausgegeben wird, der Schreib/Le­ se-Zeigererzeugungsabschnitt 410 den Schreibzeiger, der der IPU oder der FPU zugeordnet ist, und speichert zumindest eine Verarbeitungseinheit, die der Datenübertragungsanweisung zu­ geordnet ist, dann ein Rechenergebnis in einem bestimmten Ort innerhalb des Datenausgangspuffers derselben, welcher durch Schreibzeiger identifiziert wird. Infolgedessen kann die Vielzahl von Daten 1 bis 13 aufeinanderfolgend in der Viel­ zahl von Datenausgangspuffern 13 und 23a bis 23d gespeichert werden, wie in Fig. 12 gezeigt.
Der Schreib/Lese-Zeigererzeugungsabschnitt 410 erzeugt auch zwei Lesezeiger, die der IPU und der FPU zugeordnet sind, um diejenigen Daten, die in Übereinstimmung mit den beiden Schreibzeigern, die der IPU und der FPU zugeordnet sind, ge­ schrieben worden sind, aus der Vielzahl von Datenausgangspuf­ fern zu lesen. Wenn der Übertragungsbetriebsarteinstellab­ schnitt 42 sämtliche Schreibfreigabesignale, die jeder ausge­ gebenen Datenübertragungsanweisung in Übereinstimmung mit dem Übertragungsbetriebsartsignal Mode zugeordnet sind, erzeugt und liefert, und sämtliche Daten, die der Datenübertragungs­ anweisung zugeordnet sind, auf dem O-Bus 3 erscheinen, inkre­ mentiert der Schreib/Lese-Zeigererzeugungsabschnitt 410 den Lesezeiger für die IPU oder die FPU, welcher der Datenüber­ tragungsanweisung zugeordnet ist, um Eins.
Wie vorangehend erwähnt wurde, kann die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem dritten Ausführungs­ beispiel verhindern, daß freie Bereiche innerhalb des Daten­ ausgangspuffers der IPU 1 erscheinen. Die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung kann auch die Anzahl von freien Bereichen, die innerhalb des Datenausgangspuffer jeder FPU erscheinen, reduzieren. Die Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung kann folglich Daten mit hoher Geschwindig­ keit übertragen.
Bevorzugt kann die Ausgabe-FIFO-Datenübertragungssteuerein­ richtung einen Satz aus einem Schreibzeiger und einem Lese­ zeiger für jede FPU erzeugen und somit verhindern, daß freie Bereiche innerhalb des Datenausgangspuffer jeder FPU erschei­ nen.
Viertes Ausführungsbeispiel
Nachstehend auf Fig. 13 Bezug nehmend ist ein Blockdiagramm dargestellt, das die Struktur einer Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung gemäß einem vierten Ausführungsbei­ spiel zeigt. In der Figur bezeichnen dieselben Bezugszeichen wie in Fig. 1 gezeigt dieselben Komponenten wie diejenigen der Ausgabe-FIFO-Datenübertragungssteuereinrichtung des vor­ stehend erwähnten ersten Ausführungsbeispiels oder vergleich­ barer Komponenten, so daß daher die Beschreibung der Kompo­ nenten im folgenden ausgelassen wird. In Fig. 13 bezeichnet 3a einen Ausgabe-Bus bzw. O-Bus zur Verwendung mit einer IPU 1, und bezeichnet 3b einen weiteren Ausgabe-Bus bzw. O-Bus zur Verwendung mit einer Vielzahl von Gleitpunktverarbei­ tungseinheiten FPU0 2a bis FPU3 2d.
Da der grundlegende Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem vierten Ausführungs­ beispiel derselbe ist wie der der Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung des vorstehend erwähnten ersten Ausführungsbeispiels, wird nur der Unterschied zwischen die­ sen beschrieben.
Wie vorangehend in dem ersten Ausführungsbeispiel erklärt wurde, schreibt jedes Mal, wenn ein Mikrokode ausgeführt wird und eine Datenübertragungsanweisung wie beispielsweise eine der Vielzahl von Datenübertragungsanweisungen (A) bis (F) wie vorstehend erwähnt ausgegeben wird, entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungsein­ heiten FPU0 2a bis FPU3 2d, die der Datenübertragungsanwei­ sung zugeordnet sind, ein Rechenergebnis in ihren eigenen Da­ tenausgangspuffer.
Danach liest sie, wenn entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die der Datenübertragungsanweisung zugeordnet sind, ein Lesefeigabesignal empfängt, Daten von einem bestimmten Ort innerhalb ihres eigenen Datenausgangspuffers, welcher von einem Lesezeiger identifiziert wird, und sendet dann die Da­ ten auf den ersten oder den zweiten O-Bus 3a oder 3b für die IPU oder die FPU aus. Fig. 14 ist ein Zeitverlaufsdiagramm, das ein Beispiel des Betriebsablaufs der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem Ausführungsbeispiel zeigt.
Wie vorstehend erwähnt wurde, enthält die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem vierten Ausführungs­ beispiel den ersten und den zweiten O-Bus 3a und 3b für die IPU und die FPU. Demgemäß kann die Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung eine Anzahl von Daten zu einer Zeit verarbeiten, während sie Daten an eine Vielzahl von OFIFOs 512 mit hoher Geschwindigkeit überträgt.
Fünftes Ausführungsbeispiel
Nachstehend auf Fig. 15 Bezug nehmend ist ein Blockdiagramm dargestellt, das die Struktur einer Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung gemäß einem fünften Ausführungsbei­ spiel zeigt. In der Figur bezeichnen dieselben Bezugszeichen wie in Fig. 11 und 13 gezeigt dieselben Komponenten wie die­ jenigen der Ausgabe-FIFO-Datenübertragungssteuereinrichtung der vorstehend erwähnten dritten und vierten Ausführungsbei­ spiele oder vergleichbare Komponenten, so daß daher die Be­ schreibung der Komponenten im folgenden ausgelassen wird. Wie Fig. 15 entnehmbar ist, enthält die Ausgabe-FIFO-Datenüber­ tragungssteuereinriehtung gemäß dem fünften Ausführungsbei­ spiel einen Ausgabe-Bus bzw. O-Bus 3a zur Verwendung mit ei­ ner IPU 1 und einen weiteren Ausgabe-Bus bzw. O-Bus 3b zur Verwendung mit einer Vielzahl von Gleitpunktverarbeitungsein­ heiten FPU0 2a bis FPU3 2d. Eine OFIFO-Datenübertragungssteu­ ereinheit 4 enthält einen Schreib/Lese-Zeigererzeugungsab­ schnitt 410, der auf ein Datenübertragungsanweisungssignal IPUouse von einer IPU 1 anspricht, zum Erzeugen und Liefern eines Schreibzeigers, der der IPU 1 zugeordnet ist, an die IPU 1, wobei der Schreibzeiger einen bestimmten Ort identifi­ ziert, an den Daten über ein Rechenergebnis von der IPU 1 in einen Datenausgangspuffer 13 der IPU 1 zu schreiben sind. Der Schreib/Lese-Zeigererzeugungsabschnitt 410 erzeugt und lie­ fert auch einen Lesezeiger, der mit der IPU 1 zugeordnet ist, an die IPU 1, einen bestimmten Ort identifizierend, an dem Daten, welche in Übereinstimmung mit dem Schreibzeiger in den Datenausgangspuffer 13 der IPU 1 geschrieben sind, aus dem Datenausgangspuffer 13 auszulesen sind. In Antwort auf ein Datenübertragungsanweisungssignal FPUouse von der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d er­ zeugt und liefert der Schreib/Lese-Zeigererzeugungsabschnitt 410 einen weiteren Schreibzeiger, der der Vielzahl von Gleit­ punktverarbeitungseinheiten FPU0 2a bis FPU3 2d zugeordnet ist, an die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, wobei der weitere Schreibzeiger einen bestimmten Ort identifiziert, in den Daten über ein Rechener­ gebnis von zumindest einer der Vielzahl von Gleitpunktverar­ beitungseinheiten FPU0 2a bis FPU3 2d in einen Datenausgangs­ puffer von zumindest einer der Vielzahl von Gleitpunktverar­ beitungseinheiten FPU0 2a bis FPU3 2d zu schreiben sind. Der Schreib/Lese-Zeigererzeugungsabschnitt 410 erzeugt und lie­ fert auch einen weiteren Lesezeiger, der der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d zugeord­ net ist, an die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, wobei der weitere Lesezeiger einen be­ stimmten Ort identifiziert, an dem Daten, welche in den Da­ tenausgangspuffer von zumindest einer der Vielzahl von Gleit­ punktverarbeitungseinheiten FPU0 2a bis FPU3 2d geschrieben sind, aus dem Datenausgangspuffer von zumindest einer der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d zu lesen sind.
Da der grundlegende Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem fünften Ausführungs­ beispiel derselbe ist wie der der Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung des vorstehend erwähnten ersten Ausführungsbeispiels, wird nur der Unterschied zwischen die­ sen beschrieben.
Wie vorangehend in dem ersten Ausführungsbeispiel erklärt wurde, liefert jedes Mal dann, wenn ein Mikrokode ausgeführt wird und eine Datenübertragungsanweisung wie beispielsweise eine der Vielzahl von Datenübertragungsanweisungen (A) bis (F) wie vorstehend erwähnt ausgegeben wird, entweder die IPU 1 oder die Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die der Datenübertragungsanweisung zugeordnet sind, IPUouse oder FPUouse an die OFIFO-Datenübertragungs­ steuereinheit 4. In Antwort auf IPUouse oder FPUouse erzeugt der Schreib/Lese-Zeigererzeugungsabschnitt 410 der OFIFO- Datenübertragungssteuereinheit 4 einen Schreibzeiger, der dem Absender von IPUouse oder FPUouse zugeordnet ist. Wenn IPUouse den Zustand 1 annimmt, wie in Fig. 4 gezeigt, erzeugt der Schreib/Lese-Zeigererzeugungsabschnitt 410 einen Schreib­ zeiger, der der IPU 1 zugeordnet ist, mit einem Anfangswert im Zustand 0 und liefert dann den Schreibzeiger an die IPU 1, welche der Absender von IPUouse ist. Danach aktualisiert je­ des Mal, wenn der Schreib/Lese-Zeigererzeugungsabschnitt 410 IPUouse empfängt, das heißt jedes Mal, wenn IPUouse in einem Taktzyklus im Zustand 1 ist, der Schreib/Lese-Zeigererzeu­ gungsabschnitt 410 den Schreibzeiger, der der IPU 1 zugeord­ net ist, durch Inkrementieren des Schreibzeigers um Eins und liefert dann den aktualisierten Schreibzeiger an die IPU 1.
Dann erzeugt, wenn zum Beispiel eine Datenübertragungsanwei­ sung (B) ausgegeben wird, FPUouse den Zustand 1 annimmt und das Übertragungsbetriebsartsignal Mode einen Wert von 7 hat, wie in Fig. 4 gezeigt, der Schreib/Lese-Zeigererzeugungsab­ schnitt 410 einen weiteren Schreibzeiger, der der FPU zuge­ ordnet ist, mit einem Anfangswert im Zustand 0 und liefert dann den weiteren Schreibzeiger an die Vielzahl von Gleit­ punktverarbeitungseinheiten FPU0 2a bis FPU3 2d. Danach ak­ tualisiert jedes Mal dann, wenn der Schreib/Lese-Zeigererzeu­ gungsabschnitt 410 FPUouse empfängt, das heißt jedes Mal, wenn FPUouse in einem Taktzyklus im Zustand 1 ist, der Schreib/Lese-Zeigererzeugungsabschnitt 410 den weiteren Schreibzeiger, der der FPU zugeordnet ist, durch Inkrementie­ ren des weiteren Schreibzeigers um Eins und liefert dann den aktualisierten Schreibzeiger an die Vielzahl von Gleitpunkt­ verarbeitungseinheiten FPU0 2a bis FPU3 2d.
Auf diese Art und Weise inkrementiert jedes Mal, wenn eine Datenübertragungsanweisung, die der IPU 1 oder zumindest ei­ ner der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d zugeordnet ist, ausgegeben wird, der Schreib/Le­ se-Zeigererzeugungsabschnitt 410 den Schreibzeiger, der der IPU oder der FPU zugeordnet ist, und speichert zumindest eine Verarbeitungseinheit, die der Datenübertragungsanweisung zu­ geordnet ist, ein Rechenergebnis in einem bestimmten Ort in­ nerhalb des Datenausgangspuffers derselben, welcher durch Schreibzeiger identifiziert wird. Infolgedessen kann die Vielzahl von Daten 1 bis 13 aufeinanderfolgend in der Viel­ zahl von Datenausgangspuffern 13 und 23a bis 23d gespeichert werden, wie in Fig. 12 gezeigt.
Der Schreib/Lese-Zeigererzeugungsabschnitt 410 erzeugt auch zwei Lesezeiger, die der IPU und der FPU zugeordnet sind, um diejenigen Daten, die in Übereinstimmung mit den beiden Schreibzeigern, die der IPU und der FPU zugeordnet sind, ge­ schrieben worden sind, aus der Vielzahl von Datenausgangspuf­ fern zu lesen und die Daten auf den ersten und den zweiten O- Bus 3a und 3b für die IPU und die FPU auszusenden. Wenn der Übertragungsbetriebsarteinstellabschnitt 42 sämtliche Schreibfreigabesignale, die jeder ausgegebenen Datenübertra­ gungsanweisung in Übereinstimmung mit dem Übertragungsbe­ triebsartsignal Mode zugeordnet sind, erzeugt und liefert, und sämtliche Daten, die der Datenübertragungsanweisung zuge­ ordnet sind, auf dem ersten oder dem zweiten O-Bus 3a oder 3b erscheinen, inkrementiert der Schreib/Lese-Zeigererzeugungs­ abschnitt 410 den Lesezeiger für die IPU oder die FPU, wel­ cher der Datenübertragungsanweisung zugeordnet ist, um Eins.
Danach liest sie, wenn entweder die IPU 1 oder zumindest eine der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d, die jeder ausgegebenen Datenübertragungsanweisung zugeordnet sind, ein Lesefreigabesignal empfängt, Daten von einem bestimmten Ort innerhalb ihres eigenen Datenausgangs­ puffer, welcher durch den Lesezeiger für die IPU oder die FPU identifiziert wird, und sendet dann die Daten auf den ersten oder den zweiten O-Bus 3a oder 3b für die IPU oder die FPU, welche der Verarbeitungseinheit zugeordnet ist, die das Lese­ freigabesignal empfangen hat, aus, wie in Fig. 14 gezeigt.
Wie vorangehend erwähnt wurde, kann die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem fünften Ausführungs­ beispiel verhindern, daß freie Bereiche innerhalb des Daten­ ausgangspuffers der IPU 1 erscheinen. Die Ausgabe-FIFO-Da­ tenübertragungssteuereinrichtung kann auch die Anzahl von freien Bereichen, die innerhalb des Datenausgangspuffers je­ der der Vielzahl von Gleitpunktverarbeitungseinheiten FPU0 2a bis FPU3 2d erscheinen, reduzieren. Die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung kann folglich Daten mit hoher Geschwindigkeit übertragen. Bevorzugt kann die Ausgabe-FIFO- Datenübertragungssteuereinrichtung einen Satz aus einem Schreibzeiger und einem Lesezeiger für jede der Vielzahl von Gleitpunktverarbeitungseinheiten erzeugen und somit verhin­ dern, daß freie Bereiche innerhalb des Datenausgangspuffer jeder der Vielzahl von Gleitpunktverarbeitungseinheiten er­ scheinen.
Darüber hinaus enthält die Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung gemäß dem fünften Ausführungsbeispiel den ersten und den zweiten O-Bus 3a und 3b zur Verwendung mit der IPU und der FPU. Demgemäß kann die Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung eine Anzahl von Daten zu einer Zeit verarbeiten, während sie Daten an die Vielzahl von OFIFOs 512 mit hoher Geschwindigkeit überträgt.
Sechstes Ausführungsbeispiel
Nachstehend auf Fig. 15 Bezug nehmend ist ein Blockdiagramm dargestellt, das die Struktur einer Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung gemäß einem sechsten Ausführungs­ beispiel zeigt. In der Figur bezeichnen dieselben Bezugszei­ chen wie in Fig. 1 gezeigt dieselben Komponenten wie diejeni­ gen der Ausgabe-FIFO-Datenübertragungssteuereinrichtung des vorstehend erwähnten ersten Ausführungsbeispiels oder ver­ gleichbare Komponenten, so daß daher die Beschreibung der Komponenten im folgenden ausgelassen wird. In Fig. 16, be­ zeichnet 47 einen DMA/Versende-Übertragungsumschaltabschnitt bzw. einen DMA/Buchungs-Übertragungsumschaltabschnitt zum Um­ schalten zwischen einer DMA-Übertragung und einer Versende bzw. Buchungsübertragung durch Liefern eines Letztes-Flags über einen Datenausgabeausgabeabschnitt 46 in Übereinstimmung mit dem Wert eines bestimmten Bit eines WCR innerhalb eines WCR-Steuerabschnitts 45. Der DMA/Versende-Übertragungsum­ schaltabschnitt 47 ermittelt, ob er das Letztes-Flag in Über­ einstimmung mit dem Wert des bestimmten Bit, z. B. Bit 8, des WCR innerhalb des WCR-Steuerabschnitts 45 liefert. Wenn zum Beispiel Bit 8 des WCR innerhalb des WCR-Steuerabschnitts 45 1 ist, sendet der DMA/Versende-Übertragungsumschaltabschnitt 47 das Letztes-Flag aus.
Da der grundlegende Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem sechsten Ausführungs­ beispiel derselbe ist wie der der Ausgabe-FIFO-Datenüber­ tragungssteuereinrichtung des vorstehend erwähnten ersten Ausführungsbeispiels, wird nur der Unterschied zwischen die­ sen beschrieben, anhand zweier Fälle, in welchen die folgen­ den Mikrokodes als Beispiele für DMA-Übertragung und Versen­ deübertragung ausgeführt werden.
Fall (1)
ldr 103h, wcr
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
ldr 104h, wcr
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
ldr 102h, wcr
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
Fall (2)
ldr 003 h, wcr
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
ldr 004h, wcr
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
ldr 102h, wcr
add ilm, ilm, ofifo0
add ilm, ilm, ofifo0
Fall (1) ist ein Fall der Versendeübertragung. In dem Fall (1) setzt der WCR-Steuerabschnitt 45 den Wert des WCR auf "103h" für das erste Datenbündel. Da Bit 8 des WCR in dem er­ sten Datenbündel 1 ist, liefert der DMA/Versende-Übertra­ gungsumschaltabschnitt 47 das Letztes-Flag mittels dem Daten­ ausgabeabschnitt 46, wenn die letzten Daten 3, welche das Re­ chenergebnis der dritten "add"-Anweisung sind, in dem Daten­ register des O-Bus-Dateneingangsabschnitts 44 gespeichert sind, wie in Fig. 17 gezeigt. Da die Versendeübertragung für schnelle Datenübertragung am besten geeignet ist, wenn ein sekundärer Bus 6 zwischen einer Ausgabesteuereinheit 5 und einem (nicht gezeigten) Render- bzw. Wiedergabe-LSI ein PCI- Bus ist, wird selektiv die Versendeübertragung ausgeführt. In dem vorstehend erwähnten erwähnten Fall (1) werden Adressen und Daten in sämtlichen Datenbündeln in die Adreßregister 511a bis 511c und die OFIFOs 512a bis 512c (oder BANK1 bis BANK3) innerhalb jeweils unterschiedlicher OFIFO-Einheiten 51a bis 51c gespeichert, wie in Fig. 19(a) gezeigt.
Demgegenüber ist Fall (2) ein Fall einer DMA-Übertragung. In dem Fall (2) setzt der WCR-Steuerabschnitt 45 den Wert von Bit 8 des WCR für jedes Datenbündel mit Ausnahme des letzten Datenbündels auf 0, so daß der DMA/Versende-Übertragungs­ umschaltabschnitt 47 das Letztes-Flag für jedes Datenbündel mit Ausnahme des letzten Datenbündels nicht liefert. Der WCR- Steuerabschnitt 45 setzt den Wert von Bit 8 des WCR nur für das letzte Datenbündel auf 1, so daß der DMA/Versende-Über­ tragungsumschaltabschnitt das Letztes-Flag mittels dem Daten­ ausgabeabschnitt 46 liefert. In dem Fall (2) setzt der WCR- Steuerabschnitt 45 die Werte des WCR für das erste und das zweite Datenbündel auf "003h" und "004h", wie in Fig. 18 ge­ zeigt. Der WCR-Steuerabschnitt 45 setzt dann den Wert des WCR für das letzte Datenbündel auf "102h", so daß Bit 8 des WCR 1 ist und daher der DMA/Versende-Übertragungsumschaltabschnitt 47 das Letztes-Flag für das letzte Datenbündel aussendet. Da die DMA-Übertragung für schnelle Datenübertragung am besten geeignet ist, wenn der sekundäre Bus 6 zwischen der Ausgabe­ steuereinheit 5 und einem (nicht gezeigten) Render- bzw. Wie­ dergabe-LSI ein AGP-Bus ist, wird selektiv die DMA-Übertra­ gung ausgeführt. In dem vorstehend erwähnten Fall (2) werden Adressen und Daten in sämtlichen Datenbündeln in das Adreßre­ gister und die OFIFOs derselben OFIFO-Einheit, z. B. das Adreßregister 511a bzw. die OFIFO-512a (BANK1) innerhalb der­ selben OFIFO-Einheit 51a, gespeichert, wie in Fig. 19(b) ge­ zeigt.
Für schnelle Datenübertragung ist es wünschenswert, daß Daten in jedem OFIFO 512 in möglichst zusammenhängende Bereiche ge­ speichert werden, weil bei der DMA-Übertragung sehr viele Da­ ten übertragen werden können. Bei der DMA-Übertragung werden keine Daten übertragen, bis ein FIFO, die einer Reihe von An­ weisungen zugeordnet ist, wie in dem Fall des vorstehend er­ wähnten Fall (2), voll ist oder das Letztes-Flag ausgesendet wird. Die Versendeübertragung ist daher zum Übertragen einer kleiner Datenmenge geeignet, weil in jedem Datenbündel das Letztes-Flag erzeugt wird und Daten nach außerhalb der Ausga­ be-FIFO-Datenübertragungssteuereinrichtung übertragen werden.
Wie vorangehend erwähnt wurde kann in Übereinstimmung mit dem sechsten Ausführungsbeispiel die Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung zwischen der DMA-Übertragung und der Versendeübertragung durch Veranlassen des DMA/Versende-Über­ tragungsumschaltabschnitts, die Ausgabe des Letztes-Flags in Übereinstimmung mit dem Wert eines bestimmten Bit des WCR in­ nerhalb des WCR-Steuerabschnitts 45 zu steuern, umschalten. Die Ausgabe-FIFO-Datenübertragungssteuereinrichtung kann so­ mit die am besten geeignete Datenübertragung gemäß den Spezi­ fikationen (AGP- oder PCI-Bus) der Schnittstelle zu einem Wiedergabe-LSI durchführen.
Siebtes Ausführungsbeispiel
Auf Fig. 20(a) bis 20(c) Bezug nehmend sind Diagramme darge­ stellt, die die Größe eines OFIFOs 512 jeder OFIFO-Einheit 51 innerhalb einer Ausgabesteuereinheit 5 in einer Ausgabe-FIFO- Datenübertragungssteuereinrichtung in einer AGP-Betriebsart, einer PCI-Betriebsart und einer verbesserten PCI-Betriebsart gemäß einem siebten Ausführungsbeispiel zeigen. Jede OFIFO- Einheit 51 innerhalb der Ausgabesteuereinheit 5 enthält einen Adreßspeicherabschnitt 511, dessen ein bestimmtes Bit einem Flag zugewiesen ist, das zum Wechseln zwischen der AGP-Be­ triebsart, der PCI-Betriebsart und der verbesserten PCI- Betriebsart verwendet wird. Die Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung kann zwischen den drei Betriebsarten in Übereinstimmung mit dem Wert des bestimmten Bit des Adreß­ speicherabschnitts 511 jeder OFIFO-Einheit umschalten, das durch einen Datenausgabeabschnitt 46 einer OFIFO-Datenüber­ tragungssteuereinheit 4 gesetzt werden kann. Mit Ausnahme dieser Struktur hat die Ausgabe-FIFO-Datenübertragungs­ steuereinrichtung gemäß dem siebten Ausführungsbeispiel die­ selbe Struktur wie die Ausgabe-FIFO-Datenübertragungssteu­ ereinrichtung des vorstehend erwähnten ersten Ausführungsbei­ spiels wie in Fig. 1 gezeigt, so daß daher die Beschreibung der Struktur im folgenden ausgelassen wird.
Da der grundlegende Betriebsablauf der Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem siebten Ausführungs­ beispiel derselbe ist wie der der Ausgabe-FIFO-Datenübertra­ gungssteuereinrichtung des vorstehend erwähnten ersten Aus­ führungsbeispiels, wird nur der Unterschied zwischen diesen beschrieben.
Bevor die Ausgabe-FIFO-Datenübertragungssteuereinrichtung be­ ginnt, Daten an die nächste Bank oder das OFIFO 512 innerhalb der Ausgabesteuereinheit 5 zu übertragen, prüft ein Voll- Flag-Prüfabschnitt 43 ein Voll-Flag, um zu ermitteln, ob die Ausgabe-FIFO-Datenübertragungssteuereinrichtung Daten an die nächste Bank übertragen kann. Da es einen Unterschied in der Größe jeder Bank oder OFIFO 512 zwischen AGP-Bus und PCI-Bus gibt, ändert der Voll-Flag-Prüfabschnitt 43 das Zeitverhal­ ten, mit dem er prüft, ob der nächste OFIFO 512 voll ist oder nicht, in Übereinstimmung mit dem dem vorbestimmten Bit des entsprechenden Adreßspeicherabschnitts 511 zugewiesenen Schnittstellenspezifikation-Ermittlungsflag. Wenn zum Bei­ spiel jedes OFIFO 512 eine Größe von (32 Bit × 64 Worten) hat, wie in Fig. 1 gezeigt, werden 64 32-Bit-Worte aufeinan­ derfolgend in jedes OFIFO 512 (oder jede Bank) in der Reihen­ folge der Zahlen 0, 1, 2, . . . geschrieben, wie in Fig. 20(a) gezeigt, und wird danach in der AGP-Betriebsart die Prüfung des Voll-Flags ausgeführt. In der PCI-Betriebsart werden 32 32-Bit-Worte aufeinanderfolgend in jedes OFIFO 512 (oder je 03630 00070 552 001000280000000200012000285910351900040 0002010001168 00004 03511de Bank) in der Reihenfolge der Zahlen 0, 1, 2, . . . geschrieben, wie in Fig. 20(b) gezeigt, und wird danach die Prüfung des Voll-Flags ausgeführt, unter der Annahme, daß jedes OFIFO 512 aus einem Bereich mit einer Größe von (32 Bit × 32 Worten) und einem freien Bereich mit derselben Größe wie der erstge­ nannte Bereich aufgebaut ist. Es existiert in der PCI-Be­ triebsart somit ein freier Bereich in jedem OFIFO 512 wie in Fig. 20(b) gezeigt. Demgegenüber werden in der verbesserten PCI-Betriebsart 64 32-Bit-Worte aufeinanderfolgend in jedes OFIFO 512 in der Reihenfolge der Zahlen 0, 1, 2, . . . ge­ schrieben, wie in Fig. 20(c) gezeigt, und wird danach die Prüfung des Voll-Flags ausgeführt, unter der Annahme, daß je­ des OFIFO 512 aus zwei Bereichen mit jeweils einer Größe von (32 Bit × 32 Worten) aufgebaut ist. In diesem Fall kann die Ausgabe-FIFO-Datenübertragungssteuereinrichtung sämtlichen Platz in jeder OFIFO verwenden, ohne verschwendeten Platz zu erzeugen, so daß folglich die Datenübertragung beschleunigt wird. Die OFIFO-Datenübertragungssteuereinheit 4 kann zwi­ schen verschiedenen Vorgängen des Erzeugens und Lieferns von Adressen, von denen jede einen bestimmten Ort identifiziert, an dem Daten in jedes OFIFO 512 in Übereinstimmung mit einer aus den drei Betriebsarten ausgewählten Betriebsart zu schreiben sind, wechseln.
Wie vorangehend erwähnt wurde, kann die Ausgabe-FIFO-Daten­ übertragungssteuereinrichtung gemäß dem siebten Ausführungs­ beispiel das Zeitverhalten verändern, mit dem sie das Voll- Flag in Übereinstimmung mit den Spezifikationen (AGP-Bus oder PCI-Bus) der Schnittstelle zu einem Wiedergabe-LSI prüft. Die Ausgabe-FIFO-Datenübertragungssteuereinrichtung kann somit die am besten geeignete Datenübertragung in Übereinstimmung mit den Spezifikationen der Schnittstelle zu einem Wiederga­ be-LSI durchführen.
Wie vorstehend beschrieben wurde, umfaßt eine Ausgabe-FIFO- Datenübertragungssteuereinrichtung einen geometrischen Arith­ metikkern 10 mit einer Ganzzahlverarbeitungseinheit IPU 1 und einer Vielzahl von Gleitpunktverarbeitungseinheiten FPU 2a, 2b, 2c, 2d. Jede Verarbeitungseinheit enthält einen Zwi­ schenpuffer oder Datenausgangspuffer 13, 23a, . . . zum Spei­ chern von Daten über ein Rechenergebnis. Wenn eine Anweisung zur Datenübertragung von zumindest einer der Verarbeitungs­ einheiten an ein Ausgabe-FIFO 512 ausgegeben wird, erzeugt eine Schreib/Lese-Zeigererzeugungseinheit 41, 410 einen Schreibzeiger, der einen bestimmten Ort identifiziert, an dem Daten über ein der Anweisung zugeordnetes Rechenergebnis in dem Zwischenpuffer von zumindest einer der Verarbeitungsein­ heiten zu speichern sind, und einen Lesezeiger, der einen be­ stimmten Ort identifiziert, an dem Daten aus dem Zwischenpuf­ fer von zumindest einer der Verarbeitungseinheiten auszulesen sind. Eine Übertragungsbetriebsarteinstelleinheit 42 stellt eine Übertragungsbetriebsart ein, die identifiziert, welche der Verarbeitungseinheiten Daten über ein Rechenergebnis übertragen soll, und liefert sodann ein Lesefreigabesignal an zumindest eine der Verarbeitungseinheiten, um die Daten aus dem Zwischenpuffer der zumindest einen Verarbeitungseinheiten auszulesen.

Claims (10)

1. Ausgabe-FIFO-Datenübertragungssteuereinrichtung, gekenn­ zeichnet durch
eine Vielzahl von Zwischenpuffern (13, 23a, ...), die jeweils in einer Vielzahl von in einem Arithmetikkern (10), der auf der Grundlage einer Anweisungspipeline arbeitet, ent­ haltenen Verarbeitungseinheiten (1, 2a, 2b, 2c, 2d) angeord­ net sind, wobei jeder der Vielzahl von Zwischenpuffern Daten über ein durch jede der Vielzahl von Verarbeitungseinheiten erzeugtes Rechenergebnis speichert;
eine Ausgabesteuereinrichtung (5), umfassend ein oder mehrere FIFOs (512), von welchen jedes Daten empfängt, die durch jede der Vielzahl von Verarbeitungseinheiten geliefert werden, und vorübergehend die Daten speichert, wobei die Aus­ gabesteuereinrichtung in den Ausgabe-FIFOs gespeicherte Daten in Antwort auf ein an sie angelegtes vorbestimmtes Signal nach außerhalb der Ausgabe-FIFO-Datenübertragungssteuerein­ richtung liefert;
eine Schreib/Lese-Zeigererzeugungseinrichtung (41; 410), zum dann, wenn eine Anweisung zur Datenübertragung von zumin­ dest einer der Vielzahl von Verarbeitungseinheiten an die Ausgabe-FIFOs bei Ausführung eines Mikrokodes ausgegeben wird, Erzeugen eines Schreibzeigers, der einen bestimmten Ort identifiziert, an dem durch die zumindest eine der Vielzahl von Verarbeitungseinheiten, die der Anweisung zugeordnet sind, erzeugte Daten über ein Rechenergebnis in dem Zwi­ schenpuffer der zumindest einen der Vielzahl von Verarbei­ tungseinheiten zu speichern sind, und Erzeugen eines Lesezei­ gers, der einen bestimmten Ort identifiziert, an dem Daten, welche in Übereinstimmung mit dem Schreibzeiger in den Zwi­ schenpuffer geschrieben sind, aus dem Zwischenpuffer der zu­ mindest einen der Vielzahl von Verarbeitungseinheiten auszu­ lesen sind;
eine Übertragungsbetriebsarteinstelleinrichtung (42) zum Einstellen einer Übertragungsbetriebsart, die identifiziert, welche zumindest eine der Vielzahl von Verarbeitungseinheiten Daten über ein Rechenergebnis bei Ausführung des Mikrokodes übertragen soll, und aufeinanderfolgenden Liefern eines Lese­ freigabesignals an die zumindest eine der Vielzahl von Verar­ beitungseinheiten, um die Daten aus dem Zwischenpuffer der zumindest einen der Vielzahl von Verarbeitungseinheiten aus­ zulesen;
eine Buseinrichtung (3), auf die die Daten in Antwort auf das Lesefreigabesignal durch die zumindest eine der Viel­ zahl von Verarbeitungseinheiten ausgesendet werden;
eine Dateneingabeeinrichtung (4) zum Empfangen der auf die Buseinrichtung ausgesendeten Daten und zum Schreiben der Daten in ein Register derselben; und
eine Datenausgabeeinrichtung (46) zum Liefern der in das Register der Dateneingabeeinrichtung geschriebenen Daten an die Ausgabe-FIFOs der Ausgabesteuereinrichtung.
2. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach An­ spruch 1, dadurch gekennzeichnet, daß die Schreib/Lese-Zei­ gererzeugungseinrichtung eine Einrichtung umfaßt zum Veran­ lassen des Arithmetikkerns, die Verarbeitung der Anweisungs­ pipeline anzuhalten, um ein Überschreiben von alten Daten mit neuen Daten zu hemmen, wenn die Schreib/Lese-Zeigererzeu­ gungseinrichtung ermittelt, daß der Zwischenpuffer jeder der Vielzahl von Verarbeitungseinheiten voll ist.
3. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach An­ spruch 2, dadurch gekennzeichnet, daß die Schreib/Lese-Zei­ gererzeugungseinrichtung in Übereinstimmung mit einer Bezie­ hung zwischen dem Schreibzeiger und dem Lesezeiger ermittelt, ob der Zwischenpuffer jeder der Vielzahl von Verarbeitungs­ einheiten voll ist.
4. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach ei­ nem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Zwischenpuffer jeder der Vielzahl von Verarbeitungseinheiten eine Größe von 8 Worten hat.
5. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach ei­ nem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Arithmetikkern eine Ganzzahlverarbeitungseinheit (1) und eine Vielzahl von Gleitpunktverarbeitungseinheiten (2a, 2b, 2c und 2d) umfaßt, und daß die Schreib/Lese-Zeigererzeugungseinrich­ tung einen Satz von Schreib- und Lesezeigern zur Verwendung mit dem Zwischenpuffer der Ganzzahlverarbeitungseinheit er­ zeugt, und einen weiteren Satz von Schreib- und Lesezeigern zur Verwendung mit den Zwischenpuffern der Vielzahl von Gleitpunktverarbeitungseinheiten erzeugt.
6. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach An­ spruch 5, dadurch gekennzeichnet, daß die Buseinrichtung ei­ nen Bus (3a) zur Verwendung mit der Ganzzahlverarbeitungsein­ heit und einen weiteren Bus (3b) zur Verwendung mit den Gleitpunktverarbeitungseinheiten umfaßt.
7. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach ei­ nem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Übertragungsbetriebsarteinstelleinrichtung eine Übertragungs­ betriebsart in Übereinstimmung mit einem durch den Arith­ metikkern bei Ausführung des Mikrokodes gelieferten Mehrfach­ bitsignal einstellt, wobei das Mehrfachbitsignal identifi­ ziert, welche zumindest eine der Vielzahl von Verarbeitungs­ einheiten Daten über ein Rechenergebnis übertragen soll.
8. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach ei­ nem der Ansprüche 1 bis 7, gekennzeichnet durch eine DMA/Ver­ sende-Übertragungsumschalteinrichtung (47) zum Umschalten zwischen einer DMA-Übertragung und einer Versendeübertragung, wenn die Daten aus den Ausgabe-FIFOs nach außerhalb der Aus­ gabe-FIFO-Datenübertragungssteuereinrichtung übertragen wer­ den.
9. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach An­ spruch 8, gekennzeichnet durch eine Wortzählerregistersteuer­ einrichtung (5), die einen Wortzähler, der die Größe jedes Datenbündels der Datenübertragung an die Ausgabe-FIFOs an­ gibt, und ein Register, bei dem ein Bit einem Letztes-Flag, das angibt, daß zu übertragende Daten die letzten Daten jedes Datenbündels sind, zugewiesen ist, umfaßt, und wobei die DMA/Versende-Übertragungsumschalteinrichtung zwischen der DMA-Übertragung und der Versendeübertragung durch Ermitteln, ob das Letztes-Flag an die die Ausgabe-FIFOs umfassende Aus­ gabesteuereinrichtung geliefert ist, in Übereinstimmung mit einem in das Register der Wortzählerregistersteuereinrichtung bei Ausführung des Mikrokodes gesetzten Wert umschaltet, und die Ausgabesteuereinrichtung in den Ausgabe-FIFOs gespeicher­ te Daten in Antwort auf das Letztes-Flag nach außerhalb der Ausgabe-FIFO-Datenübertragungssteuereinrichtung überträgt.
10. Ausgabe-FIFO-Datenübertragungssteuereinrichtung nach ei­ nem der Ansprüche 1 bis 9, gekennzeichnet durch eine Voll- Prüfeinrichtung (43) zum Ermitteln, ob jeder der Ausgabe- FIFOs voll ist oder nicht, zu der Zeit, die durch vorbestimm­ te Information, die angibt, ob eine Schnittstelle zur Verwen­ dung mit der Datenübertragung von den Ausgabe-FIFOs nach au­ ßerhalb der Ausgabe-FIFO-Datenübertragungssteuereinrichtung ein AGP- oder ein PCI-Bus ist, festgelegt ist.
DE10001168A 1999-07-06 2000-01-13 Ausgabe-Fifo-Datenübertragungssteuereinrichtung Ceased DE10001168A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11192054A JP2001022689A (ja) 1999-07-06 1999-07-06 出力fifoデータ転送制御装置

Publications (1)

Publication Number Publication Date
DE10001168A1 true DE10001168A1 (de) 2001-01-18

Family

ID=16284860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10001168A Ceased DE10001168A1 (de) 1999-07-06 2000-01-13 Ausgabe-Fifo-Datenübertragungssteuereinrichtung

Country Status (3)

Country Link
US (1) US6442627B1 (de)
JP (1) JP2001022689A (de)
DE (1) DE10001168A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416823A (zh) * 2020-11-15 2021-02-26 珠海市一微半导体有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3983394B2 (ja) * 1998-11-09 2007-09-26 株式会社ルネサステクノロジ 幾何学処理プロセッサ
JP2002163239A (ja) * 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
US6633928B2 (en) * 2000-11-29 2003-10-14 Hewlett-Packard Development Company, Lp. Fast process context switching buffer
US20040003164A1 (en) * 2002-06-27 2004-01-01 Patrick Boily PCI bridge and data transfer methods
JP2008152594A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd マルチコアプロセッサ計算機の高信頼化方法
KR101421054B1 (ko) * 2007-08-06 2014-07-18 삼성전자주식회사 버퍼를 이용한 연산 분산 방법 및 이를 이용한 연산 분산시스템
US20110224549A1 (en) * 2008-11-14 2011-09-15 Hitachi Medical Corporation Ultrasonic diagnostic apparatus and method for generating ultrasonic images
US8744602B2 (en) 2011-01-18 2014-06-03 Apple Inc. Fabric limiter circuits
US8861386B2 (en) * 2011-01-18 2014-10-14 Apple Inc. Write traffic shaper circuits
KR101841964B1 (ko) 2011-02-22 2018-05-15 삼성전자주식회사 인터커넥터를 포함하는 시스템 온 칩 및 그것의 제어 방법
KR102200489B1 (ko) * 2014-05-30 2021-01-11 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965750A (en) * 1987-03-31 1990-10-23 Hitachi, Ltd. Graphic processor suitable for graphic data transfer and conversion processes
JPH0546547A (ja) 1991-08-12 1993-02-26 Ricoh Co Ltd データ処理装置
JPH06301654A (ja) 1993-04-16 1994-10-28 Japan Radio Co Ltd 処理分散方法
DE69520706T2 (de) * 1994-06-03 2001-08-02 Hyundai Electronics America Herstellungsverfahren für einen elektrischen Vorrichtungs-Adapter
JP3658072B2 (ja) * 1996-02-07 2005-06-08 株式会社ルネサステクノロジ データ処理装置およびデータ処理方法
US5835788A (en) * 1996-09-18 1998-11-10 Electronics For Imaging System for transferring input/output data independently through an input/output bus interface in response to programmable instructions stored in a program memory
US6253310B1 (en) * 1998-12-31 2001-06-26 Intel Corporation Delayed deallocation of an arithmetic flags register

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416823A (zh) * 2020-11-15 2021-02-26 珠海市一微半导体有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片
CN112416823B (zh) * 2020-11-15 2024-05-03 珠海一微半导体股份有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片

Also Published As

Publication number Publication date
JP2001022689A (ja) 2001-01-26
US6442627B1 (en) 2002-08-27

Similar Documents

Publication Publication Date Title
DE60306937T2 (de) Synchronisierung von pipelines in einem datenverarbeitungsgerät
DE19983589B4 (de) Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung
DE69821957T2 (de) Datenprozessor mit paralleler decodierung und ausführung von daten- und adressbefehlen
DE69636861T2 (de) Mikroprozessor mit Lade-/Speicheroperation zu/von mehreren Registern
DE3210816C2 (de)
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE102009012766A1 (de) Ein Zugriffssperrenvorgang, um atomare Aktualisierungen zu einem geteilten Speicher zu ermöglichen
DE102018126001A1 (de) Synchronisation in einem Multi-Kachel-Verarbeitungsarray
DE112010003750T5 (de) Hardware für parallele Befehlslistenerzeugung
DE3741850A1 (de) Ausfuehrungseinheit fuer einen i/o-prozessor
DE19506990A1 (de) Einrichtung zur Datenumleitung in einem Prozessor mit mehreren Ausführungseinheiten
DE10001168A1 (de) Ausgabe-Fifo-Datenübertragungssteuereinrichtung
DE19506435A1 (de) Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten
DE102013114351A1 (de) System und Verfahren für Hardware-Disponierung bedingter Barrieren und ungeduldiger Barrieren
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
EP0325677B1 (de) Schaltungsanordnung und Steuerverfahren eines Befehlspufferspeichers in einer Datenverarbeitungsanlage
DE60009496T2 (de) Mikroprozessor mit reduziertem kontextumschaltungsaufwand und verfahren
DE112020004065T5 (de) Komplexe Daisy-Chain-Befehle
DE2912073A1 (de) Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE4222275C2 (de) Parallelprozessor und Betriebsverfahren für diesen
DE10303053A1 (de) Registerumbenennung zum Reduzieren einer Umgehung und Erhöhen einer scheinbaren physischen Registergröße
DE4001165C2 (de) Mikroprozessor und Verfahren zum Pipeline-Laden von Gleitkomma-Daten in einen Prozessor
DE19782105C2 (de) Prozessorkern und Verfahren zum Unterstützen unterschiedlicher Befehlsheranholeinheiten in einer Pipeline
DE10025952B4 (de) Datenverarbeitungseinheit mit einer Superscaler-Struktur sowie Verfahren zum Zuführen einer Mehrzahl von Befehlen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection