DE69031367T2 - Blockübertragungs- und Koprozessorschnittstellenbefehl - Google Patents
Blockübertragungs- und KoprozessorschnittstellenbefehlInfo
- Publication number
- DE69031367T2 DE69031367T2 DE69031367T DE69031367T DE69031367T2 DE 69031367 T2 DE69031367 T2 DE 69031367T2 DE 69031367 T DE69031367 T DE 69031367T DE 69031367 T DE69031367 T DE 69031367T DE 69031367 T2 DE69031367 T2 DE 69031367T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- block
- bus
- memory
- data entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 10
- 238000013479 data entry Methods 0.000 claims 14
- 239000000872 buffer Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Executing Machine-Instructions (AREA)
Description
- Diese Erfindung bezieht sich im allgemeinen auf einen Datenprozessor für die Ausführung einer Speicher-Speicher-Verschiebung eines Datenblocks mit einer einzigen Anforderung, wobei für die Lese- und Schreiboperationen eine bündelweise Übertragung auf den Systembus verwendet wird. Im besonderen bezieht sich die Erfindung auf eine Anforderung für lose miteinander verbundene Systeme, die den Datentyp des Systembusses unterstützt und es dadurch einem Systemprogrammierer ermöglicht, eine MOVE-Anweisung für einen Datentyp auszugeben, der erheblich größer ist als der Datentyp der CPU.
- Moderne Hochleistungs-Mikroprozessorsysteme erfordern eine große und sehr schnelle Datenübertragung zwischen der Zentraleinheit (CPU) und dem externen Speicher bzw. Peripheneeinrichtungen. Diese Hochleistungs-Mikroprozessoren arbeiten in einer Umgebung, die Beschränkungen z.B. hinsichtlich Übertragungsbandbreite und Übertragungsprotokoll auferlegt, die die Gesamtsystemleistung beschränken. Daher arbeiten moderne Mikroprozessoren mit Blockübertragungen (d.h. bündelweisen bzw. Bündelübertragungen), um so die Beschränkungen durch die Busbandbreite teilweise zu kompensieren. Diese Blockübertragungen verbessern das Verhältnis von Übertragungsprotokoll zu Übertragungsdaten und nutzen so bei jeder Datenübertragung die maximale Busbreite.
- In der herkömmlichen Technik verwenden Mikroprozessoren die automatische Bündelübertragung nur unter bestimmten Bedingungen, bei denen Datentypen verschoben werden müssen, die größer sind als die maximale Datengröße (z.B.Laden/Entladen einer Cache- Zeile mit mehreren Prozessordatenwörtern). Da die Verwendung von Bündelübertragungen auf diese Sonderfälle beschränkt ist, können andere Blockverschiebungen von Daten, die programmgesteuert ablaufen (z.B. DMA, Blockverschiebungen, Speicherseiteninitialisierung und die Übertragung von Anforderungen/Daten an entfernte Coprozessoren), den Systembus nicht optimal nutzen, so daß die Systemleistung beeinträchtigt wird.
- Gemäß der Erfindung wird ein Datenprozessor für die Ausführung einer Blockverschiebeanforderung nach Anspruch 1 bereitgestellt.
- Ein Vorteil der vorliegenden Erfindung besteht in der Bereitstellung einer MOVE-Anweisung, mit der ein Programmierer die Speicher-Speicher- oder Cache-Speicher-Verschiebung einer Datenmenge durchführen kann, die größer ist als der Datentyp der CPU.
- FIG. 1 ist ein Blockdiagramm, das ein Datenverarbeitungssystem mit integrierten Schaltkreisen für die Implementierung der vorliegenden Erfindung darstellt.
- Die FIG. 2A und 2B sind Flußdiagramme für die Durchführung der MOVE-Blockanweisung gemäß einer bevorzugten Ausführungsform der Erfindung.
- FIG. 1 zeigt ein Blockdiagramm einer bevorzugten Ausführungsform eines Datenverarbeitungssystems 10 für die Implementierung der vorliegenden Erfindung, das aus einer CPU 12, einer Datencache-Steuereinheit 14, einem Datencache 16, einem internen Bus 18, einer Busschnittstellen-Steuereinheit 20, Puffern 22, einem Systembus 24, einem Hauptspeicher 26, einer DMA-Einheit 28, einer Festplatte 30 und einem Adressenregister 32 besteht. Das Datenverarbeitungssystem 10 ist ein typisches Einprozessorsystem mit einem einzigen Cache-Speicher, der für die Unterstützung der vorliegenden Erfindung konzipiert ist. In der bevorzugten Ausführungsform hat der interne Bus 18 eine Breite von n Byte, wobei n Byte die Breite des größten Datentyps der CPU 12 ist (d. h. 4 Byte); der Systembus 24 hat eine Breite von m Byte, wobei m Byte die Breite einer einzelnen Zeile des Datencaches 16 ist (d. h. 16 Byte) In der abgebildeten Form ist die CPU 12 eine erste interne Funktionseinheit mit einer herkömmlichen Ausführungseinheit für die Ausführung einer vorgegebenen Anzahl von Anforderungen. Die Datencache-Steuereinheit 14 ist eine zweite interne Funktionseinheit, die Steuersignale von der Busschnittstellen-Steuereinheit 20 und der CPU 12 empfängt und die Datenübertragungen zwischen dem Datencache 16, der CPU 12 und der Busschnittstellen-Steuereinheit 20 verwaltet. Der Datencache 16 ist eine dritte Funktionseinheit, die mit der Datencache-Steuereinheit 14, den Puffern 22 und dem internen Bus 18 verbunden ist. Der Datencache 16 enthält die notwendige Logik, um aus dem Cache zu lesen, in ihn zu schreiben, ihn zu aktualisieren, ungültig zu machen und zu leeren. In der bevorzugten Ausführungsform arbeiten die drei internen Funktionseinheiten parallel, um so die maximal mögliche Leistung zu erhalten.
- Mit der MOVE-Blockanweisung kann der Programmierer den Zeilentyp des Datencaches 16 und die Bündelfunktionalität des Systembusses 24 voll nutzen. Wenn eine MOVE-Blockanweisung erkannt wird, fordert die CPU 12 die Datencache-Steuereinheit 14 auf, eine Blockleseoperation von Daten aus einer Leseadresse auszuführen, gefolgt von einer Blockschreiboperation derselben Daten in eine Schreibadresse. Die Datencache-Steuereinheit 14 stellt die Daten aus der Leseadresse in den Einspeicherungspuffer 22b, nachdem sie eine Blockleseanforderung von der CPU 12 empfangen hat. Die in den Einspeicherungspuffer 22b geladenen Daten können vom Datencache 16 oder über den Lesepuffer 22a vom Systembus 24 kommen. In letzterem Fall wird der Lesepuffer 22a durch eine bündelweise Leseoperation geladen, die von der Busschnittstellen-Steuereinheit 20 ausgeführt wird. Die Datencache- Steuereinheit 14 überträgt als Reaktion auf eine Blockschreibanforderung Daten im Einspeicherungspuffer 22b sowie die von der CPU 12 bereitgestellte Schreibadresse an die Busschnittstellen-Steuereinheit 20. Die Busschnittstellen- Steuereinheit 20 überträgt die Daten mit einer bündelweisen Schreibübertragung entsprechend der Schreibadressen an den Hauptspeicher 26.
- Während des Betriebs führt die CPU 12 die MOVE-Blockanweisung auf die im folgenden beschriebene Art und Weise aus. Die CPU 12 überträgt eine Blockleseanforderung an die Datensteuereinheit 14 und sendet gleichzeitig die Leseadresse an das Adressenregister 32. In der bevorzugten Ausführungsform ist der Datencache 16 ein physikalischer Cache, daher wird die Leseadresse in einem Adressumsetzpuffer (TLB) 34 umgesetzt, um eine entsprechende physikalische Adresse zu erhalten. Der TLB 34 setzt eine vorgegebene Anzahl von höherwertigen Adressenbit der Operandenadresse in eine physikalische Adresse um und überträgt gleichzeitig die physikalische Adresse an die Datencache- Steuereinheit 14 und die Busschnittstellen-Steuereinheit 20. Der Datencache 16 empfängt auch die vom TLB 34 erzeugte physikalische Adresse und vergleicht sie mit einer Anzahl von Identifizierungsadressen, die im Datencache 16 gespeichert sind.
- Ergibt der Vergleich der Adressen eine Übereinstimmung, ist ein Cache-Treffer gegeben, und der Datencache 16 sendet ein HIT- Signal an die Datencache-Steuereinheit 14. Stimmt kein Eintrag im Datencache 16 mit der Leseadresse überein, liegt ein Cache- Fehlgriff vor, und der Datencache 16 sendet ein MISS-signal (das komplementär zum HIT-Signal ist) an die Datencache- Steuereinheit 14. Der Empfang des HIT- oder MISS-Signals durch die Datencache-Steuereinheit 14 veranlaßt eines von vier möglichen Ereignissen. Ereignis 1 tritt ein, wenn das MISS-Signal empfangen wird. Ereignis 2 tritt ein, wenn das HIT-Signal empfangen wird und die Leseadresse im Cache speicherbar ist, so daß die Daten aus dem Datencache 16 gelesen werden können. Ereignis 3 tritt ein, wenn da HIT-Signal empfangen wird, die Leseadresse nicht im Cache speicherbar ist und die Cachedaten mit dem Hauptspeicher 26 übereinstimmen (VALID). Ereignis 4 tritt ein, wenn das HIT-Signal empfangen wird, die Leseadresse nicht im Cache speicherbar ist und die der Leseadresse entsprechenden Cachedaten nicht mit dem Hauptspeicher 26 übereinstimmen (DIRTY).
- FIG. 2 zeigt ein Flußdiagramm für die Ausführung der MOVE- Blockanweisung gemäß einer bevorzugten Ausführungsform der Erfindung. Die Zahlen in Klammern entsprechen den vier oben beschriebenen Ereignissen. Ereignis 1 tritt ein, wenn der Datencache 16 das MISS-Signal an die Datencache-Steuereinheit 14 sendet. Als Reaktion auf den Empfang des MISS-Signals überträgt die Datencache-Steuereinheit 14 ein BUS ACCESS REQUEST-Signal (BAR) an die Busschnittstellen-Steuereinheit 20 und fordert so eine Blockleseoperation an. Die Blockleseanforderung entspricht der Leseadresse, die vom TLB 34 an die Busschnittstellen- Steuereinheit 20 gesendet wurde. Als Reaktion auf das BAR- Signal überträgt die Busschnittstellen-Steuereinheit 20 die Leseadresse an den Systembus 24 und zeigt mit den Speichersteuersignalen (CONTROL) eine bündelweise Leseübertragung an. Bei Empfang der Leseadresse und der CONTROL-Signale für die bündelweise Leseübertragung überträgt der Hauptspeicher 26 die angeforderten Daten in vorgegebenen Datenabschnitten, die mit der Datenbusbreite übereinstimmen, auf dem Systembus 24. Die Busschnittstellen-Steuereinheit 20 empfängt die einzelnen Datenabschnitte über den Systembus 24 und überträgt die Daten in den Lesepuffer 22a. Die Busschnittstellen-Steuereinheit 20 zeigt den Abschluß der Bündelübertragung an, indem sie ein STATUS- Signal an die Datencache-Steuereinheit 14 sendet. Die Datencache-Steuereinheit 14 überträgt danach mit einem TRANSFER CONTROL-Signal Daten aus dem Lesepuffer 22a in den Einspeicherungspuffer 22b.
- Ereignis 2 tritt ein, wenn der Datencache 16 das HIT-Signal an die Datencache-Steuereinheit 14 sendet und die Leseadresse im Cache speicherbar ist. Die Datencache-Steuereinheit 14 liest den gesamten Datenblock aus dem Datencache 16 und überträgt die Daten mit einem CACHE CONTROL-Signal an den Einspeicherungspuffer 22b.
- Ereignis 3 tritt ein, wenn der Datencache 16 das HIT-Signal an die Datencache-Steuereinheit 14 überträgt, die Leseadresse nicht im Cache speicherbar ist und die Daten im Datencache 16 mit dem Hauptspeicher 26 übereinstimmen (z.B.VALID). Die Datencache-Steuereinheit 14 macht den Cache-Eintrag mit einem Steuersignal ungültig und fährt mit dem Abruf des Datenblocks aus dem Hauptspeicher 26 fort, wie für Ereignis 1 beschrieben wurde.
- Ereignis 4 tritt ein, wenn das HIT-Signal vom Datencache 16 durch die Datencache-Steuereinheit 14 empfangen wurde, die Leseadresse nicht im Cache speicherbar ist und die Daten im Datencache 16, die der Leseadresse entsprechen, nicht mit dem Hauptspeicher 26 übereinstimmen (z.B.DIRTY). Die Datencache- Steuereinheit 14 macht den Eintrag im Datencache 16 ungültig, liest den gesamten Cachedatenblock aus dem Datencache 16 und überträgt die Daten mit einem CACHE CONTROL-Signal an den Einspeicherungspuffer 22b. Die Datencache-Steuereinheit 14 sendet eine Blockschreibanforderung (Einspeicherungsanforderung) an die Busschnittstellen-Steuereinheit 20 und zeigt so an, daß nun modifizierte Daten im Einspeicherungspuffer 22b gespeichert sind. Nach dem Empfang der Einspeicherungsanforderung sendet die Busschnittstellen-Steuereinheit 20 das PUSH CONTROL-Signal an den Einspeicherungspuffer 22b und überträgt so die modifizierten Daten im Einspeicherungspuffer 22b in ein internes Register (nicht abgebildet) der Busschnittstellen-Steuereinheit 20. Die modifizierten Daten werden anschließend wieder in den Hauptspeicher 26 geschrieben. Die Busschnittstellen-Steuereinheit 20 sendet ein STATUS-Signal an die Datencache- Steuereinheit 14 und zeigt so den Empfang der Einspeicherungsanforderung an. Nach dem Empfang des STATUS-Signals von der Busschnittstellen-Steuereinheit 20 beginnt die Datencache- Steuereinheit 14 erneut mit dem Lesezyklus, und Ereignis 1 tritt ein.
- Unabhängig davon, welches Ereignis bei der Blockleseanforderung der CPU 12 eintritt, ist die Datencache-Steuereinheit 14 für den Empfang der Blockschreibanforderung der CPU 12 bereit, nachdem die Lesedaten in den Einspeicherungspuffer 22b geladen wurden. Nach dem Empfang der Blockschreibanforderung und der Schreibadresse sendet die Datencache-Steuereinheit 14 gleichzeitig die Schreibadresse (eventuell durch den TLB 34 umgesetzt) an die Busschnittstellen-Steuereinheit 20 und den Datencache 16. Der Datencache 16 vergleicht die Schreibadresse mit der Identifizierungsadresse, die im Datencache 16 gespeichert ist. Ergibt der Vergleich eine Übereinstimmung der Adressen, liegt ein Cache-Treffer vor, der Datencache 16 macht den übereinstimmenden Cache-Eintrag ungültig und sendet das HIT-Signal an die Datencache-Steuereinheit 14. Falls kein Cache-Eintrag mit der Schreibadresse übereinstimmt, liegt ein Cache-Fehlgriff vor, und der Datencache 16 sendet ein MISS-Signal an die Datencache-Steuereinheit 14. Da kein übereinstimmender Cache-Eintrag vorhanden ist, der erfordern würde, ungültig gemacht zu werden, führt der Datencache 16 keine weiteren Operationen durch.
- In beiden Fällen (bei einem Cache-Treffer oder -Fehlgriff) sendet die Datencache-Steuereinheit 14 ein BAR-Signal an die Busschnittstellen-Steuereinheit 20 und fordert so die Blockschreiboperation an. Nach dem Empfang der Blockschreibanforderung überträgt die Busschnittstellen-Steuereinheit 20 die Schreibadresse und Blockschreib-Steuersignale für eine bündelweise Schreibübertragung an den Systembus 24. Außerdem sendet die Busschnittstellen-Steuereinheit 20 ein PUSH CONTROL-Signal an den Einspeicherungspuffer 22b und überträgt so die Daten aus dem Einspeicherungspuffer 22b in vorgegebenen Abschnitten, die der maximalen Busbreite entsprechen, an den Systembus 24 (über die Busschnittstellen-Steuereinheit 20). Die Geschwindigkeit der Datenübertragung wird durch die Geschwindigkeit bestimmt, mit der die einzelnen Datenabschnitte vom Hauptspeicher 26 empfangen werden können. Der Hauptspeicher 26 zeigt mit Statussignalen den Empfang der einzelnen Datenabschnitte an, und die Übertragung wird so lange fortgesetzt, bis der gesamte Einspeicherungspuffer 22b in den Hauptspeicher 26 übertragen wurde und die Bündelübertragung abgeschlossen ist. Die Busschnittstellen- Steuereinheit 20 zeigt der Datencache-Steuereinheit 14 den Abschluß der Datenübertragung an den Hauptspeicher 26 mit einem STATUS-Signal an. Die MOVE-Blockanweisung ist nun abgeschlossen, und die Datencache-Steuereinheit 14 kann neue Anforderungen von der CPU 12 empfangen.
- Obwohl die vorliegende Erfindung im Hinblick auf eine bevorzugte Ausführungsform beschrieben wurde, weiß der Fachmann, daß die beschriebene Erfindung auf verschiedene Arten modifiziert werden kann und neben der oben dargelegten und beschriebenen viele weitere Ausführungsformen annehmen kann. So kann der Datencache 16 z.B.ein logischer Cache sein, wobei die Adressenumsetzung durch den TLB 34 nicht notwendig ist. Ist der Datencache 16 ein logischer Cache stellt das Adressenregister 32 entsprechend die Leseadresse direkt der Datencache-Steuereinheit 14 und der Busschnittstellen-Steuereinheit 20 bereit. Die BLOCK MOVE-Anweisung kann für die Ausführung von bündelweisen Schreiboperationen von Daten an Einrichtungen für den direkten Speicherzugriff (DMA) 28 oder an getrennte Coprozessoren verwendet werden. Die Größe des übertragenen Blocks kann abhängig von Cachezeilengröße und Busprotokoll modifiziert werden. Außerdem kann die Anderung der Blockgröße in der Anforderung selbst codiert werden. Die BLOCK MOVE-Anweisung kann auch für die Ausführung von bündelweisen Schreiboperationen des Dateninhalts von Mehrregistern verwendet werden. Hierfür werden die Register in der CPU 12 als Quelle für die Lesedaten spezifiziert und diese Register über den internen Bus 18 an den Einspeicherungspuffer 22b übertragen, so daß eine Verschiebeanforderung für Mehrfachregister ausgeführt werden kann.
Claims (5)
1. Datenprozessor (10) für die Ausführung einer
Blockverschiebeanweisung, indem ein Datenblock als Reaktion auf
eine Blockleseanforderung aus einem ersten Speicherplatz
gelesen wird und indem der Datenblock als Reaktion auf
eine Blockschreibanforderung in einen zweiten Speicherplatz
geschrieben wird, wobei der Datenprozessor enthält:
Mittel für die Anweisungsausführung (12) für die
Ausführung einer jeden der Mehrzahl von Anweisungen,
einschließlich der Blockverschiebeanweisung, und für die
Bereitstellung einer Mehrzahl von Steuersignalen und einer Mehrzahl
von Operandenadressen, die für die Ausführung der
Anweisungen erforderlich sind; einen Cache-Speicher (16); einen
Hauptspeicher (26); einen Systemkommunikationsbus (24) mit
einer Breite von m Byte, worin m eine Ganzzahl größer als
die maximale Anzahl der Byte ist, die von dem
Datenprozessor verarbeitet werden, wobei der Systemkommunikationsbus
für Datenübertragungen von m Byte zwischen dem Cache- und
dem Hauptspeicher verwendet wird und wobei der
Datenprozessor gekennzeichnet ist durch
erste Mittel (14, 20, 22), die mit dem Mittel für die
Anweisungsausführung (12) und dem Systemkommunikationsbus
(24) verbunden sind, um auf die Blockverschiebeanweisung
zu reagieren, indem der Dateneintrag mit einer Breite von
m Byte als Reaktion auf die Blockleseanforderung der
Mittel für die Anweisungsausführung aus dem ersten
Speicherplatz (16 oder 26) ausgelesen wird und indem der
Dateneintrag mit einer Breite von m Byte als Reaktion auf die
Blockschreibanforderung über den Systemkommunikationsbus
(24) in den zweiten Speicherplatz (26) übertragen wird,
wobei der Dateneintragsblock als Reaktion auf die
Blockverschiebeanweisung bündelweise über den
Systemkommunikationsbus (24) mit einer Breite von m Byte übertragen wird.
2. Datenprozessor (10) nach Anspruch 1, wobei die ersten
Mittel eine Speicher-Speicher-Verschiebung des Dateneintrags
mit einer Breite von m Byte von dem ersten Speicherplatz
(16) zu dem zweiten Speicherplatz (26) ausführen, indem
eine stoßweise Schreibübertragung des m Byte umfassenden
Dateneintrags über den Systemkommunikationsbus (24) mit
einer Breite von m Byte ausgeführt wird.
3. Datenprozessor nach Anspruch 2, wobei die ersten Mittel
folgendes enthalten:
Bussteuermittel (20), die mit dem Systemkommunikationsbus
(24) verbunden sind, um den Dateneintrag mit einer Breite
von m Byte anhand der Mittel für die Anweisungsausführung
(12) aus einer Leseadresse, die den ersten Speicherplatz
umfaßt, auszulesen und um die stoßweise Schreibübertragung
des Dateneintrags mit einer Breite von m Byte über den
Systemkommunikationsbus (24) an den zweiten Speicherplatz
zu veranlassen, wobei die Schreibadresse den zweiten
Speicherplatz umfaßt;
Speichermittel (22), die mit den Bussteuermitteln (20)
verbunden sind, für die vorübergehende Speicherung des
Dateneintrags mit einer Breite von m Byte und für die
Übertragung des Dateneintrags mit einer Breite von m Byte an
die Bussteuermittel (20) als Reaktion auf ein erstes
Steuersignal, das von den Bussteuermitteln bereitgestellt
wird; und
Speichersteuermittel (14), die mit den Mitteln für die
Anweisungsausführung (12), den Bussteuermitteln (20) und den
Speichermitteln (22) verbunden sind, um die
Blockleseanforderung von den Mitteln für die Anweisungsausführung zu
empfangen und den Dateneintrag mit einer Breite von m
Byte, der aus dem ersten Speicherplatz ausgelesen wurde,
als Reaktion darauf an die Speichermittel zu übertragen
und die Blockschreibanforderung von den Mitteln für die
Anweisungsausführung (12) zu empfangen und die
Schreibadresse an die Bussteuermittel (20) zu übertragen, wobei
die Speichersteuermittel (14) die Bussteuermittel
auffordem, die stoßweise Schreibübertragung des Dateneintrags
mit einer Breite von m Byte von den Speichermitteln über
den Systemkommunikationsbus zu dem zweiten Speicherplatz
zu veranlassen.
4. Datenprozessor nach Anspruch 3, wobei die
Speichersteuermittel (14) ein Datenbündel-Anforderungssignal an die
Bussteuermittel (20) ausgeben und damit der
Bussteuereinheit (20) mitteilen, daß ein Dateneintrag mit einer Breite
von m Byte, der aus dem ersten Speicherplatz ausgelesen
wurde, in den Speichermitteln (22) gespeichert ist und für
die stoßweise Schreibübertragung an den zweiten
Speicherplatz bereitsteht.
5. Datenprozessor nach Anspruch 1, wobei die ersten Mittel
den Dateneintrag mit einer Breite von m Byte an den zweite
Speicherplatz übertragen, indem eine nicht stoßweise
Datenübertragung des Dateneintrags mit einer Breite von m
Byte über den Systemübertragungsbus (24) ausgeführt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/371,343 US5185694A (en) | 1989-06-26 | 1989-06-26 | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69031367D1 DE69031367D1 (de) | 1997-10-09 |
DE69031367T2 true DE69031367T2 (de) | 1998-03-19 |
Family
ID=23463581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69031367T Expired - Lifetime DE69031367T2 (de) | 1989-06-26 | 1990-06-25 | Blockübertragungs- und Koprozessorschnittstellenbefehl |
Country Status (6)
Country | Link |
---|---|
US (1) | US5185694A (de) |
EP (1) | EP0405882B1 (de) |
JP (1) | JP3431626B2 (de) |
KR (1) | KR0154533B1 (de) |
DE (1) | DE69031367T2 (de) |
HK (1) | HK1002438A1 (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
US5255378A (en) * | 1989-04-05 | 1993-10-19 | Intel Corporation | Method of transferring burst data in a microprocessor |
AU662973B2 (en) * | 1992-03-09 | 1995-09-21 | Auspex Systems, Inc. | High-performance non-volatile ram protected write cache accelerator system |
US5953513A (en) * | 1992-07-09 | 1999-09-14 | Hitachi, Ltd. | Recording and reproducing device for recording and reproducing information from different kinds of storage media having different sector formats |
CA2135681C (en) * | 1993-12-30 | 2000-01-18 | Srinivas V. Makam | System and method for directly accessing long-term memory devices |
JP3529429B2 (ja) * | 1994-06-10 | 2004-05-24 | 富士通株式会社 | データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法 |
EP0745941B1 (de) * | 1995-06-02 | 2003-08-06 | Sun Microsystems, Inc. | System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie |
JP3513291B2 (ja) * | 1995-12-14 | 2004-03-31 | 富士通株式会社 | データ転送装置 |
US5911151A (en) * | 1996-04-10 | 1999-06-08 | Motorola, Inc. | Optimizing block-sized operand movement utilizing standard instructions |
US5835972A (en) * | 1996-05-28 | 1998-11-10 | Advanced Micro Devices, Inc. | Method and apparatus for optimization of data writes |
US5774135A (en) * | 1996-11-05 | 1998-06-30 | Vlsi, Technology, Inc. | Non-contiguous memory location addressing scheme |
US5933855A (en) * | 1997-03-21 | 1999-08-03 | Rubinstein; Richard | Shared, reconfigurable memory architectures for digital signal processing |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
US6311258B1 (en) | 1997-04-03 | 2001-10-30 | Canon Kabushiki Kaisha | Data buffer apparatus and method for storing graphical data using data encoders and decoders |
US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
US6259456B1 (en) | 1997-04-30 | 2001-07-10 | Canon Kabushiki Kaisha | Data normalization techniques |
AUPO647997A0 (en) * | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US6246396B1 (en) | 1997-04-30 | 2001-06-12 | Canon Kabushiki Kaisha | Cached color conversion method and apparatus |
US6006303A (en) * | 1997-08-28 | 1999-12-21 | Oki Electric Industry Co., Inc. | Priority encoding and decoding for memory architecture |
US6108723A (en) * | 1998-07-20 | 2000-08-22 | Hewlett-Packard Company | System for implementing hardware automated control of burst mode data transfer over a communication link between devices operating in a block mode |
US6449711B1 (en) | 1999-02-04 | 2002-09-10 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs |
JP2001035153A (ja) * | 1999-07-23 | 2001-02-09 | Fujitsu Ltd | 半導体記憶装置 |
US6665749B1 (en) * | 1999-08-17 | 2003-12-16 | Nec Electronics, Inc. | Bus protocol for efficiently transferring vector data |
DE19948100A1 (de) * | 1999-10-06 | 2001-04-12 | Infineon Technologies Ag | Prozessorsystem |
US6751675B1 (en) | 1999-11-15 | 2004-06-15 | Sun Microsystems, Inc. | Moving set packet processor suitable for resource-constrained devices |
JP2005190057A (ja) * | 2003-12-25 | 2005-07-14 | Hitachi Ltd | ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法 |
US7343451B2 (en) * | 2003-12-25 | 2008-03-11 | Hitachi, Ltd. | Disk array device and remote copying control method for disk array device |
US8037474B2 (en) * | 2005-09-27 | 2011-10-11 | Sony Computer Entertainment Inc. | Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution |
US7522168B2 (en) * | 2005-09-27 | 2009-04-21 | Sony Computer Entertainment Inc. | Cell processor task and data management |
US8316220B2 (en) * | 2005-09-27 | 2012-11-20 | Sony Computer Entertainment Inc. | Operating processors over a network |
US7734827B2 (en) * | 2005-09-27 | 2010-06-08 | Sony Computer Entertainment, Inc. | Operation of cell processors |
US7506123B1 (en) * | 2005-09-27 | 2009-03-17 | Sony Computer Entertainment Inc. | Method and system for performing memory copy function on a cell processor |
US8141076B2 (en) * | 2005-09-27 | 2012-03-20 | Sony Computer Entertainment Inc. | Cell processor methods and apparatus |
US7975269B2 (en) * | 2005-09-27 | 2011-07-05 | Sony Computer Entertainment Inc. | Parallel processor methods and apparatus |
US8085275B1 (en) * | 2005-12-20 | 2011-12-27 | Nvidia Corporation | System and method for low-overhead push buffer jumps |
US8595747B2 (en) * | 2005-12-29 | 2013-11-26 | Sony Computer Entertainment Inc. | Efficient task scheduling by assigning fixed registers to scheduler |
US8621154B1 (en) | 2008-04-18 | 2013-12-31 | Netapp, Inc. | Flow based reply cache |
US8161236B1 (en) | 2008-04-23 | 2012-04-17 | Netapp, Inc. | Persistent reply cache integrated with file system |
US8543796B2 (en) * | 2008-11-05 | 2013-09-24 | Intel Corporation | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
US9218183B2 (en) | 2009-01-30 | 2015-12-22 | Arm Finance Overseas Limited | System and method for improving memory transfer |
US8171227B1 (en) | 2009-03-11 | 2012-05-01 | Netapp, Inc. | System and method for managing a flow based reply cache |
US10210114B2 (en) | 2014-08-01 | 2019-02-19 | Universiti Teknologi Malaysia | Interrupt-driven I/O arbiter for a microcomputer system |
DE102014111302B4 (de) * | 2014-08-07 | 2023-09-14 | Mikro Pahlawan | Unterbrechungsgesteuerter Ein-/Ausgabe-Arbiter für ein Mikrocomputersystem |
US9575913B1 (en) * | 2015-12-07 | 2017-02-21 | International Business Machines Corporation | Techniques for addressing topology specific replicated bus units |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4564899A (en) * | 1982-09-28 | 1986-01-14 | Elxsi | I/O Channel bus |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US4958351A (en) * | 1986-02-03 | 1990-09-18 | Unisys Corp. | High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass |
US4811208A (en) * | 1986-05-16 | 1989-03-07 | Intel Corporation | Stack frame cache on a microprocessor chip |
US4802085A (en) * | 1987-01-22 | 1989-01-31 | National Semiconductor Corporation | Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor |
US4910656A (en) * | 1987-09-21 | 1990-03-20 | Motorola, Inc. | Bus master having selective burst initiation |
US4912631A (en) * | 1987-12-16 | 1990-03-27 | Intel Corporation | Burst mode cache with wrap-around fill |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
EP0375883A3 (de) * | 1988-12-30 | 1991-05-29 | International Business Machines Corporation | Cache-Speicheranordnung |
-
1989
- 1989-06-26 US US07/371,343 patent/US5185694A/en not_active Expired - Lifetime
-
1990
- 1990-06-22 KR KR1019900009248A patent/KR0154533B1/ko not_active IP Right Cessation
- 1990-06-25 DE DE69031367T patent/DE69031367T2/de not_active Expired - Lifetime
- 1990-06-25 EP EP90306918A patent/EP0405882B1/de not_active Expired - Lifetime
- 1990-06-26 JP JP16587490A patent/JP3431626B2/ja not_active Expired - Lifetime
-
1998
- 1998-02-23 HK HK98101378A patent/HK1002438A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0405882B1 (de) | 1997-09-03 |
HK1002438A1 (en) | 1998-08-21 |
DE69031367D1 (de) | 1997-10-09 |
KR910001555A (ko) | 1991-01-31 |
KR0154533B1 (ko) | 1998-11-16 |
JP3431626B2 (ja) | 2003-07-28 |
EP0405882A2 (de) | 1991-01-02 |
JPH0337744A (ja) | 1991-02-19 |
EP0405882A3 (en) | 1993-04-21 |
US5185694A (en) | 1993-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69031367T2 (de) | Blockübertragungs- und Koprozessorschnittstellenbefehl | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE68926036T2 (de) | Speicherkonfiguration zur Verwendung für Schnittstellenbildung zwischen einer Systemsteuereinheit für ein Multiprozessorsystem und dem Hauptspeicher | |
DE3689042T2 (de) | Gerät zur Pufferung von Schreibanforderungen. | |
DE69132652T2 (de) | Rechnerdatenleitweglenkungssystem | |
DE3146356C2 (de) | Vorrichtung zur Steuerung der Übertragung von Gerätesteuerinformation in einem Datenendgerät | |
DE69127111T2 (de) | Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher | |
DE69323790T2 (de) | Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem | |
DE69124946T2 (de) | Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen | |
DE3786967T2 (de) | Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem. | |
DE69031978T2 (de) | Einrichtung und Verfahren zum Vermindern von Störungen in zweistufigen Cache-Speichern | |
DE68924306T2 (de) | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. | |
DE60211076T2 (de) | Datenübertragung zwischen virtuellen Adressen | |
DE69031658T2 (de) | Vorrichtung und verfahren für instandhaltung von cache/zentralspeicherkonsistenz | |
DE68928040T2 (de) | Pufferspeichersubsystem für Peripheriesteuerungen und Verfahren | |
DE2241257B2 (de) | Datenverarbeitende Anlage | |
DE68923863T2 (de) | Ein-/Ausgabecachespeicherung. | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3854369T2 (de) | Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung. | |
DE10048072A1 (de) | Linklisten-DMA-Descriptor-Architektur | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE3855300T2 (de) | Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung | |
DE3587031T2 (de) | Zugriffpruefungseinrichtung fuer digitale datenverarbeitungsanordnung, welche einen speicher mit seitenabruf hat. | |
DE602004010399T2 (de) | Neuadressierbare virtuelle dma-steuer und statusregister |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: SCHUMACHER & WILLSAU, PATENTANWALTSSOZIETAET, 80335 MUENCHEN |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: FREESCALE SEMICONDUCTOR, INC., AUSTIN, TEX., US |