-
HINTERGRUND DER ERFINDUNG
-
1. GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht
sich auf periphere Verbindungen eines Computersystems. Insbesondere
bezieht sich die vorliegende Erfindung auf die Behandlung mehrerer
möglicher
Interrupts in Computersystemen, die einen seriellen Interrupt-Bus für Peripherieeinrichtungen
verwenden.
-
2. TECHNISCHER HINTERGRUND
-
In der Computerindustrie ist eine
in großem Umfang
anerkannte Systemarchitektur für
Personalcomputer der AT-Systementwurf gewesen. Vorherige Systeme,
die diese Architektur aufweisen, enthielten Systembusse, die das
ISA-Busprotokoll und später das
EISA-Busprotokoll implementierten. Dieses Protokoll definiert fünfzehn verschiedene
System-Interrupts für
die Verwendung durch verschiedene Komponenten innerhalb des Systems.
Diese Interrupts werden als IRQ0 bis IRQ15 bezeichnet, wobei eines der
IRQ-Signale, wie beispielweise IRQ2, für die Verwendung innerhalb
des Mechanismus der programmierbaren Interrupt-Steuereinrichtung
(PIC) des Systems reserviert ist.
-
Die oben beschriebenen Computersysteme, die
den ISA- oder EISA-Busprotokoll-Interrupt-Mechanismus
implementieren, enthalten im Allgemeinen eine Interrupt-Steuereinrichtung,
die die verschiedenen IRQ-Signale empfängt, und als Antwort darauf
ein Signal an die zentrale Verarbeitungseinheit (CPU) des Systems
bereitstellt, das das Vorhandensein eines anhängigen Interrupts anzeigt.
Als Antwort auf ein aktives Interrupt-Signal bestätigt die CPU
der Interrupt-Steuereinrichtung das Interrupt-Signal, worauf die
Interrupt-Steuereinrichtung einen Codevektor an die CPU zur Ausführung der
entsprechenden Interrupt-Serviceroutine (ISR) bereitstellt. Eine
jetzt bekannte derartige Interrupt-Steuereinrichtung ist die Interrupt-Steuereinrichtung
für Peripherieeinrichtungen
(PIC) Intel 8529. Bei einem Ausführungsbeispiel
ist diese Interrupt-Steuereinrichtung in der Lage, acht verschiedene
IRQ-Signale zu empfangen. Um den vollen Bereich der IRQ-Signale
[0 : 15] zu unterstützen,
empfängt
eine erste PIC die IRQs 8-15 und erzeugt als Antwort darauf eine
Interrupt-Signal-Ausgabe. Die Ausgabe der ersten PIC wird dann als
IRQ2-Eingabe an eine zweite PIC bereitgestellt, wobei die anderen
sieben Eingaben von anderen Komponenten kommen. Die zweite PIC führt ihre Ausgabe
der CPU zu. Auf diese Weise werden zwei Acht-IRQ-Eingaben-PICs miteinander
verkettet, um fünfzehn
mögliche
IRQ-Signale innerhalb des Systems bereitzustellen.
-
Das obige Interrupt-Signalgebungsprotokoll leidet
an einigen bedauerlichen Nachteilen. Während einige Computersystemkomponenten
dafür vorgesehen
sind, eine spezielle IRQ-Ausgabe
an die System-PIC bereitzustellen, werden andere Komponenten frei
gelassen, um für
mehrere mögliche
IRQ-Signale konfiguriert zu werden. Unter den herkömmlichen
Entwurfsverfahren für
Peripherieeinrichtungen würde
dies einen separaten Anschluß bzw.
Pin für
jeden Interrupt erfordern, den die Einrichtung verwenden könnte; es
wären bis
zu fünfzehn
Anschlüsse zum
Steuern von 15 möglichen
ISA-IRQ-Interrupt-Signalen vorstellbar. Jeder dieser Anschlüsse würde eine
separate Signalleitung zu der System-PIC zur Signalgebung an die
CPU steuern, wenn ein Interrupt behandelt werden müßte. Zusätzlich zur
Erhöhung der
Kosten für
die Implementierung von Peripherieeinrichtungen erhöht dies
die Komplexität
und das Ausmaß der
Verbindungen der Peripherieeinrichtung. Dies ist unlängst mit
der Reduzierung der Größe von Computersystemen,
besonders in der Kategorie der tragbaren Systeme und Notebook-Systeme,
ein größeres Problem
geworden. Es ist daher ein Ziel der vorliegenden Erfindung, die
Anschlußanforderungen
und die Komplexität
bei der Implementie rung von Peripherieeinrichtungen zu reduzieren,
die für
mehrere Interrupts konfiguriert werden können.
-
Ein weiteres Beispiel für eine dem
Stand der Technik entsprechende Anordnung wird in der
EP 0 426 081 (KABUSHIKI KAISHA TOSHIBA)
offenbart.
-
ZUSAMMENFASSENDE DARSTELLUNG
DER ERFINDUNG
-
Aus dem Vorhergehenden ist ersichtlich,
daß die
Architektur eines Computersystems auf eine Weise verbessert werden
kann, die die Kosten für
die Implementierung von Peripherieeinrichtungen reduziert und auch
die Anschlußanforderungen
für Peripherieeinrichtungen
reduziert, während
noch ein Interrupt-Protokoll für
mehrere Anschlüsse
eingehalten wird. Dementsprechend ist es ein Ziel der vorliegenden
Erfindung, ein Verfahren und eine Einrichtung für die Implementierung eines
seriellen Busprotokolls bereitzustellen, welches gestattet, daß Peripherieeinrichtungen
oder Komponenten des Systems konfiguriert werden, um jedes beliebige
vorher bestimmte Interrupt-Signal zu erzeugen, ohne einen speziellen Anschluß für jedes
mögliche
Interrupt-Signal erforderlich zu machen. Insbesondere ist es ein
Ziel der vorliegenden Erfindung, ein Protokoll für an einem seriellen Interrupt-Bus
implementierte Per Pheripherichtungen bereitzustellen, um jedes
beliebige IRQ-Signal durch die Verwendung von zwei Anschlüssen zu
erzeugen, welche die Signale in Übereinstimmung
mit dem Protokoll der vorliegenden Erfindung weiterleiten.
-
Bei einem Ausführungsbeispiel der vorliegenden
Erfindung ist ein Computersystem implementiert, das sowohl einen
primären
als auch einen sekundären
seriellen Interrupt-Bus aufweist. Der serielle Interrupt-Bus stellt
sowohl ein Taktsignal an die den Bussen zugeordneten Peripherieeinrichtungen als
auch die durch eine Kette von an dem Bus implementierten Peripherieeinrichtungen
weitergeleiteten Interrupt-Signale bereit. Der primäre und der
sekundäre
Interrupt-Bus sind bei einem Ausführungsbeispiel dargestellt,
um die Eignung der vorliegenden Erfindung für die Verwendung in Notebook-Computern
hervorzuheben, die manchmal an eine Andockstation angedockt werden
können.
Der primäre
serielle Interrupt-Bus wird in diesem Ausführungsbeispiel für Peripherieeinrichtungen
verwendet, die einem tragbaren Computer zugeordnet sind, während die dem
sekundären
seriellen Interrupt-Bus zugeordneten Peripherieeinrichtungen der
Andockstation zugeordnet sind. Dies dient ebenfalls der Erläuterung
der Funktionalität
der seriellen Interrupt-Brückenkomponente
für die
Einbeziehung von Peripherieeinrichtungen des sekundären Interrupt-Busses
in die serielle Interrupt-Kette der Peripherieeinrichtungen, die nachstehend
zu beschreiben ist.
-
Die Computerarchitektur des beschriebenen Ausführungsbeispiels
enthält
einen Peripherieeinrichtungs-Interrupt-Steuereinrichtungs(PIC)-Mechanismus,
um der Systemverarbeitungseinheit zu signalisieren, wenn ein anhängiger Interrupt
behandelt werden muß.
Der Peripherieeinrichtungs-Interrupt-Steuereinrichtungsmechanismus empfängt als Eingaben
die fünfzehn
möglichen
IRQ-Signale in Übereinstimmung
mit dem ISA- oder EISA-Bus-Interrupt-Protokoll. Der PIC-Mechanismus
empfängt
diese IRQ-Signale von einer seriellen Interrupt-Steuereinrichtung (SIC), welche den
seriellen Interrupt-Bus steuert.
-
In Übereinstimmung mit dem Ausführungsbeispiel
der vorliegenden Erfindung muß jede
Peripherieeinrichtung in dem Computersystem nur zwei Anschlüsse für die Interruptsignalgebung
reservieren: Jede verfügt über einen
seriellen Ausgangsanschluß (Sout) und einen seriellen Eingangsanschluß (Sin). Die serielle Interrupt-Steuereinrichtung
hat ebenfalls einen Sout-Anschluß, der mit
dem Sin-Anschluß der ersten Peripherieeinrichtung
gekoppelt ist, die sich in dem seriellen Bus befindet (oder mit
einer seriellen Interrupt-Brücke (SIB),
falls eine solche für
potentielle Andock-Zwecke
implementiert ist). Der Sout-Anschluß der ersten
Peri pherieeinrichtung (oder die SIB) ist mit dem Sin-Anschluß der nächsten Peripherieeinrichtung
in einer seriellen Kette von Peripherieeinrichtungen gekoppelt.
Ihr Sout-Anschluß ist dann mit dem nächsten Sin-Anschluß gekoppelt, was sich bis zum
Ende der Leitung der Peripherieeinrichtungen fortsetzt, die an dem
seriellen Bus implementiert sind. Der Sout-Anschluß der letzten
Peripherieeinrichtung in der Kette ist mit dem Sin-Anschluß der seriellen
Interrupt-Steuereinrichtung gekoppelt.
-
Bei einem Ausführungsbeispiel eines Computersystems,
welches eine Brücke
implementiert, verwendet die SIB vier Anschlüsse. Sie weist einen ersten
Sin-Anschluß auf, welcher die Ausgabe
des Sout-Anschlusses von der SIC empfängt. Die
SIB hat ebenfalls zwei Sout-Anschluß. Der erste Sout-Anschlui3 der Brücke steuert ihr Signal an den Sin-Anschluß der ersten Peripherieeinrichtung,
die an dem sekundären
seriellen Interrupt-Bus implementiert ist. Die Peripherieeinrichtungen
des sekundären Busses
sind durch ihre Anschlüsse
Sout und Sin auf dieselbe
weise verkettet wie die Peripherieeinrichtungen des primären seriellen
Interrupt-Busses, wie oben beschrieben. Der Sout-Anschluß der letzten
Peripherieeinrichtung und der sekundäre Bus steuern das Signal des
zweiten Sin-Anschluß an die SIB. Die SIB steuert
dann ihr zweites Sout-Signal an den Sin-Anschluß der ersten Peripherieeinrichtung
des primären
Busses, womit alle Peripherieeinrichtungen des sekundären Busses
effektiv zu der Verkettung der Peripherieeinrichtungen des primären Busses
in dem System hinzugefügt
werden.
-
Bei einem Ausführungsbeispiel der vorliegenden
Erfindung, bei welchem der sekundäre Bus einen Andockstations-Bus
für Peripherieeinrichtungen
repräsentiert,
wird der sekundäre
Bus nur aktiv, wenn das System angedockt wird, andernfalls wird nur
der primäre
Bus verwendet. Im letzteren Fall leitet die Brücke serielle Interrupt-Signale
an die erste Peripherieeinrichtung des primären Busses weiter.
-
Jede Peripherieeinrichtung, die für die Verwendung
an dem seriellen Interrupt-Bus implementiert ist, beinhaltet eine
serielle Interrupt-Peripherieeinrichtung(SIP)-Logik. Jede SIP-Logik
und die SIC sind mit demselben Takt getaktet. Jede weist eine Logik
auf, die einem Zustandsdiagramm folgt, welches für einen Taktzyklus jeden der
möglichen
IRQ-Interrupt-Zustände
durchläuft.
Jede Peripherieeinrichtung in der seriellen Kette ist der ihr nachfolgenden
Peripherieeinrichtung einen Zustand voraus. Wenn eine Peripherieeinrichtung
ein bestimmtes IRQ-Signal an die System-PIC senden muß, sendet
sie ein aktives Signal über
ihren Sin-Anschluß nur dann aus, wenn sie sich
in dem entsprechenden IRQ-Zustand der SIP-Logik-Zustandsmaschine
befindet. Jede Peripherieeinrichtung in der Kette gibt jegliche
Signale, die an dem Sin empfangen werden, über ihren Sout-Ausgang weiter. Die SIC, welche sich
bei einem Ausführungsbeispiel
in der System-I/O-Steuereinrichtung
befindet, enthält
eine Zustandsmaschinen-Logik
für das
Betreiben derselben Zustandsmaschine wie die SIP-Logik. Dementsprechend
wird, wenn ein aktives Signal von der letzten Peripherieeinrichtung
in der seriellen Kette an die SIC weitergeleitet wird, die SIC darüber in Kenntnis
gesetzt, welches IRQ-Signal an die System-PIC bereitgestellt werden
muß. Diese
stellt einen Mechanismus für eine
beliebige Anzahl von Peripherieeinrichtungen in einem Computersystem
bereit, um jedes beliebige System-IRQ-Interrupt-Signal zu erzeugen,
ohne einen speziellen Anschluß für jedes
zu benötigen.
Sie gestattet ferner die gemeinsame Benutzung von IRQs, weil mehrere
Peripherieeinrichtungen ein aktives Signal in demselben IRQ-Zustand
senden können, wobei
gesichert ist, daß die
SIC das richtige IRQ-Signal an die System-PIC weiterleitet.
-
Bei einem Ausführungsbeispiel der vorliegenden
Erfindung sind ebenfalls Vorkehrungen getroffen worden, daß die SIC
einen Systemmanagement-Interrupt (SMI) direkt an die System-CPU bereitstellt,
indem die System-PIC umgangen wird. Die SIP-Logik jeder Peripherieeinrichtung
und die SIC-Logik enthalten beide einen Zustand für das Erzeugen
des Systemmanagement-Interrupts (SMI).
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die Ziele, Merkmale und Vorteile
der vorliegenden Erfindung werden mit der folgenden detaillierten
Beschreibung deutlich gemacht, in welcher:
-
1 eine
Blockdarstellung der Architektur eines Computersystems zeigt, die
das serielle Interrupt-Busprotokoll gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung implementiert.
-
2 ein
Zustandsdiagramm darstellt, das von der seriellen Interrupt-Logik,
die jeder an dem seriellen Interrupt-Bus implementierten Peripherieeinrichtung
zugeordnet ist, gemäß der vorliegenden
Erfindung zu implementieren ist.
-
3 ein
Zeitdiagramm darstellt, das die Interrupt-Anschluss-Signalgebungszustände während einer
seriellen Interrupt-Kette zeigt.
-
4 ein
Zeitdiagramm für
eine Peripherieeinrichtung oder Brücke zum Starten des Bustaktes für das Senden
von Interrupts darstellt.
-
5 ein
verallgemeinertes Zustandsdiagramm für serielle Interrupt-Peripherieeinrichtungen gemäß der vorliegenden
Erfindung darstellt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Es werden ein Verfahren und eine
Einrichtung für
ein Interrupt-Signalgebungsprotokoll in einem Computersystem bereitgestellt,
das einen seriellen Interrupt-Bus implemen tiert. In dieser detaillierten
Beschreibung wird ein Ausführungsbeispiel
eines Computersystems beschrieben, welches sowohl einen primären als
auch einen sekundären
seriellen Interrupt-Bus aufweist, der mit einem andockfähigen tragbaren
Computer und Peripheriekomponenten vereinbar ist, die sowohl dem
tragbaren Computer als auch einer Andockstation zugeordnet sind.
Es sollte klar sein, daß dies
dem Zweck der Erläuterung
dient und nicht als Beschränkung
zu verstehen ist, und daß die
vorliegende Erfindung mit anderen Computersystemen ausgeführt werden
kann, bei welchen es wünschenswert
ist, einen seriellen Interrupt-Bus zu implementieren, um die Vorteile
der vorliegenden Erfindung zu nutzen.
-
In dieser gesamten detaillierten
Beschreibung werden zahlreiche spezielle Details dargelegt, wie
beispielsweise bestimmte Signalbezeichnungen, Busprotokolle und
Computerarchitekturtypen, um ein umfassendes Verständnis der
vorliegenden Erfindung zu ermöglichen.
Einem Fachmann wird klar sein, daß die vorliegende Erfindung
ohne solche speziellen Details ausgeführt werden kann. In anderen Fällen sind
bekannte Komponenten, Strukturen und Techniken nicht im Detail beschrieben
worden, um die Verschleierung des Gegenstandes der vorliegenden
Erfindung zu vermeiden. Insbesondere wird ein großer Teil
der Funktionalität
der vorliegenden Erfindung anhand von Zustandsdiagrammlogikdarstellungen
und Zeitdiagrammen beschrieben, die durch verschiedene Arten von
Logikschaltungen zu implementieren sind. Fachleute werden verstehen,
daß die Funktionalität der vorliegenden
Erfindung durch verschiedene Techniken implementiert werden kann, welche
die Verwendung von anwendungsspezifischen integrierten Schaltungen
(ASICs), programmierbaren Logikeinrichtungen, wie beispielsweise PALs
und PLDs, oder speziellen Logikschaltungen einschließen, wobei
die Techniken hierauf nicht beschränkt sind. Außerdem werden
Signalbezeichnungen, die in dieser detaillierten Beschreibung gekennzeichnet
sind, in einigen Fällen
so beschrieben, daß sie
in einem Zustand ak tiv und in einem anderen Zustand inaktiv sind.
Die Lehre der vorliegenden Erfindung ist selbstverständlich für den umgekehrten
Fall ebenso anwendbar.
-
Es wird nun auf 1 Bezug genommen; es wird eine Computersystemarchitektur
dargestellt, welche die vorliegende Erfindung beinhalten kann. Die
Computersystemarchitektur gemäß 1 ist dargestellt, um die
hierarchische Interrupt-Organisation der Architektur hervorzuheben.
Zahlreiche Komponenten des Computersystems, die von der vorliegenden
Erfindung nicht betroffen oder nicht in diese einbezogen sind, sind
nicht gezeigt. Es ist zu erkennen, daß das Computersystem eine zentrale
Verarbeitungseinheit (CPU) 10 enthält, die mit dem Speicherbus 15 zur
Kommunikation mit dem (nicht dargestellten) Speichersystem des Computersystems
gekoppelt ist. Die dargestellte CPU 10 wird ebenfalls beim
Empfangen von zwei Steuersignalen. von der System-I/O-Steuereinrichtung
20 gezeigt. Diese sind als das INTR-Interrupt-Signal an die CPU und als der Systemmanagement-Interrupt
(SMI) gekennzeichnet. Wie nachfolgend umfassender beschrieben wird,
ist das INTR-Signal an die CPU das herkömmliche Signal von dem Peripherieeinrichtungs-Interrupt-Steuereinrichtungs-Mechanismus (PIC) 22 des
Systems, welcher die CPU 10 informiert, wenn eine Systemkomponente
die CPU benötigt,
um eine Interrupt-Serviceroutine (ISR) auszuführen.
-
Bei einem Ausführungsbeispiel. der vorliegenden
Erfindung. ist die CPU 10 ein Mikroprozessor-, der in Übereinstimmung
mit der Intel-Mikroprozessorarchitektur entworfen wurde. Diese Architektur unterstützt einen
Betriebsmodus, der als Systemmanagement-Modus (SMM) bezeichnet wird.
Zur Unterstützung
des Systemmanagement-Modus muß die CPU
unter bestimmten Umständen
einen speziellen Interrupt von den verschiedenen Peripherieeinrichtungen
des Systems empfangen, der als Systemmanagement-Interrupt (SMI)
bezeichnet wird. Dementsprechend wird die CPU 10 der dargestellten
Computerarchitektur beim Empfangen des SMI-Interrupts für die Systemmanagement- Interrupt-Verarbeitung sowie
des herkömmlichen
INTR-Interrupt-Signals gezeigt.
-
Die System-I/O-Steuereinrichtung
20 enthält den
Peripherieeinrichtungs-Interrupt-Steuereinrichtungs-Mechanismus
(PIC) 22 für
das Computersystem. Wie oben beschrieben, können dies zwei Intel-8259-PICs
sein, die auf eine solche Weise konfiguriert sind, daß sie die
fünfzehn
möglichen
IRQ-Signale von
den verschiedenen Systemkomponenten empfangen und als Antwort darauf
das INTR-Signal an die CPU 10 bereitstellen. Bei alternativen
Ausführungsbeispielen
können
andere PIC-Mechanismen implementiert werden, die dieselbe Funktionalität ausführen. Die
System-I/O-Steuereinrichtung 20 enthält ebenfalls die serielle Interrupt-Steuereinrichtung (SIC) 25 der
vorliegenden Erfindung. Wie nachstehend umfassender beschrieben
wird, implementiert die SIC 25 das serielle Interrupt-Protokoll
der vorliegenden Erfindung zum Erfassen bestimmter IRQ-Anforderungen
von den Peripherieeinrichtungen des Systems und zum Bereitstellen
des entsprechenden IRQ-Eingangssignals an die System-PIC 22.
Die SIC 25 stellt ferner das SMI-Interrupt-Signal an die
CPU 10 bereit, wenn eine der Peripherieeinrichtungen des Systems,
die das Protokoll der vorliegenden Erfindung implementiert, die
Notwendigkeit für
einen Systemmanagement-Interrupt anzeigt. Die PIC 22 ist ebenfalls
eingekoppelt, um IRQ-Signale von anderen Systemkomponenten zu empfangen,
wie beispielsweise von den auf der Hauptplatine des Computersystems
implementierten, oder durch einen anderen Mechanismus, der vom seriellen
Interrupt-Bus unabhängig
ist.
-
Gemäß dem dargestellten Ausführungsbeispiel
der vorliegenden Erfindung ist der serielle: Interrupt-Bus als ein
primärer
serieller Interrupt-Bus für das
Ankoppeln von Peripherieeinrichtungen 30, 31 und 32 des
Computersystems dargestellt. Es gibt auch einen sekundären seriellen
Interrupt-Bus für das Ankoppeln
der Peripherieeinrichtungen 41 und 42. Es ist
vorgesehen, daß die
vorliegende Erfindung für
die Verwendung in tragbaren Rechnersystemen geeignet ist, welche über eine
als Dock 45 dargestellte Andockstation "angedockt" werden
können.
Das serielle Interrupt-Protokoll der vorliegenden Erfindung dient
der Behandlung der Interrupt-Signale, die sowohl von den Peripherieeinrichtungen
auf der Platine des tragbaren Rechnersystems, wie beispielsweise
von den Peripherieeinrichtungen 30, 31 und 32,
als auch von den Peripherieeinrichtungen, die der Andockstation
zugeordnet sind, wie beispielsweise den Peripherieeinrichturtgen 41 und 42,
erzeugt werden. Bezüglich
der in 1 dargestellten
primären und
sekundären
seriellen Interrupt-Busse ist zu erkennen, daß sie über eine serielle Interrupt-Brücke 40 verbunden
sind, welche unten ausführlicher
beschrieben wird.
-
Jede dem seriellen Interrupt-Busprotokoll
zugeordneten Peripherieeinrichtung sowie die serielle Interrupt-Steuereinrichtung
und die serielle Interrupt-Brücke
empfangen Taktsignale, PCICLK und CLKRUN#. Der tatsächliche
zeitliche Verlauf der Signalausbreitung gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung wird nachfolgend unter Bezugnahme auf die
Zeitdiagramme der 3 und 4 umfassender beschrieben.
-
Die Peripherieeinrichtungen des Systems, die
das serielle Interrupt-Busprotokoll der vorliegenden Erfindung implementieren,
müssen
nur zwei Aneichlüsse
für ihren
Betrieb reservieren. Diese werden mit Sout und
Sin bezeichnet. Dies trifft ebenfalls für die serielle
Interrupt-Steuereinrichtung 25 zu. Die Peripherieeinrichtungen
der vorliegenden Erfindung werden miteinander derart verkettet,
daß das
Sout-Signal von SIC 25 als das
Sin-Signal an die erste Peripherieeinrichtung
(oder Brücke)
der seriellen Interrupt-Kette bereitgestellt wird. Die letzte Peripherieeinrichtung in
der Kette 32 empfängt
ihr Sin-Signal von dem Sout-Anschluß der zweitletzten
Peripherieeinrichtung 31 in der Kette. Die letzte Peripherieeinrichtung
in der Kette steuert ihren Sour-Anschluß an den
Sin-Anschluß der SIC 25.
-
Wenn eine serielle Interrupt-Brücke (SIB) 40 implementiert
ist, enthält
sie zwei Sin-Anschlüsse und zwei Sout-Anschlüsse. Ihr
Sin-Anschluss empfängt ein Signal von dem Sout von der SIC 25. Wenn das Computersystem über die
Andockstation 45 angedockt ist, stellt die serielle Interrupt-Brücke ein
Sout1-Signal an den Sin-Eingang
der ersten Peripherieeinrichtung 41 des sekundären seriellen
Interrupt-Busses bereit. Die Peripherieeinrichtungen auf dem sekundären Interrupt-Bus
sind auf dieselbe Weise miteinander verkettet wie die Peripherieeinrichtungen
auf dem primären
seriellen Interrupt-Bus. Die letzte Peripherieeinrichtung 42 des
sekundären
seriellen Interrupt-Busses steuert ihr Sout-Signal
an den Sin2-Anschluss der SIB 40.
Die SIB verfügt
dann über
einen Sout2-Anschluss, der gekoppelt ist,
um ein Signal an den Sin-Eingang der ersten
Peripherieesinrichtung 30 an dem primären seriellen Interrupt-Bus
zu steuern. Wenn in dem System eine Brücke vorhanden ist, das System
aber nicht angedockt ist, leitet die SIB 40 an ihrem Sin1-Anschluß empfangene Signale über ihren Sout2-Anschluss weiter, wobei sie die Anschlüsse ignoriert,
die mit dem sekundären
seriellen Interrupt-Bus gekoppelt wären, wenn das System angedockt
wäre.
-
In 1 sind
die verschiedenen Peripherieeinrichtungen 30, 31, 32, 41 und 42 hinsichtlich
des Typs der Peripherieeinrichtung, den sie darstellen, nicht gekennzeichnet.
Jede beliebige Peripheriekomponente kann die vorliegende Erfindung
zur Implementierung auf dem seriellen Interrupt-Bus enthalten. In
der Figur ist nur die serielle Interrupt-Peripherieeinrichtung(SIP)-Logik
dargestellt, die in jeder Peripherieeinrichtung enthalten ist. Es
ist zu beachten, daß jede
der Peripherieeinrichtungen in dem System ein unterschiedliches
IRQ-Signal bestimmen kann, wenn die Bearbeitung eines Interrupts
angefordert wird. Ferner ist zu beachten, daß einige Peripherieeinrichtungen
konfiguriert sein können,
um unterschiedliche IRQ-Eingaben anzufordern, die an die System-PIC 22 bereitzustellen
sind. Jede SIP-Logik einer Peri pherieeinrichtung, die SIB 40 und
die SIC 25 enthalten eine Zustandsmaschinen-Logik, die dem
in 2 dargestellten Zustandsdiagramm
folgt. In Übereinstimmung
mit dem Protokoll der vorliegenden Erfindung leitet jede SIP-Logik
einer Peripherieeinrichtung über
ihren Sout-Anschluss den Signalwert weiter,
der an ihrem Sin-Anschluß im vorhergehenden Taktzyklus
empfangen wurde. Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung wird angenommen, daß das Sin-Signal
im niedrigen Logik-Zustand aktiv ist. Selbstverständlich kann
dies bei einem anderen Ausführungsbeispiel
umgekehrt sein.
-
Wenn keine Peripherieeinrichtungen
an dem seriellen Interrupt-Bus die Bearbeitung eines Interrupts
anfordern, wird jeder Sout-Anschluß auf einen hohen
Zustand gezogen. Die Zustandsmaschinen-Logik für jede beliebige gegebene Peripherieeinrichtung
befindet sich anfänglich
in dem Stop-Zustand 220. Wenn die SIP-Logik einer Peripherieeinrichtung,
wie beispielsweise der Peripherieeinrichtung 32, einen
aktiven Wert an ihrem Eingangsanschluß Sin (Sin wird niedrig gezogen) sieht, geht die SIP-Logik
in den Start-Nachricht-Zustand 200 über. Die Peripherieeinrichtung
leitet dann ein aktives Signal über
ihren Sout-Anschluß an den Sin-Anschluß der nächsten Peripherieeinrichtung
in der Kette weiter. Im Fall der Peripherieeinrichtung 2 leitet
sie ein aktives Sin-Signal an die SIC 25 weiter.
Dies veranlaßt die
SIC 25, in den Start-Nachricht-Zustand 200 in
ihrer Zustandsmaschinen-Logik überzugehen.
Zu diesem Zeitpunkt ist die Peripherieeinrichtung, die sich in der
seriellen Kette hinter ihr befindet, um einen Zustand in ihrer Zustandsmaschine
auf den SMI-Zustand 201 vorgerückt.
-
Wenn die Peripherieeinrichtung 32,
die letzte Peripherieeinrichtung in der seriellen Interrupt-Kette, einen
aktiven Wert an ihrem Sin-Eingangsanschluß empfängt, wenn
sie sich im SMI-Zustand 201 befindet, leitet sie dieses
aktive Signal auf der ansteigenden Flanke des nächsten Taktzyklus an den Sin-Anschluß der SIC 25 weiter.
Wenn die SIC 25 ein aktives Signal an ihrem Sin-Anschluß empfängt, wenn sich
ihre Zustandsmaschinen-Logik im SMI-Zustand 201 befindet,
leitet sie ein Interrupt-Signal an den Systemmanagement-Interrupt
(SMI) -Eingang der CPU 10 weiter. Dies gestattet der CPU 10,
Systemmanagement-Interrupts sofort zu verarbeiten.
-
Wie oben festgestellt wurde, enthält jede
Peripherieeinrichtung in der Kette der Peripherieeinrichtungen an
dem seriellen Interrupt-Bus eine Zustandsmaschinen-Logik, welche
dem in 2 dargestellten Zustandsdiagramm
folgt. Die Zustandsmaschinen für jede
Peripherieeinrichtung bleiben für
einen Taktzyklus in jedem Zustand des Zustandsdiagramms, wenn sie
sich nicht im Stop-Zustand 220 befinden. Der Übergang
vom Stop-Zustand 220 zum Start-Nachricht-Zustand 200 tritt
beim ersten Empfang eines aktiven Wertes an dem Sin-Anschluß der Peripherieeinrichtung
ein. Jede Peripherieeinrichtung setzt fort, über ihren Sout-Anschluß das Signal
weiterzuleiten, das an ihrem Sin-Anschluß in dem
vorhergehenden Taktzyklus empfangen wurde, außer wenn sich die Peripherieeinrichtung
in dem Zustand befindet, in welchem sie einen aktiven Interrupt
steuern will. Dementsprechend ist zu erkennen, daß die SPI-Logik
jeder Peripherieeinrichtung der Peripherieeinrichtung, die ihr in
der seriellen Interrupt-Kette
unmittelbar vorausgeht, einen Zustand voraus ist.
-
Wenn eine Peripherieeinrichtung ein
bestimmtes IRQ-Signal signalisieren möchte, führt sie dies nur aus, indem
sie ein aktives Signal über
ihren Sout-Anschluß bereitstellt, wenn sie sich
in dem entsprechenden IRQ-Zustand des Zustandsdiagramms gemäß 2 befindet. Alle anderen
Ausgaben der Peripherieeinrichtung an ihrem Sout-Anschluß entsprechen
dem Wert, der an ihrem Sin-Anschluß empfangen
wird. Wenn beispielsweise, wie in 1 dargestellt,
die Peripherieeinrichtung 30 einen IRQ12 signalisieren
muß, um
von der CPU 10 bedient zu werden, wenn ihre Zustandsmaschinen-Logik sich in dem
IRQ12-Zustand 213 befindet, leitet sie ein aktives Signal über ihren
Sout-Anschluß weiter. Zu diesem Zeitpunkt
befindet sich die Peripherieeinrichtung 31 in dem IRQ11-Zustand 212,
während
sich die Peripherieeinrichtung 32 in dem IRQ10-Zustand 211 befindet.
Ebenso befindet sich zu diesem Zeitpunkt die SIC 25 in
dem IRQ9-Zustand 210. Einen Taktzyklus nach dem Weiterleiten
eines aktiven Signals über den
Sout-Anschluß der SIP-Logik 30 befindet
sich die SIP-Logik 31 dann in dem IRQ12-Züstand 213 und empfängt ein
aktives Signal über
ihren Sin-Anschluß. Erneut befindet sich die
Peripherieeinrichtung 32 noch einen Zustand hinter der
Peripherieeinrichtung 31 und befindet sich in dem IRQ11-Zustand 212, während sich
die SIC 25 in dem IRQ10-Zustand 211 befindet.
Dieses Signal wird weiterhin auf diese Weise weitergeleitet, so
daß, wenn
es von der SIC 25 empfangen wird, sich die SIC 25 in
dem IRQ12-Zustand 213 befindet. Dementsprechend ist die
SIC 25 in der Lage, zu erfassen, welches IRQ-Signal, IRQ12, an
die System-PIC 22 bereitgestellt werden sollte, basierend
auf einem aktiven Signal, das über den
Sout-Anschluß der SIP-Logik 30 drei
Taktzyklen früher
ausgegeben wurde. Auf diese Weise werden nur zwei Anschlüsse für jede Peripherieeinrichtung an
dem seriellen Interrupt-Bus benötigt,
um potentiell jede beliebige Anzahl möglicher IRQ-Interrupts in dem Computersystem weiterzuleiten..
-
Das obige Interrupt-Signalgebungsprinzip funktioniert
auch für
ein tragbares Computersystem, das über eine Andockeinheit 45 angedockt
wird. In dieser Situation kommt die serielle Interrupt-Brücke (SIB) 40 ins
Spiel. Die SIB 40 enthält
eine Zustandsmaschinen-Logilt, welche ebenfalls derselben Zustandsmaschine
folgt, wie im Zustandsdiagramm von 2 dargestellt.
Wenn die SIB 40 ihr erstes aktives Signal über Sin empfängt,
geht sie vom Stop-Zustand 220 in den Start-Nachricht-Zustand 200 über. Dann leitet
sie unter der Annahme, daß die
Brücke
aktiv an einen sekundären
seriellen Interrupt-Bus angedockt ist, in dem nächsten Taktzyklus ein aktives
Signal über
ihren Sout1-Anschluss an die erste Peri pherieeinrichtung
in der sekundären
seriellen Interrupt-Buskette weiter; in diesem Fall an diejenige
mit der SIP-Logik 41. Die SIB 40 geht dann in
den SMI-Zustand 201 über.
Wenn sich die SIB 40 in SMI-Zustand 201 befindet,
ist die erste Peripherieeinrichtung in den Start-Nachricht-Zustand 200 übergegangen.
-
Aus dem Start-Nachricht-Zustand 200 leitet die
Peripherieeinrichtung 41 das Start-Nachricht-Aktiv-Signal
an die SIP-Logik 42 der nächsten Peripherieeinrichtung
an dem sekundären
seriellen Interrupt-Bus weiter. Wie oben beschrieben wurde, leitet die
letzte Peripherieeinrichtung in dem sekundären seriellen Interrupt-Bus
ihre Sout-Ausgabe über den zweiten Sin2-Eingang
der SIB 40 weiter, und wird dann über den Sout2-Ausgangsanschluss
der SIB 40 an den ersten Sin-Eingangsanschluss
der ersten Peripherieeinrichtung 30 auf dem primären seriellen
Interrupt-Bus weitergeleitet. Auf diese Weise ist das serielle Interrupt-Busprotokoll
der vorliegenden Erfindung auf verschiedene Ebenen von verketteten
seriellen Interrupt-Bussen skalierbar, wobei jeder mehrere serielle
Interrupt-Peripherieeinrichtungen aufweisen kann, die über eine
Folge von seriellen Interrupt-Brücken
geköppelt
sind.
-
Die seriellen Interrupt-Peripherieeinrichtungen
bilden eine logische Kette, so daß weitergeleitete Interrupts
in dem geeigneten Zustand von der SIC 25 in dem entsprechenden
Zustand für
die Benachrichtigung der System-PIC 22 erfaßt werden
würden. Dies
ist unabhängig
von der Anzahl der in das System einbezogenen Peripherieeinrichtungen
und Brücken
der Fall. Es kann ferner festgestellt werden, daß das Protokoll der vorliegenden
Erfindung mehreren Peripherieeinrichtungen gestattet, eine Konfiguration zur
Erzeugung des gleichen IRQ-Signals aufzuweisen. Somit ward, wenn
eine Peripherieeinrichtung ein aktives IRQ13 signalisieren möchte, und
eine andere Peripherieeinrichtung, die sich an einem früheren Ort in
der Kette befindet, dies bereits getan hat, effektiv die selbe Handlung
von der zweiten Peripherieeinrichtung ausge führt: sie leitet ein aktives
Signal über ihren
Sout-Anschluß weiter, wenn sie sich in
dem IRQ13-Zustand 214 befindet.
-
3 stellt
ein Zeitdiagramm dar, das das oben beschriebene Protokoll in einem
System ohne eine serielle Interrupt-Brücke darstellt. Eine erste Peripherieeinrichtung
geht aus dem Stop-Zustand in den Start-Nachricht-Zustand bei einem
ersten Zeitintervall über,
welches dann durch die verbleibenden Peripherieeinrichtungen in
der Kette kaskadiert, bis die serielle Interrupt-Steuereinrichtung 25 eine
entsprechende Anzahl von Taktzyklen später erreicht wird. Ein weiterer
Vorteil der vorliegenden Erfindung besteht darin, daß sie die
Flanke-zu-Pegel-Konvertierung von Interrupt-Signalen durch eine
SIP-Logik einer Peripherieeinrichtung gestattet, ohne daß es notwendig
ist, daß die
SIC weiß,
ob der von der Peripherieeinrichtung erzeugte Interrupt ein flankengetriggerter
oder ein pegelansprechender Interrupt ist.
-
Bei einem bestimmtes Ausführungsbeispiel der
vorliegen den Erfindung sind die Peripherieeinrichtungen automatisch
so konzipiert, daß sie
getaktet zu dem PCICLK-Signal laufen, und solche, welche bereits
auf das Neustarten des PCICLK reagieren, wenn es geStopt wird, wenn
ein aktives CLKRUN#-Signal
gesendet wird. Somit werden nur zwei zusätzliche Anschlüsse benötigt, um
das serielle Interrupt-Busprotokoll der vorliegenden Erfindung zu
unterstützen.
Man beachte, daß das
Zustandsdiagramm und die SIP-Logik des dargestellten Ausführungsbeispiels
den IRQ2-Zustand zwischen dem IRQ1-Zustand und dem IRQ3-Zustand
auslassen. Dies ist der Fall, weil bei herkömmlichen IRQ-Implementierungen
IRQ2 dazu dient, der kaskadierte Kanal für das Koppeln von zwei 8-Eingangs-Interrupt-Steuereinrichtungen
zu sein, wie in einem vorhergehenden Abschnitt beschrieben wurde.
Dies kann selbstverständlich
verändert
werden, und der IRQ2-Zustand kann bei alternativen Ausführungsbeispielen
der vorliegenden Erfindung einbezogen werden.
-
Jeder Zustand in dem Zustandsdiagramm repräsentiert
eine Taktsequenz und ist mit dem PCICLK-Signal synchron. Somit ist
die gesamte Zustandsmaschine synchron. Ein Zustand jedoch, der Stop-Zustand 220,
beruht auf einem asynchronen Ereignis, dem ersten Übergang
des Sin in den aktiven Zustand. Dies gestattet
die Synchronisation aller Peripherieeinrichtungen auf denselben
Taktzyklus. Der Stop-Zustand hat zwei Hauptfunktionen: 1) die serielle
Interrupt-Busprotokollsequenz durch die Erzeugung eines Startbits
(das Start-Nachricht-Aktiv-Signal) zu synchronisieren; und 2) jedem
beliebigen seriellen Interrupt-Agenten zu gestatten, ein Stop-Unterbrechungs-Ereignis
(CLKRUN#) synchron zu erzeugen, um PCICLK (falls geStopt) bei Bestimmung eines
aktiven Interrupts neu zu starten.
-
Nach jedem Durchlauf durch die Protokoll-Zustandsmaschine
endet jede Einrichtung in dem Stop-Zustand und wartet auf die nächste aktive Anzeige
an ihrem Sin-Eingang, bevor der Übergang
in den Start-Nachricht-Zustand erfolgt. Man beachte, daß, weil
der Bus ein serieller Bus ist, die SIP-Logik jeder Peripherieeinrichtung
die Startsequenz einen Zyklus später
empfängt,
nachdem die vorherige SIP-Logik die Sequenz empfangen hat. Somit
findet der Startübergang
nicht für
alle Einrichtungen gleichzeitig statt, sondern statt dessen sequentiell
bis zum Ende der Kette der Peripherieeinrichtungen.
-
4 stellt
dar, wie eine serielle Interrupt-Anforderung initiiert wird, wenn
das PCICLK geStopt wird. In diesem Fall initiiert eine Peripherieeinrichtung
den Zyklus, indem das CLKRUN#-Signal aktiv gesteuert wird, wenn
es abtastet, dass das PCICLK-Signal geStopt worden ist. Sie hält das CLKRUN#-Signal
niedrig, bis sie zwei PCICLKs in Übereinstimmung mit der herkömmlichen
CLKRUN#-Spezifikation sieht. Gemäß dieser
Spezifikation würde das
CLKRUN#-Signal dann von der Taktsteuerlogik niedrig gehalten, bis
der Takt geStopt hat. Wenn der Sin-Datenanschluß als aktiv
abgetastet worden ist, erfolgt der Eintritt in den Start-Zustand.
Man beachte, daß es
die Verantwortlichkeit der SIC 25 ist, darauf zu achten,
daß das
PCICLK nicht geStopt. wird, solange sich nicht alle seriellen Interrupt-Peripherieeinrichtungen
im Stop-Zustand 220 befinden. Sie können dies ausführen, indem
nur erlaubt wird, daß CLKRUN#
für vier
Takte hoch ist, wenn es gewährleisten
kann, daß sich
alle Einrichtungen im Stop-Zustand befinden. Wenn sich die SIC im
Stop-Zustand befindet und keine neue Nachricht gestartet hat, ist gewährleistet,
daß sich
alle Einrichtungen im Stop-Zustand befinden.
-
Eine zusätzliche Verbesserung der vorliegenden
Erfindung kann die Möglichkeit
eliminieren, daß eine
Pegel-Interrupt-Anforderung
eine falsche Interrupt-Anforderung erzeugen könnte. Dies kann durch eine
Interrupt-Serviceroutirie verursacht werden, die eine Interrupt-Anforderung
in einer I/O-Einrichtung
löscht
und dann ein Ende-des-Interrupts (EOI) an die System-PIC ausgibt.
Wegen der Seriellumsetzung der IRQs durch die serielle Buskette
wird jedoch ein falscher Interrupt erzeugt, wenn das EOI erfolgt,
bevor die IRQs aktualisiert sind. Dies wird verursacht, weil die
PIC einen Interrupt an den Prozessor basierend auf einem pegelansprechenden IRQ
erzeugt, der noch aktiv ist, wenn das EOI erfolgt, aber später zurückgenommen
wird, da die serielle Nachricht. schließlich eintrifft und das IRQ
zurücknimmt.
In diesem Fall sendet die PIC einen Interrupt-Vektor zurück an den
Prozessor, der einen falschen Interrupt anzeigt. Obwohl dies nicht
entscheidend ist, kann es die Leistung beeinflussen, wenn es mit
einer Häufigkeit
von 4000 mal pro Sekunde auftritt.
-
Um dieses Problem zu vermeiden, sollte
die SIC 25 den EOI-Zyklus (spezifisch oder nicht-spezifisch)
unterbrechen, um das Rücksetzen
des Interrupt-Signals in der Interrupt-Serviceroutine zu verzögern, bis
die SIC eine Aktualisierung von den SIPs erhalten hat, daß dieses
bestimmte IRQ nicht länger
signalisiert werden sollte. Dies erfordert einen vollständigen Durchlauf
durch die serielle Kette, wobei kein aktives Signal von der SIC
empfangen wird, wenn es als nächstes
diesen bestimmten IRQ-Zustand erreicht. Wenn ein EOI-Zyklus erzeugt wird,
sollte die SIC den Zyklus beenden und die Busprotokoll-Zustandsmaschine
verfolgen. Dies verhindert, daß die PIC
ein IRQ signalisiert, wenn die anfordernde Peripherieeinrichtung
es tatsächlich
bereits zurückgenommen
hat.
-
5 stellt
ein verallgemeinertes Zustandsdiagramm dar, das im Allgemeinen für die Implementierung
der vorliegenden Erfindung angewendet werden kann. Es ist eine Verallgemeinerung
des Zustandsmaschinen-Diagramms gemäß 2. Der Anfangszustand für die Zustandsmaschinen-Logik
ist der Stop-Zustand 500, in welchem die Zustandsmaschinen-Logik
bleibt, so lange das Sin nicht an die zugeordnete
SIP-Logik angelegt wird. Wenn die SIP-Logik ein aktives Sin-Signal empfängt, geht die SPI-Logik-Zustandsmaschine
in den Start-Nachricht-Zustand 501 über, in
welchem er für
einen Taktzyklus bleibt. Aus dem Start-Nachricht-Zustand 501 durchläuft die
Zustandsmaschinen-Logik als nächstes
den Zyklus zum INT-1-Interrupt-Zustand 501 und beendet
nach einer vorher bestimmten Anzahl von Interrupts, die einem bestimmten
Interrupt-Protokoll bei INT-N-Zustand 510 zugeordnet sind.
Die Zustandsmaschinen-Logik kehrt dann in den Stop-Zustand 500 zurück, wo sie
bis zum nächsten
Anlegen eines aktiven Sin-Signals bleibt.
-
Es ist somit ein Mechanismus für das Implementieren
eines seriellen Interrupt-Busses beschrieben worden, wobei Peripherieeinrichtungen
jede beliebige einer vorher bestimmten Anzahl von möglichen
Interrupts signalisieren können,
die einem gegebenen Busprotokoll zugeordnet sind.