Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCESSOR-MEMORY SYSTEM
Document Type and Number:
WIPO Patent Application WO/2003/038623
Kind Code:
A2
Abstract:
The invention relates to a processor-memory system (1) comprising a processor (2), a data bus (3) and a memory unit. The memory unit has a plurality of working memories (4, 5, 6) and a plurality of cache memories (7, 8). A cache memory (7, 8) is assigned at least partly to the working memories (4, 6). The data bus (3) is arranged between the processor (2) and the memory unit.

Inventors:
POTT RUEDIGER (DE)
Application Number:
PCT/DE2002/003022
Publication Date:
May 08, 2003
Filing Date:
August 19, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFINEON TECHNOLOGIES AG (DE)
POTT RUEDIGER (DE)
International Classes:
G06F12/04; G06F12/0802; G06F12/0862; G06F12/0888; (IPC1-7): G06F12/00
Foreign References:
FR2627298A11989-08-18
EP0843261A21998-05-20
US5696929A1997-12-09
US5936971A1999-08-10
Attorney, Agent or Firm:
Lambsdorff, Matthias (München, DE)
Download PDF:
Claims:
Patentansprüche
1. ProzessorSpeicherSystem (1) mit einem Prozessor (2), ei nem Datenbus (3) und einer Speichereinheit, wobei die Speichereinheit eine Mehrzahl von Arbeitsspeichern (4, 5,6) und eine Mehrzahl von CacheSpeichern (7,8) auf weist, den Arbeitsspeichern (4,6) zumindest teilweise jeweils ein CacheSpeicher (7,8) zugeordnet ist, und der Datenbus (3) zwischen dem Prozessor (2) und der Spei chereinheit angeordnet ist.
2. ProzessorSpeicherSystem (1) nach Anspruch 1, dadurch gekennzeichnet, dass die CacheSpeicher (7,8) jeweils an die Schnittstel len der zugeordneten Arbeitsspeicher (4,6) mit dem Daten bus (3) gekoppelt sind.
3. ProzessorSpeicherSystem (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Eigenschaften eines CacheSpeichers (7,8) von der Funktion und/oder den Eigenschaften des dem Cache Speicher (7,8) zugeordneten Arbeitsspeichers (4,6) ab hängig sind.
4. ProzessorSpeicherSystem (1) nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Zuordnung eines CacheSpeichers (7,8) zu einem Arbeitsspeichers (4,6) von der Funktion und/oder den Ei genschaften des Arbeitsspeichers (4,6) abhängig ist.
5. ProzessorSpeicherSystem (1) nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass einem CacheSpeicher (7,8) eine Steuerung zugeordnet ist, welche den Zugriff des CacheSpeichers (7,8) auf den zugeordneten Arbeitsspeicher (4,6) steuert.
6. ProzessorSpeicherSystem (1) nach Anspruch 5, dadurch gekennzeichnet, dass die Steuerung den Zugriff des CacheSpeichers (7,8) auf den zugeordneten Arbeitsspeicher (4,6) derart steu ert, dass Daten, die bei nachfolgenden Zugriffen des Pro zessors (2) auf den Arbeitsspeicher (4,6) gebraucht wer den könnten, in den CacheSpeicher (7,8) geladen werden.
7. ProzessorSpeicherSystem (1) nach einem oder mehreren der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass einem Arbeitsspeicher (4,6), in welchem Programmbe fehle abgelegt sind, ein CacheSpeicher (7,8) zugeordnet ist, der auf die Daten des Arbeitsspeichers (4,6) zugrei fen kann und die auf dem Arbeitsspeicher (4,6) abgelegten Daten nicht überschreiben kann.
8. ProzessorSpeicherSystem (1) nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein CacheSpeicher (7,8) dazu ausgelegt ist, bei ei nem Datentransfer zwischen dem zugeordneten Arbeitsspei cher (4,6) und dem Prozessor (2) die Datenbreite der zu transferierenden Daten dem Prozessor (2) oder dem Arbeits speicher (4,6) anzupassen.
Description:
Beschreibung Prozessor-Speicher-System Die Erfindung betrifft eine Einheit zur Speicherung von Da- ten, wobei die Einheit mit einem Prozessor über einen Daten- bus zusammenwirkt.

Zugriffe eines Prozessors auf Daten, die in einem langsamen Speicherbaustein abgelegt sind, verursachen oftmals uner- wü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 Arbeits- speicher lässt sich durch die Verwendung von Vorhaltespei- chern, 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 be- schleunigt, 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 Prozes- sors 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 ausge- legt, dass er Daten des gesamten Arbeitsspeicherbereichs zwi- schenspeichern 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 zu- kommt, zusammen, jedoch müssen auch die untergeordneten Cache-Speicher den gesamten Speicherbereich des Arbeitsspei- chers abdecken. Trotz der Mehrzahl von unterschiedlich ausge- legten 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 Spei- chereinheit 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 Speicherein- heit angeordnet. Demnach wird der Datentransfer zwischen dem Prozessor und der Speichereinheit über den Datenbus bewerk- stelligt.

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 Pro-

zessor-Speicher-Systemen zentral angeordnet und für die Zwi- schenspeicherung der Daten sämtlicher Arbeitsspeicher zustän- dig, 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 zu- greift, welcher in der Regel wesentlich größer ist. Durch die dezentrale Zuordnung der Cache-Speicher zu den jeweiligen Ar- beitsspeichern werden folglich die Zugriffszeiten des Prozes- sors auf die Arbeitsspeicher insgesamt erheblich reduziert, wodurch Wartezyklen des Prozessors weitgehend vermieden wer- den können.

Vorteilhafterweise können die Cache-Speicher jeweils an die Schnittstellen der zugeordneten Arbeitsspeicher mit dem Da- tenbus 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 Ar- beitsspeichers abhängen. Unter der Funktion eines Arbeits- speichers 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 Da- tenarten, wie etwa Programmbefehle, abzuspeichern. Sind in einem Arbeitsspeicher beispielsweise Programmbefehle abge- legt, so genügt es, wenn der zugeordnete Cache-Speicher le- diglich über eine Lese-Funktion und über keine Schreib- Funktion verfügt. Somit wird durch die Funktion des Arbeits- speichers eine Eigenschaft des Cache-Speichers bestimmt. Wei- tere 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 je- weils zugehörigen Arbeitsspeicher abgestimmte Eigenschaften

der Cache-Speicher können Zugriffszeiten verkürzt und Kosten eingespart werden.

Ein weitere besonders vorteilhafte Ausgestaltung der Erfin- dung sieht vor, dass die Zuordnung eines Cache-Speichers zu einem Arbeitsspeicher von der Funktion und/oder den Eigen- schaften des Arbeitsspeichers abhängt. Daraus folgt bei- spielsweise, 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 vorteil- haft ist es dabei, wenn die Steuerung derart ausgelegt ist, dass sie Daten in den Cache-Speicher lädt, von denen anzuneh- men ist, dass sie im weiteren Programmverlauf benötigt wer- den. 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 ganz- zahliges Vielfaches größere Datenbreite aufweisen als die Da- ten, 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 anzu- passen.

Die Erfindung wird nachfolgend in beispielhafter Weise unter Bezugnahme auf die Zeichnung näher erläutert. Die einzige Fi- gur zeigt dabei eine schematische Anordnung eines Ausfüh- rungsbeispiels 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 Ar- beitsspeichern 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 Arbeits- speicher 4 und 6 Programmbefehle für die Ausführung eines An- wendungsprogramms 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 auf- weisen.

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 Arbeitsspei- cher 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 wer- den können. Daher müssen bei dem vorliegenden Ausführungsbei- spiel nur den Arbeitsspeichern 4 und 6 die Cache-Speicher 7 und 8 zugeordnet werden, da nur die Arbeitsspeicher 4 und 6

fü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 anzu- passen, an welches die Daten transferiert werden sollen. Ver- fügen beispielsweise der Prozessor 2 über eine Datenbreite von 32 bit und die Arbeitsspeicher 4 und 6 über eine Daten- breite von 128 bit, so werden bei einem Lesezugriff des Pro- zessors 2 auf die Arbeitsspeicher 4 oder 6 vier Datenworte mit einer Breite von 32 bit an den Prozessor 2 weitergelei- tet. Die Transformation der Datenbreite führen dabei die Cache-Speicher 7 und 8 aus.