DE69627814T2 - System zum bereitstellen eines bios für den hauptrechner - Google Patents

System zum bereitstellen eines bios für den hauptrechner Download PDF

Info

Publication number
DE69627814T2
DE69627814T2 DE69627814T DE69627814T DE69627814T2 DE 69627814 T2 DE69627814 T2 DE 69627814T2 DE 69627814 T DE69627814 T DE 69627814T DE 69627814 T DE69627814 T DE 69627814T DE 69627814 T2 DE69627814 T2 DE 69627814T2
Authority
DE
Germany
Prior art keywords
bios
mass storage
expansion
computer
computer peripheral
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
DE69627814T
Other languages
English (en)
Other versions
DE69627814D1 (de
Inventor
D. Tracy HARMER
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE69627814D1 publication Critical patent/DE69627814D1/de
Publication of DE69627814T2 publication Critical patent/DE69627814T2/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

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)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren zum Betreiben eines Computersystems, das einen Hostrechner umfaßt, der einen Direktzugriffsspeicher (RAM) besitzt und ein Basic Input Output System (BIOS) verwendet, um den Hostrechner zu betreiben. Insbesondere speichert das Verfahren der Erfindung wenigstens einen Teil des BIOS, das zum Betreiben des Systems verwendet wird, in dem Massenspeicher eines Computerperipheriegeräts mit Massenspeicher statt in einem Festwertspeicher (ROM). Das in dem Massenspeichermedium gespeicherte BIOS könnte Erweiterungs-BIOS sein, das einem besonderen Computerperipheriegerät zugeordnet ist und/oder System-BIOS sein, das dem Hostrechner zugeordnet ist. ROM bezeichnet entweder einen System-ROM, der vom Hostrechner bereitgestellt wird, oder einen peripheren ROM, der von einem Peripheriegerät (entweder auf einer Karte oder in dem Gerät selbst) bereitgestellt wird.
  • Die Computerindustrie ist in ständiger Entwicklung begriffen und stellt immer schnellere Prozessoren, größere Speicherkapazitäten und eine breite Vielfalt von Peripheriegeräten zur Verfügung, die mit einem Hostrechner verbunden werden könnten. Infolge dieser zunehmenden Geschwindigkeiten und Kapazitäten ist eine der Entwicklungen der Industrie eine periphere Busimplementierung, die als Peripherie-Komponenten-Zwischenverbindung (PCI: Peripheral Components Interface (engl.)) bekannt ist. Dieser periphere Bus ist entwickelt worden, um einen Erweiterungsmechanismus zwischen dem Hostrechner und Computerperipheriegeräten oder Erweiterungskarten zu schaffen.
  • Der PCI-Bus ist so beschaffen, daß er sowohl vom Prozessor als auch von der Computersystemarchitektur unabhängig ist, wobei die elektrischen, Protokoll- und Hardware-Schnittstellen-Anforderungen ungeachtet der verwendeten CPU oder der Computerarchitektur des Hostsystems gleich bleiben. Dies ermöglicht, daß das gleiche Computerperipheriegerät an viele verschiedene Hostsysteme angeschlossen werden kann, ohne daß verschiedene Versionen des Geräts für jeden Hostsystemtyp, mit dem das Gerät verwendet werden soll, erforderlich sind. Da der PCI-Bus prozessor- und computerarchitekturunabhängig ist, ist es erforderlich, daß jedes Hostsystem einen Mechanismus bereitstellt, um Host- Ein/Ausgaben (E/A) und Speicherkapazität auf den Adressierungsmechanismus, der auf dem PCI-Bus verwendet wird, abzubilden. Dies gilt auch für die Erweiterungs-ROM-Speicherkapazität eines Computerperipheriegeräts, die typisch Initialisierungsinformationen und Betriebsinformationen wie etwa den Code und Daten für jenes Computerperipheriegerät enthält. Deshalb sind auf einer PCI-Vorrichtung verlagerbare Erweiterungs-ROM-Plazierungsadressen zugelassen. Bei früheren Busarchitekturen wie etwa dem Industrie-Standard-Architektur-Bus (ISA: Industry Standard Architecture (engl.)) ist dies nicht der Fall.
  • Wie aus 1 ersichtlich ist, wo ein Beispiel eines typischen PCI-basierenden Computersystems veranschaulicht ist, das mit dem Bezugszeichen 10 gekennzeichnet ist, enthält das System 10 einen Hostrechner 12 mit einem System-BIOS 13 zum Betreiben des Hostrechners 12 und mit einem System-RAM 14, der dem Hostrechner 12 zugeordnet ist. Das System-BIOS 13 ist im System-ROM 15 im Hostrechner 12 gespeichert. Ein PCI-Bus 16 ist unter Verwendung einer sogenannten Host Bridge 17 mit dem Hostrechner 12 und dem System-RAM 14 verbunden. Das System enthält außerdem ein Computerperipheriegerät 18, beispielsweise ein Festplattenlaufwerk, das an den PCI-Bus angeschlossen ist, so daß der Hostrechner unter Verwendung des PCI-Busses mit dem Computerperipheriegerät kommunizieren könnte. Das Gerät 18 umfaßt einen ROM 20, der ein Erweiterungs-BIOS 22 enthält, das in dem Hostsystem benötigt wird, um das Computerperipheriegerät 18 zu initialisieren und/oder zu betreiben. In einem System, das den PCI-Bus verwendet, muß das Host-System-BIOS und/oder Betriebssystem einen Konfigurationsmanager bereitstellen, der einzelne PCI-Vorrichtungen erkennt, Ressourcen zuweist und diese Vorrichtungen freigibt. Es liegt in der Verantwortung des Konfigurationsmanagers, ein Erweiterungs-BIOS des Peripheriegeräts in den RAM der Hostrechner zu kopieren und dann eine Initialisierungs routine auszuführen, die innerhalb des Erweiterungs-BIOS vorgesehen ist, um eine korrekte Initialisierung des Peripheriegeräts zu liefern.
  • In der 2A, die das im ROM 20 enthaltene Erweiterungs-BIOS schematisch darstellt, berücksichtigt die PCI-Spezifikation mehrfache Code-Abbildungen, beispielsweise 24a24d, die in dem Erweiterungs-BIOS 22 zu speichern sind, wobei jede Code-Abbildung die einer besonderen Computerarchitektur entsprechenden Informationen liefert. In diesem Beispiel könnte die Code-Abbildung 24a einem Intel®-basierenden System entsprechen, die Code-Abbildung 24b könnte einem Power PC®-basierenden System entsprechen usw. Diese mehrfachen Code-Abbildungen 24a24d erweitern den Informationsumfang, der in dem Erweiterungs-BIOS gespeichert ist, wodurch sich die Kapazität des ROM, die erforderlich ist, um das Erweiterungs-BIOS 22 zu speichern, erhöht. Wie in 2B gezeigt ist, enthält die Code-Abbildung 24a wie jede der übrigen Abbildungen einen Kopftbreich (Header) 26. In Abhängigkeit von den Anforderungen des Geräts 18, dem das Erweiterungs-BIOS 22 entspricht, könnte jede Abbildung auch einen Datenstrukturbereich 28, einen Laufzeitcode 30, einen Initialisierungscode 32 und eine Prüfsumme 34 enthalten. In 2C erfordert die PCI-Spezifikation außerdem, daß jede PCI-Vorrichtung einen Konfigurationsraumspeicher 35 mit einer Größe von 256 Byte enthält, der in Übereinstimmung mit dem dargestellten PCI-Format ist. Die von dem Konfigurationsraum 35 bereitgestellten Informationen enthalten ein Geräte-Identifikationsregister 36, das die Geräte-Identifikation enthält, und ein Konfigurationsregister 38, das eine erforderliche Speicherkapazität enthält. Das Konfigurationsregister 38 spezifiziert die Größe der Speicherkapazität, die in dem Hostrechnerspeicher erforderlich ist, um das dem Computerperipheriegerät 18 zugeordnete Erweiterungs-BIOS 22 abzubilden. Wie unmittelbar im Anschluß ausführlicher beschrieben wird, läuft, nachdem das Erweiterungs-BIOS 22 in den RAM 14 des Host-Systems kopiert worden ist, der Initialisierungscode 32 von der eigentlichen Code-Abbildung, beispielsweise der Code-Abbildung 24a. Diese initialisiert das Gerät 18 und sorgt für das richtige Einhaken in das System, um das Gerät 18 unter Verwendung des Laufzeitcodes 30 von der eigentlichen Code-Abbildung, in diesem Fall der Code-Abbildung 24a, im Gegensatz zu den 24b, c oder d, zu betreiben. Nachdem der Initialisierungscode abgearbeitet worden ist, wird die Steuerung an das Hostsystem zurückgegeben, und nur der Code, der für den Betrieb des Geräts 18 erforderlich ist, wird im Hostsystem-RAM 14 gelassen, wo er während des Betriebs des Systems verbleibt. Die Überschußinformationen der eigentlichen Code-Abbildung 24a, die nur für die Initialisierung des Geräts 18 erforderlich sind, werden nicht länger benötigt. Deshalb wird der Speicher, der zur Speicherung dieser Überschußinformationen verwendet wird, verfügbar gemacht, um wieder von dem Hostrechner 12 verwendet zu werden, wodurch sich die Verwendung des RAM 14 auf die Speicherung der notwendigen Teile des Erweiterungs-BIOS 22 reduziert.
  • Nun wird mit Bezug auf 3 eine typische Sequenz, um ein Erweiterungs-BIOS von einem PCI-Peripheriegerät zu erhalten und in das RAM-System zu speichern, unter Verwendung des oben dargestellten Beispiels des Systems 10 ausführlich beschrieben. Nachdem das Computersystem 10 wie im Block 40 der 3 angegeben eingeschaltet worden ist, startet der Prozessor des Hostrechners 12 die Abarbeitung eines Systemcodes, der typisch als Einschalt-Selbsttest (POST: Power-On-Self-Test (engl.)) bezeichnet wird. Der Einschalt-Selbsttest-Code führt unverbundene Systemkonfigurationen (Block 44) aus und startet dann die Konfiguration der über den PCI-Bus hinzugefügten Peripheriegeräte durch Prüfen des Vorhandenseins von Peripheriegeräten, wie etwa des Peripheriegeräts 18, wie durch das Entscheidungskästchen 46 angegeben ist. Wenn der Einschalt-Selbsttest-Code das Peripheriegerät 18 findet, startet er die Konfiguration des Geräts 18, weist die vom Gerät 18 angeforderte Ein/Ausgabe- und RAM-Speicherkapazität zu, konfiguriert Unterbrechungen und weist, wie von dem Gerät 18 angefordert, auf dem Hostrechner 12 Unterbrechungsanforderungen zu, wie in den Blöcken 48, 50 und 52 der 3 angegeben ist. An diesem Punkt bestimmt der Einschalt-Selbsttest-Code, ob das Gerät 18 ein Erweiterungs-BIOS hat, das geladen und konfiguriert werden muß, wie durch den Entscheidungsblock 54 angegeben ist. Wenn kein Erweiterungs-BIOS vorhanden ist, wie durch den Block 56 angegeben ist, fährt der Einschalt-Selbsttest-Code mit dem nächsten Peripheriege rät fort. Wenn alle Geräte konfiguriert sind, fährt der Einschalt-Selbsttest-Code, wie im Block 58 gezeigt ist, mit dem Urladen (Booten) des Betriebssystems fort. Wenn es jedoch ein von dem Gerät zu ladendes Erweiterungs-BIOS gibt, wie dies für das Gerät 18 der Fall ist, wird das Erweiterungs-BIOS geladen und konfiguriert, wie durch den Block 60 angegeben ist. Sobald das Laden des Erweiterungs-BIOS für das Gerät 18 abgeschlossen ist, geht die Sequenz zum Block 56 über und der Prozeß wird für irgendein anderes Gerät fortgesetzt.
  • Nunmehr mit Bezug auf 4 wird der typische Prozeß des Ladens und Konfigurierens des Erweiterungs-BIOS eines Peripheriegeräts, wie im Block 54 und 60 der 3 angegeben, genauer beschrieben. Ausgehend vom Entscheidungsblock 54, in dem der Einschalt-Selbsttest-Code ermittelt, ob das Peripheriegerät 18 ein Erweiterungs-BIOS besitzt, schreibt der Einschalt-Selbsttest-Code in das Konfigurationsregister 38 des Konfigurationsraumspeichers 35 des Peripheriegeräts 18 oder liest aus diesem, um zu bestimmen, ob ein Erweiterungs-BIOS in dem Gerät vorhanden ist, und wenn das der Fall ist, wieviel Speicherplatz erforderlich ist. Wenn festgestellt worden ist, daß ein Erweiterungs-BIOS vorhanden ist, geht der Prozeß zum Laden und Konfigurieren des dem Gerät 18 zugeordneten Erweiterungs-BIOS, in seiner Gesamtheit durch den Block 60 der 3 angegeben, wie nun im einzelnen beschrieben, über.
  • Wie durch den Block 62 der 4 angegeben ist, bestimmt der Einschalt-Selbsttest-Code eine akzeptable Adresse, um das im ROM 20 des Geräts 18 gespeicherte BIOS auf diese abzubilden, und schreibt diese Adresse in das Konfigurationsregister 38 des Konfigurationsraumspeichers 35 im PCI-Gerät 18. Im Block 64 gibt der Einschalt-Selbsttest-Code dann die Decodierung des Erweiterungs-BIOS auf dem Gerät frei. Als nächstes bildet das Peripheriegerät 18 seinen ROM, beginnend an der Adresse, die der Einschalt-Selbsttest-Code in das Konfigurationsregister 38 im Konfigurationsraumspeicher 35 im Gerät 18 schrieb, ab, wie im Block 66 angegeben ist. Das Gerät bereitet seine interne Adreßdecodierungseinrichtung vor, um den Speicheradreßbereich, auf den der ROM abgebildet wird, zu decodieren. Wie im Block 68 angegeben ist, prüft der Einschalt-Selbsttest- Code das Erweiterungs-BIOS ab, indem er die Speicherzellen liest, in welche das Erweiterungs-BIOS abgebildet wurde, um eine entsprechende Erweiterungs-BIOS-Code-Abbildung, in diesem Fall die Code-Abbildung 24 des Erweiterungs-BIOS 22, zu suchen. Wenn keine entsprechende Code-Abbildung gefunden wird, wie im Entscheidungsblock 70 gezeigt ist, springt die Sequenz zum Block 56 zurück, um zu prüfen, ob weitere Geräte zu konfigurieren sind. Wenn jedoch eine geeignete Code-Abbildung 24a gefunden wird, geht die Sequenz zum Block 72, in dem der Einschalt-Selbsttest-Code eine Speicherzelle innerhalb des Hostsystem-RAM 14 bestimmt, in welche der Erweiterungs-BIOS-Code aus dem Geräte-ROM 20 kopiert wird. Der Einschalt-Selbsttest-Code kopiert dann im Block 74 die entsprechende Code-Abbildung 24a aus dem Geräte-ROM 20 in den System-RAM 14. Wie in den Blöcken 76 und 78 angegeben ist, ruft der Einschalt-Selbsttest-Code den Initialisierungscode 32 des Erweiterungs-BIOS 22 auf, der nun im System-RAM 14 ist, und arbeitet den Initialisierungscode 32 ab, um des weiteren das Peripheriegerät 18 zu konfigurieren und eine Software-Unterstützung auf Systemebene zu installieren, die Unterbrechungs-Steuerungsprogramme, gerätespezifische Daten usw. enthält. Wenn der Initialisierungscode 32 abgearbeitet ist, gibt der Initialisierungscode 32 die Steuerung des Systems an den Einschalt-Selbsttest-Code zurück, wie im Block 80 gezeigt ist. Im Block 82 führt der Einschalt-Selbsttest-Code eine abschließende Initialisierung aus, etwa eine Markierung des Teils des System-RAM 14, der verwendet wird, um das Erweiterungs-BIOS zu speichern, das, nachdem der Initialisierungscode 32 abgearbeitet worden ist, schreibgeschützt im System-RAM verbleibt. An diesem Punkt kehrt die Sequenz schließlich zum Entscheidungsblock 56 zurück, um zu prüfen, ob noch mehr Geräte vorhanden sind, die konfiguriert werden müssen.
  • Wie weiter oben beschrieben ist, wird das Erweiterungs-BIOS 22 typisch im ROM 20 gespeichert, der sich in dem Computerperipheriegerät oder auf einer Erweiterungskarte befindet. Dieser Lösungsweg hat jedoch den Nachteil, daß zu den Kosten des Geräts die Kosten des ROM 20 hinzukommen, der in einem System, das einen PCI-Bus verwendet, nur dazu benutzt wird, das Erweiterungs-BIOS zu speichern, um es nach dem Systemstart in das System zu laden. Insbe sondere muß in einem System, das einen PCI-Bus verwendet, wie oben erwähnt worden ist, der Hostrechner das Erweiterungs-BIOS in den RAM des Hostsystems kopieren. Aus Effizienzgründen verwendet das System das kopierte Erweiterungs-BIOS, das in seinem eigenem Speicher abgelegt ist, statt auf den ROM in dem Gerät zurückzuverweisen; wenn das Erweiterungs-BIOS für den Betrieb des Systems erforderlich ist. Deshalb wird, wenn die notwendigen Teile der entsprechenden 24a in dem Hostsystem-RAM gespeichert sind, auf den ROM 20 nicht mehr zugegriffen, bis das System ausgeschaltet und wieder eingeschaltet worden ist, wobei zu diesem Zeitpunkt die spezielle Abbildung des Erweiterungs-BIOS erneut in den Hostsystem-RAM geladen wird. Da außerdem, wie weiter oben erwähnt worden ist, mehrere Abbildungen erforderlich sein könnten, um demselben Gerät zu ermöglichen, an viele verschiedene Hostsysteme angeschlossen zu werden, die unterschiedliche Computerarchitekturen haben, kann die Größe des gesamten Erweiterungs-BIOS 22 und deshalb des ROM 22, der erforderlich ist, um das Erweiterungs-BIOS zu speichern, ziemlich groß sein. Dies kann bewirken, daß der Erweiterungs-BIOS-ROM 20 einen wesentlichen Teil der Kosten des Geräts 18 ausmacht.
  • Die Kosten dieses Erweiterungs-BIOS-ROM variieren in Abhängigkeit vom speziellen Typ des verwendeten ROM. In dem Fall, in dem große Stückzahlen der Geräte produziert werden, könnte der ROM mit dem Erweiterungs-BIOS hergestellt werden, das bei der Fertigung des ROM in diesen einprogrammiert wird. Diese Methode hat den Vorteil, daß sie preiswerter ist, jedoch könnte dieser Typ von ROM, wenn er erst einmal programmiert ist, nicht verändert werden. Wenn die Vorrichtung in irgendeiner Weise modifiziert wird, die eine Veränderung im Erweiterungs-BIOS notwendig macht, oder wenn in dem Erweiterungs-BIOS ein Programmfehler gefunden wird, müssen alle ROM, die mit dem alten Erweiterungs-BIOS hergestellt worden sind, ausgemustert werden. Diese Methode liefert keine große Flexibilität hinsichtlich einer Aktualisierung und Verbesserung der Funktion des Geräts durch Aktualisieren des Erweiterungs-BIOS.
  • Bei einem anderen Lösungsweg wird das Erweiterungs-BIOS in den ROM einprogrammiert, nachdem der ROM hergestellt worden ist. Dies ermöglicht, das Erweiterungs-BIOS zu aktualisieren, ohne den bereits hergestellten ROM ausmustern zu müssen, wie das bei der weiter obenbeschriebenen Methode der Fall wäre. Obgleich der programmierbare ROM eine größere Flexibilität verschafft, ist er teurer als ein ROM, der während seiner Herstellung programmiert wird, und erhöht die Kosten für die Bereitstellung des Erweiterungs-BIOS-ROM weiter. Bei der äußerst harten Wettbewerbssituation auf dem Computerperipheriegerätemarkt, beispielsweise im Bereich der Festplattenlaufwerke, würde die Fähigkeit zur Verminderung oder gar der Beseitigung der Kosten des ROM für das Erweiterungs-BIOS einen bedeutenden Wettbewerbsvorteil verschaffen.
  • Die vorliegende Erfindung offenbart eine neuartige Anordnung und ein neuartiges Verfahren zum Betreiben eines Hostrechners, der ein System-BIOS hat, das verwendet wird, um den Hostrechner zu betreiben, und der einen System-RAM hat, der dem Hostrechner zugeordnet ist. Die Anordnung und das Verfahren ermöglichen, daß wenigstens ein Teil des BIOS in dem Massenspeicher eines Peripheriegeräts mit Massenspeicher, das an den Hostrechner angeschlossen ist, gespeichert wird. Das in dem Massenspeicher gespeicherte BIOS könnte Erweiterungs-BIOS sein, das einem bestimmten Computerperipheriegerät zugeordnet ist und/oder Erweiterungs-BIOS sein, das dem Computerperipheriegerät mit Massenspeicher selbst zugeordnet ist. Das in dem Massenspeicher gespeicherte BIOS könnte auch System-BIOS sein, das dem Hostrechner zugeordnet ist. Diese Methode verringert in signifikanter Weise die Notwendigkeit und die Kosten des Erweiterungs-BIOS-ROM für das besondere Computerperipheriegerät und/oder des Erweiterungs-BIOS-ROM für das Computerperipheriegerät mit Massenspeicher oder beseitigt sie sogar. Diese Methode könnte auch verwendet werden, um die Notwendigkeit und die Kosten des dem Host-Rechner zugeordneten System-BIOS deutlich zu verringern. Da ein Teil oder die Gesamtheit des Erweiterungs-BIOS und/oder ein Teil des System-BIOS in dem Massenspeicher eines Computerperipheriegeräts mit Massenspeicher gespeichert ist, verschafft diese Methode außerdem eine wesentlich bessere Flexibilität hinsichtlich der Aktualisierung und Verbesserung des Systems oder der Feststellung von Pogrammfehlern in dem BIOS, ohne einen programmierbaren ROM verwenden zu müssen. Unter Verwendung dieser neuartigen Methode könnte der überwiegende Teil des System-BIOS oder die Gesamtheit davon oder das gesamte Erweiterungs-BIOS, das den Peripheriegeräten zugeordnet ist, die an das System angeschlossen sind, aktualisiert werden, indem einfach ein verbessertes BIOS in den Massenspeicher des Geräts mit Massenspeicher geladen wird, ohne daß irgendein BIOS-ROM ausgemustert werden muß.
  • EP 0 417 888 offenbart ein Computersystem, bei dem ein erster Teil des BIOS im ROM gespeichert ist und ein zweiter Teil des BIOS auf einem Massenspeichermedium gespeichert ist. Der erste Teil des BIOS enthält Routinen für die Initialisierung des Systems und das Laden des zweiten Teils des BIOS in den System-RAM.
  • EP 0 429 252 offenbart ein Computersystem mit mehreren Teilsystemmoduln, um das System auf unterschiedliche Anforderungen abzustimmen. Jedes Teilsystemmodul weist eine Schnittstelle mit einem ROM auf, der Firmware enthält, die für das Modul spezifisch ist. Es ist ein Basismodul vorgesehen, das einen ROM umfaßt, der eine Softwareroutine enthält, die eine ausgelagerte Version der Firmware, die in den ROM jedes Teilsystemmoduls gespeichert ist, im Hauptspeicher des Computersystems erzeugt.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Die vorliegende Erfindung schafft ein Verfahren zum Betreiben eines Computersystems, wobei das Computersystem einen Hostrechner umfaßt, der einen System-RAM und ein Computerperipheriegerät mit Massenspeicher aufweist, das an den Hostrechner angeschlossen ist, der zur Steuerung seines Betriebs ein BIOS verwendet, wobei das Verfahren folgende Schritte umfaßt:
    • a) es wird ein Speichermittel bereitgestellt, auf das der Hostrechner während des Startens des Computersystems zugreifen kann und das einen ersten Teil des BIOS enthält;
    • b) es wird ein zweiter Teil des BIOS im Massenspeicher des Computerperipheriegeräts mit Massenspeicher gespeichert; und
    • c) es wird der Hostrechner veranlaßt, auf das Speichermittel zuzugreifen, den ersten Teil des BIOS aufzunehmen, und danach wird durch den Gebrauch des ersten Teils des BIOS der Hostrechner veranlaßt, auf den Massenspeicher des Computerperipheriegeräts mit Massenspeicher zuzugreifen, den zweiten Teil des BIOS, der im Massenspeicher des Computerperipheriegeräts mit Massenspeicher gespeichert ist, aufzunehmen und den zweiten Teil des BIOS im System-RAM zu speichern, dadurch gekennzeichnet, daß der Schritt, bei dem der Hostrechner veranlaßt wird, auf den ersten Teil des BIOS zuzugreifen und ihn aufzunehmen, den Schritt umfaßt, das es für den Hostrechner den Anschein hat, daß der erste Teil des BIOS die angeforderte Größe des BIOS aufweist, obwohl der erste Teil des BIOS kleiner als die angeforderte Größe ist.
  • Wie im folgenden ausführlicher beschrieben wird, werden hier eine Anordnung und ein Verfahren zum Betreiben eines Computersystems offenbart. Das Computersystem enthält einen Hostrechner mit einem System-RAM und einem Computerperipheriegerät mit Massenspeicher, etwa einem Festplattenlaufwerk, das an den Hostrechner angeschlossen ist. Der Hostrechner verwendet ein BIOS, um den Betrieb des Computersystems zu steuern. Die Anordnung und das Verfahren ermöglichen, daß wenigstens ein Teil des BIOS in dem Massenspeicher des Computerperipheriegeräts mit Massenspeicher gespeichert wird, statt die Speicherung des gesamten BIOS in einem BIOS-ROM zu erfordern.
  • In einer Ausführungsform sind das Verfahren und die Anordnung zum Betreiben des Computersystems ein Verfahren und eine Anordnung zum Betreiben eines besonderen Computerperipheriegeräts, das mit dem Hostrechner unter Verwendung eines peripheren Busses verbunden ist, mit dem verlagerbare Erweiterungs-BIOS-Plazierungsadressen möglich sind, wie etwa mit einem PCI-Bus. In dieser Ausführungsform ist das BIOS Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist. Der Betrieb des Computerperipheriegeräts verlangt, daß der Hostrechner das dem besonderen Computerperipheriegerät zugeordnete Erweiterungs-BIOS entgegennimmt und das Erweiterungs-BIOS in den System-RAM lädt. Diese Ausführungsform enthält einen ROM (peripherer Festspeicher), der einen ersten Teil – jedoch nicht die Gesamtheit – des dem besonderen Computerperipheriegerät zugeordneten Erweiterungs-BIOS enthält. Ein zweiter Teil des dem besonderen Computerperipheriegerät zugeordneten Erweiterungs-BIOS ist in dem Massenspeicher des an den Hostrechner angeschlossenen besonderen Computerperipheriegeräts mit Massenspeicher gespeichert. Das besondere Computerperipheriegerät könnte das Massenspeicher-Computerperipheriegerät sein, wobei dies jedoch nicht notwendig ist. Die Anordnung umfaßt des weiteren einen Betriebsmechanismus, der den Hostrechner veranlaßt, auf den peripheren ROM zuzugreifen und den ersten Teil des dem besonderen Computerperipheriegerät zugeordneten Erweiterungs-BIOS zu erlangen. Daraufhin wird durch den Gebrauch des ersten Teils des Erweiterungs-BIOS der Hostrechner veranlaßt, (i) auf den Massenspeicher des besonderen Computerperipheriegeräts mit Massenspeicher zuzugreifen, (ii) den zweiten Teil des Erweiterungs-BIOS, der dem besonderen Computerperipheriegerät zugeordnet ist und sich in dem Massenspeicher des Computerperipheriegeräts mit Massenspeicher befindet, zu erlangen, und (iii) den zweiten Teil des Erweiterungs-BIOS im System-RAM zu speichern.
  • In dieser Ausführungsform könnte der Hostrechner einen System-Festspeicher umfassen, der System-BIOS enthält (System-ROM). Der periphere Festspeicher (ROM), der den ersten Teil des Erweiterungs-BIOS enthält, könnte von dem System-ROM getrennt und entfernt sein, oder als eine andere Möglichkeit könnte der periphere Festspeicher (ROM), der den ersten Teil des Erweiterungs-BIOS enthält, ein Teil des System-ROM sein. In dem Fall, in dem der ROM, der den ersten Teil des Erweiterungs-BIOS enthält, vom System-ROM getrennt und entfernt ist, könnte sich dieser periphere ROM, der den ersten Teil des Erweiterungs-BIOS enthält, das dem besonderen Computerperipheriegerät zugeordnet ist, in dem besonderen Computerperipheriegerät befinden.
  • In einer weiteren Ausführungsform, in der das Verfahren und die Anordnung ein Verfahren und eine Anordnung zum Betreiben eines besonderen Computerperipheriegeräts sind, ist das gesamte Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, in dem Masassenspeicher des Computerperipheriegeräts mit Massenspeicher gespeichert. In dieser Ausführungsform umfassen das Verfahren und die Anordnung des weiteren einen Betriebsmechanismus, um den Betrieb des Systems zu starten. Wenn der Betrieb des Systems gestartet ist, veranlaßt der Betriebsmechanismus, daß der Hostrechner (i) auf den Massenspeicher des Computerperipheriegeräts mit Massenspeicher zugreift, (ü) das Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, entgegennimmt und (iii) das dem besonderen Computerperipheriegerät zugeordnete Erweiterungs-BIOS im System-RAM speichert.
  • In einer speziellen Version der Ausführungsform, die das gesamte Erweiterungs-BIOS im Massenspeicher des Computerperipheriegeräts mit Massenspeicher speichert, enthält das Computerperipheriegerät mit Massenspeicher einen Pufferspeicher in dem Computerperipheriegerät mit Massenspeicher. Bei dieser Version enthält das Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, einen ersten Teil des Erweiterungs-BIOS und einen zweiten Teil des Erweiterungs-BIOS. Außerdem veranlaßt der Betriebsmechanismus den Hostrechner, beim Betriebsstart des Systems einen Einschalt-Selbsttest auszuführen. Das Computerperipheriegerät mit Massenspeicher enthält einen Mechanismus zum Laden des ersten Teils des dem besonderen Computerperipheriegerät zugeordneten Erweiterungs-BIOS in den Pufferspeicher des Computerperipheriegeräts mit Massenspeicher innerhalb des Zeitrahmens des Einschalt-Selbsttests. Dies ermöglicht dem Betriebsmechanismus, auf den Pufferspeicher zuzugreifen und den ersten Teil des Erweiterungs-BIOS zu erlangen. Daraufhin wird durch den Gebrauch des ersten Teils des Erweiterungs-BIOS der Hostrechner veranlaßt, (i) auf den Massenspeicher des Computerperipheriegeräts mit Massenspeicher zuzugreifen, (ii) den zweiten Teil des Erweiterungs-BIOS, der dem besonderen Computerperipheriegerät zugeordnet ist und sich in dem Massenspeicher des Computerperipheriegeräts mit Massenspeicher befindet, zu erlangen, und (iii) den zweiten Teil des Erweiterungs-BIOS im System-RAM zu speichern.
  • In jeder der obenbeschriebenen Ausführungsformen könnte das besondere Computerperipheriegerät, dem das Erweiterungs-BIOS zugeordnet ist, tatsächlich das Computerperipheriegerät mit Massenspeicher sein, das den Massenspeicher bereitstellt, in dem wenigstens ein Teil des Erweiterungs-BIOS gespeichert ist. Als eine andere Möglichkeit könnte das besondere Computerperipheriegerät irgendein anderes Computerperipheriegerät sein, etwa eine Videokarte, eine Netzwerkkarte oder irgendein anderes Peripheriegerät oder eine Erweiterungskarte.
  • In einer weiteren Ausführungsform ist das BIOS dem Hostrechner zugeordnetes System-BIOS. In dieser Ausführungsform ist ein erster Teil des System-BIOS in einem BIOS-ROM enthalten, der sich im Hostrechner befindet. Ein zweiter Teil des System-BIOS ist in dem Massenspeicher des Computerperipheriegeräts mit Massenspeicher gespeichert. Dieser zweite Teil des System-BIOS wird auf gleiche Weise wie das in dem Massenspeicher gespeicherte Erweiterungs-BIOS, wie zuvor beschrieben worden ist, abgerufen und im System-RAM gespeichert.
  • In einer weiteren Erscheinung der Erfindung ist ein von einem ROM verschiedenes Computerspeichermedium für die Verwendung in einem Computersystem offenbart. Das Computersystem enthält einen Hostrechner, der System-RAM, der dem Hostrechner zugeordnet ist, und ein Computerperipheriegerät mit Massenspeicher, das an den Hostrechner angeschlossen ist, umfaßt. Der Hostrechner verwendet ein BIOS, um den Betrieb des Systems zu steuern. Wenigstens ein Teil des BIOS ist in dem Massenspeicher des Computerperipheriegeräts mit Massenspeicher für den Gebrauch durch den Hostrechner gespeichert, nachdem der Hostrechner das in dem Massenspeicher gespeicherte BIOS in den System-RAM des Hostrechners gespeichert hat. Das Computerspeichermedium der Erfindung umfaßt einen Teil des Speichermediums, der BIOS für die Steuerung des Betriebs des Hostrechners enthält. In einer Ausführungsform des Computerspeichermediums ist das Medium der Massenspeicher des Computerperipheriegeräts mit Mas senspeicher, etwa ein Festplattenlaufwerk, das an den Hostrechner angeschlossen ist.
  • In einer weiteren Ausführungsform des Computerspeichermediums ist das Medium eine Diskette oder ein anderes derartiges Medium, und das auf dem Medium enthaltene BIOS ist auf das Computerperipheriegerät mit Massenspeicher übertragbar. In dieser Ausführungsform könnte das auf dem Medium enthaltene BIOS aktualisiertes und überarbeitetes BIOS sein, das wenigstens einem Teil des Computersystems zugeordnet ist, wie etwa Erweiterungs-BIOS, das einem besonderen Computerperipheriegerät zugeordnet ist, das an das System angeschlossen ist, oder das System-BIOS, das dem Hostrechner zugeordnet ist. Als eine andere Möglichkeit könnte das auf dem Medium enthaltene BIOS Erweiterungs-BIOS sein, das einem besonderen, an das Computersystem angeschlossenen Computerperipheriegerät zugeordnet ist.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Die Merkmale der vorliegenden Erfindung können am besten mit Bezug auf die folgende Beschreibung gegenwärtig bevorzugter Ausführungsformen im Zusammenhang mit der beigefügten Zeichnung verstanden werden, worin:
  • 1 eine Blockdarstellung eines Computersystems des Standes der Technik ist, das einen PCI-Bus verwendet, um ein Computerperipheriegerät an einen Hostrechner anzuschließen;
  • 2A eine schematische Darstellung eines Erweiterungs-BIOS des Standes der Technik ist, das mehrfache Code-Abbildungen enthält;
  • 2B eine genauere schematische Darstellung einer der in 2A gezeigten Code-Abbildungen ist, die einen Teil des Erweiterungs-BIOS des Standes der Technik bildet;
  • 2C eine genauere schematische Darstellung eines Konfigurationsraumspeichers einer PCI-Vorrichtung ist;
  • 3 ein Ablaufdiagramm ist, das eine Sequenz des Standes der Technik veranschaulicht, die von einem typischen PCI-basierten System verwendet wird, um zu bestimmen, ob das System irgendwelche Peripheriegeräte umfaßt, die das Laden eines Erweiterungs-BIOS in den System-RAM eines Hostrechners erfordern;
  • 4 ein Ablaufdiagramm ist, das im einzelnen zeigt, wie ein Erweiterungs-BIOS des Standes der Technik, das einem besonderen Computerperipheriegerät zugeordnet ist, in den System-RAM eines Host-Rechners geladen wird;
  • 5 eine Blockdarstellung einer Ausführungsform eines gemäß der vorliegenden Erfindung beschaffenen Computersystems ist, das einen peripheren Bus verwendet, auf dem verlagerbare Erweiterungs-BIOS-Plazierungsadressen erlaubt sind, um ein Computerperipheriegerät an einen Hostrechner anzuschließen;
  • 6A eine genauere schematische Darstellung eines ersten Teils eines Erweiterungs-BIOS gemäß der vorliegenden Erfindung für ein Computerperipheriegerät ist;
  • 6 B eine genauere schematische Darstellung eines zweiten Teils eines Erweiterungs-BIOS gemäß der vorliegenden Erfindung ist, der dem in 6A veranschaulichten ersten Teil des Erweiterungs-BIOS zugeordnet ist;
  • 6C eine genauere schematische Darstellung des Konfigurationsraumspeichers einer PCI-Vorrichtung ist;
  • 7 ein Ablaufdiagramm ist, das im einzelnen zeigt, wie ein Erweiterungs-BIOS wie in den 5, 6A und 6B gezeigt gemäß der vorliegenden Erfindung in den System-RAM eines Hostrechners geladen wird;
  • 8 ein Ablaufdiagramm ist, das zeigt, wie ein Teil eines System-BIOS, das in einem Computerperipheriegerät mit Massenspeicher gespeichert ist, wie in 5 gezeigt ist, gemäß der Erfindung in den System-RAM eines Hostrechners geladen wird;
  • 9 eine Blockdarstellung einer weiteren Ausführungsform eines gemäß der Erfindung beschaffenen Computersystems ist, das einen peripheren Bus verwendet, auf dem verlagerbare Erweiterungs-BIOS-Plazierungsadressen erlaubt sind, um ein Computerperipheriegerät an einen Hostrechner anzuschließen;
  • 10 ein Ablaufdiagramm ist, das anhand einer ersten Ausführungsform im einzelnen zeigt, wie ein Erweiterungs-BIOS wie in 9 gezeigt gemäß der vorliegenden Erfindung in den System-RAM eines Hostrechners geladen wird;
  • 11 ein Ablaufdiagramm ist, das anhand einer zweiten Ausführungsform im einzelnen zeigt, wie ein Erweiterungs-BIOS wie in 8 gezeigt gemäß der vorliegenden Erfindung in den System-RAM eines Hostrechners geladen wird;
  • 12A ein Ablaufdiagramm ist, das zeigt, wie gemäß der Erfindung während des Starts eines Computersystems Graphiken von einer Massenspeichervorrichtung in den Videospeicher geladen werden; und
  • 12B ein Ablaufdiagramm ist, das zeigt, wie gemäß der Erfindung während des Starts eines Computersystems Betriebsdaten von einer Massenspeichervorrichtung in das System geladen werden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung wird anfangs mit Bezug auf 5 als Anordnung beschrieben, die einem Hostrechner ermöglicht, ein besonderes Computerperipheriegerät zu betreiben, dessen Betrieb erfordert, daß der Hostrechner ein Erweiterungs-BIOS erlangt, das dem besonderen Computerperipheriegerät zugeordnet ist, und das Erweiterungs-BIOS in einen System-RAM lädt. Wie in 5 gezeigt ist, umfaßt ein Computersystem 100, das gemäß der vorliegenden Erfindung beschaffen ist, einen Hostrechner 102 mit einem System-BIOS 104, das benutzt wird, um den Hostrechner 102 zu betreiben, und hat einen RAM 106, der dem Hostrechner 102 zugeordnet ist. Das System-BIOS 104 ist im System-ROM 108 im Hostrechner 102 gespeichert. Ein peripherer Bus 110 ist unter Verwendung einer Host Bridge 112 mit dem Hostrechner 102 und dem RAM 106 verbunden. Außerdem ist mit dem Hostrechner 102 unter Verwendung des peripheren Busses 110 ein Computerperipheriegerät 114 verbunden. Der Hostrechner 102, das System-BIOS 104, der RAM 106, der ROM 108 und die Host Bridge 112 sind aus beliebigen geeigneten und leicht erhältlichen Komponenten hergestellt, die ermöglichen, den Hostrechner 102 und den RAM 106 unter Verwendung der Bridge 112 an den peripheren Bus 110 anzuschließen. Diese Komponenten enthalten irgendwelche herkömmlichen 486, Pentium®-, Power PC®- oder RISC-basierende Komponenten, sind jedoch nicht hierauf beschränkt. Obwohl der Hostrechner 102, der RAM 106 und die Host Bridge 112 mit einer besonderen Konfiguration in bezug aufeinander dargestellt sind, sollte klar sein, daß dies kein Erfordernis der vorliegenden Erfindung ist. Statt dessen könnten diese Komponenten in vielen verschiedenen spezifischen Konfigurationen miteinander verbunden sein und trotzdem innerhalb des Geltungsbereichs der Erfindung bleiben, solange das Computerperipheriegerät 114 unter Verwendung eines peripheren Busses 110 mit diesen Komponenten verbunden ist, wie nachfolgend beschrieben ist.
  • Der periphere Bus 110 könnte jeder geeignete und leicht erhältliche periphere Bus sein, auf dem verlagerbare Erweiterungs-BIOS-Plazierungsadressen erlaubt sind. Eine bevorzugte Ausführungsform eines solchen peripheren Busses ist ein PCI-Bus. Es sollte jedoch selbstverständlich sein, daß viele verschiedene periphere Busse, etwa andere Parallelbusse, serielle Busse oder multiplexierte Busse ebenfalls in den Geltungsbereich der vorliegenden Erfindung fallen würden. Wie weiter oben zum Hintergrund ausführlich beschrieben worden ist, diktiert dann, wenn ein PCI-Bus verwendet wird, die PCI-Spezifikation, wie irgendein Erweiterungs-BIOS, das einem besonderen Computerperipheriegerät zugeordnet ist, in den RAM 106 des Hostsystems geladen wird. Weitere periphere Buskonfigurationen haben entsprechende Spezifikationen, weshalb die Beschreibung der vorliegenden Erfindung unter der Annahme erfolgt, daß ein PCI-Bus verwendet wird, um das Computerperipheriegerät 114 an den Hostrechner 102 anzuschließen. Die Anwendung der Erfindung auf andere periphere Buskonfigurationen wird Fachleuten in Anbetracht dieser Darstellung klar werden. Obwohl der periphere Bus von dieser genauen Beschreibung als PCI-Bus dargestellt wird, ist dies kein Erfordernis. Ebenso könnte irgendein peripherer Bus, der die Abbildung der Erweiterungs-BIOS-Plazierungsadressen in den System-Speicher erfordert, statt festgelegte, festverdrahtete Erweiterungs-BIOS-Plazierungsadressen zu erlauben, verwendet werden.
  • In einer ersten Ausführungsform der vorliegenden Erfindung ist das Computerperipheriegerät 114 ein Massenspeicher-Computerperipheriegerät mit einem Massenspeicher 116 wie etwa einem Festplattenlaufwerk oder einem Compact Disc-Abspielgerät. Das Gerät 114 erfordert ein ihm zugeordnetes Erweiterungs-BIOS, das in den Hostrechner zu laden ist, um das Gerät 114 in korrekter Weise zu initialisieren und zu betreiben. Obwohl speziell ein Festplattenlaufwerk und ein Compact Disc-Abspielgerät erwähnt sind, könnte das Computerperipheriegerät 114 die Form jeder anderen Massenspeichervorrichtung annehmen und trotzdem innerhalb des Geltungsbereichs der Erfindung bleiben. Das Computerperipheriegerät 114 mit Massenspeicher enthält einen ROM 118 geringer Kapazität. Gemäß der vorliegenden Erfindung enthält der ROM 118 nur einen ersten Teil 120 des Erweiterungs-BIOS, das dem Gerät 114 zugeordnet ist.
  • Wie aus 6A ersichtlich ist, enthält bei Verwendung eines PCI-Busses der erste Teil 120 des Erweiterungs-BIOS einen Konfigurations-Kopfbereich (Header) 122, in geringem Umfang Initialisierungscode 124 und eine Prüfsumme 126. Die spezifischen Informationen in dem Konfigurations-Kopfbereich könnten in Abhängigkeit vom verwendeten Bus verschieden sein, wobei die Informationen jedoch in Übereinstimmung mit dem Protokoll des verwendeten Busses gespeichert werden würden. In einer bevorzugten Version dieser Ausführungsform ist der erste Teil 120 ein sehr kleiner Teil des gesamten Erweiterungs-BIOS, mit einem Umfang von beispielsweise weniger als 1 KByte. Ein zweiter Teil 128 des dem Gerät 114 zugeordneten Erweiterungs-BIOS 114 ist im Massenspeicher 116 gespeichert. Wie in 6B gezeigt ist, enthält der zweite Teil 128 des Erweiterungs-BIOS eine Datenstruktur 130, die ein Teil des Erweiterungs-BIOS sein könnte, einen Laufzeitcode 132, der notwendig sein könnte, um das Gerät 114 während des Betriebs des Systems zu betreiben, Initialisierungscode 134, der erforderlich ist, um das Gerät 114 zu initialisieren, und eine Prüfsumme 136. Wie in 6C gezeigt ist, enthält das Gerät 114 außerdem einen Konfigurationsraumspeicher 138 mit einem Konfigurationsregister 140, das ähnlich jenem, das weiter oben für das Gerät 18 des Standes der Technik des Systems 10 beschrieben wurde, Informationen enthält, die eine angeforderte Größe oder einen angeforderten Umfang des Systemspeichers für die Abbildung des Erweiterungs-BIOS umfassen. Jedoch spezifiziert gemäß der vorliegenden Erfindung die angeforderte Größe die Zahl der Speicherzellen, die in dem Hostrechner erforderlich sind, um sowohl den ersten Teil 120 des Erweiterungs-BIOS als auch den zweiten Teil 128 des Erweiterungs-BIOS, wobei beide Teile dem Computerperipheriegerät zugeordnet sind, abzubilden.
  • Obwohl die 6A und 6B nur eine Code-Abbildung vom ersten Teil 120 und zweiten Teil 128 des Erweiterungs-BIOS veranschaulichen, sollte klar sein, daß der erste Teil 120 und der zweite Teil 128 des Erweiterungs-BIOS mehrfache Abbildungen enthalten könnte, wobei jede der Abbildungen einem anderen Computerarchitekturtyp entspricht, an welchen das Gerät angeschlossen werden könnte. Diese Methode der mehrfachen Abbildung würde ermöglichen, das gleiche Gerät an viele verschiedene Systeme anzuschließen, die verschiedene Computerarchitekturen verwenden, die den verschiedenen Code-Abbildungen entsprechen. Wenn mehrfache Code-Abbildungen vorgesehen sind, enthält der angeforderte Informationsumfang, der in einem Konfigurationsregister 140 des Konfigurationsraums 138 gespeichert ist, genügend Platz für alle ersten und zweiten Teile der Code-Abbildungen.
  • Nun, da die Elemente dieser ersten Ausführungsform beschrieben sind, wird die Funktionsweise dieser Ausführungsform im einzelnen dargestellt. Wenn als erstes das Gesamtsystem 100 eingeschaltet wird, arbeitet das System anfangs auf gleiche Weise wie ein typisches System 10, was mit Bezug auf das Ablaufdiagramm von 3 ausführlich beschrieben worden ist. Wenn der Einschalt-Selbsttest-Code jedoch das System 100 auf Peripheriegeräte prüft und feststellt, daß ein Peripheriegerät vorhanden ist, das einen Erweiterungs-ROM enthält, in diesem Fall das Gerät 114, beginnt der Betrieb des Systems 100 von demjenigen des typischen Systems, der mit Bezug auf das Ablaufdiagramm von 4 beschrieben ist, abzuweichen. Deshalb wird die Funktionsweise des Systems 100 nach diesem Punkt weiter mit Bezug auf das Ablaufdiagramm von 7 beschrieben, welches das weiter oben für ein typisches PCI-basiertes System 10 beschriebene Ablaufdiagramm von 4 ersetzen würde.
  • Ausgehend vom Entscheidungsblock 54 von 7, in dem der Einschalt-Selbsttest-Code ermittelt, ob das Peripheriegerät 114 ein Erweiterungs-BIOS besitzt, schreibt der Einschalt-Selbsttest-Code in das Konfigurationsregister 140 des Konfigurationsraumspeichers 138 des Peripheriegeräts 114 oder liest dieses aus, um zu bestimmen, ob ein Erweiterungs-BIOS in dem Gerät vorhanden ist, und wenn das so ist, wieviel Speicherplatz erforderlich ist. Wenn festgestellt worden ist, daß es ein Erweiterungs-BIOS gibt, wie durch den Block 146 von 7 angegeben ist, bestimmt der Einschalt-Selbsttest-Code eine akzeptable Adresse, um das Erweiterungs-BIOS auf diese abzubilden und schreibt diese Adresse in das Konfigurationsregister 140 des Konfigurationsraumspeichers 138 in dem Peripheriegerät 114. Im Block 148 gibt dann der Einschalt-Selbsttest-Code die Erweiterungs-BIOS-ROM-Decodierung in dem Gerät in ähnlicher Weise, wie weiter oben für das System 10 beschrieben worden ist, frei.
  • Als nächstes bildet gemäß der vorliegenden Erfindung das Peripheriegerät 114 den ersten Teil 120 des im ROM 118 gespeicherten Erweiterungs-BIOS auf die Systemspeicheradresse ab, wobei bei der Adresse begonnen wird, die der Einschalt-Selbsttest-Code in das Konfigurationsregister 140 im Konfigurationsraumspeicher 138 im Gerät 114 schrieb, wie im Block 150 angegeben ist. Das Gerät 114 bereitet seine interne Adreßdecodiereinrichtung vor, um den gesamten vom Register 140 angeforderten Speicheradressenbereich, in welchen der ROM 118 abgebildet wird, zu decodieren, auch wenn sich nur ein kleiner Teil tatsächlich im ROM 118 der Vorrichtung 114 befindet. Da der erste Teil 120 des im ROM 118 des Geräts 114 gespeicherten Erweiterungs-BIOS wesentlich kleiner als der ange forderte Speicherumfang ist, der vom Register 140 für das gesamte Erweiterungs-BIOS angefordert worden ist, wie oben beschrieben ist, werden fingierte, erzeugte Daten in diesen Überschuß-Speicherbereich abgebildet. Dies könnte auf vielfältige Weise erfolgen. Beispielsweise könnte eine einzige Datenspeicherzelle im ROM 118 auf alle Überschuß-Systemspeicherzellen abgebildet werden; dadurch ist nur eine einzige Datenspeicherzelle erforderlich, um den gesamten Überschuß-Systemspeicherbereich zu fällen. Als eine andere Möglichkeit könnte ein kurzer Daten erzeugender Code vorgesehen werden, der in der Lage ist, fliegende Datenmuster zu erzeugen. In diesem Beispiel wird der datenerzeugende Code so auf den Überschuß-Speicherbereich abgebildet, daß dann, wenn auf ihn zugegriffen wird, der datenerzeugende Code den Datenumfang, auf den zugegriffen wird, erzeugt.
  • Obwohl nur zwei besondere Beispiele beschrieben worden sind, die zeigen, wie dieser Überschuß-RAM-Bereich gefüllt wird, könnten viele andere besondere Verfahren verwendet werden, die alle in den Geltungsbereich der vorliegenden Erfindung fallen würden. In einer bevorzugten Version wird der gesamte Überschuß-RAM-Bereich auf eine einzelne Datenspeicherzelle im ROM 118 abgebildet, die einen ersten Teil 120 des Erweiterungs-BIOS enthält. Diese Datenspeicherzelle weist eine Null als Datum für diese Speicheradresse auf. Somit wird der gesamte Überschuß-RAM-Bereich mit Nullen gefüllt. Da der gesamte Uberschuß-RAM-Bereich mit Nullen gefüllt wird, beeinflußt dieser Überschuß-Speicherbereich nicht den Prüfsummenzähler, und die Prüfsumme 126 könnte am Ende des ersten Teils 120 des Erweiterungs-BIOS plaziert sein.
  • Wie im Block 152 angegeben prüft der Einschalt-Selbsttest-Code das Erweiterungs-BIOS ab, indem er die Speicherzellen liest, auf welche das Erweiterungs-BIOS abgebildet wurde, und nach einer entsprechenden Erweiterungs-BIOS-Code-Abbildung, in diesem Fall der einzigen Code-Abbildung, die in dem ersten Teil 120 des Erweiterungs-BIOS 22 enthalten ist, sucht. Wenn keine entsprechende Code-Abbildung gefunden wird, wie im Entscheidungsblock 154 gezeigt ist, kehrt die Sequenz zum Block 56 zurück, um zu prüfen, ob weitere Geräte zu konfigurieren sind. Wenn jedoch eine richtige Code-Abbildung gefunden wird, geht die Sequenz zum Block 156, in dem der Einschalt-Selbsttest-Code eine Speicherzelle innerhalb des Hostsystem-RAM 106 bestimmt, in die der Erweiterungs-BIOS-Code aus dem Geräte-ROM 118 kopiert wird. Der Einschalt-Selbsttest-Code kopiert dann im Block 158 die Code-Abbildung aus dem Geräte-ROM 118 in den System-RAM 106. Dieses Kopieren umfaßt den ersten Teil 120 des Erweiterungs-BIOS und die weiter oben ausführlicher beschriebenen fingierten Daten. Wie im Block 160 angegeben ist, ruft der Einschalt-Selbsttest-Code den Initialisierungscode 124 des ersten Teils 120 des Erweiterungs-BIOS, der sich nun im System-RAM 106 befindet, auf und arbeitet den Initialisierungscode 124 ab.
  • Gemäß der Erfindung und wie im Block 162 angegeben ist, enthält der Initialisierungscode 124 gerade genügend Code, um das Computerperipheriegerät 114 mit Massenspeicher zu aktivieren und den zweiten Teil 128 des Erweiterungs-BIOS in den System-RAM 106 zu laden. Der Initialisierungscode 124 arbeitet den Initialisierungscode 134 des zweiten Teils 128, der sich nun im Host-RAM befindet, ab, wie im Block 164 gezeigt ist. Obwohl, in dem gegebenen Beispiel der Initialisierungscode 124 nur gerade soviel Code enthält, um die Massenspeichervorrichtung 114 zu aktivieren, den zweiten Teil 128 zu laden und den Initialisierungscode 134 abzuarbeiten, ist dies kein Erfordernis der Erfindung. Der Initialisierungscode 124 könnte mehr Code enthalten, solange wenigstens ein Teil des Erweiterungs-BIOS in dem Massenspeicher 114 gespeichert ist. Die bevorzugte Ausführungsform würde jedoch den Umfang des im ROM 118 gespeicherten Codes minimieren und dadurch die Kosten des ROM so weit wie möglich reduzieren. Im Block 166 konfiguriert der Initialisierungscode 134 ferner das Peripheriegerät 114 und installiert eine Software-Unterstützung auf Systemebene, die Unterbrechungs-Steuerprogramme, gerätespezifische Daten usw. enthält. Bei Abschluß des Initialisierungscodes 134 gibt dieser die Steuerung des Systems an den Einschalt-Selbsttest-Code zurück, wie im Block 168 gezeigt ist. Im Block 170 führt der Einschalt-Selbsttest-Code eine abschließende Initialisierung aus, etwa eine Markierung des Teils des System-RAM 106, der verwendet wird, um das Erweiterungs-BIOS zu speichern, das, nachdem der Initialisierungscode 134 ab gearbeitet worden ist, schreibgeschützt im System-RAM verbleibt. An diesem Punkt kehrt schließlich die Sequenz zum Entscheidungsblock 56 zurück, um zu prüfen, ob noch mehr Geräte vorhanden sind, die zu konfigurieren sind.
  • In einer zweiten Ausführungsform, die ebenfalls in 5 veranschaulicht ist, könnte das besondere Computerperipheriegerät die Form einer Vorrichtung oder einer Erweiterungskarte annehmen und damit von einem Massenspeicher-Computerperipheriegerät verschieden sein. Beispiele für eine solche Vorrichtung sind Videokarten, Multimediakarten, Netzwerkkarten oder andere Erweiterungskarten oder Peripheriegeräte, die ein Erweiterungs-BIOS enthalten. In dieser Ausführungsform enthält das Computersystem 100 eine Computerperipherieerweiterungskarte oder -vorrichtung 174, die ein zugeordnetes Erweiterungs-BIOS erfordert, das in den Hostrechner zu laden ist, um die Erweiterungskarte 174 zu initialisieren und/oder zu betreiben. Auf gleiche Weise wie weiter oben für die Vorrichtung 114 beschrieben, enthält die Erweiterungskarte 174 einen ROM 176, der einen ersten Teil 178 des Erweiterungs-BIOS enthält, das der Erweiterungskarte 174 zugeordnet ist. Jedoch wird in dieser Ausführungsform ein zweiter Teil 180 des Erweiterungs-BIOS, das der Erweiterungskarte 174 zugeordnet ist, im Massenspeicher der Vorrichtung 114 gespeichert. Dies ermöglicht, den überwiegenden Teil des Erweiterungs-BIOS für die Erweiterungskarte 174 im Massenspeicher 116 eines Massenspeicher-Peripheriegeräts 114 zu speichern. Die Funktionsweise dieser Ausführungsform wäre der weiter obenbeschriebenen ersten Ausführung bis auf die Tatsache, daß der kurze Initialisierungscode, der in dem ersten Teil 178 vorgesehen ist, der im ROM 176 enthalten ist, das Gerät 114 betreiben und auf den zweiten Teil 180 des Erweiterungs-BIOS, der der Erweiterungskarte 174 zugeordnet und im Massenspeicher 116 enthalten ist, zugreifen würde, gleich.
  • Obwohl sowohl die erste als auch die zweite soweit beschriebene Ausführungsform derart beschrieben worden sind, daß sie einen ROM 118 und einen ROM 176 enthalten, die sich in dem Computerperipheriegerät befinden, das das Laden von Erweiterungs-BIOS benötigt, um von dem Hostsystem initialisiert und/oder betrieben zu werden, ist dies kein Erfordernis. Alternativ könnte der ROM, der den ersten Teil des Erweiterungs-BIOS enthält, an anderen Orten innerhalb des Gesamtsystems vorgesehen sein. Ein Beispiel dafür könnte eine Situation sein, in welcher ein hochintegriertes System geschaffen wird, wie etwa eine abgeschlossene Kompaktbaugruppe, die eine besondere Gruppierung von Peripheriegeräten umfaßt. Wie 5 zeigt, könnten in dieser Situation der ROM 118 bzw. 176, die den ersten Teil des Erweiterungs-BIOS für das Gerät 114 bzw. das Gerät 174 enthalten, als Teil des System-ROM 108 vorgesehen sein. Der überwiegende Teil des Erweiterungs-BIOS, das den Peripheriegeräten zugeordnet ist, die in der Kompaktbaugruppe enthalten sind, in diesem Beispiel den Geräten 114 und 174, ist auf gleiche Art und Weise wie oben beschrieben in einer Massenspeichervorrichtung wie etwa einem Festplattenlaufwerk gespeichert. Der Erweiterungs-BIOS-ROM, der notwendig im System-ROM 108 enthalten sein muß, braucht nur groß genug zu sein, um Code zu enthalten, der das Festplattenlaufwerk betreibt und die Steuerung an den Initialisierungscode, der in dem Festplattenlaufwerk gespeichert ist, übergibt. Alle Erweiterungs-BIOS, die den verschiedenen, in der Kompaktbaugruppe enthaltenden Peripheriegeräten zugeordnet sind, könnten dann auf gleiche Weise wie oben beschrieben in den RAM des Hostsystems geladen werden. Jedoch wird in dieser Situation der erste Teil des Erweiterungs-BIOS für jedes Peripheriegerät als Teil des System-BIOS geliefert, weshalb das System-BIOS (d. h. der Einschalt-Selbsttest-Code in den vorhergehenden Beispielen) nicht wie weiter oben beschrieben nach diesen Peripheriegeräten suchen muß.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung könnte dieses allgemeine Verfahren benutzt werden, um die Größe des System-ROM, der innerhalb des Hostrechners erforderlich ist, zu verringern. Noch immer mit Bezug auf 5 ist in dieser Ausführungsform das System-BIOS 104, das im System-ROM 108 gespeichert ist, nur ein erster kleiner Teil des gesamten System-BIOS, das vom Hostrechner 102 gebraucht wird. Ein zweiter Teil 182 des System-BIOS ist auf gleiche Weise, wie weiter oben für das Erweiterungs-BIOS des Peripheriegeräts beschrieben ist, im Massenspeicher 116 der Massenspeichervorrichtung 114 gespeichert. Bei dieser Anordnung braucht der System-ROM 108 nur groß genug zu sein, um genügend Code zu speichern, der die Massenspeichervorrichtung 114 aktiviert und den zweiten Teil 182 in den System-RAM 106 lädt.
  • Mit Bezug auf das Ablaufdiagramm in 8 wird nun der Betrieb eines Systems, bei dem das System-BIOS in einen ersten Teil, der im System-ROM 108 gespeichert ist, und in einen zweiten Teil 182, der im Massenspeicher 116 der Massenspeichervorrichtung 114 gespeichert ist, unterteilt ist, ausführlich beschrieben. Nachdem der Computer wie im Block 184 angegeben eingeschaltet worden ist, findet bei dieser Anordnung der erste Teil des System-BIOS, der im System-ROM 108 gespeicher ist, die Massenspeichervorrichtung 114 (Block 186) und konfiguriert diese. Wie im Block 188 angegeben ist, enthält der erste Teil des System-BIOS Code, der eine akzeptable Adresse innerhalb des RAM 106 bestimmt, um den zweiten Teil 182 des System-BIOS auf diese zu laden. Als nächstes lädt in den Blöcken 190 und 192 der erste Teil des System-BIOS-Codes den zweiten Teil 182 des System-BIOS von der Massenspeichervorrichtung 114 in den System-RAM 106 und verarbeitet den zweiten Teil des System-BIOS, der sich nun im System-RAM befindet. An diesem Punkt übernimmt der zweite Teil des System-BIOS die Steuerung, wie im Block 194 angegeben ist, und das System setzt seinen Betrieb auf gleiche Weise fort, wie wenn das gesamte System-BIOS im ROM 104 bereitgestellt worden wäre.
  • Es sollte klar sein, daß dann, wenn der zweite Teil des System-BIOS in den RAM geladen und ausgeführt worden ist, das System in Übereinstimmung mit den obenbeschriebenen Vereinbarungen zum Laden irgendeines Erweiterungs-BIOS, das Peripheriegeräten zugeordnet ist, die an das System angeschlossen sind, fortfahren könnte. Als eine andere Möglichkeit könnte das Erweiterungs-BIOS wie nachfolgend ausführlich beschrieben geladen werden. Bei Anwendung dieser allgemeinen Methode könnte der überwiegende Teil des System-BIOS mit dem überwiegenden Teil oder sogar der Gesamtheit des Erweiterungs-BIOS der an das System angeschlossenen Peripheriegeräte statt in einem ROM im Massenspeicher einer Massenspeichervorrichtung, die an das System angeschlossen ist, gespeichert werden. Dadurch wird der überwiegende Teil der Kosten, die mit dem BIOS-ROM verbunden sind, der für das System-BIOS und das Erweiterungs-BIOS in einem typischen Computer-System erforderlich ist, eingespart. Außerdem könnten, wenn dasselbe Grundkonzept einen Schritt weiter geführt wird, weitere Komponenten eines typischen Computersystems ebenfalls wegfallen, indem die in diesen Komponenten gespeicherten Informationen in der Massenspeichervorrichtung gespeichert werden. Beispielsweise könnte ein batteriegestützter Speicher, der Systemkonfigurationsinformationen, Paßwörter oder beliebige andere Informationen, die typisch in einem ROM oder batteriegestützten Speicher gespeichert werden, enthalten könnte, ebenfalls wegfallen, dadurch daß diese Informationen in der Massenspeichervorrichtung gespeichert werden und während des Starts des Systems auf sie zugegriffen wird, wie weiter oben beschrieben ist.
  • In einer weiteren Ausführungsform der vorliegenden Erfindung entfällt die Notwendigkeit eines Erweiterungs-BIOS-ROM, der einem besonderen Computerperipheriegerät zugeordnet ist, vollständig. In 9 enthält ein Gesamtsystem 200 einen Hostrechner 102, ein System-BIOS 104, einen System-RAM 106, einen System-ROM 108, eine Host Bridge 112 und einen peripheren Bus 110 wie für die vorhergehenden Ausführungsformen beschrieben. Das System 200 enthält außerdem ein Massenspeicher-Computerperipheriegerät 202 mit einem Massenspeicher 204. In dieser Ausführungsform ist das gesamte dem Gerät 202 zugeordnete Erweiterungs-BIOS im Massenspeicher 204 gespeichert. Wie weiter oben für andere Ausführungsformen erwähnt wurde, könnte die Vorrichtung 202 die Form eines Festplattenlaufwerks, eines Compact Disc-Abspielgeräts oder irgendeine andere Form von Massenspeicher annehmen.
  • Die Massenspeichervorrichtung 202 enthält des weiteren einen Pufferspeicher 206 für die Speicherung von Dateneingaben und -ausgaben, die zum oder vom Massenspeicher 204 übertragen werden. Der Pufferspeicher 206 ist derart konfiguriert, daß er dem Hostsystem so erscheint, als ob er ein während des Starts des Systems im Gerät 202 installierter Erweiterungs-ROM wäre. Gemäß der vorliegenden Erfindung enthält die Vorrichtung 202 außerdem eine intelligente Start vorrichtung 208. Die Startvorrichtung 208 erfaßt, daß das System eingeschaltet wird und bewirkt in Reaktion auf den Start des Systems ein schnelles Einschalten der Massenspeichervorrichtung 202 und Laden wenigstens eines ersten Teils des Erweiterungs-BIOS in den Pufferspeicher 206. Die Vorrichtung 208 ist so konfiguriert, daß dieser erste Teil des Erweiterungs-BIOS schnell genug in den Pufferspeicher 206 geladen wird, so daß er für das Hostsystem zur Verfügung steht, wenn der Einschalt-Selbsttest die Vorrichtung 202 prüft, um festzustellen, ob sie Erweiterungs-BIOS erfordert. Dieser erste Teil des Erweiterungs-BIOS ist dem ersten Teil 120 des Erweiterungs-BIOS für die obenbeschriebene erste Ausführungsform ähnlich.
  • In 10 wird diese Ausführungsform nahezu genauso betrieben, wie für den Betrieb der im Ablaufdiagramm von 7 veranschaulichten Ausführungsform beschrieben wurde. Wie in 10 gezeigt ist, sind die ersten Blöcke 146 und 148 den weiter obenbeschriebenen gleich. Jedoch ist in dieser Ausführungsform, nachdem der Einschalt-Selbsttest-Code die Erweiterungs-ROM-Decodierung freigegeben hat, der Block 150 von 7 durch den Block 210 ersetzt, in dem das Gerät 202 seinen internen Pufferspeicher 206 als Erweiterungs-BIOS in den Systemspeicher abbildet, wobei an der Adresse begonnen wird, die der Einschalt-Selbsttest-Code an den Konfigurationsraum des Geräts lieferte. Auf gleiche Art und Weise, wie weiter oben für 7 ausführlich beschrieben worden ist, werden fingierte, erzeugte Daten auf den Überschuß-Systemspeicherbereich abgebildet, der von dem Konfigurationsraum des Geräts 202 angefordert wird. Das Gerät 202 bereitet seine interne Adreßdecodiereinrichtung darauf vor, den gesamten Speicheradressenbereich, der von seinem Konfigurationsraum auch dann angefordert wird, wenn in dem Gerät 202 kein ROM ist, zu decodieren.
  • Wie für vorhergehende Ausführungsformen beschrieben worden ist, prüft der Einschalt-Selbsttest-Code das Erweiterungs-BIOS ab, indem er die Speicherzellen ausliest, in welche das Erweiterungs-BIOS abgebildet worden war, und sucht nach einer entsprechenden Erweiterungs-BIOS-Code-Abbildung (Block 152). Wenn keine entsprechende Code-Abbildung gefunden wird, kehrt die Sequenz zum Block 56 zurück, um zu prüfen, ob weitere Geräte zu konfigurieren sind. Wenn jedoch eine richtige Code-Abbildung gefunden ist, geht die Sequenz zum Block 212, in dem der Einschalt-Selbsttest-Code eine Speicherzelle innerhalb des Hostsystem-RAM 106 bestimmt, in die der Erweiterungs-BIOS-Code aus dem Pufferspeicher 206 des Geräts 202 kopiert wird. Der Einschalt-Selbsttest-Code kopiert dann die Code-Abbildung aus dem Pufferspeicher 206 des Geräts 202 in den System-RAM 106, wie im Block 214 angegeben ist. Dieses Kopieren umfaßt den ersten Teil des Erweiterungs-BIOS und die oben ausführlicher beschriebenen fingierten, erzeugten Daten. Wie im Block 160 angegeben ist, ruft der Einschalt-Selbsttest-Code den Initialisierungscode auf, der im ersten Teil des Erweiterungs-BIOS enthalten ist, der sich nun im System-RAM 106 befindet, und arbeitet den Initialisierungscode ab. Der übrige Betrieb dieser Ausführungsform ist jenem, der weiter oben für das Ablaufdiagramm von 7 beschrieben worden ist, völlig gleich.
  • Als andere Möglichkeit könnte in einer weiteren Version dieser Ausführungsform der Pufferspeicher 206 als Erweiterungs-BIOS für die gesamte Erweiterungs-BIOS-Abbildung in den Hostsystemspeicher abgebildet werden, wodurch die Notwendigkeit der Teilung des Erweiterungs-BIOS in einen ersten und einen zweiten Teil entfallt. Diese Methode wird mit Bezug auf das Ablaufdiagramm von 11 beschrieben. Die Blöcke 54, 56, 146, 148 bleiben die gleichen wie in der weiter oben für 10 beschriebenen Ausführungsform. Jedoch bildet das Gerät 202 im Block 216 seinen Pufferspeicher 206 als Erweiterungs-BIOS für die gesamte Erweiterungs-BIOS-Abbildung in den Systemspeicher ab, wobei bei der Adresse begonnen wird, die der Einschalt-Selbsttest-Code an den Konfigurationsraum des Geräts 202 lieferte. Das Gerät 202 liest das Erweiterungs-BIOS aus seinem Massenspeicher in seinen Pufferspeicher aus und überträgt die Abbildung in den Systemspeicher. Wenn mehrere Abbildungen zur Verfügung stehen, werden sie ebenfalls in den Systemspeicher abgebildet. Die Vorrichtung bereitet ihre interne Decodiereinrichtung darauf vor, den gesamten Speicherbereich zu decodieren, selbst wenn in dem Gerät kein ROM vorhanden ist. Die Blöcke 152, 154 und 212 sind ebenfalls jenen, die weiter oben für 10 beschrieben wurden, völlig gleich. Im Block 218 kopiert der Einschalt-Selbsttest-Code jedoch die entsprechende Erweiterungs-BIOS-Abbildung, die das gesamte Erweiterungs-BIOS enthält, indem vom Pufferspeicher 206 des Geräts 202 der Massenspeicher 204 ausgelesen und an den System-RAM 106 übertragen wird. Von diesem Punkt an schreitet die Operation durch die Blöcke 76, 78, 80 und 82 so fort, als ob das Erweiterungs-BIOS vom ROM des Geräts geladen worden wäre, wie für das im Ablaufdiagramm von 4 gezeigte System des Standes der Technik beschrieben wurde.
  • Zurück zu 9, wo eine weitere Ausführungsform eine Anordnung liefert, bei welcher der einem besonderen Computerperipheriegerät, das von einer Massenspeichervorrichtung verschieden ist, zugeordnete Erweiterungs-BIOS-ROM insgesamt entfällt. In dieser Ausführungsform enthält das System 200 eine Computerperipherieerweiterungskarte oder -vorrichtung 220, die erfordert, daß ein zugeordnetes Erweiterungs-BIOS in den Hostrechner geladen wird, um die Erweiterungskarte 220 zu initialisieren und/oder zu betreiben. Auf gleiche Art und Weise, wie weiter oben für das Gerät 202 beschrieben ist, wird das der Erweiterungskarte 220 zugeordnete Erweiterungs-BIOS im Massenspeicher 204 der Vorrichtung 202 gespeichert. Die Funktion dieser Ausführungsform wäre der unmittelbar zuvor beschriebenen bis auf die Tatsache, daß der in dem Massenspeicher 204 gespeicherte Initialisierungscode sowohl den Initialisierungs- und Laufzeitcode für die Erweiterungskarte 220 als auch den Initialisierungs- und Laufzeitcode für das Gerät 202 umfassen würde, gleich.
  • Einer der Vorteile der vorliegenden Erfindung besteht darin, daß der Teil des Erweiterungs-BIOS, der im Massenspeicher gespeichert ist, leicht erweitert werden kann. In dem Fall, in dem der Massenspeicher ein Festplattenlaufwerk ist, könnte der Teil des Erweiterungs-BIOS in einem Teil des Massenspeichers gespeichert werden, auf den der Benutzer nicht zugreifen kann. Es könnten viele verschiedene Verfahren benutzt werden, um diesen Teil des Festplattenlaufwerks während des normalen Betriebs des Festplattenlaufwerks vor Zugriffen zu schützen. In dieser Situation könnte ein Dienstprogramm vorgesehen sein, das den Zugriff auf diesen geschützten Teil des Festplattenlaufwerks ermöglicht, wenn eine Aktualisierung oder Korrektur des Teils des Erweiterungs-BIOS, der auf dem Festplattenlaufwerk gespeichert ist, vorgenommen werden soll. Alle der obenbeschriebenen Ausführungsformen können diese Möglichkeit der Aktualisierung und Überarbeitung des Teils des Erweiterungs-BIOS, der in dem Massenspeicher des Massenspeicher-Peripheriegeräts des Systems gespeichert ist, vorteilhaft nutzen.
  • Das allgemeine Verfahren zum Speichern wenigstens eines Teils des Erweiterungs-BIOS im Massenspeicher ermöglicht außerdem, das Hostsystem für verschiedene Situationen unterschiedlich zu konfigurieren. Ein Beispiel dafür wäre, wenn das System verwendet wird, um ein bestimmtes Spiel laufen zu lassen oder eine Anwendung abzuarbeiten, was besser funktionieren könnte, wenn das System in einer Art konfiguriert ist, die vom normalen Betrieb des Systems abweicht. In dieser Situation könnte die Massenspeichervorrichtung ein Compact Disc-Abspielgerät sein, wobei das Spiel oder die Anwendung auf einer Compact Disc geliefert werden könnte. In Abhängigkeit davon, welche der obenbeschriebenen Methoden verwendet wird, würde die Compact Disc selbst wenigstens einen Teil des Erweiterungs-BIOS – wenn nicht gar das gesamte Erweiterungs-BIOS – enthalten. Dieses Erweiterungs-BIOS auf der Compact Disc würde den Initialisierungs- und Laufzeitcode für die Optimierung des Betriebs des Systems für das spezielle Spiel oder die spezielle auszuführende Anwendung enthalten.
  • Indem ein Teil des Erweiterungs-BIOS und/oder System-BIOS auf dem Massenspeicher des Massenspeicher-Peripheriegeräts gespeichert wird, könnte ein viel größeres Erweiterungs- und/oder System-BIOS vorgesehen werden, ohne die Kosten des Peripheriegeräts und/oder des Systems zu erhöhen. Wie weiter oben beschrieben worden ist, könnte dieses allgemeine Konzept zur Speicherung von Informationen, die während des Starts des Systems benötigt werden, die verschiedensten Betriebsdaten, Text oder andere Information enthalten, die die Funktionalität des Systems während des Systemstarts erhöhen. Ein besonderes Beispiel dafür ist die Fähigkeit, kompliziertere graphische Anzeigen während des Starts des System zu präsentieren, ohne daß irgendwo in dem System ein ROM großer Kapazität sein muß, der die gewünschten Graphikinformationen enthält.
  • Mit Bezug auf 12A wird die Funktionsweise eines Computersystems gemäß der Erfindung beschrieben, das fähig ist, während des Systemstarts bestimmte Graphikinformationen an das System zu liefern. Wie in den Blöcken 222 und 224 angegeben ist, wird der Computer eingeschaltet, und der Initialisierungscode des dem System zugeordneten BIOS übernimmt die Steuerung des Systems. Dieses BIOS könnte eines der verschiedenen, obenbeschriebenen BIOS-Anordnungen sein. An diesem Punkt führt der Initialisierungscode des BIOS eine Überprüfung aus, wie durch den Entscheidungsblock 226 angegeben ist, um festzustellen, ob das Computersystem Videographikspeicher enthält. Wenn kein Videographikspeicher vorhanden ist, setzt der Initialisierungscode des BIOS die Systemkonfigurierung fort, wie im Block 234 angegeben ist. Wenn jedoch ein Videographikspeicher vorhanden ist, wird die aktuelle Videospeicherebene auf aktiv gesetzt, und die Abbildung der aktuellen Videospeicherebene wird aus der Massenspeichervorrichtung direkt in den Videospeicher eingelesen, wie im Block 228 bzw. 230 gezeigt ist. Der Initialisierungscode des BIOS führt dann eine Überprüfung aus, um festzustellen, ob es weitere Videospeicherebenen gibt, die auszulesen sind, wie im Entscheidungsblock 232 angegeben ist. Wenn das so ist, werden die Blöcke 228 und 239 wiederholt, bis keine weiteren Videospeicherebenen auszulesen sind.
  • Es könnte, wobei nun auf 12B Bezug genommen wird, die gleiche grundlegende Methode, die oben für das Graphikbeispiel dargestellt worden ist, benutzt werden, um andere Betriebsdaten an das System zu liefern. Diese Betriebsdaten könnten Systemkonfigurationsinformationen, Daten, Text, Paßwörter oder beliebige andere Informationen, die während des Systemstarts von Nutzen sein könnten, enthalten, wobei sie jedoch nicht hierauf beschränkt sind. Wie weiter oben für 12A beschrieben ist, wird der Computer eingeschaltet, und der Initialisierungscode des dem System zugeordneten BIOS übernimmt die Steuerung des Systems, wie in den Blöcken 222 und 224 angegeben ist. An diesem Punkt führt der Initialisierungscode des BIOS eine Überprüfung aus, wie durch den Entscheidungsblock 236 angegeben ist, um festzustellen, ob die Massenspeichervorrichtung Betriebsdaten enthält, die in das System zu laden sind. Wenn keine Betriebsdaten vorhanden sind, fährt der Initialisierungscode des BIOS mit der Systemkonfigurierung fort, wie im Block 234 angegeben ist. Wenn jedoch Betriebsdaten vorhanden sind, bestimmt der Initialisierungscode die Speicherzelle, in welche die Betriebsdaten zu laden sind, und die Betriebsdaten werden aus der Massenspeichervorrichtung in den System-RAM eingelesen, wie im Block 238 bzw. 240 gezeigt ist. Der Initialisierungscode des BIOS führt dann eine Überprüfung aus, um festzustellen, ob es irgendwelche weiteren Betriebsdaten gibt, die einzulesen sind, wie im Entscheidungsblock 242 angegeben ist. Wenn das der Fall ist, werden die Blöcke 238 und 240 wiederholt, bis keine weiteren Betriebsdaten einzulesen sind.
  • Wie weiter oben erwähnt worden ist, könnten unter Verwendung der für die 12A und 128 beschriebenen Methode die Betriebsdaten oder Graphiken dem System während des Systemstarts geliefert werden, ohne für diese Informationen zusätzliche ROM-Speicherkapazitäten zu benötigen. Dies ermöglicht, während des Systemstarts viel mehr Informationen zu liefern, ohne die Kosten des Systems oder des Peripheriegeräts zu erhöhen. Diese Methode ermöglicht außerdem, die Kosten eines ROM oder anderer Speichertypen, wie etwa eines batteriegestützten Speichers, wie er gegenwärtig für diesen Zweck verwendet wird, einzusparen und somit die Kosten des Systems zu senken.
  • Obwohl der periphere Bus hier als ein PCI-Bus beschrieben worden ist, ist dies kein Erfordernis. Wie weiter oben erwähnt worden ist, könnte auch ein beliebiger peripherer Bus verwendet werden, der die Abbildung der Positionsadressen des Erweiterungs-BIOS in den System-Speicher anfordert, statt festgelegte, festverdrahtete Erweiterungs-BIOS-Positionsadressen zu erlauben. Außerdem ist selbstverständlich, daß in den Ausführungsformen, die den Erweiterungs-BIOS-ROM in einem besonderen Peripheriegerät vollständig entfallen lassen, das be sondere Peripheriegerät für andere Zwecke immer noch ROM enthalten könnte und trotzdem im Geltungsbereich der Erfindung bleibt.
  • Obwohl nur wenige spezifische Beispiele zur Schaffung einer Anordnung, in welcher wenigstens ein Teil des BIOS oder der Betriebsdaten in dem Massenspeicher eines Computerperipheriegeräts mit Massenspeicher gespeichert ist, beschrieben worden sind, sollte klar sein, daß die Erfindung eine breite Vielfalt von weiteren spezifischen Formen annehmen kann. Beispielsweise könnte in einem System, in dem verschiedene Peripheriegeräte an den Hostrechner angeschlossen sind, das Erweiterungs-BIOS für alle der Geräte auf der Massenspeichervorrichtung gespeichert sein. In diesem Beispiel könnte der erste Teil des Erweiterungs-BIOS für die Massenspeichervorrichtung wie weiter oben beschrieben in einen Pufferspeicher geladen werden oder könnte wie weiter oben beschrieben in einen Erweiterungs-BIOS-ROM geringer Größe gespeichert werden. Der zweite Teil des Erweiterungs-BIOS für die Massenspeichervorrichtung könnte zusammen mit dem Erweiterungs-BIOS für alle übrigen Peripheriegeräte in dem Massenspeicher der Massenspeichervorrichtung gespeichert sein, wobei der Zugriff durch den Gebrauch des ersten Teils des Erweiterungs-BIOS für die Massenspeichervorrichtung erfolgen könnte. Daher sind die dargestellten Beispiele als veranschaulichend und nicht als einschränkend zu betrachten; und die Erfindung ist nicht auf die hier gegebenen Einzelheiten zu beschränken, sondern könnte innerhalb des Geltungsbereichs der beigefügten Ansprüche modifiziert werden.

Claims (24)

  1. Verfahren zum Betreiben eines Computersystems (100; 200), wobei das Computersystem einen Hostrechner (102) umfaßt, der ein System-RAM (106) und ein Computerperipheriegerät (114; 202) mit Massenspeicher aufweist, dessen Masenspeicher mit dem Hostrechner, der zur Steuerung seines Betriebs ein BIOS verwendet, verbunden ist, wobei das Verfahren folgende Schritte umfaßt: a) es wird ein Speichermittel (108; 118; 176; 206) bereitgestellt, auf das der Hostrechner während des Startens des Computersystems zugreifen kann und das einen ersten Teil (104; 120; 178) des BIOS enthält; b) es wird ein zweiter Teil des BIOS im Massenspeicher (116; 204) des Computerperipheriegeräts (114; 202) mit Massenspeicher gespeichert; und c) es wird der Hostrechner (102) veranlaßt, auf das Speichermittel (108; 118; 176; 206) zuzugreifen, den ersten Teil (104; 120; 178) des BIOS aufzunehmen, und danach wird durch den Gebrauch des ersten Teils des BIOS der Hostrechner (102) veranlaßt, auf den Massenspeicher (116; 204) des Computerperipheriegeräts (114; 202) mit Massenspeicher zuzugreifen, den zweiten Teil des BIOS, der im Massenspeicher des Computerperipheriegeräts mit Massenspeicher gespeichert ist, aufzunehmen und den zweiten Teil des BIOS im System-RAM (106) zu speichern, dadurch gekennzeichnet, daß der Schritt, bei dem der Hostrechner (102) veranlaßt wird, auf den ersten Teil (104; 120; 178) des BIOS zuzugreifen und ihn aufzunehmen, den Schritt umfaßt, daß es für den Hostrechner den Anschein hat, daß der erste Teil des BIOS die angeforderte Größe des BIOS aufweist, obwohl der erste Teil des BIOS kleiner als die angeforderte Größe ist.
  2. Verfahren nach Anspruch 1, bei dem das Computerperipheriegerät mit Massenspeicher einen für den Hostrechner (102) verfügbaren PCI-Konfigurationsraum umfaßt, der Informationen über eine angeforderte Größe des BIOS enthält, und das Verfahren darüber hinaus den Schritt umfaßt, daß der Hostrechner veranlaßt wird, die angeforderte Größe des BIOS vom PCI-Konfigurationsraum aufzunehmen.
  3. Verfahren nach Anspruch 1 oder 2, bei dem das Speichermittel ein permanentes Speichermittel ist.
  4. Verfahren nach Anspruch 1 oder 2, bei dem a) das System ein besonderes mit dem Hostrechner (102) unter Verwendung eines peripheren Busses (110) verbundenes Computerperipheriegerät (202; 220) umfaßt, worin verlagerbare Plazierungsadressen eines Erweiterungs-BIOS erlaubt sind; b) das BIOS Erweiterungs-BIOS ist, das dem besonderen Computerperipheriegerät zugeordnet ist, wobei das Erweiterungs-BIOS einen ersten und einen zweiten Teil umfaßt; c) der Schritt, bei dem der zweite Teil des BIOS gespeichert wird, den Schritt umfaßt, daß ein zweiter Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät (202; 220) zugeordnet ist, in dem Massenspeichermittel (204) des Computerperipheriegeräts (202) mit Massenspeicher gespeichert wird; d) das Computerperipheriegerät (202) mit Massenspeicher einen Pufferspeicher (206) umfaßt; e) der Hostrechner (102) und das besondere Computerperipheriegerät (202; 220) unter Verwendung eines PCI-Busses miteinander verbunden sind; f) der Schritt, bei dem der Hostrechner (102) veranlaßt wird, auf die Mittel zum Speichern zuzugreifen, den Schritt umfaßt, daß der Hostrechner veranlaßt wird, beim Betriebsbeginn des Systems einen Einschalt-Selbsttest nach dem PCI-Protokoll durchzuführen; g) vor dem Schritt, bei dem der Hostrechner (102) veranlaßt wird, auf das Speichermittel zuzugreifen, der Schritt umfaßt wird, daß der erste Teil des Erweiterungs-BIOS, das dem besonderen Computer-Peripheriegerät zugeordnet ist, während der Dauer des Einschalt-Selbsttests in den Pufferspeicher (206) des Computerperipheriegeräts (202) mit Massenspeicher geladen wird; h) der Schritt zum Erhalten des ersten Teils des Erweiterungs-BIOS umfaßt, daß auf den Pufferspeicher (206) zugegriffen wird, um den ersten Teil des Erweiterungs-BIOS aufzunehmen; und i) der Schritt, bei dem der Hostrechner (102) veranlaßt wird, auf das Erweiterungs-BIOS, das dem besonderen Computer-Peripheriegerät zugeordnet ist, zuzugreifen, den Schritt umfaßt, daß das PCI-Protokoll genutzt wird, um den Hostrechner zu veranlassen, auf das Erweiterungs-BIOS zuzugreifen.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem der Schritt, bei dem für den Hostrechner der Anschein erweckt wird, daß der erste Teil des BIOS die Größe des angeforderten BIOS aufweist, den Schritt umfaßt, daß Überschußinformationen zusammen mit dem ersten Teil des BIOS so im System-RAM gespeichert werden, daß die Kombination aus den Überschußinformationen und dem ersten Teil des BIOS mengenmäßig der angeforderten Größe entspricht.
  6. Verfahren nach einem der Ansprüche 1 bis 3 oder nach Anspruch 5, wenn rückbezogen auf einen der Ansprüche 1 bis 3, bei dem das BIOS System-BIOS (104) ist, das dem Hostrechner zugeordnet ist.
  7. Verfahren nach Anspruch 6, bei dem der Schritt, bei dem das Speichermittel bereitgestellt wird, den Schritt umfaßt, daß das Speichermittel als Teil des Hostrechners (102) bereitgestellt wird.
  8. Verfahren nach einem der Ansprüche 1 bis 5, bei dem das BIOS Erweiterungs-BIOS ist, das einem besonderen Computerperipheriegerät (114; 174; 202; 220) zugeordnet ist.
  9. Verfahren nach Anspruch 8, bei dem der Schritt, bei dem das Speichermittel bereitgestellt wird, den Schritt umfaßt, daß das Speichermittel als Teil des besonderen Computerperipheriegeräts bereitgestellt wird.
  10. Verfahren nach Anspruch 8 oder 9, bei dem das besondere Computerperipheriegerät das Computerperipheriegerät (114; 202) mit Massenspeicher ist.
  11. Verfahren nach einem der Ansprüche 1 bis 3 oder Anspruch 5, wenn rückbezogen auf einen der Ansprüche 1 bis 3, bei dem das BIOS System-BIOS (104), das dem Hostrechner (102) zugeordnet ist, und Erweiterungs-BIOS ist, das einem besonderen Computerperipheriegerät zugeordnet ist.
  12. Verfahren nach einem der Ansprüche 1 bis 3 und 5 bis 10, außer wenn rückbezogen auf Anspruch 4, bei dem der Schritt, bei dem das Speichermittel bereitgestellt wird, den Schritt umfaßt, daß ein permanentes Speichermittel in Form eines ROM (108; 118; 176) bereitgestellt wird.
  13. Verfahren nach Anspruch 12, bei dem a) das System ein besonderes mit dem Hostrechner (102) durch Verwendung eines peripheren Busses (110) verbundenes Computerperipheriegerät (114; 174) umfaßt, worin verlagerbare Plazierungsadressen des Erweiterungs-BIOS erlaubt sind; b) das BIOS ein Erweiterungs-BIOS ist, das dem besonderen Computerperipheriegerät (114; 174) zugeordnet ist; c) der Schritt, bei dem der zweite Teil des BIOS gespeichert wird, den Schritt umfaßt, daß ein zweiter Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, in dem Massenspeichermittel (116) des Computerperipheriegeräts (114) mit Massenspeicher gespeichert wird; d) der Schritt, bei dem der Hostrechner veranlaßt wird, auf das Massenspeichermittel zuzugreifen, den Schritt umfaßt, daß der Hostrechner (102) veranlaßt wird, auf das ROM-Speichermittel zuzugreifen, den ersten Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, zu erhalten und danach durch den Gebrauch des ersten Teils des Erweiterungs-BIOS der Hostrechner veranlaßt wird, (i) auf das Massenspeichermittel (116) des Computerperipheriegeräts (114) mit Massenspeicher zuzugreifen, (ii) den zweiten Teil des Erweiterungs-BIOS, das dem besonderen Computerperiphertegerät (114; 174) zugeordnet ist und sich im dem Massenspeichermittel (116) des Computerperipheriegeräts (114) mit Massenspeicher befindet, zu erhalten und (iii) den zweiten Teil des Erweiterungs-BIOS im System-RAM (106) zu speichern.
  14. Verfahren nach Anspruch 13, bei dem das besondere Computerperipheriegerät das Computerperipheriegerät (114) mit Massenspeicher ist.
  15. Verfahren nach Anspruch 13 oder Anspruch 14, bei dem der Hostrechner (102) seinen eigenen ROM-Speicher (108) umfaßt und bei dem der Schritt, bei dem der erste Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät (114; 174) zugeordnet ist, im ROM-Speichermittel gespeichert wird, den Schritt umfaßt, daß der erste Teil des Erweiterungs-BIOS im ROM-Speichermittel (118; 176) gespeichert wird, das von dem eigenen ROM-Speicher (108) des Computers getrennt ist.
  16. Verfahren nach Anspruch 13, bei dem der Hostrechner (102) und das besondere Computerperipheriegerät durch den Gebrauch eines PCI-Busses miteinander verbunden werden und bei dem der Schritt, daß der Hostrechner (102) veranlaßt wird, auf den ersten und den zweiten Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät (114; 174) zugeordnet ist, zuzugreifen, den Schritt umfaßt, daß ein PCI-Protokoll verwendet wird, um den Hostrechner zu veranlassen, auf den ersten und den zweiten Teil des Erweiterungs-BIOS zuzugreifen.
  17. Verfahren nach einem der Ansprüche 13 bis 16, bei dem das Massenspeichermittel (116) ein Festplattenlaufwerk ist und bei dem der Schritt, bei dem der zweite Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, gespeichert wird, den Schritt umfaßt, daß der zweite Teil des Erweiterungs-BIOS im Speicher des Festplattenlaufwerks gespeichert wird.
  18. Verfahren nach Anspruch 17, bei dem der Schritt, bei dem der zweite Teil des Erweiterungs-BIOS im Speicher des Festplattenlaufwerks gespeichert wird, den Schritt umfaßt, daß der zweite Teil des Erweiterungs-BIOS in einem Teil des Massenspeichers des Festplattenlaufwerks gespeichert wird, auf den Benutzer nicht zugreifen können.
  19. Verfahren nach Ansprüche 13, bei dem das Massenspeichermittel (116) ein Compactdisk-Abspielgerät ist und bei dem der Schritt, bei dem der zweite Teil des Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät zugeordnet ist, gespeichert wird, den Schritt umfaßt, daß der zweite Teil des Erweiterungs-BIOS im Speicher einer Compactdisk gespeichert wird, die von einem Compactdisk-Abspielgerät gelesen werden kann.
  20. Verfahren nach Anspruch 13, bei dem das besondere Computerperipheriegerät (174) eine Videokarte ist.
  21. Verfahren nach Anspruch 13, bei dem das besondere Computerperipheriegerät (174) eine Netzwerkkarte ist.
  22. Verfahren nach Anspruch 4 oder, wenn rückbezogen auf Anspruch 4, nach einem der Ansprüche 8 bis 10, bei dem das Massenspeichermittel (204) ein Festplattenlaufwerk ist und bei dem der Schritt, bei dem das Erweiterungs-BIOS gespeichert wird, den Schritt umfaßt, daß das gesamte Erweiterungs-BIOS im Speicher des Festplattenlaufwerks gespeichert wird.
  23. Verfahren nach Anspruch 22, bei dem der Schritt, bei dem das Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät (202; 220) zugeordnet ist, im Speicher des Festplattenlaufwerks gespeichert wird, den Schritt umfaßt, daß das gesamte Erweiterungs-BIOS in einem Teil des Massenspeichers des Festplattenlaufwerks gespeichert wird, auf den Benutzer nicht zugreifen können.
  24. Verfahren nach Anspruch 4 oder, oder, wenn rückbezogen auf Anspruch 4, nach einem der Ansprüche 8 bis 10, bei dem das Massenspeichermittel (204) ein Compactdisk-Abspielgerät ist und bei dem der Schritt, bei dem das Erweiterungs-BIOS, das dem besonderen Computerperipheriegerät (202; 220) zugeordnet ist, gespeichert wird, den Schritt umfaßt, daß das gesamte Erweiterungs-BIOS in einem Teil des Speichers einer Compactdisk gespeichert wird, der von einem Compactdisk-Abspielgerät gelesen werden kann.
DE69627814T 1995-10-13 1996-10-13 System zum bereitstellen eines bios für den hauptrechner Expired - Lifetime DE69627814T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US542690 1995-10-13
US08/542,690 US5835760A (en) 1995-10-13 1995-10-13 Method and arrangement for providing BIOS to a host computer
PCT/US1996/016220 WO1997014095A1 (en) 1995-10-13 1996-10-13 System for providing bios to host computer

Publications (2)

Publication Number Publication Date
DE69627814D1 DE69627814D1 (de) 2003-06-05
DE69627814T2 true DE69627814T2 (de) 2004-04-08

Family

ID=24164881

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69627814T Expired - Lifetime DE69627814T2 (de) 1995-10-13 1996-10-13 System zum bereitstellen eines bios für den hauptrechner

Country Status (6)

Country Link
US (1) US5835760A (de)
EP (1) EP0797800B1 (de)
JP (2) JPH11502045A (de)
AU (1) AU7263496A (de)
DE (1) DE69627814T2 (de)
WO (1) WO1997014095A1 (de)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
US5999743A (en) * 1997-09-09 1999-12-07 Compaq Computer Corporation System and method for dynamically allocating accelerated graphics port memory space
US6009522A (en) * 1997-09-30 1999-12-28 Micron Electronics, Inc. Attachment or integration of a BIOS device into a computer system using the system memory data bus
US6076118A (en) * 1997-09-30 2000-06-13 Micron Electronics, Inc. Attachment or integration of a BIOS device into a computer system using the system memory address and data bus
US6003103A (en) * 1997-09-30 1999-12-14 Micron Electronics, Inc. Method for attachment or integration of a bios device into a computer system using a local bus
US6182213B1 (en) * 1997-09-30 2001-01-30 Micron Electronics, Inc. Method for attachment of a bios device into a computer system using the system memory data bus
US6069613A (en) * 1997-10-16 2000-05-30 Phoenix Technologies Ltd. Basic input-output system (BIOS) read-only memory (ROM) including expansion table for expanding monochrome images into color image
US6823435B1 (en) 1997-11-20 2004-11-23 Advanced Micro Devices, Inc. Non-volatile memory system having a programmably selectable boot code section size
US6009520A (en) * 1997-12-10 1999-12-28 Phoenix Technologies, Ltd Method and apparatus standardizing use of non-volatile memory within a BIOS-ROM
US6560702B1 (en) 1997-12-10 2003-05-06 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation
US6061751A (en) * 1998-03-09 2000-05-09 Texas Instruments Incorporated Computer system with controller circuit of an associated mass storage peripheral device located remotely from the device in the host computer
SG90038A1 (en) * 1998-03-09 2002-07-23 Texas Instruments Inc Mass storage peripheral device with associated personality rom
US6212588B1 (en) * 1998-03-09 2001-04-03 Texas Instruments Incorporated Integrated circuit for controlling a remotely located mass storage peripheral device
US6195216B1 (en) * 1998-03-09 2001-02-27 Texas Instruments Incorporated Mass storage peripheral device with operating circuitry and programs located remotely therefrom
US5968174A (en) * 1998-03-19 1999-10-19 Bay Networkds, Inc. Method and apparatus for implementing a 32-bit operating system which supports 16-bit code
US6243809B1 (en) * 1998-04-30 2001-06-05 Compaq Computer Corporation Method of flash programming or reading a ROM of a computer system independently of its operating system
US6119192A (en) * 1998-10-21 2000-09-12 Integrated Technology Express, Inc. Circuit and method for configuring a bus bridge using parameters from a supplemental parameter memory
KR100284430B1 (ko) * 1998-12-18 2001-04-02 구자홍 프로그램 갱신 방법 및 장치
TW408286B (en) * 1998-12-18 2000-10-11 Inventec Corp Software pre-installation method
US6546489B1 (en) 1999-03-04 2003-04-08 Western Digital Ventures, Inc. Disk drive which provides a secure boot of a host computer system from a protected area of a disk
US6401198B1 (en) * 1999-03-09 2002-06-04 Texas Instruments Incorporated Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
US6446139B1 (en) * 1999-06-28 2002-09-03 Adaptec, Inc. Multiple chip single image BIOS
JP2001022680A (ja) * 1999-07-06 2001-01-26 Seiko Epson Corp コンピュータ周辺機器
US7872871B2 (en) * 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Molding methods to manufacture single-chip chip-on-board USB device
US7447037B2 (en) * 1999-08-04 2008-11-04 Super Talent Electronics, Inc. Single chip USB packages by various assembly methods
US8102662B2 (en) 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US20070292009A1 (en) * 1999-08-04 2007-12-20 Super Talent Electronics, Inc. Press/Push USB Flash Drive With Deploying And Retracting Functionalities With Elasticity Material And Fingerprint Verification Capability
US8141240B2 (en) 1999-08-04 2012-03-27 Super Talent Electronics, Inc. Manufacturing method for micro-SD flash memory card
US7466556B2 (en) * 1999-08-04 2008-12-16 Super Talent Electronics, Inc. Single chip USB packages with swivel cover
US7535719B2 (en) * 1999-08-04 2009-05-19 Super Talent Electronics, Inc. Single chip USB packages with contact-pins cover
US7830666B2 (en) 2000-01-06 2010-11-09 Super Talent Electronics, Inc. Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board
US7103684B2 (en) * 2003-12-02 2006-09-05 Super Talent Electronics, Inc. Single-chip USB controller reading power-on boot code from integrated flash memory for user storage
US6622244B1 (en) * 1999-08-11 2003-09-16 Intel Corporation Booting from a reprogrammable memory on an unconfigured bus by modifying boot device address
US6567911B1 (en) * 1999-12-06 2003-05-20 Adaptec, Inc. Method of conserving memory resources during execution of system BIOS
US20080286990A1 (en) * 2003-12-02 2008-11-20 Super Talent Electronics, Inc. Direct Package Mold Process For Single Chip SD Flash Cards
US6611912B1 (en) * 2000-02-04 2003-08-26 Advanced Micro Devices, Inc. Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard
US6195749B1 (en) * 2000-02-10 2001-02-27 Advanced Micro Devices, Inc. Computer system including a memory access controller for using non-system memory storage resources during system boot time
US6754759B1 (en) * 2000-03-08 2004-06-22 Intel Corporation Transfer of information between devices on different buses
US6760785B1 (en) * 2000-03-29 2004-07-06 Unisys Corporation Method, apparatus, and computer program product for establishing communications between an adapter card and a host processor running in a bios supported environment
US6529989B1 (en) * 2000-05-03 2003-03-04 Adaptec, Inc. Intelligent expansion ROM sharing bus subsystem
US7089494B1 (en) * 2000-07-07 2006-08-08 American Megatrends, Inc. Data structure, methods, and computer program products for storing text data strings used to display text information on a display terminal
US6633976B1 (en) * 2000-08-10 2003-10-14 Phoenix Technologies Ltd. Method of storing BIOS modules and transferring them to memory for execution
US6833792B1 (en) * 2001-03-30 2004-12-21 Bellsouth Intellectual Property Corporation Battery capacity indicator in a portable computing device
US6879259B1 (en) 2001-03-30 2005-04-12 Bellsouth Intellectual Property Corporation Battery voltage indicator in a portable computing device
US20020157010A1 (en) * 2001-04-24 2002-10-24 International Business Machines Corporation Secure system and method for updating a protected partition of a hard drive
US20030110369A1 (en) * 2001-12-11 2003-06-12 Fish Andrew J. Firmware extensions
TWI241522B (en) * 2001-12-14 2005-10-11 Mitac Technology Corp Computer equipment
US7243347B2 (en) * 2002-06-21 2007-07-10 International Business Machines Corporation Method and system for maintaining firmware versions in a data processing system
US6925365B2 (en) * 2002-08-05 2005-08-02 Daimlerchrysler Corporation Flash loader for vehicle electronic control units
US7681027B2 (en) * 2002-12-12 2010-03-16 Intel Corporation Methods and apparatus for providing self-describing media
US20040123089A1 (en) * 2002-12-20 2004-06-24 Bodily Melvin Dirk Method of field upgradeable boot code
EP1503284A1 (de) * 2003-08-01 2005-02-02 Hewlett-Packard Development Company, L.P. Datenverarbeitungssystem und Verfahren
EP1725922A4 (de) * 2003-10-30 2008-11-12 Lavastorm Technologies Inc Verfahren und systeme zur automatisierten datenverarbeitung
US7178019B2 (en) * 2003-11-13 2007-02-13 Hewlett-Packard Development Company, L.P. Networked basic input output system read only memory
US7872873B2 (en) 2003-12-02 2011-01-18 Super Talent Electronics, Inc. Extended COB-USB with dual-personality contacts
US7440286B2 (en) * 2005-04-21 2008-10-21 Super Talent Electronics, Inc. Extended USB dual-personality card reader
US8998620B2 (en) * 2003-12-02 2015-04-07 Super Talent Technology, Corp. Molding method for COB-EUSB devices and metal housing package
US8102657B2 (en) 2003-12-02 2012-01-24 Super Talent Electronics, Inc. Single shot molding method for COB USB/EUSB devices with contact pad ribs
US7869219B2 (en) 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US7296143B2 (en) * 2004-06-22 2007-11-13 Lenovo (Singapore) Pte. Ltd. Method and system for loading processor boot code from serial flash memory
US20080195817A1 (en) * 2004-07-08 2008-08-14 Super Talent Electronics, Inc. SD Flash Memory Card Manufacturing Using Rigid-Flex PCB
US7353377B2 (en) * 2004-09-10 2008-04-01 Intel Corporation Remotely providing basic input/output system to a client system
US7603562B2 (en) * 2005-02-02 2009-10-13 Insyde Software Corporation System and method for reducing memory requirements of firmware
US20070150685A1 (en) * 2005-12-28 2007-06-28 Gbs Laboratories Llc Computer architecture for providing physical separation of computing processes
CN200990079Y (zh) * 2006-12-29 2007-12-12 鸿富锦精密工业(深圳)有限公司 Bios芯片扩充装置
KR100891390B1 (ko) 2007-03-15 2009-04-02 주식회사 하이닉스반도체 마이크로 컨트롤러 및 업데이트 방법
US8254134B2 (en) * 2007-05-03 2012-08-28 Super Talent Electronics, Inc. Molded memory card with write protection switch assembly
US8819384B1 (en) * 2007-05-17 2014-08-26 Marvell International Ltd. Method and system for embedded virtual memory management
US7850468B2 (en) 2007-06-28 2010-12-14 Super Talent Electronics, Inc. Lipstick-type USB device
US8102658B2 (en) 2007-07-05 2012-01-24 Super Talent Electronics, Inc. Micro-SD to secure digital adaptor card and manufacturing method
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US8241047B2 (en) 2007-10-30 2012-08-14 Super Talent Electronics, Inc. Flash drive with spring-loaded swivel connector
US8116083B2 (en) 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
US8631221B2 (en) * 2008-02-22 2014-01-14 Cisco Technology, Inc. Method and apparatus for allocating host memory for a memory-less add-on devices
US20130007348A1 (en) * 2011-07-01 2013-01-03 Apple Inc. Booting Raw Memory from a Host
JP6331724B2 (ja) * 2014-06-05 2018-05-30 富士通株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4641308A (en) * 1984-01-03 1987-02-03 Texas Instruments Incorporated Method of internal self-test of microprocessor using microcode
US4663707A (en) * 1984-05-25 1987-05-05 Scientific Micro Systems, Inc. Multilevel bootstrap apparatus
JPH01154226A (ja) * 1987-12-10 1989-06-16 Nec Corp Bios内蔵ハードディスク装置システム
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
US5136713A (en) * 1989-08-25 1992-08-04 International Business Machines Corporation Apparatus and method for decreasing the memory requirements for bios in a personal computer system
GB9012949D0 (en) * 1989-08-25 1990-08-01 Ibm An apparatus and method for loading bios from a diskette in a personal computer system
US5355489A (en) * 1989-08-25 1994-10-11 International Business Machines Corp. Bios load for a personal computer system having a removable processor card
EP0429252B1 (de) * 1989-11-17 1998-01-14 Digital Equipment Corporation System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format
US5128995A (en) * 1990-07-23 1992-07-07 International Business Machines Corp. Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5230052A (en) * 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
EP0489227B1 (de) * 1990-12-06 1998-12-23 Tandberg Data Asa Datenspeicherungssystem mit auswechselbaren Medien zum Laden eines Steuerprogrammes von den auswechselbaren Medien
US5446898A (en) * 1992-06-22 1995-08-29 International Business Machines Corporation Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system
US5495611A (en) * 1992-06-22 1996-02-27 International Business Machines Corporation Method and apparatus for dynamic load of an ABIOS device support layer in a computer system
US5465357A (en) * 1992-06-22 1995-11-07 International Business Machines Corporation Method and apparatus for an automated dynamic load of an ABIOS device support layer in a computer system
US5481709A (en) * 1992-06-22 1996-01-02 International Business Machines Corporation Method and apparatus for providing a modular ABIOS device support layer in a computer system
US5680556A (en) * 1993-11-12 1997-10-21 International Business Machines Corporation Computer system and method of operation thereof wherein a BIOS ROM can be selectively locatable on diffeent buses
JP3382337B2 (ja) * 1994-02-04 2003-03-04 キヤノン株式会社 情報処理システム及び電子機器及び制御方法
US5671413A (en) * 1994-10-31 1997-09-23 Intel Corporation Method and apparatus for providing basic input/output services in a computer
US5608876A (en) * 1995-05-22 1997-03-04 International Business Machines Corporation Add-in board with enable-disable expansion ROM for PCI bus computers
US5694600A (en) * 1996-02-09 1997-12-02 Iomega Corporation Methods and apparatus for booting a computer having a removable media disk drive

