DE10001168A1 - Ausgabe-Fifo-Datenübertragungssteuereinrichtung - Google Patents
Ausgabe-Fifo-DatenübertragungssteuereinrichtungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/10—Methods 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.
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.
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.
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.
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.
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.
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.
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
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
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
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.
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.
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416823A (zh) * | 2020-11-15 | 2021-02-26 | 珠海市一微半导体有限公司 | 一种突发模式下的传感器数据读写控制方法、系统及芯片 |
Families Citing this family (11)
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)
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 |
-
1999
- 1999-07-06 JP JP11192054A patent/JP2001022689A/ja active Pending
- 1999-12-03 US US09/453,547 patent/US6442627B1/en not_active Expired - Fee Related
-
2000
- 2000-01-13 DE DE10001168A patent/DE10001168A1/de not_active Ceased
Cited By (2)
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 |