DE4142756A1 - Datenweg-einrichtung zur kopplung zweier busse - Google Patents
Datenweg-einrichtung zur kopplung zweier busseInfo
- Publication number
- DE4142756A1 DE4142756A1 DE4142756A DE4142756A DE4142756A1 DE 4142756 A1 DE4142756 A1 DE 4142756A1 DE 4142756 A DE4142756 A DE 4142756A DE 4142756 A DE4142756 A DE 4142756A DE 4142756 A1 DE4142756 A1 DE 4142756A1
- Authority
- DE
- Germany
- Prior art keywords
- bus
- data
- byte
- input
- devices
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
Die vorliegende Erfindung bezieht sich auf eine Einrichtung zur
Übermittlung von Daten zwischen Datenverarbeitungsgeräten und
insbesondere zwischen Geräten mit voneinander abweichenden Da
tenbusgrößen und Anforderungen an die Byte-Ausrichtung.
In den Bereichen der Computeranwendung ist es üblich, Daten
und Befehle zwischen einer Vielzahl von Datenverarbeitungsgerä
ten, wie z. B. Computern, Druckern, Speichern und ähnlichem,
über einen System- oder Datenbus zu übertragen. Die normale
Bus-Architektur beinhaltet sowohl einen Parallelbus wie auch
einen seriellen Bus, die Datenverarbeitungseinheiten und Peri
pheriegeräte miteinander verbinden, um den Daten- und Nachrich
tenaustausch mit hoher Geschwindigkeit zu ermöglichen.
Der typische System- oder Datenbus ist durch die Hardware-
Charakteristiken gekennzeichnet, unter denen er operiert. Diese
Hardware-Anforderungen werden im allgemeinen als das Busproto
koll bezeichnet. Die Protokolle beeinflussen sowohl den Modus
als auch die Art der Datenübertragung auf dem Bus. Das Proto
koll wird gewöhnlich durch den mit dem Bus verknüpften Mikro
prozessor bestimmt. Deshalb sind alle Datenverarbeitungsgeräte,
die mit dem Bus gekoppelt sind, so gestaltet, daß sie das
Busprotokoll des Mikroprozessors im Computersystem verwenden.
Beispielsweise laufen alle Datenübertragungen in einem Com
putersystem mit einem Motorola-68 030- oder -68 040-Mikroprozes
sor, unter Verwendung des Busprotokolls des 68 030 bzw. 68 040
ab.
Einige Busprotokolle sind ausgelegt für Datenübertragungs
geräte, die intern unterschiedliche Datenbusse verschiedener
Größen verwenden. In diesen Fällen steuert und lenkt der Pro
zessor im Computersystem normalerweise die übertragenen Daten
auf spezielle Leitungen im Datenbus, so daß das bestimmte Daten
absendende oder empfangende Gerät arbeiten kann.
Probleme entstehen, wenn Datenübertragungsgeräte, die für
eines dieser Protokolle ausgelegt sind, in einem mit einem ande
ren Protokoll arbeitenden Computersystem benötigt oder ge
wünscht werden. So können beispielsweise bestimmte anwendungs
spezifische Computerchips in einem System auf 68 040-Basis nicht
eingesetzt werden, wenn diese Computerchips für eine Anwendung
in einem Computersystem auf 68 030-Basis ausgelegt sind. Der
68 040-Bus ist gänzlich verschieden von dem für den 68 030-Mikro
prozessor definierten Bus. Die Unterschiede zwischen beiden
Bussen berühren die Art, in welcher Daten übertragen werden,
sowohl was die Größe als auch die Byte-Ausrichtung betrifft. So
z. B. fordert das Computersystem auf 68 040-Basis die Übertragung
von einem, zwei oder vier Bytes unter Verwendung spezieller
Adreß-Offsets, wohingegen einem Computersystem auf 68 030-Basis
die Übertragung von einem, zwei, drei oder vier Bytes bei ir
gendeinem Adreß-Offset möglich ist. Ferner verhindern die Un
terschiede in den Taktgeschwindigkeiten, mit denen die Busse
arbeiten, daß zur Verwendung in einem bestimmten System ausge
bildete Geräte in einem anderen System verwendet werden können.
Diese Unterschiede in den Protokollen stehen der Verwendung von
Datenübertragungsgeräten verschiedener Protokolle innerhalb ei
nes Systems entgegen.
Die vorliegende Erfindung sieht eine Datenweg-Einrichtung
vor, welche die Datenübertragung zwischen Geräten an einem Bus,
die ein erstes Protokoll verwenden, und anderen, ein anderes
Protokoll verwendenden Geräten an einem anderen Bus im Com
putersystem ermöglicht. Der erfindungsgemäße Bus-Adapter kop
pelt zwei mit verschiedenen Geschwindigkeiten arbeitende Busse
und richtet Daten insoweit aus, daß Geräte unterschiedlicher
Datenspezifikationen aneinander angepaßt werden. Die erfin
dungsgemäße Datenweg-Einrichtung leitet die Daten in einer spe
ziellen Zeitabfolge auf spezielle Teile des Systemdatenbusses,
um die Datenübertragung zwischen Geräten mit verschiedenen Pro
tokollen und verschiedenen internen Datenbussen zu ermöglichen.
Beschrieben wird eine zwischen einem Systembus und einem
Ein/Ausgabe-Bus eingebundene bidirektionale Datenweg-Einrich
tung, die einer Vielzahl von auf einem der Busse befindlichen
Datenübertragungsgeräten die Datenübertragung zu den auf dem
anderen Bus befindlichen Geräten erlaubt. Die Datenweg-Einrich
tung enthält einen ersten Satz von Byte-Zwischenspeicherstatio
nen, die für den Empfang von Daten aus dem Systembus vorgesehen
sind. Die Datenweg-Einrichtung weist außerdem, einen zweiten
Satz von Byte-Zwischenspeicherstationen auf, die für den Emp
fang von Daten aus dem Ein/Ausgabe-Bus vorgesehen sind. Die Da
tenweg-Einrichtung enthält ferner mehrere Byte-Leitwege, welche
den ersten und den zweiten Satz von Byte-Zwischenspeichersta
tionen verbinden. Ein Steuermechanismus leitet den Datentrans
fer entlang spezieller Byte-Leitwege und in einer speziellen
Zeitabfolge in Abhängigkeit von der Datenbusgröße der Geräte,
die Daten senden und empfangen weiter.
Die Datenweg-Einrichtung weist ferner eine Paritätslogik
zur Paritätssignalerzeugung und -prüfung bei Lese- und Schreib-
Operationen zum Hauptspeicher auf.
Die Erfindung wird im folgenden anhand eines in der Zeich
nung dargestellten Ausführungsbeispiels näher beschrieben. In
der Zeichnung zeigen:
Fig. 1 eine erfindungsgemäße Computersystemarchitek
tur,;
Fig. 2 das bevorzugte Ausführungsbeispiel des
Ein/Ausgabe-Adapters;
Fig. 3 die Steuerweg-Baugruppe des erfindungsgemäßen
Ein/Ausgabe-Adapters;
Fig. 4 das bevorzugte Ausführungsbeispiel der Steuer
weg-Baugruppe für den Ein/Ausgabe-Adapter;
Fig. 5 die Datenweg-Baugruppe des erfindungsgemäßen
Ein/Ausgabe-Adapters;
Fig. 6 eine Darstellung der Daten-Byte-Leitwege für
die erfindungsgemäße Datenweg-Baugruppe;
Fig. 7 eine Implementierung der Datenbyte-Leitwege in
der erfindungsgemäßen Datenweg-Baugruppe; und
Fig. 8 das bevorzugte Ausführungsbeispiel der Daten
weg-Baugruppe für den Ein/Ausgabe-Adapter.
Beschrieben wird eine Einrichtung, die über einen Bus-
Adapter, einen System-Bus und einen Ein/Ausgabe-Bus miteinander
koppelt und dabei ein Konkurrieren zwischen Geräten auf beiden
Bussen um die Inanspruchnahme der Busse vermeidet. In der fol
genden Beschreibung werden zahlreiche spezielle Details, wie
z. B. spezielle Computerkomponenten, Bitlängen etc. dargelegt,
um ein besseres Verständnis der Erfindung zu sichern. Es ist
jedoch für den Fachmann offensichtlich, daß die Erfindung auch
ohne diese speziellen Details realisiert werden kann. In ande
ren Fällen wurde darauf verzichtet, bekannte Komponenten,
Strukturen und Techniken detailliert aufzuzeigen, um das Ver
ständnis der Erfindung nicht unnötig zu erschweren.
In Fig. 1 ist als Blockschaltbild ein Überblick über das
Computersystem der Erfindung gezeigt. Es ist naheliegend, daß
eine Anzahl von Details dieses Systems nicht gezeigt werden
kann, da Fig. 1 als allgemeine Übersicht dient. Weitere De
tails, die zur Darlegung der Erfindung nötig sind, werden an
hand der weiteren Figuren erläutert.
Das Computersystem nach Fig. 1 weist einen Mikroprozessor
101 auf, welcher im Ausführungsbeispiel ein Motorola-Mikropro
zessor 68 040 ist. Im folgenden wird der Mikroprozessor 101 als
"68 040" bezeichnet. Der 68 040 arbeitet mit einer Taktfrequenz
von entweder 25 oder 33 MHz. Der 68 040 ist an einen Systembus
102 gekoppelt. Der Systembus 102, der mit derselben Taktfre
quenz wie der 68 040 arbeitet, koppelt Datenverarbeitungsgeräte
miteinander. Diese Datenverarbeitungsgeräte werden in Abhängig
keit davon, welches Gerät den Datentransfer kontrolliert, oft
mals als Bus-Master- und Slave-Geräte bezeichnet. Um Daten zu
übertragen, kann ein Bus-Master die Kontrolle über den System
bus 102 und den Ein/Ausgabe-Bus 110 übernehmen. Im vorliegenden
Ausführungsbeispiel unterstützt der Systembus 102 bis zu drei
verschiedene Bus-Master, jedoch kann lediglich der 68 040 oder
ein Gerät am NuBus-Bus Bus-Master des Systembusses 102 sein.
Ein Nur-Lese-Speicher (ROM) 105 ist mit dem Systembus 102 zur
Speicherung statischer Informationen und Befehle für den 68 040
verbunden. Der ROM 105 kann eine Größe zwischen einem und vier
Megabytes (MB) haben. Ein dynamischer, gewöhnlich als Haupt
speicher bezeichneter Schreib/Lese-Speicher (DRAM) 104, ist
über eine Speichersteuereinrichtung 103 mit dem Systembus 102
gekoppelt, um Informationen und Befehle für den 68 040 und al
ternative Bus-Master zu speichern. Die Speichersteuereinrich
tung 103 liefert Steuer- und Taktsignale, die den Zugriff auf
den System-ROM 105 und den Hauptspeicher 104 steuern. Der
NuBus-Controller 106 koppelt den 68 040 über den Systembus 102
an einen NuBus-Ein/Ausgabe-Bus. Der NuBus-Controller 106
schafft ein Busfenster, welches bestimmte Systembuszyklen des
Systembusses 102 auf Nubuszyklen abbildet und umgekehrt. All
diese mit dem Systembus 102 gekoppelten Geräte verwenden die
Hardware-Protokolle des 68 040. Andere Geräte können ebenfalls
mit dem Systembus 102 gekoppelt werden, sind jedoch auf die
Verwendung des Systembus-Protokolls beschränkt.
Das Computersystem des bevorzugten Ausführungsbeispiels
weist außerdem einen Ein/Ausgabe-Bus 110 zur Kopplung von Bus-
Master- und Slave-Geräten auf dem Ein/Ausgabe-Bus 110 mit dem
Systembus 102 auf. Im bevorzugten Ausführungsbeispiel unter
stützt der Ein/Ausgabe-Bus 110 bis zu drei alternative Bus-Ma
ster, die auf dem Systembus 102 zum Austausch von Daten mit dem
Hauptspeicher 104 zugreifen können. Der Ein/Ausgabe-Bus 110
weist keinen Mikroprozessor auf. Dennoch sind die Hardware-Pro
tokolle des Ein/Ausgabe-Busses 110 eine Teilmenge der Busproto
kolle für den Motorola-68 030-Mikroprozessor. Der Bustakt für
den Ein/Ausgabe-Bus 110 ist gänzlich asynchron zum Systembus
takt für den Systembus 102. Der Ein/Ausgabe-Bus 110 arbeitet
entweder bei 15,6672 oder 24,28416 MHz. Die an den Ein/Ausgabe-
Bus 110 gekoppelten Geräte weisen als einzigen Ein/Ausgabe-Bus-
Master einen Ethernet-Steuerchip 111 auf. Dieser Ethernet-Steu
erchip 111 steuert das lokale Ethernet-Netzwerk, welches durch
das Computersystem 100 bedient wird. Der SCSI-Block 112 arbei
tet als Slave-Gerät für SCSI-Operationen. Ebenfalls mit dem
Ein/Ausgabe-Bus 110 ist ein Floppy-Disk-Laufwerk 113 für
Ein/Ausgabe-Zugriffe zum Hauptspeicher 104 gekoppelt. Ein
Soundchip 114 ist als eines der Slave-Geräte mit dem
Ein/Ausgabe-Bus 110 verbunden. Jedes dieser angeschlossenen
Hardware-Geräte verwendet die Hardware-Busprotokolle eines
68 030-Mikroprozessors. Auch andere Geräte können mit dem
Ein/Ausgabe-Bus 110 gekoppelt werden, sind jedoch auf die Ver
wendung des Ein/Ausgabe-Busprotokolls beschränkt.
Der Ein/Ausgabe-Busadapter (IOA) 120 stellt einen bidirek
tionalen Buskoppler oder ein Busfenster bereit, welcher bzw.
welches den Systembus 102 und den Ein-Ausgabe-Bus 110 transpa
rent koppelt. Der IOA 120 erlaubt den Bus-Mastergeräten am
Systembus 102 die Anforderung des Buszugangs und den Daten
transfer zu Slave-Geräten, die sich entweder am Systembus 102
oder am Ein-Ausgabe-Bus 110 befinden. Der IOA 120 erlaubt
außerdem den Ein/Ausgabe-Bus-Mastergeräten den Zugriff auf den
Hauptspeicher 104, der sich am Systembus 102 befindet. Ein
Schaltbild des IOA 120 ist in Fig. 2 gezeigt.
Fig. 2 zeigt den IOA 120 im Blockschaltbild. Im bevorzugten
Ausführungsbeispiel weist der IOA 120 ein Paar anwendungsspezi
fischer integrierter Schaltungen (ASICs) auf. Der IOA 120 er
laubt die transparente Datenübertragung zwischen den Geräten
des Ein/Ausgabe-Busses 110 (Peripheriegeräte und Bus-Master)
und den Geräten des Systembusses 102 (Peripheriegeräte, Bus-Ma
ster und Hauptspeicher 104), obwohl der Ein/Ausgabe-Bus 110 auf
der Basis der 68 030-Protokolle arbeitet und der Systembus 102
auf der Basis der Protokolle des 68 040. Der Zweck des IOA 120
ist es, dem Computersystem 100 auf 68 040-Basis die Verwendung
aller Peripheriechips zu erlauben, die gegenwärtig in 68 030-Sy
stemen benutzt werden. Wegen der Unterschiede in den Protokol
len funktionieren die Chips des Ein/Ausgabe-Busses 110 nicht am
Systembus 102.
Im bevorzugten Ausführungsbeispiel ist der Ein/Ausgabe-
Adapter 120 in ein Steuerweg-Chip mit einer Entscheidungslogik
(die nicht gezeigt ist), einen Datenweg-Chip und einen Adreß
bus-Sendeempfänger-Chip unterteilt. Der Steuerweg-Chip enthält
eine Steuerweg-Baugruppe 202 mit der Entscheidungslogik und der
Datenweg-Chip weist eine Datenweg-Baugruppe 201 auf. Der Adreß
bus-Sendeempfänger-Chip weist einen Adreßbus-Sendeempfänger 203
auf. In Fig. 2 nimmt die Steuerweg-Baugruppe 202 des IOA 120
Ein/Ausgabe-Bussignale auf einer Seite und Systembussignale auf
der anderen Seite auf und übersetzt zwischen den beiden. Diese
Übersetzung führt dazu, daß der Systembus 102 und der
Ein/Ausgabe-Bus 110 miteinander wie ein Bus arbeiten. Der
Systembus 102 und der Ein/Ausgabe-Bus 110 sind asynchron, wobei
der Ein/Ausgabe-Bus 110 bei einer niedrigeren Geschwindigkeit
als der Systembus 102 läuft. Die Architektur des Ein/Ausgabe-
Busses 110 unterstützt den Zugriff des Systembusses auf die
Ein/Ausgabe-Peripheriegeräte und den Zugriff des Ein/Ausgabe-
Bus-Masters auf den Hauptspeicher 104 am Systembus 102. Der IOA
120 unterstützt zusätzlich ein Ethernet-LAN am Ein/Ausgabe-Bus
110 und arbeitet als Bus-Entscheidungs-Logik zur Steuerung des
Ein/Ausgabe-Busses 110 und des Systembusses 102. Jedoch erlaubt
es der Ein/Ausgabe-Adapter 120 nicht, das Ein/Ausgabe-Bus-Ma
ster auf Ein/Ausgabe-Bus-Peripheriegeräte zugreifen.
Der IOA 120 weist eine Datenweg-Baugruppe 201, eine Steuer
weg-Baugruppe 202 und Adreß-Sendeempfänger 203 auf. Die Daten
weg-Baugruppe 201 implementiert die Pufferspeicherung für den
Datenbus und führt sowohl die Datenvermittlung als auch die
Rücksetzsynchronisation und die Verteilung aus. Die Funktionen
Paritätsprüfung und Paritätssignalerzeugung werden ebenfalls
von der Datenweg-Baugruppe 201 ausgeführt. Die Datenweg-Bau
gruppe 201 wird weitergehend in Verbindung mit den Fig. 5-8 be
schrieben. Die Steuerweg-Baugruppe 202 ist verantwortlich für
die Chipauswahl und die Bestätigungssignale für die Slave-Ge
räte des Ein/Ausgabe-Busses 110. Die Steuerweg-Baugruppe 202
ist außerdem verantwortlich für die Umsetzung der Taktsignale
zwischen den Bussen und für die Steuerung der externen Adreß
bus-Sendeempfänger. Die Busentscheidungslogik, die Zeitsperren
(Timeout)-Erzeugung und die VIA-Takterzeugung werden ebenfalls
durch die Steuerweg-Baugruppe 202 implementiert. Die Steuerweg-
Baugruppe 202 wird in Verbindung mit den Fig. 4 und 5 de
tailliert beschrieben. Der Adreßbus-Sendeempfänger 203 koordi
niert den Adreßbus zwischen den zwei Bussen.
Der Hauptzweck der Steuerweg-Baugruppe 202 ist die Überset
zung der Bussteuersignalprotokolle und die Erzeugung zusätzli
cher Buszyklen, falls dies für den erfolgreichen Abschluß des
Datentransfers notwendig ist. Dies tritt ein, wenn der 68040
auf ein Slave-Gerät am Ein/Ausgabe-Bus 110 und wenn ein
Ein/Ausgabe-Bus-Master auf den Hauptspeicher 104 zugreift.
Der 68 040 implementiert keine nicht-ausgerichteten Daten
transfers oder dynamische Busgrößenanpassungen. Wenn die inner
halb des Computersystems 100 abgearbeitete Software einen
nicht-ausgerichteten Bustransfer anfordert, so führt der 68040
mehrfach ausgerichtete Bustransaktionen aus, bis alle angefor
derten Daten für die Steuerweg-Baugruppe 202 transparent über
tragen wurden. Versucht jedoch ein Ein/Ausgabe-Busmaster einen
nicht-ausgerichteten Transfer zum oder vom Hauptspeicher 104,
so teilt die Steuerweg-Baugruppe 202 diesen Transfer in eine
Mehrzahl ausgerichteter Zyklen für den Systembus 102. Wird
solch ein Transfer von einem Ein/Ausgabe-Busmaster verlangt,
dann sieht der Systembus 102 eine Anzahl den Beginn eines
Transfers anzeigender Steuersignale, denen die Bestätigung
folgt, bevor die Steuerweg-Baugruppe 202 ein Beendigungssignal
zum Ein/Ausgabe-Bus 110 erzeugt. Darauf versorgt die Datenweg
Baugruppe 201 den Ein/Ausgabe-Bus 110 mit den Daten im erfor
derlichen Format.
Der 68 040 implementiert nicht die dynamische Busgrößenan
passung. Er setzt voraus, daß alle Slave-Geräte 32 Bit breite
Datenports besitzen. Selbst wenn ein einziges Byte angefordert
wird, geht der 68 040 davon aus, daß das Byte auf dem richtigen
Byteleitweg zur Verfügung gestellt wird. Die Steuerweg-Bau
gruppe 202 implementiert in Verbindung mit der Datenweg-Bau
gruppe 201 die dynamische Busgrößenanpassung stets dann, wenn
eine Anforderung vom 68 040 an ein Slave-Gerät am Ein/Ausgabe-
Bus 110 in eine Anzahl von Ein/Ausgabe-Buszyklen unterteilt
werden muß. Wenn die Steuerweg-Baugruppe 202 zusätzliche
Ein/Ausgabe-Buszyklen erzeugen muß, so schickt die Steuerweg-
Baugruppe 202 ein Steuersignal, welches den Ein/Ausgabe-Bus 110
taktet, bis der Transfer beendet ist. Sodann erzeugt die Steu
erweg-Baugruppe 202 ein Steuersignal, das die Übertragung auf
dem Systembus 102 bestätigt.
Fig. 3 stellt die Steuerweg-Baugruppe 202 im Blockschalt
bild dar.
Alle Datenübertragungsgeräte am Ein/Ausgabe-Bus 110 haben
Chipauswahleinrichtungen. Die Chipauswahllogik 301 erzeugt alle
für die Geräte am Ein/Ausgabe-Bus 110 erforderlichen Chipaus
wahlsignale, nachdem der 68 040 Zugriff zum Ein/Ausgabe-Bus 110
erhalten hat. Zusätzlich generiert die Chipauswahllogik das Re
gisterchipauswahlsignal für den NuBus-Controller 106 am System
bus 102. Außerdem erzeugt die Chipauswahllogik 301 ein
Ein/Ausgabe-Auswahl-Steuersignal IOSel während einer Busüber
tragung. Das IOSel-Signal wird benutzt, um der Datenweg-Bau
gruppe 201 anzuzeigen, das eine Busübertragung vom Systembus
102 zum Ein/Ausgabe-Bus 110 stattfindet. Zudem wird das IOSel-
Signal intern durch die Steuerweg-Baugruppe 202 benutzt, um dem
Zyklusgenerator 302 den Beginn eines Zyklus zu signalisieren.
Der Zyklusgenerator 302 sorgt für die Erzeugung von Buszy
klen auf dem Ein/Ausgabe-Bus 110 als Antwort auf die Anforde
rung von Ein/Ausgabe-Raum oder NuBus-Raum durch einen Bus-Ma
ster am Systembus 102. Der Zyklusgenerator 302 erzeugt die Bus
zyklen als Antwort auf ein den Start eines Transfers anzeigen
des Steuersignal, welches vom Systembus 102 gespeichert wird.
Die Chipauswahllogik 301 gibt ein IOSel-Signal aus, wonach der
Zyklusgenerator 302 einen Buszyklus auf dem Ein/Ausgabe-Bus 110
ablaufen läßt. Da der Zyklusgenerator 302 mit der Taktfrequenz
des Systembus 102 operiert, werden die Buszyklen auf den
Bustakt des Ein/Ausgabe-Busses 110 im Synchronisierer 308 syn
chronisiert.
Nachdem er begonnen hat zu arbeiten, wartet der Zyklusgene
rator 302 auf ein ein Zyklusende anzeigendes Signal. Das Zy
klusende-Signal kann von dem Ein/Ausgabe-Bus 110 oder von der
Zeitsperre-Logik 304 der Steuerweg-Baugruppe 202 kommen. Die
Zyklusende-Signale vom Ein/Ausgabe-Bus 110 werden durch den
Synchronisierer 308 mit dem Bustakt des Systembus 102 synchro
nisiert und in den Zyklusgenerator 302 eingespeist. Der Zyklus
generator 302 erzeugt während er arbeitet bis zu vier
Ein/Ausgabe-Buszyklen für eine einzige Prozessorbusanforderung.
Ist der Datentransfer beendet, gibt der Zyklusgenerator 302 ein
den Transfer bestätigendes Signal an den Systembus 102 heraus.
Wird vor irgendeiner anderen Art der Beendigung eine in
terne Zeitsperre empfangen, so führt der Zyklusgenerator 302
den Buszyklus zu Ende, indem er ein Fehlersignal auf dem
Ein/Ausgabe-Bus 110 und ein Übertragungsfehler-Bestätigungssi
gnal auf dem Systembus 102 auslöst. Danach kehrt der Zyklusge
nerator 302 in seinen Ruhezustand zurück.
Wird eine Zeitsperre gleichzeitig mit einer anderen Art der
Beendigung vom Ein/Ausgabe-Bus 110 empfangen, beansprucht die
andere Beendigung den Vorrang und die Zeitsperre wird igno
riert. Werden eine normale und eine fehlerbedingte Beendigung
durch den Synchronisierer 308 gleichzeitig empfangen, so rea
giert der Zyklusgenerator 302 auf die fehlerbedingte Beendi
gung.
Der Zyklusgenerator 303 ähnelt in seiner Funktion dem Zy
klusgenerator 302. Der Zyklusgenerator 303 veranlaßt die Erzeu
gung von Buszyklen auf Basis des 68 040 am Systembus 102 als
Antwort auf einige Transferanforderungen durch einen
Ein/Ausgabe-Bus-Master an ein Systembus-Slave-Gerät. Wenn ein
Bus-Master am Ein/Ausgabe-Bus 110 eine Übertragung beginnt,
synchronisiert der Synchronisierer 309 die Signale mit der
Taktfrequenz der Steuerweg-Baugruppe 202. Der erste Zyklus kann
eine Übersetzung der Adreßbits 1 und 0 und der Größenbits benö
tigen, um den Umfang der Übertragung und den entsprechenden
Adreß-Offset der Übertragung zu bestimmen. Diese Übersetzung
ist erforderlich, wenn ein Ein/Ausgabe-Bus-Master einen auf dem
Systembus 102 nicht unterstützten Zyklus anfordert, wie z. B.
eine nicht-ausgerichtete Übertragung. Sobald der Start begon
nen hat, wartet der Zyklusgenerator 303 auf ein Zyklus-Beendi
gungssignal auf dem Systembus 102 durch entweder ein Transfer-
Bestätigungssignal oder ein Transfer-Fehlerbestätigungssignal
oder eine interne Zeitsperre. Wenn der Zyklus der Steuerweg-
Baugruppe 202 durch ein Transferbestätigungssignal beendet
wurde und wenn der Buszyklus auf dem Systembus 102 als erster
aufgefordert war, die Anforderung des Ein/Ausgabe-Bus 110 zu
erfüllen, so gibt die Steuerweg-Baugruppe 202 Steuersignale auf
dem Ein/Ausgabe-Bus aus, um zu bestimmen, ob mehr Buszyklen zur
Beendigung des Transfers erforderlich sind.
Wird der Zyklus der Steuerweg-Baugruppe 202 durch ein die
Beendigung des Transfers bestätigendes Signal beendet, so löst
die Steuerweg-Baugruppe 202 unmittelbar ein ein Busfehlersignal
anzeigendes Signal auf dem Ein/Ausgabe-Bus 110 aus und arbeitet
keine weiteren Buszyklen auf dem Systembus 102 für diese
Ein/Ausgabe-Bustransaktion ab. Die Steuerweg-Baugruppe 202 be
sitzt nicht die Fähigkeit, auf wiederholte Beendigungen zu ant
worten, wie z. B. ein Transfer-Bestätigungssignal und ein Trans
fer-Fehlerbestätigungssignal auf dem Systembus 102. Die Steuer
weg-Baugruppe 202 betrachtet eine Buswiederholung auf dem
Systembus 102 lediglich als eine Transfer-Fehlerbestätigung.
Wird die interne Zeitsperre vor entweder einem Transfer-Be
stätigungssignal oder einem Transfer-Fehlerbestätigungssignal
empfangen, beendet der Zyklusgenerator 303 den Transfer mit ei
nem Busfehlersignal auf dem Ein/Ausgabe-Bus 110 oder mit einem
Transfer-Fehlerbestätigungssignal auf dem Systembus 102. Er
kennt der Zyklusgenerator 303 ein internes Zeitsperre-Signal
gleichzeitig mit einem Transfer-Bestätigungs- und/oder Trans
fer-Fehlerbestätigungssignal, dann wird das Zeitsperre-Signal
ignoriert.
Kein Gerät am Ein/Ausgabe-Bus 110 mit einem internen 8-Bit-
Datenbus (z. B. der Sound-Chip 114 und die VIA-Chips, nicht ge
zeigt) erzeugt eine Zyklusbeendigung. Somit erzeugt die Steuer
weg-Baugruppe 202 die Bestätigungssignale für diese Geräte zu
geeigneten Zeitpunkten.
Der Zyklusgenerator 303 erzeugt ebenfalls eine Ausgabe-
Freigabe für die von ihm erzeugten Signale auf dem Ein/Ausgabe-
Bus 110 und dem Systembus 102.
Die Zeitsperre-Logik 304 besteht aus einem Zähler, der je
desmal vom Stand 0 beginnt, wenn ein Transfer-Startsignal ent
weder von der Steuerweg-Baugruppe 202 oder von einem der Master
am Systembus 102 ausgelöst wird. Da alle Master am Ein/Ausgabe-
Bus 110 den Systembus 102 für deren Bustransaktionen anspre
chen, wird der Zeitsperre-Zähler ebenfalls von allen
Ein/Ausgabe-Bus-Master ausgelöst. Der Zähler setzt die Inkre
mentierung fort, bis entweder ein Transfer-Bestätigungssignal,
ein Transfer-Fehlerbestätigungssignal oder beide Signale von
der Steuerweg-Baugruppe 202 erkannt werden. Wenn jedoch keines
dieser Ereignisse innerhalb von 512 Bustaktzyklen nach dem
Transfer-Startsignal stattfindet, tritt eine Zeitsperre ein.
Eine Zeitsperre bewirkt, daß die Steuerweg-Baugruppe 202
ein Transfer-Fehlerbestätigungssignal auf dem Systembus 102 und
eine Transfer-Fehlerbestätigung auf dem Ein/Ausgabe-Bus 110
herausgibt. Wenn die Steuerweg-Baugruppe 202 ein Bus-Master an
einem der Busse war, als die Zeitsperre eintrat, so betrachtet
die Steuerweg-Baugruppe 202 den laufenden Zyklus als beendet,
und es kehren beiden Zyklusgeneratoren 302 und 303 zu ihren Ru
hezuständen zurück. Der Zeitsperre-Zähler wird nach einer Zeit
sperre und bei jeder Buszyklusbeendigung auf 0 zurückgestellt
und ist somit bereit, vom nächsten Transfer-Startsignal gestar
tet zu werden.
Eine festgesetzte Periode von 512 Bustaktzyklen für das
Zeitsperrenintervall impliziert, daß die absolute Zeitsperren
periode von der Taktfrequenz des Systembus 102 abhängt, wie es
im folgenden dargestellt ist:
25 MHz Bustakt → 20,48µs Zeitsperrenperiode,
33 MHz Bustakt → 15,50µs Zeitsperrenperiode,
40 MHz Bustakt → 12,80µs Zeitsperrenperiode.
25 MHz Bustakt → 20,48µs Zeitsperrenperiode,
33 MHz Bustakt → 15,50µs Zeitsperrenperiode,
40 MHz Bustakt → 12,80µs Zeitsperrenperiode.
Der Zeitsperre-Zähler darf nicht gestartet werden, wenn ein
Transfer-Startsignal zusammen mit einer NuBus-Adresse erkannt
wird. Dies erlaubt dem NuBus, seine eigene, längere Zeitsper
renperiode zu haben. Bei Auslösen der Chip-Rücksetzung kehrt
der Zeitsperre-Zähler zum Stand 0 zurück. Da der Zeitsperre-
Zähler aus mehreren Stufen einer kaskadierten Logik besteht,
sollte die Rücksetzung für wenigstens 15 Bustaktzyklen ausge
löst werden. Dies ermöglicht die Zeit für die Rücksetzsynchro
nisation und das Rücksetzen der Zeitsperre-Zählerlogik 304.
Die AP-Logik 305 erzeugt die Steuersignale für die bidirek
tionalen Adreßpuffer, welche die Adressen zwischen dem
Ein/Ausgabe-Bus 110 und dem Systembus 102 vermitteln. Im bevor
zugten Ausführungsbeispiel werden zwei Steuersignale erzeugt.
Ein Signal steuert die Richtung des Adreßpuffers. Das Signal
ist im normalen High/Low-Format. Ein Low-Wert indiziert, daß
ein Gerät am Systembus 102 ein Master-Gerät ist und daß die
Adresse vom Systembus 102 zum Ein/Ausgabe-Bus 110 gesendet wer
den soll. Ein High-Wert auf diesem Signal zeigt an, daß ein Ge
rät am Ein/Ausgabe-Bus 110 ein Master-Gerät ist und daß Adres
sen vom Ein/Ausgabe-Bus 110 zum Systembus 102 geleitet werden
sollen.
Ein weiteres Signal kontrolliert die Ausgangs-Freigaben des
Puffers. Steht dieses Signal auf Low, so gibt es die Ausgänge
des Adreßpuffers frei.
Die VIA-Chips im Computersystem 100 (nicht gezeigt) besit
zen einige spezielle Zeitgabeanforderungen. Sie schließen Echt
zeit-Aktivitäten ein, wie z. B. die Schnittstellenbildung zum
Taktgeber und zum Sound-Chip 114. Um diesen Echtzeit-Aktivitä
ten angepaßt zu sein, erfordern die VIA-Chips eine spezielle
Taktfrequenz von 15,6672/20 MHz. Außerdem gibt es spezielle
VIA-Chipauswahlsignale, die ein spezielles Verhältnis zum VIA-
Takt erfordern. Zusätzlich erfordert das von der Steuerweg-Bau
gruppe 202 erzeugte Daten-Bestätigungssteuersignal für die VIAs
ein spezielles Verhältnis zum VIA-Takt. Dies alles wird von der
VIA-Steuerlogik koordiniert.
Die VIA-Steuerlogik 306 wählt, ob die VIA-Steuersignale ih
ren Takt vom operierenden Ein/Ausgabe-Bus 110 mit entweder
15,6672 MHz oder 24,28416 MHz beziehen. Für einen 15,6672 MHz-
Ein/Ausgabe-Bustakt erzeugt die VIA-Steuerlogik 306 einen VIA-
Takt mit einer Taktfrequenz gleich dem Ein/Ausgabe-Bustakt ge
teilt durch 20. Für einen 24,28416 MHz-Ein/Ausgabe-Bustakt
teilt die VIA-Kontrollogik den Ein/Ausgabe-Bustakt durch den
Faktor 31, um den VIA-Takt zu erzeugen.
Die Bus-Entscheidungslogik (Bus-Arbiter) 307 arbeitet unab
hängig von den Zyklusgeneratoren 302 und 303. Im bevorzugten
Ausführungsbeispiel weist die Bus-Entscheidungslogik 307 die
Kontrolle über den Systembus 102 und den Ein/Ausgabe-Bus 110
bis zu sechs verschiedenen Bus-Master zu, drei Bus-Masters am
Ein/Ausgabe-Bus 110 und drei am Systembus 102. (Im folgenden
werden der Systembus 102 und der Ein/Ausgabe-Bus 110 als ein
einziger Bus betrachtet, der als "Gesamt"-Bus bezeichnet wird.)
Die Entscheidungslogik 307 unterstützt die Protokolle für Ge
räte am Systembus 102 und am Ein/Ausgabe-Bus 110. Von den sechs
Bus-Master ist zu einem gegebenen Zeitpunkt lediglich einer im
Besitz des Gesamtbusses. Die Bus-Entscheidungslogik 307 vergibt
die Kontrolle über den Gesamtbus gemäß einer festen, vorbe
stimmten Priorität. Er vergibt unter den in irgendeinem indivi
duellen Entscheidungs-Wettbewerb ausgewählten Geräten die Kon
trolle über den Gesamtbus dem Gerät mit der höchsten Priorität.
Im bevorzugten Ausführungsbeispiel besitzen die Geräte am
Ein/Ausgabe-Bus 110 höhere Prioritäten als die Geräte am
Systembus 102. Hierbei besitzt das Ethernet 111 die höchste
Priorität. Der Ein/Ausgabe-Bus 110 hält zwei Bus-Masterreser
veplätze (nicht gezeigt) bereit, an denen zwei weitere Bus-Ma
ster hinzugefügt werden können. Die Prioritäten dieser zwei Ge
räte an den Reserve-Plätzen haben die zweit- bzw. dritthöchste
Priorität nach dem Ethernet 111, sofern solche Geräte an den
Ein/Ausgabe-Bus 110 angeschlossen sind. Im bevorzugten Ausfüh
rungsbeispiel ist der NuBus das Gerät mit der nächsthöchsten
Priorität. Der 68 040 besitzt die niedrigste Priorität.
Die Bus-Entscheidungslogik 307 implementiert ein gewisses
Maß an Fairness, um eine übermäßige Belegung des Gesamtbusses
durch eines der Geräte am Systembus 102 zu verhindern und damit
auch zu verhindern, daß ein Gerät niedrigerer Priorität am
Systembus 102 niemals Zugang zum Gesamtbus erhalten kann. Wenn
ein Gerät am Systembus 102 die Kontrolle über den Gesamtbus
übernommen hat, erlaubt die Entscheidungslogik 307 dem Gerät am
Systembus 102, seine Busanforderung aufrechtzuerhalten, so daß
dieses Gerät den Gesamtbus für mehrmalige Buszugriffe behält.
Hat dieses Gerät einmal die Kontrolle über den Gesamtbus über
nommen, so durchläuft die Entscheidungslogik 307 den Entschei
dungs-Wettbewerb mit Ausnahme des Falles, daß das den Gesamtbus
kontrollierende Gerät mit gesperrten Übertragungen beschäftigt
ist. Die Busanforderung vom Gerät, welches gerade den Gesamtbus
kontrolliert, wird im Entscheidungs-Wettbewerb nicht berück
sichtigt. Somit erlaubt die Entscheidungslogik 307 dem Gerät
mit niedriger Priorität den Zugriff auf den Gesamtbus, wenn es
den Gesamtbus anfordert und wenn keine Anforderungen von Gerä
ten mit höherer Priorität vorliegen.
Um dem Gerät mit niedrigerer Priorität den Zugriff zum Ge
samtbus zu erlauben, negiert die Entscheidungslogik 307 die Bu
serlaubnis des Geräts am Systembus 102, welches zur Zeit den
Gesamtbus beansprucht, und gesteht dem nächsten Gerät eine Bus
erlaubnis zu. Wenn der aktuelle Bus-Inhaber die Negierung sei
ner Buserlaubnis erkennt, verläßt er den Gesamtbus nach Beendi
gung einer endlichen Anzahl von Zyklen. Diese Anzahl von Zyklen
variiert und hängt stets von dem Gerät ab. Hat das Gerät, das
den Gesamtbus aufgibt, zusätzliche Zyklen durchzuführen, so
hält es seine Busanforderung aufrecht, so daß dieses Gerät Zu
griff auf den Gesamtbus nehmen kann, indem es einen künftigen
Entscheidungs-Wettbewerb gewinnt. Das Gerät, das nun eine Bus
erlaubnis innehat, beansprucht den Gesamtbus.
Geräten am Systembus 102 ist es erlaubt, auf dem Gesamtbus
zu "parken". Wenn eines dieser Geräte die Kontrolle über den
Gesamtbus bekommen hat und sie nicht länger benötigt, negiert
dieses Gerät seine Busanforderung, gibt aber weiterhin ein "Bus
belegt"-Signal aus. Auf diese Weise behält das Gerät des
Systembusses die Kontrolle über den Gesamtbus. Indem es auf dem
Gesamtbus parkt, braucht das Gerät des Systembusses in keinen
weiteren Entscheidungs-Wettbewerb um die Kontrolle über den Ge
samtbus einzutreten, wenn es dessen Benutzung fordert. Das Ge
rät gibt solange ein "Bus belegt"-Signal aus, bis die Entschei
dungslogik 307 die Buserlaubnis des Gerätes negiert. Wenn ir
gendein anderer Bus-Master eine Busanforderung ausgibt und ei
nes der Geräte am Systembus 102 die Kontrolle über den Gesamt
bus besitzt, so negiert die Entscheidungslogik 307 die Buser
laubnis dieses Geräts und gesteht dem anfordernden Bus-Master
mit der höchsten Priorität die Kontrolle über den Gesamtbus zu.
Die Entscheidungslogik 307 negiert die Buserlaubnis eines
Geräts am Systembus 102 nicht, wenn dieses Gerät eine gesperrte
Übertragung ausführt, weil die Entscheidungslogik 307 den Vor
rang des gesperrten Protokolls für Geräte am Systembus 102
durchsetzt. Gesperrte Übertragungen beinhalten unteilbare Lese-
Modifiziere-Schreib-Transaktionen. Wenn folglich eines der Ge
räte am Systembus 102 ein Sperrsignal ausgibt, zeigt es der
Entscheidungslogik 307 an, daß der aktuelle Zyklus unteilbar
ist. Wird ein Sperrsignal ausgegeben, so führt die Entschei
dungslogik 307 keinen Entscheidungs-Wettbewerb durch. Dies
trifft auch zu, nachdem das das Sperrsignal ausgebende Gerät
des Systembusses die Kontrolle über den Gesamtbus übernommen
hat. Lediglich nachdem das Sperrsignal negiert worden ist,
führt die Entscheidungslogik 307 einen Entscheidungs-Wettbewerb
durch.
Ist die gesperrte Übertragung beendet, negiert die Ent
scheidungslogik 307 die Buserlaubnis gegenüber dem aktuellen
Gerät und geht in den Ruhezustand über, um den Entscheidungs-
Wettbewerb auszuführen. Ist eine gesperrte Übertragung einmal
beendet, so wird ein Wiederholungssignal erzeugt. Aufgrund der
Langsamkeit der Entscheidungslogik 307 bei der Aufhebung der
Buserlaubnis durchläuft das aktuelle Gerät noch einmal den Zy
klus, wenn eine Wiederholung angezeigt wird, und empfängt noch
einmal die Wiederholung. Wenn das Gerät versucht, den Zyklus
noch einmal zu durchlaufen, so gibt es die Kontrolle über den
Gesamtbus auf, weil seine Buserlaubnis negiert war. Daraufhin
übernimmt der andere Bus-Master, der den Entscheidungs-Wettbe
werb gewonnen hat, die Kontrolle über den Gesamtbus. Nachdem
dieser andere Bus-Master seinen Zyklus beendet hat, kann das
Gerät, dessen Buserlaubnis negiert worden war, wiederholen und
sollte so den letzten Zyklus beenden können.
Die Entscheidungslogik 307 erlaubt es den Entscheidungs-Zy
klen, die Datentransferzyklen zu überlappen. Hat ein Gerät
vollständig die Kontrolle über den Gesamtbus übernommen, so
wird der Entscheidungs-Wettbewerb durchgeführt und dem nächsten
Gerät der Gesamtbus zugebilligt. Diese überlappende Arbeits
weise tritt nicht auf, wenn eines der Geräte am Systembus 102
eine gesperrte Transaktion durchführt, wenn sich der Gesamtbus
im Ruhezustand befunden hat oder wenn ein Gerät am Systembus
102 auf dem Gesamtbus geparkt worden ist. Während einer ge
sperrten Transaktion führt die Entscheidungslogik 307 den Wett
bewerb solange nicht durch, bis das eine gesperrte Transaktion
anzeigende Signal negiert ist oder eine Wiederholung auftritt
(wie oben erläutert).
Die Entscheidungslogik 307 befindet sich nach dem Einschal
ten und nach einer Rücksetzung im Ruhezustand. Im Ruhezustand
führt die Entscheidungslogik 307 den Entscheidungs-Wettbewerb
aus. Die interne Schaltung ist synchron zum Takt des Systembus
ses 102. Alle asynchronen Signale werden doppelrangig mit dem
Takt des Systembusses synchronisiert. Alle Buserlaubnis-Ausga
ben von Geräten am Systembus 102 werden synchron zum Takt des
Systembusses ausgegeben. Alle Buserlaubnis-Ausgaben von Geräten
am Ein/Ausgabe-Bus 110 werden vom Synchronisierer 310 doppel
rangig synchronisiert zum Takt des Ein/Ausgabe-Busses. Aufgrund
der Wirkung des Synchronisierers auf die Geräte des
Ein/Ausgabe-Busses ist es möglich, zwei Buserlaubnisse gleich
zeitig auszugeben. Dies tritt aufgrund der Verzögerung durch
den Synchronisierer 310 ein, wenn eine Buserlaubnis eines Ge
räts am Ein/Ausgabe-Bus 110 negiert wird und eine Buserlaubnis
an ein Gerät am Systembus 102 vergeben wird. Die Arbeitsweise
des Computersystems 100 bleibt unbeeinflußt, da dies lediglich
bei der Negierung einer Buserlaubnis einem Gerät am
Ein/Ausgabe-Bus 110 gegenüber passiert, welches die Kontrolle
über den Gesamtbus nicht aufgibt, bis es die aktuelle Übertra
gung beendet hat. Sobald das Gerät am Ein/Ausgabe-Bus 110 den
Gesamtbus freigibt, wird das vom Gerät erzeugte, die Belegung
des Ein/Ausgabe-Busses 110 anzeigende Steuersignal, negiert.
Nach einer Synchronisationsverzögerung bei der Negierung des
"Bus belegt"-Steuersignals nimmt das Gerät am Systembus 102 die
Kontrolle über den Gesamtbus wieder auf.
Die Entscheidungslogik 307 fragt Busanforderungen von ver
schiedenen im Computersystem 100 installierten Bus-Master-Gerä
ten ab und vergibt Buserlaubnisse an die Geräte basierend auf
der ihnen zugewiesenen Priorität. Die Entscheidungslogik 307
setzt die Protokolle der Geräte am Systembus 102 und
Ein/Ausgabe-Bus 110 durch um sicherzustellen, daß keine Konkur
renz um die Kontrolle über den Gesamtbus eintritt. Daher stellt
die Entscheidungslogik 307 sicher, daß zu jedem Zeitpunkt le
diglich ein Gerät die Kontrolle über den Gesamtbus hat, indem
sie die Synchronisationsverzögerungen zwischen dem Systembus
102 und dem Ein/Ausgabe-Bus 110 berücksichtigt.
Wenn die Entscheidungslogik 307 einem der Geräte am System
bus 102 den Gesamtbus zugesteht, so wartet sie, bis die Geräte
am Ein/Ausgabe-Bus 110 das Bestätigungssignal vom Systembus-Ge
rät erkennen, bevor der Entscheidungs-Wettbewerb durchlaufen
und der Bus dem nächsten Gerät zur Verfügung gestellt wird. Ge
steht die Entscheidungslogik 307 einem der Geräte am
Ein/Ausgabe-Bus 110 die Kontrolle über den Gesamtbus zu, so
wartet sie, bis die Geräte am Systembus 102 das Bestätigungssi
gnal vom Ein/Ausgabe-Bus-Gerät erkennen, bevor der Entschei
dungs-Wettbewerb durchlaufen und dem nächsten Gerät die Kon
trolle über den Gesamtbus zugestanden wird. Üm sicherzugehen,
daß das Gerät im aktuellen Besitz der Buserlaubnis auch das Ge
rät ist, das das Bestätigungssignal ausgegeben hat, verlangt
die Entscheidungslogik 307 zunächst die Negierung des Bestäti
gungssignals und sodann dessen Ausgabe.
Fordert eines der Geräte am Systembus 102 den Gesamtbus an,
so gesteht die Entscheidungslogik 307 dem Gerät am Systembus
den Gesamtbus gemäß der Priorität zu und wartet, bis das vor
hergehende Gerät, falls er sich nicht zuvor im Ruhestand be
fand, die Kontrolle über den Gesamtbus abgegeben hat. Sodann
wartet die Entscheidungslogik 307, bis das Gerät am Systembus
102, welches die Buserlaubnis empfangen hat, die vollständige
Kontrolle über den Gesamtbus aufnimmt. Zu diesem Zeitpunkt
führt die Entscheidungslogik 307 den Entscheidungs-Wettbewerb
unter der Annahme durch, daß das Systembus-Gerät keine ge
sperrte Transaktion durchführt. Die Anforderung des die aktu
elle Kontrolle über den Gesamtbus ausübenden Geräts wird vom
Entscheidungs-Wettbewerb ausgeklammert, um ein Ansichreißen des
Busses durch ein Gerät hoher Priorität am Systembus 102 zu ver
hindern. Wenn ein anderes Gerät die Kontrolle über den Gesamt
bus anfordert, negiert die Entscheidungslogik 307 die Erlaubnis
gegenüber dem aktuellen Systembus-Gerät und erteilt dem näch
sten Gerät die Buserlaubnis. Bestehen keine weiteren schweben
den Anforderungen, so verbleibt die Entscheidungslogik 307 im
aktuellen Zustand und setzt den Entscheidungs-Wettbewerb fort.
Wenn eines der Geräte am Ein/Ausgabe-Bus 110 die Verfü
gungsgewalt über den Gesamtbus anfordert, so gesteht die Ent
scheidungslogik 307 dem Gerät am Ein/Ausgabe-Bus den Gesamtbus
gemäß der Priorität zu und wartet, bis das ggf. vorhandene vor
angegangene Gerät die Kontrolle über den Gesamtbus abgegeben
hat. Sodann wartet die Entscheidungslogik 307, bis das Gerät am
Ein/Ausgabe-Bus, das die Buserlaubnis empfangen hat, die voll
ständige Kontrolle über den Gesamtbus erlangt hat. Zu diesem
Zeitpunkt führt die Entscheidungslogik 307 einen weiteren Ent
scheidungs-Wettbewerb durch. Die Anforderung von dem Gerät, das
gerade den Gesamtbus beansprucht, ist vom Entscheidungs-Wettbe
werb ausgenommen. Wenn ein anderes Gerät den Gesamtbus anfor
dert, negiert die Entscheidungslogik 307 die Erlaubnis gegen
über dem aktuellen Gerät am Ein/Ausgabe-Bus und gesteht dem
nächsten Gerät die Verfügungsgewalt über den Gesamtbus zu. Be
stehen keine weiteren schwebenden Anforderungen und hat das ak
tuelle Gerät seine Busanforderung weiterhin aufrechterhalten,
verbleibt die Entscheidungslogik 307 in ihrem aktuellen Zustand
und setzt den Entscheidungs-Wettbewerb fort. Bestehen dagegen
keine weiteren schwebenden Anforderungen und hat das aktuelle
Gerät seine Busanforderung negiert, so geht die Entscheidungs
logik 307 in den Ruhezustand über und führt den Entscheidungs-
Wettbewerb durch.
Das bevorzugte Ausführungsbeispiel der Steuerweg-Baugruppe
202 ist in Fig. 4 dargestellt. Für ein Ein/Ausgabe-Signal ist
die Eingabe-Komponente im Schaltbild mit dem Anhang "i" im Si
gnalnamen und die Ausgabe-Komponente mit einem Anhang "o" im
Signalnamen dargestellt. Fig. 4 stellt eine genauere Implemen
tierung von Fig. 3 dar, wobei im Ausführungsbeispiel verwendete
spezielle Signale angegeben werden. Auf eine detaillierte Er
klärung wurde verzichtet, weil die Besonderheiten der Funkti
onsweise für den Fachmann offensichtlich sind.
Im Computersystem 100 werden Daten auf zwei Busse aufge
teilt: den Systemdatenbus und den Ein/Ausgabe-Datenbus, welche
jeweils Teil des Systembusses 102 bzw. des Ein/Ausgabe-Busses
110 sind. Die Hauptfunktion der Datenweg-Baugruppe 201 besteht
in der richtigen Vermittlung der Datenbytes in beiden Richtun
gen zwischen dem Systemdatenbusteil des Systembusses 102 und
dem Ein/Ausgabe-Busteil des Ein/Ausgabe-Busses 110. Der Daten
weg 201 empfängt die Daten entweder vom Systemdatenbus oder vom
Ein/Ausgabe-Datenbus und vermittelt sie über speziell definier
te Byte-Leitwege zum anderen Bus in der richtigen zeitlichen
Reihenfolge.
Im bevorzugten Ausführungsbeispiel ist der Systembus 102
(wie oben dargestellt)ein Bus auf 68 040-Basis und der
Ein/Ausgabe-Bus 110 ein Bus auf 68 030-Basis. Das 68 030-Proto
koll erlaubt 8-Bit- und 16-Bit-Slave-Geräten die Anknüpfung an
gegebene Byte-Leitwege des Ein/Ausgabe-Datenbusses und die An
zeige ihrer aktuellen Datenbusgröße oder ihres Ports während
der Zyklusbestätigung. Die Hardware innerhalb des 68 030-Mikro
prozessors führt die geeignete Byte-Lenkung durch, um Daten
über die korrekten Byte-Leitwege zu senden. Dies erlaubt der
Software den Byte-Zugriff auf aufeinanderfolgende Bytes. Jedoch
erfordert es der Systembus 102 auf 68 040-Basis, daß alle Daten
byte-Leitwege am System-Datenbus so plaziert werden müssen, als
ob alle Zugriffe 32 Bits lang wären. Mit anderen Worten erwar
tet der den 68 040-Mikroprozessor benutzende Systembus, daß die
Zugriffe auf 8-Bit- und 16-Bit-Ports auf lange Wörter ausge
richtet werden. Um zwischen dem Ein/Ausgabe-Bus 110 auf 68 030-
Basis und dem Systembus 102 auf 68 040-Basis Kompatibilität zu
erreichen, sorgt die Datenweg-Baugruppe 201 für die Datenbyte-
Vermittlung beim Zugriff auf Peripheriegeräte am Ein/Ausgabe-
Bus 110 durch den 68 040.
Weiterhin unterstützt der 68 040 im bevorzugten Ausführungs
beispiel nicht die Busgrößenanpassung. Der 68 040 erwartet, daß
Zugriffe auf 8-Bit- und 16-Bit-Ports eine geeignete Größe ha
ben. Z.B. wäre ein Zugriff auf einen 8-Bit-Port ein Zugriff mit
Byte-Größe und ein Zugriff auf einen 16-Bit-Port ein Zugriff in
Wort-Größe. Ein Computersystem auf 68 030-Basis erlaubt jedoch
die Anknüpfung der 8-Bit- und 16-Bit-Slave-Geräte an einen ge
gebenen Byte-Leitweg und die Anzeige ihrer Portgröße während
der Zyklusbestätigung. Die Hardware im 68 030 führte die pas
sende Anzahl und die passende Art von Buszyklen aus, um die An
forderung zu erfüllen. Somit war es der Software erlaubt, Lang
wort-Zugriffe auf 8-Bit-Geräte zu nehmen, ohne Kenntnis davon,
daß die Geräte 8-Bit-Geräte sind. Um die Kompatibilität zwi
schen dem Ein/Ausgabe-Bus 110 auf 68 030-Basis und dem Systembus
102 auf 68 040-Basis zu gewährleisten, führt die Datenweg-Bau
gruppe 201 eine dynamische Busgrößenanpassung für den Zugriff
auf Peripheriegeräte am Ein/Ausgabe-Bus 110 durch den 68 040
aus.
In Fig. 5 führen der Steuerungs/Zeitgabe-Block 501 und der
Bytevermittlungsblock 502 die Bytevermittlung und die dynami
sche Busgrößenanpassung aus. Da sich der 68 040 vom 68 030 darin
unterscheidet, daß er es erforderlich macht, daß alle Datenby
teleitwege so plaziert werden, als ob alle Zugriffe 32 Bits
lang wären, und da er keine dynamische Busgrößenanpassung vor
nimmt, werden der Steuerungs/Zeitgabe-Block 501 und der Byte
vermittlungsblock 502 benutzt, den Systembus 102 auf 68 040-Ba
sis und den Ein/Ausgabe-Bus 110 auf 68 030-Basis zu vereinen, um
ein transparentes Fenster zwischen den Geräten auf 68 030-Basis
am Ein/Ausgabe-Bus 110 und den Geräten auf 68 040-Basis am
Systembus 102 zu erzeugen.
Die Datenweg-Baugruppe 201 führt außerdem zwei weitere
Funktionen aus. In Fig. 5 implementiert die Paritätslogik 503
eine byteweise Paritätserzeugung und Fehlererkennung für Zu
griffe auf den Hauptspeicher 104 (Fig. 1). Die Rücksetzlogik
504 versorgt das Computersystem 100 mit den erforderlichen
Rücksetzsignalen für Systemrücksetzungen. Eine detailliertere
Erklärung aller drei Funktionen der Datenweg-Baugruppe 201 sind
im folgenden beschrieben.
Der Steuerungs/Zeitgabe-Block 501 und der Bytevermittlungs
block 502 stellen die Datenwegsteuerung her, die zur Erfüllung
der Bytevermittlung und der Datenbusgrößenanpassung benötigt
wird. Wie oben erläutert, kann der Ein/Ausgabe-Bus 110 8-Bit-,
16′Bit- oder 32-Bit-Peripheriegeräte (Slaves) und nur 32-Bit-
Bus-Master enthalten. Diese Ein/Ausgabe-Bus-Master können Da
tenübertragungen vom 1, 2, 3 oder 4 Bytes, entweder ausgerich
tet oder nicht ausgerichtet, initiieren. Bündeltransfers von 16
Bytes werden durch den Ein/Ausgabe-Bus 110 nicht unterstützt.
Wird solch ein Transfer versucht, so ändert die Steuerweg-Bau
gruppe 202 die Zyklusanforderung in einen oder mehrere erlaubte
Systembustransfers, und lenkt die Datenweg-Baugruppe 201 die
Daten demgemäß auf spezielle Byteleitwege. Der Systembus 102
enthält lediglich 32-Bit-Bus-Master- und -Slave-Geräte. Der
68 040-Mikroprozessor 101 des Ausführungsbeispiels initiiert le
diglich Übertragungen von 1, 2, 4 oder 16 Bytes. Die Steuerweg-
Baugruppe 202 bestätigt die 16-Byte-Übertragung zum
Ein/Ausgabe-Bus 110 und veranlaßt deren Beendigung durch den
68040 durch die Verwendung von vier 4-Byte-Bustransaktionen im
Langwortformat. Die Steuerweg-Baugruppe 202 ändert die Zy
klusanforderungen vom Systembus 102 über den 68 040 in ein oder
mehrere erlaubte Ein/Ausgabe-Bustransfers, und die Datenweg-
Baugruppe 201 lenkt die Daten auf spezielle Byte-Leitwege.
Zur Verwirklichung der Datenwegsteuerung empfängt der
Steuerungs/Zeitgabe-Block 501 Steuersignale von entweder dem
Systembus 102 oder von dem Ein/Ausgabe-Bus 110 und Steuersi
gnale von der Steuerweg-Baugruppe 202. Daraufhin steuert der
Steuerungs/Zeitgabe-Block 501 die Vermittlung von Daten bei de
ren Transfer durch den Bytevermittlungsblock 502.
Im Computersystem 100 können Ein/Ausgabe-Bus-Master Buszy
klen erzeugen, die in der Lage sind, 1, 2, 3 oder 4 Bytes Daten
bei irgendeinem Adreß-Offset zu übertragen, wohingegen die Ge
räte auf 68 040-Basis Übertragungen 1, 2 oder 4 Bytes erfordern,
wobei 2-Byte-Übertragungen Wort-ausgerichtet und 4-Byte-Über
tragungen Langwort-ausgerichtet sein müssen. Mit anderen Worten
können 16-Bit-Übertragungen lediglich mit Adreß-Offsets von 0
und 2 eintreten, während 32-Bit-Übertragungen nur mit einem
Adreß-Offset von 0 eintreten können.
Bezugnehmend auf Tabelle 1 werden die Übertragungen
(Transfers) durch 32-Bit-Bus-Master am Ein/Ausgabe-Bus 110 zum
oder vom Systembus 102 detaillierter beschrieben. Die Größe und
die Adreßoffsets der verschiedenen Übertragungen sind unter den
jeweiligen Spalten "Größe" und "Adr" aufgelistet. Die Anzahl
der für einen besonderen Transfer benötigten Zyklen ist durch
die Anzahl der zur Beschreibung des Transfers erforderlichen
Zeilen angezeigt. Es ist zu beachten, daß die Trennstriche un
maßgebliche Daten repräsentieren. Wie gezeigt, treten alle Ein
zelbytetransfers zum Systembus 102 in einem Zyklus auf. Zwei-
Byte-Transfers von 32-Bit-Ein/Ausgabe-Bus-Master werden mit der
gleichen Anzahl von Zyklen auf dem Systembus 102 abgeschlossen,
ausgenommen der 2-Byte-Transfers bei einem Adreßoffset von 1.
In diesem Fall sind zwei Zyklen zur Beendigung des Transfers
auf dem Systembus 102 nötig. Dieser zusätzliche Zyklus ist er
forderlich, weil der Systembus 102 auf 68 040-Basis lediglich 2-
Byte-Transfers akzeptiert, die Wort-ausgerichtet sind. Daher
kann der 2-Byte-Transfer lediglich bei Adreß-Offsets von 0 oder
2 eintreten und nicht bei einem Adreß-Offset von 1, wenn die
Daten in der gleichen Anzahl von Zyklen transferiert werden
sollen.
Da der Systemsbus auf 68 040-Basis 3-Byte-Transfers nicht ge
stattet, ist es bezüglich der 3-Byte-Transfers von einem 32-
Bit-IO-Bus-Master erforderlich, daß alle Transfers zu ihrer
Vollendung zusätzliche Zyklen benötigen. Ferner erkennt man,
daß die Transfers an den den Adreß-Offsets 0 und 2 entsprechen
den Adreß-Offsets geteilt sind, um Wort-ausgerichtete Transfers
sicherzustellen. Was 4-Byte-Transfers betrifft, so akzeptiert
der System 102 lediglich Transfers, die Langwort-ausgerichtet
sind. Deshalb werden lediglich die Transfers mit einem
Adreßoffset von 0 in der gleichen Anzahl von Zyklen auf dem
Systembus 102 wie auf dem Ein/Ausgabe-Bus 110 beendet. Es ist
jedoch zu beachten, daß bei Adreß-Offsets von 1 und 3 der 32-
Bit-Ein/Ausgabe-Bus-Master zwei Zyklen für den Transfer von 4
Bytes fordert, während der Systembus 102 drei Zyklen benötigt
(ein zusätzlicher Zyklus).
Bus-Master am Systembus 102 erzeugen Buszyklen, die zum
Transfer von 1, 2 oder 4 Daten-Bytes bei jedem Adreß-Offset fä
hig sind. Die Tabelle 2 beschreibt die entsprechenden Zyklen,
die für einen Transfer unter Beteiligung eines 8-Bit-
Ein/Ausgabe-Slave-Gerätes erforderlich sind. Bemerkenswert ist
hier, daß sich alle Daten auf dem Ein/Ausgabe-Bus 110 unabhän
gig vom Adreß-Offset auf dem Byte-Leitweg der höchsten Ordnung
(31 : 24) befinden. Dies ist der Forderung des Ein/Ausgabe-Busses
110 auf 68 030-Basis zuzuschreiben, daß 8-Bit-Geräte lediglich
auf einem Byte-Leitweg Daten empfangen. Somit werden alle 1-
Byte-Transfers unabhängig von ihrem Offset auf dem höchsten
Byte-Leitwegs des Ein/Ausgabe-Busses 110 übermittelt. Festzu
stellen ist ferner, daß 2-Byte-Transfers einen zusätzlichen Zy
klus auf dem Ein/Ausgabe-Bus 110 zur Durchführung des Transfers
benötigen. Außerdem empfangen 4-Byte-Transfers zu 8-Bit-Slave-
Geräten am Ein/Ausgabe-Bus 110 Daten nur auf dem Byte-Leitweg
der höchsten Ordnung. Daher sind vier Zyklen nötig, um den
Transfer auf dem Ein/Ausgabe-Bus 110 zu vollenden, weil bei je
dem nachfolgenden Zyklus ein weiteres Byte auf den Byte-Leitweg
der höchsten Ordnung geleitet wird.
Tabelle 3 stellt Systembus-Master-Transfers zu und von den
16-Bit-Slave-Geräten am Ein/Ausgabe-Bus 110 dar. Bemerkenswert
ist, daß die 16-Bit-Geräte lediglich Daten auf den zwei Byte-
Leitwegen der höchsten Ordnung empfangen. Alle Daten in den
Byte-Leitwegen 31 : 24 und 15 : 8 auf dem Systembus 102 werden zu
und von der Byte-Leitweg der höchsten Ordnung 31 : 24 des
Ein/Ausgabe-Datenbusses des Ein/Ausgabe-Busses 110 geleitet,
während Daten auf den Byte-Leitwegen 33 : 16 und 7 : 0 des System
datenbusses des Systembusses 102 Daten durch den Byte-Leitweg
23 : 16 des Ein-Ausgabe-Busses 110 gesendet und empfangen werden.
Ferner muß darauf hingewiesen werden, daß 1- und 2-Byte-Trans
fers die gleiche Anzahl von Zyklen zur Durchführung des Trans
fers benötigen, während die 4-Byte-Transfers einen zusätzlichen
Zyklus erfordern.
Schließlich zeigt Tabelle 4 Transfers der Bus-Master am
Systembus 102 zu oder von den 32-Bit-Slave-Geräten am
Ein/Ausgabe-Bus 110. Da sowohl die Bus-Master- als auch die
Slave-Geräte 32-Bit-Geräte sind, werden alle Transferanforde
rungen in einem Zyklus und ohne Byte-Leitweg-Steuerung beendet.
In diesem Fall sind lediglich Zeitgabe- und Protokollerwägungen
wichtig.
Um die Datenwegvermittlung und die dynamische Busgrößenan
passung zu implementieren, koppeln die Byte-Leitwege spezielle
Bytes vom Systembus 102 mit speziellen Bytes vom Ein/Ausgabe-
Bus 110, wie in Fig. 6 gezeigt. In Fig. 6 sind die Byte-Leit
wege 601-604 gezeigt, die die vier Bytes (32 Bits) des Daten
busses des Systembusses 102 mit ihren entsprechend vier Bytes
des Datenbusses des Ein/Ausgabe-Busses 110 koppeln. Diese Byte-
Leitwege werden verwendet, wenn 32-Bit-Bus-Master am Systembus
102 oder Ein/Ausgabe-Bus 110 Daten übermitteln. Im Falle eines
solchen Transfers verbleiben alle vier Bytes auf den gleichen
Byte-Leitwegen zwischen den zwei Datenbussen.
Die Byte-Leitwege 605 und 606 werden in Verbindung mit den
Byte-Leitwegen 601 und 602 benutzt, wenn ein 16-Bit-Gerät am
Ein/Ausgabe-Bus 110 an einem Transfer beteiligt ist. Wenn Daten
zum 16-Bit-Ein/Ausgabe-Bus-Gerät übermittelt werden, so werden
zwei Bytes Daten von 6A und 6B zu 6E bzw. 6F unter Verwendung
der Byte-Leitwege 601 und 602 während des ersten, vom Zyklusge
nerator 302 erzeugten Zyklus übermittelt. Während eines zwei
ten, vom Zyklusgenerator 302 erzeugten Zyklus werden die in 6C
und 6D befindlichen Bytes jeweils zu den Bytes 6E und 6F unter
Verwendung der Byte-Leitwege 605 und 606 übertragen. Auf ähnli
che Weise werden die gleichen Byte-Leitwege benutzt, wenn Daten
von einem 16-Bit-Gerät am Ein/Ausgabe-Bus 110 zum Systembus 102
übertragen werden. Während eines ersten, vom Zyklusgenerator
303 erzeugten Zyklus werden die den Bytes 6E und 6F des
Ein/Ausgabe-Datenbusses des Ein/Ausgabe-Busses 110 entsprechen
den Bytes jeweils zu den Bytes 6A und 6B des Datenbusses des
Systembusses 102 unter Verwendung der Byte-Leitwege 601 und 602
übertragen. In einem zweiten Zyklus wird eine zweite Anzahl von
Bytes in 6E und 6F zu den Bytes 6C und 6D jeweils unter Verwen
dung der Byte-Leitwege 605 und 606 übertragen. Sodann werden
die vier Bytes gleichzeitig zum Systembus 102 übertragen.
In Fig. 6 werden die Byte-Leitwege 601, 607, 605 und 608
für Übertragungen mit einem 8-Bit-Gerät am Ein/Ausgabe-Bus 110
verwendet. Bei Transfers vom Systembus 102 zu einem 8-Bit-Gerät
wird das dem Byte 6A entsprechende Byte während des ersten Zy
klus unter Verwendung des Byte-Leitwegs 601 zum Byte 6E über
tragen. Während des zweiten Zyklus wird das dem Byte 6B ent
sprechende Byte zum Byte 6E unter Verwendung des Byte-Leitwegs
607 übertragen. Bei dem nächsten Zyklus wird das dem Byte 6C
entsprechende Byte zum Zeit 6E unter Verwendung des Byte-Leit
wegs 605 transferiert. Im letzten Zyklus wird das dem Byte 6D
entsprechende Byte zu dem Byte 6E unter Verwendung des Byte-
Leitwegs 608 übertragen. Ähnlich werden Daten in vier aufeinan
derfolgenden Zyklen von dem dem Byte 6E entsprechenden Byte zu
den Bytes 6A, 6B, 6C und 6D übertragen, wenn die übertragenen
Daten von einem 8-Bit-Gerät zum Systembus 102 gehen. Sobald
alle vier Übertragungen eintreten, werden die vier Bytes auf
den Systembus 102 übertragen.
Das bevorzugte Ausführungsbeispiel des Datenbyte-Vermitt
lers 502 mit Latch-Schaltungen 701-708, Ausgabe-Freigabe-Ein
richtungen 711-718 und Multiplexern 721-725 ist in Fig. 7 dar
gestellt. Fig. 7 repräsentiert eine genauere Implementierung
von Fig. 6. Unter Verwendung von im Steuerung/Zeitgabe-Block
501 hergestellten Steuersignalen steuern die Multiplexer 721-
725 die Lenkung der Daten. Auf eine detaillierte Erklärung des
Multiplex-Vorgangs, der Signalspeicherung und der Ausgabe-Frei
gabe wird hier verzichtet, da dies für den Fachmann klar ist.
Im Computersystem 100 ist die Parität durch die Datenweg-
Baugruppe 201 in Verbindung mit der Speichersteuereinrichtung
103 und dem Hauptspeicher 104 implementiert. Die Datenweg-Bau
gruppe 201 führt eine vollständig kombinatorische Paritätssi
gnalerzeugung und -überprüfung aus. Die Paritätssignalerzeugung
wird bei Schreiboperationen zum Hauptspeicher 104 durchgeführt.
Auf der Basis des Systemdatenbusses des Systembusses 102 und
eines ungeradzahligen Paritätssignal erzeugt die Datenweg-Bau
gruppe 201 vier Paritätsbits, ein Bit pro Byte. Diese Paritäts
bits werden in einem vorgegebenen Abschnitt des Hauptspeichers
104 durch die Speichersteuereinrichtung 103 abgespeichert. Die
Paritätsüberprüfung wird bei Leseoperationen vom Hauptspeicher
104 durchgeführt. Der Datenweg 201 überwacht den Datenbus des
Systembusses 102, die Paritätsbits und das ungeradzahlige Pari
tätssignal, um das Auftreten eines Paritätsfehlers zu erkennen.
Wenn ein Paritätsfehler aufgetreten ist, so erzeugt die Daten
weg-Baugruppe 201 ein Paritätsfehlersignal und den entsprechen
den Byte-Leitweg-Deskriptor, der die speziellen, fehlerhaften
Daten identifiziert. In Antwort darauf beendet die Speicher
steuereinrichtung 103 den Zyklus mit einem Busfehlersignal und
gibt ein Paritäts-Interruptsignal aus.
Wenn bei Eintritt eines Paritätsfehlers ein Systembus-Ma
ster über den Gesamtbus verfügt, so beendet ein Transfer-Feh
lerbestätigungssignal den Zyklus. Dies erlaubt der Software des
Computersystems 100, den Fehler zu erfassen, bevor ein weiterer
Zyklus benutzt wird. Kontrolliert ein Ein/Ausgabe-Bus-Master
den Gesamtbus bei Eintritt eines Paritätsfehlers, wird ein
Transfer-Fehlerbestätigungssignal von der Speichersteuerein
richtung 103 durch die Steuerweg-Baugruppe 202 übersetzt und
zum Ein/Ausgabe-Bus 110 gesendet. Dies beendet den Zyklus und
erlaubt das Anhalten des Datentransfers.
In Fig. 5 genügt die Rücksetzlogik 504 den verschiedenen
Rücksetzfunktionen, indem sie der CPU des 68 040, der Speicher
steuereinrichtung 103, dem Ein/Ausgabe-Raum und dem NuBus-Raum
separate Rücksetzsignale bereitstellt. Diese separaten Rück
setzsignale erlauben eine schnellere Rücksetzantwort zur Spei
cherinitialisierung und zur korrekten Weiterleitung eines durch
die Software bewirkten Rücksetzsignals. Diese beiden Resultate
treten bei Einschalten des Computersystems 100 und bei Erzeugen
eines CPU-Rücksetzsignals durch Ausführen einer 68 040-Rücksetz
anweisung auf.
Während des Einschaltens des Systems wird ein PO-Rücksetz-
Eingangssignal (PO = "Power On") zum Rücksetzen der Logik 504
der vorliegenden Erfindung durch eine zur Datenweg-Baugruppe
201 externe Analogschaltung erzeugt. Wenn das PO-Rücksetzsignal
ausgegeben worden ist, so gibt die Rücksetzlogik 504 vier Rück
setzsignale aus. Die Rücksetzlogik 504 gibt Rücksetzsignale an
die CPU des 68 040, ein Speicherrücksetzsignal an die Speicher
steuereinrichtung 103, ein Ein/Ausgabe-Raum-Rücksetzsignal und
ein NuBus-Raum-Rücksetzsignal an den NuBus-Controller 106 aus.
Wenn das PO-Rücksetzsignal weggenommen wird, so nimmt die Rück
setzlogik 504 das Speicherrücksetzsignal zurück und verzögert
die Rücknahme der anderen drei Rücksetzsignale, bis der Haupt
speicher 104 die Initialisierung beendet hat. Die Rücksetzlogik
504 erzeugt die Verzögerung durch das Starten eines Zählers,
der bis zu einer vorgegebenen Anzahl von Taktzyklen zählt.
Diese Anzahl von Taktzyklen wird als die im ungünstigsten Be
triebsfall bei der Speicherinitialisierung auftretende Verzöge
rung definiert. Im bevorzugten Ausführungsbeispiel beträgt die
Verzögerung 3321 Ein/Ausgabe-Bus-Zyklen. Nach der Verzögerung
vorgegebener Dauer nimmt die Rücksetzlogik 504 die verbleiben
den drei Rücksetzsignale zurück, um das Rücksetzen des Com
putersystems 100 zu beenden.
Wenn eine Rücksetzanweisung durch die CPU des 68 040 ausge
führt wird, so wird ein CPU-erzeugtes Rücksetzsignal ausgege
ben. Tritt dies ein, dann erzeugt die Rücksetzlogik 504 alle
während des Einschaltens abgegebenen Rücksetzsignale mit Aus
nahme des CPU-Rücksetzsignals. Die Rücksetzlogik 504 lenkt kein
Rücksetzsignal zur CPU. Das gleiche Rücknahmemuster und die
gleichen Verzögerungen wie für die Einschaltrücksetzsignale
treten ebenfalls für Rücksetzsignale auf, die als Reaktion auf
die Ausführung der Rücksetzanweisung durch die CPU des 68 040
erzeugt wurden.
Folglich stellt die Rücksetzlogik 504 der CPU, der Spei
chersteuereinrichtung 103, dem Ein/Ausgabe-Raum und dem NuBus-
Raum beim Einschalten des Computersystems 100 drei separate
Rücksetzsignale bereit, und sie stellt die letztgenannten drei
Rücksetzsignale bereit, wenn ein Rücksetzsignal als Ergebnis
der Ausführung einer Rücksetzanweisung durch die CPU des 68 040
ausgegeben wurde.
Das Ausführungsbeispiel der Datenweg-Baugruppe 201 wird in
Fig. 8 gezeigt. Obwohl Fig. 8 eine genauere Implementierung von
Fig. 5 ist, wird auf eine detaillierte Erklärung verzichtet, da
deren Arbeitsweise dem Fachmann bekannt ist.
Claims (12)
1. Datenweg-Einrichtung (120) zur bidirektionalen Kopplung
eines ersten (102) und eines zweiten (110) Busses, wobei der
erste und der zweite Bus jeweils mehrere zum Senden und Empfan
gen von Daten entsprechend ihrer vorgegebenen Datenbusgrößen
vorgesehene erste (101, 103, 106) bzw. zweite (111-114) Daten
übertragungsgeräte aufweisen, und wobei die Datenweg-Einrich
tung so ausgebildet ist, daß sie einem ersten mit einem der
Busse gekoppelten Gerät eine Datenübertragung zu einem zweiten,
mit dem anderen Bus gekoppelten Gerät ermöglicht,
dadurch gekennzeichnet,
daß die Datenweg-Einrichtung einen ersten Satz von Signal übertragungsstationen (Fig. 6: 6A-6D; 702, 704, 706, 708) zum Empfang von Daten, die von dem ersten Gerät zum zweiten Gerät zu übertragen sind,
einen zweiten Satz von Signalübertragungsstationen (Fig. 6: 6E-6H; 701, 703, 705, 707) zum Empfang von Daten, die von dem zweiten Gerät zum ersten Gerät zu übertragen sind, und eine Übertragungseinrichtung mit einer Steuereinrichtung (202; 501; 721-725) und mehreren Byte-Leitwegen (601-608) auf weist; und
daß die Byte-Leitwege den ersten und den zweiten Satz von Signalübertragungsstationen in einer vorgegebenen Weise zur Weiterleitung von Daten zwischen dem ersten und dem zweiten Ge rät entlang spezieller Byte-Leitwege und in einer speziellen Zeitabfolge in Abhängigkeit von den Datenbusgrößen dieser Ge räte verbinden.
daß die Datenweg-Einrichtung einen ersten Satz von Signal übertragungsstationen (Fig. 6: 6A-6D; 702, 704, 706, 708) zum Empfang von Daten, die von dem ersten Gerät zum zweiten Gerät zu übertragen sind,
einen zweiten Satz von Signalübertragungsstationen (Fig. 6: 6E-6H; 701, 703, 705, 707) zum Empfang von Daten, die von dem zweiten Gerät zum ersten Gerät zu übertragen sind, und eine Übertragungseinrichtung mit einer Steuereinrichtung (202; 501; 721-725) und mehreren Byte-Leitwegen (601-608) auf weist; und
daß die Byte-Leitwege den ersten und den zweiten Satz von Signalübertragungsstationen in einer vorgegebenen Weise zur Weiterleitung von Daten zwischen dem ersten und dem zweiten Ge rät entlang spezieller Byte-Leitwege und in einer speziellen Zeitabfolge in Abhängigkeit von den Datenbusgrößen dieser Ge räte verbinden.
2. Datenweg-Einrichtung nach Anspruch 1, dadurch gekenn
zeichnet, daß jede der Signalübertragungsstationen (Fig. 6: 6A-6H;
701-708) ein Byte Daten aufnimmt.
3. Datenweg-Einrichtung nach Anspruch 1 oder 2, dadurch ge
kennzeichnet, daß ein Ende jedes Byte-Leitwegs eine Ausgabe-
Freigabe-Einrichtung (711-718) aufweist, so daß die Steuerein
richtung (501) die Datenübertragung von diesem Byte-Leitweg auf
einen der Busse erlaubt.
4. Datenweg-Einrichtung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß jede der Signalübertragungsstatio
nen eine Zwischenspeichereinrichtung (701-708) zur Speicherung
der zu übertragenden Daten verwendet, die von der Übertragungs
einrichtung gesteuert wird.
5. Datenweg-Einrichtung zur bidirektionalen Kopplung eines
Systembusses (102) und eines Ein/Ausgabe-Busses (110), wobei
der Systembus und der Ein/Ausgabe-Bus jeweils mehrere System-
bzw. Ein/Ausgabe-Datenübertragungsgeräte (101, 103, 105, 106
bzw. 111-114) aufweisen, die durch Erzeugung eines Buszyklus
Daten entsprechend ihrer vorgegebenen Datenbusgrößen senden und
empfangen können, und wobei die Datenweg-Einrichtung so ausge
bildet ist, daß sie den mit einem der Busse gekoppelten Geräten
die Datenübertragung zu den an dem anderen Bus gekoppelten Ge
räten ermöglicht,
dadurch gekennzeichnet,
daß die Datenweg-Einrichtung einen ersten Satz von Signal
übertragungsstationen (Fig. 6: 6A-6D; 702, 704, 706, 708), die
jeweils ein Byte Daten von einem Systemgerät (101, 103, 105,
106) zur Übertragung zu einem Ein/Ausgabe-Gerät (111-114) emp
fangen können, einen zweiten Satz von Signalübertragungssta
tionen (Fig. 6: 6E-6H; 701, 703, 705, 707), die jeweils ein
Byte Daten von einem Ein/Ausgabe-Gerät zur Übertragung zu einem
Systemgerät empfangen können, und eine Übertragungseinrichtung
mit einer Steuereinrichtung (202; 501; 721-725) und mehreren
Byte-Leitwegen (601-608) aufweist, und daß die Byte-Leitwegen
den ersten und den zweiten Satz von Signalübertragungsstationen
in einer vorgegebenen Weise zur Weiterleitung von Daten zwi
schen den Systembusgeräten (101, 103, 105, 106) und den
Ein/Ausgabe-Bus-Geräten (111-114) entlang spezieller Byte-Leit
wegen (601-608) und in einer speziellen Zeitabfolge in Abhän
gigkeit von den Datenbusgrößen dieser Geräte verbinden.
6. Datenweg-Einrichtung nach Anspruch 5, dadurch gekenn
zeichnet, daß der erste und der zweite Satz von Signalübertra
gungsstationen jeweils vier Signalübertragungsstationen (Fig.
6: 6A-6D; 6E-6H) aufweisen.
7. Datenweg-Einrichtung nach Anspruch 6, dadurch gekenn
zeichnet,
daß die speziellen Byte-Leitwege (601-608) einen ersten (601), einen zweiten (602), einen dritten (603) und einen vier ten (604) Byte-Leitweg aufweisen, die jeweils einen Leitweg zwischen der ersten, zweiten, dritten und vierten Systemsignal übertragungsstation und der ersten, zweiten, dritten bzw. vier ten Ein/Ausgabe-Signalübertragungsstation bilden, so daß die 32-Bit-Systembus-Geräte Daten an 32-Bit-Ein/Ausgabe-Bus-Geräte auf entsprechenden Byte-Leitwegen gleichzeitig unter der Steue rung der Steuereinrichtung übertragen können,
daß die speziellen Byte-Leitwege einen fünften (605) und einen sechsten (606) Byte-Leitweg aufweisen, die jeweils einen Leitweg zwischen der dritten und vierten Systemsignalübertra gungsstation und der ersten bzw. zweiten Ein/Ausgabe-Signal übertragungsstation bilden, wobei Datenübertragungen der Systembusgeräte zu und von 16-Bit-Ein/Ausgabe-Bus-Geräten le diglich die erste, zweite, dritte und vierte Systemsignalüber tragungsstation und die erste und zweite Ein/Ausgabe-Signal übertragungsstation derart benutzen, daß Datenübertragungen als Zwei-Byte-Übertragungen zu oder von der ersten und der zweiten Ein/Ausgabe-Signalübertragungsstation entlang des ersten und zweiten Byte-Leitwegs und dann entlang des fünften und sechsten Byte-Leitwegs nacheinander abfolgen, und
daß die speziellen Byte-Leitwege einen siebten (607) und einen achten (608) Byte-Leitweg aufweisen, die jeweils einen Leitweg von der ersten Ein/Ausgabe-Signalübertragungsstation zu der zweiten bzw. dritten Systemsignalübertragungsstation bil den, wobei Datenübertragungen der Systembusgeräte zu und von 8- Bit-Ein/Ausgabe-Geräten lediglich die erste, zweite, dritte und vierte Systemsignalübertragungsstation und die erste Ein/Ausgabe-Signalübertragungsstation derart benutzen, daß Da tenübertragungen als 1-Byte-Übertragungen zu oder von der er sten Ein/Ausgabe-Signalübertragungsstation nacheinander entlang der ersten, des siebten, des fünften und des achten Byte-Leit wegs ablaufen.
daß die speziellen Byte-Leitwege (601-608) einen ersten (601), einen zweiten (602), einen dritten (603) und einen vier ten (604) Byte-Leitweg aufweisen, die jeweils einen Leitweg zwischen der ersten, zweiten, dritten und vierten Systemsignal übertragungsstation und der ersten, zweiten, dritten bzw. vier ten Ein/Ausgabe-Signalübertragungsstation bilden, so daß die 32-Bit-Systembus-Geräte Daten an 32-Bit-Ein/Ausgabe-Bus-Geräte auf entsprechenden Byte-Leitwegen gleichzeitig unter der Steue rung der Steuereinrichtung übertragen können,
daß die speziellen Byte-Leitwege einen fünften (605) und einen sechsten (606) Byte-Leitweg aufweisen, die jeweils einen Leitweg zwischen der dritten und vierten Systemsignalübertra gungsstation und der ersten bzw. zweiten Ein/Ausgabe-Signal übertragungsstation bilden, wobei Datenübertragungen der Systembusgeräte zu und von 16-Bit-Ein/Ausgabe-Bus-Geräten le diglich die erste, zweite, dritte und vierte Systemsignalüber tragungsstation und die erste und zweite Ein/Ausgabe-Signal übertragungsstation derart benutzen, daß Datenübertragungen als Zwei-Byte-Übertragungen zu oder von der ersten und der zweiten Ein/Ausgabe-Signalübertragungsstation entlang des ersten und zweiten Byte-Leitwegs und dann entlang des fünften und sechsten Byte-Leitwegs nacheinander abfolgen, und
daß die speziellen Byte-Leitwege einen siebten (607) und einen achten (608) Byte-Leitweg aufweisen, die jeweils einen Leitweg von der ersten Ein/Ausgabe-Signalübertragungsstation zu der zweiten bzw. dritten Systemsignalübertragungsstation bil den, wobei Datenübertragungen der Systembusgeräte zu und von 8- Bit-Ein/Ausgabe-Geräten lediglich die erste, zweite, dritte und vierte Systemsignalübertragungsstation und die erste Ein/Ausgabe-Signalübertragungsstation derart benutzen, daß Da tenübertragungen als 1-Byte-Übertragungen zu oder von der er sten Ein/Ausgabe-Signalübertragungsstation nacheinander entlang der ersten, des siebten, des fünften und des achten Byte-Leit wegs ablaufen.
8. Datenweg-Einrichtung nach einem der Ansprüche 5 bis 7,
dadurch gekennzeichnet, daß die Steuereinrichtung (202; 501;
721-725) die Buszyklen interpretiert um zu bestimmen, auf wel
chen Byte-Leitwegen Daten weitergeleitet werden sollen.
9. Datenweg-Einrichtung nach einem der Ansprüche 5 bis 8,
dadurch gekennzeichnet, daß der Systembus (102) lediglich 32-
Bit-Datenübertragungsgeräte und der Ein/Ausgabe-Bus (110) le
diglich 8-Bit-, 16-Bit- und/oder 32-Bit-Datenübertragungsgeräte
enthält.
10. Datenweg-Einrichtung in einem Busadapter (120) zur bi
direktionalen Kopplung eines Systembusses (102) und eines
Ein/Ausgabe-Busses (110), wobei die Busse aus Daten-, Adreß-
und Steuer-Leitungen bestehen und jeweils mehrere System- bzw.
Ein/Ausgabe-Datenübertragungsgeräte (101, 103, 105, 106 bzw.
111-114) aufweisen, wobei die Sytemdatenübertragungsgeräte
(101, 103, 105, 106) 32-Bit-Datenübertragungsgeräte, die
Ein/Ausgabe-Datenübertragungsgeräte (111-114) 8-Bit-, 16-Bit-
oder 32-Bit-Datenübertragungsgeräte sind, die jeweils zum Sen
den und zum Empfang von Daten entsprechend ihrer vorgegebenen
Datenbusgröße durch Erzeugung eines Buszyklus vorgesehen sind,
und wobei die zwischen dem Systembus (102) und dem
Ein/Ausgabe-Bus (110) gekoppelte Datenweg-Einrichtung den auf
einem der Busse befindlichen Geräten die Datenübertragung zu
auf dem anderen Bus befindlichen Geräten erlaubt,
dadurch gekennzeichnet,
daß die Datenweg-Einrichtung einen ersten Satz von vier Si gnalübertragungsstationen (Fig. 6: 6A-6D; 702, 704, 706, 708) aufweist, die jeweils ein Byte Daten von einem Systemgerät zur Übertragung zu einem Ein/Ausgabe-Gerät empfangen können,
daß die Datenweg-Einrichtung einen zweiten Satz von vier Signalübertragungsstationen (Fig. 6: 6E-6H; 701, 703, 705, 707) aufweist, die jeweils ein Byte Daten von einem Ein/Ausgabe-Ge rät zur Übertragung zu einem Systemgerät empfangen können,
daß die Datenweg-Einrichtung einen ersten (601), zweiten (602), dritten (603) und vierten (604) Byte-Leitweg aufweist, die jeweils einen Leitweg zwischen den ersten, zweiten, dritten und vierten Systemsignalübertragungsstationen (Fig. 6: 6A-6D) und der ersten, zweiten, dritten bzw. vierten Ein/Ausgabe-Si gnalübertragungsstation (Fig. 6: 6E-6H) derart bilden, daß die 32-Bit-Systembusgeräte Daten mit 32-Bit-Ein/Ausgabe-Bus-Geräten auf entsprechenden Byte-Leitwegen zur gleichen Zeit unter Steuerung durch eine Steuereinrichtung übertragen können,
daß die Datenweg-Einrichtung jeweils einen einen Leitweg zwischen der dritten und vierten Systemsignalübertragungssta tion (Fig. 6: 6C, 6D) und der ersten bzw. zweiten Ein/Ausgabe- Signalübertragungsstation (Fig. 6: 6E, 6F) bildenden fünften (605) und sechsten (606) Byte-Leitweg aufweist, wobei Daten übertragungen der Systembusgeräte zu und von 16-Bit- Ein/Ausgabe-Geräten lediglich die erste, zweite, dritte und vierte Systemsignalübertragungstation und die erste und zweite Ein/Ausgabe-Signalübertragungsstation derart benutzen, daß Da tenübertragungen als 2-Byte-Übertragungen zu oder von der er sten und zweiten Ein/Ausgabe-Signalübertragungsstation entlang des ersten und zweiten Byte-Leitwegs und dann entlang des fünf ten und sechsten Byte-Leitwegs nacheinander erfolgen,
daß die Datenweg-Einrichtung jeweils einen einen Leitweg von der ersten Ein/Ausgabe-Signalübertragungsstation (Fig. 6: 6E) zu der zweiten bzw. vierten Systemsignalübertragungsstation (Fig. 6: 6B, 6D) bildenden siebten (607) und achten (608) Byte- Leitweg aufweist, wobei Datenübertragungen der Systembusgeräte zu und von 8-Bit-Ein/Ausgabe-Geräten lediglich die erste, zweite, dritte und vierte Systemsignalübertragungstation und die erste Ein/Ausgabe-Signalübertragungsstation derart benut zen, daß die Datenübertragungen als 1-Byte-Übertragungen zu oder von der ersten Ein/Ausgabe-Signalübertragungsstation nach einander entlang des ersten Byte-Leitwegs, des siebten Byte- Leitwegs, des fünften Byte-Leitwegs und des achten Byte-Leit wegs erfolgen, und
daß die Datenweg-Einrichtung ferner zur Interpretierung der Buszyklen eine Steuereinrichtung (202; 501) derart aufweist, daß die Steuereinrichtung die Weiterleitung der Daten zwischen den System- und den Ein/Ausgabe-Bus-Geräten entlang der Byte- Leitwege und in einer speziellen Zeitabfolge in Abhängigkeit von den Datenbusgrößen der Geräte steuert.
daß die Datenweg-Einrichtung einen ersten Satz von vier Si gnalübertragungsstationen (Fig. 6: 6A-6D; 702, 704, 706, 708) aufweist, die jeweils ein Byte Daten von einem Systemgerät zur Übertragung zu einem Ein/Ausgabe-Gerät empfangen können,
daß die Datenweg-Einrichtung einen zweiten Satz von vier Signalübertragungsstationen (Fig. 6: 6E-6H; 701, 703, 705, 707) aufweist, die jeweils ein Byte Daten von einem Ein/Ausgabe-Ge rät zur Übertragung zu einem Systemgerät empfangen können,
daß die Datenweg-Einrichtung einen ersten (601), zweiten (602), dritten (603) und vierten (604) Byte-Leitweg aufweist, die jeweils einen Leitweg zwischen den ersten, zweiten, dritten und vierten Systemsignalübertragungsstationen (Fig. 6: 6A-6D) und der ersten, zweiten, dritten bzw. vierten Ein/Ausgabe-Si gnalübertragungsstation (Fig. 6: 6E-6H) derart bilden, daß die 32-Bit-Systembusgeräte Daten mit 32-Bit-Ein/Ausgabe-Bus-Geräten auf entsprechenden Byte-Leitwegen zur gleichen Zeit unter Steuerung durch eine Steuereinrichtung übertragen können,
daß die Datenweg-Einrichtung jeweils einen einen Leitweg zwischen der dritten und vierten Systemsignalübertragungssta tion (Fig. 6: 6C, 6D) und der ersten bzw. zweiten Ein/Ausgabe- Signalübertragungsstation (Fig. 6: 6E, 6F) bildenden fünften (605) und sechsten (606) Byte-Leitweg aufweist, wobei Daten übertragungen der Systembusgeräte zu und von 16-Bit- Ein/Ausgabe-Geräten lediglich die erste, zweite, dritte und vierte Systemsignalübertragungstation und die erste und zweite Ein/Ausgabe-Signalübertragungsstation derart benutzen, daß Da tenübertragungen als 2-Byte-Übertragungen zu oder von der er sten und zweiten Ein/Ausgabe-Signalübertragungsstation entlang des ersten und zweiten Byte-Leitwegs und dann entlang des fünf ten und sechsten Byte-Leitwegs nacheinander erfolgen,
daß die Datenweg-Einrichtung jeweils einen einen Leitweg von der ersten Ein/Ausgabe-Signalübertragungsstation (Fig. 6: 6E) zu der zweiten bzw. vierten Systemsignalübertragungsstation (Fig. 6: 6B, 6D) bildenden siebten (607) und achten (608) Byte- Leitweg aufweist, wobei Datenübertragungen der Systembusgeräte zu und von 8-Bit-Ein/Ausgabe-Geräten lediglich die erste, zweite, dritte und vierte Systemsignalübertragungstation und die erste Ein/Ausgabe-Signalübertragungsstation derart benut zen, daß die Datenübertragungen als 1-Byte-Übertragungen zu oder von der ersten Ein/Ausgabe-Signalübertragungsstation nach einander entlang des ersten Byte-Leitwegs, des siebten Byte- Leitwegs, des fünften Byte-Leitwegs und des achten Byte-Leit wegs erfolgen, und
daß die Datenweg-Einrichtung ferner zur Interpretierung der Buszyklen eine Steuereinrichtung (202; 501) derart aufweist, daß die Steuereinrichtung die Weiterleitung der Daten zwischen den System- und den Ein/Ausgabe-Bus-Geräten entlang der Byte- Leitwege und in einer speziellen Zeitabfolge in Abhängigkeit von den Datenbusgrößen der Geräte steuert.
11. Datenweg-Einrichtung nach Anspruch 10, dadurch gekenn
zeichnet, daß sie eine Paritätslogik (503) aufweist, so daß Pa
ritätssignalerzeugung bzw. Paritätsüberprüfung auf Schreib- und
Lese-Operationen zum Hauptspeicher (104) durchgeführt werden
können.
12. Datenweg-Einrichtung nach Anspruch 10 oder 11, dadurch
gekennzeichnet, daß die Systembus-Datenübertragungsgeräte Über
tragungen von einem, zwei oder vier Bytes erfordern, wobei die
2-Byte-Übertragungen Wort-ausgerichtet und die 4-Byte-Übertra
gungen Langwort-ausgerichtet sein müssen, und daß die Wort-aus
gerichteten Übertragungen bei einem Adreß-Offset von 0 oder 2
und die Langwort-ausgerichteten Übertragungen bei einem Adreß-
Offset von 0 stattfinden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/635,462 US5274763A (en) | 1990-12-28 | 1990-12-28 | Data path apparatus for IO adapter |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4142756A1 true DE4142756A1 (de) | 1992-07-02 |
Family
ID=24547883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4142756A Withdrawn DE4142756A1 (de) | 1990-12-28 | 1991-12-23 | Datenweg-einrichtung zur kopplung zweier busse |
Country Status (2)
Country | Link |
---|---|
US (2) | US5274763A (de) |
DE (1) | DE4142756A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4401410A1 (de) * | 1994-01-19 | 1995-07-20 | Telefunken Microelectron | Schaltungsanordnung für die Buslogik eines integrierten Schaltkreises |
DE102009005266A1 (de) * | 2009-01-20 | 2010-07-22 | Continental Teves Ag & Co. Ohg | Anbindung eines Kommunikationscontrollers in Sicherheitsarchitekturen |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
JP2744154B2 (ja) * | 1991-10-24 | 1998-04-28 | 株式会社東芝 | バスシステム |
US5412782A (en) | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5392406A (en) * | 1992-09-18 | 1995-02-21 | 3Com Corporation | DMA data path aligner and network adaptor utilizing same |
US5517627A (en) * | 1992-09-18 | 1996-05-14 | 3Com Corporation | Read and write data aligner and method |
US5471587A (en) * | 1992-09-30 | 1995-11-28 | Intel Corporation | Fractional speed bus coupling |
EP0597601A1 (de) * | 1992-11-13 | 1994-05-18 | National Semiconductor Corporation | Speicherbusschnittstelle mit erwägter Breiteninstellung |
CA2109043A1 (en) * | 1993-01-29 | 1994-07-30 | Charles R. Moore | System and method for transferring data between multiple buses |
US5649162A (en) * | 1993-05-24 | 1997-07-15 | Micron Electronics, Inc. | Local bus interface |
US5598538A (en) * | 1993-08-16 | 1997-01-28 | Tektronix, Inc. | SCSI multiplexer for coupling a computer local bus to a shared peripheral global bus |
US5590286A (en) * | 1993-10-07 | 1996-12-31 | Sun Microsystems, Inc. | Method and apparatus for the pipelining of data during direct memory accesses |
US5664122A (en) * | 1993-11-12 | 1997-09-02 | Intel Corporation | Method and apparatus for sequencing buffers for fast transfer of data between buses |
EP0660239A1 (de) * | 1993-12-17 | 1995-06-28 | International Business Machines Corporation | Datenübertragung zwischen Rechnerelementen |
US5611053A (en) * | 1994-01-21 | 1997-03-11 | Advanced Micro Devices, Inc. | Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers |
US5577200A (en) * | 1994-02-28 | 1996-11-19 | Intel Corporation | Method and apparatus for loading and storing misaligned data on an out-of-order execution computer system |
US5590378A (en) * | 1994-04-25 | 1996-12-31 | Compaq Computer Corporation | Apparatus for aligning and padding data on transfers between devices of different data widths and organizations |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
CN1205792C (zh) * | 1994-08-31 | 2005-06-08 | 国际商业机器公司 | 用于设备间通信的系统与方法 |
US5640541A (en) * | 1995-03-24 | 1997-06-17 | Openconnect Systems, Inc. | Adapter for interfacing a SCSI bus with an IBM system/360/370 I/O interface channel and information system including same |
US5740386A (en) * | 1995-05-24 | 1998-04-14 | Dell Usa, L.P. | Adaptive expansion bus |
TW303438B (de) * | 1995-06-07 | 1997-04-21 | Ast Res Inc | |
US5768162A (en) * | 1995-07-26 | 1998-06-16 | Comptek Federal Systems, Inc. | Data bus recorder |
JPH0962621A (ja) * | 1995-08-30 | 1997-03-07 | Toshiba Corp | コンピュータシステムおよびコマンドサイクル切換え方法 |
US5935232A (en) * | 1995-11-20 | 1999-08-10 | Advanced Micro Devices, Inc. | Variable latency and bandwidth communication pathways |
US5682484A (en) * | 1995-11-20 | 1997-10-28 | Advanced Micro Devices, Inc. | System and method for transferring data streams simultaneously on multiple buses in a computer system |
US5905879A (en) * | 1995-11-20 | 1999-05-18 | Advanced Micro Devices, Inc. | System and method for transferring periodic data streams on a multimedia bus |
US5754801A (en) * | 1995-11-20 | 1998-05-19 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers |
US5754807A (en) * | 1995-11-20 | 1998-05-19 | Advanced Micro Devices, Inc. | Computer system including a multimedia bus which utilizes a separate local expansion bus for addressing and control cycles |
US5778200A (en) * | 1995-11-21 | 1998-07-07 | Advanced Micro Devices, Inc. | Bus arbiter including aging factor counters to dynamically vary arbitration priority |
US5812798A (en) * | 1996-01-26 | 1998-09-22 | Motorola, Inc. | Data processing system for accessing an external device and method therefore |
US5761452A (en) * | 1996-03-18 | 1998-06-02 | Advanced Micro Devices, Inc. | Bus arbiter method and system |
US5805840A (en) * | 1996-03-26 | 1998-09-08 | Advanced Micro Devices, Inc. | Bus arbiter employing a transaction grading mechanism to dynamically vary arbitration priority |
US5802330A (en) * | 1996-05-01 | 1998-09-01 | Advanced Micro Devices, Inc. | Computer system including a plurality of real time peripheral devices having arbitration control feedback mechanisms |
JPH1078934A (ja) * | 1996-07-01 | 1998-03-24 | Sun Microsyst Inc | パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム |
US5911053A (en) * | 1996-09-30 | 1999-06-08 | Intel Corporation | Method and apparatus for changing data transfer widths in a computer system |
US6115551A (en) * | 1997-03-27 | 2000-09-05 | Industrial Technology Research Institute | System for minimizing the number of control signals and maximizing channel utilization between an I/O bridge and a data buffer |
US5919254A (en) * | 1997-06-25 | 1999-07-06 | Intel Corporation | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system |
EP0887741B1 (de) * | 1997-06-27 | 2005-04-13 | Bull S.A. | Schnittstellenbrücke zwischen einem Systembus und einem lokalen Bus zur Steuerung wenigstens eines Slave-Gerätes, wie ein ROM-Speicher |
US6070200A (en) * | 1998-06-02 | 2000-05-30 | Adaptec, Inc. | Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus |
US6430645B1 (en) * | 1999-06-09 | 2002-08-06 | International Business Machines Corporation | Fibre channel and SCSI address mapping for multiple initiator support |
US6629185B1 (en) * | 1999-12-06 | 2003-09-30 | Cypress Semiconductor Corp. | Architecture, circuitry and method of transferring data into and/or out of an interdigitated memory array |
US6651180B1 (en) * | 2000-04-28 | 2003-11-18 | Hewlett-Packard Development Company, Lp. | Method and apparatus for generating timeouts to a system based counting intervals supplied by a shared counting device |
US20060059269A1 (en) * | 2004-09-13 | 2006-03-16 | Chien Chen | Transparent recovery of switch device |
US7328299B2 (en) * | 2004-11-23 | 2008-02-05 | Atmel Corporation | Interface for compressed data transfer between host system and parallel data processing system |
US7970979B1 (en) * | 2007-09-19 | 2011-06-28 | Agate Logic, Inc. | System and method of configurable bus-based dedicated connection circuits |
US8131909B1 (en) | 2007-09-19 | 2012-03-06 | Agate Logic, Inc. | System and method of signal processing engines with programmable logic fabric |
JP2010287150A (ja) * | 2009-06-15 | 2010-12-24 | Sanyo Electric Co Ltd | データ転送回路 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4218740A (en) * | 1974-10-30 | 1980-08-19 | Motorola, Inc. | Interface adaptor architecture |
US4375665A (en) * | 1978-04-24 | 1983-03-01 | Texas Instruments Incorporated | Eight bit standard connector bus for sixteen bit microcomputer using mirrored memory boards |
US4447878A (en) * | 1978-05-30 | 1984-05-08 | Intel Corporation | Apparatus and method for providing byte and word compatible information transfers |
US4607345A (en) * | 1982-01-07 | 1986-08-19 | Rockwell International Corporation | Serial data word transmission rate converter |
US4509113A (en) * | 1982-02-02 | 1985-04-02 | International Business Machines Corporation | Peripheral interface adapter circuit for use in I/O controller card having multiple modes of operation |
US4669044A (en) * | 1984-07-02 | 1987-05-26 | Ncr Corporation | High speed data transmission system |
BG39765A1 (en) * | 1985-02-14 | 1986-08-15 | Turlakov | Device for connecting 8- degree and 16- degree modules to 16- degree microprocessor system |
US4716525A (en) * | 1985-04-15 | 1987-12-29 | Concurrent Computer Corporation | Peripheral controller for coupling data buses having different protocol and transfer rates |
US4683534A (en) * | 1985-06-17 | 1987-07-28 | Motorola, Inc. | Method and apparatus for interfacing buses of different sizes |
JPS6226561A (ja) * | 1985-07-26 | 1987-02-04 | Toshiba Corp | パ−ソナルコンピユ−タ |
US4831514A (en) * | 1986-02-14 | 1989-05-16 | Dso "Izot" | Method and device for connecting a 16-bit microprocessor to 8-bit modules |
US4821185A (en) * | 1986-05-19 | 1989-04-11 | American Telephone And Telegraph Company | I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer |
US5014186A (en) * | 1986-08-01 | 1991-05-07 | International Business Machines Corporation | Data-processing system having a packet transfer type input/output system |
US5142672A (en) * | 1987-12-15 | 1992-08-25 | Advanced Micro Devices, Inc. | Data transfer controller incorporating direct memory access channels and address mapped input/output windows |
US5125084A (en) * | 1988-05-26 | 1992-06-23 | Ibm Corporation | Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller |
US5003463A (en) * | 1988-06-30 | 1991-03-26 | Wang Laboratories, Inc. | Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus |
US5117486A (en) * | 1989-04-21 | 1992-05-26 | International Business Machines Corp. | Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor |
US5058054A (en) * | 1990-02-06 | 1991-10-15 | Analogic Corporation | Data transmission device for interfacing between a first rate data acquisition system and a second rate data processing system |
US5168561A (en) * | 1990-02-16 | 1992-12-01 | Ncr Corporation | Pipe-line method and apparatus for byte alignment of data words during direct memory access transfers |
-
1990
- 1990-12-28 US US07/635,462 patent/US5274763A/en not_active Expired - Lifetime
-
1991
- 1991-12-23 DE DE4142756A patent/DE4142756A1/de not_active Withdrawn
-
1993
- 1993-06-11 US US08/076,437 patent/US5430849A/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4401410A1 (de) * | 1994-01-19 | 1995-07-20 | Telefunken Microelectron | Schaltungsanordnung für die Buslogik eines integrierten Schaltkreises |
DE4401410C2 (de) * | 1994-01-19 | 1999-12-23 | Temic Semiconductor Gmbh | Schaltungsanordnung einer mit Busleitungen zweier unterschiedlicher Bussysteme verbundenen Buslogik |
DE102009005266A1 (de) * | 2009-01-20 | 2010-07-22 | Continental Teves Ag & Co. Ohg | Anbindung eines Kommunikationscontrollers in Sicherheitsarchitekturen |
Also Published As
Publication number | Publication date |
---|---|
US5430849A (en) | 1995-07-04 |
US5274763A (en) | 1993-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4142756A1 (de) | Datenweg-einrichtung zur kopplung zweier busse | |
EP0772832B1 (de) | Arbitrierung bei verzögernder buskopplung | |
DE69027515T2 (de) | Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung | |
DE69936060T2 (de) | Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten | |
DE69634358T2 (de) | Verzögerungsverringerung in der übertragung von gepufferten daten zwischenzwei gegenseitig asynchronen bussen | |
DE4003759C2 (de) | Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen | |
DE60013470T2 (de) | Gerät zur initialisierung einer rechnerschnittstelle | |
DE19900245B4 (de) | Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host | |
EP2030116B1 (de) | Kommunikationsbaustein | |
DE3204905C2 (de) | ||
DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
DE69825915T2 (de) | Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system | |
EP1787204B1 (de) | Botschaftsverwalter und verfahren zur steuerung des zugriffs auf daten eines botschaftsspeichers eines kommunikationsbausteins | |
EP0929041A2 (de) | Verfahren und Anordnung zum Betreiben eines Bussystems | |
DE4035837A1 (de) | Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation | |
DE69214702T2 (de) | Speicherzugriff für die Datenübertragung in einer Ein-Ausgabevorrichtung | |
DE69828980T2 (de) | System und verfahren zur flusskontrolle für ein hochgeschwindigkeitsbus | |
DE69726302T2 (de) | Busschnittstellensteuerungsschaltung | |
DE69817298T2 (de) | Vorrichtung zur Kommunikation zwischen Informationsverarbeitungseinheiten und mit einem gemeinsamen Bus verbundenenen Prozessoren | |
DE69124043T2 (de) | Arbeitsplatzrechner mit Schnittstellenmitteln zur Datenübertragung zwischen zwei Bussen | |
DE19900251B4 (de) | Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals | |
DE10314175A1 (de) | Bussystem sowie Informationsverarbeitungssystem, das ein Bussystem einschliesst | |
DE60017774T2 (de) | Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung | |
DE19722803A1 (de) | Schaltung zur Verschiebung von Daten zwischen entfernten Speichern und ein diese Schaltung enthaltender Rechner | |
DE10214067B4 (de) | Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |