DE10151733A1 - Prozessor-Speicher-System - Google Patents

Prozessor-Speicher-System

Info

Publication number
DE10151733A1
DE10151733A1 DE10151733A DE10151733A DE10151733A1 DE 10151733 A1 DE10151733 A1 DE 10151733A1 DE 10151733 A DE10151733 A DE 10151733A DE 10151733 A DE10151733 A DE 10151733A DE 10151733 A1 DE10151733 A1 DE 10151733A1
Authority
DE
Germany
Prior art keywords
memory
processor
cache
data
working
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
DE10151733A
Other languages
English (en)
Inventor
Ruediger Pott
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10151733A priority Critical patent/DE10151733A1/de
Priority to PCT/DE2002/003022 priority patent/WO2003038623A2/de
Publication of DE10151733A1 publication Critical patent/DE10151733A1/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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/04Addressing variable-length words or parts of words
    • 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
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Landscapes

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

Abstract

Die Erfindung bezieht sich auf ein Prozessor-Speicher-System (1), welches einen Prozessor (2), einen Datenbus (3) und eine Speichereinheit umfasst. Die Speichereinheit weist eine Mehrzahl von Arbeitsspeichern (4, 5, 6) und eine Mehrzahl von Cache-Speichern (7, 8) auf. Den Arbeitsspeichern (4, 6) ist zumindest teilweise jeweils ein Cache-Speicher (7, 8) zugeordnet. Der Datenbus (3) ist zwischen dem Prozessor (2) und der Speichereinheit angeordnet.

Description

  • Die Erfindung betrifft eine Einheit zur Speicherung von Daten, wobei die Einheit mit einem Prozessor über einen Datenbus zusammenwirkt.
  • Zugriffe eines Prozessors auf Daten, die in einem langsamen Speicherbaustein abgelegt sind, verursachen oftmals unerwünschte Wartezyklen, sogenannte Waitstates, in denen der Prozessor keine Rechenoperationen durchführen kann, da der Speicherbaustein dem Prozessor nicht schnell genug die benötigten Daten zur Verfügung stellen kann. Würde der Prozessor in einem solchen Fall nicht in einem Wartezustand verharren, könnte dieses zu Datenverlusten führen.
  • Die mittlere Zugriffszeit eines Prozessors auf einen Arbeitsspeicher lässt sich durch die Verwendung von Vorhaltespeichern, die im allgemeinen Sprachgebrauch als Cache-Speicher bezeichnet werden, reduzieren. Ein Cache-Speicher dient als Zwischenspeicher beispielsweise für Daten, welche von dem Prozessor zu dem gegenwärtigen Zeitpunkt verarbeitet werden oder gerade erzeugt wurden. Dadurch wird der Datentransfer zwischen dem Prozessor und dem Arbeitsspeicher erheblich beschleunigt, und es sind entsprechend weniger Wartezyklen des Prozessors erforderlich.
  • Bei bisherigen Prozessor-Speicher-Systemen ist häufig eine Kopplung des Cache-Speichers an die Schnittstelle des Prozessors mit dem Datenbus vorgesehen, wobei über den Datenbus der Datentransfer zwischen dem Prozessor und dem Arbeitsspeicher erfolgt. Der Cache-Speicher ist dabei in der Regel so ausgelegt, dass er Daten des gesamten Arbeitsspeicherbereichs zwischenspeichern kann und dass er sämtliche Zugriffsarten des Prozessors auf den Arbeitsspeicher, wie z. B. Lese-, Schreib- und Lese-Rechen-Schreib-Befehle, unterstützen kann.
  • Ein ebenfalls bekanntes Prozessor-Speicher-System ist in der Patentschrift U.S. 5,953,740 A beschrieben. In diesem System ist ein Cache-Speicher an die Schnittstelle eines Datenbuses mit dem Controller eines Arbeitsspeichers gekoppelt. Der Cache-Speicher setzt sich zwar aus mehreren untergeordneten Cache-Speichern, denen jeweils eine bestimmte Aufgabe zukommt, zusammen, jedoch müssen auch die untergeordneten Cache-Speicher den gesamten Speicherbereich des Arbeitsspeichers abdecken. Trotz der Mehrzahl von unterschiedlich ausgelegten Cache-Speichern weist dieses Prozessor-Speicher-System den Nachteil auf, dass insgesamt ein nur relativ langsamer Datentransfer zwischen dem Prozessor und dem Arbeitsspeicher möglich ist.
  • Aufgabe der Erfindung ist es daher, ein Prozessor-Speicher- System zu schaffen, welches einen schnellen Datentransfer zwischen dem Prozessor und dem Arbeitsspeicher ermöglicht.
  • Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale des Patentanspruchs 1 gelöst. Vorteilhafte Weiterbildungen und Ausgestaltungen sind in den Unteransprüchen angegeben.
  • Ein erfindungsgemäßes Prozessor-Speicher-System umfasst einen Prozessor, einen Datenbus und eine Speichereinheit. Die Speichereinheit enthält eine Mehrzahl von Arbeitsspeichern sowie eine Mehrzahl von Cache-Speichern. Zumindest teilweise ist den Arbeitsspeichern jeweils ein Cache-Speicher zugeordnet. Der Datenbus ist zwischen dem Prozessor und der Speichereinheit angeordnet. Demnach wird der Datentransfer zwischen dem Prozessor und der Speichereinheit über den Datenbus bewerkstelligt.
  • Ein Vorteil des erfindungsgemäßen Prozessor-Speicher-Systems ist die dezentrale Anordnung der Cache-Speicher. Die Cache- Speicher sind hierbei nicht wie bei vielen herkömmlichen Prozessor-Speicher-Systemen zentral angeordnet und für die Zwischenspeicherung der Daten sämtlicher Arbeitsspeicher zuständig, sondern die Erfindung sieht vielmehr vor, dass manchen Arbeitsspeichern ein eigener Cache-Speicher zugeordnet ist. Folglich muss bei der Auslegung eines Cache-Speichers nur der Adressraum des zugehörigen Arbeitsspeichers beachtet werden und nicht der gesamte Adressraum, auf den der Prozessor zugreift, welcher in der Regel wesentlich größer ist. Durch die dezentrale Zuordnung der Cache-Speicher zu den jeweiligen Arbeitsspeichern werden folglich die Zugriffszeiten des Prozessors auf die Arbeitsspeicher insgesamt erheblich reduziert, wodurch Wartezyklen des Prozessors weitgehend vermieden werden können.
  • Vorteilhafterweise können die Cache-Speicher jeweils an die Schnittstellen der zugeordneten Arbeitsspeicher mit dem Datenbus gekoppelt sein.
  • Durch die erfindungsgemäße Zuordnung eines Cache-Speichers zu einem Arbeitsspeicher ist es besonders vorteilhaft, wenn die Eigenschaften eines Cache-Speichers von der Funktion und/oder den Eigenschaften des dem Cache-Speicher zugeordneten Arbeitsspeichers abhängen. Unter der Funktion eines Arbeitsspeichers kann beispielsweise die Funktion verstanden werden, die der Arbeitsspeicher im Hinblick auf die Anforderungen des Prozessors an die Arbeitsspeicher erfüllt. Zum Beispiel kann es eine Funktion eines Arbeitsspeichers sein, bestimmte Datenarten, wie etwa Programmbefehle, abzuspeichern. Sind in einem Arbeitsspeicher beispielsweise Programmbefehle abgelegt, so genügt es, wenn der zugeordnete Cache-Speicher lediglich über eine Lese-Funktion und über keine Schreib- Funktion verfügt. Somit wird durch die Funktion des Arbeitsspeichers eine Eigenschaft des Cache-Speichers bestimmt. Weitere Eigenschaften von Arbeits- und Cache-Speichern können z. B. ihre Speicherkapazitäten sein, die ebenfalls voneinander abhängig sein können. Durch derartige speziell auf die jeweils zugehörigen Arbeitsspeicher abgestimmte Eigenschaften der Cache-Speicher können Zugriffszeiten verkürzt und Kosten eingespart werden.
  • Ein weitere besonders vorteilhafte Ausgestaltung der Erfindung sieht vor, dass die Zuordnung eines Cache-Speichers zu einem Arbeitsspeicher von der Funktion und/oder den Eigenschaften des Arbeitsspeichers abhängt. Daraus folgt beispielsweise, dass nur denjenigen Arbeitsspeichern ein Cache- Speicher zugeteilt werden muss, die Daten enthalten, auf die von dem Prozessor besonders schnell und/oder besonders häufig zugegriffen werden muss. Arbeitsspeicher, für die dieses nicht gilt, benötigen keinen Cache-Speicher. Dadurch werden wiederum Kosten eingespart.
  • Vorteilhafterweise kann einem Cache-Speicher eine Steuerung zugeordnet sein, welche den Zugriff des Cache-Speichers auf den zugeordneten Arbeitsspeicher steuert. Besonders vorteilhaft ist es dabei, wenn die Steuerung derart ausgelegt ist, dass sie Daten in den Cache-Speicher lädt, von denen anzunehmen ist, dass sie im weiteren Programmverlauf benötigt werden. Durch diese Maßnahme wird eine hohe Datentransferrate von der Speichereinheit zu dem Prozessor unterstützt.
  • Die Arbeitsspeicher können derart konfiguriert sein, dass die in einem Arbeitsspeicher abgelegten Daten eine um ein ganzzahliges Vielfaches größere Datenbreite aufweisen als die Daten, die in dem Prozessor verarbeitet werden. Daher ist es vorteilhaft, wenn der zugehörige Cache-Speicher die Aufgabe übernimmt, die Datenbreite bei einem Datentransfer zwischen Prozessor und Arbeitsspeicher dem jeweiligen Adressaten anzupassen.
  • Die Erfindung wird nachfolgend in beispielhafter Weise unter Bezugnahme auf die Zeichnung näher erläutert. Die einzige Figur zeigt dabei eine schematische Anordnung eines Ausführungsbeispiels des erfindungsgemäßen Prozessor-Speicher- Systems.
  • In der Figur ist ein Prozessor-Speicher-System 1 dargestellt, bei welchem ein Prozessor 2 über einen Datenbus 3 mit Arbeitsspeichern 4, 5 und 6 verbunden ist. An die Schnittstelle des Arbeitsspeichers 4 bzw. 6 mit dem Datenbus 3 ist ein Cache-Speicher 7 bzw. 8 geschaltet.
  • Die Eigenschaften der Cache-Speicher 7 und 8 können auf die Funktionen und die Eigenschaften der Arbeitsspeicher 4 und 6 abgestimmt sein. Sind beispielsweise in einem der Arbeitsspeicher 4 und 6 Programmbefehle für die Ausführung eines Anwendungsprogramms abgelegt, so muss der zugehörige Cache- Speicher 7 oder 8 lediglich über eine Lese-Funktion verfügen, um die von dem Prozessor 2 angeforderten Programmbefehle aus dem zugehörigen Arbeitsspeicher 4 oder 6 laden zu können und an den Prozessor 2 weiterleiten zu können. In diesem Fall muss der Cache-Speicher 7 oder 8 keine Schreib-Funktion aufweisen.
  • Ebenfalls kann vorgesehen sein, dass der Cache-Speicher 7 bzw. 8 über eine Funktion verfügt, die es ihm erlaubt, Daten aus dem Arbeitsspeicher 4 bzw. 6 zu laden, die zu diesem Zeitpunkt von dem Prozessor 2 noch nicht angefordert wurden, die jedoch von dem Prozessor 2 wahrscheinlich während der nächsten Arbeitsschritte benötigt werden.
  • Ferner kann es ausreichend sein, nur einige der Arbeitsspeicher 4, 5 und 6 mit einem Cache-Speicher 7 und 8 zu versehen. In dem in der Figur gezeigten Ausführungsbeispiel verfügt der Arbeitsspeicher 5 über keinen Cache-Speicher. Diese Maßnahme kann sinnvoll sein, falls der Arbeitsspeicher 5 ausreichend schnell ist oder falls Wartezyklen des Prozessors 2, die durch den Arbeitsspeicher 5 verursacht werden, toleriert werden können. Daher müssen bei dem vorliegenden Ausführungsbeispiel nur den Arbeitsspeichern 4 und 6 die Cache-Speicher 7 und 8 zugeordnet werden, da nur die Arbeitsspeicher 4 und 6für die Arbeitsgeschwindigkeit des Prozessor-Speicher-Systems 1 ausschlaggebend sind.
  • Neben der Zwischenspeicherung von Daten kann es eine weitere Aufgabe der Cache-Speicher 7 und 8 sein, die Wortbreite der zwischen dem Prozessor 2 und den Arbeitsspeichern 4 und 6 zu transferierenden Daten an die Wortbreite des Bauelement anzupassen, an welches die Daten transferiert werden sollen. Verfügen beispielsweise der Prozessor 2 über eine Datenbreite von 32 bit und die Arbeitsspeicher 4 und 6 über eine Datenbreite von 128 bit, so werden bei einem Lesezugriff des Prozessors 2 auf die Arbeitsspeicher 4 oder 6 vier Datenworte mit einer Breite von 32 bit an den Prozessor 2 weitergeleitet. Die Transformation der Datenbreite führen dabei die Cache-Speicher 7 und 8 aus.

Claims (8)

1. Prozessor-Speicher-System (1) mit einem Prozessor (2), einem Datenbus (3) und einer Speichereinheit, wobei
die Speichereinheit eine Mehrzahl von Arbeitsspeichern (4, 5, 6) und eine Mehrzahl von Cache-Speichern (7, 8) aufweist,
den Arbeitsspeichern (4, 6) zumindest teilweise jeweils ein Cache-Speicher (7, 8) zugeordnet ist, und
der Datenbus (3) zwischen dem Prozessor (2) und der Speichereinheit angeordnet ist.
2. Prozessor-Speicher-System (1) nach Anspruch 1, dadurch gekennzeichnet, dass die Cache-Speicher (7, 8) jeweils an die Schnittstellen der zugeordneten Arbeitsspeicher (4, 6) mit dem Datenbus (3) gekoppelt sind.
3. Prozessor-Speicher-System (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Eigenschaften eines Cache-Speichers (7, 8) von der Funktion und/oder den Eigenschaften des dem Cache- Speicher (7, 8) zugeordneten Arbeitsspeichers (4, 6) abhängig sind.
4. Prozessor-Speicher-System (1) nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Zuordnung eines Cache-Speichers (7, 8) zu einem Arbeitsspeichers (4, 6) von der Funktion und/oder den Eigenschaften des Arbeitsspeichers (4, 6) abhängig ist.
5. Prozessor-Speicher-System (1) nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass einem Cache-Speicher (7, 8) eine Steuerung zugeordnet ist, welche den Zugriff des Cache-Speichers (7, 8) auf den zugeordneten Arbeitsspeicher (4, 6) steuert.
6. Prozessor-Speicher-System (1) nach Anspruch 5, dadurch gekennzeichnet, dass die Steuerung den Zugriff des Cache-Speichers (7, 8) auf den zugeordneten Arbeitsspeicher (4, 6) derart steuert, dass Daten, die bei nachfolgenden Zugriffen des Prozessors (2) auf den Arbeitsspeicher (4, 6) gebraucht werden könnten, in den Cache-Speicher (7, 8) geladen werden.
7. Prozessor-Speicher-System (1) nach einem oder mehreren der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass einem Arbeitsspeicher (4, 6), in welchem Programmbefehle abgelegt sind, ein Cache-Speicher (7, 8) zugeordnet ist, der auf die Daten des Arbeitsspeichers (4, 6) zugreifen kann und die auf dem Arbeitsspeicher (4, 6) abgelegten Daten nicht überschreiben kann.
8. Prozessor-Speicher-System (1) nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Cache-Speicher (7, 8) dazu ausgelegt ist, bei einem Datentransfer zwischen dem zugeordneten Arbeitsspeicher (4, 6) und dem Prozessor (2) die Datenbreite der zu transferierenden Daten dem Prozessor (2) oder dem Arbeitsspeicher (4, 6) anzupassen.
DE10151733A 2001-10-19 2001-10-19 Prozessor-Speicher-System Withdrawn DE10151733A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10151733A DE10151733A1 (de) 2001-10-19 2001-10-19 Prozessor-Speicher-System
PCT/DE2002/003022 WO2003038623A2 (de) 2001-10-19 2002-08-19 Prozessor-speicher-system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10151733A DE10151733A1 (de) 2001-10-19 2001-10-19 Prozessor-Speicher-System

Publications (1)

Publication Number Publication Date
DE10151733A1 true DE10151733A1 (de) 2003-04-30

Family

ID=7703098

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10151733A Withdrawn DE10151733A1 (de) 2001-10-19 2001-10-19 Prozessor-Speicher-System

Country Status (2)

Country Link
DE (1) DE10151733A1 (de)
WO (1) WO2003038623A2 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3903066A1 (de) * 1988-02-16 1989-08-24 Sun Microsystems Inc Datenverarbeitungssystem mit cache-speicher
US5953740A (en) * 1990-08-06 1999-09-14 Ncr Corporation Computer memory system having programmable operational characteristics based on characteristics of a central processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0618535B1 (de) * 1989-04-13 1999-08-25 SanDisk Corporation EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3903066A1 (de) * 1988-02-16 1989-08-24 Sun Microsystems Inc Datenverarbeitungssystem mit cache-speicher
US5953740A (en) * 1990-08-06 1999-09-14 Ncr Corporation Computer memory system having programmable operational characteristics based on characteristics of a central processor

Also Published As

Publication number Publication date
WO2003038623A2 (de) 2003-05-08
WO2003038623A3 (de) 2003-10-09

Similar Documents

Publication Publication Date Title
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3586260T2 (de) Mikroprozessorsystem.
DE102005022893B3 (de) Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte
DE19946752A1 (de) Rekonfigurierbares Gate-Array
DE3438869A1 (de) Computersystem mit adressumwandlung
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE102006036837A1 (de) Datenspeicherverwaltungsverfahren und -system
EP1079307A1 (de) Verfahren zum Betrieb eines Speichersystems sowie Speichersystem
DE10151733A1 (de) Prozessor-Speicher-System
EP1332501B1 (de) Speicherverwaltungslogik zur erweiterten nutzung von festwertspeichern
DE3333894A1 (de) Speichermanagementeinheit
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
EP1081599B1 (de) Multiprozessorsystem
DE112019006932T5 (de) Programmierbarer direct-memory-access-controller mitbeliebiger reihenfolge zur konfiguration von mehreren kernunabhängigen peripheriegeräten
EP0556430B1 (de) Verfahren zur Steuerung eines Peripheriesystems
DE10221206B4 (de) Burst Zugriffsverfahren auf Co-Prozessoren
DE19709975A1 (de) Mikrocomputer
DE4122831A1 (de) Integrierte halbleiterschaltung
DE102006041306A1 (de) Speicherverwaltungs-Schaltungsanordnung und Speicherverwaltungsverfahren
DE10251477B4 (de) Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke
EP1062591B1 (de) Programmgesteuerte einheit mit internen und externen speichern
DE102009024019A1 (de) Fehlererkennungscode-Speichermodul
EP0513505A1 (de) Schattenregister für ein Nur-Schreibe-Register
DE10121745A1 (de) Verfahren und Anordnung zu einem Stack mit einem, in Datengruppen mit mehreren Elementen aufgeteilten Speicher
EP1133731A1 (de) Cache-speichereinrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee