DE60312453T2 - Recheneinheit und Datenladeverfahren zur schnellen Initialisierung der Recheneinheit - Google Patents

Recheneinheit und Datenladeverfahren zur schnellen Initialisierung der Recheneinheit Download PDF

Info

Publication number
DE60312453T2
DE60312453T2 DE60312453T DE60312453T DE60312453T2 DE 60312453 T2 DE60312453 T2 DE 60312453T2 DE 60312453 T DE60312453 T DE 60312453T DE 60312453 T DE60312453 T DE 60312453T DE 60312453 T2 DE60312453 T2 DE 60312453T2
Authority
DE
Germany
Prior art keywords
data
ram
cache
cpu
volatile 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.)
Expired - Lifetime
Application number
DE60312453T
Other languages
English (en)
Other versions
DE60312453D1 (de
Inventor
Shinsuke Kato
Kiyoshi Owada
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE60312453D1 publication Critical patent/DE60312453D1/de
Publication of DE60312453T2 publication Critical patent/DE60312453T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)

Description

  • Hintergrund der Erfindung
  • Bereich der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Recheneinheit mit reduzierter Startzeit. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren zum Laden von Daten in einer Recheneinheit, umfassend eine Zentraleinheit (CPU).
  • Beschreibung des Stands der Technik
  • Konventionell greift die CPU in einer Recheneinheit, umfassend eine CPU, einen Cache, einen RAM und einen ROM, auf gewünschte Daten zu, indem sie diese vom Cache liest, wenn die gewünschten Daten im Cache sind, oder indem sie diese aus dem RAM liest, wenn die gewünschten Daten nicht im Cache sondern im RAM sind. Wenn die gewünschten Daten weder im Cache noch im RAM sind, kopiert die CPU die gewünschten Daten vom ROM in den RAM, und liest dann die Daten aus dem RAM (siehe z. B. Seite 2, 1 der offen gelegten japanischen Patentpublikation Nr. 05-242057 ).
  • 3 ist ein Ablaufdiagramm, das ein Startverfahren für ein Betriebssystem (OS) zeigt.
  • Wenn das Systemstartverfahren durch Einschalten des Stroms (S101) ausgelöst wird, bestimmt die CPU eine den Daten zugeordnete Adresse (S102), um gewünschte Daten zu lesen, und ermittelt dann folgerichtig, ob die Daten im Cache oder im RAM sind, indem sie diese beiden Elemente in dieser Reihenfolge (S103 und S105) überprüft. Wenn die gewünschten Daten im Cache sind, liest sie die CPU aus dem Cache (S104). Wenn die gewünschten Daten nicht im Cache sondern im RAM sind, liest sie die CPU aus dem RAM (S108).
  • Wenn die gewünschten Daten weder im Cache noch im RAM sind, beginnt die CPU, notwendige Daten (welche wenigstens gewünschte Daten enthalten) aus dem ROM in den RAM (S106) zu kopieren, und wartet, bis die Kopie abgeschlossen ist (S107). Nach Abschluss der Kopie liest die CPU die gewünschten Daten vom RAM (S108). Die CPU verarbeitet dann die gelesenen Daten (S109).
  • Es werden keine Daten in einem flüchtigen Speicher, wie z. B. einem Cache oder einem RAM, zum Zeitpunkt des Startverfahrens zurückgelassen, und daher erfordert ein konventionelles System, dass jedes Mal das System gestartet wird, wenn der RAM durch Kopieren von Daten aus dem ROM in den RAM initialisiert wird (wie hierin verwendet, bedeutet „Initialisierung", für das Startverfahren notwendige Daten in den RAM zu schreiben). Nach der Initialisierung des RAM's führt die CPU das Startverfahren durch Lesen der für das Startverfahren notwendigen Daten aus dem RAM aus. Mit anderen Worten ist eine CPU in einem konventionellen System unfähig, mit dem Startverfahren fortzufahren, bis das Kopieren der Daten aus dem ROM in den RAM abgeschlossen ist, und konsequenterweise benötigt das Startverfahren eine beachtliche Zeit.
  • Es könnte möglich sein, Daten im RAM in einem nicht-flüchtigen Speicher zeitweise zum Zeitpunkt des Aufhängens zu speichern, und die Daten beim Fortsetzen aus einem aufgehängten Zustand zurück in den RAM zu schreiben.
  • Allerdings tritt auch in diesem Fall das gleiche wie das mit dem Startverfahren verbundene Problem auf. Dies ist, dass die CPU unfähig ist, irgendein solche Daten verwendendes Verfah ren auszuführen, bis die im nicht-flüchtigen Speicher gespeicherten Daten zurück in den RAM geschrieben wurden.
  • Das Dokument „Methode zum Testen eines einen statischen RAM verwendenden PCs" (IBM technische amtliche Offenlegung, IBM Corp. New York, US, Band 37, Nr. 7, 1 Juli 1994 (1994-07-01), Seite 107–108) beschreibt ein System, in welchem der auf dem Chip angebrachte Cache als ein Speicher während des Startverfahrens verwendet wird. Der Cacheinhalt wird nach der RAM-Initialisierung in den RAM kopiert.
  • Zusammenfassung der Erfindung
  • Daher ist es eine Aufgabe der vorliegenden Erfindung, die für das Startverfahren erforderliche Zeit und die für ein Fortsetzungsverfahren aus dem Aufhängen erforderliche Zeit in einer Recheneinheit zu reduzieren, welche eine CPU, einen Cache, einen RAM und einen nicht-flüchtigen Speicher umfasst.
  • Die vorliegende Erfindung hat die folgenden Funktionen, um die oben erwähnte Aufgabe zu lösen. Ein Aspekt der vorliegenden Erfindung ist auf eine Recheneinheit mit einer reduzierten Startzeit gerichtet, welche ein Ermittlungsmittel, eine Schaltvorrichtung und einen Cache-Controller umfasst. Das Ermittlungsmittel ermittelt, ob durch eine CPU zu lesende Daten im RAM sind. Abhängig von einem Ergebnis der Ermittlung durch das Ermittlungsmittel, erlaubt die Schaltvorrichtung der CPU, die gewünschten Daten direkt aus einem nicht-flüchtigen Speicher zu lesen. Der Cache-Controller steuert einen Cache so, dass der RAM gestützt auf den im Cache gespeicherten Cachedaten bezüglich der gewünschten Daten initialisiert wird.
  • Gemäß dieses Aspekts der vorliegenden Erfindung kann die CPU direkt zum Zeitpunkt eines Starts oder zum Zeitpunkts einer Fortsetzung aus einem aufgehängten Zustand für das Startver fahren notwendige Daten aus dem nicht-flüchtigen Speicher beziehen und dann unverzüglich das Verfahren starten, ohne dass es erforderlich ist zu warten, bis eine Kopie der Daten aus einem nicht-flüchtigen Speicher in den RAM abgeschlossen ist. Daher kann die für ein Startverfahren oder ein Fortsetzungsverfahren nach dem Aufhängen erforderliche Zeit reduziert werden.
  • Darüber hinaus wird die Ladezeit zu Zeiten reduziert, wenn die direkt aus dem nicht-flüchtigen Speicher gelesenen Daten wieder abgerufen werden, weil der RAM gestützt auf Cachedaten bezüglich Daten, welche direkt durch die CPU aus dem nicht-flüchtigen Speicher gelesen wurden, initialisiert wird. Dementsprechend kann nicht nur die für ein Startverfahren oder ein Fortsetzungsverfahren nach dem Aufhängen erforderliche Zeit reduziert werden, sondern auch die für Verfahren erforderliche Zeit kann reduziert werden, welche auf das Startverfahren oder das Fortsetzungsverfahren folgen.
  • Diese und andere Aufgaben, Funktionen, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung der vorliegenden Erfindung ersichtlicher werden, wenn sie in Verbindung mit den beiliegenden Zeichnungen gebracht werden.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm, das die Konfiguration einer Recheneinheit gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ist ein Ablaufdiagramm, das den Betrieb der Recheneinheit gemäß einer Ausführungsform der vorliegenden Erfindung zeigt; und
  • 3 ist ein Ablaufdiagramm, das den Betrieb eines konventionellen Systems zeigt.
  • Beschreibung der bevorzugten Ausführungsformen
  • Eine Ausführungsform der vorliegenden Erfindung wird im Folgenden beschrieben.
  • 1 ist ein Blockdiagramm, das die Konfiguration einer Recheneinheit gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die Recheneinheit enthält eine CPU 11, einen Cache 12, einen ROM 13, einen RAM 14, eine Schaltvorrichtung 16 und einen Cache-Controller 19. Diese einzelnen Elemente sind miteinander z. B. durch einen Bus verbunden.
  • Zuerst werden die Aufgaben der einzelnen Elemente zum Startzeitpunkt beschrieben.
  • Um ein Startverfahren auszuführen, greift die CPU 11 auf Daten für ein Startverfahren zu. Dieser Zugriff wird durch Ausstellen einer Adresse im RAM 14 ausgeführt.
  • Der Cache 12 ist ein flüchtiger Speicher, so dass alle darin gehaltenen Daten verloren sind, wenn der Strom ausgeschaltet wird. Der Cache 12 ist im Allgemeinen in der Speicherkapazität kleiner als der RAM 14, hat aber eine schnellere Zugriffsrate als der RAM 14. Die durch die CPU 11 aus dem RAM 14, etc., gelesenen Daten werden zeitweise im Cache 12 gespeichert, und die CPU 11 greift erst auf den Cache zu, wenn sie Daten erhält.
  • Der Cache 12 speichert Cache-Kennzeichnungen 17 mit zugehörigen Cachedaten, welche zeitweise gespeicherte Daten sind. Die Cache-Kennzeichnung 17 enthält ein dirty bit zum Angeben, ob Cachedaten aktualisiert wurden oder nicht. Wenn Daten über eine vorgegebene Adresse im RAM 14 im Cache 12 als Cachedaten gespeichert werden, wird die Adresse im RAM 14 in einer Cache-Kennzeichnung 17 mit solchen zugeordneten Cachedaten gespeichert. Zusätzlich wird das dirty bit 18 der Cache-Kennzeichnung 17 mit den zugehörigen Cachedaten auf „dirty" gesetzt, wenn diese Cachedaten durch die CPU 11 aktualisiert werden. Wenn Daten im Cache 12 ersetzt werden, muss eine auf Cachedaten ausgeführte Aktualisierung an den Originaldaten im RAM 14 wiedergegeben werden. Zu diesem Zweck schreibt die CPU 11 für jeden Teil der Cachedaten, dessen dirty bit 18 auf „dirty" gesetzt ist, die Daten zur Adresse im RAM 14 mit den aktualisierten Cachedaten zurück, wie durch die Cache-Kennzeichnung 17 angegeben.
  • Der ROM 13 hat eine langsamere Zugriffsrate als der RAM 14, aber da der ROM 13 ein nicht-flüchtiger Speicher ist, der Daten speichern kann, auch wenn der Strom ausgeschaltet wird, wird der ROM 13 verwendet, um für ein Startverfahren notwendige Daten zu speichern. In der vorliegenden Ausführungsform werden für das Startverfahren notwendige Daten, die im ROM 13 gespeichert sind, direkt der CPU 11 durch die Funktion der Schaltvorrichtung 16 zur Verfügung gestellt, ohne zuerst in den RAM 14 kopiert zu werden, wie später beschrieben werden wird.
  • Der RAM 14 ist ein flüchtiger Speicher, so dass darin gespeicherte Daten verloren gehen, wenn der Strom ausgeschaltet wird, und hat im Allgemeinen eine größere Speicherkapazität als der Cache 12. Zusätzlich ist die Zugriffsrate des RAM's 14 langsamer als die des Caches 12 und schneller als die des ROM's 13. Wenn die CPU 11 Daten verarbeitet, wird ein Teil der Daten aus dem ROM 13 in den RAM 14 kopiert, und die CPU 11 greift auf die Daten zu, die in den RAM 14 kopiert wurden. Es ist zu beachten, dass die Initialisierung des RAM's 14 (d.h., für das Startverfahren notwendige Daten werden in den RAM geschrieben) erforderlich ist, da keine Daten im RAM 14 zum Zeitpunkt eines Systemstarts gespeichert sind, und daher für das Startverfahren notwendige Daten aus dem ROM 13 in den RAM 14 kopiert werden.
  • Eine RAM-Datenfeststell-Bittabelle 15 ist im RAM 14 gespeichert, um zu ermitteln, ob Daten im RAM 14 gespeichert sind. Ein Bit der RAM-Datenfeststell-Bittabelle 15 (im Folgenden als „RAM-Datenermittlungsbit" bezeichnet) korrespondiert zu allen 32 Bytes des Speicherbereichs des RAM's 14. Wenn keine Daten in einem zugeordnetem Speicherbereich des RAM's 14 gespeichert sind, ist das RAM-Datenermittlungsbit „0". Sobald Daten in solch einen Bereich geschrieben werden, wechselt das RAM-Datenermittlungsbit auf „1". Zum Zeitpunkt eines Systemstarts sind keine Daten im RAM 14 gespeichert, und daher sind alle Bits der RAM-Datenfeststell-Bittabelle 15 „0". Durch Bezugnahme auf die RAM-Datenfeststell-Bittabelle 15 kann ohne Verzögerung ermittelt werden, ob Daten im RAM 14 gespeichert sind oder nicht.
  • Wenn die CPU 11 versucht, auf eine festgelegte Adresse im RAM 14 zu zugreifen, ermittelt die Schaltvorrichtung 16 durch Bezugnahme auf die RAM-Datenfeststell-Bittabelle 15, ob Daten in der Adresse im durch die CPU 11 gekennzeichnetem RAM 14 vorliegen. Wenn alle Daten vorliegen, erlaubt die Schaltvorrichtung 16 der CPU 11, die Daten aus dem RAM 14 zu lesen. Wenn keine Daten vorliegen, erlaubt die Schaltvorrichtung 16 der CPU 11, die zur Adresse im durch die CPU 11 gekennzeichnetem RAM 14 zugeordneten Daten im ROM 13 direkt zu lesen. In dem Fall, wenn die Adresse im durch die CPU 11 gekennzeichnetem RAM 14 nicht identisch mit einer Adresse im ROM 13 ist, über die zur Adresse im RAM 14 zugeordnete Daten gespeichert sind, könnte die Schaltvorrichtung 16 eine Adresse im ROM 13 ermitteln, die mit der Adresse im durch die CPU 11 gekennzeichnetem RAM 14 korrespondiert, und erlaubt der CPU 11, auf diese Adresse im ROM 13 zuzugreifen. Die Daten, die direkt durch die CPU 11 aus dem ROM 13 gelesen werden, werden zeitweise im Cache 12 gespeichert.
  • Wenn es die Schaltvorrichtung 16 der CPU 11 erlaubt hat, Daten direkt aus dem ROM 13 zu lesen, kontrolliert der Cache-Controller 19 eine Cache-Kennzeichnung 17 im Cache 12 wie folgt. Besonders der Cache-Controller 19 registriert in einer Cache-Kennzeichnung 17 die Adresse im RAM 14, auf welche die CPU 11 ursprünglich beabsichtigte, zu zugreifen, und setzt auch ein dirty bit 18 der Cache-Kennzeichnung 17 auf „dirty". Diese Funktion des Cache-Controllers 19 und des Mechanismuses des Caches 12 realisiert zusammen eine Initialisierung des RAM's 14 wie im Folgenden beschrieben.
  • Besonders das Prinzip der Initialisierung des RAM's 14 der vorliegenden Ausführungsform ist beschrieben. In einem konventionellen System wird die Initialisierung des RAM's 14 durch Kopieren der für ein Startverfahren notwendigen Daten aus dem ROM 13 in den RAM 14 ausgeführt. Andererseits wird die Initialisierung des RAM's 14 in der vorliegenden Ausführungsform nicht zum Zeitpunkt eines Startverfahrens ausgeführt, da für ein Startverfahren notwendige Daten direkt durch die CPU 11 aus dem ROM 13 gelesen werden. Währenddessen, gemäß des Mechanismuses eines bestehenden Caches, wird das zu den Cachedaten zugeordnete dirty bit auf „dirty" gesetzt, wenn Cachedaten aktualisiert werden. Wenn Daten im Cache ersetzt werden, werden für jeden Teil der Cachedaten, dessen dirty bit auf „dirty" gesetzt ist, die im RAM gespeicherten Originaldaten mit den aktualisierten Cachedaten zurück geschrieben. In der vorliegenden Ausführungsform realisiert der Cache-Controller 19 eine Initialisierung des RAM's 14 durch effektives Anwenden des Mechanismuses eines bestehenden Caches durch Kontrollieren der Cache-Kennzeichnung 17 in der oben beschriebenen Art und Weise. Das heißt, dass in der vorliegenden Ausführungsform direkt durch die CPU 11 aus dem ROM 13 gelesene Daten zuerst im Cache 12 gespeichert werden, und danach werden alle solche Daten (ungeachtet, ob die Daten überhaupt aktualisiert wurden oder nicht) über ihre zugehörigen Originaladressen im RAM 14 gespeichert, wodurch eine Initialisierung des RAM's 14 ausgeführt wird.
  • Als Nächstes, mit Bezug auf das in 2 gezeigte Ablaufdiagramm, wird der Betrieb der Recheneinheit zum Startzeitpunkt beschrieben.
  • Wenn das Systemstartverfahren durch Einschalten des Stroms (S201) initialisiert wird, bestimmt die CPU 11 eine den gewünschten Daten (S202) zugeordnete Adresse, um gewünschte Daten zu lesen, und ermittelt dann, ob die Daten im Cache 12 (S203) sind. Wenn die Daten im Cache 12 wären, würde die CPU 11 sie lesen (S204), aber es gibt keine Daten im Cache 12 zum Startzeitpunkt. Wenn daher die CPU 11 versucht, auf eine festgelegte Adresse im RAM 14 zu zugreifen, ermittelt die Schaltvorrichtung 16 durch Bezugnahme auf die RAM-Datenfeststell-Bittabelle 15, ob Daten über die festgelegte Adresse im RAM 14 (S205) vorliegen. Wenn Daten im RAM 14 vorliegen würden, würde die Schaltvorrichtung 16 der CPU 11 erlauben, sie zu lesen (S206), aber es gibt zum Startzeitpunkt keine Daten im RAM 14. Daher erlaubt die Schaltvorrichtung 16 der CPU 11 stattdessen die Daten direkt aus dem ROM 13 zu lesen (S207). Die an diesem Punkt gelesenen Daten werden im Cache 12 als Cachedaten gespeichert, und daher kontrolliert der Cache-Controller 19 eine zu solchen im Cache 12 (S208) gespeicherten Cachedaten zugeordnete Cache-Kennzeichnung 17. Die CPU 11 verarbeitet dann die gelesenen Daten (S209).
  • Wie oben gemäß der vorliegenden Ausführungsform beschrieben, wird die Startzeit zum Zeitpunkt des Systemstartverfahrens, das Verfahren zum Kopieren von Daten aus dem ROM 13 in den RAM 14, reduziert, da die CPU 11 fähig ist, das Startverfahren ohne Notwendigkeit des Ausführens zu initialisieren. Zusätzlich, da die direkt durch die CPU 11 aus dem ROM 13 gelesenen Daten zeitweise im Cache 12 gespeichert werden und danach über ihre zugehörigen Originaladressen im RAM 14 gespeichert werden, ist es möglich, eine Initialisierung des RAM's 14 zu realisieren und auch die Zugriffsrate auf Daten nach dem Startverfahren zu verbessern.
  • Oben ist der Betrieb einer Recheneinheit zum Zeitpunkt eines Systemstarts beschrieben, der unverzüglich nach dem Einschalten des Stroms erfolgt, aber die vorliegende Erfindung kann auch in ähnlicher Weise zum Zeitpunkt des Startens eines Anwendungsprogramms oder zum Zeitpunkt des Ausführens eines Fortsetzungsverfahrens nach dem Aufhängen Anwendung finden. In solchen Fällen kann auch das Verfahren zum Kopieren von Daten aus einem nicht-flüchtigem Speicher in den RAM 14 weggelassen werden, und daher ist es möglich, die Startzeit eines Anwendungsprogramms und die Fortsetzungszeit nach dem Aufhängen zu reduzieren. Im Fall des Startens einer Anwendung ist es vorzuziehen, Bits der RAM-Datenfeststell-Bittabelle 15 im Voraus zu säubern, die Bereichen im RAM 14 zugeordnet sind, in die Daten solch einer Anwendung zu laden sind.
  • Ferner führt die CPU 11 in der vorliegenden Ausführungsform ein Startverfahren durch Verwenden der im ROM 13 gespeicherten Daten aus, aber die vorliegende Erfindung ist nicht darauf beschränkt. Die Erfindung kann auch in dem Fall angewendet werden, bei dem die CPU 11 ein Startverfahren durch Verwenden der in irgendeinem nicht-flüchtigen Speicher gespeicherten Daten ausführt. Z. B. können dieselben vorteilhaften Effekte erreicht werden, auch wenn die Erfindung in dem Fall angewendet wird, bei dem die CPU 11 ein in einer Speicherkarte gespeichertes Anwendungsprogramm startet.
  • In der vorliegenden Ausführungsform ermittelt die Schaltvorrichtung 16, ob durch die CPU 11 zu lesende Daten im RAM 14 sind, aber die vorliegende Ausführungsform ist nicht darauf beschränkt. Mittel zum Ermitteln, ob durch die CPU 11 zu lesende Daten im RAM 14 sind, können unabhängig von der Schaltvorrichtung 16 zur Verfügung gestellt werden. Ferner kann ein Mittel zum Ermitteln, ob durch die CPU 11 zu lesende Daten im RAM 14 sind, die CPU 11 sein.
  • In der vorliegenden Ausführungsform ermittelt die Schaltvorrichtung 16 durch Bezugnahme auf die RAM-Datenfeststell-Bittabelle 15, ob durch die CPU 11 zu lesende Daten im RAM 14 sind, aber die Ermittlung kann auf andere Arten erfolgen. Z. B. kann durch Vorbereiten und durch Bezugnahme auf eine Ein-Bit-Kennzeichnung zum Angeben, ob alle Daten in einen Bereich im RAM 14 geschrieben werden, ermittelt werden, ob Daten im RAM 14 vorliegen oder nicht. Ferner kann die CPU 11 in der Praxis auf den Speicherbereich des RAM's 14 zugreifen, um zu ermitteln, ob Daten im RAM 14 sind.
  • In der vorliegenden Ausführungsform wird die Initialisierung des RAM's 14 in einer Art und Weise realisiert, so dass der Cache-Controller 19 die dirty bits 18 der Cache-Kennzeichnung 17 kontrolliert, aber die vorliegende Erfindung ist nicht darauf beschränkt. Z. B. kann der Cache-Controller 19 alle Cachedaten, die aus dem Cache 12 zum Zeitpunkt des Ersetzens der Cachedaten gelöscht werden, in den RAM 14 schreiben.
  • In der vorliegenden Ausführungsform ist die RAM-Datenfeststell-Bittabelle 15 im RAM 14 gespeichert, aber die RAM-Datenfeststell-Bittabelle 15 kann in jeder von der RAM 14 verschiedenen Speichervorrichtung gespeichert werden.
  • Die Schaltvorrichtung 16 kann realisiert werden, indem es der CPU 11 erlaubt wird, ein Programm auszuführen, das es der CPU 11 erlaubt, wie eine Schaltvorrichtung 16 zu funktionieren, oder ein Teil oder alle der Funktionen der Schaltvorrichtung 16 können durch Hardware realisiert werden. Dasselbe trifft auf den Cache-Controller 19 zu.
  • Während die Erfindung im Detail beschrieben wurde, ist die vorangehende Beschreibung in allen Aspekten veranschaulichend und nicht einschränkend. Es ist verständlich, dass zahlreiche andere Modifikationen und Variationen entworfen werden können, ohne vom Anwendungsbereich der Erfindung abzuweichen, wie in den angehängten Ansprüchen definiert.

Claims (6)

  1. Recheneinheit mit reduzierter Startzeit mit einer CPU (11), einem Cache (12) zum Speichern von Cachedaten, einem RAM (14), und einem nicht-flüchtigen Speicher (13), wobei die Recheneinheit umfasst: ein Ermittlungsmittel (16) zum Ermitteln, ob von der CPU zu lesende Daten im RAM sind; eine Schaltvorrichtung (16), um der CPU das Lesen der Daten aus dem nicht-flüchtigen Speicher ohne Bezugnahme auf das RAM in Abhängigkeit eines Ergebnisses der Ermittlung durch das Ermittlungsmittel zu erlauben; und einen Cache-Controller (19) zum Einstellen aller dirty bits der den Cachedaten zugeordneten Cache-Kennzeichnungen auf "dirty", falls die Daten ohne in das RAM kopiert zu werden im Cache als Cachedaten vom nicht-flüchtigen Speicher gespeichert werden.
  2. Recheneinheit mit reduzierter Startzeit nach Anspruch 1, wobei das Ermittlungsmittel das Ermitteln unter Bezugnahme auf eine RAM-Datenfeststell-Bittabelle (15) durchführt, in welcher Information bezüglich des Vorliegens oder Nicht-Vorliegens von Daten im RAM aufbewahrt ist.
  3. Recheneinheit mit reduzierter Startzeit nach Anspruch 1, wobei die Schaltvorrichtung eine Funktion hat, eine zu den Daten korrespondierende Adresse im nicht-flüchtigen Speicher zu ermitteln, wenn die Daten nicht im RAM sind.
  4. Recheneinheit mit reduzierter Startzeit nach Anspruch 1, wobei der Cache-Controller eine Funktion hat, in eine den Cachedaten zugeordnete Cache-Kennzeichnung (17) eine zu den Cachedaten korrespondierende Adresse in das RAM zu schreiben, wenn die Daten im Cache als Cachedaten gespeichert sind.
  5. Recheneinheit mit reduzierter Startzeit nach Anspruch 1, wobei der nicht-flüchtige Speicher ein ROM ist.
  6. Verfahren zum Laden von Daten in eine Recheneinheit mit einer CPU (11), einem Cache (12), einem RAM (14) und einem nicht-flüchtigen Speicher (13), wobei das Verfahren umfasst: Ermitteln, ob durch die CPU zu lesende Daten im RAM sind (S205); Erlauben der CPU, die Daten vom nicht-flüchtigen Speicher ohne Bezugnahme auf das RAM in Abhängigkeit eines Ergebnisses der Ermittlung zu lesen (S207); und Einstellen aller dirty bits der den Cachedaten zugeordneten Cache-Kennzeichnungen auf "dirty", falls Daten ohne in das RAM kopiert zu werden im Cache als Cachedaten vom nicht-flüchtigen Speicher gespeichert werden.
DE60312453T 2002-10-09 2003-10-07 Recheneinheit und Datenladeverfahren zur schnellen Initialisierung der Recheneinheit Expired - Lifetime DE60312453T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002296229 2002-10-09
JP2002296229 2002-10-09

Publications (2)

Publication Number Publication Date
DE60312453D1 DE60312453D1 (de) 2007-04-26
DE60312453T2 true DE60312453T2 (de) 2008-01-10

Family

ID=32025538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60312453T Expired - Lifetime DE60312453T2 (de) 2002-10-09 2003-10-07 Recheneinheit und Datenladeverfahren zur schnellen Initialisierung der Recheneinheit

Country Status (4)

Country Link
US (1) US7107407B2 (de)
EP (1) EP1408406B1 (de)
AT (1) ATE357018T1 (de)
DE (1) DE60312453T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386676B2 (en) * 2005-01-21 2008-06-10 International Buiness Machines Coporation Data coherence system
US8181046B2 (en) * 2008-10-29 2012-05-15 Sandisk Il Ltd. Transparent self-hibernation of non-volatile memory system
KR20130033230A (ko) 2011-09-26 2013-04-03 삼성전자주식회사 하이브리드 메모리 장치, 이를 포함하는 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
US9684520B2 (en) * 2011-10-20 2017-06-20 Smart Modular Technologies, Inc. Computing system with non-disruptive fast memory restore mechanism and method of operation thereof
JP5984500B2 (ja) 2011-11-30 2016-09-06 三菱電機株式会社 情報処理装置、放送受信装置及びソフトウェア起動方法
US10055236B2 (en) * 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
US11966613B2 (en) * 2021-11-24 2024-04-23 Western Digital Technologies, Inc. Selective device power state recovery method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242057A (ja) 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
US5809531A (en) * 1992-09-21 1998-09-15 Intel Corporation Computer system for executing programs using an internal cache without accessing external RAM
US6506604B2 (en) * 1993-06-11 2003-01-14 Cell Genesys, Inc. Method for production of high titer virus and high efficiency retroviral mediated transduction of mammalian cells
JP3563768B2 (ja) 1994-05-31 2004-09-08 株式会社ルネサステクノロジ Romプログラム変更装置
US6421776B1 (en) * 1994-10-14 2002-07-16 International Business Machines Corporation Data processor having BIOS packing compression/decompression architecture
US5832263A (en) * 1996-03-15 1998-11-03 Digidox, Inc. System and method for in-place modification of information recorded in read-only storage using modifiable non-volatile storage associated with an agent
JP2659007B2 (ja) * 1996-06-17 1997-09-30 株式会社日立製作所 情報処理方法及び装置
JP3173407B2 (ja) * 1997-02-05 2001-06-04 日本電気株式会社 フラッシュeeprom内蔵マイクロコンピュータ
US6330667B1 (en) * 1998-06-05 2001-12-11 Micron Technology, Inc. System for read only memory shadowing circuit for copying a quantity of rom data to the ram prior to initialization of the computer system
US6868472B1 (en) * 1999-10-01 2005-03-15 Fujitsu Limited Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory
US6604195B1 (en) * 2000-06-28 2003-08-05 Cisco Technology, Inc. Method and apparatus to use non-volatile read/write memory for bootstrap code and processes
US6704840B2 (en) * 2001-06-19 2004-03-09 Intel Corporation Computer system and method of computer initialization with caching of option BIOS
US7373491B2 (en) * 2002-02-27 2008-05-13 Rockwell Automation Technologies, Inc. Processor with versatile external memory interface
US7904897B2 (en) * 2002-08-08 2011-03-08 Rudelic John C Executing applications from a semiconductor nonvolatile memory

Also Published As

Publication number Publication date
EP1408406A3 (de) 2006-05-10
ATE357018T1 (de) 2007-04-15
US7107407B2 (en) 2006-09-12
EP1408406A2 (de) 2004-04-14
EP1408406B1 (de) 2007-03-14
DE60312453D1 (de) 2007-04-26
US20040073761A1 (en) 2004-04-15

Similar Documents

Publication Publication Date Title
DE60103414T2 (de) Cpu, die auf ein erweitertes registerset in einem erweiterten registermodus zugreift und entsprechendes verfahren
DE60005563T2 (de) Rechnersysteminitialisierung durch in einem speicher mit sequentiellem zugriff gespeicherten urlade-code
DE69723286T2 (de) Echtzeitprogramm-sprachbeschleuniger
DE3151745C2 (de)
DE112005003098B4 (de) Verfahren und Vorrichtung zum Zugreifen auf einen physikalischen Speicher von einer CPU oder einem Prozessorelement mit hoher Leistung
DE69133302T2 (de) Registerabbildung in einem einzigen Taktzyklus
DE112005001798B4 (de) Verwalten von Prozessorressourcen während Architekturereignissen
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE19681660C2 (de) Verfahren zum Ausführen von Befehlssätzen, die Operationen an verschiedenen Datenarten und Register eines gemeinsamen logischen Registersatzes spezifizieren
DE69633166T2 (de) Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration
DE60008929T2 (de) Schnellstart eines mikroprozessorbasierten systems
DE2317870C2 (de) Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage
DE112007001171T5 (de) Verfahren für virtualisierten Transaktionsspeicher bei globalem Überlauf
DE112010005821T5 (de) Kontextwechsel
DE2414311C2 (de) Speicherschutzeinrichtung
DE112011105700T5 (de) Schneller Ruhezustand- und schnelle Wiederinbetriebnahme für eine Plattform von Computersystem
DE112010004963T5 (de) Synchronisieren von SIMD Vektoren
DE102008058209A1 (de) Anordnung und Verfahren um zu verhindern, dass ein Anwenderbetriebssystem in einem VMM System eine Anordnung abschaltet, die von einem Servicebetriebssystem verwendet wird
DE112005002672T5 (de) Dynamische Neukonfiguration eines Cache-Speichers
DE4215063A1 (de) Einrichtung und verfahren zum seitenwechsel bei einem nicht-fluechtigen speicher
DE112006002582T5 (de) Bewirken einer Zusatzspeicherung in einem User-Levelspeicher
DE102019106126A1 (de) Massenspeicherungsvorrichtung mit vom Host eingeleiteter Pufferausräumung
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE602004010399T2 (de) Neuadressierbare virtuelle dma-steuer und statusregister
DE102010053095A1 (de) Adaptive optimierte Compare-Exchange-Operation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP