DE10151733A1 - Prozessor-Speicher-System - Google Patents
Prozessor-Speicher-SystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing 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.
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.
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)
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)
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 |
-
2001
- 2001-10-19 DE DE10151733A patent/DE10151733A1/de not_active Withdrawn
-
2002
- 2002-08-19 WO PCT/DE2002/003022 patent/WO2003038623A2/de not_active Application Discontinuation
Patent Citations (2)
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 |