DE60010674T2 - Hochgeschwindigkeits-prozessorsystem, verfahren zu dessen verwendung und aufzeichnungsmedium - Google Patents

Hochgeschwindigkeits-prozessorsystem, verfahren zu dessen verwendung und aufzeichnungsmedium Download PDF

Info

Publication number
DE60010674T2
DE60010674T2 DE60010674T DE60010674T DE60010674T2 DE 60010674 T2 DE60010674 T2 DE 60010674T2 DE 60010674 T DE60010674 T DE 60010674T DE 60010674 T DE60010674 T DE 60010674T DE 60010674 T2 DE60010674 T2 DE 60010674T2
Authority
DE
Germany
Prior art keywords
mpu
cpu
processor system
cache memory
processing
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
DE60010674T
Other languages
English (en)
Other versions
DE60010674D1 (de
Inventor
Akio Ohba
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of DE60010674D1 publication Critical patent/DE60010674D1/de
Application granted granted Critical
Publication of DE60010674T2 publication Critical patent/DE60010674T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Multi Processors (AREA)

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft ein hierarchisch konfiguriertes Parallelrechnersystem und insbesondere ein Hochgeschwindigkeits-Prozessorsystem, das eine Hochgeschwindigkeits-Parallelverarbeitung durchführen kann, ohne eine Veränderung der existierenden Programmierstile zu erfordern, ein Verfahren zum Verwenden des Hochgeschwindigkeits-Prozessorsystems und ein Speichermedium.
  • STAND DER TECHNIK
  • Eine Architektur für eine Parallelverarbeitung ist in dem Artikel "Complementary Hybrid Architecture With Two Different Processing Elements With Different Grain Size" von Kei Hiraki und Takashi Matsumoto, Proceedings of the Region 10 Annual International Conference (TENCON) US, IEEE Bd. 1, CONF. 9, 1994, S. 324–331 erörtert. In diesem Artikel wird eine Prozessorarchitektur mit zwei verschiedenen Verarbeitungselementen, die für verschiedene Granularitäten optimiert sind, vorgeschlagen. Die vorgeschlagene Architektur kann die hohe Leistungsfähigkeit der RISC-Prozessor-Arbeitsweise grober Granularität in Verbindung mit einer flexiblen Arbeitsweise feiner Granularität wie etwa eines dezentralen gemeinsamen Speichers, einer anpassungsfähigen Synchronisation und Nachrichtenübertragung nutzen.
  • Ein Hochgeschwindigkeits-Prozessorsystem, das eine CPU und einen langsamen DRAM großer Kapazität mit Cache-Speichern aufweist, ist als ein System für eine Hochgeschwindigkeitsverarbeitung von großen Datenmengen bekannt. Ein solches bekanntes Hochgeschwindigkeits-Prozessorsystem hat, wie in 1 gezeigt ist, eine CPU 1, die einen primären Cache enthält, und mehrere parallele DRAMs 2, die über eine gemeinsame Busleitung an die CPU 1 angeschlossen sind, wobei jeder DRAM 2 mit einem sekundären Cache 3 ausgestattet ist, der dazu dient, eine Verarbeitung durch die DRAMs 2 mit einer Geschwindigkeit zu ermöglichen, die der Verarbeitungsgeschwindigkeit der CPU 1 etwa gleich ist.
  • Bei einem Betrieb der Schaltungsanordnung, die in 1 gezeigt ist, werden entsprechend einem Befehl, der von der CPU 1 gegeben wird, die Inhalte eines der DRAMs 2 gelesen, wobei auch ein Schreiben von Informationen in den DRAM 2 entsprechend einem Befehl von der CPU 1 ausgeführt wird. Wenn der Lesebefehl trifft, d. h. wenn der gewünschte Inhalt, der aus dem DRAM 2 gelesen werden soll, in dem Cache 3 gehalten wird, kann die CPU 10 eine Hochgeschwindigkeitsdatenverarbeitung ausführen, indem sie auf den sekundären Cache 3 zugreift. Im Fall eines Fehltreffers, d. h. wenn der gewünschte Inhalt nicht in dem Cache 3 vorhanden ist, muss der Cache 3 den Zielinhalt aus dem DRAM 2 auslesen.
  • Die beschriebene Grundkonfiguration des Hochgeschwindigkeits-Prozessorsystems mit einem Prozessor, DRAMs und Caches ist heutzutage vorherrschend, weil sie auf vorteilhafte Weise ermöglicht, einen normalen Programmierstil für die Steuerung zu verwenden.
  • Dieses Hochgeschwindigkeits-Prozessorsystem, das eine hierarchische Anordnung von Caches verwendet, kann jedoch keine Parallelverarbeitung durchführen, da es nur eine CPU 1 nutzt. Außerdem ist der normale Programmierstil nicht eigens für eine Parallelverarbeitung vorgesehen und kann nicht einfach angewendet werden, um ein Parallelverarbeitungssystem laufen zu lassen, wenn er nicht modifiziert ist, was folglich Ursache einer Behinderung der praktischen Umsetzung ist.
  • OFFENBARUNG DER ERFINDUNG
  • Unter diesen Umständen zielt die Erfindung darauf ab, ein neuartiges Hochgeschwindigkeits-Prozessorsystem, ein Verfahren zum Verwenden des Hochgeschwindigkeits-Prozessorsystems und ein Speichermedium für die Aufzeichnung eines computerlesbaren und computerausführbaren Programms zu schaffen.
  • In Anbetracht des Vorerwähnten ist eine Aufgabe der Erfindung die Schaffung eines Hochgeschwindigkeits-Prozessorsystems, das eine Parallelverarbeitung durchführt, ohne eine Änderung oder Modifikation eines herkömmlichen Programmierstils zu erfordern, eines Verfahrens zum Herstellen eines derartigen Hochgeschwindigkeits-Prozessorsystems und eines Aufzeichnungsmediums, das ein computerlesbares und computerausführbares Programm aufzeichnet.
  • Gemäß der Erfindung wird ein Hochgeschwindigkeits-Prozessorsystem geschaffen, mit: einer CPU mit einem primären Cache-Speicher; einem sekundären Cache-Speicher, der auf einer niedrigeren hierarchischen Ebene als jene der CPU angeordnet ist und eine erste MPU besitzt; mehreren Hauptspeichern, die mit dem sekundären Cache-Speicher verbunden und zueinander parallel angeordnet sind, wobei jeder der Hauptspeicher einen tertiären Cache-Speicher, der mit einer zweiten MPU versehen ist, besitzt, wobei sowohl die erste MPU als auch die zweiten MPUs sowohl eine Cache-Logikfunktion als auch eine Prozessorfunktion haben, wodurch eine verteilte konkurrente Verarbeitung ermöglicht wird.
  • Bei dem Hochgeschwindigkeits-Prozessorsystem der Erfindung können die tertiären Cache-Speicher eine größere Leitungsgröße als jene des sekundären Cache-Speichers besitzen, die ihrerseits größer als die Leitungsgröße des primären Cache-Speichers ist.
  • Auf den sekundären Cache-Speicher wird als ein sekundärer Cache-Speicher von der CPU und als ein primärer Cache-Speicher von der ersten MPU zugegriffen.
  • Auf die tertiären Cache-Speicher wird als tertiäre Cache-Speicher von der CPU, als sekundäre Cache-Speicher von der ersten MPU und als primäre Cache-Speicher von der zweiten MPU zugegriffen.
  • Jede von der ersten MPU und von den zweiten MPUs ausgeführte Datenverarbeitung erfolgt entsprechend einem Steuerprotokoll, das durch einen Vorholbefehl oder durch einen intelligenten Vorholbefehl, der von der CPU gegeben wird, transportiert wird. Unterdessen führen sowohl die erste MPU als auch die zweiten MPUs wahlweise die Datenverarbeitung je nach Datenübertragungsgröße und Datenübertragungsfrequenz aus.
  • Zum Beispiel führt die erste MPU hauptsächlich eine globale Übertragungsverarbeitung oder eine Verarbeitung mit niedrigem Rechenniveau und hoher Übertragungsrate aus, indem sie Daten und Programme verwendet, die in den mehreren Hauptspeichern gespeichert sind. Die zweite MPU führt hauptsächlich eine Verarbeitung lokaler Objekte aus, indem sie Daten und ein Programm, die in dem zugeordneten einzigen Hauptspeicher gespeichert sind, verwendet.
  • Das Hochgeschwindigkeits-Prozessorsystem kann in einem einzigen Chip als ein ASIC-DRAM implementiert sein.
  • Die Erfindung schafft außerdem ein Verfahren zum Verwenden eines Hochgeschwindigkeits-Prozessorsystems, das eine CPU mit einem primären Cache-Speicher, einen sekundären Cache-Speicher, der auf einer niedrigeren hierarchischen Ebene als jene der CPU angeordnet ist und eine erste MPU besitzt, und mehrere Hauptspeicher, die mit dem sekundären Cache-Speicher verbunden und zueinander parallel angeordnet sind, wobei jeder der Hauptspeicher einen mit einer zweiten MPU versehenen tertiären Cache-Speicher aufweist, enthält, wobei das Verfahren umfasst: Veranlassen der CPU, hauptsächlich arithmetische Verarbeitungen hoher Ebene auszuführen; Veranlassen der ersten MPU, hauptsächlich globale Übertragungsverarbeitungen und eine Verarbeitung mit niedrigem Rechenniveau und hoher Übertragungsrate auszuführen; und Veranlassen einer der zweiten MPUs, hauptsächlich eine Verarbeitung lokaler Objekte auszuführen, indem Daten und ein Programm verwendet werden, die in dem Hauptspeicher gespeichert sind, der der zweiten MPU zugeordnet ist, wodurch eine verteilte konkurrente Verarbeitung ausgeführt wird.
  • Jede der von der ersten MPU und der zweiten MPU ausgeführten Datenverarbeitungen kann in Übereinstimmung mit einem Steuerprotokoll ausgeführt werden, das durch einen Vorholbefehl oder einen intelligenten Vorholbefehl, der von der CPU gegeben wird, transportiert wird. Folglich wird der Hochgeschwindigkeits-Prozessor mit einem normalen Programmierstil gesteuert.
  • Das Hochgeschwindigkeits-Prozessorsystem der Erfindung kann so implementiert sein, dass es eine CPU mit einem primären Cache-Speicher und mehrere Hauptspeicher umfasst, die mit der CPU verbunden und zueinander parallel angeordnet sind, wobei jeder der Hauptspeicher einen mit einer MPU versehenen sekundären Cache-Speicher aufweist, wobei jede der MPUs sowohl eine Cache-Logikfunktion als auch eine Prozessorfunktion hat, wodurch eine verteilte konkurrente Verarbeitung ermöglicht wird.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein Blockdiagramm eines herkömmlichen Parallelprozessors;
  • 2 ist ein Blockdiagramm einer Ausführungsform der Erfindung;
  • 3 ist ein Blockdiagramm, das ein praktisches Beispiel für die Chipanordnung von DRAMS, einer MPU und Caches zeigt;
  • 4 ist ein Blockdiagramm, das Binnenstrukturen eines sekundären Caches und der MPU zeigt;
  • 5 ist ein Schema, das den Datenfluss in einer gewöhnlichen Cache-Betriebsart zeigt;
  • 6 ist ein Schema, das den Datenfluss bei einer dezentralen Ausführung eines lokalen Objekts zeigt;
  • 7 ist ein Schema, das den Datenfluss bei einer Übertragungsverarbeitung veranschaulicht, die von dem sekundären Cache ausgeführt wird;
  • 8 ist eine Veranschaulichung eines intelligenten Vorholbefehls;
  • 9 ist ein Schema, das ein Chipsystem eines ASIC-DRAMs zeigt.
  • BESTE AUSFÜHRUNGSFORM DER ERFINDUNG
  • Eine Ausführungsform der Erfindung wird anhand 2 bis 9 beschrieben. In 2 weist ein Hochgeschwindigkeits-Prozessorsystem eine CPU 10 auf, die einen I-Cache (Befehlscache) 10a, der als ein primärer Cache dient, einen D-Cache (Datencache) 10b und einen Hilfsarbeitsspeicher 10c enthält. (Der Ausdruck ("primärer Cache" wird auch benutzt, um den I-Cache 10a, den D-Cache 10b und den Hilfsarbeitsspeicher 10c gemeinsam zu bezeichnen.) Das Hochgeschwindigkeits-Prozessorsystem weist außerdem einen vereinigten Cache-Speicher 11 auf (auch als ein "sekundärer Cache" bezeichnet), der mit der CPU 10 verbunden ist. Die niedrigste hierarchische Ebene des Hochgeschwindigkeits-Prozessorsystems umfasst mehrere vereinigte Cache-Speicher 12 (auch als "tertiäre Caches" bezeichnet), die über eine Busleitung parallel geschaltet sind, und DRAMs 13-1 bis 13-3. Die sekundären und tertiären Caches sind jeweils mit MPUs (Mikroverarbeitungseinheiten) 16 und 14 versehen, die als Cachelogik dienen.
  • Jede hierarchische Ebene der in 2 gezeigten Konfiguration verwendet einen Cache oder mehrere Caches, um eine Hochgeschwindigkeitsverarbeitung zu erzielen. Die Anordnung ist derart, dass die Leitungsgröße, welche die Größe der Kapazitätseinheit des Cache-Speichers, d. h. die Datenblock-Lese/Schreib-Länge, ist, für die Cache-Speicher niedrigerer hierarchischer Ebenen größer als jene höherer hierarchischer Ebenen ist. Die in 2 gezeigte Konfiguration ist nur beispielhaft, und der sekundäre Cache 11 ist nicht unbedingt erforderlich. Das Hochgeschwindigkeits-Prozessorsystem kann nämlich eine solche Konfiguration aufweisen, die die CPU 10 und mehrere DRAMs 13 enthält, die jeweils den vereinigten Cache-Speicher 12 haben.
  • In der in 2 gezeigten Anordnung sind die MPU 16 und die MPU 14, die als Cache-Logik für den sekundären Cache 12 und den tertiären Cache 13 dienen, mit der CPU 10 binär-kompatibel. Beide, die MPU 14 und die MPU 16, haben eine Doppelrolle: nämlich eine Funktion, als Cachelogik zu dienen, und eine Funktion, als Prozessor zu dienen. Die Cachefunktion ist eine Funktion zur Steuerung des Cache-Speichers unter dem Befehl der CPU 10, während die Prozessorfunktion eine Funktion des Dienens als eine Unter-CPU für ein verteiltes konkurrentes System unter dem Befehl der CPU 10 ist.
  • 3 ist eine Veranschaulichung der Hochgeschwindigkeits-Prozessorkonfiguration von 2, die auf einem Halbleiterchip 15 praktisch umgesetzt ist. Auf dem Chip 15 sind ein DRAM-Feld 13a, das als ein wesentlicher Teil zu dem DRAM 13 beiträgt, ein Leseverstärker 13b, eine Zeilenadressierung 13c, eine Spaltenadressierung 13d, eine Steuerschaltung 13e und eine Daten-Eingabe/Ausgabe-Schaltung 13f ausgebildet. Der in 3 gezeigte Chip 15 verwendet einen SRAM 12, der als Cache-Speicher dient. Der SRAM 12 ist direkt an den Leseverstärker 13b gekoppelt, der Daten in das DRAM-Feld 13a eingibt und von diesem ausgibt. Der SRAM 12 tauscht Daten zwischen sich selbst und der Daten-Eingabe/Ausgabe-Schaltung 13f aus.
  • Der von dem SRAM 12 implementierte Cache-Speicher wird von der MPU 14 gesteuert, die sowohl die Cache-Logikfunktion als auch die Prozessorfunktion hat. Hinsichtlich der Cache-Logikfunktion dient der SRAM 12 als ein einfacher vereinigter Cache unter der Steuerung durch die MPU 14, so dass Lese/Schreib-Operationen an dem DRAM-Feld 13a über den SRAM 12 ausgeführt werden. Hinsichtlich der Verarbeitungsfunktion dient der SRAM 12 in der in 2 gezeigten Anordnung als ein tertiärer Cache für die CPU 10, so dass die MPU 14 Operationen wie etwa die Ausführung eines Objekts, das aus einem Programm und Daten gebildet ist, die in dem DRAM 13a gespeichert sind, und das Vor-Lesen von Daten entsprechend einem im Voraus festgelegten Befehl durchführt.
  • Die MPU 14 wird durch den Vorholbefehl angesteuert, der von der CPU 10 gegeben wird. Im Allgemeinen hängt die Verarbeitungsgeschwindigkeit eines Prozessorsystems von einem Cache ab, der eine CPU mit einem Speicher zusammenschaltet und als Hochgeschwindigkeits-Speicher dient. Dies ist der Grund dafür, dass die Verwendung von Caches positiv aufgenommen wird. Genauer führt die CPU mit einem Vorholbefehl ein Vor-Lesen der Daten aus. Bei der Erfindung wird der Vorholbefehl für die Cache-Steuerung ferner auf die MPU 14 angewendet, so dass die MPU 14 ebenfalls freigegeben wird, um die Verarbeitung auszuführen.
  • Praktisch kann die MPU 14 mittels eines skalierbaren CPU-Kerns mit eingeschränktem Befehlsvorrat (RISC-CPU-Kern), der mit einem verhältnismäßig kleinen Kern implementiert sein kann, wie etwa ein ARM-Prozessor (von der Firma Advanced RISC Machines) oder ein MIPS-Prozessors (Mikroprozessor ohne Pipeline-Sperren), der eine hochleistungsfähige CPU verwirklichen kann, in den Cache-Speicher des Systems integriert werden.
  • 4 veranschaulicht eine praktische Ausführung der Zusammenschaltung der CPU 10 mit dem sekundären Cache 11, die in 2 gezeigt sind. Im Grunde kann der sekundäre Cache 11 als ein Prozessor angesehen werden, der einen vereinigten Cache 11a enthält. Die MPU 16, welche die Prozessorfunktion ausführt, dient als sekundärer Cache-Speicher für die CPU 10 und kann als sekundärer Cache betrieben werden. Der vereinigte Cache 11a in dem sekundären Cache wird von einem SRAM gebildet. Der vereinigte Cache 11a dient, wenn von der CPU 10 auf ihn zugegriffen wird, als sekundärer Cache für die CPU 10 und, wenn von der MPU 16 auf ihn zugegriffen wird, als primärer Ca che für die MPU 16. In 4 bezeichnet das Bezugszeichen 17 eine Speicherschnittstelle für die Verbindung zu dem DRAM 13.
  • Wie an zuvor angegeben worden ist, besitzt der sekundäre Cache 11 eine größere Datenblock-Lese/Schreib-Länge als der primäre Cache, der den I-Cache, den D-Cache und den Hilfsarbeitsspeicher enthält. In Übereinstimmung mit den Steuerprotokollen, die von der CPU 10 vorgegeben werden, arbeitet der sekundäre Cache 11 als sekundärer Cache und führt gleichzeitig die Verarbeitung von Objekten aus, die aus Programmen und Daten gebildet sind, die in dem tertiären Cache und in einem Hauptspeicher gespeichert sind, wobei die Verarbeitung in diesem Fall hauptsächlich eher jene ist, die eine häufige Datenübertragung zwischen den DRAMs 13-1 bis 13-3 erfordert, als eine komplizierte arithmetische Verarbeitung. Außerdem führt der sekundäre Cache 11 in Übereinstimmung mit den von der CPU 10 gegebenen Befehlen Vorholbefehle aus, die vom Typ her stärker generisch und anspruchsvoller als jene sind, die von der MPU 14 jedes tertiären Caches 12 ausgeführt werden. Beispielsweise führt der sekundäre Cache 12 einen Vorholbefehl aus, der mehrere DRAMs beteiligt.
  • 5 zeigt den Datenfluss, der beobachtet wird, wenn die in 2 gezeigte Schaltungsanordnung in einer üblichen Cache-Betriebsart arbeitet, bei der die MPUs 14 und 16 nur die Cache-Logikfunktionen ausführen, ohne die Verarbeitungsfunktionen auszuführen. Wenn die CPU 10 die Daten verarbeitet, die in dem DRAM 13 enthalten sind, liest sie die Daten über den sekundären Cache 11. Die Daten werden nämlich von dem tertiären Cache 12 der niedrigsten hierarchischen Ebene, der so ausgelegt ist, dass er eine verhältnismäßig große Übertragungsgröße (Größe der zu einem Zeitpunkt übertragenen Daten) und eine verhältnismäßig niedrige Übertragungsfrequenz aufweist, zu dem sekundären Cache 11 übertragen. Die in den sekundären Cache 11 übertragenen Daten werden weiter zu dem primären Cache der höchsten hierarchischen Ebene übertragen und an die CPU 10 geliefert. Das Schreiben von Daten in den DRAM 13 erfolgt, indem der oben beschrieben Weg zurückverfolgt wird.
  • Folglich wird viele Male ein Zugriff auf die Daten ausgeführt. Diese Art und Weise des Zugriffs kann anscheinend mit einer derzeit verfügbaren Stapelfunktion einer CPU 10, z. B. einer LIFO-Speicherfunktion, effektiv gemanagt werden. Tatsächlich tritt jedoch das Problem auf, dass eine Cache-Ausgabe von Daten, auf die häufig zugegriffen werden muss, durch Daten verursacht ist, auf die von der CPU 10 nur einmal zugegriffen werden muss, wie etwa Daten für die Bildverarbeitung und großformatige Daten, die zurückzuladen sind. Dies führt zu einer Zunahme der Anzahl nutzloser Zugriffe. Das beschriebene Konzept der Cache-Steuerung gemäß der Erfindung beruht auf den Forderungen nach einer Beseitigung oder Verminderung der Anzahl derartiger nutzloser Zugriffe.
  • Derzeit verfügbare Verarbeitungssysteme sind wie in 5 gezeigt beschaffen, wobei das Vorhandensein von vielen Zugriffspfaden angenommen wird. Aus praktischer Sicht ist die Speicherarchitektur von 5, die mit einer normalen Programmierung betriebsfähig ist, sehr zweckmäßig.
  • In 6 ist der Datenfluss gezeigt, der auftritt, wenn die MPU 14 des tertiären Caches 12 die Verarbeitungsfunktion ausführt. In diesem Fall führt die MPU 14 eine dezentrale Verarbeitung eines lokalen Objekts aus. Folglich wird ein lokales Objekt, das nicht durch die CPU 10 verarbeitet werden muss, in Übereinstimmung mit einem Steuerprotokoll, das in einem Vorholbefehl enthalten ist, der von der CPU 10 gegeben wird, durch die MPU 14 verarbeitet. Zum Beispiel werden ein Programm oder Daten, die in einem einzigen DRAM-Block gespeichert sind, als ein lokales Objekt behandelt und folglich einer Verarbeitung wie etwa lediglich einer inkrementierenden Berechnung oder einer Bestimmung eines Maximalwertes unterworfen. Auf diese Weise ist es möglich, mit der MPU 14 eine verteilte konkurrente Verarbeitung auszuführen. Es ist klar, dass der DRAM-Block, an dem die Verarbeitung lokaler Objekte ausgeführt wird, während der Ausführung der verteilten konkurrenten Verarbeitung aus dem Befehlscache ausgelagert ist.
  • 7 zeigt den Datenfluss, der auftritt, wenn die MPU 16 in dem sekundären Cache 11 die Verarbeitungsfunktion ausführt. Die MPU 16 führt eine dezentrale Verarbeitung von Objekten in einem im Voraus festgelegten Umfang aus. Die MPU 16 führt nämlich die Verarbeitung von Objekten, die nicht durch die CPU 10 verarbeitet werden müssen, in Übereinstimmung mit einem Steuerprotokoll, das von der CPU 10 vorgegeben wird, aus. Beispiele für die dezentrale Verarbeitung, die durch die MPU 16 ausgeführt wird, sind eine globale Übertragungsverarbeitung, eine Verarbeitung mit niedrigem Rechenniveau und hoher Übertragungsrate, z. B. die Übertragung von Daten aus einem DRAM 13-1 in einen anderen DRAM 13-2.
  • Im Wesentlichen kann die MPU 16 auf alle Speicher zugreifen, so dass sie als ein Mehrprozessorensystem dienen kann, das anstelle der CPU 10 eine Verarbeitung ausführt. Die MPU 16 kann jedoch am vorteilhaftesten für eine großformatige Übertragung wie etwa eine globale Übertragung von großformatigen Daten verwendet werden, da ihre Rechenfähigkeiten viel geringer als jene der CPU 10 sind. Deshalb führt die MPU 16 gezielt solche Verarbeitungen aus, die nicht die hohen Rechenfähigkeiten der CPU 10 oder eine anspruchsvolle Funktion des befehlenden primären Caches erfordern. Die von der MPU 16 ausgeführte Verarbeitung ist ebenfalls unter Steuerung des von der CPU 10 vorgegebenen Steuerprotokolls.
  • 8 veranschaulicht einen intelligenten Vorholbefehl. Der intelligente Vorholbefehl (IPREF) wird als Mittel verwendet, um die Steuerung der MPUs 16 und 14 freizugeben, die der CPU 10 untergeordnet sind, ohne eine Änderung in herkömmlichen Programmierstilen zu erfordern. In 8 weist die CPU 10 den I-Cache 10a und den D-Cache 10b auf. Bei der Verwendung der MPU 16 als Prozessor tritt das Problem der Cache-Kohärenz auf. Daten, die durch Ausführen eines Programms durch die MPU 16 verändert worden sind, könnten von den Daten, die in dem D-Cache 10b der CPU 10 gehalten werden, verschieden sein. Um dieses Problem zu verhindern ist die veranschaulichte Ausführungsform derart ausgelegt, dass dann, wenn die CPU 10 die MPU 16 anweist, eine Aufgabe auszuführen, die Daten in dem D-Cache 10b der CPU 10 ausgelagert werden, so dass der Inhalt des D-Caches 10 mit neuen Daten (bezeichneten Daten), die als Ergebnis der Ausführung des Programms durch die MPU 16 erhalten werden, aktualisiert wird.
  • Die MPU 16 ist von Natur aus ein Cache, so dass sie in der Funktion eines Caches steuerbar ist. Dazu führt die MPU 16 in Übereinstimmung mit dem IPREF-Befehl auf die gleiche Weise wie ein gewöhnlicher Cache, der entsprechend einem Vorholbefehl arbeitet, eine Aufgabe aus. Es ist deshalb möglich, gleichzeitig sowohl einen Cache als auch die MPU 16 mit dem IPREF-Befehl zu steuern. Genauer gesagt arbeitet die MPU 16 in Reaktion auf einen Vorholbefehl als ein Cache und führt in Reaktion auf den IPREF-Befehl eine Aufgabe aus.
  • Mit anderen Worten, wobei sich auf 8 bezogen wird, IPREF ist ein erweiterter Befehl, der von der CPU 10 gegeben wird. Wenn dieser erweiterte Befehl ausgeführt wird, bewirkt er ein Auslagern eines bezeichneten Bereichs in dem D-Cache 10b und sendet ein Steuerprotokoll zu dem Cache der hierarchisch niedrigeren Ebene. Auf den Empfang des Steuerprotokolls hin führt die bezeichnete MPU der hierarchisch niedrigeren Ebene ein Programm aus, das durch das Protokoll bezeichnet ist, indem sie einen Zugriff auf den DRAM oder auf Speicherblöcke der niedrigeren hierarchischen Ebene macht und die gewünschten Daten in dem Cache-Speicher ablegt.
  • Ein Wiedergewinnungsbeispiel für die Bestimmung eines Maximalwertes von Daten ist nachstehend gezeigt.
    • IPREF DRAM0/*Maximalwert aus Datenfeld in DRAM0*/
    • IPREF DRAM1/*Maximalwert aus Datenfeld in DRAM1*/
    • IPREF DRAM2/*Maximalwert aus Datenfeld in DRAM2*/
    • IPREF DRAM3/*Maximalwert aus Datenfeld in DRAM3*/
    • Lade r0 DRAM1-MAX/*Lies Maximalwert in DRAM0*/
    • Lade r1 DRAM1-MAX/*Lies Maximalwert in DRAM1*/
    • Lade r2 DRAM1-MAX/*Lies Maximalwert in DRAM2*/
    • Lade r3 DRAM1-MAX/*Lies Maximalwert in DRAM3*/
    • Max t0, r0, r1
    • Max r2, r2, r3
    • Max r0, r0, r2 /*Ende der Wiedergewinnung des Maximalwertes der Daten*/
  • Dieses Beispiel beruht auf der Annahme, dass die bezeichneten Daten, die in 8 gezeigt sind, in DRAM0 bis DRAM3 gespeichert wurden. Die Befehle IPREF DRAM0 bis IPREF DRAM3 sind Befehle, um ein bezeichnetes Programm auszuführen. Das Programm, das gespeichert worden ist, wird gemäß dem IPREF-Befehl ausgeführt, nachdem ein Auslagern der Inhalte des bezeichneten Bereichs des D-Caches 10b bewerkstelligt worden ist. Der IPREF-Befehl wird an DRAMO bis DRAM3 ausgeführt, obwohl die CPU 10 das Steuerprotokoll an DRAM 1 bis DRAM3 sendet. Die Ladebefehle werden ausgeführt, wenn in den Caches Maximalwerte gesetzt worden sind. In diesem Fall ist es möglich, vier Maximalwerte mit acht Befehlen zu bestimmen, die vier IPREF-Befehle und vier Ladebefehle umfassen, auch wenn die Anzahl der erzielbaren Maximalwerte von der Übertragungsgröße des DRAMs abhängt. Der wahre Maximalwert kann bestimmt werden, indem die erhaltenen Maximalwerte miteinander verglichen werden.
  • Wie aus der vorangehenden Beschreibung ersichtlich ist, wird gemäß der Erfindung ein Prozessorsystem geschaffen, das Cache-Speicher aufweist, die jeweils eine MPU enthalten, die sowohl als eine Cachelogik als auch als ein Prozessor für eine hierarchisch untergeordnete Ebene dient. Mit diesem Prozessorsystem ist es möglich, eine effiziente konkurrente Hochgeschwindigkeits-Verarbeitung zu bewirken, ohne dass eine Abänderung herkömmlicher Programmierstile erforderlich ist.

Claims (17)

  1. Hochgeschwindigkeits-Prozessorsystem, mit: einer CPU (10) mit einem primären Cache-Speicher (10a, b, c); einem sekundären Cache-Speicher (11), der auf einer niedrigeren hierarchischen Ebene als jene der CPU angeordnet ist und eine erste MPU (16) besitzt; und mehreren Hauptspeichern (13-1, 13-2, 13-3), die mit dem sekundären Cache-Speicher (11) verbunden und zueinander parallel angeordnet sind, wobei jeder der Hauptspeicher einen tertiären Cache-Speicher (12), der mit einer zweiten MPU (14) versehen ist, besitzt; wobei sowohl die erste MPU (16) als auch die zweiten MPUs (14) sowohl eine Cache-Logikfunktion als auch eine Prozessorfunktion haben, um eine verteilte konkurrente Verarbeitung zu ermöglichen.
  2. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem die tertiären Cache-Speicher (12) eine größere Leitungsgröße als jene des sekundären Cache-Speichers (11) besitzen, die ihrerseits größer als die Leitungsgröße des primären Cache-Speichers (10a, b, c) ist.
  3. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem die erste MPU (16) und die zweite MPU (12) binär-kompatibel mit der CPU (10) sind.
  4. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem sowohl der sekundäre Cache-Speicher (11) als auch die tertiären Cache-Speicher (12) durch einen vereinigten Cache-Speicher implementiert sind.
  5. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem auf den sekundären Cache-Speicher (11) als sekundärer Cache-Speicher von der CPU (10) und als primärer Cache-Speicher von der ersten MPU (16) zugegriffen wird.
  6. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem auf die tertiären Cache-Speicher (12) als tertiäre Cache-Speicher von der CPU (10), als sekundäre Cache-Speicher von der ersten MPU (16) und als primäre Cache-Speicher von der zweiten MPU (14) zugegriffen wird.
  7. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem jede Datenverarbeitung, die von der ersten MPU (16) und von den zweiten MPUs (14) ausgeführt wird, in Übereinstimmung mit einem Steuerprotokoll ausgeführt wird, das durch einen Vorholbefehl oder durch einen intelligenten Vorholbefehl, der von der CPU (10) gegeben wird, transportiert wird.
  8. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem sowohl die erste MPU (16) als auch die zweiten MPUs (14) wahlweise die Datenverarbeitung je nach Datenübertragungsgröße und Datenübertragungsfrequenz ausführen.
  9. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem die erste MPU (16) hauptsächlich eine globale Übertragungsverarbeitung oder eine Verarbeitung mit niedrigem Rechenniveau und hoher Übertragungsrate ausführt, indem sie Daten und Programme, die in den mehreren Hauptspeichern (13-1, 13-2, 13-3) gespeichert sind, verwendet.
  10. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem jede der zweiten MPUs (14) hauptsächlich eine Verarbeitung lokaler Objekte ausführt, indem sie Daten und ein Programm, die in dem zugeordneten einzigen Hauptspeicher (13-1) gespeichert sind, verwendet.
  11. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, bei dem der Hauptspeicher (13-1, 13-2, 13-3) durch einen DRAM implementiert ist und sowohl der primäre Cache-Speicher (10a) als auch der sekundäre Cache-Speicher (11) durch einen SRAM implementiert sind.
  12. Hochgeschwindigkeits-Prozessorsystem nach Anspruch 1, das in einem einzigen Chip als ein ASIC-DRAM implementiert ist.
  13. Verfahren zum Verwenden eines Hochgeschwindigkeits-Prozessorsystems, das eine CPU mit einem primären Cache-Speicher, einen sekundären Cache-Speicher, der auf einer niedrigeren hierarchischen Ebene als jene der CPU angeordnet ist und eine erste MPU besitzt, und mehrere Hauptspeicher, die mit dem sekundären Cache-Speicher verbunden und zueinander parallel angeordnet sind und wovon jeder einen mit einer zweiten MPU versehenen tertiären Cache-Speicher aufweist, enthält, wobei das Verfahren enthält: Veranlassen der CPU (10), hauptsächlich eine arithmetische Verarbeitung hoher Ebene auszuführen; Veranlassen der ersten MPU (16), hauptsächlich eine globale Übertragungsverarbeitung und eine Verarbeitung mit niedrigem Rechenniveau und hoher Übertragungsrate auszuführen; und Veranlassen einer der zweiten MPUs (14), hauptsächlich eine Verarbeitung lokaler Objekte auszuführen, indem Daten und ein Programm verwendet werden, die in dem Hauptspeicher (13) gespeichert sind, der der zweiten MPU (14) zugeordnet ist, wodurch eine verteilte konkurrente Verarbeitung ausgeführt wird.
  14. Verfahren zum Verwenden eines Hochgeschwindigkeits-Prozessorsystems nach Anspruch 13, bei dem jede von der ersten MPU (16) und von den zweiten MPUs (14) ausgeführte Datenverarbeitung in Übereinstimmung mit einem Steuerprotokoll ausgeführt wird, das durch einen Vorholbefehl oder einen intelligenten Vorholbefehl, der von der CPU (10) gegeben wird, transportiert wird.
  15. Verfahren zum Verwenden eines Hochgeschwindigkeits-Prozessorsystems nach Anspruch 13, bei dem der Hochgeschwindigkeitsprozessor durch einen normalen Programmierstil gesteuert wird.
  16. Verfahren zum Verwenden eines Hochgeschwindigkeits-Prozessorsystems nach Anspruch 13, bei dem dann, wenn die erste MPU (16) und/oder die zweite MPU (14) eine Datenverarbeitungsfunktion zum Verarbeiten von Daten ausführen, der Block, zu dem die MPU gehört, außerhalb des Cache-Speichers gehalten wird.
  17. Computerlesbares und computerausführbares Programm, wenn es in einem Hochgeschwindigkeits-Prozessorsystem verwendet wird, das eine CPU mit einem primären Cache-Speicher, einen sekundären Cache-Speicher, der auf einer niedrigeren hierarchischen Ebene als jene der CPU angeordnet ist und eine erste MPU besitzt, und mehrere Hauptspeicher, die mit dem sekundären Cache-Speicher verbunden und parallel zueinander angeordnet sind und wovon jeder einen mit einer zweiten MPU versehenen tertiären Cache-Speicher besitzt, enthält, wobei das computerlesbare und computerausführbare Programm so beschaffen ist, dass es die folgenden Funktionen ausführt: ein Steuerprotokoll im Kontext eines Vorholbefehls oder eines intelligenten Vorholbefehls, der von der CPU (10) an die erste MPU (16) und an die zweiten MPUs (14) gegeben wird; wobei die erste MPU (16) hauptsächlich eine globale Übertragungsverarbeitung oder eine Verarbeitung mit niedrigem Rechenniveau und hoher Übertragungsrate ausführt, indem sie Daten und Programme verwendet, die in den mehreren Hauptspeichern gespeichert sind; und wobei die zweite MPU (14) hauptsächlich eine Verarbeitung lokaler Objekte ausführt, indem sie Daten und ein Programm verwendet, die in dem zugeordneten einzigen Hauptspeicher gespeichert sind, wodurch eine verteilte konkurrente Verarbeitung ausgeführt wird.
DE60010674T 1999-01-21 2000-01-21 Hochgeschwindigkeits-prozessorsystem, verfahren zu dessen verwendung und aufzeichnungsmedium Expired - Lifetime DE60010674T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1348699 1999-01-21
JP1348699 1999-01-21
PCT/JP2000/000278 WO2000043902A1 (en) 1999-01-21 2000-01-21 High-speed processor system, method of using the same, and recording medium

Publications (2)

Publication Number Publication Date
DE60010674D1 DE60010674D1 (de) 2004-06-17
DE60010674T2 true DE60010674T2 (de) 2005-06-16

Family

ID=11834461

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60010674T Expired - Lifetime DE60010674T2 (de) 1999-01-21 2000-01-21 Hochgeschwindigkeits-prozessorsystem, verfahren zu dessen verwendung und aufzeichnungsmedium

Country Status (15)

Country Link
US (3) US6578110B1 (de)
EP (2) EP1445701A3 (de)
JP (1) JP3698358B2 (de)
KR (1) KR100678372B1 (de)
CN (1) CN100483389C (de)
AT (1) ATE266884T1 (de)
AU (1) AU3075600A (de)
BR (1) BR0008905A (de)
CA (1) CA2364338A1 (de)
DE (1) DE60010674T2 (de)
ES (1) ES2220386T3 (de)
HK (1) HK1039809A1 (de)
RU (1) RU2001122104A (de)
TW (1) TW472197B (de)
WO (1) WO2000043902A1 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0125711D0 (en) * 2001-10-26 2001-12-19 Ibm In-memory arithmetic
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US8392590B2 (en) * 2004-09-10 2013-03-05 Cavium, Inc. Deterministic finite automata (DFA) processing
US8301788B2 (en) * 2004-09-10 2012-10-30 Cavium, Inc. Deterministic finite automata (DFA) instruction
US8560475B2 (en) 2004-09-10 2013-10-15 Cavium, Inc. Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process
US20070005902A1 (en) * 2004-12-07 2007-01-04 Ocz Technology Group, Inc. Integrated sram cache for a memory module and method therefor
US7653785B2 (en) * 2005-06-22 2010-01-26 Lexmark International, Inc. Reconfigurable cache controller utilizing multiple ASIC SRAMS
US8819217B2 (en) * 2007-11-01 2014-08-26 Cavium, Inc. Intelligent graph walking
US7949683B2 (en) * 2007-11-27 2011-05-24 Cavium Networks, Inc. Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
US8180803B2 (en) * 2007-11-27 2012-05-15 Cavium, Inc. Deterministic finite automata (DFA) graph compression
JP2010015233A (ja) * 2008-07-01 2010-01-21 Panasonic Corp 集積回路及び電子機器
US8473523B2 (en) 2008-10-31 2013-06-25 Cavium, Inc. Deterministic finite automata graph traversal with nodal bit mapping
US9274950B2 (en) * 2009-08-26 2016-03-01 Hewlett Packard Enterprise Development Lp Data restructuring in multi-level memory hierarchies
US8331123B2 (en) * 2009-09-21 2012-12-11 Ocz Technology Group, Inc. High performance solid-state drives and methods therefor
US20140165196A1 (en) * 2012-05-22 2014-06-12 Xockets IP, LLC Efficient packet handling, redirection, and inspection using offload processors
JP6106765B2 (ja) * 2013-02-05 2017-04-05 エイアールエム リミテッド メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム
JP6228523B2 (ja) * 2014-09-19 2017-11-08 東芝メモリ株式会社 メモリ制御回路および半導体記憶装置
CN105718993B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105740946B (zh) * 2015-07-29 2019-02-12 上海磁宇信息科技有限公司 一种应用细胞阵列计算系统实现神经网络计算的方法
CN105718380B (zh) * 2015-07-29 2019-06-04 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718994B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718990B (zh) * 2015-07-29 2019-01-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞之间的通信方法
CN105718992B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718379B (zh) * 2015-07-29 2018-09-14 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞间群发通信方法
CN105718996B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718991B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105608490B (zh) * 2015-07-29 2018-10-26 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718995B (zh) * 2015-07-29 2019-02-01 上海磁宇信息科技有限公司 细胞阵列计算系统及其调试方法
CN105718392B (zh) * 2016-01-15 2019-01-29 上海磁宇信息科技有限公司 细胞阵列文件存储系统及其文件存储设备与文件存储方法
GB2542646B (en) * 2016-03-18 2017-11-15 Imagination Tech Ltd Non-linear cache logic
CN107291209B (zh) * 2016-04-01 2021-02-09 上海磁宇信息科技有限公司 细胞阵列计算系统
US10409754B2 (en) 2016-04-28 2019-09-10 Smart Modular Technologies, Inc. Interconnected memory system and method of operation thereof
CN107341129B (zh) * 2016-04-29 2021-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统及其测试方法
JP6493318B2 (ja) * 2016-06-24 2019-04-03 株式会社デンソー データ処理システム
GB2553102B (en) * 2016-08-19 2020-05-20 Advanced Risc Mach Ltd A memory unit and method of operation of a memory unit to handle operation requests
KR102631380B1 (ko) * 2018-05-17 2024-02-01 에스케이하이닉스 주식회사 데이터 연산을 수행할 수 있는 다양한 메모리 장치를 포함하는 반도체 시스템

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2539385B2 (ja) * 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
AU2278688A (en) 1988-02-16 1989-08-17 Sun Microsystems, Inc. Distributed cache architecture
JPH0239339A (ja) 1988-07-29 1990-02-08 Hitachi Ltd キヤツシユメモリ装置
US5226169A (en) * 1988-12-30 1993-07-06 International Business Machines Corp. System for execution of storage-immediate and storage-storage instructions within cache buffer storage
EP0375883A3 (de) 1988-12-30 1991-05-29 International Business Machines Corporation Cache-Speicheranordnung
JPH033047A (ja) 1989-05-31 1991-01-09 Nec Corp 演算機能付きメモリ
DE69132495T2 (de) * 1990-03-16 2001-06-13 Texas Instruments Inc Verteilter Verarbeitungsspeicher
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5260898A (en) 1992-03-13 1993-11-09 Sun Microsystems, Inc. Result cache for complex arithmetic units
US6000027A (en) * 1992-08-25 1999-12-07 Texas Instruments Incorporated Method and apparatus for improved graphics/image processing using a processor and a memory
KR940004434A (ko) * 1992-08-25 1994-03-15 윌리엄 이. 힐러 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법
JP3207591B2 (ja) 1993-03-19 2001-09-10 株式会社日立製作所 キャッシュメモリを有する計算機の改良
US6226722B1 (en) * 1994-05-19 2001-05-01 International Business Machines Corporation Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5778436A (en) * 1995-03-06 1998-07-07 Duke University Predictive caching system and method based on memory access which previously followed a cache miss
US5848254A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space
US5900011A (en) 1996-07-01 1999-05-04 Sun Microsystems, Inc. Integrated processor/memory device with victim data cache
JP3075183B2 (ja) 1996-07-17 2000-08-07 日本電気株式会社 キャッシュメモリシステム
US5895487A (en) * 1996-11-13 1999-04-20 International Business Machines Corporation Integrated processing and L2 DRAM cache
JPH10214223A (ja) 1997-01-29 1998-08-11 Hitachi Ltd 情報処理システム
US5987577A (en) * 1997-04-24 1999-11-16 International Business Machines Dual word enable method and apparatus for memory arrays
US6192451B1 (en) * 1998-02-17 2001-02-20 International Business Machines Corporation Cache coherency protocol for a data processing system including a multi-level memory hierarchy
US6453398B1 (en) * 1999-04-07 2002-09-17 Mitsubishi Electric Research Laboratories, Inc. Multiple access self-testing memory

Also Published As

Publication number Publication date
AU3075600A (en) 2000-08-07
ES2220386T3 (es) 2004-12-16
BR0008905A (pt) 2001-11-06
US6745290B2 (en) 2004-06-01
HK1039809A1 (zh) 2002-05-10
CN1341242A (zh) 2002-03-20
RU2001122104A (ru) 2003-06-27
DE60010674D1 (de) 2004-06-17
EP1161729B1 (de) 2004-05-12
CN100483389C (zh) 2009-04-29
CA2364338A1 (en) 2000-07-27
TW472197B (en) 2002-01-11
JP3698358B2 (ja) 2005-09-21
KR100678372B1 (ko) 2007-02-05
US7028141B2 (en) 2006-04-11
KR20010101628A (ko) 2001-11-14
ATE266884T1 (de) 2004-05-15
EP1445701A2 (de) 2004-08-11
JP2002535777A (ja) 2002-10-22
US20040215881A1 (en) 2004-10-28
WO2000043902A1 (en) 2000-07-27
EP1161729A1 (de) 2001-12-12
US20030217228A1 (en) 2003-11-20
EP1445701A3 (de) 2009-03-25
US6578110B1 (en) 2003-06-10

Similar Documents

Publication Publication Date Title
DE60010674T2 (de) Hochgeschwindigkeits-prozessorsystem, verfahren zu dessen verwendung und aufzeichnungsmedium
DE3934145C2 (de) Platteneinheit-Steuerungsvorrichtung und Informationsverarbeitungssystem, das dieselbe enthält
DE69733374T2 (de) Speichersteuerungsvorrichtung und -system
DE69128107T2 (de) Busanordnung für Speicherzugriff
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE69022716T2 (de) Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür.
DE69031086T2 (de) Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE3750938T2 (de) Multiprozessorsystem.
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE69933328T2 (de) Mehrweg-Cachespeichervorrichtung und Verfahren
DE2847960A1 (de) Speichersteuereinrichtung
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
DE3502147C2 (de)
DE10316725A1 (de) Datenverwaltungsverfahren für ein Distributed Shared Memory-System
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE60207641T2 (de) Halbleiterspeicher, Informationsgerät und Verfahren zur Bestimmung von Speicherzugriffzeit des Halbleiterspeichers
DE3726168A1 (de) Verfahren und vorrichtung zur steuerung der datenuebertragung zwischen speichern eines datenverarbeitungssystems
DE3338329C2 (de)
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE69027919T2 (de) Anordnung und Verfahren zur Unterstützung des Zugriffs auf E/A-Geräte durch grosse, direkt abgebildete Datencache-Speicher
DE102015203202B4 (de) Speicher-Subsystem mit auf ein Wrapped-Lesen folgendem kontinuierlichen Lesen
DE3750175T2 (de) Mikroprozessor mit einem Cache-Speicher.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition