DE69219848T2 - Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau - Google Patents

Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau

Info

Publication number
DE69219848T2
DE69219848T2 DE69219848T DE69219848T DE69219848T2 DE 69219848 T2 DE69219848 T2 DE 69219848T2 DE 69219848 T DE69219848 T DE 69219848T DE 69219848 T DE69219848 T DE 69219848T DE 69219848 T2 DE69219848 T2 DE 69219848T2
Authority
DE
Germany
Prior art keywords
bus
card
dual
processor
master
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
DE69219848T
Other languages
English (en)
Other versions
DE69219848D1 (de
Inventor
Robert Chih-Tsin Eng
John Walter Galella
Rex Eldon Mccarary
Mark Gehres Mcdonald
Eric Henry Stelzer
Frederick Charles Yentz
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
Application granted granted Critical
Publication of DE69219848D1 publication Critical patent/DE69219848D1/de
Publication of DE69219848T2 publication Critical patent/DE69219848T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/285Halt processor DMA
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

  • Die Erfindung bezieht sich im allgemeinen auf ein Verfahren zur Verbesserung von Datenübertragungsgeschwindigkeiten in Computersystemen mit einer Zweibusarchitektur, d. h. in Computersystemen mit einem ersten Bus, der in einem Systembusmaster enthalten ist (zum Beispiel dem lokalen Bus auf der Systemprozessorkarte oder -komplex), und einem zweiten Bus zur Verbindung eines Doppelbusmasters (und normalerweise auch anderer Geräte) mit dem ersten Bus. Insbesondere bezieht sich die Erfindung auf ein Verfahren zur Verbesserung der Datenübertragungsgeschwindigkeiten in ein dynamisches/aus einem dynamischen Speicheruntersystem (DRAM) der Prozessorkarte, während der Doppelbusmaster Speicherzyklen aufgerufen hat, die eine Vielzahl von Speicherzyklen enthalten, die erforderlich sind, um die Datenübertragungen im Burst-Modus über jeden der zuvor genannten Busse und über die Schnittstelle zwischen den zwei Bussen zu unterstützen.
  • Handelsübliche, hochleistungsfähige Industriecomputersysteme, wie zum Beispiel das IBM System 7568 ("IBM" ist ein Warenzeichen von International Business Machines Corporation), sind dem Fachmann bekannt. Solche Systeme sind normalerweise entworfen worden, um in extremen Umgebungen zu funktionieren, ohne daß die Anwesenheit eines Bedieners erforderlich ist, sind leicht zu warten und haben den Zweibusbau, auf den hier oben Bezug genommen wurde.
  • In dem IBM System 7568, das anschließend nur zur Hintergrundinformation kurz beschrieben wird, werden Leiterplatten in individuelle Einsätze gepackt, die in eine passive Rückwand gesteckt werden. Die Rückwand versorgt die angeschlossenen Karten mit Energie und stellt einen Karte-zu-Karte-Kommunikationsbus bereit (ein Beispiel des "zweiten" Busses, auf den zuvor Bezug genommen wurde), welcher in dem illustrativen IBM System 7568 als Micro-Channel-Bus ("Micro Channel" ist ein Warenzeichen von International Business Machines Corporation) bezeichnet wird.
  • Die Erfindung wird nur zum Zweck der Darstellung anschließend mit Bezug auf die Zweibus-Micro-Channel-Architektur, die in Computern, wie zum Beispiel dem IBM System 7568 gefunden wird, ausgeführt. Der Fachmann wird es ohne weiteres schätzen, daß der IBM Micro-Channel-Bus ein Beispiel für die allgemeinere Klasse der Karte-zu-Karte-Kommunikationsbusse ist, die in den Zweibusarchitekturen vorkommen, in denen die Erfindung vorteilhaft eingesetzt werden kann. Folglich ist, obwohl die bekannte IBM Zweibus-Micro-Channel-Architektur als Beispiel zur Darstellung der Prinzipien der Erfindung dient und hier als solche verwendet werden wird, nicht beabsichtigt, daß die Erfindung auf die Verwendung in IBM Zweibus-Micro-Channel-Systemen per se begrenzt ist.
  • Das Basissystem für den 7568 besteht aus einer Prozessorkarte und einer Systemressourcenkarte. Diese beiden Karten stellen die Funktion einer bekannten IBM PS/2 Planertafel (PS/2 ist ein Warenzeichen von International Business Machines Corporation) bereit. Die Systemressourcenkarte enthält die Systemschnittstellen für Bild-, Tastatur-, Disketten- und Konfigurationsinformationen, die in einem CMOS Speicher mit geringer Leistung gespeichert sind. Die Prozessorkarte enthält den Mikroprozessor, den mathematischen Koprozessor (oder eine andere Gleitkommaeinheit), und den Basisspeicher mit Fehlerkorrekturcode (ECC). Die Kommunikation zwischen dem Mikroprozessor und dem Basisspeicher findet über einen lokalen, On-Card-Bus (ein Beispiel des "ersten" Busses, auf den oben Bezug genommen wurde) statt. Im IBM System 7568 ist der Mikroprozessor ein Intel 80386 ("Intel" ist ein Warenzeichen von Intel Corporation). Obwohl die nachstehend beschriebene Erfindung in ein System eingebaut werden kann, das auf einem 80386 basiert, wird es der Fachmann ohne weiteres schätzen, daß weiterentwickelte Mikroprozessoren gegenwärtig eingeführt werden, wie zum Beispiel der Intel 80486 Prozessor. Dementsprechend werden die Taktinformationen, die bei der Entwicklung des Hintergrunds der Erfindung erörtert wurden, auf den 80486 bezogen werden, obwohl der einzelne Prozessor, der in Verbindung mit der Erfindung benutzt wird, nicht beabsichtigt, die Erfindung darauf zu beschränken.
  • Der Takt im 80486 und seinem angeschlossenen DRAM-Untersystem basiert auf einem Takt von 25MHz oder einer Periode von 40ns. Die kleinste Zykluszeit des Mikroprozessors beträgt 80ns, während der der 80486 zuerst die Adressierung installiert (in einer Periode von 40ns) und dann nach den Dateien sucht (in der zweiten Periode von 40ns).
  • Zusätzliche Zeit oder Wartezustände können zu dem 80ns dauernden Zyklus des Mikroprozessors hinzugefügt werden, zum Beispiel durch Einsatz eines Geräte-Bereitsignals. Ein Wartezustand von 40ns würde ein natürliches Zykluserweiterungsinkrement für Systeme sein, die einen Takt von 25MHz benutzen.
  • In Systemen, wie dem illustrativen IBM System 7568, wird die Schnittstelle zu den Ressourcen auf der Prozessorkarte, die durch einen Doppelbusmaster lokalisiert werden, mittels eines Micro-Channel-Ausgleichprozesses bereitgestellt (oder allgemeiner durch den Ausgleichprozeß, der unabhängig vom Typ des Busses immer zu dem Karte-zu-Karte-Kommunikationsbus gehört, in einem gegebenen Zweibusbau verwendet wird), der auf der zuvor erwähnten Systemressourcenkarte liegt. Ein solcher Prozeß, und in der Tat die Micro-Channel-Struktur selbst, werden in vielen Veröffentlichungen, einschließlich dem technischen Referenzhandbuch für das IBM System 7568, beschrieben. Die Beschreibung des Micro-Channel-Ausgleichprozesses, der Micro-Channel-Struktur und der zugehörigen Signalisierung, alle im technischen Referenzhandbuch ausgeführt, sind hierin mit Referenz enthalten.
  • Gemäß den Lehren der zuvor erwähnten Referenz wird, nachdem der Ausgleichsprozeß einen Doppelbusmaster als Micro-Channel-Businhaber aufgebaut hat, dem Doppelbusmaster erlaubt, eine Transaktion in den oder aus dem Prozessorspeicher zu fordern. Andernfalls kann, wie in der Referenz gelehrt, nur ein Micro-Channel- Gerät den Micro-Channel-Bus zu jedem gegebenen Zeitpunkt besitzen.
  • Die zuvor erwähnte Speicheranforderung kann über eine bekannte Systemhalte- (SHOLD) oder eine Systemhaltebestätigungs- (SHOLDA) Handshaking-Technik verwaltet werden. Die Einzelheiten eines Basisprozesses, die genutzt werden können, um die zuvor erwähnte (oder ähnliche) Handshaking-Fähigkeit bereitzustellen, ist in der Intel-Dokumentation, die den 80486 Prozessor unterstützt, beschrieben, wie zum Beispiel dem i486 Microprocessor Hardware Reference Manual, auf das hier Bezug genommen wird ("i486" ist ein Warenzeichen der Intel Corporation). Eine ähnliche Handshaking-Fähigkeit könnte zum Beispiel eine lokale Buszugriffsanforderungs-/ Bestätigungsprozedur und im allgemeinen Anforderungs-/ Bestätigungstechniken einschließen.
  • SHOLD ist ein Signal, das auf der Prozessorkarte selbst erzeugt wird, die auf einer Adreßdecodierung basiert, bei der die Adresse dem Prozessor durch den Doppelbusmaster über die Micro- Channel-Bus/Prozessorschnittstelle geliefert wird. Insbesondere, wie nachstehend in der ausführlichen Beschreibung der Erfindung erklärt werden wird, kommt das SHOLD Signal vom Doppelbusmaster, der bestimmte Prozessorsteuersignale über den Micro- Channel-Bus ansteuert, um den Start einer vom Doppelbusmaster gesteuerten Datenübertragung zu melden.
  • Funktionell ist das SHOLD Signal eine Anforderung für die Prozessorkarte, auf ihren On-Card-Bus zu verzichten (der Micro- Channel-Bus ist bereits im Besitz des Doppelbusmasters, der dem zuvor genannten Ausgleichsprozeß folgt), und dadurch einen externen Zyklus zu ermöglichen. Gemäß dem SHOLD/SHOLDA Handshaking-Schema aus dem Stand der Technik wird auf den On-Card-Prozessor-Bus solange nicht verzichtet, bis der Prozessor die SHOLD Anforderung mit dem SHOLDA Signal bestätigt. Das SHOLDA Signal wird immer als Antwort auf ein SHOLD Signal erzeugt werden: der Takt des SHOLDA Signals kann zum Beispiel schwanken, was zum Beispiel auf der laufenden Prozessoraktivität basiert, wenn das SHOLD Signal generiert wird (z. B. eine Speicherauffrischung oder ein anderer lokaler Busspeicherzugriff).
  • Gemäß der Techniken, die im exemplarischen IBM System 7568 verwendet werden, gibt das SHOLDA Signal (welches auf der On-Card verbleibt) den Start einer On-Card-Datenübertragung zum oder vom lokalen Bus an. Das tatsächliche "Handshake" Signal zurück zum Doppelbusmaster nimmt die Form eines anderen Steuersignals an, das über die Micro-Channel-Schnittstelle (wird nachstehend noch detailliert beschrieben) gesendet wurde, das angibt, daß die On-Card-Datenübertragung zum oder vom lokalen Bus vollständig ist.
  • Der Fachmann wird im Zusammenhang mit einer Zweibussystemarchitektur erkennen, daß während eines vom Doppelbusmaster gewährten Micro-Channel-Zyklus die Prozessorkarte nicht darauf beschränkt ist, lokal On-Card-Zyklen sowohl von dem Cachespeicher der Zentraleinheit (CPU) als auch von dem Kartenspeicher des Prozessors (insbesondere DRAM) zu leiten.
  • Die Fähigkeit aus diesem Stand der Technik, Mehrgerätzugriffe auf Systemressourcen (wie zum Beispiel DRAM) zu gewähren, kann einerseits benutzt werden, um die Systemverarbeitungsleistung zu bereichern; wird aber oft auf Kosten der optimalen Nutzung (bezüglich der Datenübertragungsgeschwindigkeit) von anderen Systemressourcen erreicht, wie zum Beispiel die Micro-Channel- Struktur in einer Zweibusarchitektur. In Anbetracht dieses Problems wäre es in Computersystemen mit Zweibusstruktur wünschenswert, die Nutzung der Ressourcen, die sich in der Prozessorkarte befinden mit der Nutzung anderer Systemhilfsressourcen, wie zum Beispiel einem Micro-Channel-Bus und der damit verbundenen Geräte, zu optimieren und in gewissem Sinne auszugleichen.
  • EP-A-0 432 978 beschreibt ein Datenverarbeitungssystem, das eine Anordnung enthält, um den üblichen Prioritätsausgleich für Direktspeicherzugriff unter konkurrierenden Peripheriegeräten in einem peripheren Bus zu ändern, der über ein E/A Kanalsteuergerät mit dem internen Bus verbunden ist.
  • Als ein Beispiel dafür, was wünschenswert ist, sollte, wenn gegenseitige, exklusive Busstrukturen in einem Zweibussystem gegeben sind, die CPU in der Lage sein, Befehle von ihrem Cachespeicher, genauso wie über ihren eigenen (lokalen) Bus, auf effizienteste Art und Weise auszuführen, ohne die Leistung des Micro-Channel-Busses, der mit dem lokalen Bus verbunden ist, unangemessen zu verschlechtern. Die Notwendigkeit für den Prozessor, über diese Fähigkeit zu verfügen, wird in Situationen geschätzt, in denen (1) DRAM-Auffrischungsanforderungen bedient werden müssen; (2) der Prozessor seine Befehlsvorabrufwarteschlange aus dem DRAM auffüllen muß, ohne Zeit damit zu verlieren, auf die Verfügbarkeit seines lokalen Busses zu warten; und (3) der Prozessor außerhalb des Cachespeichers arbeitet und/oder auf den DRAM usw. zugreifen muß. Dementsprechend, wann immer der Prozessor durch einen Doppelbusmaster in einen "HOLD" Zustand versetzt wird, sollte er auf eine Art und Weise "gehalten werden", die sowohl rechtzeitig als auch produktiv erfolgt, wenn man das System als Ganzes betrachtet.
  • In der vorliegenden, kommerziell verfügbaren Version des IBM Systems 7568, wird die Prozessorkarte 80386 so implementiert, daß der lokale Bus nach jedem Speicherzyklus dem Prozessor überlassen wird. Eine weitere SHOLD/SHOLDA Handshake-Sequenz wird für jeden folgenden Prozessorkarten-/lokalen Buszyklus benötigt, der von einem Doppelbusmaster gefordert werden. Diese Methodik wurde entworfen, um zu gewährleisten, daß die CPU das Recht haben würde, den ankommenden Doppelbusmaster abzuhalten, eine Speicherauffrischung, einen Codeabruf oder einen Datenzugriff zu leiten, um den Arbeitsgang fortzuführen. Dieser Stand der Technik erwies sich als effiziente Art und Weise, den (lokalen) Bus der CPU zu optimieren; die Effizienz des Micro- Channel Busses könnte jedoch während des Besitzes des Doppelbusmasters, stark beeinträchtigt werden.
  • Wenn beispielsweise ein normaler, lokaler Busspeicherzyklus über den Mikro-Channel-Bus 400-500ns benötigt, und für jede Übertragung über den Micro-Channel-Bus eine Handshake-Sequenz erforderlich ist, ist ein Aufwand in der Größenordnung von 1 Mikrosekunde für jede Übertragung über den Micro-Channel-Bus erforderlich, wobei ein 500-600ns Handshakeintervall angenommen wird. Der Fachmann wird es ohne weiteres schätzen, daß solche Zeitanfragen die Ausführung des Micro-Channel-Busses schnell verschlechtern können, besonders wenn eine Burst-Übertragungssequenz, die viele Zyklen erfordert, verwendet wird, um eine Doppelbusmaster-Datenübertragung auszuführen.
  • Übertragungen im Burst-Modus, auf die hier Bezug genommen wird, rechnen mit intensiven/langen Datenströmen, die den Micro-Channel-Bus zum/vom CPU im Kartenspeicher durchlaufen. Ein Beispiel eines bekannten Doppelbusmasters, der Übertragungen im Burst- Modus benutzt, um mit einer Prozessorkarte Daten effizient durch die Micro-Channel-Busschnittstelle zu bewegen, enthält Geräte mit getrenntem, direkten Zugriff (DMA), die für ein Untersystem mit direktem Speicherzugriff (DASD) verantwortlich sind.
  • Während zum Beispiel ein Betriebssystem geladen wird, Dateiverwaltungsoperationen durchgeführt werden, usw. muß der Doppelbusmaster eines DASD Untersystems, Millionen von Informationsbytes übertragen, die gemäß den bekannten Zweibusverwaltungstechniken ein wiederholtes Handshaking benötigen würden, um Aufgaben wie die Datenübertragung an sich, die Speicherauffrischungsverwaltung, den Speicherzugriff auf Befehlvorabrufwarteschlangen usw. zu verwalten.
  • Es ist zu beachten, daß die Zweibusverwaltungstechniken aus dem Stand der Technik, die mittels des zuvor erwähnten Handshakingschemas implementiert worden sind, das Potential haben, die Leistung des Micro-Channel-Busses zu verschlechtern, ebenso in anderen Situationen.
  • So wurde zum Beispiel die Benutzung des Handshaking-Verfahrens als Weg angesehen, um einen Speicherauffrischungszyklus in einem Kartenspeicher bereitzustellen, sobald ein Rückführungssignal Kanal-Bereit "CHRDYRTN" (das ausführlich in der Veröffentlichung über eine Architektur mit integriertem Micro-Channel erklärt wird) für den vorherigen Doppelbusmaster-Zyklus gegeben wurde, indem nicht auf den nächsten Befehl vom Doppelbusmaster reagiert wird, so lange wie die SHOLDA Leitung von dem Prozessor während einer Auffrischungsanforderung bw gezogen (inaktiv) wird. Dieser Auffrischungsanforderungszyklus wurde bearbeitet, obgleich die Off-Card des Doppelbusmasters noch durch den Micro-Channel-Bus gesteuert wurde.
  • So gesehen, tritt ein anderes Problem mit dem Stand der Technik auf, wenn die Zweibusstruktur verwaltet werden soll, wenn ein ausgedehnter SHOLDA Low-Status (inaktiv) anliegt, obwohl der Doppelbusmaster bereits mit einem Befehlszyklus begonnen hat. In dieser Situation wird, selbst wenn ein Master mit höherer Priorität dem Micro-Channel-Bus zuvorkommt, der aktuell ausführende Master nicht in der Lage sein, den Kanal zu verlassen, so lange wie der Originalbefehl von dem CHRDYRTN Signal bedient wurde, das außerdem den Micro-Channel-Bus blockiert.
  • Demgemäß wäre es wünschenswert, in der Lage zu sein, einen Doppelbusmaster bereitzustellen, der eine Technik vorsieht, die Datenübertragungsgeschwindigkeit im Burst-Modus zu handhaben, die in Zweibussystemen genutzt wird und für einen Ausgleich zwischen der Notwendigkeit, die Benutzung des Systemprozessors und seiner zugehörigen Ressourcen (zum Beispiel der DRAM) sowie die Effizienz von Doppelbusmaster/Micro-Channel-Bus zu optimieren, sorgt, wobei das Gesamtziel darin liegt, den im allgemeinen mit der Datenübertragung verbundenen Aufwand zu reduzieren, und es ein besonderes Anliegen ist, den Aufwand zu reduzieren, der zu den Datenübertragungen im Burst-Modus gehört.
  • Des weiteren wäre es wünschenswert, Zweibusverwaltungstechniken bereitzustellen, die nicht für das unangemessene Blockieren des Karte-zu-Karte-Kommunikationsbusses (zum Beispiel der Micro- Channel-Bus von IBM) anfällig ist, das aufgrund der Ausführung der verlangten Speicherauffrischungsoperationen usw. entsteht.
  • Es wäre außerdem wünschenswert, Verfahren und Vorrichtungen bereitzustellen, um die Schnittstelle zwischen einem lokalen Prozessorbus und einem Micro-Channel-Bus zu steuern, die (1) die Notwendigkeit berücksichtigen, daß anhängige Speicherauffrischungszyklen sofort bedient werden müssen; die (2) die zahlreiche Zugriffe auf den Doppelbusmaster in einem Kartenspeicher in einer zuvor bestimmten (aber potentiell programmierbaren) Anzahl Zyklen in Situationen begrenzen, wo der Prozessor die Benutzung von seinem lokalen On-Card-Speicherbus verlangt; und die (3) einem Doppelbusmaster unbegrenzte Zugriffe auf einen On-Card-Speicher in Situationen gewähren, in denen der Doppelbusmaster den Micro-Channel-Bus besitzt, und der Systemprozessor den Micro-Channel-Bus später anfordert. Diese Verfahren und Vorrichtungen können, wie hier noch gezeigt werden wird, benutzt werden, um die gewünschte optimale Nutzung von Systemressourcen und den Leistungsausgleich (im Hinblick auf die Datenübertragungsgeschwindigkeit) zwischen dem Systemprozessor und einem Micro-Channel-Bus in Computersystemen mit einer Zweibusstruktur zu erreichen.
  • Zusammenfassung der Erfindung
  • Es ist ein allgemeiner Gegenstand der Erfindung, Verfahren und Vorrichtungen bereitzustellen, welche die Nutzung von Ressourcen, die sich auf der Prozessorkarte (z. B. Speicher, lokaler Bus usw.) befinden, mit der Nutzung von anderen Systemressourcen zu optimieren und gewissermaßen auszugleichen, wie zum Beispiel Karte-zu-Karte-Kommunikationen im Micro-Channel-Bus und mit Geräten, die damit verbunden sind.
  • Gemäß der Erfindung können die vorgenannten Ziele erreicht werden, indem Techniken implementiert werden, die es einem Doppelbusmaster (unter bestimmten Bedingungen, die hier noch beschrieben werden), ermöglichen, zahlreiche Zugriffe auf die Prozessorkarte oder auf komplexe lokale Busressourcen während einer Handshake-Sequenz (insbesondere in dem Zeitintervall zwischen der Generierung der vorerwähnten SHOLD und SHOLDA Signalen oder analogen Signalen) durchzuführen; im Gegensatz zu dem einzelnen Zugriff per Handshake, der praktiziert wird, indem Zweibushandhabungstechniken aus dem Stand der Technik benutzt werden.
  • Gemäß einem weiteren Aspekt der Erfindung sind die neuen Zweibushandhabungstechniken (und Vorrichtungen zur Implementierung dieser Techniken) darauf konzentriert, Ressourcenprioritäten zwischen den Anforderungen des Systembusmasters (der, für die Prozessorkarte für das Beispiel zu dem Systembusmaster, das hier ausgeführt wird, sowohl seine lokalen On-Card-Prioritäten enthält als auch versucht, durch die Prozessorkarte an externen Kommunikationen teilzunehmen) und den Prioritäten eines Doppelbusmasters im Besitz des Karte-zu-Karte-Kommunikationsbusses und/oder CPU-Busses auszugleichen.
  • Die Erfindung zieht in Betracht, diesen Ausgleich durch den Einsatz einer Terminplanungsprozedur zu erreichen, auf die hier als Bus Hold On Grant ("BSHOG") Prozedur Bezug genommen wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung ermöglicht die BSHOG-Prozedur insbesondere zahlreiche Doppelbusmasterzugriffe auf die On-Card (Prozessorkarte) Speicherressourcen während eines gegebenen Handshake-Intervalls, der folgendem unterliegt: (a) einen On-Card-Zugriff durch den Doppelbusmaster am Ende eines aktuellen Datenübertragungszyklus eines Karte-zu-Karte-Kommunikationsbusses (z. B. Micro-Channel-Bus) zu beenden, wenn ein Speicherauffrischungszyklus anhängig ist; (b) den Zugriff des Doppelbusmasters auf den On-Card (Prozessorkarte) Speicher auf eine zuvor bestimmte Anzahl von Speicherzyklen des Karte- zu-Karte-Kommunikationsbusses zu begrenzen, wenn der Prozessor (auf der Prozessorkarte) das Eigentum an seinem lokalen On- Card-Speicherbus verlangt; und (c) einem Doppelbusmaster unbegrenzten Zugriff auf den On-Card (Prozessorkarte) Speicher in Situationen zu gewähren, in denen der Doppelbusmaster im Besitz des Karte-zu-Karte-Kommunikationsbusses ist, und die CPU die Benutzung des Karte-zu-Karte-Kommunikationsbusses verlangt.
  • Gemäß einem weiteren Ausführungsbeispiel der Erfindung kann die vorerwähnte BSHOG-Prozedur dynamisch geändert oder programmiert werden, so daß die zuvor erwähnte, vorbestimmte Anzahl der Datenübertragungszyklen des Karte-zu-Karte-Kommunikationsbusses variabel ist.
  • Des weiteren kann die BSHOG-Prozedur gemäß einem bevorzugten Ausführungsbeispiel der Erfindung als Teil der On-Card (Prozessorkarte) Steuerlogik, die zu der CPU in Zweibusrechensystemen, zum Beispiel dem IBM System 7568 (basierend auf 80386), moderneren 80486 Zweibussystemen u. ä. gehört, implementiert werden.
  • Gemäß einem Aspekt der Erfindung kann ein Teil der BSHOG-Prozedur implementiert werden, wobei angenommen wird, daß ein Doppelbusmaster über ein Verfahren im Besitz des lokalen Busses der Prozessorkarte ist, das Schritte enthält, um: (a) zu bestimmen, ob eine Speicherauffrischungsanforderung der Prozessorkarte anhängig ist; (b) die Aktivität eines Doppelbusmasters auf der Prozessorkarte (oder Komplex) des lokalen Busses am Ende eines aktuellen Karte-zu-Karte-Kommuikationsbuszyklus zu beenden, wann immer eine Speicherauffrischungsanforderung der Prozessorkarte als anhängig bestimmt wird; (c) die Steuerung des lokalen Busses der Prozessorkarte über den Prozessor vorzunehmen, nachdem Schritt (b) ausgeführt wurde; und (d) andernfalls dem Doppelbusmaster zu ermöglichen, den lokalen Bus auf der Prozessorkarte zu halten, ohne daß eine Neuerfassung der Handshake-Sequenz des lokalen Busses über wenigstens zwei Datenübertragungszyklen von dem Zeitpunkt an erforderlich ist, an dem der Doppelbusmaster die Steuerung über den lokalen Bus der Prozessorkarte erlangte und ggf. die Datenübertragungsaktivität des Doppelbusmasters zu beenden.
  • Gemäß einem weiteren Aspekt der Erfindung kann außerdem ein Teil der BSHOG-Prozedur implementiert werden, wobei angenommen wird, daß ein Burst-Doppelbusmaster die Steuerung über den lokalen Bus der On-Card (Prozessorkarte) erlangte und die Datenübertragungszyklen ausführt, wenn die CPU den lokalen Bus über ein Verfahren auffordert, das den Schritt enthält, den Handshake-Intervall (d. h. der Zeitraum zwischen einem SHOLD Signal und einem SHOLDA Signal) über eine Vielzahl von Datenübertragungszyklen des Doppelbusmasters zu verteilen. Ein Ausführungsbeispiel der Erfindung zieht in Betracht, daß die Anzahl von Datenübertragungszyklen, über die der Handshake-Intervall verteilt wird, zuvor bestimmt und festgelegt wurde. Ein anderes Ausführungsbeispiel der Erfindung zieht in Betracht, daß die Anzahl der Zyklen programmierbar oder dynamisch in der Lage ist, verändert zu werden, um die Systemleistung zu optimieren, die auf der Anwendung basiert, dem Betrieb, der Stammnutzung usw.
  • Gemäß einem weiteren Aspekt der Erfindung kann ein Teil der BSHOG-Prozedur implementiert werden, wobei wiederum angenommen wird, daß ein Burst-Doppelbusmaster die Steuerung über den lokalen Bus des Prozessors erlangt hat und die Datenübertragungszyklen über ein Verfahren dort ausführt, das Schritte enthält, um: (a) zu bestimmen, ob die CPU in einen Status gesetzt wurde, indem sie auf den Zugriff auf den Karte-zu-Karte-Kommunikationsbus (z. B. der Micro-Channel-Bus) gemäß einem zuvor bestimmten Satz von Systembusausgleichsprozeduren wartet; und (b) dem Doppelbusmaster eine unbegrenzte Anzahl von Datenübertragungszyklen ermöglicht, um seine Datenübertragungsaktivität zu beenden, bevor der Karte-zu-Karte-Kommunikationsbus aufgegeben wird.
  • Die Erfindung führt Verfahren und Vorrichtungen aus, welche die Leistung von Systembusmaster und Doppelbusmaster in Zweibusrechensystemen ausgleichen, um insgesamt eine Verbesserung der Leistung der Datenübertragungsgeschwindigkeit innerhalb des Systems zu erreichen.
  • Des weiteren führt die Erfindung Verfahren und Vorrichtungen aus, welche die Verschlechterung der Karte-zu-Karte-Kommunikationsbus (Micro-Channel-Bus) Ressourcen in einem Zweibusrechensystem verhindern, insbesondere, wenn ein Doppelbusmaster Kommunikationen im Burst-Modus mit dem Speicher oder der anderen lokalen Buseinheit auf der Prozessorkarte ausführt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • FIG. 1 zeigt einen Satz Karten, die in dem Micro-Channel-Bus in einer Zweibus-Micro-Channel-Systemarchitektur, zum Beispiel wie diese in dem IBM System 7568 vorhanden ist, mit einer Prozessorkarte 80486 verbunden wird, die im allgemeinen mit Bezug auf FIG. 2 beschrieben wird und anstatt des 80386 Prozessors im IBM System 7568 benutzt wird.
  • FIG. 2 zeigt in einem höheren Blockdiagrammformat Teile einer 80486 Prozessorkarte, die einen Prozessorbus (lokal) enthält, der mit der Micro-Channel-Busstruktur verbunden ist, die in FIG. 1 dargestellt ist.
  • FIG. 3 zeigt einen Satz Steuersignale, die durch eine Implementierung aus dem Stand der Technik von einem Verfahren generiert wurden, um eine Prozessorkarte zu entfernen, die das System Hold Acknowledge (SHOLDA) Signal nach jedem Zyklus generierte, der von einem Doppelbusmaster abgeschlossen wurde. Die Steuersignale, die in FIG. 3 dargestellt sind, entstehen, wenn die Zentraleinheit (CPU) nicht den lokalen Bus zwischen den Doppelmasterzyklen verlangt.
  • FIG. 4 zeigt einen Satz Steuersignale, die von einer Implementierung aus dem Stand der Technik von einem Verfahren generiert wurden, das den Doppelbusmaster von der Prozessorkarte abhält, wodurch der lokale Bus veranlaßt wird, durch den Doppelbusmaster abgetreten zu werden, wann immer die CPU den lokalen CPU-Bus zwischen den Doppelmasterzyklen verlangt.
  • FIG. 5 zeigt einen Satz von Steuersignalen, die generiert wurden, wenn die neuen Techniken, die hierin beschrieben wurden, implementiert wurden, um effizient die Burst-Datenübertragungsgeschwindigkeiten des Doppelbusmasters in Rechensystemen mit Zweibusarchitektur zu handhaben (und zu steigern).
  • FIG. 6 zeigt die Funktionslogik (und entsprechende Verfahrensschritte), die verwendet werden kann, um ein bevorzugtes Ausführungsbeispiel der Erfindung als Maschinenstatus/Flußdiagramm zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie oben erwähnt, zeigt FIG. 1 einen Satz Karten, die mit dem Micro-Channel-Bus in einer Zweibus-Micro-Channel-Systemarchitektur, zum Beispiel wie diese, die im IBM System 7568 vorhanden ist, verbunden ist.
  • Eine 80486 Prozessorkarte, die als Karte 101 in FIG. 1 gezeigt und nachstehend allgemein mit Bezug auf FIG. 2 beschrieben wird, ist anstelle des 80386 Prozessors dargestellt, der in dem System 7568 enthalten ist, obwohl - wie zuvor angegeben - der bestimmte Typ des Mikroprozessors, der in der Prozessörkarte (oder Prozessorkomplex) enthalten ist, den Bereich oder die Nutzung der Erfindung nicht einschränken wird.
  • Die Prozessorkarte, zum Beispiel die Prozessorkarte 101, wird im IBM System 7568 als Systembusmaster definiert. In dem gezeigten System enthält die Prozessorkarte 101 den Mikroprozessor selbst, Steuerlogik, ein Speicheruntersystem, eine Micro- Channel-Busschnittstelle und andere Geräte, von denen einige nachstehend beschrieben werden, um die Grundsätze der Erfindung zu erklären.
  • Die Schnittstelle zwischen dem Systembusmaster (Karte 101) und dem Micro-Channel-Bus 150, die als Schnittstelle 175 in FIG. 1 dargestellt ist, überträgt Adreß-, Daten- und Steuersignale, wie dies in der entsprechenden Veröffentlichung der Micro-Channel-Architektur, auf die hier Bezug genommen wurde, beschrieben worden ist.
  • Mit dem Micro-Channel-Bus 150 (der in dem System abgebildet ist, das in FIG. 1 dargestellt ist) sind ebenfalls über separate Schnittstellen die Systemressourcenkarte 102, eine nicht näher spezifizierte Slave-Einheit (zum Beispiel eine Druckerkarte) und ein Satz Doppelbusmasterkarten verbunden, die (zum Zwecke der Abbildung) eine im Handel erhältliche DASD- und Portmaster-Karte haben, was durch die Karten 104 bzw. 105 dargestellt ist.
  • Die Erfindung wird im Zusammenhang mit dem Zweibusrechensystem beschrieben, das zum Beispiel in FIG. 1 dargestellt ist. Der Begriff "Zweibus" bezieht sich auf ein System, das eine Kombination aus lokalem Bus in einer Prozessorkarte enthält, wie diese zum Beispiel durch den lokalen Bus 210 dargestellt wird, der in FIG. 2 abgebildet ist (oder alternativ durch den lokalen Bus eines Prozessorkomplexes), die mit einer separaten Busstruktur, zum Beispiel dem Micro-Channel-Bus 150 aus FIG. 1 verbunden ist.
  • Karten wie diese, die durch die Systemressourcenkarte 102, die Nebeneinheit 103, die DASD-Karte 104 und die Portmaster-Karte 105 dargestellt werden, sind alles im Handel erhältliche Einheiten, die hier nicht weiter beschrieben werden müssen, um die Grundsätze der Erfindung zu illustrieren. Man sollte jedoch beachten, daß (1) die Erfindung auf die Zusammenarbeit zwischen (Handhabung der) Zweibusse (zum Beispiel der lokale Bus und der Micro-Channel-Bus, die in den Figuren 1 und 2 dargestellt sind) in einem Zweibusrechensystem ausgerichtet ist; und daß (2) es ein wichtiges Ziel der Erfindung ist, dem Systembusmaster und einem der Doppelbusmaster, die in FIG. 1 abgebildet sind (wobei die Karten wie DASD-Karte 104 oder Portmaster-Karte 105 als ein Doppelbusmaster dienen können), zu ermöglichen, miteinander auf eine Art und Weise zu kommunizieren (über die exemplarische Zweibusstruktur), welche die Systemleistung maximiert, insbesondere wenn Übertragungen im Burst-Modus über die lokale Bus/Micro-Channel-Busschnittstelle ausgeführt werden.
  • Es sollte außerdem beachtet werden, daß von der Systemressourcenkarte 102 angenommen wird, daß diese benutzt wird, um den Micro-Channel-Busausgleich (wie dies in der zu der integrierten Micro-Channel-Architektur gehörenden Veröffentlichung gelehrt wird) in dem exemplarischen System zu steuern, das hier zum Zwecke der Darstellung der Grundsätze der Erfindung ausgeführt wird, und daß von der Systemressourcenkarte 102 - wie zuvor angegeben - angenommen wird, daß diese die Systemschnittstellen für Bild-, Tastatur-, Disketten- und Konfigurationsinformationen enthält, die im CMOS-Speicher gespeichert sind.
  • Es sollte außerdem beachtet werden, daß die Steuerlogik, die sich auf der Prozessorkarte 101 befindet (die als Steuerlogik 205 in FIG. 2 dargestellt ist), eine bevorzugte Stelle (aber nicht unbedingt die einzige ist), um die hier gelehrten Techniken für die Handhabung der Übertragungsgeschwindigkeit/des Zweibusses zu implementieren. Die Anordnungen in dem Prozessorkomplex in der vorerwähnten Steuerlogik können sich zum Beispiel über zwei oder mehr Karten erstrecken, und die Erfindung kann ebenso in der Logik implementiert werden, die sich in verschiedenen anderen Teilen des Komplexes befindet, oder sogar außerhalb der Karte oder des Komplexes vorstellbar ist.
  • Nachdem in FIG. 1 ein Beispiel von einem System ausgeführt wurde, in dem die Erfindung verwendet werden kann, sollte nun Bezug auf FIG. 2 genommen werden, die in einem höheren Blockdiagrammformat Teile einer 80486 Prozessorkarte zeigt, die einen Prozessorbus (lokal) enthält, der mit der Micro-Channel- Busstruktur verbunden ist, die in FIG. 1 dargestellt ist.
  • Wie oben angegeben, zeigt FIG. 2 eine Prozessorkarte (obwohl wiederum die Erfindung in prozessorkomplexorientierten Systemen benutzt werden kann, in Systemen, welche den Systembusmaster und den Doppelbusmaster usw. auf einer Karte enthalten), die den lokalen Bus 210, die Steuerlogik 205, den 80486 Prozessor selbst, der als Prozessor 215 in FIG. 2 dargestellt ist, die Auffrischungslogik 220, das Speicheruntersystem DRAM 225, die Busschnittstellenlogikeinheiten 230 und 235 enthält, um den lokalen Bus 210 und die Steuerlogik 205 mit dem Prozessor 215 bzw. dem Micro-Channel-Bus 150 zu verbinden. Die Busschnittstellenlogik 235 kann als die gelehrt werden, die eine Schnittstelle 175 enthält (oder alternativ mit dieser verbunden sein), wie dies in FIG. 1 dargestellt ist.
  • Der Prozessor 215, der gezeigt wird, enthält auch seinen eigenen Cachespeicher (Cache 240), und andere Cache (Cachespeicher der zweiten Ebene sind nicht abgebildet) können in der Prozessorkarte enthalten sein und mit dem Prozessor 215 über den lokalen Bus 210 verbunden werden.
  • Die Architektur der Prozessorkarte, die in FIG. 2 dargestellt ist, ist in dem IBM 7568 System mit einem 80386 Prozessor anstelle des dargestellten 80486 Prozessors vorhanden. Dementsprechend ist die Architektur einer Prozessorkarte, zum Beispiel der Prozessorkarte, die in FIG. 2 dargestellt ist, dem Fachmann bekannt, daß es nicht notwendig ist, diese weiter zu beschreiben, um die Grundsätze der Erfindung zu verstehen.
  • Es sollte jedoch beachtet werden, daß die Steuerlogik 205 in der Prozessorkarte, die in FIG. 2 dargestellt ist, normalerweise funktionsfähig ist, um (1) das Eigentum des lokalen Busses zu steuern, der die Implementierung der Handshaking-Technik aus dem Stand der Technik, auf die hier Bezug genommen wird (eine, die einmal pro Datenübertragungszyklus als Handshake vorgeschrieben ist) enthält, um sicherzustellen, daß sich jeweils nur ein Gerät im lokalen Bus befindet; (2) sicherzustellen, daß alle Geräte, die mit der Prozessorkarte verbunden sind, synchronisiert werden; und (3) die Speicherauffrischung zu steuern.
  • Wie hier woanders angegeben ist, ist, gemäß einem bevorzugten Ausführungsbeispiel der Erfindung, die Steuerlogik für eine Prozessorkarte (z. B. Steuerlogik 205) oder die Steuerlogik in einem Prozessorkomplex die bevorzugte Stelle, in welche der BSHOG-Zweibushandhabungsprozeß, der hier beschrieben ist, zu implementieren ist.
  • Nachdem die Grundlagen zur Beschreibung der Erfindung dargelegt wurden, sollte auf die Figuren 3-5 Bezug genommen werden, die Sätze mit Steuersignalen darstellen, die mittels der Zweibushandhabungstechniken, auf die zuvor Bezug genommen wurde (Stand der Technik), generiert worden sind (die in den Steuersignalen resultieren, die in den Figuren 3 und 4 dargestellt sind; die mit einem Satz Steuersignale verglichen werden, die in FIG. 5 dargestellt sind, und mit Hilfe der Lehren aus der Erfindung generiert wurden, um die Datenübertragungen (einschließlich Datenübertragungen im Burst-Modus) in einem Rechensystem mit Zweibusarchitektur effizient zu handhaben.
  • Die zwölf Steuersignale, auf die jeweils in den Figuren 3-5 Bezug genommen wird, werden, obwohl diese in den enthaltenen Referenzen umfassend dokumentiert sind, nachstehend in Verbindung mit Tabelle 1, die sich aus Gründen der Vollständigkeit sofort an den Text anschließt, kurz beschrieben. TABELLE 1
  • In Tabelle 1 werden die Begriffe "Doppelbusmaster", "Zentraler Ausgleichsteuerpunkt" (befindet sich auf der Systemressourcenkarte 102 in dem illustrativen Ausführungsbeispiel der Erfindung), der "Prozessorkarte" und der "Speichersteuerung" (befindet sich normalerweise auf der Prozessorkarte) sind jeweils wie folgt abgekürzt: "D.Master", "C.A.C.P.", "P.Karte" und "Speich.zykl.". Die anderen Begriffe, die in Tabelle 1 verwendet werden, sprechen für sich selbst. Es sollte aus Gründen der Vollständigkeit beachtet werden, daß es Fälle gibt, wo die Prozessorkarte oder der -komplex die Quelle des -PREMPT Signals sein kann, diese Fälle sind jedoch nicht unbedingt erforderlich, um die Grundsätze der Erfindung zu erklären.
  • Die erste Spalte in Tabelle 1, die Spalte "Signal", gibt die Signalbezeichnung für jedes Signal an, das in den Diagrammen, die in den Figuren 3-5 dargestellt sind, abgebildet ist. Die zweite Spalte, die Spalte "Quelle" nennt die Einheit, die das bezeichnete Signal in dem illustrativen Ausführungsbeispiel der Erfindung generiert hat, das mit Bezug auf die Figuren 1 und 2 vorgestellt wurde. Somit gibt ein D.Master in der Quellenspalte an, daß die Quelle des bezeichneten Signals von dem Doppelbusmaster stammt, wie zum Beispiel der DASD-Karte 104, der Portmaster-Karte 105 usw.; C.A.C.P. in der gleichen Spalte gibt an, daß der Zentrale Ausgleichssteuerpunkt in der Systemressourcenkarte 102, der in dem illustrativen Beispiel benutzt wurde, um die Erfindung zu beschreiben, die Quelle des bezeichneten Signals usw. ist.
  • Die Spalte "Ziel" in Tabelle 1 gibt das Zielgerät für jedes bezeichnete Signal an, schließlich gibt die Spalte "Funktion" an, ob das bezeichnete Signal weiter für eine Micro-Channel-Bus orientierte Funktion oder eine On-Card (Prozessorkarte) Funktion in dem illustrativen System bestimmt ist, in dem die Erfindung implementiert werden kann.
  • Somit gibt Tabelle 1, daß das -PREMPT Signal, das durch einen Doppelbusmaster generiert wird, als Ziel den Zentralausgleichssteuerpunkt in der Systemressourcenkarte 102 von FIG. 1 hat und eine auf den Micro-Channel-Bus bezogene Funktion hat, die im Falle von -PREEMPT die Anforderung des Doppelbusmasters ist, um den Micro-Channel-Bus zu besitzen.
  • Aus Tabelle 1 ist ersichtlich, daß +ARB/-GNT (in dem illustrativen System) durch die Systemressourcenkarte 102 generiert wird, die dem Doppelbusmaster angibt, daß er (der Doppelbusmaster) den Ausgleich eingegeben hat, wenn +ARB/-GNT hoch ist; und daß der Micro-Channel-Bus dem Doppelbusmaster gewährt wurde, wenn das +ARB/-GNT Signal LOW ist.
  • Die -S0 und -S1 Signale - gemäß Tabelle 1 - sind Signale, die durch einen Doppelbusmaster generiert werden und deren Ziel eine Slave-Einheit (Slave ist die Prozessorkarte 101 in dem illustrativen System, welche die Erfindung unterstützt) ist, um anzugeben, ob ein Schreibzyklus (Signal -S0 LÖW) des Micro- Channel-Busses oder ein Lesezyklus (Signal -S1 LOW) des Micro- Channel-Busses ausgeführt wird.
  • Tabelle 1 gibt außerdem an, daß -ADL ein Doppelbusmastersignal ist, dessen Ziel die Slave-Einheit (Prozessorkarte 101 in dem illustrativen System) des Micro-Channel-Busses ist, um anzugeben, daß eine gültige Adresse von dem Micro-Channel-Bus (Signal -ADL LOW) präsentiert wird, und daß die Adresse von der Slave- Einheit verriegelt werden sollte.
  • Das -BURST Signal, das in Tabelle 1 abgebildet ist, ist das Signal des Doppelbusmasters, um anzugeben, daß mehrere Zyklen ablaufen werden, bis diese beendet oder diesen zuvorgekommen wird (Signal -BURST LOW). Das Ziel dieses Signals in dem illustrativen System ist sowohl der Zentralausgleichssteuerpunkt auf der Systemressourcenkarte 102 als auch die Prozessorkarte 101.
  • Das -XCMD Signal, das in Tabelle 1 dargestellt ist, ist das Signal des Doppelbusmasters, um den Datenübertragungsteil des Zyklus (Signal -XCMD LOW) anzugeben. Es ist effektiv ein Datenübertragungssignal, und die Daten werden normalerweise an einen gegebenen Zyklus übertragen.
  • Die SHOLD und SHOLDA Signale, die in Tabelle 1 dargestellt sind( sind - wie diese sowohl hier als auch in den integrierten Referenzen beschrieben werden - in dem illustrativen System, in dem die Erfindung beschrieben wird, On-Card (Prozessorkarte) Signale, um dem Mikroprozessor anzugeben, daß eine Off-Card- Einheit den lokalen Bus (Signal SHOLD HIGH) anfordert; und daß der Prozessor bereit ist, den lokalen Bus (Signal SHOLDA HIGH) aufzugeben.
  • Das SHOLD Signal wird von der HOLD Logik in der Prozessorkarte generiert und an den Mikroprozessor selbst übertragen. Der Mikroprozessor generiert indirekt das SHOLDA Signal, wenn er bereit ist, den lokalen Bus aufzugeben.
  • Das -SDAS Signal, das in Tabelle 1 dargestellt ist, ist ein On- Card (oder -komplex) Signal, um den Beginn eines lokalen Buszyklus (Signal -SADS LOW) anzugeben, d. h. ein Signal, um anzugeben, wenn ein lokaler Buszugriff durch eine Karte-zu-Karte-Kommunikationsbuseinheit begonnen werden kann. Sobald dieses Signal generiert ist, können die Daten an den/aus dem lokalen Bus beispielsweise mittels einer Micro-Channel-Einheit während des lokalen Busteils des Datenübertragungszyklus des Micro-Channel- Busses übertragen werden.
  • Das -MEMCYCLE Signal, das in Tabelle 1 dargestellt ist, gibt an, daß der lokale Zyklus ein Speicherzyklus ist, während dem aktuell aus dem DRAM gelesen bzw. in den DRAM geschrieben wird (Signal -MEMCYCLE LOW). Die -MEMCYCLE Signale, die in den Figuren 3-5 dargestellt sind, sind Beispiele dafür, wo der lokale Busspeicherzyklus der On-Card im Verhältnis zum -SADS Signal auftreten würde.
  • Schließlich gibt - wie zuvor erwähnt - das CHRDYRTN Signal, das in Tabelle 1 dargestellt ist, an (wenn HIGH), daß der aktuelle Micro-Channel-Buszyklus abgeschlossen werden kann, d. h. daß wenn die Datenübertragung abgeschlossen ist und daß -XCMD Signal beendet werden kann.
  • Nachdem jedes der Signale, die in den Figuren 3-5 erscheinen, beschrieben wurde, sollte nun Bezug auf FIG. 3 genommen werden, die einen Satz Steuersignale darstellt, die durch die Implementierung eines Verfahrens aus dem Stand der Technik generiert werden, um ein von einer Prozessorkarte generiertes System Hold Acknowledge (SHOLDA) Signal zu entfernen, nachdem jeder Zyklus durch einen Doppelbusmaster beendet wurde. Die Steuersignale, die in FIG. 3 dargestellt sind, resultieren, wenn die Zentraleinheit (CPU) den lokalen Bus nicht zwischen den Doppelbusmasterzyklen anfordert.
  • Bei Überprüfung von FIG. 3 (und ebenso der Figuren 4 und 5) sollte daran erinnert werden, daß - infolge der Architektur des Zweibussystems während eines vom Doppelbusmaster gewährten Zyklus - die Prozessorkarte nicht darauf beschränkt ist, die lokalen On-Card-Zyklen sowohl von dem CPU-Cache als auch dem On- Card-Speicher des Prozessors zu leiten. Diese Fähigkeit, der Mehrprozessoreinheit Zugriffe auf die Systemressourcen zu gewähren - wie bereits früher hier angegeben wurde - kann benutzt werden, um die Verarbeitungsleistung des Systems zu bereichern.
  • In der bekannten Implementierung der Zweibushandhabungstechniken, zum Beispiel solche, die in dem IBM System 7568 in der 80386 Prozessorkarte implementiert sind, wurde das SHOLD/SHOLDA Handshaking vor jedem Speicherzugriff von SADS durchgeführt. Wiederum wie zuvor angegeben, wurde die Methodik benutzt, um sicherzustellen, daß die CPU das Recht behalten würde, den ankommenden Doppelmaster abzuhalten, eine Speicherauffrischung, einen Codeabruf oder Datenzugriff durchzuführen, um die Operation fortzusetzen. Diese Methodik hat, obgleich sich diese als effektiv herausgestellt hat&sub1; um den CPU Bus zu optimieren, die Fähigkeit - aus den zuvor angegebenen Gründen - die Effizienz des Micro-Channel-Busses während er im Besitz des Doppelbusmasters ist, wesentlich zu verschlechtern.
  • Die Signale, die in FIG. 3 dargestellt sind, sind typisch für den Signalsatz, der aus der Zweibushandhabungstechnik aus dem Stand der Technik resultiert, welche die Entfernung des SHOLDA Signals verlangt, nachdem jeder Zyklus von den Doppelbusmaster abgeschlossen wurde. Die wiederholte Handshaking-Sequenz (einmal pro Zyklus) ist in FIG. 3 dargestellt, da diese während der Handshake-Intervalle 301-304 auftritt. Die aktuelle SHOLD und SHOLDA Handshake-Sequenz ist in den Leitungen 305 und 306 des Taktdiagramms dargestellt, das in FIG. 3 abgebildet ist.
  • Im Fall von FIG. 3 wird von der CPU angenommen, daß sie den lokalen Bus zwischen den Doppelbusmasterzyklen nicht benötigen wird. Sollte es jedoch der Fall sein, daß die CPU den lokalen CPU Bus benötigte, wurde SHOLDA LOW bleiben, und so den Doppelmaster von der Prozessorkarte fern halten, um den aktuellen Micro-Channel-Master dazu zu bringen, den Bus zu besitzen, jedoch keinen der Micro-Channel-Zyklen auszuführen.
  • FIG. 4 zeigt ein Taktdiagramm, das den zuvor beschriebenen Satz von Bedingungen darstellt (d. h. wo die CPU eingreift, um die Steuerung des lokalen Busses zu erhalten).
  • In FIG. 4 kann festgestellt werden, daß der erste Handshake-Intervall 401 dem Handshake-Intervall 301 von FIG. 3 entspricht. Während des Intervalls 402 ist das zweite "Handshake" jedoch nicht erlaubt (d. h. SHOLDA wird es nicht erlaubt, HIGH zu sein). Die aktuelle Handshake-Sequenz gemäß den Bedingungen, die mit Bezug auf FIG. 4 beschrieben wurden, ist in den Leitungen 403 und 404 des Taktdiagramms von FIG. 4 abgebildet. Die Auswirkung des Prozessors, der den lokalen Bus neu erfaßt (Auswirkung auf die anderen Signale und die entsprechenden Operationen, die in FIG. 4 dargestellt sind) kann durchgeführt werden, indem die Taktdiagramme, die in den Figuren 3 und 4 abgebildet sind, verglichen werden. Es sollte beispielsweise darauf geachtet werden, daß es in FIG. 4 kein -SADS Signal, kein - MEMCYCLE Signal usw. gibt, obwohl der Prozessor den lokalen Bus während des Intervalls 402 benutzt.
  • FIG. 4 zeigt auch den zweiten Zyklus, der während des Intervalls 410 wiederaufgenommen und abgeschlossen wird, wenn der lokale Bus von dem Doppelbusmaster neu erfaßt wird.
  • Der Fachmann kann den Vorteil schätzen, der in der Optimierung des On-Card Zugriffs der CPU liegt, so daß die CPU nicht warten muß, um ihre Befehls-Vorabruf-Warteschlange aus dem DRAM aufzufüllen. Die Notwendigkeit, eine DRAM Auffrischungsanforderung bedienen zu können, ist auch eine wichtige Aufgabe, die von den Zweibushandhabungstechniken, die von der Erfindung in Betracht gezogen werden, bearbeitet werden müssen.
  • Die zahlreichen Probleme mit den Zweibushandhabungstechniken aus dem Stand der Technik, wie diese im Hintergrund beschrieben wurden, werden nicht wiederholt. Ausgenommen, um zu sagen, daß die Zweibushandhabungstechniken, die in solchen Signalen resultieren, die in den Figuren 3 und 4 dargestellt sind, die Systemleistung während der Datenübertragungen, die eine Vielzahl von Datenübertragungszyklen benötigen, hauptsächlich aufgrund der für jeden Zyklus vorgeschriebenen Handshake-Sequenz, wesentlich verschlechtern.
  • Wie zuvor angegeben, erstellen die Verfahren und Vorrichtungen, die von der Erfindung in Betracht gezogen werden, einen optimierten Ausgleich zwischen lokaler Priorität und Doppelbusmaster-, Micro-Channel-Buseffizienz. Der Ausgleich wird durch Benutzung der vorerwähnten BSHOG Zeitplanungsprozedur erreicht, die zahlreiche Zugriffe des Doppelbusmasters auf On-Card-Speicherressourcen per Handshake unter folgenden Bedingungen ermöglicht: (a) Abschluß eines On-Card-Zugriffs durch den Doppelbusmaster am Ende eines Datenübertragungszyklus des aktuellen Karte-zu-Karte-Kommunikationsbusses (z. B. Micro-Channel-Bus), wenn eine Auffrischungsanforderung anhängig ist; (b) Zugriffsbegrenzung des Doppelbusmasters auf On-Card (Prozessorkarte) Speicher auf eine zuvor bestimmte Anzahl, N, der Speicherzyklen des Karte-zu-Karte-Kommunikationsbusses, wenn der Prozessor (auf der Prozessorkarte) das Eigentum an seinem lokalen On- Card-Speicherbus verlangt; und (c ) Gewährung eines unbegrenzten Zugriffs des Doppelbusmasters auf den On-Card (Prozessorkarte) Speicher in Situationen, wo der Doppelbusmaster im Besitz des Karte-zu-Karte-Kommunikationsbusses ist, und der Prozessor die Benutzung des Karte-zu-Karte-Kommunikationsbusses verlangt.
  • Die Gewährung von zahlreichen Zyklen per Handshake reduziert wesentlich den pro Übertragung erforderlichen Overhead. Eine typische Masterübertragung, welche die hier gelehrten Techniken für die Steuerung der Datenübertragungsgeschwindigkeit lehrt, wie diese mit der Portmaster-Adapterkarte getestet wurde, wobei N gleich 4 ist, beträgt etwa .74 Mikrosekunden/Übertragung. Eine typische Masterübertragung, bei der die Erfindung nicht benutzt wird, welche auch die Portmaster-Adapterkarte verwendet, beträgt etwa 1,19 Mikrosekunden/Übertragung. Diese Einsparungen von 450 Nanosekunden werden bei jedem weiteren Zyklus, der nach dem ersten Zyklus ausgeführt wird, gewichtet. Da die Datenübertragungsgeschwindigkeit mit jedem zusätzlichen Zyklus ansteigen kann, der nach dem Anfangszyklus ausgeführt wird, war es wünschenswert, dem Doppelbusmaster zu erlauben, mit dem Bündeln der Daten fortzufahren, so lange keine interne Anforderung für On-Card-Einheiten empfangen wird.
  • Erstens sollte, wenn tatsächlich eine Auffrischungsanforderung empfangen wird, die BSHOG-Logik, die von der Erfindung in Betracht gezogen wird, die Entfernung von SHOLDA verlangen. Die Beendigung von SHOLDA wird die Aktivität des Doppelbusmasters im lokalen Bus stoppen und einen Auffrischungszyklus freigeben. Ein On-Card-Auffrischungszyklus wird gleichzeitig ablaufen, während der Doppelbusmaster immer noch den Micro-Channel-Bus steuert und auf die Gelegenheit wartet, die Zugriffe auf den On-Card-Speicher der CPU fortzusetzen.
  • Zweitens wird angenommen, daß ein Burst-Doppelbusmaster die Steuerung über den On-Card-Bus erlangt hat, und die Speicherzyklen ausführt, wenn die CPU den lokalen Speicherbus anfordert. Die berechnete Zeit, die der Doppelbusmaster benötigt, um den On-Card-Bus aufzugeben, gefolgt von den Speicherzyklen und schließlich dem Abschluß der Doppelbusmasterzyklen ist wesentlich. Tatsächlich ist die Zeitmenge so groß, daß die Einstellung N gleich 4, wie diese durchgeführt wurde, als die Erfindung wie zuvor angegeben, geprüft wurde (um dem Doppelbusmaster zu ermöglichen, 4 Zyklen abzuschließen, bevor der lokale Bus in der CPU abgetreten wird), bemerkenswert ist, um die Übertragungsgeschwindigkeit pro Zyklus zu verbessern.
  • Es sollte beachtet werden, daß wenn die Zykluskette so bald wie möglich gestoppt wird, die Zeit, die während dem ersten Handshake benutzt wird, nicht durch die zahlreichen Zyklen verteilt wird, und deshalb die potentiellen Verbesserungen in der Übertragungsgeschwindigkeit reduzieren wird. Wenn erlaubt wird, daß das erste SHOLD/SHOLDA Handshake über die vorerwähnten 4 Zyklen verteilt wird, so ergibt sich eine wesentliche Leistungsverbesserung in einem Burst-Doppelbusmaster, ohne das die Leistung des 80486 Mikroprozessors wesentlich beeinflußt wird. Wiederum, wie bereits anderswo angegeben, kann N variabel sein.
  • Drittens, falls die CPU den Micro-Channel-Bus anfordert, und der Doppelbusmaster von dem lokalen On-Card-Bus gesteuert wird, werden dem Doppelbusmaster gemäß der Erfindung unbegrenzte Zyklen erlaubt, um seine erforderlichen Übertragungen abzuschließen, bevor diese von dem Bus erzwungen werden. Dieses Verfahren wird wiederum die Datenübertragungsgeschwindigkeit maximieren, da die CPU in den HOLD Status gesetzt wird, um über den Ausgleichsprozeß des Standard-Micro-Channel-Busses auf den Micro- Channel-Buszugriff zu warten. Die Implementierung der Handhabungstechniken der Datenübertragungsgeschwindigkeit, die hier beschrieben worden sind, werden den Abschluß der Doppelbusmasterzyklen beschleunigen und der CPU einen rechtzeitigeren Zugriff auf den Micro-Channel-Bus gewähren.
  • FIG. 5 zeigt die Ergebnisse der RSHOG Logik und der verbesserten Datenübertragungsgeschwindigkeit des Busses. Das einzelne Handshake über einen Zeitraum von 4 Zyklen tritt während des Intervalls 501 auf, wie dies in FIG. 5 dargestellt ist. Die SHOLD und SHOLDA Signale, die in 502 und 503 abgebildet sind, reflektieren das einzelne Handshake, das über einen Intervall von 4 Zyklen in dem Beispiel stattfindet, in dem N gleich 4 ist.
  • Die verbesserte Geschwindigkeit von vier Übertragungen von 4,74 bis 2,86 Mikrosekunden liegt in der Nähe einer 2-Fold-Verbesserung in der Datenübertragungsgeschwindigkeit. Bei Bursts, die länger als vier Zyklen sind, kann sich die Datenübertragungsgeschwindigkeit derzeit an eine 2-Fold-Verbesserung annähern.
  • Die folgende Tabelle (Tabelle 2) faßt die Testergebnisse zusammen, welche die Verbesserungen in der Datenübertragungsgeschwindigkeit reflektieren, die mittels der Handhabungstechniken der Datenübertragungsgeschwindigkeiten im Burst-Modus erreicht werden, die hier für ein Zweibusystem gelehrt wurden, das eine 80486 Prozessorkarte und einen Micro-Channel-Bus enthält. TABELLE 2 DASD-Karte 32-Bit Übertragungen in eine/aus einer 80486 Prozessorkarte Portmaster-Karte Lesen aus einer 80486 Prozessorkarte
  • 4 Zyklen = Start des ersten Zyklus am Ende des vierten Zyklus. 8 Zyklen = Start des ersten Zyklus am Ende des achten Zyklus. Es sollte nun Bezug auf FIG. 6 genommen werden, welche die Funktion der BSHOG Logik zeigt (und der entsprechenden Verfahrensschritte), die benutzt werden kann, um das bevorzugte Ausführungsbeispiel der Erfindung in Form eines Maschinenstatus/Flußdiagramm zu implementieren.
  • Bevor die Einzelheiten des Diagramms überprüft werden, sollte beachtet werden, daß die Logik und die Verfahrensschritte, die funktionell in FIG. 6 beschrieben werden, in Hardware, Software oder in einer Kombination von Hardware und Software implementiert werden können. Es sollte außerdem beachtet werden, daß sobald die 80486 Karte den Micro-Channel-Bus (in dem illustrativen System mit Bezug auf FIG. 1 und FIG. 2 ausgeführt) anfordert, alle Systemaktivitäten bekannten Regeln folgen, die von den Micro-Channel-Ausgleichstechniken bereitgestellt werden, die in dem zum integrierten Micro-Channel-Bus gehörenden Referenzmaterial beschrieben werden.
  • Demgemäß wird die 80486 Prozessorkarte bereit in einem "Wait for Micro Channel Bus" Status eingefroren, bis ihr das Eigentum an dem Micro-Channel-Bus gewährt wird, sobald eine Anforderung für den Bus von dem Prozessor durchgeführt wurde. Es sollte wiederum beachtet werden, daß die für "N" zulässigen Werte, auf die in FIG. 6 Bezug genommen wird, festgelegt, programmiert oder dynamisch verändert werden können, indem die verschiedenen Software und/oder Hardwaretechniken richtig in dem Bereich des Wissensstandes von dem Fachmann benutzt werden.
  • Die Logik (und die entsprechenden Verfahrensschritte), die von dem Status der Maschine dargestellt werden, die in FIG. 6 abgebildet ist, beginnen mit der Prämisse, daß der lokale Bus von der Prozessorkarte oder dem -komplex in Besitz genommen wurde, falls in normalem Status, wie dies in Block 601 dargestellt ist. Im normalen Status wird ein Zähler gleich Eins gesetzt. Dieser Zähler kann später benutzt werden, da dieser nachfolgend erklärt werden wird, um bis zu einem zuvor bestimmten (und potentiell programmierbaren) Wert von N zu zählen, wobei N die maximale Anzahl von Karte-zu-Karte-Kommunikationsbuszyklen sein sollte, die ein Doppelbusmaster im lokalen Bus besitzen kann (von dem Zeitpunkt an, wo der lokale Bus freigegeben wurde), wenn der Prozessor (auf der Prozessorkarte) den Besitz am lokalen Bus fordert.
  • Es wird auch angenommen, daß N größer oder gleich 2 ist, um den Handshake-Intervall, auf den hier Bezug genommen wurde, über zwei oder mehr Zyklen zu verteilen. Diese Verteilung des Handshake-Overheads resultiert in einer wesentlichen Verbesserung der Systemleistung, die erreicht werden kann, wenn die Erfindung benutzt wird, insbesondere, wenn die Datenübertragungsoperationen im Burst-Modus verarbeitet werden.
  • Bei der BSHOG Logik wurde gemäß einem bevorzugten Ausführungsbeispiel der Erfindung, N auf 4 gesetzt, um die Ergebnisse der Leistungsverbesserung zu erreichen, die zuvor mit Bezug auf Tabelle 2 beschrieben wurden.
  • Die BSHOG Logik gemäß einem bevorzugten Ausführungsbeispiel der Erfindung, bleibt, nachdem diese anfangs in den Normalstatus gesetzt wurde (wie dies durch Schleife 650 angegeben wurde), im Normalstatus, bis ein SHOLD Signal, das auf der Prozessorkarte als Ergebnis einer Doppelbusmasteranforderung generiert wurde, um die Steuerung des lokalen Busses zu erreichen (wie dies zuvor erklärt wurde), erkannt wird. Die BSHOG Logik gibt dann einen neuen Status ein, wie dies in 602 in FIG. 6 dargestellt ist, wo diese wartet, um den Abschluß des Handshake zwischen Steuerlogik und Prozessor zu erkennen. Die Schleife 651 gibt das Warten auf das SHOLDA Signal von der lokalen Bussteuerlogik an.
  • Der nächste Status, der in 603 in FIG. 6 dargestellt ist, wird eingegeben, wenn der Doppelbusmaster die Steuerung des lokalen Busses übernommen hat (d. h. nach Erkennung, daß SHOLD aktiv ist), und das -SADS Signal, das hierin beschrieben wurde, um den Start des lokalen Buszyklus anzugeben, wird dann von der BSHOG Logik generiert.
  • Nach Generierung des -SADS Signals gibt die BSHOG Logik ihren nächsten Status ein, was in Block 604 von FIG. 6 dargestellt ist, wobei diese darauf wartet, daß das -XCMD Signal HIGH ist, um das Ende der Datenübertragungsbedingung zu signalisieren. Die Schleife 652 gibt an, daß -XCMD noch aktiv ist (LOW), und daß die BSHOG Logik darauf wartet, daß die Datenübertragung abgeschlossen wird.
  • Nachdem bestimmt wurde, daß -XCMD HIGH ist, nimmt die BSHOG Logik einen der drei Pfade.
  • Zuerst, wenn ein Auffrischungszyklus anhängig ist, tritt die Auffrischungsanforderung ein, wenn der Prozessor die Steuerung des lokalen Busses übernimmt. Nach Abschluß der Auffrischungsanforderungsoperation wird der normale Status wieder eingegeben, wobei die Zählung gleich Eins gesetzt wird. Der erste Pfad ist abgebildet, indem Block 604 verlassen wird und über Block 605 zu Block 601 zurückgekehrt wird.
  • Der zweite mögliche Pfad (wo keine Auffrischungsanforderung anhängig ist) ist derjenige, wo die Prozessorkarte den Karte-zu- Karte-Kommunikationsbus (z. B. die 80486 Karte, die den Micro- Channel-Bus verlangt) anfordert.
  • In dieser Situation wird die Zählung N verworfen (oder kann so angesehen werden, als wäre sie gleich der Unendlichkeit gesetzt worden, wie dies in Block 606 in FIG. 6 gezeigt wird). In diesem Status können zahlreiche Datenübertragungszyklen (zum Beispiel lokaler Bus über Micro-Channel-Bus) ohne Unterbrechung auftreten, bis der Doppelbusmaster mit den Übertragungen in den/aus dem lokalen Bus fertig ist, und keine weitere SHOLD Anforderung anhängig ist.
  • Wenn der Doppelbusmaster mit Hilfe des lokalen Busses beendet wird, kehrt die BSHOG Logik, die in diesem zweiten Pfad arbeitet, in den normalen Status zurück, Block 601.
  • Der dritte und letztmögliche Pfad, nachdem das Warten; bis - XCMD HIGH ist, aufgegeben wurde, wird in Situationen berücksichtigt, wo weder eine Auffrischungsanforderung anhängig ist, noch eine Anforderung der Prozessorkarte für den Karte-zu- Karte-Kommunikationsbus (z. B. Micro-Channel-Bus) aussteht (d. h. weder Pfad 1 noch 2, die zuvor beschrieben wurden, wurden berücksichtigt).
  • In dieser Situation wird die Zählung inkrementiert, wie dies in Block 607 von FIG. 6 gezeigt wird (obwohl alternativ dieser Schritt übersprungen werden kann, wo der Doppelbusmaster mit dem lokalen Bus beendet wird, oder keine SHOLD Anforderung anhängig ist).
  • Wenn die Zählung kleiner oder gleich N ist, kehrt die BSHOG Logik zu dem Status zurück, der in Block 603 von FIG. 6 angegeben ist, wo ein weiterer Datenübertragungszyklus Doppelbusmaster in lokalen Bus beginnt. Wenn der Doppelbusmaster mit dem lokalen Bus fertig ist, wenn keine SHOLD Anforderung anhängig ist, oder wenn die Zählung größer N ist, kehrt die BSHOG Logik in den normalen Status zurück, was in Block 601 von FIG. 6 gezeigt wird.
  • Der Status der Maschine, der in FIG.-6 dargestellt ist, zeigt ausführlich die Grundsätze der Erfindung in funktionellen Begriffen. Der Fachmann, der den Vorteil des Status Maschine/Flußdiagramm hat, das in FIG. 6 dargestellt ist, kann ohne weiteres die BSHOG Logik und die entsprechenden Verfahrensschritte implementieren, indem eine Vielzahl von bekannten, handelsüblichen Logikeinheiten benutzt wird.
  • Der Schaltkreis, der benutzt wird, um die BSHOG Funktion zu implementieren, kann einfach in zwei Programmierbaren Logikeinheiten (PLDs) enthalten sein. Die Einfachheit dieser Konzeption führt zu einem kostengünstigen Leistungsanstieg in einem Zweibus-Mikroprozessorsystem, 80386.
  • Des weiteren wird der Fachmann, obwohl dies in FIG.6 mit Bezug auf eine Systembusmaster-Prozessorkarte, und eine separate Doppelbusmasterkarte beschrieben wurde, es schätzen - wie bereits anderswo angegeben, daß die Lehren aus der Erfindung, die mit Bezug auf FIG. 6 ausgeführt wurden, ohne weiteres zur Nutzung in prozessorkomplexorientierten Systemen angepaßt werden können, in Systemen, die einen Doppelbusmaster und Systembusmaster auf der gleichen Karte haben, Systemen, welche die vorerwähnten Architekturen usw. kombinieren.
  • Was hierin im einzelnen beschrieben wurde, sind Verfahren und Vorrichtungen, die alle vorgenannten Ziele erfüllen. Wie zuvor angegeben, wird der Fachmann erkennt, daß die vorhergehende Beschreibung zum Zwecke der Darstellung und der Beschreibung gegeben wurde. Es ist nicht beabsichtigt, die Erfindung, die in den anhängenden Ansprüchen definiert ist, auf die genaue Form, die in der Beschreibung ausgeführt wurde, zu erschöpfen oder zu begrenzen. Im Bereich der hierin enthaltenen Lehren sind viele Änderungen möglich.
  • Die Benutzung des Begriffs "Prozessorkarte", wie dieser hier benutzt wurde, bedeutet nicht die Einschränkung der Erfindung, da die Erfindung von dem Fachmann als nützlich geschätzt werden wird, wo Prozessorkomplexe in einem Zweibussystem benutzt werden. Ebenso wird es der Fachmann auch schätzen, daß der Doppelbusmaster und der Systembusmaster sich physisch auf der gleichen Karte befinden können, und daß der Begriff Karte-zu-Karte- Kommunikationsbus effektiv durch Referenzen wie Komplex-zu-Komplex-Kommunikationsbus in komplexorientierten Systemen usw. ersetzt werden kann, wie dies zuvor angegeben wurde.
  • Außerdem) obgleich die Auffrischungszyklen benutzt wurden, um die Funktionsmerkmale und Vorteile der Erfindung zu illustrieren, wird der Fachmann erkennen, daß die Erfindung in anderen Aufgaben von hoher Priorität Anwendung finden können. So können beispielsweise katastrophale Fehlerbedingungen, Unterbrechungsbearbeitung von hoher Priorität usw. wirksam mittels der Techniken, die in dieser Erfindung gelehrt werden, verarbeitet werden.
  • Die Ausführungsbeispiele und Beispiele, die hier ausgeführt werden, wurden dargelegt, um die Grundsätze der augenblicklichen Erfindung und ihre praktische Umsetzung am besten zu erklären, um so anderen Fachleuten zu ermöglichen, die augenblickliche Erfindung in zahlreichen Ausführungsbeispielen mit zahlreichen Änderungen zu benutzen, wie diese für die jeweilige, in Betracht gezogene Benutzung am besten geeignet sind.

Claims (1)

1. Ein Verfahren zur Behandlung von Datenübertragungen in einem Computersystem mit einem Zweibusbau, wobei dieser Zweibusbau den lokalen Bus des Prozessors und einen Karte- zu-Karte-Kommunikationsbus enthält, der mit diesem verbunden ist, und das Computersystem außerdem einen Systembusmaster enthält, der den lokalen Bus des Prozessors und die Speicherressourcen miteinander verbindet und einen Doppelbusmaster, der mit dem Karte-zu-Karte-Kommunikationsbus verbunden ist, wobei das Verfahren Schritte enthält, um
(a) das Eigentum des Doppelbusmasters an dem lokalen Bus des Prozessors am Ende eines über einen Karte-zu- Karte-Kommunikationsbus erfolgten Datenübertragungszyklus zu bestimmen, in dem eine Speicherauffrischanforderung anhängig ist;
(b) den Zugriff des Doppelbusmasters auf den Systembusmasterspeicher auf eine zuvor bestimmte Anzahl von Speicherzyklen des Karte-zu-Karte-Kommunikationsbusses zu begrenzen, wenn dieser Systembusmaster kein Eigentum an dem Karte-zu-Karte-Kommunikationsbus anmeldet; und
(c) einem Doppelbusmaster unbegrenzten Zugriff auf den Systembusmasterspeicher immer dann zu gestatten, wenn der Doppelbusmaster im Besitz des Karte-zu-Karte-Kommunikationsbusses ist, und der Systembusmaster die Benutzung des Karte-zu-Karte-Kommunikationsbusses anfordert.
DE69219848T 1991-08-30 1992-08-10 Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau Expired - Fee Related DE69219848T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75272591A 1991-08-30 1991-08-30

Publications (2)

Publication Number Publication Date
DE69219848D1 DE69219848D1 (de) 1997-06-26
DE69219848T2 true DE69219848T2 (de) 1997-10-23

Family

ID=25027548

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69219848T Expired - Fee Related DE69219848T2 (de) 1991-08-30 1992-08-10 Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau

Country Status (5)

Country Link
US (1) US5469577A (de)
EP (1) EP0535793B1 (de)
JP (1) JP2532191B2 (de)
CA (1) CA2068010C (de)
DE (1) DE69219848T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE180917T1 (de) * 1993-04-20 1999-06-15 Siemens Ag Prozessorschaltung mit speichersauffrischung
JP3490131B2 (ja) * 1994-01-21 2004-01-26 株式会社ルネサステクノロジ データ転送制御方法、データプロセッサ及びデータ処理システム
US5721882A (en) * 1994-08-05 1998-02-24 Intel Corporation Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus
US5644788A (en) * 1994-10-28 1997-07-01 Cyrix Corporation Burst transfers using an ascending or descending only burst ordering
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5701441A (en) * 1995-08-18 1997-12-23 Xilinx, Inc. Computer-implemented method of optimizing a design in a time multiplexed programmable logic device
US5761483A (en) * 1995-08-18 1998-06-02 Xilinx, Inc. Optimizing and operating a time multiplexed programmable logic device
US5838954A (en) * 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing a time multiplexed programmable logic device
US6243768B1 (en) * 1996-02-09 2001-06-05 Intel Corporation Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US5867675A (en) * 1996-08-06 1999-02-02 Compaq Computer Corp Apparatus and method for combining data streams with programmable wait states
US5907689A (en) * 1996-12-31 1999-05-25 Compaq Computer Corporation Master-target based arbitration priority
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
US6421817B1 (en) 1997-05-29 2002-07-16 Xilinx, Inc. System and method of computation in a programmable logic device using virtual instructions
US5996037A (en) * 1997-06-03 1999-11-30 Lsi Logic Corporation System and method for arbitrating multi-function access to a system bus
US6055609A (en) * 1997-06-19 2000-04-25 Chips & Technologies, Inc. Apparatus and method for improving bus usage in a system having a shared memory
US6430641B1 (en) * 1999-05-04 2002-08-06 International Business Machines Corporation Methods, arbiters, and computer program products that can improve the performance of a pipelined dual bus data processing system
US6636929B1 (en) 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US6725312B1 (en) 2000-11-02 2004-04-20 Cml Versatel Inc. Bus architecture for high reliability communications in computer system
US8478921B2 (en) 2004-03-31 2013-07-02 Silicon Laboratories, Inc. Communication apparatus implementing time domain isolation with restricted bus access
CN102207919A (zh) * 2010-03-30 2011-10-05 国际商业机器公司 加速数据传输的处理单元、芯片、计算设备和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
GB2120429B (en) * 1982-04-29 1985-10-09 Honeywell Inf Systems Computer system with bus cycle sharing
US4570220A (en) * 1983-11-25 1986-02-11 Intel Corporation High speed parallel bus and data transfer method
US4837682A (en) * 1987-04-07 1989-06-06 Glen Culler & Associates Bus arbitration system and method
US5129090A (en) * 1988-05-26 1992-07-07 Ibm Corporation System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
US4961140A (en) * 1988-06-29 1990-10-02 International Business Machines Corporation Apparatus and method for extending a parallel synchronous data and message bus
US5099420A (en) * 1989-01-10 1992-03-24 Bull Hn Information Systems Inc. Method and apparatus for limiting the utilization of an asynchronous bus with distributed controlled access
US5168568A (en) * 1989-02-06 1992-12-01 Compaq Computer Corporation Delaying arbitration of bus access in digital computers
US5127089A (en) * 1989-07-03 1992-06-30 Motorola, Inc. Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence
CA2021826A1 (en) * 1989-10-23 1991-04-24 Darryl Edmond Judice Delay logic for preventing cpu lockout from bus ownership
KR940002905B1 (en) * 1989-12-15 1994-04-07 Ibm Apparatus for conditioning priority arbitration in buffered direct memory addressing
US5253348A (en) * 1990-12-28 1993-10-12 Apple Computer, Inc. Method of arbitration for buses operating at different speeds

Also Published As

Publication number Publication date
EP0535793A2 (de) 1993-04-07
JPH06161950A (ja) 1994-06-10
CA2068010C (en) 1996-10-22
EP0535793A3 (en) 1993-07-14
EP0535793B1 (de) 1997-05-21
JP2532191B2 (ja) 1996-09-11
CA2068010A1 (en) 1993-03-01
DE69219848D1 (de) 1997-06-26
US5469577A (en) 1995-11-21

Similar Documents

Publication Publication Date Title
DE69219848T2 (de) Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3687947T2 (de) Schnittstelle und Verfahren für Buszugriff in einem Rechner.
DE69027515T2 (de) Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE69132195T2 (de) System für verteilte Mehrfachrechnerkommunikation
DE68924306T2 (de) Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern.
DE69604564T2 (de) Busbrückenschaltung und verfahren mit vorhersage-snoopoperationen
DE3782335T2 (de) Speichersteuersystem.
DE69423874T2 (de) Verbessertes Schema zur geordneten Cachespeicherkohärenz
DE69531933T2 (de) Busarchitektur in hochgradiger pipeline-ausführung
DE60037065T2 (de) Übertragungsteuerung mit Naben- und Torachitektur
DE69030640T2 (de) Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
DE69128565T2 (de) Mikrorechner ausgestattet mit einer DMA-Steuerung
DE69622832T2 (de) Vorrichtung und verfahren für kooperative unterbrechungen in einer preemptiven prozessablauffolgeplanungsumgebung
DE4018481C2 (de)
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE102009049078B4 (de) Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE68924810T2 (de) Zeitgeberkanal für die Verwendung in einem Mehrkanal-Zeitsystem.
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee