DE10015693A1 - Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung - Google Patents
Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer DatenverarbeitungseinrichtungInfo
- Publication number
- DE10015693A1 DE10015693A1 DE10015693A DE10015693A DE10015693A1 DE 10015693 A1 DE10015693 A1 DE 10015693A1 DE 10015693 A DE10015693 A DE 10015693A DE 10015693 A DE10015693 A DE 10015693A DE 10015693 A1 DE10015693 A1 DE 10015693A1
- Authority
- DE
- Germany
- Prior art keywords
- cache
- memory
- memory area
- interrupt
- processing 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.)
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
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 vorliegende Erfindung betrifft eine Datenverarbeitungseinrichtung (1) mit einem Prozessor (2) und einem Speicher (3). Der Speicher (3) besteht aus einem ersten Speicherbereich (4) und einem zweiten Speicherbereich (6), wobei für den ersten Speicherbereich (4) ein erster Cache (5) und für den zweiten Speicherbereich (6) ein zweiter Cache (7) angeordnet ist. Der zweite Cache (7) hat die Aufgabe, Interruptvektoren (8) und Interrupt-Handler (9), die üblicherweise in dem zweiten Speicherbereich (6) gespeichert werden, der beispielsweise ein ROM-Speicher ist, in dem zweiten Cache (7) zwischenzuspeichern. Vorteilhafterweise finden in dem zweiten Cache (7) keine Verdrängungszyklen statt.
Description
Die vorliegende Anmeldung betrifft eine Anordnung und ein
Verfahren, das dazu geeignet ist, die Interruptverarbeitungs
zeit einer Datenverarbeitungseinrichtung zu reduzieren.
Datenverarbeitungseinrichtungen werden zur Bearbeitung von
Daten, sowie zur Steuerung, Regelung und Analyse von Ein
gangs- und Ausgangssignalen verwendet. Während des Betriebs
einer Datenverarbeitungseinrichtung, die üblicherweise einen
Prozessor und einen Speicher aufweist, treten sog. Interrupts
auf. Dabei handelt es sich um Signale, die dem Prozessor ein
Ereignis anzeigen. Bei den Ereignissen handelt es sich bei
spielsweise um Zustände, Ergebnisse oder Ereignisse, die so
wohl innerhalb des Prozessors bzw. der CPU (Central Proces
sing Unit) als auch außerhalb der CPU erzeugt werden und die
Ausführung einer speziellen Routine als Reaktion auf das Er
eignis erfordern. Bei der speziellen Routine handelt es sich
um die Interruptroutine, deren Startadresse als sogenannter
Interruptvektor an einer vorgegebenen Speicheradresse des
Speichers gespeichert ist. Zusätzlich werden sogenannte In
terrupt-Handler eingesetzt, bei denen es sich um kleine Pro
grammsegmente handelt, die nach Auslösung eines Interrupts
ausgeführt werden um z. B. die Quelle des Interrupts zu be
stimmen.
Da Interruptvektoren auch während des Kalt- bzw. Warmstarts
einer Datenverarbeitungseinrichtung gültig sein müssen, wer
den sie in einem nicht flüchtigen Speicherbereich wie einem
ROM (Read Only Memory) abgelegt. Ein ROM hat allerdings den
Nachteil, daß die Zugriffszeit auf ihn sehr lang ist, was zu
erheblichen Interruptlatenzzeiten führt.
Daher ist zum Beispiel in "ARM Training Material: Technical
Training Course 1999, Chapter 16 und Chapter 19" vorgeschla
gen, nach dem Start der Datenverarbeitungseinrichtung die In
terruptvektoren in einen schnelleren RAM(Random Access Memo
ry)-Bereich zu kopieren und anschließend diesen Bereich über
den ursprünglich vom ROM belegten Adreßbereich zu legen. Bei
dieser Vorgehensweise wird auch davon gesprochen, daß der
RAM-Bereich an die Stelle des ursprünglichen ROM-Bereichs ge
mappt wird. Durch dieses Vorgehen ist es möglich, die Inter
ruptlatenzzeit in etwa zu halbieren.
Es ist die Aufgabe der Erfindung eine Anordnung und ein Ver
fahren anzugeben, wodurch die Interruptbearbeitungszeit einer
Datenverarbeitungseinrichtung weiter reduziert wird.
Erfindungsgemäß wird die Aufgabe durch eine Datenverarbei
tungseinrichtung gelöst mit:
- - einem Prozessor;
- - einem Speicher mit einem Speicherbereich, der mit dem Pro zessor verbunden ist und
- - einem Cache, der den Speicherbereich des Speichers zwi schen speichert wobei ein zweiter Speicherbereich in dem Speicher angeordnet ist und ein zweiter Cache den zweiten Speicherbereich des Speichers zwischenspeichert.
Durch diese Anordnung ist es möglich, zwei separate Cache
speicher zu verwenden, von denen einer beispielsweise zur
Speicherung der Interruptvektoren und Interrupt-Handlern ge
eignet ist und der andere Cache in herkömmlicher Weise für
die Zwischenspeicherung des Hauptspeichers eingesetzt werden
kann. Ein Cache ist dabei ein im Vergleich zum Arbeitsspei
cher kleiner und schneller Speicher, der Daten aus dem großen
und langsameren Hauptspeicher zwischenspeichert. Üblicherwei
se finden in dem Cache Verdrängungszyklen statt, da der Cache
viel kleiner ist als der zwischen zu speichernde Hauptspei
cher. Durch die Speicherung der Interruptvektoren und Interrupt-Handler
in einem Cache wird gewährleistet, daß die Bear
beitungszeit eines Interrupts wesentlich verkürzt wird.
In einer Ausgestaltung der erfindungsgemäßen Anordnung ist
vorgesehen, daß der zweite Cache die gleiche Speicherkapazi
tät aufweist wie der zweite Speicherbereich. Durch diese An
ordnung ist es möglich, den gesamten zweiten Speicherbereich
in dem zweiten Cache zwischen zu speichern und dadurch die
Interruptvektoren für schnelle Speicherzugriffe bereit zu
halten.
Weiterhin ist vorgesehen, daß die Speicherkapazität des er
sten Cache kleiner ist als die Speicherkapazität des ersten
Speicherbereiches. Durch diese Ausführung kann in kostenspa
render Weise ein Cache verwendet werden, der wesentlich klei
ner als der erste Speicherbereich ist. Dadurch ist es aller
dings erforderlich, daß in dem Cache sogenannte Verdrängungs
zyklen stattfinden, wobei die in dem Cache zwischengespei
cherten Daten, die nicht mehr benötigt werden, durch andere
Daten aus dem Hauptspeicher ersetzt werden, die momentan in
der CPU verarbeitet werden.
In einer weiteren Ausgestaltung der Erfindung ist vorgesehen,
daß der Prozessor ein Prozessor der Firma ARM ist. Diese An
ordnung ermöglicht die Verwendung der gesamten Prozessorfami
lie der Firma ARM die z. B. den Prozessor ARM7 umfaßt.
Es ist vorgesehen, daß der zweite Speicherbereich ein ROM,
ein EPROM oder ein EEPROM ist. Durch diese Anordnung ist ge
währleistet, daß nach einem Kalt- bzw. Warmstart in dem zwei
ten Speicherbereich und dem zweiten Cache Interruptvektoren
und Interrupt-Handler bereitstehen.
Bezüglich des Verfahrens wird die Aufgabe gelöst durch ein
Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit
den Schritten:
- - Bereitstellen einer Datenverarbeitungseinrichtung, die ei nen Prozessor und einen Speicher mit einem ersten Speicher bereich umfaßt;
- - Zwischenspeichern des ersten Speicherbereichs in einem er sten Cache, wobei ein zweiter Speicherbereich des Speichers in einem zweiten Cache zwischen gespeichert wird.
Das erfindungsgemäße Verfahren speichert die Daten des ersten
Speicherbereichs in einem ersten Cache, wobei es sich bei
spielsweise um einen Programmcode handelt. Die Interruptvek
toren und die Interrupt-Handler sind beispielsweise in dem
zweiten Speicherbereich gespeichert, der durch einen zweiten
Cache zwischengespeichert wird. Durch dieses Verfahren wird
vermieden, daß in einem Cache sowohl Programm- als auch In
terruptdaten zwischengespeichert werden.
Ein weiterer Verfahrensschritt sieht vor, daß in dem zweiten
Cache ein Interruptvektor gespeichert wird. Weiterhin ist
vorgesehen, daß in dem zweiten Cache ein Interrupt-Handler
gespeichert wird.
In einem weiteren vorteilhaften Verfahrensschritt ist vorge
sehen, daß in dem zweiten Cash keine Verdrängungszyklen statt
finden. Durch dieses Verfahren wird sichergestellt, daß die
Interruptvektoren bzw. Interrupt-Handler ohne Zeitverzögerung
direkt in dem zweiten Cache für den Prozessor bereitgehalten
werden.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind Ge
genstand der jeweiligen Unteransprüche.
Nachfolgend wird die Erfindung anhand von einem Ausführungs
beispiel und einer Figur näher erläutert.
In Fig. 1 ist eine Datenverarbeitungseinrichtung 1 darge
stellt. Die Datenverarbeitungseinrichtung 1 besteht aus einem
Prozessor 2 und einem Speicher 3. Der Speicher 3 ist in einen
ersten Speicherbereich 4 und einen zweiten Speicherbereich 6
aufgeteilt. In diesem Ausführungsbeispiel ist der erste Spei
cherbereich 4, der den Hauptspeicher bildet, wesentlich grö
ßer als der zweite Speicherbereich 6. Bei dem zweiten Spei
cherbereich 6 handelt es sich in diesem Fall um einen ROM-
Speicher, der Betriebsdaten bereithält, die z. B. für einen
Kaltstart oder einen Reset benötigt werden. Der erste Spei
cherbereich 4 ist beispielsweise ein RAM-Speicher, der wäh
rend des Betriebs der Datenverarbeitungseinrichtung 1 zum
Speichern von Programmsegmenten und Daten verwendet wird. In
diesem Ausführungsbeispiel wird der erste Speicherbereich 4
in einem ersten Cache 5 zwischengespeichert. Der zweite Spei
cherbereich 6 wird in einem zweiten Cache 7 zwischengespei
chert. In dem zweiten Speicherbereich 6 sind z. B. Interrupt
vektoren 8 und Interrupt-Handler 9 gespeichert. Der zweite
Cache 7 hat dabei den Vorteil, daß er für die Software, die
auf der Datenverarbeitungseinrichtung 1 abläuft, transparent
ist und daher keine spezielle Programmierung seitens der
Softwareentwickler erfordert. Ein Cache ist dabei ein kleiner
schneller Speicher, der Daten aus dem großen, langsamen
Hauptspeicher zwischenspeichert. Da für die Interruptvektoren
8 ein separater zweiter Cache 7 verwendet wird ist gewährlei
stet, daß die Interruptvektoren 8 nicht durch andere Daten in
dem zweiten Cache 7 verdrängt werden. Verdrängungszyklen fin
den nicht statt, da der zweite Cache 7 die gleiche Speicher
kapazität aufweist wie der zweite Speicherbereich 6. Im Ge
gensatz dazu finden in dem ersten Cache 5 Verdrängungszyklen
statt, die stets die aktuell vom Prozessor benötigten Daten
aus dem ersten Speicherbereich 4 in den ersten Cache 5 kopie
ren und dort momentan nicht mehr benötigte Daten überschrei
ben. Die Vermeidung von Verdrängungszyklen in dem zweiten
Cache 7 beschleunigt die Interruptbearbeitungszeit der Daten
verarbeitungseinrichtung 1 erheblich. Bereits realisierte
Größen des zweiten Cache 7 sind z. B. 256 Byte und 1024 Byte
groß.
Ein Verfahren zum Betrieb der in Fig. 1 dargestellten Daten
verarbeitungseinrichtung 1 sieht vor, daß in dem zweiten
Speicherbereich 6, der als ROM-Speicher gebildet ist, Inter
ruptvektoren 8 und Interrupt-Handler 9 gespeichert werden.
Bei einem Kaltstart oder einem Reset der Datenverarbeitungs
einrichtung 1 stehen somit die in dem zweiten Speicherbereich
6 gespeicherten Interruptvektoren und Interrupt-Handler zur
Verfügung. Während des Betriebs wird der erste Speicherbe
reich 4 durch den ersten Cache 5 zwischengespeichert und der
zweite Speicherbereich 6 durch den zweiten Cache 7 zwischen
gespeichert. Greift der Prozessor 2 auf den Hauptspeicher zu,
so wird zunächst im ersten Cache 5 bzw. im zweiten Cache 7
nachgesehen, ob die Daten dort vorliegen. Ist dies der Fall,
so spricht man von einem Cache-Hit, ist dies nicht der Fall
so handelt es sich um einen Cache-Miss. Bei einem Cache-Miss
werden nun weitere Aktionen in der Datenverarbeitungseinrich
tung 1 durchgeführt, wobei die Daten aus dem Hauptspeicher
gelesen und dem Prozessor 2 zugeführt werden. Dabei ver
streicht allerdings eine wesentlich längere Zeitspanne, als
bei einem Cache-Hit.
1
Datenverarbeitungseinrichtung
2
Prozessor
3
Speicher
4
erster Speicherbereich
5
erster Cache
6
zweiter Speicherbereich
7
zweiter Cache
8
Interruptvektoren
9
Interrupt-Handler
Claims (9)
1. Eine Datenverarbeitungseinrichtung mit:
- - einem Prozessor (2);
- - einem Speicher (3) mit einem ersten Speicherbereich (4), der mit dem Prozessor (2) verbunden ist und
- - einem ersten Cache (5), der den ersten Speicherbereich (4) des Speichers (3) zwischenspeichert
2. Anordnung nach Anspruch 1,
dadurch gekennzeichnet, daß
der zweite Cache (7) die gleiche Speicherkapazität aufweist
wie der zweite Speicherbereich (6).
3. Anordnung nach einem der Ansprüche 1 oder 2,
dadurch gekennzeichnet, daß
die Speicherkapazität des ersten Cache (5) kleiner ist als
die Speicherkapazität des ersten Speicherbereichs (4).
4. Anordnung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß
der Prozessor (2) ein Prozessor der Firma ARM ist.
5. Anordnung nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß
der zweite Speicherbereich (6) ein ROM, ein EPROM oder ein
EEPROM ist.
6. Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
mit den Schritten:
- - Bereitstellen einer Datenverarbeitungseinrichtung (1), die einen Prozessor (2) und einen Speicher (3) mit einem ersten Speicherbereich (4) umfaßt;
- - Zwischenspeichern des ersten Speicherbereichs (4) in einem ersten Cache (5),
7. Verfahren nach Anspruch 6,
dadurch gekennzeichnet, daß
in dem zweiten Cache (7) ein Interruptvektor gespeichert
wird.
8. Verfahren nach einem der Ansprüche 6 oder 7,
dadurch gekennzeichnet, daß
in dem zweiten Cache (7) ein Interrupt-Handler gespeichert
wird.
9. Verfahren nach einem der Ansprüche 6 bis 8,
dadurch gekennzeichnet, daß
in dem zweiten Cache (7) keine Verdrängungszyklen stattfin
den.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10015693A DE10015693A1 (de) | 2000-03-29 | 2000-03-29 | Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung |
EP01923523A EP1269314A2 (de) | 2000-03-29 | 2001-03-20 | Anordnung und verfahren zur reduzierung der verarbeitungszeit einer datenverarbeitungseinrichtung |
US10/204,421 US7080205B2 (en) | 2000-03-29 | 2001-03-20 | Arrangement and method for reducing the processing time of a data processing device |
PCT/DE2001/001067 WO2001073552A2 (de) | 2000-03-29 | 2001-03-20 | Anordnung und verfahren zur reduzierung der verarbeitungszeit einer datenverarbeitungseinrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10015693A DE10015693A1 (de) | 2000-03-29 | 2000-03-29 | Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10015693A1 true DE10015693A1 (de) | 2001-10-18 |
Family
ID=7636885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10015693A Ceased DE10015693A1 (de) | 2000-03-29 | 2000-03-29 | Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1269314A2 (de) |
DE (1) | DE10015693A1 (de) |
WO (1) | WO2001073552A2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330954B2 (en) * | 2002-04-18 | 2008-02-12 | Intel Corporation | Storing information in one of at least two storage devices based on a storage parameter and an attribute of the storage devices |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2659007B2 (ja) * | 1996-06-17 | 1997-09-30 | 株式会社日立製作所 | 情報処理方法及び装置 |
US6003129A (en) * | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
US6148360A (en) * | 1996-09-20 | 2000-11-14 | Intel Corporation | Nonvolatile writeable memory with program suspend command |
-
2000
- 2000-03-29 DE DE10015693A patent/DE10015693A1/de not_active Ceased
-
2001
- 2001-03-20 EP EP01923523A patent/EP1269314A2/de not_active Withdrawn
- 2001-03-20 WO PCT/DE2001/001067 patent/WO2001073552A2/de not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
Hans-Peter Messmer, PC-Hardware, 5. Aufl., 1998, Addison-Wesley S. 307, 308, 320, 321 * |
Also Published As
Publication number | Publication date |
---|---|
WO2001073552A2 (de) | 2001-10-04 |
EP1269314A2 (de) | 2003-01-02 |
WO2001073552A3 (de) | 2002-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69534148T2 (de) | Rechnersystem zur Ausführung von Verzweigungsbefehlen | |
DE60222402T2 (de) | Verfahren und system zur spekulativen ungültigkeitserklärung von zeilen in einem cachespeicher | |
DE60210633T2 (de) | Verfahren und vorrichtungen zur verbesserung des durchsatzes von eingebetteten prozessoren auf cache-basis durch umschalten von tasks als reaktion auf eine cache-verfehlung | |
DE4218003C2 (de) | Cache-Steuereinrichtung für ein sekundäres Cache-Speichersystem | |
DE68911398T2 (de) | Methode und digitaler computer zum vorausholen von vektordaten aus dem speicher in einem für skalaverarbeitung bestimmten speichersystem. | |
DE68902193T2 (de) | Datenspeicheranordnung. | |
DE60131864T2 (de) | Speichern von stapeloperanden in registern | |
DE10085373B4 (de) | Verfahren zum Flushen von Cache-Zeilen | |
DE69032276T2 (de) | Verfahren und Anordnung zur Verbesserung der Datenspeicherungsgeschwindigkeit eines Computersystems | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE69126756T2 (de) | Prüfbare RAM-Architektur in einem Mikroprozessor mit eingebettetem Cache-Speicher | |
DE112005002180T5 (de) | Lösen von Cachekonflikten | |
DE19506734A1 (de) | Computersystem und Verfahren zum Aufrechterhalten der Speicherkonsistenz in einer Busanforderungswarteschlange | |
DE10393803T5 (de) | Verfahren und Vorrichtung zum Bestimmen einer Seitenverwaltungsimplementierung bei dynamischem Speicher mit wahlfreiem Zugriff | |
DE60026068T2 (de) | System für externe transaktionen mit dynamischen prioritäten | |
DE3502147C2 (de) | ||
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
DE10113191B4 (de) | Spekulatives Vorausräumen von Daten in einem Prozessorsystem mit einer ungeordneten Ausführung | |
DE3852263T2 (de) | System zur schnellen Auswahl von nicht-cachespeicherbaren Adressenbereichen mittels einer programmierbaren Logikmatrix. | |
DE4134392A1 (de) | Verfahren und vorrichtung zum ungueltigmachen von befehlen in geraeten mit parallelverarbeitung | |
DE19533962B4 (de) | Schaltung zum vorauseilenden Holen von Befehlen/Daten mit einem Prefetch-Cache für Befehle/Daten, auf die nicht zugegriffen worden ist | |
WO2015086357A1 (de) | Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts | |
DE112006000514T5 (de) | CPU-Architektur mit einzelnem Zyklus und geringer Leistungsaufnahme | |
DE3700800C2 (de) | Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |