-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft den Bereich Computersysteme. Genauer
gesagt, bezieht sich diese Erfindung auf einen Prozessor für ein erweiterbares
(upgradable) Multiprozessor-Computersystem, das eine externe Anzeige
des Systembus-Besitzes zur Verfügung
stellt.
-
2. HINTERGRUND:
-
Früher hatten
herkömmliche
Computersysteme typischerweise einen einzigen Hauptprozessor. Üblicherweise
ist so ein Hauptprozessor mit einem Systembus gekoppelt, der die
Kommunikation mit einer Vielzahl von Eingabe-/Ausgabegeräten ermöglicht.
In so einem Computersystem ruft der Hauptprozessor üblicherweise über den
Systembus einen Befehlsstrom von einem Speichersubsystem ab und führt jeden
Befehl in dem Befehlsstrom aus. So ein Hauptprozessor unterhält typischerweise
einen Satz von Datenstrukturen im Speichersubsystem und führt über den
Systembus Eingabe-/Ausgabezugriffe auf die Eingabe-/Ausgabegeräte aus.
-
So
ein bekanntes Einzelprozessorsystem implementiert normalerweise
einen Interrupt-Mechanismus für
die Behandlung von externen Hardwareausnahmen im System. Zum Beispiel
verursacht eine Eingabe-/Ausgabegeräte-Steuereinrichtung in so
einem System typischerweise einen Systeminterrupt beim Hauptprozessor,
wenn versucht wird, auf ein Eingabe-/Ausgabegerät zuzugreifen, das sich im abgeschalteten
oder angehaltenen Zustand befindet. Der Systeminterrupt zeigt dem
Hauptprozessor an, dass das Eingabe-/Ausgabegerät eine Ausnahmebehandlung erfordert. Üblicherweise übergibt
der Systeminterrupt die Steuerung des Hauptprozessors an eine Interrupt-Routine,
die die Energieversorgung des abgeschalteten oder angehaltenen Eingabe-/Ausgabegerätes wiederherstellt.
Danach gibt der Hauptprozessor noch einmal den Eingabe-/Ausgabezugriff
auf das Eingabe-/Ausgabegerät
aus und fährt mit
der normalen Ausführung
fort.
-
Andere
bekannte Computersysteme konnten mehrere Hauptprozessoren haben,
um die Leistung der Befehlsausführung
zu verbessern. Typischerweise ist jeder Hauptprozessor in einem
solchen System mit einem Systembus verbunden, der die Kommunikation
mit einem Speichersubsystem und einem Satz von Eingabe-/Ausgabegeräten sicherstellt.
Im Vergleich zu einem System mit einem einzigen Hauptprozessor haben
solche Multiprozessorsysteme normalerweise eine bessere Leistung
bei der Befehlsausführung,
weil die Befehlsausführungsfunktionen von
mehreren Hauptprozessoren geteilt verwendet werden.
-
Ein
solches Multiprozessor-Computersystem stellt typischerweise Mechanismen
zur gemeinsamen Verwendung des externen Speicher-Subsystems und
der mit dem Systembus gekoppelten Eingabe-/Ausgabegeräte durch
die mehreren Hauptprozessoren zur Verfügung. Zum Beispiel implementieren
solche bekannten Multiprozessorsystem normalerweise einen Buszuteilungsmechanismus,
der es jedem Hauptprozessor ermöglicht,
Zugriff auf den Systembus zu verlangen und zu erhalten.
-
So
ein bekanntes Multiprozessorsystem implementiert normalerweise auch
einen Interrupt-Mechanismus für
die Behandlung von Hardwareausnahmen im System. In einem solchen
Multiprozessorsystem kann ein eine Ausnahme verursachender Zugriff über den
Systembus von jedem der mehreren Hauptprozessoren, die mit dem Systembus
gekoppelt sind, ausgehen. Eine Eingabe-/Ausgabegeräte-Steuereinrichtung
in so einem System richtet typischerweise einen Systeminterrupt
an den Hauptprozessor, der den die Ausnahme verursachenden Zugriff
erzeugt hat.
-
Typischerweise überwacht
die Eingabe-/Ausgabegeräte-Steuereinrichtung
in so einem System den Systembus und zeichnet Wechsel des Systembusbesitzes
zwischen den mehreren Hauptprozessoren auf. So eine Eingabe-/Ausgabegeräte-Steuereinrichtung
richtet den Systeminterrupt dementsprechend an den Hauptpro zessor,
der den Besitz des Systembusses während des die Ausnahme verursachenden
Zugriffes innehatte. Leider benötigt
so ein bekanntes System die Implementierung relativ komplexer externer
Hardware in der Eingabe-/Ausgabegeräte-Steuereinrichtung, um den
Besitz des Systembusses zu überwachen.
Normalerweise treiben solche komplexen Hardwaremechanismen die Kosten
solcher bekannten Computersysteme in die Höhe.
-
Außerdem sind
solche Mechanismen unpraktisch für
ein Computersystem, das von einem Einprozessorsystem auf ein Mehrprozessorsystem erweitert
werden kann. In so einem erweiterbaren System würde ein Hardwaremechanismus
für die Überwachung
des Busbesitzes und die Zuweisung von Systeminterrupts nicht verwendet,
wenn nur ein Hauptprozessor im System installiert ist.
-
Außerdem würden während eines
Upgrades beim Hinzufügen
solcher Hardware in das System intensive Hardwaremodifikationen
des Systems nötig sein.
-
Ein
Beispiel einer Anordnung aus dem Stand der Technik ist in der europäischen Patentanmeldung
EP 0 426 413 A (Compaq)
mit dem Titel „Multiprocessor
arbitration in single processor arbitration schemes" [Multiprozessorarbitrierung
in für
Einzelprozessor bestimmten Arbitrierungsschemas] offenbart.
-
ZUSAMMENFASSUNG UND ZIELE
DER ERFINDUNG
-
Ein
Ziel der vorliegenden Erfindung ist es, eine Anzeige des Systembusbesitzes
in einem erweiterbaren Multiprozessor-Computersystem zur Verfügung zu
stellen.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist es, den Busbesitz zwischen
einem OEM-Prozessor und einem Upgrade-Prozessor in einem erweiterbaren
Computersystem anzuzeigen.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist es, einem Prozessor
einen Upgrade/OEM-Ausgangspin zur Verfügung zu stellen, der den Busbesitz zwischen
einem OEM-Prozessor und einem Upgrade-Prozessor in einem erweiterbaren
Computersystem anzeigt.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist es, ein System zur
Verfügung
zu stellen, wobei der OEM-Prozessor durch einen Typ-Eingangspin
des Prozessors bestimmt wird und wobei der OEM-Prozessor das Upgrade/OEM-Signal über den
Systembus überträgt.
-
Diese
und andere Ziele der Erfindung werden von einem Computersystem erreicht,
das einen Prozessor mit einem Typ-Eingangspin enthält, der anzeigt,
ob der Prozessor als OEM-Prozessor in einem Einzel- oder Zwei-Prozessor-Computersystem oder
als Upgrade-Prozessor im Zwei-Prozessor-Computersystem eingekoppelt
ist. Der Prozessor umfasst einen Upgrade/OEM-Ausgangspin, der zur Übertragung
eines Upgrade/OEM-Signals über
einen Systembus eingekoppelt ist, wenn der Typ-Eingangspin den OEM-Prozessor
anzeigt. Das Upgrade/OEM-Signal zeigt an, ob der OEM-Prozessor oder der
Upgrade-Prozessor den Systembus besitzt.
-
Das
Computersystem umfasst weiterhin eine Gerätesteuereinrichtung, die zur
Prüfung
des Upgrade/OEM-Signals eingekoppelt ist, um zu bestimmen, ob der
OEM-Prozessor oder der Upgrade-Prozessor den
Systembus besitzt. Die Gerätesteuereinrichtung ist
zur Übertragung
eines Interrupts an den OEM-Prozessor eingekoppelt, wenn das Upgrade/OEM-Signal
anzeigt, dass der OEM-Prozessor während eines
eine Ausnahme hervorrufenden Zugriffs über den Systembus den Systembus
besitzt. Die Gerätesteuereinrichtung
ist zur Übertragung
eines Interrupts an den Upgrade-Prozessor
eingekoppelt, wenn das Upgrade/OEM-Signal anzeigt, dass der Upgrade-Prozessor
während
des die Ausnahme hervorrufenden Zugriffs über den Systembus den Systembus
besitzt.
-
Andere
Ziele, Merkmale und Vorteile der vorliegenden Erfindung sind aus
den beigefügten
Zeichnungen und der unten folgenden detaillierten Beschreibung ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird beispielhaft – und nicht im einschränkenden
Sinne – anhand
der Figuren der beigefügten
Zeichnungen veranschaulicht; in den Zeichnungen kennzeichnen gleiche
Bezugszeichen ähnliche
Elemente.
-
1 veranschaulicht
ein Computersystem bei einer Ausführungsform, die ein Paar Prozessoren,
ein Speichersubsystem, eine Anzeigevorrichtung, ein Disk-Subsystem
und eine Geräteenergieversorgungs-Steuerschaltung
enthält;
-
2 veranschaulicht
einen Prozessor bei einer Ausführungsform,
die einen Prozessorkern, eine Interrupt-Steuerschaltung, eine Zwei-Prozessor-Steuerschaltung,
eine Bus-Schnittstellenschaltung
und einen Cache enthält;
-
3 zeigt
bei einer Ausführungsform
ein Zeitdiagramm, das ein Paar pipeline-verschachtelter Kommunikationstransaktionen
durch OEM- und Upgradeprozessor über
den Systembus veranschaulicht;
-
4 zeigt
bei einer Ausführungsform
ein Flussdiagramm, das die Verarbeitung eines Eingabe-/Ausgabezugriffs über den
Systembus durch die Geräteenergieversorgungs-Steuerschaltung
veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
1 veranschaulicht
ein Computersystem 100 bei einer Ausführungsform. Das Computersystem 100 enthält ein Paar
Prozessoren 10 und 12, ein Speichersubsystem 14,
eine Anzeigevorrichtung 18, ein Disk-Subsystem 19 und
eine Geräteenergieversorgungs-Steuerschaltung 20.
Die Eingabe-/Ausgabegeräte
des Computersystems 100 umfassen das Speichersubsystem 14,
die Anzeigevorrichtung 18 und das Disk-Subsystem 19.
Die Prozessoren 10 und 12 kommunizieren mit den
Eingabe-/Ausgabegeräten
des Computersystems 100 über einen Systembus 16.
-
Die
Geräteenergieversorgungs-Steuerschaltung 20 stellt
einen Satz von Energieversorgungs-Modusfunktionen für das Ausgabegerät 18 und
das Disk-Subsystem 19 zur Verfügung. Die Geräteenergieversorgungs-Steuerschaltung 20 wählt mittels
eines Satzes von Energiesteuersignalen 25 einen „Energie-An"-Zustand, einen „Energie-Aus"-Zustand und einen
Satz von Schlafmoduszuständen
für die
Anzeigevorrichtung 18 und das Disk-Subsystem 19 aus.
-
Die
Geräteenergieversorgungs-Steuerschaltung 20 überwacht
Zugriffe auf die Anzeigevorrichtung 18 und das Disk-Subsystem 19 über den
Systembus 16. Die Zugriffe auf die Anzeigevorrichtung 18 und
das Disk-Subsystem 19 können
entweder vom Prozes sor 10 oder dem Prozessor 12 herrühren. Die
Geräteenergieversorgungs-Steuerschaltung 20 versetzt
das Disk-Subsystem 19 in einen „Energie-Aus"- oder einen Schlafmoduszustand,
wenn für eine
bestimmte Zeitdauer kein Eingabe-/Ausgabezugriff auf das Disk-Subsystem 19 erfasst
wurde. Die Geräteenergieversorgungs-Steuerschaltung 20 schaltet
das Disk-Subsystem 19 ab, um den Stromverbrauch einer Batterie
(nicht gezeigt) für
das Computersystem 100 zu verringern. Die Geräteenergieversorgungs-Steuerschaltung 20 erfüllt eine ähnliche Funktion
für die
Anzeigevorrichtung 18.
-
Im
Wesentlichen gleicht der Prozessor 10 dem Prozessor 12.
Jeder der Prozessoren 10 und 12 funktioniert entweder
im Original-Equipment-Manufacture-Prozessor-Modus (OEM-Prozessor-Modus) oder
in einem Upgrade-Prozessor-Modus. Der OEM- oder Upgrade-Prozessor-Modus
für jeden
der Prozessoren 10 und 12 wird durch eine Spannungs-Eingabe
an einem entsprechenden CPU_TYPE-Pin
bestimmt. Eine niedrige Spannung an einem CPU_TYPE-Pin 22 des
Prozessors 10 veranlasst den Prozessor 10, im
OEM-Prozessor-Modus zu arbeiten. Ein hohes Spannungsniveau an einem CPU_TYPE-Pin 24 des
Prozessors 12 veranlasst den Prozessor 12, im
Upgrade-Prozessor-Modus zu arbeiten.
-
Jeder
der Prozessoren 10 und 12 enthält eine interne Interrupt-Steuereinrichtung.
Die internen Interrupt-Steuereinrichtungen in den Prozessoren 10 und 12 empfangen
externe Interrupt-Anforderungen über
einen Interrupt-Teil des Systembusses 16. Die externen
Interrupt-Anforderungen an die Prozessoren 10 und 12 schließen System-Management-Interrupts
(SMIs) ein. Die Geräteenergieversorgungs-Steuerschaltung 20 gibt
einen System-Management-Interrupt über den Interrupt-Teil des
Systembusses 16 aus, um anzuzeigen, dass eine Gerätezeitüberschreitung
während
eines Zugriffes durch den Prozessor 10 oder 12 auf
ein Eingabe-/Ausgabegerät
in einem „Energie-Aus"- oder Schlafmoduszustand
stattgefunden hat.
-
Jeder
der Prozessoren 10 und 12 enthält eine interne Busschnittstellenschaltung,
die Kommunikation über
den Systembus 16 ermöglicht.
Die internen Busschnittstellenschaltungen in den Prozessoren 10 und 12 implementieren
einen Buszuteilungs mechanismus, um den Besitz des Systembusses 16 zu
koordinieren. Der Zuteilungsmechanismus ermöglicht es jedem der Prozessoren 10 und 12,
den Besitz des Systembusses anzufordern, um den Besitz des Systembusses
zu erhalten und hinterher die Kontrolle über den Systembus 16 abzugeben.
-
Der
OEM-Prozessor 10 steuert ein Upgrade/OEM-Signal über den
Systembus 16 an. Das Upgrade/OEM-Signal zeigt an, ob der
OEM-Prozessor 10 oder der Upgrade-Prozessor 12 momentan
der Bus-Master des Systembusses 16 ist. Bei einer Ausführungsform
wird das Upgrade/OEM-Signal auf dem Systembus 16 immer
durch den OEM-Prozessor 10 – wie durch den CPU_TYPE-Pin 22 bestimmt – angesteuert.
-
Die
Geräteenergieversorgungs-Steuerschaltung 20 überwacht
den Systembus 16 und erfasst Eingabe-/Ausgabezyklen auf
dem Systembus 16, die an die Anzeigevorrichtung 18 oder
das Disk-Subsystem 19 gerichtet
sind. Die Geräteenergieversorgungs-Steuerschaltung 20 erfasst
eine Bus-Zeitüberschreitungsbedingung
auf dem Systembus 16 für
einen Zugriff auf ein im abgeschalteten oder Schlafmoduszustand
befindliches Gerät.
Die Bus-Zeitüberschreitungsbedingung
wird angezeigt, wenn das adressierte Eingabe-/Ausgabegerät innerhalb
eines bestimmten Zeitintervals für
einen Zugriff kein „Bereit"-Signal über den
Systembus 16 zurückgibt.
-
Wenn
eine Bus-Zeitüberschreitung
an die Anzeigevorrichtung 18 oder das Disk-Subsystem 19 erfasst
wird, dann liest die Geräteenergieversorgungs-Steuerschaltung 20 den
Zustand des Upgrade/OEM-Signals auf dem Systembus 16, um
zu bestimmen, ob der OEM-Prozessor 10 oder der Upgrade-Prozessor 12 den
die Bus-Zeitüberschreitung
verursachenden Eingabe-/Ausgabezugriff initiiert hat. Die Geräteenergieversorgungs-Steuerschaltung 20 richtet
den System-Management-Interrupt entsprechend an die interne Interrupt-Steuereinrichtung
des OEM-Prozessors 10 oder an die interne Interrupt-Steuereinrichtung
des Upgrade-Prozessors 12. Der OEM-Prozessor 10 oder
der Upgrade-Prozessor 12 führt dann eine System-Management-Modus-Interrupt-Routine
aus, um das adressierte Eingabe-/Ausgabegerät auf einen für einen
Folgezugriff geeigneten Zustand zurückzusetzen.
-
2 veranschaulicht
den Prozessor 10 bei einer Ausführungsform. Der Prozessor 10 enthält einen
Prozessorkern 40, eine Interrupt-Steuerschaltung 42,
eine Zwei-Prozessor-Steuerschaltung 44, eine Bus-Schnittstellenschaltung 46 und
ein Cache 50. Im Wesentlichen gleicht der Prozessor 12 dem Prozessor 10.
-
Der
Prozessorkern 40 umfasst einen Satz von Befehlsabruf-Schaltungen und Befehlsdekodier-Schaltungen,
um Befehle über
den Systembus 16 abzurufen und die abgerufenen Befehle
zu dekodieren. Außerdem
enthält
der Prozessorkern 40 einen Satz von Ausführeinheiten
zur Ausführung
der abgerufenen Befehle. Entsprechend der Intel-Mikroprozessorarchitektur
ruft der Prozessorkern 40 bei einer Ausführungsform
Befehle über
den Systembus 16 ab und führt sie aus.
-
Der
Prozessor 10 arbeitet entweder im OEM-Prozessor-Modus oder
im Upgrade-Prozessor-Modus gemäß des Zustands
des CPU_TYPE-Pins 22. Die Zwei-Prozessor-Steuerungsschaltung 44 tastet
den Zustand des CPU_TYPE-Pins 22 nach Anlegen eines Zurücksetzungssignals
(RESET-Signal) auf dem Systembus 16 ab. Die Zwei-Prozessor-Steuerschaltung 44 setzt dann
den Prozessor 10 in den OEM-Prozessor-Modus, weil der CPU_TYPE-Pin 22 sich
auf einem niedrigen Spannungsniveau befindet.
-
Auf
eine ähnliche
Art, tastet eine Zwei-Prozessor-Steuerschaltung im Prozessor 12 einen
hohen Spannungszustand am CPU_TYPE-Pin 24 ab und versetzt
den Prozessor 12 entsprechend in den Upgrade-Prozessor-Modus.
-
Die
Interrupt-Steuerschaltung 42 ist mit einem Satz von Interrupt-Steuerleitungen
des Systembusses 16 gekoppelt. Die Interrupt-Steuerleitungen des
Systembusses 16 umfassen ein programmierbares Interrupt-Steuer-Takt-Signal
(PIC_CLK-Signal), ein Paar programmierbarer Interrupt-Steuerdaten-Signale
(PIC_DATA_0- und PIC_DATA_1-Signale) und ein System-Management-Interrupt-Aktiv-Signal (SMI_ACTIVE-Signal).
-
Die
Interrupt-Steuerschaltung 42 empfängt Interrupt-Nachrichten über den
Systembus 16, die externe Hardware-Interrupts im Computersystem 100 anzeigen.
Entsprechend einem programmierbaren Interrupt-Steuer-Idenfizierer,
der durch die PIC_DATA_0- und PIC_DATA_1-Signale übertragen wird,
sind die externen Interrupts auf dem Systembus 16 entweder
an den Prozessor 10 oder den Prozessor 12 gerichtet.
Jeder der Prozessoren 10 und 12 verfügt über einen
eindeutigen internen programmierbaren Interrupt-Identifizierer,
der es externer Hardware ermöglicht,
eine Interrupt-Nachricht entweder an den Prozessor 10 oder
den Prozessor 12 zu richten. System-Management-Interrupts
werden über entsprechende
System-Management-Interrupt-Pins (SMI-Pins)
an die Prozessoren 10 und 12 gerichtet.
-
Die
Busschnittstellen-Schaltung 46 ermöglicht dem Prozessor 10 Kommunikationstransaktionen über den
Systembus 16. Zwischen den Prozessoren 10 und 12 wird
die Kontrolle über
den Systembus 16 über
einen Satz von Anforderungs- und Zuteilungssignalleitungen (REQUEST-
und GRANT-Signalleitungen) auf dem Systembus 16 zugeteilt.
Die Bus-Schnittstellenschaltung 46 benutzt die Anforderungs-
und Zuteilungssignalleitungen auf dem Systembus 16, um
die Kontrolle über
den Systembus 16 als Bus-Master zu erhalten und die Kontrolle über den
Systembus 16 wieder an den Prozessor 12 abzugeben.
-
Die
Bus-Schnittstellenschaltung 46 ist mit einem Satz von Adress-Signalleitungen (ADDRESS-Signalleitungen)
und einem Satz von Daten-Signalleitungen (DATA-Signalleitungen)
auf dem Systembus 16 gekoppelt. Die Adress- und Datensignalleitungen
des Systembusses 16 ermöglichen
dem Prozessor 10 die Ausführung von Speicherzugriffen
und Eingabe-/Ausgabezugriffen über den
Systembus 16 ebenso wie Befehlsabrufzyklen über den
Systembus 16.
-
Die
Bus-Schnittstellenschaltung 46 ist außerdem mit einem Satz von Byte-Enable-Signalleitungen
(BE[0:3]-Signalleitungen) auf dem Systembus 16 gekoppelt.
Die Byte-Enable-Leitungen zeigen die gültigen Daten-Bytes an, die über die
Datensignalleitungen des Systembusses 16 übertragen
werden.
-
Zusätzlich stellen
während
des Zurücksetzens
des Computersystems 100 die Byte-Enable-Signalleitungen
des Systembusses 16 einen programmierbaren Interrupt-Steuer-Identifizierer
(PIC_ID) für die
Prozessoren 10 und 12 zur Verfügung. Wenn das Zurücksetzungssignal
auf dem Systembus 16 angelegt ist, latch speichert die Bus-Schnittstellenschaltung 46 den
PIC_ID von den Byte-Enable-Signalleitungen. Das PIC_ID wird beim
Zurücksetzen
durch die Geräteenergieversorgungs-Steuerschaltung 20 auf
den Byte-Enable-Signalleitungen des Systembusses 16 angesteuert.
-
Der
Prozessor 10 im OEM-Prozessor-Modus benutzt den PIC_ID,
der auf den Byte-Enable-Signalleitungen beim Zurücksetzen als der eindeutige
interne programmierbare Interrupt-Identifizierer für die Interrupt-Steuerschaltung 42 abgetastet
wurde.
-
Mittels
Abtasten der Byte-Enable-Signale des Systembusses 16 beim
Zurücksetzen
und mittels Invertierung des niedrigstwertigen Bits des abgetasteten
PIC_ID von den Byte-Enable-Signalleitungen bestimmt
eine Bus-Schnittstellenschaltung im Prozessor 12 im Upgrade-Prozessor-Modus
einen programmierbaren Interrupt-Identifizierer für die interne Interrupt-Steuereinrichtung
des Systembusses 16. Der Upgrade-Prozessor 12 invertiert
das niedrigstwertige Bit des PIC_IDs, um sicherzustellen, dass der
OEM-Prozessor 10 und der Upgrade-Prozessor 12 verschiedene
programmierbare Interrupt-Steuer-Identifizierer zur Bestimmung des
richtigen Ziels für über den
Systembus 16 durch die PIC_DATA_0,1-Signale übermittelte
Interrupt-Nachrichten verwenden.
-
Die
Geräteenergieversorgungs-Steuerschaltung 20 speichert
den programmierbaren Interrupt-Identifizierer für den OEM-Prozessor 10 und
den Upgrade-Prozessor 12, die sich nur im niedrigstwertigen
Bit unterscheiden. Die sich unterscheidenden programmierbaren Interrupt-Identifizierer
PIC_ID ermöglichen
es der Geräteenergieversorgungs-Steuerschaltung 20,
einen System-Management-Interrupt über den Systembus 16 ordnungsgemäß entweder an
den OEM-Prozessor 10 oder den Upgrade-Prozessor 12 zu
richten. Alternativ richtet die Geräteenergieversorgungs-Steuerschaltung 20 System-Management-Interrupts über eigenständige SMI-Eingangssignale
an die SMI-Pins der Prozessoren 10 und 12.
-
Die
Bus-Schnittstellenschaltung 46 ist mit einer Taktsignalleitung
(CLOCK-Signalleitung) für
den Systembus 16 gekop pelt, außerdem mit einer Adress-Strobe-Signalleitung (ADDRESS_STROBE-Signalleitung),
einer Nächste-Adresse-Signalleitung
(NEXT_ADDRESS-Signalleitung) und einer Cache-Enable-Signalleitung (CACHE_ENABLE-Signalleitung)
des Systembusses 16. Das Adress-Strobe-Signal zeigt an,
dass eine gültige
Adresse über
die Adressleitungen des Systembusses 16 angesteuert wird.
Das Nächste-Adresse-Signal
zeigt an, ob ein neuer Adresszyklus auf dem Systembus 16 gestattet
wird, und die Cache-Enable-Signalleitung zeigt an, ob der gegenwärtige Datentransferzyklus
auf dem Systembus 16 im Cache 50 cache-gespeichert
werden kann.
-
Die
Bus-Schnittstellenschaltung 46 ist außerdem mit einer Schreibe/Lesesignalleitung
(WRITE/READ-Signalleitung), einer Schreibe-zurück/Schreibe-durch-Signalleitung
(WRITEBACK/WRITETHRU-Signalleitung) und einer BURST_READY-Signalleitung
des Systembusses 16 gekoppelt. Das WRITE/READ-Signal des
Systembusses 16 zeigt an, ob der aktuelle Zyklus auf dem Systembus 16 ein
Schreibe- oder Lesezyklus ist. Die WRITEBACK/WRITETHRU-Signalleitung
auf dem Systembus 16 zeigt an, ob die aktuelle Cache-Leitung,
die über
den Systembus 16 übermittelt
wird, einen Cache-Leitungs-Zustandsübergang zu einem exklusiven
oder geteilten Zustand verursacht.
-
Die
Bus-Schnittstellenschaltung 46 steuert die Upgrade/OEM-Signalleitung
des Systembusses 16 an. Die Bus-Schnittstellenschaltung 46 steuert
die UPGRADE/OEM-Signalleitung an, um anzuzeigen, ob gemäß der durch
die REQUEST- und GRANT-Signalleitungen des Systembusses 16 durchgeführte Buszuteilung
der OEM-Prozessor 10 oder der Upgrade-Prozessor 12 der
aktuelle Besitzer des Systembusses 16 ist.
-
Zusammen
mit dem SMI_ACTIVE-Signal zeigt das UPGRADE/OEM-Signal an, ob sich der Prozessor 10 oder
der Prozessor 12 in einem System-Management-Modus (SMM)
für Energieversorgungs-Management-Funktionen
im Computersystem 100 befindet. Die von den UPGRADE/OEM-
und SMI_ACTIVE-Signalen zur Verfügung
gestellte SMM-Anzeige ist nützlich
beim Debuggen der Hard- und Software im Computersystem 100.
-
3 ist
ein Zeitdiagramm, das bei einer Ausführungsform ein Paar pipeline-verschachtelter Kommunikationstransaktionen
durch die Prozessoren 10 und 12 über den
Systembus 16 veranschaulicht.
-
Gemäß dem aktuellen
Besitz des Systembusses 16 wird die ADDRESS_STROBE-Signalleitung
des Systembusses 16 entweder vom Prozessor 10 oder
vom Prozessor 12 angesteuert. Gemäß dem aktuellen Besitz des
Systembusses 16 wird die WRITE/READ-Signalleitung des Systembusses 16 ebenso
wie die Address-, Daten- und
Byte-Enable-Signalleitungen des Systembusses 16 entweder
vom OEM-Prozessor 10 oder vom Upgrade-Prozessor 12 angesteuert.
-
Die
CLOCK-Signalleitung des Systembusses 16 wird durch externe
Hardware im Computersystem 100 angesteuert. Gemäß der Art
der laufenden Kommunikationstransaktion werden die NEXT_ADDRESS-,
die CACHE_ENABLE-, die WRITEBACK/WRITETHRU- und die BURST_READY-Signalleitungen
von mit dem Systembus 16 gekoppelten Geräten angesteuert.
-
Die
UPGRADE/OEM-Signalleitung auf dem Systembus 16 wird immer
vom OEM-Prozessor angesteuert. Die UPGRADE/OEM-Signalleitung wechselt
nicht in Übereinstimmung
mit den Besitzwechseln des Systembusses 16 zwischen den
Prozessoren 10 und 12 den Besitzer.
-
Zum
Zeitpunkt t2 legt der OEM-Prozessor 10 das ADDRESS_STROBE-Signal
an, um eine gültige Adresse
auf den Adressleitungen des Systembusses 16 für einen
durch den OEM-Prozessor 10 initiierten Datentransferzyklus
anzuzeigen. Zum Zeitpunkt t5 legt der Upgrade-Prozessor 12 das ADDRESS_STROBE-Signal auf dem Systembus 16 an,
um eine gültige
Adresse auf den Adressleitungen des Systembusses 16 für einen
durch den Upgrade-Prozessor 12 initiierten Datentransferzyklus
anzuzeigen.
-
Zwischen
den Zeitpunkten t3 und t4 geht das UPGRADE OEM-Signal von einem hohen zu einem niedrigen
Zustand über,
um anzuzeigen, dass der OEM-Prozessor 10 der Bus-Master
während
der Daten-Transfer-Sequenz ist, die zwischen den Zeitpunkten t6 und
t10 wie von der BURST_READY-Signalleitung angezeigt, stattfindet.
-
Die
Geräteenergieversorgungs-Steuerschaltung 20 liest
den Zustand der UPGRADE_OEM-Signalleitung auf dem Systembus 16,
um zu bestimmen, ob der Prozessor 10 oder der Prozessor 12 den
Datentransferzyklus zwischen den Zeitpunkten t6 und t10 an das adressierte
und von den Adress-Signalleitungen des Systembusses 16 während des
Zeitpunkts t2 angezeigte Eingabe-/Ausgabegerät erzeugt
hat.
-
Wenn
das adressierte Eingabe-/Ausgabegerät – entweder die Anzeigevorrichtung 18 oder
das Disk-Subsystem 19 – sich
in einem abgeschalteten oder Schlafmoduszustand befindet, dann tastet
die Geräteenergieversorgungs-Steuerschaltung 20 die UPGRADE/OEM-Signalleitung
ab, um zu bestimmen, ob ein System-Management-Interrupt an den OEM-Prozessor 10 oder
an den Upgrade-Prozessor 12 zu richten ist. Die Geräteenergieversorgungs-Steuerschaltung 20 wählt dementsprechend den
geeigneten PIC_ID für
den Prozessor 10 oder 12 aus und überträgt mit dem
ausgewählten
PIC_ID eine System-Management-Interrupt-Nachricht über die
PIC_DATA-Signalleitungen des Systembusses 16. Alternativ
wählt die
Geräteenergieversorgungs-Steuerschaltung 20 entsprechend
entweder den SMI-Eingang des Prozessors 10 oder den SMI-Eingang
des Prozessors 12, um den System-Management-Interrupt zu senden.
-
4 ist
ein Flussdiagramm, das die Verarbeitung eines Eingabe-/Ausgabezugriffs über den Systembus 16 durch
die Geräteenergieversorgungs-Steuerschaltung 20 bei
einer Ausführungsform
veranschaulicht. Bei Block 70 erfasst die Geräteenergieversorgungs-Steuerschaltung 20 einer
Zugriff über
den Systembus 16 auf eins der Eingabe-/Ausgabegeräte, einschließlich der
Anzeigevorrichtung 18 und des Disk-Subsystems 19.
-
Wenn
danach bei Entscheidungsblock 72 keine Gerätezeitüberschreitung
an das adressierte Eingabe-/Ausgabegerät stattfindet, wird die Transaktion über den
Systembus wie normal fortgesetzt. Wenn am Entscheidungsblock 72 eine
Gerätezeitüberschreitung
an das adressierte Eingabe-/Ausgabegerät statt findet, dann wird die
Steuerung an Entscheidungsblock 74 übergeben.
-
Am
Entscheidungsblock 74 bestimmt die Geräteenergieversorgungs-Steuerschaltung 20,
ob das UPGRADE/OEM-Signal auf dem Systembus 16 angelegt
ist. Wenn das UPGRADE/OEM-Signal am Entscheidungsblock 74 angelegt
ist, geht die Steuerung an Block 78 über.
-
An
Block 78 gibt die Geräteenergieversorgungs-Steuerschaltung 20 ein
System-Management-Interrupt an den Upgrade-Prozessor 12 aus. Durch Übertragung
des dem Upgrade-Prozessor 12 entsprechenden PIC_IDs über die
PIC_DATA-Leitungen während
der System-Management-Interrupt-Nachricht identifiziert die Geräteenergieversorgungs-Steuerschaltung 20 den
Upgrade-Prozessor 12 als Ziel für den System-Management-Interrupt.
-
Wenn
das UPGRADE/OEM-Signal am Entscheidungsblock 74 nicht angelegt
ist, geht die Steuerung an Block 76 über. An Block 76 gibt
die Geräteenergieversorgungs-Steuerschaltung 20 ein
System-Management-Interrupt an den OEM-Prozessor 10 aus.
Durch Übertragung
des dem OEM-Prozessor 10 entsprechenden PIC_IDs über die
PIC_DATA-Leitungen während
der Interrupt-Nachricht identifiziert die Geräteenergieversorgungs-Steuerschaltung 20 den
OEM-Prozessor 10 als ein Ziel für den System-Management-Interrupt.
-
Das
UPGRADE/OEM-Signal kann das BURST_READY-Signal auch an den Prozessor 10 oder
den Prozessor 12 richten, wie es in einem System angemessen
ist, das über
getrennte BURST_READY-Eingänge
zu den Prozessoren 10 und 12 verfügt.