-
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.