DE19711322A1 - Schaltungsanordnung mit einem Prozessor - Google Patents
Schaltungsanordnung mit einem ProzessorInfo
- Publication number
- DE19711322A1 DE19711322A1 DE19711322A DE19711322A DE19711322A1 DE 19711322 A1 DE19711322 A1 DE 19711322A1 DE 19711322 A DE19711322 A DE 19711322A DE 19711322 A DE19711322 A DE 19711322A DE 19711322 A1 DE19711322 A1 DE 19711322A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- cache
- processor
- inputs
- memory
- 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.)
- Ceased
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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7846—On-chip cache and off-chip main memory
Description
Die Erfindung betrifft eine Schaltungsanordnung mit einem
Prozessor, der erste und zweite Dateneingänge aufweist, an
die jeweils Daten anlegbar sind, die innerhalb desselben Zy
klus eines Arbeitstaktes des Prozessors von diesem einlesbar
sind. Beispiele für derartige Prozessoren sind digitale Si
gnalprozessoren (DSP) Diese haben für gewöhnlich wenigstens
getrennte Programmdateneingänge und Operandeneingänge. Bei
DSPs ist es also möglich, gleichzeitig einen neuen Programm
befehl und einen neuen Operanden einzulesen.
Zum Speichern der benötigten Programm- und Operandendaten
wird üblicherweise jeweils ein separater Speicher vorgesehen,
so daß eine Schaltungsanordnung mit einem DSP immer einen
Programmdatenspeicher und einen Operandenspeicher aufweist.
Als derartige Speicher kommen beispielsweise SRAMs (Statische
Speicher mit wahlfreiem Zugriff) in Frage. Es ist bekannt,
statt dessen auch jeweils ein DRAM (Dynamischer Speicher mit
wahlfreiem Zugriff) mit nachgeschaltetem Cache-Speicher ein
zusetzen. DRAMs haben gegenüber SRAMs den Vorteil, kostengün
stiger und platzsparender zu sein. Da sie jedoch langsamer
sind als SRAMs, ist es notwendig, diese Geschwindigkeitsein
buße durch einen schnellen Cache-Speicher, der beispielsweise
wieder ein SRAM sein kann, wettzumachen. Ein Cache-Speicher
ist ein relativ schneller Speicher mit kleiner Speicherkapa
zität, in den mehrere Daten aus dem relativ langsameren, grö
ßeren, vorgelagerten eigentlichen Datenspeicher ladbar sind,
so daß Zugriffe des DSPs auf diese Daten beschleunigt erfol
gen können.
Benötigt der DSP zu einem Zeitpunkt Daten, die augenblicklich
nicht im Cache-Speicher vorhanden sind, tritt ein sogenannter
Cache-Miss auf. Es ist dann notwendig, die Arbeit des Prozes
sors zu unterbrechen und ihn anzuhalten. Dies kann beispiels
weise durch Deaktivierung seines Arbeitstaktes erfolgen. Wäh
rend der Prozessor angehalten ist, ist der Cache-Speicher mit
den aktuell von ihm nachgefragten Daten zu laden, wobei zu
sätzlich weitere Daten nachgeladen werden, die mit einiger
Wahrscheinlichkeit im folgenden ebenfalls vom Prozessor nach
gefragt werden. Dies können beispielsweise Daten sein, die in
unmittelbarer Nähe der aktuell nachgefragten Daten gespei
chert sind. Im Falle des Cache-Speichers für einen Programm
datenspeicher sind dies die im abzuarbeitenden Programm
adressenmäßig folgenden Programmbefehle.
Beim aufeinen Cache-Miss folgenden Nachladen eines
Cache-Speichers ist es, wie erwähnt, erforderlich, den Prozessor
anzuhalten. Die für das Nachladen des jeweiligen Cache-Spei
chers vorgesehene Cache-Steuerung übermittelt zu diesem Zweck
ein entsprechendes Haltesignal an den Prozessor. Im Falle ei
nes DSPs ist für den Programmdaten-Cache und den Operandenda
ten-Cache jeweils eine Cache-Steuerung vorhanden, die während
des Nachladens des jeweiligen Cache-Speichers je ein Haltesi
gnal erzeugen. Bei gleichzeitig in beiden Cache-Speichern
auftretenden Cache-Misses wird der DSP so lange angehalten,
bis beide Haltesignale wieder inaktiv werden.
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsan
ordnung mit einem Prozessor anzugeben, der erste und zweite
Eingänge aufweist, an die Daten anlegbar sind, die innerhalb
desselben Taktzyklus vom Prozessor einlesbar sind, bei der
ein verbesserter Betrieb des Prozessors möglich ist.
Diese Aufgabe wird gemäß einer Schaltungsanordnung nach An
spruch 1 gelöst. Weiterbildungen und Ausgestaltungen der Er
findung sind den Unteransprüchen zu entnehmen.
Erfindungsgemäß ist es vorgesehen, die an die ersten Eingänge
des Prozessors anlegbaren Daten und die an seine zweiten Ein
gänge anlegbaren Daten in ein- und demselben Datenspeicher zu
speichern. Um dennoch ein gleichzeitiges Einlesen an den er
sten und zweiten Eingängen des Prozessors zu ermöglichen, ist
es vorgesehen, ihnen jeweils einen Cache-Speicher vorzuschal
ten. Beide Cache-Speicher sind dabei über denselben ersten
Datenbus mit dem gemeinsamen Datenspeicher verbunden. Daher
sind bei der Erfindung die beiden Cache-Speicher niemals
gleichzeitig nachladbar. In beiden Cache-Speichern gleichzei
tig auftretende Cache-Misses sind jedoch äußerst selten.
Die Erfindung sieht vor, statt jeweils eine Datenspeichers
zum Speichern von Daten, die über verschiedene Eingänge des
Prozessors einzulesen sind, nur einen gemeinsamen Datenspei
cher vorzusehen. Hieraus resultiert der Vorteil, daß der ge
meinsame Datenspeicher beliebig auf die unterschiedlichen
Speicheranforderungen für die an die ersten und zweiten Ein
gänge des Prozessors anzulegenden Daten anpaßbar ist. Seine
Speicheraufteilung kann nämlich flexibel vorgenommen werden.
Sie kann damit an die Anforderungen unterschiedlicher vom
Prozessor zu verarbeitender Programme und Operanden bzw. Da
ten angepaßt werden.
Eine Ausführungsform der Erfindung sieht vor, daß der Prozes
sor ein digitaler Signalprozessor ist und die ersten und
zweiten Eingänge Operandeneingänge sind, wobei alle einzule
senden Operanden im gemeinsamen Datenspeicher speicherbar
sind.
In einer weiteren Ausgestaltung der Erfindung ist es vorgese
hen, daß der Prozessor ein digitalter Signalprozessor ist,
dessen erste Eingänge Programmdateneingänge und dessen zweite
Eingänge Operandeneingänge sind, wobei sowohl die einzulesen
den Programmdaten, das heißt die Programmbefehle, als auch
die einzulesenden Operanden im gemeinsamen Datenspeicher
speicherbar sind.
Die Erfindung bietet den Vorteil, den gemeinsamen Datenspei
cher flexibel aufzuteilen und somit an den aktuellen Bedarf
an den verschiedenen Datenarten anzupassen. Bei der zuletzt
geschilderten Ausführungsform der Erfindung bedeutet dies
beispielsweise, daß bei einer geringeren Anzahl von zu spei
chernden Programmdaten im zur Verfügung stehenden Datenspei
cher entsprechend mehr Operanden speicherbar sind und umge
kehrt. Bei getrennten Programm- und Datenspeichern, wie sie
beim Stand der Technik vorgesehen sind, müssen diese dagegen
von vornherein so dimensioniert sein, daß sie den maximalen
Speicheranforderungen aller denkbaren Anwendungsfälle gerecht
werden, und zwar jeweils getrennt sowohl für die Programmda
ten, als auch für die Operanden. Bei der Erfindung kann im
Gegensatz dazu der gemeinsame Datenspeicher kleiner dimensio
niert werden als die Summe der maximal notwendigen Speicher
kapazitäten von getrennten Datenspeichern.
Die Ausführungsform der Erfindung, bei der der Datenspeicher
sowohl zum Speichern von Operanden als auch von Programmdaten
dient, hat den weiteren Vorteil, daß zeitaufwendige Daten
transfers zwischen getrennten Operandenspeicher und Programm
speicher entfallen können. Statt dessen kann innerhalb des ge
meinsamen Datenspeichers einfach eine Umadressierung bzw. ein
Verschieben der gespeicherten Daten erfolgen. Es ist hierfür,
anders als beim Stand der Technik, keine Datenübertragung
über den Prozessor notwendig, die in der Regel mehrere Takt
zyklen benötigt.
Insbesondere bei DRAMs existiert eine physikalisch kleinste
sinnvoll realisierbare Speichereinheit, eine sogenannte Spei
cherbank. Ihre Form ist, bedingt durch die notwendigen Adreß
decoder und andere Peripherie, annähernd quadratisch. Ein
DRAM wird nun für gewöhnlich durch Parallel- oder Reihen
schaltung mehrerer solcher Banks hergestellt. Der bei der Er
findung vorgesehene gemeinsame Datenspeicher anstelle von
zwei getrennten Datenspeichern bietet auch bei Wahl einer
Speicherkapazität für den gemeinsamen Datenspeicher, die der
Summe der Speicherkapazitäten der getrennten Datenspeicher
beim Stand der Technik entspricht, folgenden Vorteil: Bei
gleicher Speicherkapazität entspricht die Anzahl der Banks
oder Speicherbänke beim erfindungsgemäßen gemeinsamen Daten
speicher der Summe der Anzahl der Banks der beiden getrennten
Datenspeicher beim Stand der Technik. Da es nun jedoch ein
einziger Datenspeicher ist, ist es möglich, eine größere An
zahl von Banks parallel zu schalten, so daß sich mühelos eine
größere Wortbreite des gemeinsamen Datenspeichers der Erfin
dung ergibt, als dies bei den einzelnen Datenspeichern des
Standes der Technik der Fall ist. Dementsprechend ergibt sich
für die Datenübertragung zwischen dem Datenspeicher und jedem
der beiden Cache-Speicher eine höhere Bandbreite, das heißt
eine höhere Übertragungsgeschwindigkeit als beim Stand der
Technik.
Wie bereits erwähnt, erfolgt eine Datenübertragung zwischen
dem Datenspeicher und den Cache-Speichern beim Nachladen der
letzteren bei jedem auftretenden Cache-Miss. Tritt zu einem
Zeitpunkt lediglich ein Cache-Miss in einem der beiden Cache
speicher auf, ist bei der Erfindung daher ein deutlicher Ge
schwindigkeitsvorteil gegenüber dem Stand der Technik zu ver
zeichnen. Im Falle von in beiden Cache-Speichern gleichzeitig
auftretenden Cache-Misses ist - wie bereits erwähnt - ein
gleichzeitiges Nachladen aufgrund des gemeinsamen Datenspei
chers und des gemeinsamen ersten Datenbusses zwischen den
beiden Cache-Speichern und dem Datenspeicher zwar nicht mög
lich. Das Nachladen der beiden Cache-Speicher muß also nach
einander durchgeführt werden. Durch die aufgrund der Erfin
dung erzielbare höhere Wortbreite des gemeinsamen Datenspei
chers bzw. des ersten Datenbusses gegenüber derjenigen bei
getrennten Datenspeichern und Bussen ist die erzielbare Da
tenrate jedoch auch in diesem Fall ausreichend hoch.
Im Falle, daß die ersten Eingänge des Prozessors Programmda
teneingänge und die zweiten Eingänge Operandeneingänge sind,
und folglich der erste Cache-Speicher zum Zwischenspeichern
von Programmdaten und der zweite Cache-Speicher zum Zwischen
speichern von Operanden dient, ist es besonders vorteilhaft,
vorzusehen, den zweiten Datenbus unidirektional und den drit
ten Datenbus bidirektional auszuführen, wobei über den drit
ten Datenbus zusätzlich Operanden und Programmdaten vom Pro
zessor über den zweiten Cache-Speicher in den Datenspeicher
übertragbar sind. Vorteilhaft ist hierbei, daß zur Realisie
rung eines unidirektionalen zweiten Datenbusses ein geringe
rer Aufwand notwendig ist, als wenn dieser bidirektional wä
re. Gleichzeitig sind jedoch Programmdaten über den dritten
Datenbus in den zweiten Cache-Speicher und anschließend über
den ersten Datenbus in den gemeinsamen Datenspeicher schreib
bar. Alternativ hierzu kann ein vierter Datenbus zwischen dem
Prozessor und dem Datenspeicher vorhanden sein, über den un
ter Umgehung des zweiten Cache-Speichers Operanden und Pro
grammdaten direkt in den Datenspeicher schreibbar sind. Beide
Alternativen sind nur möglich, weil für die Operanden und
Programmdaten derselbe Datenspeicher vorgesehen ist. Der
dritte Datenbus zur Übertragung von Operanden ist ohnehin in
aller Regel bidirektional auszugestalten, da es notwendig
ist, vom Prozessor erzeugte Operanden im Datenspeicher zu
speichern. Die Notwendigkeit, auch durch den Prozessor er
zeugte Programmdaten zu speichern, besteht beispielsweise bei
den sogenannten selbstmodifizierenden Codes. Außerdem ist
dies oftmals bei der Initialisierung des Prozessors notwen
dig.
Die Erfindung wird im folgenden anhand der Figuren näher er
läutert.
Fig. 1 zeigt ein Ausführungsbeispiel der Erfindung,
Fig. 2 zeigt eine Ausführung eines Details aus Fig. 1.
Fig. 1 zeigt eine Schaltungsanordnung mit einem digitalen
Signalprozessor DSP, einem ersten Cache-Speicher C1, der ein
Programm-Cache ist, einem zweiten Cache-Speicher C2, der ein
Daten-Cache ist, einer Cache-Steuerung CTR sowie einem Daten
speicher MEM. Der Datenspeicher MEM ist über einen ersten Da
tenbus D1 mit den beiden Cache-Speichern C1, C2 verbunden.
Der Prozessor DSP weist erste Eingänge IN1 auf, die über ei
nen zweiten Datenbus D2, der ein Programmdatenbus ist, mit
dem ersten Cache-Speicher C1 verbunden sind. Der Prozessor
DSP weist auch zweite Eingänge IN2 auf, die über einen drit
ten Datenbus D3, der ein Operandenbus ist, mit dem zweiten
Cache C2 verbunden sind. Auf dem zweiten Datenbus D2 befind
liche Daten, die somit an den ersten Eingängen IN1 des Pro
zessors DSP anliegen, und auf dem dritten Datenbus D3 befind
liche Operanden, die somit an den zweiten Eingängen IN2 an
liegen, sind innerhalb desselben Zyklus eines Arbeitstaktes
CLK des Prozessors DSP über die Eingänge IN1, IN2 in entspre
chende Register P_REG, OP_REG einlesbar. Im Falle der ersten
Eingänge IN1 handelt es sich dabei um ein Programmbefehlregi
ster P_REG, im Falle der zweiten Eingänge IN2 um ein Operan
denregister OP_REG.
Im Datenspeicher MEM sind sowohl die über die ersten Eingänge
IN1 einzulesenden Programmdaten als auch die über die zweiten
Eingänge IN2 des Prozessors DSP einzulesenden Operanden spei
cherbar. Die Cache-Steuerung CTR ist in der Lage, sowohl die
beiden Cache-Speicher C1, C2, als auch den Datenspeicher MEM
über entsprechende Adreßbusse C1ADR, C2ADR, MEMADR zu adres
sieren. Auf diese Weise sind zum einen Programmdaten aus dem
Datenspeicher MEM über den ersten Datenbus D1 in den Pro
gramm-Cache C1 ladbar, während der Daten-Cache C2 durch die
Cache-Steuerung CTR für diese Daten sperrbar ist. Anderer
seits sind über den ersten Datenbus D1 aus dem Datenspeicher
MEM auch Operanden in den Daten-Cache C2 übertragbar, während
der Programm-Cache C1 für diese Art von Daten sperrbar ist.
Die Cache-Steuerung CTR ist mit dem Prozessor DSP über einen
Programm-Adreßbus ADR1 und einen Operanden-Adreßbus ADR2 ver
bunden. Über diese beiden Busse ADR1, ADR2 übermittelt der
Prozessor DSP Datenanforderungen an die Cache-Steuerung CTR.
Beim dargestellten Ausführungsbeispiel sind dies die Adressen
der jeweils gerade vom Prozessor benötigten Programmbefehle
beziehungsweise Operanden. Die aktuelle Programmbefehladresse
ist hierbei einem Programmzähler PC des Prozessors DSP ent
nehmbar. Die Cache-Steuerung CTR nimmt einen Vergleich vor
zwischen den vom Prozessor DSP angeforderten Programmadressen
beziehungsweise Operandenadressen und denjenigen Adressen,
die aktuell im jeweiligen Cache-Speicher C1, C2 gespeichert
sind. Wird dabei festgestellt, daß das der jeweiligen Adresse
zugeordnete Datum sich in dem Cache-Speicher C1, C2 befindet,
wird dieses Datum aus dem Cache-Speicher ausgelesen und dem
Prozessor DSP über den zweiten D2 oder dritten D3 Datenbus
übermittelt. Stellt die Cache-Steuerung CTR dagegen fest, daß
ein Datum mit der angeforderten Adresse nicht im jeweiligen
Cache-Speicher vorhanden ist, wird dieser Cache-Miss erkannt
und die Cache-Steuerung CTR übermittelt ein Haltesignal
D_WAIT an den Prozessor DSP, der daraufhin angehalten wird.
Das Anhalten des Prozessors kann beispielsweise durch Deakti
vierung seines Arbeitstaktes CLK erfolgen. Während der Pro
zessor DSP angehalten wird, bewirkt die Steuerschaltung CTR
durch entsprechende Adressierung des Datenspeichers MEM und
des entsprechenden Cache-Speichers C1, C2 ein Nachladen der
angeforderten Daten in diesen Cache-Speicher.
Im folgenden soll die Funktion und der Aufbau der
Cache-Steuerung CTR näher erläutert werden. Sie weist zwei im we
sentlichen identisch aufgebaute Teilsteuerung CTR1, CTR2 auf.
Die eine Teilsteuerung CTR1 ist mit dem Programm-Adreßbus
ADR1 verbunden und ist für die Steuerung des Programm-Caches
C1 zuständig. Die andere Teilsteuerung CTR2 ist mit dem Ope
randen-Adreßbus ADR2 verbunden und ist für die Steuerung des
Daten-Caches C2 zuständig. Der Zugriff der beiden Teilsteue
rungen CTR1, CTR2 auf den Datenspeicher-Adreßbus MEMADR er
folgt über einen Multiplexer MUX.
Jede der Teilsteuerungen CTR1, CTR2 der Cache-Steuerung CTR
weist eine Zeitberechnungseinheit T1, T2 auf, die identisch
aufgebaut sind. Den Aufbau der Zeitberechnungseinheit T1 der
ersten Teilsteuerung CTR1 für den Programm-Cache C1 zeigt Fi
gur 2. Sie weist einen TAG-Speicher auf, der die (auf den Da
tenspeicher MEM bezogenen) Adressen der derzeit im zugehöri
gen Cache-Speicher C1 befindlichen Daten beinhaltet. Die über
den Programm-Adreßbus ADR1 vom Prozessor DSP übermittelten
Anforderungen in Form von Programmbefehlsadressen werden mit
tels Vergleichsschaltungen COMP mit den Inhalten des TAG-
Speichers verglichen. Die Ausgänge dieser Vergleichsschaltun
gen sind durch ODER-Gatter OR miteinander verknüpft, deren
Ausgangssignal HIT einen hohen Pegel aufweist, wenn einer der
Adressenvergleiche ein positives Ergebnis hatte.
Durch einen nachgeschalteten ersten Inverter I1 wird das
HIT-Signal zu einem Miss-Signal invertiert, welches bei einem
Cache-Miss, das heißt bei einer vom Prozessor DSP nachgefrag
ten Adresse, die sich nicht im TAG-Speicher befindet, einen
hohen Pegel aufweist. Im Falle eines Cache-Misses ist das
Miss-Signal nur für die Dauer eines Zyklus des Arbeitstaktes
CLK von einem hohen Pegel. Mittels eines Schieberegisters SR,
das im vorliegenden Beispiel dreistufig ist und das mittels
eines vom Arbeitstakt CLK abgeleiteten Taktes CLK′ getaktet
ist, erfolgt die Erzeugung eines Haltesignals P_WAIT. Hierzu
sind vier weitere ODER-Gatter OR1 bis OR4 in Reihe geschal
tet, wobei jeweils ein Eingang jedes der ersten drei
ODER-Gatters OR1 bis OR3 mit einem der Ausgänge der Schieberegi
sterstufen SR verbunden ist. Ein Eingang des vierten
ODER-Gatters OR4 ist mit einem Eingang eines zweiten Inverters I2
verbunden, an dem eine logische "0" anliegt. Hierdurch liegt
am entsprechenden Eingang des vierten ODER-Gatters OR4 immer
eine "0" an, so daß das Haltesignal P_WAIT immer dann HIGH
ist, wenn das Miss-Signal einen hohen Pegel aufweist und wäh
rend der darauffolgenden drei Zyklen des Taktes CLK. Somit
bedingt die Periodendauer des Taktes CLK und die Anzahl der
Stufen des Schieberegisters SR eine Zeitdauer t1, während der
bei einem Cache-Miss das Haltesignal P_WAIT einen hohen Pegel
aufweist.
Der Fig. 1 ist zu entnehmen, daß die Zeitberechnungseinheit
T2 der zweiten Teilsteuerung CTR2 identisch wie die anhand
Fig. 2 erläuterte Zeitberechnungseinheit T1 der ersten Teil
steuerung CTR1 aufgebaut ist. Die einzigen Unterschiede sind,
daß den Vergleichsschaltungen COMP keine Programmbefehladres
sen über den Programm-Adreßbus ADR1, sondern Operandenadres
sen über den Operanden-Adreßbus ADR2 zuführbar sind und daß
am Eingang des zweiten Inverters I2 keine logische "0" an
liegt, sondern das Haltesignal P_WAIT der ersten Teilsteue
rung CTR1. Das Ausgangssignal der zweiten Teilsteuerung CTR2
ist das Haltesignal D_WAIT der Cache-Steuerung CTR. Dieses
weist immer dann einen hohen Pegel auf, der ein Halten des
Prozessors DSP bewirkt, wenn entweder das Haltesignal P_WAIT
der ersten Teilsteuerung CTR1 einen hohen Pegel aufweist,
oder wenn von der zweiten Teilsteuerung CTR2 ein Cache-Miss
festgestellt worden ist.
Das Haltesignal P_WAIT der ersten Teilsteuerung CTR1 ist mit
einem Steuereingang des Multiplexers MUX verbunden, so daß
immer, wenn das Haltesignal P_WAIT einen hohen Pegel auf
weist, ein Zugriff der ersten Teilsteuerung CTR1 auf den Da
tenspeicher-Adreßbus MEMADR möglich ist und ansonsten die
zweite Teilsteuerung CTR2 auf diesen zugreifen kann.
In analoger Weise zur ersten Teilsteuerung CTR1 (siehe Fig.
2) erfolgt innerhalb der zweiten Teilsteuerung CTR2 eine Ver
zögerung des Miss-Signals durch ein mehrstufiges Schieberegi
ster um eine Zeitdauer t2. Das Haltesignal D_WAIT der Cache-
Steuerung CTR hat daher bei einem Cache-Miss im Programm-
Cache C1 eine Zeitdauer t1, bei einem Cache-Miss im
Daten-Cache C2 eine Zeitdauer t2 und bei einem gleichzeitig auftre
tenden Cache-Miss in beiden Caches-Speichern C1, C2 eine
Zeitdauer t3, welches die Summe der beiden Zeitdauern t1 und
t2 beträgt.
Beim Ausführungsbeispiel nach Fig. 1 hat der erste Datenbus
D1 eine Breite von 256 Bit, so daß eine hohe Bandbreite zwi
schen dem Datenspeicher MEM und den Cache-Speichern C1, C2
gewährleistet ist. Dagegen hat der Programm-Datenbus D2 und
der Operanden-Datenbus D3 nur jeweils eine Breite von 16 Bit,
da die meisten digitalen Signalprozessoren DSP nur über Ein
gänge mit einer beschränkten Wortbreite verfügen.
Beim erläuterten Ausführungsbeispiel ist der Programm-Daten
bus D2 unidirektional, während der Operanden-Datenbus D3
gleichzeitig ein vierter Datenbus D4 zur Übertragung von Da
ten vom Prozessor DSP zum Datenspeicher MEM ist. Der dritte
Datenbus D3 ist also bidirektional. Der gemeinsame Datenspei
cher MEM ermöglicht, daß trotz des unidirektionalen Programm
datenbusses D2 Programmbefehle vom Prozessor DSP für eine
spätere Abarbeitung im Datenspeicher MEM gespeichert werden
können. Dies erfolgt (ebenso wie das Speichern von Operanden)
über den Operanden-Datenbus D3, den zweiten Cache-Speicher C2
und den ersten Datenbus D1. Dies ist möglich, weil der Daten
speicher MEM gleichzeitig als Programmspeicher und als Ope
randenspeicher für den Prozessor DSP fungiert. Ein Speichern
von durch den Prozessor DSP erzeugten Programmbefehlen ist
beispielsweise im Falle von selbstmodifizierenden Codes be
ziehungsweise selbstmodifizierenden Programmen sowie bei Pro
zessorinitialisierungen notwendig.
Bei anderen Ausführungsbeispielen der Erfindung ist es auch
möglich, daß der zweite Datenbus D2 kein Programmdatenbus,
sondern ein zweiter Operandenbus ist. Dann sind die ersten
Eingänge IN1 des Prozessors DSP weitere Operandeneingänge und
der erste Cache-Speicher C1 kein Programm-Cache, sondern ein
weiterer Daten-Cache.
Bei anderen Ausführungsbeispielen der Erfindung können wenig
stens ein Teil der Ausgänge jedes der Cache-Speicher mit ei
nem Teil ihrer Eingänge identisch sein, so daß es sich bei
diesen um Ein-/Ausgänge handelt.
Claims (7)
1. Schaltungsanordnung mit folgenden Merkmalen:
- - sie hat einen mit einem Takt (CLK) arbeitenden Prozessor (DSP) mit ersten (IN1) und zweiten (IN2) Eingängen, einen Datenspeicher (MEM) mit Ausgängen sowie einen ersten (C1) und einen zweiten (C2) Cache-Speicher mit Eingängen und Ausgängen,
- - die ersten (IN1) und zweiten (IN2) Eingänge des Prozessors (DSP) dienen zum Anlegen von Daten, die innerhalb desselben Taktzyklus vom Prozessor eingelesen werden,
- - der Datenspeicher (MEM) dient zum Speichern der Daten,
- - alle Ausgänge des Datenspeichers (MEM) sind über einen er sten Datenbus (D1) mit den Eingänge beider Cache-Speicher (C1, C2) verbunden,
- - über einen zweiten Datenbus (D2) ist jeder der ersten Ein gänge (IN1) des Prozessors (DSP) mit je einem der Ausgänge des ersten Cache-Speichers (C1) verbunden,
- - über einen dritten Datenbus (D3) ist jeder der zweiten Ein gänge (IN2) des Prozessors mit je einem der Ausgänge des zweiten Cache-Speichers (C2) verbunden.
2. Schaltungsanordnung nach Anspruch 1 mit folgenden Merkma
len:
- - bei einem Cache-Miss wird der jeweilige Cache-Speicher (C1; C2) nachgeladen, während der Prozessor (DSP) mindestens für die Zeitdauer (t1; t2) des Nachladens angehalten wird,
- - treten Cache-Misses in beiden Cache-Speichern (C1, C2) gleichzeitig auf, wird zunächst immer der erste Cache speicher (C1) und dann erst der zweite Cache-Speicher (C2) nachgeladen, während der Prozessor (DSP) für die Zeitdauer (t3) des Nachladens beider Cache-Speicher angehalten wird.
3. Schaltungsanordnung nach Anspruch 2 mit einer
Cache-Steuerung (CTR1, CTR2) mit folgenden Merkmalen:
- - ihr werden vom Prozessor (DSP) Datenanforderungen (ADR1, ADR2) zugeführt,
- - sie dient einer den Datenanforderungen (ADR1, ADR2) ent sprechenden Adressierung der beiden Cache-Speicher (C1, C2) sowie bei Cache-Misses einem Nachladen der Cache-Speicher durch gleichzeitige Adressierung des Datenspeichers (MEM) und des entsprechenden Cache-Speichers (C1, C2),
- - sie übermittelt während des Nachladens eines der Cache-Speicher oder beider Cache-Speicher genau ein Haltesignal (D_Wait) an den Prozessor (DSP), welches das Anhalten des Prozessors bewirkt.
4. Schaltungsanordnung nach einem der vorstehenden Ansprüche
mit folgenden Merkmalen:
- - der Prozessor (DSP) ist ein digitaler Signalprozessor,
- - seine ersten (IN1) und zweiten (IN2) Eingänge sind Operan deneingänge,
- - im Datenspeicher (MEM) werde Operanden zum Anlegen an die ersten (IN1) und zweiten (IN2) Eingänge gespeichert.
5. Schaltungsanordnung nach einem der Ansprüche 1 bis 3 mit
folgenden Merkmalen:
- - der Prozessor (DSP) ist ein digitaler Signalprozessor,
- - seine ersten Eingänge (IN1) sind Programmdateneingänge und seine zweiten Eingänge (IN2) sind Operandeneingänge,
- - im Datenspeicher (MEM) werden Programmdaten zum Anlegen an die ersten Eingänge (IN1) und Operanden zum Anlegen an die zweiten Eingänge (IN2) gespeichert.
6. Schaltungsanordnung nach Anspruch 5 mit folgenden Merkma
len:
- - der zweite Datenbus (D2) ist unidirektional und dient der Übertragung von Programmdaten vom ersten Cache-Speicher (C1) zum Prozessor (DSP),
- - es ist ein vierter Datenbus (D4) vorhanden, über den Ope randen und Programmdaten vom Prozessor (DSP) zum Datenspei cher (MEM) übertragen werden.
7. Schaltungsanordnung nach Anspruch 6 mit folgenden Merkma
len:
- - der dritte Datenbus (D3) ist bidirektional und identisch mit dem vierten Datenbus (D4),
- - er dient sowohl der Übertragung von Operanden vom zweiten Cache-Speicher (C2) zum Prozessor (DSP) als auch von Ope randen und Programmdaten vom Prozessor über den zweiten Cache-Speicher (C2) in den Datenspeicher (MEM).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19711322A DE19711322A1 (de) | 1997-03-18 | 1997-03-18 | Schaltungsanordnung mit einem Prozessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19711322A DE19711322A1 (de) | 1997-03-18 | 1997-03-18 | Schaltungsanordnung mit einem Prozessor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19711322A1 true DE19711322A1 (de) | 1998-02-26 |
Family
ID=7823814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19711322A Ceased DE19711322A1 (de) | 1997-03-18 | 1997-03-18 | Schaltungsanordnung mit einem Prozessor |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19711322A1 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0557884A1 (de) * | 1992-02-28 | 1993-09-01 | Motorola, Inc. | Datenprozessor mit einem Cachespeicher |
-
1997
- 1997-03-18 DE DE19711322A patent/DE19711322A1/de not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0557884A1 (de) * | 1992-02-28 | 1993-09-01 | Motorola, Inc. | Datenprozessor mit einem Cachespeicher |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE69734129T2 (de) | Hierarchisches Datenverarbeitungssystem mit symetrischen Multiprozessoren | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE3151745C2 (de) | ||
DE2240433C3 (de) | Hierarchische Datenspeicheranordnung für mehrere über Pufferspeicher angeschlossene Einheiten und ein Verfahren zu deren Betrieb | |
DE19807872A1 (de) | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. | |
DE2547488C2 (de) | Mikroprogrammierte Datenverarbeitungsanlage | |
DE2847960A1 (de) | Speichersteuereinrichtung | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE4225228A1 (de) | Vorabrufpuffer und einen derartigen vorabrufpuffer verwendendes informationsverarbeitungssystem | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE2117581C3 (de) | Einrichtung zur Adressenprüfung | |
DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
DE2912073C2 (de) | ||
DE2906685C2 (de) | ||
DE3919802A1 (de) | Speicherbaustein mit vektorprozessoren und einem skalarprozessor | |
DE10040267A1 (de) | Prozessor-Speicher-System | |
DE2749884C2 (de) | ||
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE4227784A1 (de) | Rechnersystem und verfahren zum beheben eines seitenfehlers | |
DE19711322A1 (de) | Schaltungsanordnung mit einem Prozessor | |
DE19713178A1 (de) | Schaltungsanordnung mit einem Prozessor und einem Datenspeicher | |
DE2605617A1 (de) | Schaltungsanordnung zum adressieren von daten | |
DE10025952B4 (de) | Datenverarbeitungseinheit mit einer Superscaler-Struktur sowie Verfahren zum Zuführen einer Mehrzahl von Befehlen | |
EP0525214A1 (de) | Verfahren zum Betreiben eines Automatisierungsgeräts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAV | Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1 | ||
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |