DE19956829A1 - Speichereinrichtung für Prozessorsysteme - Google Patents

Speichereinrichtung für Prozessorsysteme

Info

Publication number
DE19956829A1
DE19956829A1 DE19956829A DE19956829A DE19956829A1 DE 19956829 A1 DE19956829 A1 DE 19956829A1 DE 19956829 A DE19956829 A DE 19956829A DE 19956829 A DE19956829 A DE 19956829A DE 19956829 A1 DE19956829 A1 DE 19956829A1
Authority
DE
Germany
Prior art keywords
virtual channels
virtual
processor system
channels
storage device
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.)
Withdrawn
Application number
DE19956829A
Other languages
English (en)
Inventor
Annie Stoess
Johann Schachtner
Wolfgang Ziemann
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19956829A priority Critical patent/DE19956829A1/de
Priority to EP00984904A priority patent/EP1244972A1/de
Priority to PCT/DE2000/004166 priority patent/WO2001038988A1/de
Priority to KR1020027006726A priority patent/KR20020059793A/ko
Publication of DE19956829A1 publication Critical patent/DE19956829A1/de
Withdrawn 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
    • 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Zur weiteren Leistungssteigerung von Prozessorsystemen mit Virtual Channels (CH) als Zwischenspeicher zwischen dem Prozessorsystem und einem zum Prozessorsystem gehörenden Speicherfeld (MCA) wird vorgeschlagen, die als Zwischenspeicher vorgesehenen Virtual Channels (CH) wie eine Cachespeichereinrichtung zu verwalten.

Description

Die Erfindung betrifft eine Speichereinrichtung für Prozes­ sorsysteme gemäß dem Oberbegriff des Anspruchs 1.
Im Bereich von Speichereinrichtungen für Prozessorsysteme un­ ter Verwendung von dynamischen Speicherbausteinen findet wie in allen Bereichen der Computer-Technologie ein ständiger Entwicklungsfortschritt statt. Eine der jüngsten Entwicklun­ gen auf diesem Gebiet ist die Einführung sogenannter Virtual Channel SDRAMs (VC SDRAM) durch die Firma NEC. Die virtuellen Kanäle sind als Zwischenspeicherglieder verwendet. Sie sind zwischen dem Prozessorsystem und einem Speicherfeld des Pro­ zessorsystems angeordnet. Eine Verwaltung der virtuellen Ka­ näle sorgt für deren richtige Handhabung. Die virtuellen Ka­ näle sind als RAM-Bausteine bereitgestellt. Die RAM-Bausteine enthalten mehrere (virtuelle) Kanäle mit jeweils mehreren Hundert Bytes Speicherkapazität. Der Sinn dieser Kanäle ist eine Verkürzung der Latenzzeit bei stattfindenden Speicherzu­ griffen auf das Speicherfeld des Prozessorsystems.
Im Internet ist unter der Internetadresse:
http://www.cambridge.arm.com/CoInfo/PressRel/29Jul98a/ ein Artikel zum oben angesprochenen Sachverhalt mit dem Titel "NEC and ARM to Co-Develop a Memory Controller to Support Virtual Channel SDRAM with System-on-Silicon Chips" veröf­ fentlicht.
Auf einer weiteren Internetseite mit der Internetadresse:
http://www.necel.com/home.nsf/HTMLPages/VCM ist eine andere Information zum oben angesprochenen Sachverhalt mit dem Ti­ tel: "Virtual Channel Memory (abgekürzt VCM) veröffentlicht. Diese Internetseite enthält außerdem einen Link auf eine wei­ tere Internetseite mit der Internetadresse:
http://www.necel.com/home.nsf/Createpage?OpenAgent+Pro­ ducts+Channel+Memory+(VCM)&&&&&&&, auf der un­ ter dem Titel "Memory DRAMs" VCM-Produkte angesprochen sind. Zu den jeweiligen VCM-Produkten gibt es jeweils weitere Links. Unter anderem gibt es Links zu einem zugehörigen "Data Sheet (7/99)(567K)" und zu einem zugehörigen "Product Brief(1998)(25K)". Die Data Sheets zu den jeweiligen VCM-Pro­ dukten sind jeweils gleich. Die Product Briefs zu den jewei­ ligen VCM-Produkten sind ebenfalls jeweils gleich. Die ein­ zelnen VCM-Produkte sind mit µPD4565161, µPD4565821 und µPD4565421 bezeichnet. Den Data Sheet und den Product Briefs sind vertiefende Informationen zu den Virtual Channels zu entnehmen.
Danach dienen die Virtual Channels zur Leistungssteigerung eines Prozessorsystems. Die Virtual Channels vermindern die Zugriffszeiten auf Daten, die aus dem Speicherfeld des Pro­ zessorsystems zu holen bzw. in dieses hinein zu bringen sind. Die von solchen Transaktionen betroffenen Daten werden in den virtuellen Kanälen zwischen den Ein-/Ausgabepositionen des Prozessorsystems und des Speicherfelds zwischengespeichert. Damit wird der Weg zum Speicherfeld über andere freie virtu­ elle Kanäle für das Prozessorsystem frei und es können so Systemstaus, die dadurch hervorgerufen werden, dass die Ab­ läufe zum Speicherfeld hin langsam sind, zum Prozessorsystem hin aber schnell, vermieden werden.
Ein Nachteil der Virtual Channels ist, dass sie nur als ein­ fache Puffer verwendet sind. Das heißt, die von einer Trans­ aktion betroffene Daten werden in den Virtual Channels zwi­ schengespeichert, zu einem späteren Zeitpunkt abgeholt und nochmals später überschrieben. Die einzelnen Virtual Channels haben eine relativ große Speicherkapazität, so dass neben den eigentlichen Wunschdaten oft auch noch benachbart gespei­ cherte Daten mitgespeichert werden. Der Grund dafür ist, dass jeweils ganze Zeilen gespeichert werden. Die einfache Puffe­ rung in den Virtual Channels kümmert sich aber nicht um die zusätzlich gespeicherten Informationen. Oft werden aber bei eine kurze Zeit später stattfindenden Transaktionen gerade diese Informationen benötigt. Es werden dann diese Informa­ tionen erneut zwischengespeichert, obwohl sie schon aktuell irgendwo in den Virtual Channels gespeichert sind. Eine tat­ sächlich mögliche Leistungssteigerung des Prozessorsystems wird dadurch nicht erreicht.
Aufgabe der Erfindung ist es, eine Speichereinrichtung der eingangs genannten Art so zu verbessern, dass eine weitere Leistungssteigerung des Prozessorsystems erreicht wird.
Diese Aufgabe wird erfindungsgemäß durch eine Speicherein­ richtung gelöst, die die Merkmale des Anspruchs 1 aufweist.
Danach werden bei zwischen dem Prozessorsystem und dem zuge­ hörigen Speicherfeld stattfindenden Transaktionen stets alle in den Virtual Channels gespeicherten Informationen beachtet. Auf diese Weise werden langsame Speicherfeldzugriffe vermie­ den, wenn die benötigten Informationen bereits und immer noch aktuell in den Virtual Channels gespeichert sind. Die Leis­ tungsfähigkeit des Prozessorsystems wird dadurch weiter ge­ steigert.
Erreicht wird die Leistungssteigerung des Prozessorsystems dadurch, dass die Virtual Channels nicht mehr wie einfache Puffer verwendet sind, sondern wie ein allgemein bekannter Cachespeicher. Cachespeicher haben den Vorteil, dass ihre Verwaltung stets den Überblick über den aktuell gültigen Speicherinhalt hat und gültige Informationen bei Bedarf so­ fort weiterreichen kann und nicht nochmal auf das Speicher­ feld des Prozessorsystems zurückgreift. Außerdem kümmert sich die Verwaltung des Cachespeichers selbständig um die Aktuali­ sierung des Speicherfelds des Prozessorsystems bzw. des Spei­ cherinhalts des Cachespeichers.
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von Unteransprüchen.
Danach weist die Verwaltung der Virtual Channels eine Tag- Komponente auf, mit deren Hilfe der Status des Speicherin­ halts der Virtual Channels der Verwaltung bekannt gemacht ist.
Außerdem gilt, je länger gespeicherte aktuelle Daten in einem Cachespeicher vorgehalten werden, um so größer ist die Wahr­ scheinlichkeit, dass benötigte Informationen noch im schnel­ len Zwischenspeicher sind und ein Rückgriff auf das langsame Speicherfeld unnötig ist. Ein möglicher Überschreibungsmecha­ nismus wäre in diesem Zusammenhang das sogenannte LRU-Prinzip (Least Recently Used), nach dem am längsten nicht benutzte Informationen als erstes überschrieben werden. Dieser Mechanismus kann durch weitere Mechanismen ergänzt sein.
Die Cachespeicher-Funktionalität hat den Vorteil, dass benö­ tigte Informationen immer erst im Cachespeicher oder im Spei­ cher mit Cachespeicher-Funktionalität gesucht werden können, weil dort Klarheit über den Status des Speicherinhalts gege­ ben ist und schnell in entsprechender Weise auf Anforderungen reagiert werden kann, falls benötigte Informationen doch nicht oder nicht mehr zum Speicherinhalt gehören. Der geringe Zeitverlust in diesem Fall wird überdeckt vom Zeitgewinn, der erzielt wird, wenn benötigte Informationen aus dem Speicher­ inhalt des schnellen Zwischenspeichers genommen werden kön­ nen.
Nachfolgend wird die Erfindung anhand einer Zeichnung näher erläutert.
Die einzige Figur zeigt ein Ausführungsbeispiel einer Spei­ chereinrichtung gemäß der Erfindung. Zu sehen ist ein Spei­ cherfeld MCA (Memory Cell Array), das ein Speicherfeld eines in der Zeichnung nicht näher dargestellten Prozessorsystems ist. Das Speicherfeld MCA ist mit mehreren Virtual Channels (virtuelle Kanäle) CH verbunden, die weiter mit einer Ein­ gangsleitung DATA für Datentransfers in und aus dem nicht nä­ her dargestellten Prozessorsystem verbunden sind.
Im Ausführungsbeispiel werden die Virtual Channels CH von 8 SDRAM-Bausteinen mit je 64 Mbit Speicherkapazität bereitge­ stellt. Jeder SDRAM-Baustein hat 16 Virtual Channels CH, wo­ mit 16 vollassoziative Blöcke zu je 1 Kbyte bereitgestellt sind. Durch die große Blockgräße ist es möglich, im Prozes­ sorsystem einen sogenannten Prefetch-Mechanismus zu reali­ sieren. Die Latenzzeit bei einem Hit in einem Virtual Channel CH ist gering und die Bandbreite an einem betreffenden Memory Cell Array MCA wird reduziert.
Im Ausführungsbeispiel sind die Virtual Channels CH als Store-In-Cache genutzt, das heißt, die Daten werden jeweils zunächst nur in die Virtual Channels CH geschrieben und nicht gleich in das Speicherfeld MCA. Bei Datenzugriffen wird umge­ kehrt zuerst in den Virtual Channels CH nachgesehen, bevor dann nötigenfalls die Daten aus dem Speicherfeld MCA geholt werden.
Eine Steuereinheit MCU (Memory Control Unit) steuert die Ab­ läufe bei Zugriffen auf die Virtual Channels CH und das Spei­ cherfeld MCA in Abhängigkeit von Steuersignalen REQUEST und Adresssignalen ADR. Die Steuerung erfolgt im Detail in der Weise, dass die Virtual Channels CH zusammen wie ein Cachespeicher betrieben sind. Hierzu ist eine zusätzliche Channel-Verwaltung CV mit der MCU verbunden. Die zusätzliche Channel-Verwaltung CV beinhaltet TAG-Informationen TAG für die Channels. Sie steuert außerdem einen Ersetzungsalgorith­ mus der Daten in den Virtual Channels CH, beispielsweise nach dem sogenannten LRU-Prinzip. Weiter ist sie für die Maßnahmen zur HIT-Erkennung und -Verarbeitung zuständig und steuert die notwendigen Maßnahmen, wenn modifizierte Dateninhalte vorhan­ den sind.

Claims (4)

1. Speichereinrichtung für Prozessorsysteme, aufweisend vir­ tuelle Kanäle als Zwischenspeicherglied zwischen einem Prozessorsystem und einem Speicherfeld des Prozessorsys­ tems sowie aufweisend eine Verwaltung für die virtuellen Kanäle, dadurch gekennzeichnet, dass die Verwal­ tung der virtuellen Kanäle (CH) Komponenten (MCU, CV) aufweist, durch die den virtuellen Kanälen (CH) die Funk­ tionalität von Cachespeichern zueigen ist.
2. Speichereinrichtung nach Anspruch 1, dadurch ge­ kennzeichnet, dass die den virtuellen Kanälen (CH) die Funktionalität von Cachespeichern zuordnenden Kompo­ nenten (z. B. CV) eine Tag-Komponente (TAG) umfassen, durch die anderen den virtuellen Kanälen (CH) die Funk­ tionalität von Cachespeichern zuordnenden Komponenten (z. B. MCU) zu jeweiligen aktuellen Zeitpunkten mitgeteilt ist, welche Informationen in welchen virtuellen Kanälen und an welcher genauen Position innerhalb eines virtuellen Kanals jeweils aktuell gültig gespeichert sind.
3. Speichereinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die den virtuellen Kanälen (CH) die Funktionalität von Cachespeichern zuordnenden Kompo­ nenten (HCU; CV) in der Weise realisiert sind, dass, die in den virtuellen Kanälen (CH) gespeicherten Informatio­ nen entsprechend einer Nutzungshäufigkeit um so länger in den virtuellen Kanälen (CH) gespeichert sind, je größer die Nutzungshäufigkeit ist, bevor sie von Überschreibvor­ gängen betroffen sind.
4. Speichereinrichtung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die den virtuellen Kanälen (CH) die Funktionalität von Cachespeichern zuord­ nenden Komponenten (HCU; CV) in der Weise realisiert sind, dass aus dem Speicherfeld (MCA) eines Prozessorsys­ tems in das Prozessorsystem überzuführende Informationen zunächst in den virtuellen Kanälen gesucht sind.
DE19956829A 1999-11-25 1999-11-25 Speichereinrichtung für Prozessorsysteme Withdrawn DE19956829A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19956829A DE19956829A1 (de) 1999-11-25 1999-11-25 Speichereinrichtung für Prozessorsysteme
EP00984904A EP1244972A1 (de) 1999-11-25 2000-11-24 Virtuelle kanäle mit zwischenspeichern
PCT/DE2000/004166 WO2001038988A1 (de) 1999-11-25 2000-11-24 Virtuelle kanäle mit zwischenspeichern
KR1020027006726A KR20020059793A (ko) 1999-11-25 2000-11-24 버퍼 기억 장치를 포함하는 가상 채널

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19956829A DE19956829A1 (de) 1999-11-25 1999-11-25 Speichereinrichtung für Prozessorsysteme

Publications (1)

Publication Number Publication Date
DE19956829A1 true DE19956829A1 (de) 2001-06-07

Family

ID=7930345

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19956829A Withdrawn DE19956829A1 (de) 1999-11-25 1999-11-25 Speichereinrichtung für Prozessorsysteme

Country Status (4)

Country Link
EP (1) EP1244972A1 (de)
KR (1) KR20020059793A (de)
DE (1) DE19956829A1 (de)
WO (1) WO2001038988A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973991A (en) * 1998-05-07 1999-10-26 Kabushiki Kaisha Toshiba Semiconductor memory capable of successively accessing cell array blocks with a plurality of operation modes having different cycle times

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
US5109496A (en) * 1989-09-27 1992-04-28 International Business Machines Corporation Most recently used address translation system with least recently used (LRU) replacement
US5487153A (en) * 1991-08-30 1996-01-23 Adaptive Solutions, Inc. Neural network sequencer and interface apparatus
JP2775549B2 (ja) * 1992-05-08 1998-07-16 三菱電機株式会社 連想メモリセルおよび連想メモリ回路
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US5925145A (en) * 1997-04-28 1999-07-20 Credence Systems Corporation Integrated circuit tester with cached vector memories
US6122714A (en) * 1997-10-24 2000-09-19 Compaq Computer Corp. Order supporting mechanisms for use in a switch-based multi-processor system
JP2000011640A (ja) * 1998-06-23 2000-01-14 Nec Corp 半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973991A (en) * 1998-05-07 1999-10-26 Kabushiki Kaisha Toshiba Semiconductor memory capable of successively accessing cell array blocks with a plurality of operation modes having different cycle times

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEICE Trans. Electron., Vol. E81-C, Nr. 9 Sept. 1998, S. 1438-1447 *

Also Published As

Publication number Publication date
WO2001038988A1 (de) 2001-05-31
EP1244972A1 (de) 2002-10-02
KR20020059793A (ko) 2002-07-13

Similar Documents

Publication Publication Date Title
DE102009023898B4 (de) Optimierung von gleichzeitigen Zugriffen in einem verzeichnisbasierten Kohärenzprotokoll
DE10394081B4 (de) Verfahren und Vorrichtung zum Einprägen von Schreibdaten in einen Cache-Speicher
DE69734129T2 (de) Hierarchisches Datenverarbeitungssystem mit symetrischen Multiprozessoren
DE69530776T2 (de) Zweiwege set-assoziativer cache-speicher
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE10316725B4 (de) Datenverwaltungsverfahren für ein Distributed Shared Memory-System
DE69736544T2 (de) Verfahren zur Verminderung der Anzahl von Kohärenz-Zyklen in einem verzeichnisbasierten Cachekohärenz-Speichersystem unter Verwendung eines Speicherzustands-Cachespeichers
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE60202926T2 (de) Multicomputersystem mit konfigurierbaren Schnittstellen für flexible Systemkonfigurationen
DE3724730A1 (de) Cache-steuereinrichtung
DE112011100564B4 (de) Einfügen eines Flash-Zwischenspeichers in große Speichersysteme
DE10006430B4 (de) Verfahren zur Aufrechterhaltung einer Kohärenz für ein Multi-Prozessor-System
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE102016225545A1 (de) Profilierungs-cache-ersatz
DE112013002355T5 (de) Steigern von Datenzwischenspeicherungsleistung
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
DE102007030116A1 (de) Snoop-Filter mit ausschließlicher Inhaberschaft
DE112010003794T5 (de) Datenspeicherung unter Verwendung von Bitmaps
DE10112216A1 (de) Digitales Datenverarbeitungssystem, zugehöriger Cache-Speicher und Betriebsverfahren hierfür
DE112017006704T5 (de) Systemspeicher mit punkt-zu-punkt-verbindung, die komprimierten verkehr transportiert
DE2422732C2 (de) Hierarchische Speicheranordnung
DE69930983T2 (de) Pseudo-genaue I-Cache-Speichereinschliessbarkeit für vertikale Cache-Speicher

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE

8130 Withdrawal