DE3909948C2 - - Google Patents

Info

Publication number
DE3909948C2
DE3909948C2 DE3909948A DE3909948A DE3909948C2 DE 3909948 C2 DE3909948 C2 DE 3909948C2 DE 3909948 A DE3909948 A DE 3909948A DE 3909948 A DE3909948 A DE 3909948A DE 3909948 C2 DE3909948 C2 DE 3909948C2
Authority
DE
Germany
Prior art keywords
bus
signal
access
system bus
cpu
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 - Fee Related
Application number
DE3909948A
Other languages
English (en)
Other versions
DE3909948A1 (de
Inventor
Ralph Murray Boca Raton Fla. Us Begun
Patrick Maurice Bland
Mark Edward Delray Beach Fla. Us Dean
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3909948A1 publication Critical patent/DE3909948A1/de
Application granted granted Critical
Publication of DE3909948C2 publication Critical patent/DE3909948C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/28Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for polarising
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/54Accessories
    • G03B21/56Projection screens
    • G03B21/60Projection screens characterised by the nature of the surface
    • G03B21/604Polarised screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Description

Die Erfindung bezieht sich auf ein Computersystem nach dem Oberbegriff des Patentanspruchs 1.
Hintergrundinformationen hinsichtlich des 80386-Mikroprozessors, seiner Eigenschaften und seiner Verwendung in Mikrocomputersystemen mit Vorratsspeicher-Untersystemen sind in der Intel-Veröffentlichung "Introduction to the 80386", April 1986 und dem "80386 Hardware Reference Manual", 1986 beschrieben. Die Eigenschaften und Betriebsleistungen der 82385-Vorratsspeicher-Steuerung sind in der Intel-Veröffentlichung "82385 High Performance 32 Bit Cache Controller", 1987 beschrieben.
Weitere Informationen sind in der Intel-Veröffentlichung "80386 Hardware Reference Manual", 1987, Intel-Corp., Santa Clara, CA, dort insbesondere Fig. 1-1, enthalten.
Mikrocomputersysteme mit einem Vorratsspeicher-Untersystem sind hinsichtlich ihres Aufbaus wesentlich unterschiedlich zu Mikrocomputersystemen ohne Vorratsspeicher- Untersystemen. Mikrocomputersysteme mit einem Vorratsspeicher-Untersystem arbeiten als Zweifachbus- Gerät. Insbesondere ist in Mikrocomputersystemen mit einem Vorratsspeicher-Untersystem ein erster Bus (auf den als lokaler CPU-Bus oder Zentaleinheitsbus verwiesen wird), der die CPU (Zentraleinheit), den Vorratsspeicher und die Vorratsspeicher-Verwaltung miteinander verbindet. Andere Geräte sind an einen anderen Bus angeschlossen (Systembus). Derartige andere Geräte sind zum Beispiel der Hauptspeicher, Ein-/Ausgabegeräte und Zusatzeinrichtungen. Zusätzlich zu den vorgenannten Geräten kann der Systembus auch an die Vorratsspeicher-Verwaltung angeschlossen sein.
Das Vorratsspeicher-Untersystem entlastet normalerweise den Systembus von einer großen Anzahl von Speicherzugriffen, die bei Anwesenheit des Vorratsspeicher-Untersystems vom Systembus ausgeführt werden müßten. Sofern also die CPU Informationen aus dem Vorratsspeicher erhalten kann, benötigt sie für diesen bestimmten Zyklus keinen Zugriff auf den Systembus. Entsprechend können andere Geräte während dieser Zeitdauer den Systembus für andere Operationen verwenden. Es kann erwartet werden, daß dies eine wesentliche Verringerung der von der CPU tatsächlich benötigten Systembus-Zyklen zur Folge hat. Gewöhnlich ist die Vorratsspeicher-Verwaltung mit dem Systembus und dem lokalen CPU-Bus verbunden, und eine der Aufgaben der Vorratsspeicher-Verwaltung ist die Überwachung der Zuteilung, die in einem Einfachbus- System von der CPU überwacht worden ist.
Eine verfügbare Vorratsspeicher-Verwaltung, der 82385, besitzt Fähigkeit, in einer Sende- oder einer Empfangs-Betriebsart zu arbeiten. Wenn der 82385 in der Sende-Betriebsart betrieben wird und die Zuteilung überwacht, dann gibt es für die CPU keine Möglichkeit mehr, sich um den Zugriff auf den Systembus zu bewerben.
Aufgabe der Erfindung ist es, eine Möglichkeit zu schaffen, mit deren Hilfe die Zentraleinheit auch bei anderweitig zugeteiltem Systembus die Kontrolle über den Systembus erlangen kann.
Diese Aufgabe ist bei einem Gegenstand nach dem Patentanspruch 1 gelöst.
Die Zuteilung antwortet auf Zuteilungsanfragen, die von der Vielzahl der Geräte zusammengeführt sind. Wenn die Zuteilung feststellt, daß ein oder mehrere Geräte das gemeinsame Mittel angefordert haben, dann signalisiert sie durch die Änderung des Zustands einer Leitung (ARB/GRANT), auf die alle sich bewerbenden Geräte zugreifen können, den Beginn einer Zuteilungs­ periode. Sobald die sich bewerbenden Geräte die Änderung des Zustands dieser Leitung und damit den Beginn einer Zuteilungsperiode feststellen, erzeugen die Geräte Signale, die ihrer Priorität entsprechen, und steuern mit diesen Signalen eine Mehrzahl von für diesen Zweck vorgesehenen Zuteilungsleitungen an. Die Verbindung zwischen der Vielzahl der Geräte und den Zuteilungsleitungen ist derart vorgesehen, daß die Leitungen den Prioritätswert der Schaltung mit der höchsten die Zuteilungsleitungen ansteuernden Priorität annimmt. Dadurch kann jedes Gerät durch einen Vergleich des Prioritätswertes auf den Zuteilungsleitungen mit seiner eigenen Priorität erkennen, ob ein um den Zugriff auf den Bus sich bewerbendes Gerät mit einer höheren Priorität vorhanden ist. Am Ende einer vorge­ gebenen Zuteilungsperiode verändert die ARB/GRANT- Leitung ihren Zustand. Damit beginnt die zugeteilte Zeitdauer, während der dasjenige sich bewerbende Gerät, dessen Priorität den Prioritätswert auf den Zuteilungsleitungen hatte, die Kontrolle über die gemeinsamen Mittel erhält und einen Buszyklus einleitet.
Wie in den eingangs genannten Veröffentlichungen beschrieben, gibt es des weiteren noch eine andere, einem PREEMPT-Signal zugeordnete Leitung, das zu dem Zweck erzeugt werden kann, ein Gerät, das den Zugriff auf die Systemmittel erhalten hat, dazu zu zwingen, diesen Zugriff zu beenden. Auf diese Weise wird ein Gerät, das den Zugriff auf die Systemmittel erhalten hat und diese Mittel nutzt, durch das Erkennen einer beanspruchten Unterbrechung dazu aufgefordert, eine geordnete Beendigung der Benutzung der Systemmittel einzuleiten. Sobald das derart unterbrochene Gerät seine Benutzung der gemeinsamen Mittel beendet, beginnt die Zuteilung eine neue Zuteilungsperiode wie bereits beschrieben.
In Mikrocomputersystemen mit Vorratsspeicher-Untersystemen stellen die CPU-Zyklen, die auf den Vorratsspeicher zugreifen (und somit keinen Zugriff auf den Systembus erfordern), Zyklen mit minimaler Zeitdauer oder Zyklen ohne Wartezustände dar. Sobald CPU-Zyklen länger als dieses Minimum andauern, signalisiert dies den Bedarf der CPU am Systembus. Somit signalisieren CPU-Zyklen von längerer als der minimalen Zeitdauer den Bedarf der CPU am Systembus, dem gemeinsamen Mittel.
Entsprechend der Erfindung wird die CPU mit Mitteln zur Erzeugung eines PREEMPT-Signals versehen, das jedes Gerät, das mittels der Zuteilung den Zugriff zum Bus erlangt hat, dazu veranlaßt, diesen Zugriff wie bereits beschrieben zu beenden. Wie noch erläutert werden wird, wird die Erzeugung des PREEMPT-Signals durch die CPU dadurch gesteuert, daß ein CPU-Zyklus festgestellt wird, der eine längere Zeit andauert als für eine Vorratsspeicher-Adresse erforderlich ist.
Die Benutzung der Systemmittel durch die CPU ist jedoch derart eingerichtet, daß sie soviel Zeit als möglich erhält. Sobald ein Gerät, das den Zugriff zum Bus mittels einer Zuteilung erhalten hat, eine Unter­ brechung erkennt und eine vorschriftsmäßige Beendigung seines Bus-Zugriffs einleitet, signalisiert es seine Beendigung der Bus-Benutzung. Die Zuteilung antwortet auf diesen Hinweis mit der Erzeugung einer neuen Zuteilungsperiode. Falls die CPU das Gerät war, das die Unterbrechung erzeugt und die Freigabe des Busses angefordert hat, wird sie unterschiedlich als die anderen, sich um den Bus-Zugriff bewerbenden Geräte auf den Beginn der Zuteilungsperiode antworten. Am Anfang der Zuteilungsperiode plazieren die anderen, sich um den Bus-Zugriff bewerbenden Geräte ihre Priorität auf die Zuteilungsleitungen. Die CPU beteiligt sich nicht an diesem Vorgehen; mit dem Beginn der Zuteilungsperiode beginnt die CPU tatsächlich den Bus zu benutzen.
Bei einer tatsächlich hergestellten Ausführungsform der Erfindung ist die minimale Zuteilungsperiode 300 Nanosekunden. Ein Buszyklus ohne Wartezustände dauert jedoch weniger als 300 Nanosekunden. Wenn somit die CPU eine Unterbrechung hervorruft und dadurch den Zugriff zum Systembus erlangt, kann sie den aktuellen Zyklus während der Zuteilung vervollständigen.
Entsprechend einem Ausführungsbeispiel der Erfindung enthält ein Mehrfachbus- Mikrocomputersystem einen Prozessor und ein Vorratsspeicher- Untersystem, die über einen lokalen CPU-Bus miteinander verbunden sind, einen Speicher mit wahl­ weisem Zugriff, eine Zuteilungsüberwachung und eine Vielzahl anderer Funktionseinheiten, die über einen Systembus miteinander verbunden sind, Mittel zur Verbindung des lokalen CPU-Busses und des Systembusses, wobei der lokale CPU-Bus und der Systembus eine Mehrzahl von Leitungen enthalten, die der Zuteilung des Zugriffes auf den Systembus durch wenigstens einige der mehreren anderen Funktions­ einheiten zugeordnet sind, und von denen eine für ein Unterbrechungssignal vorgesehen ist, und mit einer Unterbrechungssignal-Quelle, die eingangsseitig abhängig ist von einem Zyklus auf dem lokalen CPU-Bus, der die Minimaldauer überschreitet, und die ausgangs­ seitig an den lokalen CPU-Bus angeschlossen ist, um ein bei jeder Funktionseinheit mit Zugriff zum Systembus wirksames Unterbrechungssignal geltend zu machen, mit dem Ziel, als Antwort auf den Erhalt dieses Unterbrechungssignals die Dauer des Zugriffs zu begrenzen.
Eine Ausführungsform der Erfindung wird nun anhand eines Beispiels und unter Bezugnahme auf die zugehörige Zeichnung beschrieben, bei der
Fig. 1 eine Übersicht über ein typisches Mikrocomputersystem ist, in dem die vorliegende Erfindung verwendet werden kann,
Fig. 2 ein in Einzelheiten gehendes Blockdiagramm der Mehrzahl der Komponenten des typischen Computersystems ist, in dem die vorliegende Erfindung verwendet werden kann,
Fig. 3 zeigt, wie die Zuteilungs-Überwachung und die CPU im Zusammenhang mit einem Einfachbus- Mikrocomputersystem miteinander verbunden sind,
Fig. 4 zeigt, wie die Zuteilungs-Überwachung, die CPU und die Vorratsspeicher-Verwaltung im Zusammenhang mit der vorliegenden Erfindung miteinander verbunden sind,
Fig. 5 die Einrichtung zeigt, die mit der Erzeugung des Unterbrechungssignals durch die CPU zusammenhängen,
Fig. 6 die Logik zeigt, die mit der Erzeugung eines CPUREQ-Signals zusammenhängt, das bei der Erzeugung des Unterbrechungssignals durch die CPU verwendet wird,
Fig. 7 ein Zeitdiagramm ist, das einige Zuteilungszyklen und zugeteilte Zyklen darstellt, von denen einer den Zugriff auf den Systembus durch ein Gerät und ein anderer den Zugriff auf den Systembus durch die CPU mittels des Unterbrechungssignals enthält,
Fig. 8 den Zusammenhang zeigt zwischen den zentralen Zuteilungs-Überwachungs und den den anderen Geräten zugeordneten Zuteileinheiten,
Fig. 9 und 10 zusammen ein Blockdiagramm einer Zuteilungs-Überwachung darstellen, und
Fig. 11 ein Zeitdiagramm ist zur Erläuterung der Funktionen der Fig. 8.
Fig. 1 zeigt ein typisches Mikrocomputersystem, in dem die Erfindung verwendet werden kann. Wie dargestellt enthält ein Mikrocomputersystem 10 eine Anzahl von miteinander verbundenen Komponenten. Insbesondere ist eine Systemeinheit 30 an einen Monitor 20 (beispielsweise ein gebräuchliches Video-Anzeigegerät) angeschlossen und treibt diesen. Die Systemeinheit ist ebenfalls an Eingabegeräte angeschlossen, wie zum Beispiel eine Tastatur 40 und eine Maus 50. Ein Ausgabegerät wie beispielsweise ein Drucker 60 kann auch mit der Systemeinheit 30 verbunden sein. Schließlich kann die Systemeinheit eine oder mehrere Diskettenstationen enthalten, wie zum Beispiel eine Diskettenstation 70. Wie nachfolgend beschrieben werden wird, antwortet die Systemeinheit 30 auf Eingabegeräte wie die Tastatur 40 und die Maus 50, sowie auf Ein-/Ausgabegeräte wie die Diskettenstation 70, indem sie Signale zur Ansteuerung von Ausgabegeräten wie den Monitor 20 und den Drucker 60 erzeugt. Natürlich ist es einem Fachmann klar, daß auch andere gewöhnliche Komponenten mit der Systemeinheit 30 verbunden werden und mit ihr zusammenarbeiten können. Entsprechend der vorliegenden Erfindung enthält das Mikrocomputersystem 10 (wie nachfolgend noch genauer beschrieben werden wird) ein Vorratsspeicher-Untersystem, wobei ein lokaler CPU-Bus einen Prozessor, eine Vorratsspeicher- Verwaltung und einen Vorratsspeicher miteinander verbindet und selbst über einen Puffer an einen Systembus angeschlossen ist. Der Systembus ist mit den Ein-/Ausgabegeräten, wie der Tastatur 40, der Maus 50, der Diskettenstation 70, dem Monitor 20 und dem Drucker 60 verbunden und arbeitet mit diesen zusammen. Des weiteren kann die Systemeinheit 10 entsprechend der vorliegenden Erfindung auch noch einen dritten Bus enthalten, der den Aufbau eines Mikrosignals besitzt und der Verknüpfung des Systembusses mit anderen Ein-/Ausgabegeräten dient.
Fig. 2 ist ein in Einzelheiten gehendes Blockdiagramm, in dem die Komponenten eines Zweifachbus-Mikrocomputersystems dargestellt sind. Ein lokaler CPU-Bus 230 (der Daten-, Adreß- und Steuerbestandteile enthält) dient der Verbindung eines Mikroprozessors 225 (wie beispielsweise eines 82385), einer Vorratsspeicher-Verwaltung 260 (die einen 82385-Cache-Controller enthalten kann) und eines Vorratsspeichers mit wahlfreiem Zugriff 255. Es ist an den lokalen CPU-Bus 230 auch ein Puffer 240 angeschlossen. Der Puffer 240 selbst ist mit einem Systembus 250 verbunden, der ebenfalls Adreß-, Daten- und Steuerbestandteile enthält. Der Systembus 250 erstreckt sich zwischen dem Puffer 240 und einem weiteren Puffer 253.
Der Systembus 250 ist des weiteren mit einer Bus-Zeitsteuer- Einheit 265 und einer DMA-Verwaltung 325 verbunden. Ein Zuteilungs-Steuerbus 340 verknüpft die Bus-Zeitsteuer-Einheit 265 und eine Zuteilungs-Überwachung 335. Ein Hauptspeicher ist ebenfalls an den Systembus 250 angeschlossen. Der Hauptspeicher enthält eine Speicherverwaltung 351, einen Adreßmultiplexer 352 und einen Datenpuffer 353. Diese Elemente sind mit Speicherelementen 361 bis 364 verbunden, wie es in der Fig. 2 dargestellt ist.
Ein weiterer Puffer 267 ist zwischen den Systembus 250 und einen Planarbus 270 geschaltet. Der Planarbus 270 enthält Adreß-, Daten- und Steuerbestandteile. Entlang dem Planarbus 270 sind verschiedene Ein-/Ausgabe-Adapter und andere Komponenten angeschlossen, wie zum Beispiel ein Anzeigeadapter 275 (der dazu verwendet wird, den Monitor 20 zu treiben), ein Taktgeber 280, zusätzliche Speicher mit wahlfreiem Zugriff 285, ein RS 232-Adpater (der für serielle Ein-/Ausgaben verwendet wird), ein Druckeranschluß 295 (der dazu verwendet werden kann, den Drucker 60 zu treiben), ein Zeitgeber 300, ein Diskettenadapter 305 (der mit der Diskettenstation 70 zusammenarbeitet), eine Interrupt-Verwaltung 310 und ein Nur-Lese-Speicher 315. Der Puffer 253 stellt eine Schnittstelle zwischen dem Systembus 250 und einem weiteren möglichen Bus dar, wie zum Beispiel dem durch Mikrokanal-Sockel repräsentierten Mikrokanal-Bus 320. An diesen Bus 320 können Geräte wie ein Speicher 331 angeschlossen sein.
Die Fig. 8 bis 11 sind im Zusammenhang mit der Erklärung des Ablaufs der Zuteilung hilfreich. Bezugnehmend auf Fig. 8 wird nachfolgend der Zusammenhang zwischen der Zuteilungs-Überwachung 335 und einer lokalen Zuteilungseinheit 336 beschrieben, die für alle lokalen Zuteilungseinheiten stellvertretend sein soll. Wenn ein Gerät für einen Datentransfer auf den Systembus zugreifen will, dann wird im allgemeinen diejenige lokale Zuteilungseinheit 336 ein Anforderungssignal von dem bestimmten Gerät erhalten, an die das Gerät angeschlossen ist. Das Anforderungssignal wird in ein PREEMPT- Signal umgewandelt, das von der lokalen Zuteileinheit erzeugt und über die PREEMPT-Leitung des Zuteilungs- Steuerbusses der Zuteilungs-Überwachung 335 und jeder der lokalen Zuteilungseinheiten zugeführt wird. Es muß zu dieser speziellen Ausführungsform der Erfindung angemerkt werden, daß die PREEMPT-Leitungen mit einer ODER-Funktion miteinander verknüpft sind, so daß es für die Zuteilungs-Überwachung unwesentlich ist, welches bestimmte Geräte die Anforderung abgibt. Als Antwort auf ein PREEMPT-Signal von einem oder von mehreren der lokalen Zuteileinheiten 336, erzeugt die Zuteilungs-Überwachung 335 zu einem vorgegebenen Zeitpunkt ein ARB/GRANT-Signal, wobei der Zeitpunkt durch ein HLDA- und ein REFRESH-Speichersignal von einer (nicht dargestellten) Refresh-Steuerung in bekannter Weise festgelegt wird. HLDA ist ein Signal des Signalpaares HLDA und HRQ (oder HOLD), die in einem Einfachbus-System zwischen der Zuteilungs-Überwachung 335 und der CPU ausgetauscht werden. In Zweifachbus-Systemen werden diese Signale zwischen der Zuteilungs-Überwachung und der Vorratsspeicher-Überwachung ausgetauscht, wie dies bei 260 in der Fig. 2 gezeigt ist.
Wenn also eines der Geräte den Systembus 250 in Anspruch nehmen will, dann erzeugt es ein Anforderungssignal an die ihm zugeordnete lokale Zuteilungseinheit 336, die ihrerseits ein PREEMPT-Signal auf der PREEMPT-Leitung des Zuteilungs-Steuerbusses erzeugt. Wird danach der Bus zu gegebener Zeit verfügbar, was durch das HOLD- und das REFRESH-Signal der Refresh-Steuerung festgelegt wird, dann erzeugt die Zuteilungs-Überwachung 335 den ARB-Zustand des ARB/GRANT-Signals auf dem Zuteilungs- Steuerbus für jede der lokalen Zuteilungseinheiten 336. Als Antwort auf den ARB-Zustand legt jede der lokalen Zuteilungseinheiten 336, die den Zugriff auf den Systembus 250 wünscht, ihre Priorität an die entsprechenden Leitungen ARB0 bis ARB3 des Zuteilungs- Steuerbusses an. Danach vergleicht jede der lokalen Zuteilungseinheiten 336, die den Zugriff auf den Systembus 250 wünscht, seine eigene Priorität mit dem Prioritätswert auf dem Zuteilungs-Steuerbus und zieht seine gewünschte Inanspruchnahme des Busses zurück, falls seine eigene Priorität niedriger ist als diejenige auf dem Zuteilungs-Steuerbus. Auf diese Weise verbleibt am Ende der Zuteilungsperiode nur diejenige der lokalen Zuteilungseinheiten für die Inanspruchnahme des Busses, die den höchsten Prioritätswert während der Zuteilungsperiode aufweist, und die auf diese Weise die Kontrolle über den Bus erlangt, sobald sie den GRANT-Zustand von der Zuteilungs-Überwachung 335 auf der ARB/GRANT-Leitung empfängt.
In den Fig. 9 und 10 ist die Schaltung der Zuteilungs- Überwachung 335 genauer dargestellt. Die Zuteilungs-Überwachung besteht aus einer mod. "Johnson ring timing chain", die Zähler 31 bis 34, ein ODER-Gatter 35, ein ODER-Gatter 36, ein NAND-Gatter 37, einen Inverter 38 und ein ODER-Gatter 39 enthält. Mit der Annahme, daß der Bus in einem Leerlauf-Zustand beginnt, in dem die CPU 225 den Bus "besitzt", jedoch nicht benutzt, wird die Funktion der Schaltung nachfolgend in Verbindung mit dem Zeitdiagramm der Fig. 11 erläutert. Unter der zuvor genannten Voraussetzung ist das ARB/GRANT-Signal "active low" und die Zuteilungs-Prioritätsleitungen ARB0 bis ARB3 haben alle den Wert Eins. Die modifizierte "Johnson ring timing chain" verbleibt aufgrund des HLDA-Signals über das ODER-Gatter 36 und das NAND-Gatter 37 zurückgesetzt. Wenn ein Gerät den Zugriff zum Bus benötigt, wird das PREEMPT-Signal aktiviert. Wie in der Fig. 10 gezeigt ist, bewirkt ein aktiv werdendes PREEMPT-Signal das Positivwerden des Ausgangs des Gatters, der ein PROCESSOR HOLD REQUEST (PROC-HRQ)-Signal darstellt. Die ARB0- bis ARB3-Signale und das GRANT-Signal sind ebenfalls dem ODER-Gatter der Fig. 10 zugeführt, um sicherzustellen, daß die CPU 225 nicht den Bustransfer anderer Geräte stört. Das PROC-HRQ-Signal bewirkt eine Deaktivierung des HLDA- Signals, was die Zurücknahme des Reset-Signals (Ausgang des ODER-Gatter 36) von den Zählern 30 bis 33 zur Folge hat. Zum Verständnis müssen die Eingänge S 0 bis S 1, CMD und BURST inaktiv sein, damit das HLDA-Signal das Reset-Signal von den zuvor genannten Zählern 31 bis 34 zurücknimmt, wie dies auch in Fig. 11 dargestellt ist. Das S 0-Signal stellt den Schreibzyklus dar und das S 1-Signal den Lesezyklus. Das CMD-Signal wird von dem momentanen Businhaber eine bestimmte Zeitdauer nach dem S 0- oder dem S 1-Signal erzeugt. Während der Lesezyklen instruiert das CMD-Signal das abhängige Gerät, die gelesenen Daten auf den Bus auszulesen, und während der Schreibzyklen ist das CMD-Signal aktiviert für die Gültigkeitsprüfung der geschriebenen Daten.
Nachdem HLDA deaktiviert ist, wird mit dem nächsten (20 MHz) Taktimpuls der Ausgang des Zählers 31 gesetzt, wodurch der Ausgang des ODER-Gatters 39 in den HIGH-Zustand übergeht (ARB) und eine Zuteilungsperiode anzeigt. Der Ausgang des ODER-Gatters 39 bleibt "HIGH", bis der Ausgang des Zählers 33 einige Zeit nach dem Übergang des Zählers 34 in den HIGH-Zustand in den LOW-Zustand übergeht. Dadurch wird ein 300 Nanosekunden dauernder Zeitsteuerimpuls für das ARB/GRANT-Signal erzeugt. Der Ausgang des Zählers 34 bleibt gesetzt, bis das Gerät durch die Aktivierung entweder von S 0 oder S 1 einen Buszyklus beginnt. Dann wird der Ausgang zurückgesetzt und die Zähler 31 bis 34 können die Zeitsteuerung am Ende des momentanen Buszyklus von Neuem beginnen. Wenn kein Gerät den Bus beansprucht, geht der Bus in den Leerlauf-Zustand über und der Prozessor erhält die Kontrolle. HLDA wird deaktiviert und der Bus ist nunmehr für Prozessor-Operationen verfügbar.
Fig. 3 zeigt die Zusammenschaltung zwischen einer 80386-CPU, wie beispielsweise dem Mikroprozessor 225, und der Zuteilungs-Überwachung 335 in einem Einfachbus- Mikrocomputersystem. Das Ausgangssignal ARB/GRANT der Überwachung ist dasjenige Signal, welches festlegt, ob der Zuteilungs-Mechanismus sich im Zustand der Zuteilung befindet (während dem die Geräte, die Zugriff zu den Systemmitteln beanspruchen, ihre Priorität an die Zuteilungsleitungen anlegen), oder in einem zugeteilten Zustand (während dem das Gerät, das den Zugriff zu den gemeinsamen Mitteln erhalten hat, dieses Mittel benutzen kann und die anderen Geräte, die den Zugriff beansprucht haben, ausgeschlossen sind). Ein weiteres Eingangssignal der Zuteilungs-Überwachung 335 ist das bereits beschriebene PREEMET-Signal. Schließlich sind die mit ARB0 bis 3 bezeichneten Eingänge der Zuteilungs-Überwachung diejenigen der Zuteilungsleitungen, die während der Zuteilungsphase von den Geräten, die Zugriff beanspruchen, mit ihrer eigenen Priorität angesteuert werden. Die Eingangs-/Ausgangs-Verbindungen auf der linken Seite der Zuteilungs-Überwachung 335 zeigen dessen Zusammenschaltung mit dem 80386 in einem typischen Einfachbus-Mikrocomputersystem. Die Signale HLDA und HRQ (manchmal auch als HOLD bezeichnet) sind Mechanismen mit Quittungsbetrieb, wodurch die Zuteilungs-Überwachung 335 den Zugriff zu den Systemmitteln beanspruchen kann unter Ausschluß des 80386 (HRQ). Wenn der 80386 bestätigt (HLDA), dann kann die Zuteilungs-Überwachung 335 den Zugriff zu den Mitteln verteilen. In Einfachbus-Mikrocomputersystemen kann die CPU nicht von selbst diesem Vorgang zuvorkommen. Daraus ergibt sich die unerwünschte Möglichkeit für die CPU, daß sie durch ein Gerät, dem das Senden erlaubt ist, von den gemeinsamen Mitteln ausgeschlossen ist.
Fig. 4 ist ein Blockdiagramm, das ausgewählte Verbindungen in einem Zweifachbus-Mikrocomputersystem zeigt, das eine 80386-CPU und einen 82385-Cache- Controller verwendet. Die Eingangs-/Ausgangs-Anschlüsse auf der rechten Seite der Zuteilungs-Überwachung 335 der Fig. 4 sind mit denjenigen der Fig. 3 identisch und werden nicht nochmals beschrieben. Der in Fig. 4 wesentliche Punkt ist, daß die Überwachung der Zuteilungs- Überwachung 335 jetzt durch den 82385-Cache- Controller verwirklicht ist, da an diesen das HRQ- und das HLDA-Signal angeschlossen sind. Sofern andere Vorkehrungen fehlen, dann kann die 80386-CPU von der Benutzung der gemeinsamen Mittel ausgeschlossen werden. Bei der vorliegenden Erfindung liegen diese anderen Vorkehrungen vor, und zwar in einer Weise, daß in großem Ausmaß der Zugriff anderer Geräte auf die gemeinsamen Mittel nicht beeinflußt wird.
Die Fig. 5 und 6 zeigen zusammengenommen, wie das Signal CRPREEMPT und dessen Vorgängersignal CPUREQ erzeugt werden.
Hinsichtlich der Fig. 6 kann die dortige Logik als Teil der Vorratsspeicher-Verwaltung 260 angesehen werden. Die Logik ist dazu da, das Signal CPUREQ zu erzeugen, das als Steuersignaleingabe für den Steuerteil des Puffers 240 angesehen werden kann. Das Steuersignal CPUREQ wird aus den links gezeigten Eingaben abgeleitet, die BUSYCYC 386, READYI, CLK, RESET, und (M/IO) umfassen. Das letzte Signal ist die dekodierte Adresse des Zusatzprozessors. Die Signale BUSYCYC 386, READYI und (M/IO) sind "ACTIVE LOW"-Signale, so daß zum Beispiel durch das Setzen des Flip-Flop 601 (aufgrund einer HIGH- Eingabe an dessen Eingang D) dessen Ausgang "HIGH" und das CPUREQ-Signal "LOW" (aktiv) wird. Zusätzlich zu dem Flip-Flop 601 enthält die Logik der Fig. 6 ein ODER-Gatter 602, drei UND-Gatter 603 bis 605 und Inverter 606 bis 608.
Im wesentlichen wird mit den Eingaben zu dem UND-Gatter 603 ein 80386-Zyklus erkannt, der länger andauert als die Minimaldauer und der nicht gleichzeitig ein dem Zusatzprozessor zugeordneter Zyklus ist. Sobald dieser Zustand erkannt ist, wird das Flip-Flop 601 gesetzt und kann nur wieder mittels eines Zeitsignals CLK2 zurückgesetzt werden, wenn der Zustand beendet ist. Die Gatter 604 und 605 sind dazu vorgesehen, das Flip-Flop 601 zurückzusetzen, wenn das CLK-Signal "HIGH" und das READYI-Signal (aktiv) "LOW" ist. Diese Voraussetzungen treten auf, wenn ein CPU-Buszyklus beendet ist.
Ein lokaler CPU-Buszyklus, der länger andauert als die Minimaldauer (und der auch nicht ein dem Zusatzprozessor zugeordneter Zyklus ist), ist ein Zyklus, der den Zugriff zum Systembus erfordert. Entsprechend wird unter diesen Umständen das CPUREQ-Signal aktiv, also "LOW". Die Wirkung dieses Signals ist in Fig. 5 gezeigt.
Fig. 5 zeigt eine Logik, die mit dem Systembus 250 zusammenhängt. Wie in der Fig. 5 gezeigt ist, besitzt der Puffer 240 eine Ausgabe CPUREQ (die mit demselben Signal der Fig. 6 übereinstimmt). Das CPUREQ-Signal ist eine Eingabe zu einem Gatter 501, an dessen Ausgang ein CPREEMPT-Signal anliegt, das tatsächlich ein vom 80386 erzeugtes Preempt-Signal ist. Wie aus der Fig. 5 hervorgeht, ist das CPREEMPT-Signal mit der PREEMPT-Leitung verbunden, die eine der Eingaben für die Zuteilungs-Überwachung 335 darstellt (siehe Fig. 3 oder 4). Das CPREEMPT-Signal wird von der in Fig. 5 gezeigten Logik erzeugt, die die Gatter 501 bis 503 enthält. Eine zweite Eingabe zu dem Gatter 501 ist die Ausgabe des Gatters 503, an dem ein Eingang mit dem ARB/GRANT-Signal belegt ist (das mit dem Ausgangssignal der Zuteilungs-Überwachung 335 identisch ist). Die andere Eingabe ist ENCPUPREEMPT. Das letztgenannte Signal ist eine Ausgabe des 80386. Im inaktiven Zustand verhindert dieses Signal, daß das CPREEMPT- Signal aktiv wird. Somit kann der 80386 keine Preempt- Funktion ausführen, wenn das ENCPUPREEMPT-Signal inaktiv ist. ENCPUPREEMPT kann von einem vom Benutzer zu setzenden Schalter oder von einem Software-Schalter in Abhängigkeit von den Anforderungen der anderen Systemgeräte und/oder der Systemsoftware gesteuert werden. Unter normalen Umständen wird das ENCPUPREEMPT- Signal aktiv sein und es damit dem 80386 erlauben, die Preempt-Funktion vorzunehmen. Wenn das ARB/GRANT-Signal anzeigt, daß der Zuteilungsprozeß sich in der zugeteilten Phase befindet (und ENCPUPREEMPT aktiv ist), dann ist der Ausgang des Gatters 503 aktiv. Ein aktiver Ausgang des Gatters 503 zusammen mit einem aktiven CPUREQ-Signal erlaubt die Erzeugung eines aktiven CPREEMPT-Signals. Das Gatter 503 verhindert die Erzeugung eines aktiven CPREEMPT-Signals während der Zuteilungsphase und erlaubt dieses aktive CPREEMPT- Signal nur während der zugeteilten Phase des Zuteilungsprozesses. Das Gatter 502 wird dazu verwendet, den Zustand der Zuteilungsleitungen zu überwachen, und verhindert die Erzeugung eines aktiven CPREEMPT-Signals, wenn alle Leitungen (aktiv) "HIGH" sind, wodurch angezeigt wird, daß keine anderen Geräte sich um die Zuteilung des Busses bewerben und die CPU somit über die gemeinsamen Mittel verfügt.
Demgemäß wird die CPU mit Hilfe der in den Fig. 5 und 6 gezeigten Logik bei Zyklen auf dem lokalen CPU-Bus, die nicht dem Zusatzprozessor zugeordnet sind und die länger andauern als die Minimaldauer (kein Wartezustand), die Preempt-Funktion vornehmen und der Buszuteilung zuvorkommen, sofern sich der Zuteilungsmechanismus in der zugeteilten Phase befindet. Die Wirkung dieser Preempt-Funktion wird jetzt in Verbindung mit den Fig. 7a bis 7e erläutert.
Die Fig. 7a bis 7e zeigen:
  • 1) die Benutzung des Systembusses durch ein sendendes Gerät (a-d),
  • 2) das Unterbrechen dieses Geräts und das Zuvorkommen eines anderen Geräts mittels der Verwendung des PREEMPT-Signals (b-h),
  • 3) die Übernahme des Busses durch die CPU mit Hilfe der Verwendung des CPREEMPT-Signals (k-o), und
  • 4) die Zuteilung für die Benutzung des Busses durch ein anderes Gerät gleichzeitig mit der Benutzung des Busses durch die CPU (m).
Zum Zwecke der ausführlichen Darstellung soll angenommen werden, daß ein sendendes Gerät die Kontrolle über den Systembus erhalten hat, wie dies bei (a) der Fig. 7d dargestellt ist. Wenn ein anderes am Systembus angeschlossenes Gerät die Preempt-Funktion vornimmt (b), dann vervollständigt das momentan die Kontrolle ausübende, sendende Gerät seine derzeitige Übertragung, wie dies bei (c) der Fig. 7c gezeigt ist. Nachdem die momentane Übertragung vervollständigt ist, nimmt das die Kontrolle über den Systembus aufgebende Sendegerät sein Sendesignal von der Sendeleitung zurück, wie dies bei (d) in der Fig. 7d gezeigt ist. Dieses sendende Gerät wird an dem nächsten Zuteilungszyklus nicht teilnehmen. Die Zuteilungs- Überwachung 335 bringt dann das ARB/GRANT-Signal in den ARB-Zustand bei (e) der Fig. 7a. Derselbe Übergang stellt auch den Beginn eines weiteren Zuteilungszyklus dar und die Zuteilung des Systembusses beginnt bei (f) der Fig. 7b. Nachdem das ARB/GRANT-Signal "LOW" ist, wird die Kontrolle über den Systembus dem neuen Gerät zugeteilt, wie dies bei (g) der Fig. 7a dargestellt ist. Das neue Gerät, das die Kontrolle über den Systembus erlangt hat, nimmt danach sein PREEMPT-Signal als Antwort auf das GRANT-Signal zurück, wie dies bei (h) der Fig. 7e gezeigt ist.
In dem Beispiel der Fig. 7a bis 7e und auf der Grundlage von den lokalen CPU-Bus betreffenden Voraussetzungen, wird durch die CPU einige Zeit später das CPREEMPT-Signal hervorgerufen, was sich bei (k) der Fig. 7e in dem PREEMPT-Signal äußert. Wie bereits erklärt worden ist, bewirkt dies einen neuen Zuteilungszyklus, der bei (1) der Fig. 7a beginnt. Der in der Fig. 7a gezeigte Zuteilungszyklus erstreckt sich von (l-o). Während dieses Zuteilungszyklus belegt die CPU den Systembus und am Anfang des Zyklus nimmt die CPU ihr PREEMPT- Signal bei (n) der Fig. 7e zurück. Während der Benutzung des Systembusses durch die CPU bewerben sich die anderen Geräte, die den Zugriff auf den Systembus wünschen, um die Zuteilung dieses gemeinsamen Mittels, wie dies bei (m) der Fig. 7b gezeigt ist. Am Ende des CPU-Zyklus, wenn die CPU die Benutzung des Systembusses bei (o) vervollständigt hat, ist eine neue Zuteilung vollendet, so daß unmittelbar danach weitere Geräte (falls irgendwelche den Zugriff auf den Systembus beansprucht haben) dieses Mittel in der bei (o) der Fig. 7a beginnenden Zeitdauer benutzen können.
Das CPREEMPT-Signal ist nur aktiv, wenn der CPU-Buszyklus länger andauert als eine vorgegebene Zeitdauer (beispielsweise länger als eine Zeitdauer, bei der kein Wartezustand vorhanden ist). Während der Zuteilungsphase (ARB/GRANT "HIGH") wird die Vorratsspeicher-Verwaltung 260 durch die Überwachung 335 aus dem Haltezustand freigegeben, indem das HRQ-Signal rückgesetzt wird, so daß sie einen oder mehrere Zyklen ausführen kann.
Die Vervollständigung des CPU-Zyklus, bei dem durch die Verwendung des Preempt-Mechanismus die Benutzung des Systembusses erlangt worden ist, wird durch ein aktives READYI-Signal zusammen mit einem CLK-Signal im "HIGH"-Zustand erkannt. Aufgrund der Logik der Fig. 6 wird unter diesen Voraussetzungen das Flip-Flop 601 zurückgesetzt und das CPUREQ wird inaktiv.
Die logischen Gleichungen, auf die vorstehend hingewiesen worden ist, sind nachfolgend wiedergegeben. Dabei haben die Symbole die folgenden, ihnen zugeordneten Bedeutungen:
Symbol
Definition
/
Negation
:= ein registrierter Ausdruck ist gleich . . .
= ein kombinatorischer Ausdruck ist gleich . . .
& logisch UND
+ logisch ODER.
Logische Signale:
ARB(0-3)
Zuteilungsanforderungen
ARB/GRANT Zuteilungsphase, zugeteilte Phase
/(IM/IO) dekodierte Adresse des mathematischen Zusatzprozessors
/CPREEMPT siehe Fig. 5
/CPUREQ siehe Fig. 6
ENCPUPREEMPT programmierbares Bit zur Zulassung oder Verhinderung der Fähigkeit der CPU, das CPREEMPT-Signal zu erzeugen
PREEMPT in anderen Unterlagen definiertes und in diesen Unterlagen derart modifiziertes Signal, daß es von dem CPREEMPT-Signal erzeugt werden kann.
Logische Gleichungen
/BREADY385=/BUSCYC385 & /BREADY & MISS1 (1)
/BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2
+BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+/MISS1 & /BREADY & / BUSCYC385 & CLK
+ /BT2 & BREADY & NACACHE
+ /CLK & /BT2 (2)
/BUFWREND:=WBS & /BUSCYC385 & /BREADY & CLK (3)
/BUSCYC385:=BUSCYC385 & /BADS & CLK
+ BUSCYC385 & /PIPECYC385 & CLK
+ BUSCYC385 & /BT2 & CLK
+ /BUSCYC385 & BREADY
+ /BUSCYC385 & /CLK (4)
/BUSCYC386:=BUSCYC386 & /ADS & CLK & /RESET
+ BUSCYC386 & /PIPECYC386 & CLK & /RESET
+ /BUSCYC386 & CPUREADY & /RESET
+ /BUSCYC386 & /CLK & /RESET (5)
/CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE
+ /MISS1 & CLK & CPUNA & /BREADY & /BUSCYC385
+ /CPUNA & /CLK
+ /CPUNA & /MISS1 & CLK
+ /CPUNA & CLK & BREADY
+ /CPUNA & BUSCYC385 & NACACHE & CLK (6)
LEAB:=/LEAB & /BUSCYC386 & /CPUREADY & (W/R) & CLK & ADS
+ LEAB & BUFWREND & /CLK
+ LEAB & WBS & CLK (7)
/MISS1:=MISS1 & BUSCYC385 & CPUNA & /BADS & /(EW/R) & CLK & NCA
+ MISS1 & BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /CLK
+ /MISS1 & BREADY (8)
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY
+ PIPECYC385 &/MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY
+ /PIPECYC385 &/CLK (9)
/PIPECYC386:=PIPECYC386 & /ADS & CLK & /CPUREADY & /RESET & /BUSCYC386
+ /PIPECYC386 & /CLK & /RESET (10)
/CPUREADY=/READYO & /(W/R)
+ /BRDYEN & /BREADY & MISS1 & /BUSCYC385
+ /READYO387
+ /BREADY385 & (W/R) & /LEAB
+ /READYO & (W/R) & NCA
+ /RDY387PAL (11)
In den vorstehenden logischen Gleichungen sind die nachfolgenden Signale in den eingangs genannten Intel-Beschreibungen erläutert oder wird auf sie Bezug genommen:
ADS
BADS @ BRDYEN @ BREADY @ (BW/R) tatsächlich als BW/R bezeichnet, die Klammern werden dazu benutzt, darauf hinzuweisen, daß der gesamte Ausdruck ein einziges Signal ist,
CLK @ READYO @ RESET @ WBS @ (W/R) tatsächlich als W/R bezeichnet, die Klammern werden dazu benutzt, darauf hinzuweisen, daß der gesamte Ausdruck ein einziges Signal ist.
Im aktiven Zustand kennzeichnet ADS eine gültige Adresse auf dem lokalen CPU-Bus 230. BADS kennzeichnet im aktiven Zustand eine gültige Adresse auf dem Systembus 250. BRDYEN ist ein Ausgangssignal des 82385, das dem Signal READY vorausgeht. BREADY ist ein Bereit-Signal vom Systembus 250 zum lokalen CPU-Bus 230. BW/R definiert einen Schreib- oder Lesevorgang auf dem Systembus 250. CLK ist ein Prozessor-Taktsignal, das mit dem Prozessor 225 phasengleich ist. READYO ist ein weiteres Ausgangssignal des 82385 in der Reihe der Bereit-Signale. RESET spricht für sich. WBS kennzeichnet den Zustand des Schreib- oder Lesesignal für den lokalen CPU-Bus 230.
Die Gleichungen (1) bis (11) definieren . . .
BREADY385
BT2
BUFWREND
BUSCYC385
BUSCYC386
CPUNA
LEAB
MISS1
PIPECYC385
PIPECYC386
CPUREADY
. . . in Ausdrücken der definierten Signale, der in der genannten Intel-Veröffentlichung beschriebenen oder in bezug genommenen Signale und der Signale NCA, NACACHE, READYO387 und RDY387PAL.
BREADY385 ist ein dem Signal BREADY ähnliches Signal, das in der tatsächlich gebauten Ausführungsform zur Anpassung an einen 64K-Vorratsspeicher modifiziert wurde. Im Falle eines 32K-Vorratsspeichers kann BREADY anstatt BREADY385 verwendet werden (wie vom Hersteller empfohlen).
BT2 stellt den Zustand des Systembusses 250 dar. Der Zustand BT2 ist ein in der genannten Intel-Veröffentlichung definierter Zustand.
BUFWREND repräsentiert das Ende eines gepufferten Schreibzyklus.
BUSCYC385 stellt ebenso den Zustand des Systembusses 250 dar. Es ist "HIGH" für Buszustände BTI, BT1, BT1P und "LOW" für Buszustände BT2, BT2P und BT2I (dies sind wieder Buszustände, die in der angegebenen Intel-Veröffentlichung genannt sind).
BUSCYC386 ist "HIGH" während der Zustände des lokalen CPU-Busses 230 TI, T1, T1P, T2I und "LOW" während T2. Es ist auch "LOW" für T2P, sofern T2I zuerst auftritt.
CPUNA ist ein Signal für den 80386, das aufeinanderfolgende Operationen erlaubt.
LEAB ist die Erlaubnis zur Zwischenspeicherung (in den Puffer 240) bei abgekoppelten Schreibvorgängen.
MISS1 definiert im aktiven Zustand den ersten Zyklus in einem Zweifach-Zyklus bei der Handhabung eines 64 Bit-Lesevorgangs von einem mit der Breite des Vorratsspeichers übereinstimmenden Geräts.
PIPECYC385 ist während BT1P aktiv (was ein in der genannten Intel-Veröffentlichung erwähnter Buszustand ist).
PIPECYC386 ist "LOW" während des Zustands T1P des lokalen CPU-Busses 230.
CPUREADY ist das Bereit-Eingangssignal zum 80386.
NCA ist ein Signal, das durch die Dekodierung der auf dem lokalen CPU-Bus 230 vorhandenen Adreß-Komponente geschaffen wird, und das im aktiven Zustand einen nicht der Breite des Vorratsspeichers entsprechenden Zugriff anzeigt. Diese Vorratsspeicher-Verträglichkeit wird durch eine Kennzeichen-Komponente (A31 bis A17) festgelegt, sowie durch programmierbare Informationen, die definieren, welche Kennzeichen (wenn überhaupt) zu der Breite des Vorratsspeichers gehören und welche entgegengesetzt zu nicht entsprechenden Adressen gehören.
NACACHE ist ein dem BNA-Signal ähnliches Signal. BNA ist ein vom System erzeugtes Signal, mit dem eine nächste Adresse vom lokalen CPU-Bus 230 angefordert wird, und auf das in der genannten Intel-Veröffentlichung Bezug genommen wird. NACACHE unterscheidet sich von BNA nur hinsichtlich der Tatsache, daß BNA für einen 32K-Vorratsspeicher erzeugt wird und NACACHE für einen 64K-Vorratsspeicher. Solange der Vorratsspeicher 32K umfaßt, wie dies in der Intel-Veröffentlichung genannt ist, kann das NACACHE-Signal durch das BNA-Signal ersetzt werden.
READYO387 ist das Bereit-Ausgangssignal des mathematischen Zusatzprozessors 80387.
RDY387PAL ist ein Ausgangssignal einer externen Logik, die in dem Falle verwendet wird, daß ein mathematischer Zusatzprozessor 80387 nicht eingebaut ist, um zu verhindern, daß das Nicht-Vorhandensein des mathematischen Zusatzprozessors Systemoperationen beeinflußt.
Es sollte nunmehr ersichtlich geworden sein, daß durch die Verwendung der Erfindung in Zweifach-Bussystemen mit dem 80386-Prozessor und dem 82385-Cache-Controller der Prozessor unter bestimmten Bedingungen die Möglichkeit hat, die Benutzung des Systembusses zu unterbrechen und diesen selbst zu benutzen. Ausführlicher kann der Prozessor bei lokalen Buszyklen, die länger als eine vorgegebene Zeitdauer andauern, ein CPREEMPT-Signal absetzen, unter den Voraussetzungen, daß andere Benutzer den Zugriff zu den Mitteln beanspruchen und daß die Unterbrechungs- und Benutzungsmöglichkeit zugelassen worden ist (ENCPUPREEMPT). Wenn jedoch die Unterbrechung wirksam wird (was dem Prozessor von der Zuteilungs-Überwachung mitgeteilt wird), dann treten zwei Vorgänge gleichzeitig auf. Der erste Vorgang ist, daß der Prozessor auf den Systembus zugreift. Dieser Zugriff beeinträchtigt keinen der anderen potentiellen Busbenutzer, da während der Zeitdauer des Zugriffs durch den Prozessor die anderen, den Bus beanspruchenden Benutzer sich in einer Zuteilungsphase befinden. Auf diese Weise können sich die anderen Benutzer gleichzeitig mit dem Prozessor-Zugriff auf den Systembus um die dieser Benutzung durch den Prozessor nachfolgende, zuzuteilende Phase bewerben. Entsprechend wird durch die Benutzung der Erfindung der Prozessor in die Lage versetzt, den Systembus auch dann zu belegen, wenn sich andere Benutzergeräte gleichzeitig um den Zugriff auf den Bus bewerben. Durch das Überlappen der Busbenutzung durch den Prozessor und der Zuteilungsphase (mit der Teilnahme anderer Geräte), werden die Benutzungsmöglichkeit und die Leistungsfähigkeit des Busses erhöht.

Claims (4)

1. Computersystem
mit einer Zentraleinheit (225), einem Vorratsspeicher (255) und einem Zwischenspeicher (240), die durch einen Zentraleinheitsbus (230) miteinander verbunden sind,
mit einem mit dem Zwischenspeicher (240) verbundenen Systembus (250), an den Geräte (275, 280, . . ., 370) anschließbar sind,
mit einer Zuteilungs-Überwachung (335) zur Überwachung der Zuteilung des Zugriffs auf den Systembus (250) an die angeschlossenen Geräte (275, 280, . . ., 370),
sowie mit einer mit den Geräten (275, 280, . . ., 370) verbundenen Unterbrechungsleitung (PREEMPT-Leitung), wobei ein Unterbrechungssignal (PREEMPT) auf der Unterbrechungsleitung (PREEMPT-Leitung) die Unterbrechung des Zugriffs des den Systembus (250) innehabenden Geräts (275, 280, . . ., 370) auf denselben zur Folge hat,
dadurch gekennzeichnet, daß
eine Logik (501-503, 601-608) vorgesehen ist,
die mit der Unterbrechungsleitung (PREEMPT-Leitung) verbunden ist,
und die ein Unterbrechungssignal (CPREEMPT) auf der Unterbrechungsleitung (PREEMPT-Leitung) erzeugt,
wenn die Zeitdauer für einen Zugriff der Zentraleinheit (225) über den Zentraleinheitsbus (230) auf den Vorratsspeicher (255) länger andauert als die Zeitdauer, die normalerweise für einen derartigen Zugriff erforderlich ist,
mit der Folge, daß der Zugriff des den Systembus (250) innehabenden Geräts (275, 280, . . ., 370) auf denselben unterbrochen wird.
2. Computersystem nach Anspruch 1,
dadurch gekennzeichnet, daß
der Logik (501-503, 601-608) ein Signal (ARB/GRANT) zugeführt ist, das eine Zuteilungsphase (ARB) und eine zugeteilte Phase (GRANT) anzeigt,
wobei während der Zuteilungsphase (ARB) die Zuteilung des Systembus (250) an eines der Geräte (275, 280, . . ., 370) erfolgt und während der zugeteilten Phase (GRANT) der Zugriff eines der Geräte (275, 280, . . ., 370) auf den Systembus (250) erfolgt,
und daß
das die Zuteilungsphase (ARB) anzeigende Signal (ARB/GRANT) auf die Zentraleinheit (225) einwirkt,
mit der Folge, daß die Zentraleinheit (225) während dieser Zuteilungsphase (ARB) auf den Systembus (250) zugreift.
3. Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß die Logik (501-503, 601-608) das Unterbrechungssignal (CPREEMPT) nicht erzeugt, während das Signal (ARB/GRANT) eine Zuteilungsphase (ARB) anzeigt.
4. Computersystem nach Anspruch 2 oder 3,
dadurch gekennzeichnet, daß
der Logik (501-503, 601-608) Signale (ARB0-3) zugeführt sind, die anzeigen, ob sich Geräte (275, 280, . . ., 370) um die Zuteilung des Zugriffs auf den Systembus (250) bewerben oder nicht,
und die Logik (501-503, 601-608) das Unterbrechungssignal (CPREEMPT) nicht erzeugt, wenn die Signale (ARB0-3) anzeigen, daß sich keine Geräte (275, 280, . . ., 370) um die Zuteilung auf den Systembus (250) bewerben.
DE3909948A 1988-05-26 1989-03-25 Mikrocomputersystem mit mehrfachbus und buszuteilung Granted DE3909948A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/198,895 US5129090A (en) 1988-05-26 1988-05-26 System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration

Publications (2)

Publication Number Publication Date
DE3909948A1 DE3909948A1 (de) 1989-11-30
DE3909948C2 true DE3909948C2 (de) 1990-05-31

Family

ID=22735319

Family Applications (2)

Application Number Title Priority Date Filing Date
DE68922784T Expired - Fee Related DE68922784T2 (de) 1988-05-26 1989-03-03 Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE3909948A Granted DE3909948A1 (de) 1988-05-26 1989-03-25 Mikrocomputersystem mit mehrfachbus und buszuteilung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE68922784T Expired - Fee Related DE68922784T2 (de) 1988-05-26 1989-03-03 Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.

Country Status (23)

Country Link
US (1) US5129090A (de)
EP (1) EP0343770B1 (de)
JP (1) JPH0623970B2 (de)
CN (1) CN1010808B (de)
AT (1) ATE123162T1 (de)
AU (1) AU611287B2 (de)
BE (1) BE1002405A4 (de)
BR (1) BR8902388A (de)
CA (1) CA1317682C (de)
DE (2) DE68922784T2 (de)
DK (1) DK189889A (de)
ES (1) ES2072895T3 (de)
FI (1) FI96145C (de)
FR (1) FR2632096B1 (de)
GB (1) GB2219176A (de)
HK (1) HK23696A (de)
IT (1) IT1230191B (de)
MX (1) MX171578B (de)
MY (1) MY111733A (de)
NL (1) NL8901282A (de)
NO (1) NO176038C (de)
NZ (1) NZ228785A (de)
SE (1) SE8901306L (de)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111424A (en) * 1987-05-01 1992-05-05 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
US5034883A (en) * 1987-05-01 1991-07-23 Digital Equipment Corporation Lockhead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
FR2642246B1 (fr) * 1988-12-30 1991-04-05 Cit Alcatel Procede de deblocage d'un systeme multiprocesseurs multibus
KR930002316B1 (ko) * 1989-05-10 1993-03-29 미쯔비시덴끼 가부시끼가이샤 버스제어방법 및 화상처리 장치
US5293493A (en) * 1989-10-27 1994-03-08 International Business Machines Corporation Preemption control for central processor with cache
CA2038012A1 (en) * 1990-03-14 1991-09-15 Hideki Shimizu Oxide superconductor lamination and method of manufacturing the same
US5086427A (en) * 1990-04-09 1992-02-04 Unisys Corporation Clocked logic circuitry preventing double driving on shared data bus
JP4733219B2 (ja) * 1990-06-04 2011-07-27 株式会社日立製作所 データ処理装置およびデータ処理方法
AU648309B2 (en) * 1990-06-14 1994-04-21 International Business Machines Corporation Apparatus and method for assembly of direct access storage device with a personal computer
EP0472274A1 (de) * 1990-08-24 1992-02-26 International Business Machines Corporation Datenverarbeitungsvorrichtung mit Steckern für Systemkomponente
GB9018991D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station with timing independant interface units
GB9019022D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station or similar data processing system including interfacing means to microchannel means
GB9019001D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station including a direct memory access controller and interfacing means to microchannel means
GB9018993D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station interfacing means having burst mode capability
ATE137038T1 (de) * 1990-08-31 1996-05-15 Advanced Micro Devices Inc Übertragungssteuerungssystem für einen rechner und peripheriegeräte
US5218681A (en) * 1990-08-31 1993-06-08 Advanced Micro Devices, Inc. Apparatus for controlling access to a data bus
ATE146614T1 (de) * 1990-08-31 1997-01-15 Advanced Micro Devices Inc Integrierte digitale verarbeitungsvorrichtung
JPH04141757A (ja) * 1990-10-03 1992-05-15 Fujitsu Ltd バス制御方式
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus
US5249297A (en) * 1991-04-29 1993-09-28 Hewlett-Packard Company Methods and apparatus for carrying out transactions in a computer system
EP0516323A1 (de) * 1991-05-28 1992-12-02 International Business Machines Corporation Persönliche Rechnersysteme
US5537600A (en) * 1991-05-28 1996-07-16 International Business Machines Corporation Personal computer with alternate system controller
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
CA2067599A1 (en) * 1991-06-10 1992-12-11 Bruce Alan Smith Personal computer with riser connector for alternate master
US5255373A (en) * 1991-08-07 1993-10-19 Hewlett-Packard Company Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
US5630163A (en) * 1991-08-09 1997-05-13 Vadem Corporation Computer having a single bus supporting multiple bus architectures operating with different bus parameters
US5581731A (en) * 1991-08-30 1996-12-03 King; Edward C. Method and apparatus for managing video data for faster access by selectively caching video data
CA2068010C (en) * 1991-08-30 1996-10-22 Robert Chih-Tsin Eng Alternate master bursting data rate management techniques for use in computer systems having dual bus architecture
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
JPH05210977A (ja) * 1991-10-15 1993-08-20 Internatl Business Mach Corp <Ibm> メモリ・リフレッシュ制御装置
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
US5237695A (en) * 1991-11-01 1993-08-17 Hewlett-Packard Company Bus contention resolution method for network devices on a computer network having network segments connected by an interconnection medium over an extended distance
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
US5420985A (en) * 1992-07-28 1995-05-30 Texas Instruments Inc. Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode
US5471585A (en) * 1992-09-17 1995-11-28 International Business Machines Corp. Personal computer system with input/output controller having serial/parallel ports and a feedback line indicating readiness of the ports
JP3057934B2 (ja) * 1992-10-30 2000-07-04 日本電気株式会社 共有バス調停機構
US5699540A (en) * 1992-11-16 1997-12-16 Intel Corporation Pseudo-concurrent access to a cached shared resource
US5500946A (en) * 1992-11-25 1996-03-19 Texas Instruments Incorporated Integrated dual bus controller
CA2116826C (en) * 1993-03-11 1998-11-24 Timothy J. Sullivan Data processing system using a non-multiplexed, asynchronous address/data bus system
US5528765A (en) * 1993-03-15 1996-06-18 R. C. Baker & Associates Ltd. SCSI bus extension system for controlling individual arbitration on interlinked SCSI bus segments
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
KR0155269B1 (ko) * 1995-01-16 1998-11-16 김광호 버스 중재방법 및 그 장치
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5845097A (en) * 1996-06-03 1998-12-01 Samsung Electronics Co., Ltd. Bus recovery apparatus and method of recovery in a multi-master bus system
US6560712B1 (en) * 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6842813B1 (en) 2000-06-12 2005-01-11 Intel Corporation Method and apparatus for single wire signaling of request types in a computer system having a point to point half duplex interconnect
US6877052B1 (en) * 2000-09-29 2005-04-05 Intel Corporation System and method for improved half-duplex bus performance
US7007122B2 (en) * 2002-11-27 2006-02-28 Lsi Logic Corporation Method for pre-emptive arbitration
US7107375B2 (en) * 2003-05-13 2006-09-12 Lsi Logic Corporation Method for improving selection performance by using an arbitration elimination scheme in a SCSI topology
DE602004019990D1 (de) 2004-08-30 2009-04-23 Magima Digital Information Co Verfahren und system zum datentransfer
DE102008000031B4 (de) * 2008-01-10 2014-07-10 Koenig & Bauer Aktiengesellschaft Verfahren zur Kontrolle einer Anordnung von an Formzylindern einer Druckmaschine angeordneten Druckformen

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481580A (en) * 1979-11-19 1984-11-06 Sperry Corporation Distributed data transfer control for parallel processor architectures
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
EP0066766B1 (de) * 1981-06-05 1988-08-10 International Business Machines Corporation Ein/Ausgabesteuereinheit mit einem dynamisch einstellbaren Pufferspeicher
US4451883A (en) * 1981-12-01 1984-05-29 Honeywell Information Systems Inc. Bus sourcing and shifter control of a central processing unit
US4578782A (en) * 1983-08-26 1986-03-25 Motorola, Inc. Asynchronous memory refresh arbitration circuit
US4742454A (en) * 1983-08-30 1988-05-03 Amdahl Corporation Apparatus for buffer control bypass
US4631660A (en) * 1983-08-30 1986-12-23 Amdahl Corporation Addressing system for an associative cache memory
US4701844A (en) * 1984-03-30 1987-10-20 Motorola Computer Systems, Inc. Dual cache for independent prefetch and execution units
JPS61117650A (ja) * 1984-11-13 1986-06-05 Nec Corp バス制御方式
US4941088A (en) * 1985-02-05 1990-07-10 Digital Equipment Corporation Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses
US4794523A (en) * 1985-09-30 1988-12-27 Manolito Adan Cache memory architecture for microcomputer speed-up board
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory

Also Published As

Publication number Publication date
NO176038B (no) 1994-10-10
BR8902388A (pt) 1990-01-16
GB2219176A (en) 1989-11-29
GB8904919D0 (en) 1989-04-12
NZ228785A (en) 1991-04-26
CN1037982A (zh) 1989-12-13
MY111733A (en) 2000-12-30
SE8901306D0 (sv) 1989-04-11
NO891585D0 (no) 1989-04-18
BE1002405A4 (fr) 1991-01-29
NO176038C (no) 1995-01-18
EP0343770A2 (de) 1989-11-29
FI891786A0 (fi) 1989-04-14
DE68922784D1 (de) 1995-06-29
FI891786A (fi) 1989-11-27
HK23696A (en) 1996-02-16
NL8901282A (nl) 1989-12-18
FI96145B (fi) 1996-01-31
EP0343770A3 (en) 1990-11-22
DE68922784T2 (de) 1995-11-30
JPH0218657A (ja) 1990-01-22
MX171578B (es) 1993-11-08
IT8920626A0 (it) 1989-05-24
FI96145C (fi) 1996-05-10
AU3409789A (en) 1989-11-30
NO891585L (no) 1989-11-27
CN1010808B (zh) 1990-12-12
US5129090A (en) 1992-07-07
ES2072895T3 (es) 1995-08-01
DK189889A (da) 1989-11-27
IT1230191B (it) 1991-10-18
FR2632096B1 (fr) 1991-09-20
DK189889D0 (da) 1989-04-19
SE8901306L (sv) 1989-11-27
DE3909948A1 (de) 1989-11-30
AU611287B2 (en) 1991-06-06
FR2632096A1 (fr) 1989-12-01
CA1317682C (en) 1993-05-11
EP0343770B1 (de) 1995-05-24
JPH0623970B2 (ja) 1994-03-30
ATE123162T1 (de) 1995-06-15

Similar Documents

Publication Publication Date Title
DE3909948C2 (de)
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE69834519T2 (de) Bussteuerungssystem und -verfahren
DE3300262C2 (de)
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
DE3914265C2 (de)
DE69632634T2 (de) Arbitrierungseinheit zum Multiprozessorsystembuszugriff mit Wiederholungsfähigkeit
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE3300261C2 (de)
DE3300260C2 (de)
DE3810231C2 (de)
DE3820544C2 (de) Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon
DE4018481C2 (de)
DE3606211A1 (de) Multiprozessor-computersystem
EP0929041A2 (de) Verfahren und Anordnung zum Betreiben eines Bussystems
DE2313724A1 (de) Elektronische datenverarbeitungsanlage
DE3035718A1 (de) Signalprozessoranordnung mit bedingungsunterbrechungseinheit
DE3642324A1 (de) Multiprozessoranlage mit prozessor-zugriffssteuerung
DE3502147C2 (de)
DE60036923T2 (de) Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung
DE112012005572B4 (de) Ausgleichen der Bandbreite von Anforderern, die ein gemeinsam genutztes Speichersystem verwenden
DE10061770A1 (de) Zugriffsregelung für Steuerchipsätzen bei Bustransaktion
EP0175095B1 (de) Datenübertragungsverfahren über einen Multiprozessorbus
DE4100018C2 (de) Verfahren zur Bedienungsbedarfsmitteilung zwischen zwei Stationen eines Computerbusses

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee