DE4142756A1 - Datenweg-einrichtung zur kopplung zweier busse - Google Patents

Datenweg-einrichtung zur kopplung zweier busse

Info

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
Application number
DE4142756A
Other languages
English (en)
Inventor
John D Jano Banks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of DE4142756A1 publication Critical patent/DE4142756A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling 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.
ÜBERBLICK ÜBER DAS COMPUTERSYSTEM
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.
ÜBERBLICK ÜBER DEN BUSADAPTER
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.
ÜBERBLICK ÜBER DIE STEUERWEG-BAUGRUPPE
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.
DIE CHIPAUSWAHLLOGIK
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 030-ZYKLUSGENERATOR
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 040-ZYKLUSGENERATOR
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.
ZEITSPERRE-LOGIK (TIMEOUT-LOGIK)
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.
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.
AP-LOGIK
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.
IA-KONTROLLEINHEIT
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
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).
OPERATIONSWEISE DER ENTSCHEIDUNGSLOGIK
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.
BEVORZUGTES AUSFÜHRUNGSBEISPIEL DER STEUERWEG-BAUGRUPPE
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.
ÜBERSICHT ÜBER DIE DATENWEG-BAUGRUPPE
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.
DIE DATENWEGSTEUERUNG DATENWEGSTEUERUNG/ZEITABFOLGE
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.
DIE INITIIERUNG VON ZYKLEN DURCH EINEN EIN-AUSGABE-BUS-MASTER
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.
Tabelle 1
32-Bit Ein-/Ausgabe-Bus-Master-Transfer vom/zum Systembus
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).
Vom Systembus-Master initiierte Zyklen
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 2
System-Bus-Master-Transfer vom/zum 8-Bit Ein-/Ausgabe-Bus-Slave
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.
Tabelle 3
System-Bus-Master-Transfer vom/zum 16-Bit Ein-/Ausgabe-Bus-Slave
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.
Tabelle 4
System-Bus-Master-Transfer vom/zum 32-Bit Ein-/Ausgabe-Bus-Slave
IMPLEMENTIERUNG DES DATENTRANSFERS
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.
PARITÄTSSIGNALERZEUGUNG UND FEHLERERKENNUNG
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.
SYSTEMSRÜCKSETZVERMITTLUNG UND -STEUERUNG
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.
BEVORZUGTES AUSFÜHRUNGSBEISPIEL DER DATENWEG-BAUGRUPPE
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.
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.
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.
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.
DE4142756A 1990-12-28 1991-12-23 Datenweg-einrichtung zur kopplung zweier busse Withdrawn DE4142756A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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