Also Published As

Publication number Publication date
EP0797800B1 (de) 2003-05-02
EP0797800A1 (de) 1997-10-01
EP0797800A4 (de) 1999-01-13
JP2006196018A (ja) 2006-07-27
JPH11502045A (ja) 1999-02-16
WO1997014095A1 (en) 1997-04-17
AU7263496A (en) 1997-04-30
US5835760A (en) 1998-11-10
DE69627814D1 (de) 2003-06-05

Similar Documents

Publication Publication Date Title
DE69627814T2 (de) System zum bereitstellen eines bios für den hauptrechner
DE10003108B4 (de) Verfahren und Computersystem zum Durchführen einer Softwareinstallation
DE10297281B4 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE69630355T2 (de) Dynamische gerätanpassung unter verwendung von treiber-kandidatlisten
DE60005563T2 (de) Rechnersysteminitialisierung durch in einem speicher mit sequentiellem zugriff gespeicherten urlade-code
DE69534867T2 (de) Verfahren und System zur Lieferung geschützter Gerätetreiber
DE3808168C2 (de) Digitalrechner mit steckbarer erweiterungskarte
DE4026912A1 (de) Computersystem
DE4329336C2 (de) Einrichtung und Verfahren zur Identifizierung eines Computer-Mikroprozessors
DE69821844T2 (de) Verfahren zur automatischen Installierung und übertragung von Daten auf ein Rechnerplattenlaufwerk
DE60210434T2 (de) Betriebssystemselektor und Datenplattenspeicher
DE4026911A1 (de) Computersystem
DE102006047979B4 (de) Datenverarbeitungssystem, Verfahren und Computerprogrammprodukt zum Ausführen einer Testroutine in Verbindung mit einem Betriebssystem
DE60222994T2 (de) Konfigurierbare messvorrichtung
DE10085013B3 (de) Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen
DE60018807T2 (de) Verfahren und vorrichtung zur wiederherstellung der konfiguration eines rechners
DE60006779T2 (de) Verfahren zum schreiben eines geänderten bios codes in den rompeicherchip einer hostschnittstelle
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE4244266C2 (de) Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel
DE102005019842B4 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE4312250B4 (de) Computer-System, das zum Betrieb sowohl in einer ersten wie auch in einer zweiten Bytereihenfolge-Betriebsart fähig ist, sowie ein Verfahren zum Booten eines solchen Computer-Systems
DE102004049454B4 (de) Verfahren zur Benutzung von Featuremarkern zur Bestimmung der Kompatibilität zwischen Bios-Revisionen und installierter Hardware bei der Flash-Aktualisierung
DE60100848T2 (de) Virtuelles rom für geräte-aufzählung
DE10393859B4 (de) Entkoppelter Hardwarekonfigurationsmanager
DE19918640A1 (de) Verfahren und System zum Liefern einer kundenspezifischen Softwareinstallation an ein Computersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition