[go: up one dir, main page]

DE69031367T2 - Blockübertragungs- und Koprozessorschnittstellenbefehl - Google Patents

Blockübertragungs- und Koprozessorschnittstellenbefehl

Info

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
Application number
DE69031367T
Other languages
English (en)
Other versions
DE69031367D1 (de
Inventor
Robin W Edenfield
William B Ledbetter
Ralph Mcgarity
Russell Reininger
Austin Van Shahan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of DE69031367D1 publication Critical patent/DE69031367D1/de
Application granted granted Critical
Publication of DE69031367T2 publication Critical patent/DE69031367T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements 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

    GEBIET DER ERFINDUNG
  • 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.
  • HINTERGRUND DER ERFINDUNG
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • AUSFÜHRLICHE BESCHREIBUNG 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.
DE69031367T 1989-06-26 1990-06-25 Blockübertragungs- und Koprozessorschnittstellenbefehl Expired - Lifetime DE69031367T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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