DE10015693A1 - Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung - Google Patents

Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung

Info

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
Application number
DE10015693A
Other languages
English (en)
Inventor
Nikolaus Demharter
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Fujitsu Technology Solutions GmbH
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 Fujitsu Technology Solutions GmbH filed Critical Fujitsu Technology Solutions GmbH
Priority to DE10015693A priority Critical patent/DE10015693A1/de
Priority to EP01923523A priority patent/EP1269314A2/de
Priority to US10/204,421 priority patent/US7080205B2/en
Priority to PCT/DE2001/001067 priority patent/WO2001073552A2/de
Publication of DE10015693A1 publication Critical patent/DE10015693A1/de
Ceased 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches 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.
Bezugszeichenliste
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
dadurch gekennzeichnet, daß ein zweiter Speicherbereich (6) in dem Speicher (3) angeord­ net ist und ein zweiter Cache (7) den zweiten Speicherbe­ reich (6) 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),
dadurch gekennzeichnet, daß ein zweiter Speicherbereich (6) des Speichers (3) in einem zweiten Cache (7) zwischengespeichert wird.
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.
DE10015693A 2000-03-29 2000-03-29 Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung Ceased DE10015693A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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