DE68927869T2 - Rechnersystem mit Hochgeschwindigkeitsdatenübertragungsfähigkeiten - Google Patents

Rechnersystem mit Hochgeschwindigkeitsdatenübertragungsfähigkeiten

Info

Publication number
DE68927869T2
DE68927869T2 DE68927869T DE68927869T DE68927869T2 DE 68927869 T2 DE68927869 T2 DE 68927869T2 DE 68927869 T DE68927869 T DE 68927869T DE 68927869 T DE68927869 T DE 68927869T DE 68927869 T2 DE68927869 T2 DE 68927869T2
Authority
DE
Germany
Prior art keywords
signal
data
cycle
time
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68927869T
Other languages
English (en)
Other versions
DE68927869D1 (de
Inventor
Paul R Culley
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/243,480 external-priority patent/US5058005A/en
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of DE68927869D1 publication Critical patent/DE68927869D1/de
Application granted granted Critical
Publication of DE68927869T2 publication Critical patent/DE68927869T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

  • Die vorliegende Erfindung betrifft Schnittstellennormen, die innerhalb von Computersystemen verwendet werden, und im besonderen Schnittstellen oder Busse, die Datenübertragungen mit normaler und hoher Geschwindigkeit handhaben.
  • Mikroprozessoren und die Personalcomputer, die sie verwenden, sind in den letzten Jahren leistungsfähiger geworden. Gegenwärtig erhältliche Personalcomputer besitzen Fähigkeiten, die die Großrechner von vor zwanzig oder dreißig Jahren mühelos übertreffen und sich der Leistung von augenblicklich hergestellten Minicomputern nähern. Mikroprozessoren mit Wortgrößen von 32 Bit Breite stehen jetzt zur Verfügung, während in der Vergangenheit acht Bit konventionell und sechzehn Bit üblich waren.
  • Personalcomputersysteme haben sich über die Jahre hinweg entwickelt, und neue Anwendungen werden täglich entdeckt. Die Anwendungen haben sich verändert und stellen folglich andere Anforderungen an die verschiedenen Subsysteme, die ein vollständiges Computersystem bilden. Wegen der Anforderungen an das Produktionsvolumen und der mit zunehmendem Volumen verminderten Kosten ist es wünschenswert, daß so viele gemeinsame Merkmale wie möglich in Einheiten mit hohem Volumen vereinigt werden. Dies hat im Bereich der Personalcomputer durch die Entwicklung einer elementaren Systemneinheit stattgefunden, die im allgemeinen eine Stromversorgung, Vorkehrungen zum physikalischen Anbringen verschiedener Massenspeichereinheiten und eine Systemplatine enthält, die wiederum einen Mikroprozessor, damit verbundene Schaltkreise, Steckverbinder zum Aufnehmen von Schaltungsplatinen, die andere Subsysteme enthalten, Schaltkreise, die mit dem Verbinden der Schaltungsplatinen mit dem Mikroprozessor in Beziehung stehen, sowie Speicher einschließt. Die Verwendung von Steckverbindern und auswechselbaren Schaltungsplatinen erlaubt es, Subsysteme der gewünschten Fähigkeit für jedes Computersystem ohne weiters in das Computersystem aufzunehmen.
  • Die Verwendung austauschbarer Schaltungsplatinen machte die Entwicklung einer Schnittstellen- oder Busnorm erforderlich, so daß die Subsysteme mühelos entwickelt werden konnten und unverträgliche Entscheidungen der Entwickler der Systemeinheit und der Entwickler der austauschbaren Schaltungsplatinen nicht zu Problemen führen würden.
  • Die Verwendung austauschbarer Schaltungsplatinen und einer Schnittstellennorm, die allgemein eine Busspezifikation genannt wird, weil die verschiedenen Signale allen Steckverbindern über einen Bus zur Verfügung gestellt werden, wurde in den ursprünglichen 'International Business Machines Corporation' (IBM) Personalcomputer, den IBM-PC, aufgenommen. Der IBM-PC benutzte als Mikroprozessor den 8088 der Intel Corporation. Der 8088 besitzt eine externe Datenschnittstelle mit acht Bit, oder einem Byte, arbeitet aber intern auf einem Wort mit 16 Bit. Der 8088 besitzt 20 Adressenleitungen, was bedeutet, daß er bis zu 1 MByte Speicher direkt adressieren kann. Außerdem waren die zum Einbau in den ursprünglichen IBM-PC zur Verfügung stehenden Speicherbauteile verglichen mit heutigen Bauteilen relativ langsam und teuer. Die verschiedenen Subsysteme, z.B. Video-Ausgabeeinheiten oder Massenspeichereinheiten, waren nicht kompliziert und besaßen wegen der relativen Einfachheit der zu dieser Zeit zu vernünftigen Kosten verfügbaren Bauteile auch relativ geringe Leistungsstufen.
  • Mit diesen verschiedenen Faktoren und eingedenk der Bauteilauswahl wurde eine Schnittstellennorm entwickelt und in dem IBM-PC benutzt. Die Norm benutzte 20 Adressenleitungen und acht Datenleitungen, hatte einzelne Leitungen, um Ein/Ausgabe- (E/A) Operationen oder Speicher- Lese/Schreib-Operationen anzuzeigen, und verfügte über begrenzte Unterbrechungen und direkte Speicherzugriffs- (DMA) Kanäle. Die Komplexität der verfügbaren Komponenten benötigte keine größere Flexibilität oder Fähigkeiten der Schnittstellennorm, um die notwendigen Operationen ausführen zu können. Diese Schnittstellennorm war über eine Anzahl von Jahren zufriedenstellend.
  • Wie in der Computer- und Elektronikindustrie unvermeidlich, hat die Leistung der verschiedenen zur Verfügung stehenden Bauteile dramatisch zugenommen. Die Speicherpreise fielen und die Kapazitäten und die Geschwindigkeiten nahmen zu. Die Leistungswerte und Kapazitäten der Massenspeicher-Subsysteme erhöhten sich, im allgemeinen durch die Aufnahme von Festplatteneinheiten anstelle der früheren Disketteneinheiten. Die Video-Prozessortechnologie verbesserte sich, so daß hochauflösende Farbsysteme vernünftig erschwinglich waren. All diese Entwicklungen trieben die Fähigkeiten der bestehenden IBM-PC-Schnittstellennorm voran, so daß die zahlreichen Einschränkungen in der Schnittstellennorm ein Problem wurden. Mit der Einführung des Mikroprozessors 80286 der Intel Corporation entwickelte IBM einen neuen, AT genannten, leistungsfähigeren Personalcomputer. Der 80286 besitzt einen 16 Bit Datenweg und 24 Adressenleitungen, so daß er 16 MByte Speicher direkt adressieren kann. Außerdem verfügt der 80286 über eine erhöhte Operationsgeschwindigkeit und kann leicht viele Operationen ausführen, die vorher mit dem 8088 kompliziert waren.
  • Es war erwünscht, die bestehenden Subsystem-Schaltungsplatinen in dem neuen AT zu verwenden, so daß die in dem PC benutzte Schnittstellennorm ausgenutzt und erweitert wurde. Eine neue Schnittstellennorm wurde entwickelt, die als Industriestandard-Architektur (ISA) bekannt geworden ist. Ein zweiter Steckverbinder für jeden Platz wurde hinzugefügt, der die zusätzlichen Leitungen für die in der Erweiterung benutzten Signale enthält. Diese Leitungen umfaßten zusätzliche Adressen- und Datenleitungen, um den Gebrauch der 24 Bit Adressierungsfähigkeit und 16 Bit Datentransfers zu erlauben, zusätzliche Unterbrechungs- und Speicherdirektzugriffsleitungen sowie Leitungen, die anzeigen, ob die Subsystem-Schaltungsplatine imstande war, die erweiterten Merkmale zu benutzen. Während die Adressenwerte durch den 80286 Mikroprozessor relativ früh in einem Operationszyklus vorgelegt werden, konnte die PC-Schnittstellennorm die Anfangsteile der Adressenverfügbarkeit wegen unterschiedlicher Timingnormen für den 8088, um den herum die PC-Schnittstellennorm entworfen war, nicht verwerten. Dies begrenzte die Geschwindigkeit, mit der Operationen stattfinden konnten, weil sie jetzt auf die Speicher-Timingspezifikationen der Schnittstellennorm begrenzt waren und nicht mit den mit dem 80286 verfügbaren Raten arbeiten konnten. Die neu hinzugefügten Adressenleitungen enthielten daher vorher zur Verfügung stehende Adressensinale, aber die neu hinzugefügten Signale standen zu einer früheren Zeit in einem Zyklus zur Verfügung. Diese Änderung im Adressensignaltiming erlaubte Operationen, die die erweiterten Teile der Architektur benutzten, schneller zu arbeiten.
  • Mit den verfügbaren leistungsfähigeren Komponenten wurde es möglich, eine Mastereinheit anders als der Mikroprozessor oder der Controller des direkten Speicherzugriffs den Bus betreiben zu lassen. Wegen der Notwendigkeit, mit Schaltungsplatinen zusammenzuarbeiten, die unter der neuen 16 Bit Norm oder der alten 8 Bit Norm arbeiteten, mußte jedoch jede Mastereinheit alle möglichen Kombinationen von Schaltungsplatinen verstehen und damit arbeiten. Dies erhöhte die Komplexität der Mastereinheit und hatte eine Duplizierung von Komponenten zur Folge, weil die Mastereinheit viele der Funktionen und Merkmale enthalten mußte, die bereits durch die Logik und die Schaltkreise auf der Systemplatine und auf anderen Mastereinheiten durchgeführt wurden. Außerdem mußte die Mastereinheit den Controller des direkten Speicherzugriffs benutzen, um die Steuerung des Busses zu erlangen, was das Priorisieren und die Zahl der in einem gegebenen Computersystem möglichen Mastereinheiten begrenzte.
  • Das Leistungsvermögen von Bauteilen nahm weiter zu. Speichergeschwindigkeiten und -größen erhöhten sich, Geschwindigkeiten und Größen der Massenspeichereinheiten nahmen zu, die Auflösung von Videoeinheiten erhöhte sich und Intel Corporation führte den Mikroprozessor 80386 ein. Die erhöhten Fähigkeiten der Komponenten brachte einen Wunsch nach mehr Nutzung der Mastereinheiten hervor, aber die Leistung einer Mastereinheit war durch die ISA-Spezifikation und ihre Fähigkeiten begrenzt. Der 80386 konnte nicht voll ausgenutzt werden, weil er die Fähigkeit bot, 4 GByte Speicher mit einer Adresse von 32 Bit direkt zu adressieren, und 32 Bit breite Datentransfers ausführen konnte, während die ISA-Norm nur 16 Bit Daten und 24 Bit Adressen erlaubte. Das Konzept des Lokalen Netzwerks (LAN), wo Information und Dateien auf einem Computer, genannt der Server, gespeichert und an lokale Arbeitsplätze (Workstations) mit begrenzten oder keinen Massenspeicherfähigkeiten verteilt werden, begann mit den relativ niedrigen Kosten der für einen angemessenen Server benötigten Hochleistungskomponenten und den niedrigen Kosten der Komponenten für eine Workstation praktikabel zu werden.
  • Eine Erweiterung ähnlich der, die beim Entwickeln der ISA durchgeführt wurde, könnte vorgenommen werden, um die Möglichkeiten des 80386 voll auszunutzen, aber diese Erweiterung würde bestimmte Nachteile aufweisen. Mit dem Erscheinen des LAN-Konzepts und den Hochleistungserfordernissen des Servers und der bei der rechnerunterstützten Konstruktions- und Animationsarbeit verwendeten Videographik-Workstations wurde die Notwendigkeit sehr hoher Datenübertragungsgeschwindigkeiten kritisch. Eine Erweiterung ähnlich der, die beim Entwickeln der ISA durchgeführt wurde, würde diese Fähigkeit nicht liefern, auch wenn eine etwas kürzeren Standardzykluszeit bereitgestellt würde, weil dies die Leistung immer noch unter den gewünschten Werten lassen würde.
  • Erfindungsgemäß wird ein Computersystem zur Verfügung gestellt, das einen Speicher, eine Systemplatine und eine Mehrzahl von Plätzen zum Einschließen von austauschbaren Schaltungsplatinen umfaßt, wobei die Plätze durch eine Reihe von Leitungen verbunden sind, die Daten-, Adressen- und Steuerbusse bilden, wobei die Datenleitungen eine Mehrzahl verschiedener Datenbreiten bilden, wobei die geeigneten Daten-, Adressen- und Steuerleitungen mit dem Speicher und mit einem für jeden Platz bereitgestellten Synchronisierungssignal verbunden sind, wobei das System weiter umfaßt:
  • eine Einrichtung zum Übertragen von Daten einer gegebenen maximalen Breite zwischen dem Speicher und einer Schaltungsplatine bei einer ersten Standardübertragungszyklusrate, wobei der erste Standardübertragungszyklus in Länge eine Mehrzahl von Synchronisierungssignalzyklen ist;
  • eine Einrichtung zum Übertragen von Daten derselben gegebenen maximalen Breite zwischen dem Speicher und einer Schaltungsplatine bei einer zweiten Standardübertragungszyklusrate, wobei der zweite Standardübertragungszyklus in Länge ein einziger Synchronisierungssignalzyklus ist, wobei die zweite Standardübertragungszyklusrate auf die Verwendung beim Zugreifen auf Speicherstellen innerhalb eines definierten Bereiches der vorangehenden ersten Standardübertragungszyklusoperation begrenzt ist, wobei die Speicherstellen innerhalb des definierten Bereiches in jeder Reihenfolge zugänglich sind, und
  • wobei jede der Datenübertragungen von einer designierten Kombination von Teilen der gegebenen maximalen Breite sein kann.
  • Ein Computersystem, das die vorliegende Erfindung einschließt, kann die Fähigkeiten der gegenwärtigen Computerkomponenten ausnutzen, besitzt etwas kürzere Standardzykluszeiten und verfügt über eine Betriebsart, um eine Datenübertragung mit einer sehr hohen Rate zu oder von dem Speicher des Systems bereitzustellen. Ein Computersystem, das die vorliegende Erfindung einschließt, stellt die vermehrten Adressen- und Datenleitungen bereit, die erforderlich sind, um die Nutzung des vollen Speicheradressenbereiches und der 32-Bit Wortbreite des 80386 der Intel Corporation zu erlauben. Neue Statusanzeige- und Adressensteuersignale werden auf einem neuen Stecker bereitgestellt Die neuen Signale sind zur Verwendung durch Einheiten, die imstande sind, auf 8, 16 oder 32 Bit breiten Daten- und Adressenbussen zu arbeiten, sowie durch neue Mastereinheiten. Die Statusanzeige- und Adressensteuersignale der ISA-Norm werden noch zum Betrieb mit Schaltungsplatinen verwendet, die die neue erweiterte Architektur und Spezifikation nicht unterstützen.
  • Eine erste Standardzyklusrate wird für DMA-Operationen bereitgestellt, die die erweiterte Norm verwenden, und eine zweite Standardzyklusrate wird für alle anderen Speicheroperationen, die die erweiterte Norm verwenden, bereitgestellt, ob durch die zentrale Verarbeitungseinheit (CPU) oder eine auf einer Schaltungsplatine gelegene Mastereinheit. Diese Standardzyklusraten basieren auf einer gegebenen Zahl von Synchronisierungssignalzyklen, in der Regel drei oder vier für DMA-Operationen und zwei für andere Operationen.
  • Eine dritte Zyklusrate wird für alle Operationen bereitgestellt, wobei der Zyklus nur einen Synchronisierungssignalzyklus dauert, was eine sehr hohe Datenübertragungsrate erlaubt, besonders, wenn man begreift, daß bis zu 32 Bit breite Information übertragen wird. Der dritte Zyklust, als ein Burstzyklus bezeichnet, erlaubt die Verwendung der Seitenmodusoperation von dynamischen Direktzugriffsspeichern (DRAMs). DRAMs sind so aufgebaut, daß die Anordnung von Transistoren, die die Speicherzellen bilden, in einer rechteckigen Formation ist, so daß Reihen- und Spaltenadressen benutzt werden, um eine gegebene Speicherzelle auszuwählen. Diese Verwendung von Reihen- und Spaltenadressierung ist zu den physikalischen Steckern zu der Speichereinheit verschoben worden, um die Multiplexierung der Adressenwerte und die sich ergebende Verminderung der Bauteilgröße zu erlauben. Üblicherweise wird zuerst die Reihenadresse und dann die Spaltenadresse gesetzt. Im Seitenmodusbetrieb wird die Reihenadresse gesetzt, und eine Serie von Spaltenadressen wird vorgelegt, um so eine Serie von Speicherzellen auf einer einzigen Reihe, genannt Seite, auszuwählen. Wenn der Burstzyklus benutzt wird, werden die Reihen- und Spaltenadressen in einem ersten Einrichtungszyklus mit Standardzykluszeiten gesetzt, und die übrigen Operationen werden bei der dritten Zyklusrate durchgeführt, weil die Reihenadresse nicht geändert werden muß, nur die Spaltenadresse. Natürlich könnten statische Direktzugriffsspeicher mit ihren schnelleren Zykluszeiten oder andere schnelle Bauteile ebenfalls als die Speicherelemente verwendet werden, aber die Kosten einer solchen Konstruktion würden in der Regel höher sein als eine, die die relativ billigen DRAMs verwendet.
  • Auf diese Weise kann eine sehr hohe Übertragungsrate zwischen Speicher und der den Bus steuernden Einheit hervorgebracht und dennoch die Verwendung von relativ billigen Komponenten erlaubt werden.
  • Die Erfindung kann besser verstanden werden, wenn die folgende ausführliche Beschreibung der bevorzugten Ausführung in Verbindung mit den folgenden Zeichnungen eingehend betrachtet wird.
  • Inhalt der Zeichnungen:
  • Fig. 1 ist eine Zeichnung, die die Steckverbinder und Signale eines Computersystems veranschaulicht, das die vorliegende Erfindung enthält.
  • Fig. 2-9 sind Zeitdiagramme, die die Wellenformen von verschiedenen Teilen eines Computersystems zeigen, das die vorliegende Erfindung enthält.
  • Fig. 10 ist ein Zustandsdiagramm, das die Operationen von Teilen der Schaltkreise einer Mastereinheit in einem Computersystem bezeichnet, das die vorliegende Erfindung enthält.
  • Fig. 11 ist ein Zustandsdiagramm, das die Operationen von Teilen der Schaltkreise eines Direktspeicherzugriffscontrollers bezeichnet.
  • Fig. 12 ist ein Zustandsdiagramm, das die Operationen von Teilen der Schaltkreise einer Systemplatine bezeichnet, wenn sie mit einer Mastereinheit oder einem Direktspeicherzugriffscontroller in einem Computersystem zusammenarbeitet, das die vorliegende Erfindung enthält.
  • Ein Computersystem, das die vorliegende Erfindung einschließt, besitzt eine Systemplatine, die eine Anzahl von Plätzen oder Schlitzen zur Einbeziehung von auswechselbaren Schaltungsplatinen aufweist. Jeder Platz hat vorzugsweise zwei Stecker, einen langen Stecker L (Fig. 1), der dem 8-Bit IBM-PC-Standardstecker entspricht und zusätzliche Signale umfaßt, und einen kurzen Stecker S, der dem 16-Bit Stecker entspricht und zusätzliche Signale umfaßt. Jeder Stecker L oder S umfaßt eine Reihe von Leitungen, die zum Befördern verschiedener Signale bezeichnet sind, die die logische Darstellung der gewünschten Funktion sind und im allgemeinen die gleiche mnemonische Identifikation aufweisen. Die mit den Steckern L und S verbundenen Signale werden in Fig. 1 bei den betreffenden Steckern gezeigt. Aus Gründen der Klarheit werden die verschiedenen Strom- und Masseleitungen, die in jedem Stecker enthalten sind, nicht gezeigt. Die verschiedenen Leitungen sind mit jedem Stecker L und S an jedem Platz verbunden, so daß sich, wenn nicht anders angegeben, ein Bus ergibt. Dies ist der Bus, auf den in dieser Beschreibung im allgemeinen verwiesen wird. Wenn allgemein in dieser Beschreibung auf Signale verwiesen wird, zeigt ein Stern (*) nach einer Signalmnemonik an, daß es logisch wahr ist, wenn ein tiefer Spannungspegel vorhanden ist, und Winkelkiammern, die Zahlen nach einer Signalmnemonik einschließen, werden benutzt, um einzelne oder mehrfache Bitstellen in einem breiteren logischen Signal, z.B. die Daten- oder Adressenfelder, zu bezeichnen.
  • Den Signalen werden verschiedenartige mnemonische Codes zugewiesen, und jedes der Signale hat eine gegebene logische Bedeutung. Die logischen Bedeutungen von verschiedenen in Fig. 1 gezeigten Signalen werden jetzt erklärt. Die Signale SA< 19-0> sind die 20 Bits Adresseninformation, die ursprünglich in dem IBM-PC bereitgestellt wird. Im allgemeinen wird die neue Adressierungsinformation auf diesen Leitungen freigegeben, wenn das gültige Adressensignal BALE, für Adressenlatchfreigabe, hoch ist. Die auf den SA-Leitungen vorhandene Adressierungsinformation wird durch die Systemplatine gespeichert, wenn das Signal BALE von einem hohen in einen tiefen Zustand geht. Diese SA- Adressenleitungen werden zusätzlich zu den Adressenleitungen LA*< 31- 24> , LA< 23-17> , LA< 16-9> und LA< 8-2> bereitgestellt, die zur Verwendung mit den frühen oder Pipeline-Adressenwerten sind, die vom System-Mikroprozessor vorgelegt werden, wenn er ein 80286 oder 80386 ist. Die Adressierungsinformation steht auf den LA-Leitungen für eine Zeitdauer zur Verfügung, bevor die Information auf den SA-Leitungen zur Verfügung steht, was eine schnellere Funktion der verschiedenen Schaltungsplatinen erlaubt, die diese Leitungen und Signale benutzen. Während die oberen 8 LA-Signale invertiert oder tief wahr sind, werden sie in den restlichen Teilen dieser Beschreibung zur Einfacheit der Erklärung als hoch wahr angegeben, den richtigen Si-Signalpegel vorrausgesetzt. Vier weitere Adressierungssignale, die als Bytefreigabesignale BE*< 3-0> bezeichnet sind, sind ebenfalls vorhanden. Diese Signale werden durch den 80386 bereitgestellt, um anzuzeigen, welches Byte oder Bytes des 32 Bit Doppelwortes gewünscht wird, und werden benutzt, um den Adressenwert zu vervollständigen, und müssen durch alle Einheiten der erweiterten Norm, entweder Master oder Slave, voll ausgenutzt werden.
  • Die in dem Computersystem vorhandenen 32 Datenleitungen sind die Signale oder Leitungen, die als D< 7-0> auf dem großen Stecker L, D< 15-8> auf dem kleinen Stecker S und als D< 31-16> auf dem kleinen Stecker S zur Verfügung stehen.
  • Auf den Steckern in einem System der ISA-Norm waren zahlreiche Unterbrechungs-Anforderungsleitungen vorhanden und werden auf dem großen und kleinen Stecker L und S beibehalten, um den verschiedenen Schaltungsplatinen zu erlauben, der Systemplatine Unterbrechungen, wenn erforderlich, vorzulegen. Diese Unterbrechungssignale werden auf den Steckern L und S als IRG< 9,7-3> bzw. IRQ< 15,14,12-10> bezeichnet.
  • Das Computersystem kann direkte Speicherzugriffs- (DMA) Funktionen ausführen, wobei Information von einem auf einer Schaltungsplatine oder Systemplatine enthaltenen E/A-Platz direkt zu einer Speicherplatzstelle übertragen wird, die auf einer anderen Schaltungsplatine oder auf der Systemplatine liegt. Leitungen müssen vorhanden sein, um Signalen zu erlauben, anzuzeigen, wann Information zur Übertragung vorhanden ist, so daß die Steuerung des Busses an den DMA-Controller übertragen werden kann. Außerdem müssen Leitungen vorhanden sein, um einem Signal zu erlauben, anzuzeigen, wann eine DMA-Anforderung bestätigt wird. Die DMA-Anforderungssignale DRQ< 1-3> , DRQ< 0> und DRQ< 7- 5> werden auf den ähnlich bezeichneten Leitungen geliefert, um die DMA-Anforderungen vorzulegen. Die Bestätigungen der verschiedenen Anforderungen, die gewährt werden, um anzuzeigen, daß die spezifische anfordernde Einheit arbeiten kann, sind als die Signale und Leitungen DAK*< 1-3> , DAK*< 0> und DAK*< 7-5> ausgewiesen. Auf dem großen Stecker L wird eine Leitung T/C bereitgestellt, die die Anzeige erlaubt, daß die Endzählung oder letzte Zählung einer DMA-Operation erreicht worden ist.
  • Bei der ISA-Norm mußte eine Mastereinheit eine DMA-Anforderung ausgeben, um die Steuerung des Busses zu erlangen. Die Mastereinheit wartete dann auf das Bestätigungssignal, wobei die Mastereinheit dann das Signal MASTER* tief setzte, um anzuzeigen, daß eine Mastereinheit den Bus steuerte. Die Anwesenheit dieses Signals sperrte alle Einheiten und Schaltkreise, die ansonsten normalerweise Adressen- und Steuerinformation auf den Bus bringen würden, wie z.B. der DMA-Controller. Weil diese Schaltkreise lästig waren und keine ausreichende Priorisierung und Steuerungsplanung erlaubten, werden in dem kleinen Stecker S Mastereinheitanforderungs- und Mastereinheitanforderungs-Bestätigungssignale zur Verfügung gestellt. Auf diese Signale wird als MREQx* und MAKx* verwiesen, wo "x" auf eine bestimmte Stelle oder Schlitz des Steckers verweist. Das Hinzufügen dieser Signale stellt eine Weise zur Verfügung, um der Priorisierung von Mastereinheitanforderungen Flexibiltät hinzuzufügen bzw. diese zu verändern, und erlaubt es, DMA-Kanäle für konventionellere Direktzugriffsoperationen zu reservieren. Das Signal MASTER* ist beibehalten worden, ist aber in MASTER16* umbenannt worden, und hat zusätzlichen Funktionen, um die Datenbreite einer Mastereinheit anzuzeigen, die die erweiterte Norm verwendet.
  • Wegen der Kosten von verschiedenen Speichertypen verwenden Personalcomputersysteme im allgemeinen dynamische Direktzugriffsspeicher für die Hauptspeichersysteme. Der dynamische Direktzugriffsspeicher (DRAM) ist im allgemeinen zu einem wesentlich geringeren Preis/Bit erhältlich als der statische Direktzugriffsspeicher und hat daher die Entwicklung der Personalcomputer mit sehr großen Speichern erlaubt. Die elektrische Ladung der DRAMs muß jedoch periodisch aufgefrischt werden oder sie verlieren die gespeicherte Information. Um diese Auffrischungsoperation möglich zu machen, ist auf dem großen Stecker L ein Signal REFRESH* vorhanden, um zuzeigen, daß eine Auffrischungsoperation stattfindet. Das Vorhandensein dieses Signals zeigt an, daß die verschiedenen Adressenleitungen und Steuersignale im Auffrischungsmodus arbeiten, um das Auffrischen des ganzen Systemspeichers zu einer Zeit zu gestatten.
  • Auf dem großen Stecker L wird ein Rückstellsignal zur Verfügung gestellt, das als RESDRV bezeichnet wird. Das Vorhandensein dieses Signals erlaubt es, die verschiedenen Schaltungsplatinen während der Einschaltoperationen zurückzusetzen.
  • Weil Computer im allgemeinen in einer synchronisierten Beziehung arbeiten, wo Ereignisse in einer Beziehung zu einem steuernden Signal eintreten müssen, ist im allgemeinen ein synchronisierender Takt erforderlich, der in diesem Fall durch das auf dem großen Stecker L bereitgestellte Signal BCLK zur Verfügung gestellt wird. Für Zwecke dieser Beschreibung besitzt das Signal BLCK eine Frequenz zwischen 6.0 MHz und 8.333 MHz mit einem Nominalwert von 8.0 MHz und weist ein nominelles Tastverhältnis von 50% auf. Dieses Synchronisationssignal ist anders als das OSC-Signal, das für Zeitsteuerungsanwendungen bereitgestellt wird und eine Frequenz von 14.31818 MHz und ein Tastverhältnis von ca. 50% aufweist. Das OSC-Signal ist nicht synchronisiert, sondern steht für allgemeine taktende Zusätze zur Verfügung, während das Signal BCLK mit dem Systemtakt des Mikroprozessors synchronisiert ist und als die Referenz für Schnittstellensignal-Zeitsteuerungsanforderungen benutzt wird.
  • Auf dem großen Stecker L wird ein als das AEN-Signal bezeichnetes Signal bereitgestellt, das den Schaltungsplatinen anzeigt, daß der DMA-Controller die Steuerug des Busses besitzt. Eine der Funktionen dieses Signals besteht darin, einer E/A-Einheit anzuzeigen, daß sie auf die anderen Signale, die auf dem Bus vorgebracht werden, nicht ansprechen darf. Das AEN-Signal wird von einer Schaltungsplatine nicht verwendet, wenn diese Platine auf eine DMA-Operation antworten muß. Dieser DMA-Antwortbedarf wird festgestellt, indem das DMA-Bestätigungssignal DAK* mit dem Signal AEN koordiniert wird, so daß, wenn das Signal DAK* der Schaltungsplatine hoch ist, um anzuzeigen, daß auf sie nicht zugegriffen wird, dann, wenn das Signal AEN hoch ist, keine Adresseninformation verwertet wird.
  • Eine Leitung IOCHK* wird auf dem großen Stecker L zur Verfügung gestellt, um das System über Paritäts- oder andere ernsthafte Fehler zu informieren, die auf den in die verschiedenen Stecker eingesteckten Schaltungsplatinen aufgetreten sind. Dieses Signal wird benutzt, wenn ein nicht korrigierbarer Fehler auftritt, so daß auf irgendwelchen fehlerhaften Daten keine weitere Verarbeitung durchgeführt wird.
  • Auf dem großen Stecker L wird eine als LOCK* bezeichnete neue Leitung zur Interaktion mit Schaltungsplatinen bereitgestellt, die einen lokalen Speicher und ein lokales Verarbeitungsvermögen enthalten. Die in dem lokalen Speicher gespeicherte Information kann durch den lokalen Prozessor zu derselben Zeit verändert werden, zu der die lokale Speicherinformation von der Einheit, die den Bus steuert, angefordert wird, was zur Folge hat, daß die Buseinheit falsche Information empfängt. Wenn das Signal LOCK* tief geltend gemacht wird, können die lokalen Verarbeitungseinrichtungen nicht auf den lokalen Speicher zugreifen, um zu verhindern, daß Datenwerte zwischen Zugriffen durch die den Bus steuernde Einrichtung verändert werden.
  • Die übrigen auf den zwei Steckern L und S bereitgestellten Signale sind Zustandsanzeige- und Adressensteuersignale. Die Signale werden benutzt, um den Betriebszustand des Busses oder die Notwendigkeit anzuzeigen, auf die verschiedenen E/A- oder Speicherplätze zuzugreifen. Im allgemeinen sind die Zustandsanzeige- und Adressensteuersignale der Stecker L und S, die den herkömmlichen ISA-Betrieb betreffen, so, daß einzelne Signale vorgelegt werden, um anzuzeigen, ob eine Speicher- oder E/A-Platz-Schreib- oder Leseoperation durchgeführt wird. Zum Beispiel werden die Signale MRDC* oder SMRDC* während eines Speicherlesezyklusses aktiv gemacht. Das Signal SMRDC* wird nur freigegeben, wenn eine Speicherleseoperation innerhalb der ersten 1 MByte des Speichers stattfindet. In ähnlicher Weise werden die Signale MWTC* und SMWTC* benutzt, um eine Speicherschreiboperation anzuzeigen, während die Signale IORC* und IOWC* benutzt werden, um E/A-Platz-Lese- bzw. Schreiboperationen anzuzeigen. Von allen weiteren Verweisen auf die Signale MRDC* und MWTC* wird angenommen, daß sie gleiche Operationen wie die Signale SMRDC* und SMWTC* umfassen, wenn die vorgelegte Adresse innerhalb der ersten 1 MByte des Speichers liegt. Weil die verschiedenen E/A- und Speichereinheiten unterschiedliche Geschwindigkeiten aufweisen, muß der Buscontroller wissen, ob eine einzelne Einheit schneller oder langsamer als eine gegebene normale Geschwindigkeit antworten kann. Aus diesem Grund wird ein als NOWS* bezeichnetes Signal bereitgestellt, um anzuzeigen, daß keine weiteren Wartezustände nötig sind, wenn diese einzelne Einheit adressiert wird, und ein Signal CHRDY wird bereitgestellt, um anzuzeigen, daß die einzelne Einheit zu dieser Zeit nicht bereit ist.
  • Ein als SBHE* bezeichnetes Signal wird auf dem kleinen Stecker S zur Verfügung gestellt, um anzuzeigen, daß die Leitungen D< 15-8> bei der Datenübertragung benutzt werden. Zwei weitere als M16* und IO16* bezeichnete Adressensteuersignale werden auf dem kleinen Stecker S bereitgestellt, um anzuzeigen, daß eine 16 Bit Einheit der ISA-Norm auf die Informationsanforderung oder den auf dem Bus vorhandenen Zyklus antworten wird. Das Signal M16* wird aus der Verwendung der LA-Adressensignale entwickelt und wird daher in einem gegebenen Zyklus früh vorgelegt. Das Vorhandensein entweder des Signals 1016* oder M16* zeigt an, daß die Einheit sowohl unter Verwendung eines 16-Bit Datenweges antworten wird als auch, daß die Einheit auf eine kürzere Standardzykluszeit reagieren kann als eine Einheit, die nur Daten mit 8 Bits zu einer Zeit bereitstellen kann. Diese kürzere Standardzykluszeit ist wegen der vielen Verbesserungen bei den Bauteilgeschwindigkeiten möglich, die zwischen der Entwicklung der IBM-PC-Norm und der ISA-Norm stattgefunden haben. Diese Zustandsanzeige- und Adressensteuersignale stellen die Zustandsanzeige- und Adressensteuersignale dar, die zum Betrieb mit 8 und 16 Bit breiten ISA-Normdaten erforderlich sind. Diese Signale werden von bestehenden 8 und 16 Bit Schaltungsplatinen benutzt, die für den Betrieb mit der IBM-PC- oder der ISA-Norm ausgelegt sind.
  • Ein völlig getrennter Satz von Zustandsanzeige- und Adressensteuersignalen wird für die erweiterte Norm zur Verfügung gestellt. Die Signale START* und CMD* werden zur Zeitsteuerung in einem erweiterten Zyklus bereitgestellt. Das Signal START* wird geltend gemacht, nachdem die Adresse gültig geworden ist, und wird im allgemeinen nach einer vollen BLCK-Zykluszeit deaktiviert. Das Signal START* zeigt daher den Beginn eines erweiterten Zyklusses an. Die ansteigende Flanke des Signals START* kann benutzt werden, um, wenn gewünscht, die Adresse zu speichern. Das Signal CMD* wird tief geltend gemacht, wenn das Signal START* deaktiviert wird, und bleibt bis zum Ende des Zyklusses in einem tiefen Zustand, sofern keine Datenzusammenstellung oder -verteilung erforderlich ist. Die Signale START* und CMD* werden daher grundsätzlich benutzt, um den Beginn und das Ende eines erweiterten Standardzyklusses anzuzeigen, wobei nach dem Geltendmachen des Signals START* oder CMD* verschiedene Ereignisse beim Synchronisieren mit dem Signal BCLK stattfinden. Die Signale M-IO und W-R werden benutzt, um anzuzeigen, ob ein Speicher- oder ein E/A-Platzzyklus ausgeführt wird und ob die Operation eine Lese- oder Schreiboperation in diesem gegebenen Platz ist. Diese zwei Signale werden im Gegensatz zu den sechs in der ISA-Norm bereitgestellten Signalen benutzt, um ähnliche Information anzuzeigen. Das Signal M-IO muß zum Decodieren jedes Zyklusses verwendet werden, um festzustellen, ob der Zyklus an den Speicher- oder den E/E-Platz gerichtet ist. Eine getrennte Leitung, die als die Leitung EXRDY bezeichnet und benutzt wird, um anzuzeigen, daß eine erweiterte Einheit oder Daten nicht bereit sind, wird auf dem großen Stecker L bereitgestellt. Es ist ferner erforderlich, zu wissen, ob die adressierte Einheit gemäß der erweiterten Norm unter Verwendung eines 16 oder 32 Bit Datenweges antworten wird, und dies wird durch Signale bestimmt, die auf der Leitung EX32* oder EX16* vorgelegt werden.
  • Schließlich werden auf dem großen Stecker L zwei zusätzliche als MSBURST* und SLBURST* bezeichnete Signale bereitgestellt. Diese Signale werden benutzt, um anzuzeigen, daß eine Speicherburstoperation stattfinden kann oder stattfindet, um für bestimmte Operationen einen sehr hohen Durchsatz zu erlauben. Die Funktion dieser zwei Signale wird in Kombination mit den anderen geeigneten Signalen im einzelnen beschrieben werden.
  • Es ist somit zu sehen, daß ein völlig getrennter Satz von Zustandsanzeige- und Adressensteuersignalen zur Verwendung durch Einheiten, die die erweiterte Norm einschließen, wie hierin definiert, zur Verfügung gestellt wird.
  • Das Vorangehende ist eine Zusammenfassung der verschiedenen Leitungen und Signale, die auf dem großen und kleinen Stecker L und S vorhanden sind. Die Funktion der vorliegenden Erfindung mit Mastereinheiten, dem DMA-Controller und der Systemplatine werden in dieser Beschreibung erklärt. Die verschiedenen Ereignisse, die eintreten werden, werden in bezug auf sowohl die ansteigende als auch die abfallende Flanke des Signals BLCK erklärt werden, da dieses das Synchronisationssignal für die Steuersequenzen ist. Für Zwecke dieser Beschreibung kann die zentrale Verarbeitungseinheit (CPU) des Systems als eine Mastereinheit betrachtet werden, besonders, wenn sich ein Adressierungsspeicher in einem Steckerplatz befindet. Während in der bevorzugten Ausführung die CPU erfindungsgemäß im allgemeinen keine Speicherburstoperationen durchführt, liegt dies daran, daß die CPU mit dem Hauptteil des Speichers in einer anderen Weise als über den großen und kleinen Stecker L und S verbunden ist und daher die Fähigkeit nicht benötigt. Wenn die CPU über den großen und kleinen Stecker L und S mit dem Speicher verbunden werden muß, würden Burstoperationen ähnlich denen einer Mastereinheit sein, und eine Mastereinheit ist daher nicht darauf beschränkt, auf einer in einem Schlitz gelegenen Schaltungsplatine zu liegen, sondern kann die CPU enthalten. Mastereinheiten, die sich auf Schaltungsplatinen befinden, und der DAM-Controller benutzen die auf dem großen und kleinen Stecker L und S vorhandenen Signale, um auf den Speicher zuzugreifen, entweder den auf einer Schaltungsplatine gelegenen Speicher oder den Hauptteil des Speichers in der bevorzugten Ausführung.
  • Zuerst wird die Funktion in bezug auf die verschiedenen Signale beschrieben, die vorgelegt werden, wenn eine Mastereinheit die Steuerung des Busses besitzt. Nach der Beschreibung der Lese- und Schreiboperationen für Mastereinheiten wird die Beschreibung mit einer ähnlichen Beschreibung der Funktion fortfahren, wenn der DMA-Controller die Steuerung des Busses innehat. Es wird angenommen, daß ein Zyklus AA bei Zeit 300 beginnt. Zu dieser Zeit macht die den Bus steuernde Mastereinheit die Adressenleitungswerte auf den LA-Leitungen geltend und setzt das Signal M-IO, in diesem Fall auf einen Speicherzustand oder hohen Zustand, weil Burstoperationen nur zu Speicherräumen durchgeführt werden können und in der bevorzugten Ausführung für den E/A-Raum als nicht ausführbar definiert sind. Zusätzlich kann zu dieser Zeit die den Bus steuernde Einheit die Leitung W-R auf den gewünschten Zustand setzen, im Zyklus AA auf den tiefen Zustand, oder kann dieses Ereignis bis zur nächsten ansteigenden Flanke des Signals BCLK verzögern.
  • Bei der nächsten ansteigenden Flanke des Signals BCLK, bei Zeit 302, muß das Signal W-R auf den geeigneten Zustand gesetzt werden, wenn nicht bereits getan, und das Signal START* wird tief gemacht, das Signal CMD* wird hoch gemacht, wenn es von einem vorherigen Zyklus tief war, und die auf den Datenleitungen von einem vorherigen Zyklus vorhandenen Daten werden gespeichert, wenn der Zyklus eine Leseoperation war. Zusätzlich werden bei Zeit 302 die Werte BE*< 3-0> geltend gemacht. Die gestrichelte Linie, die bei Zeit 300 und Zeit 302 senkrecht erscheint, wird benutzt, um einen Zyklus der Maschine anzuzeigen, und ist aus Gründen der Klarheit etwas nach ihrem Auftreten gezeichnet. Es ist zu beachten, daß die gestrichelte Linie nicht gerade ist, weil die adressenbezogenen Signale einen halben BLCK-Signalzyklus vor den tatsächlichen Datensteuerungen angelegt werden, um zusätzliche Zeit bereitzustellen, um die Adressendecodierung zu erlauben.
  • Bei der nächsten Flanke des Signals BCLK, die eine abfallende Flanke bei Zeit 304 ist, wird das Signal BALE durch die Systemplatine zur Verwendung durch Schaltungsplatinen oder antwortende Einheiten hoch gemacht, die die ISA-Norm und nicht die erweiterte Norm verwenden. Wenn das Signal BALE hoch geht, überträgt die Systemplatine die Adressenwerte zu den SA-Leitungen. Burstoperationen können von keiner dieser Einheiten ausgeführt werden, und die Zeitdiagramme zeigen folglich kein Beispiel einer Antwort von einer 8 oder 16 Bit ISA-Einheit. Sollte keine Einheit der erweiterten Norm oder eine antworten, der in einem Burstzyklus nicht geantwortet werden kann, entweder, weil die antwortende Einheit keine Burstoperation ausführen kann oder die antwortende Einheit schmaler ist die, mit denen die Masterinheit zusammenarbeiten kann, wird der Burstzyklus nicht ausgeführt, sondern stattdessen ein konventionller Zyklus ausgeführt, wie in den mitanhängigen Anmeldungen "Multiple Word Size Computer Interface With Master Capabilities" und "Computer System With Simplified Master Requirements" offenbart, die durch Verweisung eingeschlossen worden sind.
  • Bei einer Zeit vor der nächsten ansteigenden Flanke des Signals BCLK, bei Zeit 306, müssen die Signale EX32* und SLBURST* tief gehen, wenn sie tief gehen werden. Das Signal EX32* wird benutzt, um anzuzeigen, daß eine 32-Bit Einheit antworten wird, und somit, welche Statusinformations- und Adressensteuersignale benutzt werden, um von der antwortenden Einheit zu übertragen. Fig. 2 und 3 sind beispielhaft für 32-Bit Mastereinheiten der erweiterten Norm und antwortende Einheiten, aber ähnliche Timings werden mit 16-Bit Mastereinheiten der erweiterten Norm und 16 oder 32 Bit antwortenden Einheiten der erweiterten Norm verwendet, wobei die Signale EX16* oder EX16* und EX32*, wenn geeignet, überwacht werden. Fig. 4 zeigt das Timing der 16-Bit Mastereinheit. Das Signal SLBURST* ist ein Signal, das anzeigt, daß die einzelne antwortende Einheit Burstoperationen durchführen kann, und sollte immer tief geltend gemacht werden, wenn die Einheit antworten kann. Es wird angenommen, daß dies in derselben Operation wie die Speicherdecodierung erfolgen kann, und aus diesem Grund ist das in Fig. 2 gezeigte Timing ähnlich.
  • Bei Zeit 306 wird das Signal BALE tief gemacht, um die Systemplatine zu veranlassen, die SA-Signalwerte bis zur nächsten ansteigenden Flanke des Signals BALE zu speichern. Außerdem wird bei Zeit 306 das Signal START* hoch gemacht und das Signal CMD* tief gemacht, um anzuzeigen, daß die Operation des Zyklusses AA voranschreitet. Ebenfalls bei Zeit 306 werden die Signale EX32* und SLBURST* abgetastet, um festzustellen, ob die antwortende Einheit Burstoperationen ausführen kann und ob sie die richtige Breite aufweist.
  • Vor der nächsten Flanke des Signals BCLK, die bei Zeit 308 eine abfallende Flanke ist, muß das Signal EXRDY tief sein, wenn es tief gemacht werden wird, um anzuzeigen, daß die Einheit nicht imstande sein wird, ohne die Notwendigkeit zusätzlicher Wartezustände auf die Operation zu antworten. Im Zyklus AA geht wie gezeigt das Signal EXRDY vor der Zeit 308 tief, so daß ein Wartezustand eingefügt werden wird. Das Signal BCLK durchläuft bei Zeit 308 den Hoch/Tief-übergang und bei Zeit 310 den Tief/Hoch-Übergang. Bei Zeit 308 kann die nächste Adresse auf den Leitungen LA und BE* geltend gemacht werden oder diese Präsentation kann warten, bis die Wartezustände beendet sind. Nach der Zeit 310 und vor der abfallenden Flanke des Signals BCLK bei Zeit 312 wird das Signal EXRDY entfernt oder angehoben, um anzuzeigen, daß die Einheit jetzt zu antworten imstande sein wird. Zeit 312 ist das Ende der Adressenphase des Zyklusses AA, so daß die nächste Adresse auf den Leitungen LA und BE* geltend gemacht werden muß, wobei die Wartezustände vollendet sind. Ebenfalls zu dieser Zeit setzt die Mastereinheit das Signal MSBURST* tief, um anzuzeigen, daß dies der Anfang eines Burstzyklusses ist und daß die antwortende Einheit so arbeiten sollte. In der bevorzugten Ausführung können sich die Adressenleitungen LA< 31-10> nicht ändern, weil die Operation so definert ist, daß dies der antwortenden Einheit ermöglicht, nicht die ganze Adresse an die Speichereinrichtung freigeben zu müssen, sondern stattdessen nur die Spaltenadressen aktiviert werden müssen. Eine Seitengröße von 1024 Byte wird somit definiert. Dies erlaubt der antwortenden Einheit, herkömmliche 256 kBit x 1 oder größere DRAMs bei ihrer Seitenmodusoperation zu verwenden, so daß hohe Zyklusraten unter Verwendung herkömmlicher relativ billiger Bauteile erlangt werden können. Der erste Zyklus eines Burstzyklusse, in diesem Fall der Zyklus AA, muß ein Speicherzyklus voller Länge sein, weil es bei dieser Operation erforderlich ist, daß die Reihenadresse eingerichtet wird und dies einen zusätzlichen BLCK-Signalzyklus erfordert. Nachdem die Reihenadresse eingerichtet ist, kann die Mastereinheit in den Burstmodus eintreten. Die Mastereinheit kann irgendeine Adresse innerhalb der Seite bereitstellen und muß, wenn sie im Burstmodus ist, die Adressen nicht sequentiell ändern. Außerdem erlaubt es bei jeder gegebenen Adresse die Verwendung der Signale BE*< 3-0> , jede richtige Kombination der vier Bytes, die das 32-Bit Doppelwort umfassen, oder der zwei Bytes, die das 16-Bit Wort umfassen, bei dieser Adresse zu übertragen, um so Burstoperationen zu erlauben, bei anderen als geraden Doppelwortgrenzen zu beginnen und zu enden und andere spezialisierte übertragungen auszuführen.
  • Bei Zeit 314 tastet die Mastereinheit die Datenleitungen ab, um die Information zu speichern, die im Zyklus AA von der antwortenden Einheit verfügbar war, um den Zyklus AA zu vollenden. Zu dieser Zeit beginnt die antwortende Einheit die Daten bei der bei Zeit 312 vorgelegten neuen Adresse zum Anlegen an die Datenleitungen vorzubereiten, weil die antwortende Einheit das Signal MSBURST* abtastet, um festzustellen, ob eine Burstoperation beginnt Das Signal MSBURST* wird dann bei jeder ansteigenden Flanke des Signals BCLK abgetastet, außer denen, die Geltendmachungen von EXRDY folgen, um festzustellen, ob die Burstoperation weitergeht.
  • Zeit 316, die abfallende Flanke des Signals BCLK, ist das Ende des Adressierungsteils des Zyklusses AB im Burstmodus, und daher werden die neuen Signale LA< 9-2> an die LA-Leitungen angelegt, und die BE*- Leitungen werden wie geeignet gesetzt. Außerdem wird das Signal EXRDY abgetastet, um festzustellen, ob irgendwelche Wartezustände benötigt werden. Während es vorzuziehen ist, daß keine Wartezustände hinzugefügt werden, weil ein Burstzyklus mit einem Wartezustand genauso lang ist wie ein normaler Zyklus ohne Wartezustände, wird diese Fähigkeit zur Flexibiltät bereitgestellt. Das Signal EXRDY wird auf jeder abfallenden Flanke des Signals BLCK während eines Burstzyklusses abgetastet. Bei Zeit 318 tastet dann die Mastereinheit die Datenleitungen ab, um die Daten zu speichern, die durch die antwortende Einheit bereitgestellt worden sind, und die antwortende Einheit tastet das Signal MSBURST* ab. Es ist folglich zu sehen, daß ein Burstzyklus nur einen BCLK-Signalzyklus lang ist, der bei der bevorzugten Ausführung 125 ns beträgt. Mit dieser Zykluszeit ergibt sich, wenn auf einem 32 Bit breiten Doppelwort gearbeitet wird, eine effektive Durchsatzrate von 32 MByte pro Sekunde. Es ist zu beachten, daß die Signale START* und CMD* während des Burstzyklusses ihren Zustand nicht ändern, sondem stattdessen bis zum Ende des Zyklusses auf ihrem Pegel bleiben.
  • Nun zur nächsten abfallenden Flanke des Signals BCLK bei Zeit 320 gehend, wird, wenn die neuen Werte LA< 31-2> vorgelegt werden, angenommen, daß sie eine Adresse sind, die die Seitengrenzen überschreiten wird, so daß die Reihenadresse in den ausgewählten DRAMs geändert werden muß. Deshalb muß dies unbedingt ein langer Zyklus sein, oder es würde falsche Information empfangen werden. Weil die bevorzugte Betriebsart einer antwortenden Einheit sein wird, die oberen Adressenbits verriegelt zu lassen, so daß nur die unteren Adressenbits in den kurzen Teilen eines Burstzyklusses benutzt werden. Wenn der Burstmodus deaktiviert wird, wird fehlerhafte Information erhalten werden, weil die antwortende Einheit auf die geeignete untere Adressenstelle springen wird, aber auf der falschen Seite. Deshalb wird außerdem bei Zeit 320 das Signal MSBURST* hoch gemacht, um anzuzeigen, daß dies kein Burstzyklus ist. Grundsätzlich, wenn in dieser Beschreibung auf das Ändern des Adressenwertes verwiesen wird, werden sowohl die Leitungen BE*< 3-0> als auch die Leitungen LA geändert oder können geändert werden, wobei die Leitungen BE*< 3-0> die volle Definition der gewünschten Adresse in Kombination mit den verschiedenen gewünsten Datenbytes effektiv vervollständigen. Während des Einrichtens der vollen Adresse können, wenn die Leitungen LA< 31-2> geändert werden, im allgemeinen die Leitungen BE*< 3-0> 1/2 BCLK-Signal später als die LA< 31-2> Werte getrieben werden, aber, wenn im Burstmodus, müssen sich die Signale BE*< 3-0> mit den Signalen LA< 9-2> ändern. Außerdem werden die Leitungen BE*< 3-0> , wenn nötig, bei jedem Zyklus getrieben, um nur den gewünschten Teil des Doppelwortes zu erlangen.
  • Bei Zeit 322 wird das Signal START* tief gemacht und das Signal CMD* wird hoch gemacht, um den Beginn eines neuen Speicherzyklusses AD anzuzeigen. Weiter werden bei Zeit 322 die Daten, die durch die letzte Operation im Burstzyklus AC bereitgestellt wurden, durch die Mastereinheit gespeichert. Außerdem tastet bei Zeit 322 die vorangehende antwortende Einheit das Signal MSBURST* ab, um festzustellen, ob die Burstoperation weitergeht. In diesem Fall ist sie nicht, so muß die antwortende Einheit einen vollen Zyklus ausführen und die Adressendecodierungsoperation und das Laden der Reihenadresse ausführen. Zu Zeit 324 gehend, was bei der nächsten Flanke des Signals BCLK ist, wird das Signal BALE hoch gemacht, falls eine ISA-Normeinheit auf diese Adresse reagieren wird. Bei Zeit 326 wird das Signal BALE tief gemacht, das Signal START* wird hoch gemacht, das Signal CMD* wird tief gemacht, und die Signale EX32* und SLBURST* werden abgetastet. EXRDY ist bei Zeit 328, die die nächste abfallende Flanke des Signals BCLK ist, nicht geltend gemacht worden. Dies wird daher ein Zyklus sein, der ohne zusätzliche Wartezustände zu Ende geht, und folglich wird bei Zeit 328 die neue Adresse an die Leitungen LA< 9-2> und BE*E 3-0> angelegt und weil ein Burstzyklus gewünscht wird, wird das Signal MSBURST* tief gemacht. Das gezeigte Beispiel veranschaulicht einen Fall, wo ein Burst gewünscht wurde und von einer einzigen antwortenden Einheit beantwortet wird, aber der gewünschte Adressenbereich des Burstzugriffs eine Seitengrenze überkreuzte und es daher erforderlich war, den Burstmodus für einen Zyklus zu verlassen, um der Reihenadresse zu erlauben, eingerichtet zu werden.
  • Bei Zeit 330 werden die Daten vom Zyklus AD durch die Mastereinheit oder den Buscontroller gespeichert, und die antwortende Einheit tastet das Signal MSBURST* ab. Dann wird bei der abfallenden Flanke des Signals BLCK bei Zeit 332 eine neue Adresse vorgelegt. In diesem Fall ist das veranschaulichte Beispiel so, daß diese antwortende Stelle eine Burstoperation nicht unterstützen kann und folglich das Signal SLBURST* hoch geht, sobald diese Adressenstelle ermittelt ist, z.B. wird in Fig. 2 angenommen, daß dies bei Zeit 332 geschieht. Bei Zeit 334 muß die Leitung W-R in dem gewünschten Zustand sein, und das Signal START* wird tief gemacht, das Signal CMD* wird hoch gemacht, und die Daten des Zyklusses AE, die auf den Datenleitungen vorhanden sind, werden durch die Mastereinheit gespeichert. Dies ist der Beginn des Datenteils des Zyklusses AF, der eine herkömmliche Leseoperation ist, weil die antwortende Einheit keine Burstoperation ausführen kann. Die vorherige antwortende Einheit tastet außerdem das Signal MSBURST* zu dieser Zeit ab. Bei Zeit 336, der abfallenden Flanke des Signals BCLK, wird das Signal BALE hoch gemacht, um das Verriegeln von Adressen durch ISA-Schaltungsplatinen zu erlauben. Bei Zeit 338, der nächsten Flanke des Signals BCLK, wird das Signal BALE tief gemacht. Außerdem wird das Signal START* hoch gemacht, und das Signal CMD* wird tief gemacht, um den Fortgang durch den Zyklus anzuzeigen. Außerdem werden die Signale EX32* und SLBURST* abgetastet. Weil das Signal SLBURST* hoch ist, um anzuzeigen, daß durch die antwortende Einheit kein Burst unterhalten werden kann, wird die Mastereinheit das Signal MSBURST* nicht tief setzen. Bei Zeit 340 wird die Adresse für den nächsten Zyklus auf den Leitungen LA vorgelegt, weil das Signal EXRDY vor dieser Flanke nicht tief war. Dann muß bei Zeit 342, der nächsten Flanke des Signals BCLK, die Leitung W-R in ihrem gewünschten Zustand sein, die Signale START* und CMD* werden tief bzw. hoch gemacht, und die Daten des Zyklusses AF auf den Datenleitungen werden gespeichert. Ein ähnlicher Zyklus läuft bei den Zeiten 344, 346, 348 und 350 ab, wo ein herkömmlicher Lesezyklus durchgeführt wird, weil das Signal SLBURST* hoch ist, um anzuzeigen, daß die antwortende Einheit keine Burstoperation ausführen kann und eine normale Speicheroperation mit zwei BLCK-Signalzyklen ausgeführt wird.
  • Während Fig. 2 eine durch eine Mastereinheit durchgeführte Leseoperation zeigt, zeigt Fig. 3 das Schreiben der Mastereinheit in die antwortende Einheit. Der Hauptunterschied ist, daß das Signal W-R hoch bleibt, um eine Schreiboperation anzuzeigen, während in dem vorangehenden Beispiel von Fig. 2 die Leitung W-R tief blieb, um eine Leseoperation anzuzeigen. Außerdem werden die Daten auf den Datenleitungen anders vorgelegt. Z.B. bleiben die Daten von dem vorangehenden Standardzyklus bis Zeit 304 auf den Datenleitungen, wie es üblich ist, um den Daten genügend Zeit zu geben, aufgefangen werden zu werden und mit früheren ISA-Konstruktionen kompatibel zu sein. Während eines Burstzyklusses werden die Daten eine BCLK-Signalflanke nach dem Ändern der Adresse von den Datenleitungen entfernt und nicht nach zwei Flanken wie in Nicht-Burst-Zyklen. Dies erlaubt es, die Daten auf dem Datenbus schneller zu ändern, um diesen schnellen Operationsmodus unterstützen zu helfen. Z.B werden die Daten im Zyklus AA bei Zeit 304 vorgelegt und bei Zeit 314 entfernt, während die Daten des Zyklusses AB bei Zeit 304 vorgelegt und bei Zeit 318 enfernt werden. Die Daten des Zyklusses AC werden bei Zeit 318 vorgelegt und bei Zeit 322 entfernt, während die Daten des Zyklusses AD bei Zeit 324 vorgelegt werden, so daß die Datenleitungen einen halben BCLK-Signalzyklus schweben. Die Daten werden dann bei Zeit 330 von den Datenleitungen entfernt, wobei zu dieser Zeit die neuen Daten für den Zyklus AE vorgelegt werden und die Daten des Zyklusses AE bei Zeit 334 entfernt werden. Die übrigen Abschnitte sind herkömmliche Zyklen.
  • Fig. 4 zeigt das Zeitdiagramm für eine 16-Bit Mastereinheit der erweiterten Norm. Bei Zeit 400, einer abfallenden Flanke des Signals BCLK, werden die Adressenwerte auf den Leitungen LA< 31-2> vorgelegt, und das Signal M-IO wird hoch gesetzt, um eine Speicherplatzoperation anzuzeigen. Zu dieser Zeit oder bei Zeit 402, der nächsten ansteigenden Flanke des Signals BCLK, wird das Signal W-R hoch gesetzt. Bei Zeit 402 wird das Signal W-R in dem gegebenen Beispiel auf einen hohen Zustand gesetzt, um anzuzeigen, daß eine Schreiboperation stattfinden wird. Ebenfalls bei Zeit 402 wird das Signal START* tief gemacht und das Signal CMD* wird hoch gemacht, um anzuzeigen, daß der Adressenzeil des Zyklusses AH beginnt. Während dieses Zyklusses ist das Signal MASTER16* tief, um anzuzeigen, daß ein 16-Bit Master der erweiterten Norm die Steuerung des Busses innehat. Es wird angemerkt, daß dieses Signal zu allen Zeiten tief gehalten wird, während der 16-Bit Master der erweiterten Norm die Steuerung des Busses besitzt. Bei Zeit 404, der nächsten abfallenden Flanke des Signals BCLK, wird das Signal BALE hoch gemacht, und alle vorherigen Daten, die während einer Schreiboperation auf den Datenleitungen vorgelegt wurden, werden entfernt. Bei Zeit 404 beginnt die Mastereinheit, neue Daten auf die Datenleitungen zu legen, so daß die antwortende Einheit mit dem Empfangen der Daten beginnen kann. Vor Zeit 406, der nächsten ansteigenden Flanke des Signals BCLK, müssen die Signale EX32*. EX16* und SLBURST* gesetzt werden. In diesem Fall antwortet eine 16-Bit Einheit der erweiterten Norm, die Burstoperationen ausführen kann, so daß das Signal EX32* hoch und die Signale EX16* und SLBURST* tief sind.
  • Bei Zeit 406 wird das Signal BALE tief gemacht, das Signal START* wird hoch gemacht, das Signal CMD* wird tief gemacht, und die Signale EX32*, EX16* und SLBURST* werden abgetastet, um festzustellen, ob eine Burstoperation sattfinden kann, und um die Breite der antwortenden Einheit festzustellen. Bei Zeit 408, der abfallenden Flanke des Signals BCLK, werden die nächsten Adressenwerte auf den Leitungen LA< 9- 2> und BE*< 3-0> vorgelegt, weil eine Burstoperation beginnen wird. Ebenfalls bei Zeit 408 wird das Signal MSBURST* tief gemacht, um der antwortenden Einheit anzuzeigen, daß eine Burstoperation im Gange ist.
  • Schließlich tastet bei dieser Zeit die Mastereinheit das Signal EXRDY ab, um festzustellen, ob ein Wartezustand hinzugefügt werden wird. In diesem Fall ist das EXRDY hoch, so daß keine Wartezustände hinzugefügt werden. Zeit 408 ist der Beginn der Adressenphase des Zyklusses AI. Bei Zeit 410, der nächsten ansteigenden Flanke des Signals BCLK, tastet die antwortende Einheit die Daten auf den Datenleitungen ab, und die Daten des Zyklusses AI werden vorgelegt. Außerdem tastet die antwortende Einheit die Leitung MSBURST* ab und stellt fest, daß eine Burstoperation stattfindet. Bei Zeit 412 legt die Mastereinheit die nächste Adresse auf die Leitungen LA< 9-2> und tastet das Signal EXRDY ab und stellt fest, daß keine Wartezustände erforderlich sind. Bei Zeit 404, der nächsten ansteigenden Flanke des Signals BCLK, tastet die antwortende Einheit die Leitung MSBURST* erneut ab und speichert die Daten ein, die durch die Mastereinheit vorgelegt wurden, die dann bei dieser Zeit die Daten auf den Datenleitungen ändert. Es wird angemerkt, daß diese Übertragungen nur 16-Bit Übertragungen sind, weil die Mastereinheit eine 16-Bit Einheit ist. Dies vollendet den Datenteil des Zyklusses AI und leitet den Datenteil des Zyklusses AJ ein.
  • Bei Zeit 416, der abfallenden Flanke des Signals BCLK, stellt die Mastereinheit fest, daß die nächste Adresse einen Seitenbruch zur Folge hat, so daß ein voller Zyklus eingeleitet werden muß. Bei Zeit 416 wird das Signal EXRDY abgetastet. Weil das Signal EXRDY hoch geltend gemacht ist, sind keine Wartezustaände erforderlich. Ebenfalls bei dieser Zeit 416 wird, weil ein Burst zu Ende geht, das Signal MSBURST* hoch gesetzt, so daß die antwortende Einheit feststellen kann, daß die Burstoperation zu Ende ist. Bei Zeit 418, der nächsten ansteigenden Flanke des Signals BCLK, entfernt die Mastereinheit die Daten von dem Datenbus, den die antwortende Einheit gerade abgetastet hat. Ebenfalls bei dieser Zeit tastet die antwortende Einheit das Signal MSBURST* ab und stellt fest, daß eine Burstoperation vollendet ist. Zu dieser Zeit wird das Signal START* durch die Mastereinheit tief gemacht, und das Signal CMD* wird hoch gemacht, um das Ende des Bustzyklusses und den Beginn einer neuen Operation anzuzeigen. Schließlich wird auch bei Zeit 418 das Signal W-R tief gemacht, das bei der bevorzugten Ausführung anzeigt, daß dies ein Lesezyklus ist, der beginnt. Die Steuerung geht weiter, so daß bei Zeit 420, der abfallenden Flanke des Signals BCLK, das Signal BALE hoch gemacht wird. Vor der ansteigenden Flanke des Signals BCLK, bei Zeit 422, müssen die Signale EX32*, EX16* und SLBURST* gültig sein. In diesem Fall wird eine 16-Bit Einheit antworten und Burstoperationen auszuführen imstande sein, so daß die Signale EX16* und SLBURST* tief sein werden. Bei Zeit 422, der ansteigenden Flanke des Signals BCLK, wird das Signal BALE tief gesetzt, und die Mastereinheit tastet die Signale EX32*, EX16* und SLBURST* ab und stellt fest, daß eine 16-Bit Einheit antworten wird und daß eine Burstoperation ausgeführt werden kann.
  • Bei Zeit 424, der abfallenden Flanke des Signals BCLK, tastet die Mastereinheit das Signal EXRDY ab und stellt fest, daß keine Wartezustände erforderlich sind. Bei Zeit 424 werden die Adressen LA< 9-2> geändert, und weil keine Wartestände erforderlich sind, wird das Signal MSBURST* tief gemacht, um anzuzeigen, daß eine Burstoperation stattfinden wird. Dies beginnt den Adressenzyklus des Zyklusses AL. Bei Zeit 426 entfernt die antwortende Einheit die Daten, die sie auf dem Datenbus bereitgestellt hatte, wobei diese Daten zu dieser Zeit durch die Mastereinheit gespeichert werden. Ebenfalls bei Zeit 426 tastet die antwortende Einheit das Signal MSBURST* ab und stellt fest, daß eine Burstoperation stattfindet. Bei Zeit 428 tastet die Mastereinheit das Signal EXRDY ab und stellt fest, daß ein Wartezustand nicht erforderlich ist. Außerdem hat die Mastereinheit bei dieser Zeit festgestellt, daß die nächste zu adressierende Adresse nicht in derselben Seite wie die vorherige Operation sein wird und die Burstoperation folglich beendet werden muß. Das Signal MSBURST* wird hoch gemacht, und die volle Adresse wird auf den Leitungen LA< 31-2> vorgelegt. Bei Zeit 430, der ansteigenden Flanke des Signals BCLK, tastet die Mastereinheit die Datenwerte ab und speichert sie ein, die durch die antwortende Einheit vorgelegt wurden, und setzt das Signal W-R auf einen hohen Pegel, um eine Schreiboperation anzuzeigen. Außerdem wird das Signal START* tief gemacht, und das Signal CMD* wird hoch gemacht, um das Ende einer Burstoperation und den Beginn einer anderen Operation anzuzeigen. Schließlich tastet bei Zeit 430 die antwortende Einheit das Signal MSBURST* ab und stellt fest, daß ein Burst beendet und deshalb eine volle Adressendecodierung erforderlich ist. Bei Zeit 432, der abfallenden Flanke des Signals BCLK, wird das Signal BALE hoch gemacht. Vor der ansteigenden Flanke des Signals BCLK, bei Zeit 434, müssen die Signale EX32*, EX16* und SLBURST* gültig sein. In diesem Fall antwortet eine 32-Bit Einheit der erweiterten Norm, die burstfähig ist, so daß die Signale EX32* und SLBURST* tief gehen. Bei Zeit 432 beginnt die Mastereinheit, die Daten auf den Datenleitungen vorzulegen. Bei Zeit 434 wird das Signal BALE tief gesetzt, das Signal START* wird hoch gesetzt, und das Signal CMD* wird tief gesetzt. Außerdem werden die Signale EX32*, EX16* und SLBURST* abgetastet und es wird festgestellt, daß eine burstfähige 32-Bit Einheit der erweiterten Norm antwortet. Bei Zeit 436 wird eine neue Adresse auf den Leitungen LA< 9-2> vorgelegt und es wird festgestellt, daß ein Wartezustand nicht erforderlich ist, weil das Signal EXRDY hoch ist. Außerdem wird bei dieser Zeit das Signal MSBURST* tief gemacht, um der antwortenden Einheit anzuzeigen, daß ein Burstzyklus beginnen wird. Bei Zeit 438, dem Ende der Datenphase des Zyklusses AM, wird das Signal MSBURST* durch die antwortende Einheit abgetastet und es wird festgestellt, daß eine Burstoperation stattfindet. Folglich tastet bei dieser Zeit die antwortende Einheit die Daten ab, die durch die Mastereinheit auf den Datenleitungen vorgelegt wurden, weil die Mastereinheit bei dieser Zeit die Daten ändert.
  • Bei Zeit 440, der nächsten abfallenden Flanke des Signals BCLK, tastet die Mastereinheit die Leitung EXRDY ab und stellt fest, daß keine Wartezustände hinzuzufügen sind. Bei dieser Zeit ändert die Mastereinheit die Leitungen LA< 9-2> , um die nächste Adresse vorzulegen, in diesem Fall die Adresse des Zyklusses A0. Bei Zeit 442, der nächsten ansteigenden Flanke des Signals BCLK, werden die Daten durch die antwortende Einheit gespeichert und durch die Mastereinheit umgeschaltet. Ebenfalls bei dieser Zeit tastet die antwortende Einheit das Signal MSBURST* ab und stellt fest, daß eine Burstoperation andauert. Bei Zeit 444, der abfallenden Flanke des Signals BCLK, werden die Werte LA< 31-2> geändert, weil der Master eine Operation auf einer neuen Seite beginnt. Daher wird bei dieser Zeit das Signal MSBURST* hoch gemacht, wobei das Signal SLBURST* als Reaktion auf die Änderung in der Adresse hoch geht. Außerdem tastet bei dieser Zeit die Mastereinheit die Leitung EXRDY ab und stellt fest, daß ein Wartezustand nicht erforderlich ist. Bei Zeit 446, der ansteigenden Flanke des Signals BCLK und dem Abschluß der Datenphase des Zyklusses A0, tastet die antwortende Einheit das Signal MSBURST* ab und stellt fest, daß eine Burstoperation vollendet worden ist. Bei dieser Zeit tastet die antwortende Einheit die Daten ab, die durch die Mastereinheit vorgelegt worden sind, die die Daten bei dieser Zeit entfernt. Ebenfalls bei dieser Zeit wird das Signal START* tief gemacht, und das Signal CMD* wird hoch gemacht, um einen Übergang auf den nächsten Zyklus anzuzeigen. Somit ist zu sehen, daß eine 16-Bit Mastereinheit der erweiterten Norm Burstoperationen in einer Weise ausführen kann, die der einer 32-Bit Mastereinheit der erweiterten Norm ähnlich ist, und antwortende Einheiten mit entweder 16 oder 32 Bit Breite nach der erweiterten Norm verwenden kann.
  • Fig. 5 zeigt das Zeitdigramm für die Antwort einer Abwärts-Mastereinheit (step down) der erweiterten Norm. Eine Abwärts-Mastereinheit ist eine, die 32 Bit breit ist, aber für Burstoperationen mit 16-Bit Einheiten der erweiterten Norm arbeiten kann. Während diese Abwärts-Mastereinheit folglich alle Datenübersetzungen zwischen den hohen und tiefen Wörtern des 32-Bit Doppelwortes sowohl zum Lesen als auch zum Schreiben durchführen muß, ist dies vorzuziehend, weil Burstoperationen ausgeführt werden können, die schneller sind als der Systemplatine zu erlauben, 16-Bit Nicht-Burstoperation der erweiterten Norm durchzuführen und die Daten in ein 32-Bit Doppelwort zusammenzusetsen, um sie der Mastereinheit vorzulegen. Während eine solche Zusammensetzungsoperation mindestens 5 BCLK-Signalzyklen braucht, um 32 Bits an Information zu übertragen, können, sobald eine Burstoperation begonnen hat, die selben 32 Bits bei Verwendung der 16-Bit Burstoperation in 2 BCLK-Signalzyklen übertragen werden. Für erweiterte Burstoperationen kann es daher erwünscht sein, daß die Mastereinheit in einem Abwärtsmodus arbeitet, um die gesamte Datenübertragung zu beschleunigen. Weil es einen Weg geben muß, um zwischen einer 16-Bit Mastereinheit der erweiterten Norm und einer Abwärts-Mastereinheit zu unterscheiden, setzt eine Abwärts-Mastereinheit das Signal MASTER16* nur tief, wenn das Signal START* tief gemacht wird, und setzt das Signal MASTER16* zu anderen Zeiten hoch. Dies erlaubt den Datenführungs- und -umwandlungsschaltungen der Systemplatine, festzustellen, daß sie nicht arbeiten müssen, obwohl eine offensichtliche Nichtübereinstimmung zwischen der Größe der Mastereinheit und der Größe der antwortenden Einheit auftritt.
  • Der erste exemplarische Zyklus beginnt bei Zeit 500, einer abfallenden Flanke des Signals BCLK, wenn die Abwärts-Mastereinheit die Adressen auf den Leitungen LA< 31-2> vorlegt. Bei der nächsten ansteigenden Flanke des Signals BCLK, bei Zeit 502, wird in dem gegebenen Beispiel das Signal W-R tief gesetzt, das Signal CMD* wird hoch gesetzt, und die Signale START* und MASTER16* werden tief gesetzt, um anzuzeigen, daß eine neuer Zyklus beginnt und daß eine Abwärts-Mastereinheit vorhanden ist. Bei Zeit 504, der abfallenden Flanke des Signals BCLK, wird das Signal BALE hoch gesetzt, und die Daten aus dem vorherigen Schreibzyklus werden von dem Datenbus entfernt. Vor der nächsten ansteigenden Flanke des Signals BCLK, bei Zeit 506, müssen die Signale EX32*, EX16* und SLBURST* gültig sein. In diesem Fall antwortet eine 32-Bit Einheit der erweiterten Norm, die Burstoperationen unterstützen kann, so daß die Signale EX32* und SLBURST* tief sind. Bei Zeit 506 werden die drei Signale abgetastet, die Signale START* und MASTER16* werden hoch gesetzt, und das Signal CMD* wird tief gesetzt. Bei Zeit 508 liefert die Mastereinheit eine neue Adresse auf den Leitungen LA< 9-2> und setzt das Signal MSBURST* tief, weil das Signal EXRDY hoch ist, um anzuzeigen, daß ein Wartezustand nicht erforderlich ist. Bei Zeit 510, der ansteigenden Flanke des Signals BCLK, liest die Mastereinheit die Daten, die durch die antwortende Einheit vorgelegt worden sind. Außerdem tastet die antwortende Einheit das Signal MSBURST* ab, um festzustellen, daß eine Burstoperation im Gange ist. Bei Zeit 512, der abfallenden Flanke des Signals BCLK, legt die Mastereinheit eine neue Adresse auf den Leitungen LA< 9-2> vor und tastet die Leitung EXRDY ab, um festzustellen, ob Wartezustände benötigt werden. Bei Zeit 514 werden die durch die Mastereinheit abgetasteten Daten durch die antwortende Einheit entfernt. Außerdem wird bei dieser Zeit das Signal MSBURST* durch die antwortende Einheit abgetastet, um festzustellen, daß eine Burstoperation andauert. Bei Zeit 516 stellt die Mastereinheit fest, daß die nächste Adresse außerhalb der momentanen Seite liegen wird und daher eine volle Adresse vorgelegt werden muß. Folglich wird diese volle Adresse auf den Leitungen LA< 31-2> und BE*< 3-0> vorgelegt, und das Signal MSBURST* wird hoch gemacht, um anzuzeigen, daß die Burstoperation nicht weitergehen wird. Bei Zeit 518, der ansteigenden Flanke des Signals BCLK, geht der letzte Zyklus AR der Burstoperation zu Ende, wobei die Mastereinheit die Daten abtastet, die dann durch die antwortende Einheit entfernt werden. Ebenfalls bei dieser Zeit wird das Signal MSBURST* durch die antwortende Einheit abgetastet, die feststellt, daß eine Burstoperation abgeschlossen ist. Außerdem werden die Signale START* und MASTER16* tief gesetzt, und das Signal CMD* wird hoch gesetzt, weil ein neuer Zyklus, in diesem Fall der Zyklus AS, voranschreitet.
  • Bei Zeit 520 wird das Signal BALE hoch gesetzt, und die Daten werden dem Datenbus vorgelegt, weil dies eine Schreiboperation ist. In diesem Fall gehen vor Zeit 522, der ansteigenden Flanke des Signals BCLK, die Signale EX16* und SLBURST* tief, um anzuzeigen, daß eine 16-Bit Einheit der erweiterten Norm, die Burstoperationen handhaben kann, antwortet. Bei Zeit 522 gehen die Signale START* und MASTER16* hoch, das Signal CMD* geht tief, und die Signale EX16*, EX32* und SLBURST* werden abgetastet. In diesem Fall wird die Mastereinheit auf eine Größe von 16 Bit herabsetzen müssen, um eine Burstoperation zu erlauben. Bei Zeit 524 wird die nächste Adresse durch die Abwärts-Mastereinheit auf den Leitungen LA< 9-2> vorgelegt. In diesem Fall können die Adressen in der Tat dieselben sein, weil, wenn z.B. ein volles 32-Bit Doppelwort angefordert wurde und nur 16 Bits durch die 16-Bit Einheit geliefert wurden, sich die Adresse nicht ändern würde, sondern zu dieser Zeit nur die Leitungen BE*< 3-0> geändert werden würden. Ebenfalls bei dieser Zeit wird das Signal MSBURST* tief gesetzt, um der antwortenden Einheit anzuzeigen, daß eine Burstoperation stattfinden wird. Bei Zeit 526, dem Ende der Datenphase des Zyklusses AS und der ansteigenden Flanke des Signals BCLK, tastet die antwortende Einheit das untere Doppelwort ab, das durch die Abwärts-Mastereinheit vorgelegt wird, und tastet das Signal MSBURST* ab, um festzustellen, daß eine Burstoperation stattfindet. Ebenfalls bei dieser Zeit beginnt die Abwärts-Mastereinheit das hohe Wort, das vorangehend auf den oberen Datenleitungen vorgelegt worden war, auf den unteren 16 Datenleitungen vorzulegen, um der antwortenden Einheit zu erlauben, die Übertragung richtig zu handhaben. Bei Zeit 528, der abfallenden Flanke des Signals BCLK, setzt die Mastereinheit das Signal MSBURST* hoch, weil eine neue Adresse vorgelegt werden wird, die außerhalb der Seitengrenze liegt, und die Adresse wird auf den Leitungen LA< 31-2> und BE*< 3-0> vorgelegt. Bei Zeit 530, dem Ende des Burstzyklusses der Zyklen AS und AT, werden die hohen Wortdaten, die durch die Mastereinheit vorgelegt wurden, durch die antwortende Einheit abgetastet, und die antwortende Einheit stellt fest, daß das Signal MSBURST* hoch ist, um das Ende einer Burstoperation anzuzeigen. Außerdem wird bei dieser Zeit das Signal START* tief gesetzt, das Signal CMD* wird hoch gesetzt, und das Signal MASTER16* wird tief gesetzt, um den Beginn einer neuen Operation anzuzeigen.
  • Die Zyklen AU, AV und AW sind ähnlich den Zyklen AP, AQ und AR und gehen von Zeit 530 bis Zeit 546. Eine Abwärts-Mastereinhei kann folglich abhängend von der Größe der antwortenden Einheit 16-Bit Burstoperationen und 32-Bit Operationen ausführen.
  • Die Zeitzyklen für DMA-Operationen werden in Fig. 6, 7, 8 und 9 für Speicherlese- und -schreiboperationen gezeigt. Die DMA-Einheit, die Service anfordert, setzt die Leitung DREQx zwischen den Zeiten 600 und 602 hoch, um dem DMA-Controller anzuzeigen, daß Service benötigt wird. Das Signal BALE (nicht gezeigt) wird durch den DMA-Controller hoch gemacht, um den ISA-Einheiten anzuzeigen, daß die Adressen, die auf den Adressenleitungen erscheinen, gültig sind. Das Signal AEN (nicht gezeigt) geht ebenfalls bei dieser Zeit hoch, um alle E/A- Platzoperationen außer an die anfordernde DMA-Einheit zu sperren. Der DMA-Controller wird alle auf den Leitungen LA und den Leitungen BE*< 3- 0> erschienenden Werte zu den SA-Leitungen weiterleiten, so daß die Adresse auf beiden Bussen immer wahr ist, so daß die geeigneten Speichereinheiten ihre Adresse ermitteln und antworten können. Die Prioritätsauflösungseinheit des DMA-Controllers ermittelt, wann es passend ist, auf die DMA-Anforderung zu antworten, wobei zu dieser Zeit die Leitung DAKx für diesen einzelnen DAM-Kanal tief gemacht wird. Für das in Fig. 4 gezeigte Beispiel ist dies bei Zeit 604 zu erwägen, die eine abfallende Flanke des Signals BCLK ist. Dies leitet den Zyklux AX bei Zeit 606, der nächsten abfallenden Flanke des Signals BCLK, ein, der ein Anfangszyklus einer DMA-Operation ist, die im Burstmodus zu einem 32-Bit Speicher ausgeführt werden wird. Die Daten werden von dem 32-Bit Speicher zu der anfordernden DMA-Einheit übertragen werden. Bei Zeit 606 legt der DMA-Controller die Adressen an die Leitungen LA und BE* an, die automatisch auf die SA-Leitungen übertragen werden, und setzt das Signal M-IO auf einen hohen Zustand, um anzuzeigen, daß gewünscht wird, auf den Speicherraum zuzugreifen. Die DMA- Einheit wird das Signal IOWC* interpretieren, da sie im E/A-Raum und nicht im Speicherraum arbeitet. Bei dieser Zeit wird das Signal W-R tief gesetzt, um anzuzeigen, daß der Speicher gelesen werden wird, aber dieser Signalwechsel könnte einen halben BCLK-Signalzyklus warten. Die adressierte Speichereinheit wird beginnen, die vorgelegten Adressen zu decodieren und anzeigen, ob sie ein 32-Bit erweiterter Speicher ist und ob sie imstande ist, auf einen Burstzyklus zu antworten. Bei Zeit 608, der ansteigenden Flanke des Signals BCLK, geht der Zyklus weiter.
  • Nach Zeit 610, der abfallenden Flanke des Signals BCLK, geht das Signal EX32* tief, um anzuzeigen, daß eine 32-Bit Speichereinheit der erweiterten Norm antworten wird, und das Signal SLBURST* geht tief, um an uzeigen, daß diese einzelne Einheit im Burstmodus arbeiten kann. Die DMA-Einheit wird wegen der Programmierung des DMA-Controllers als burstähig angenommen, so daß das Signal SLBURST* unzweideutig ist. Bei Zeit 612, bei der ansteigenden Flanke des Signals BCLK, wird das Signal START* tief gemacht, und die Signale EX32* und SLBURST* werden abgetastet. Das Signal BCLK unterliegt bei Zeit 614 einem Hoch/Tief-Übergang und bei Zeit 616 einem Tief/Hoch-Übergang. Bei Zeit 616 wird as Signal START* hoch gesetzt, und das Signal CMD* wird tief gesetzt um anzuzeigen, daß die Adresse gespeichert werden sollte und der Datenzyklus beginnen wird. Ebenfalls bei Zeit 616 wird das Signal IOWC* tief gemacht, um der DMA-Einheit anzuzeigen, daß gültige Daten auf dem Datenbus zu erscheinen beginnen. Die DMA-Einheit überwacht die Signale IOWR* und IORC*, um die Datenrichtung der DMA-Operation festzustellen. Dies erlaubt den Speichereinheiten, die Signale M-IO, W-R, START* und CMD* zu benutzen. Das Timing des Signals IOWC* ist dasselbe wie das Timing des Signals CMD*.
  • Bei Zeit 618 geht das Signal BCLK tief. Weil der 32-Bit Speicherlesezyklus zu Ende geht, macht bei dieser Zeit der DMA-Controller die nächste Adresse auf den Leitungen LA< 9-2> und BE*< 3-0> geltend, um die nchste Adresse ganz auf dem Bus vorzulegen. Nur die Leitungen LA< 9-2> und BE*< 3-0> können geändert werden, weil eine Busoperation beginnt. Bei Zeit 618 tastet der Buscontroller das Signal EXRDY ab, um festzustellen, ob ein Wartezustand benötigt wird. In dem gezeigten Fall sind keine Wartezustände erforderlich. Bei dieser Zeit wird gewünscht, einen Burstzyklus zu starten, da jetzt die Speicherstelle auf den Speicherplatinen voll eingerichtet worden ist, so daß die Reihenadressen ganz gespeichert worden sind und die Seitenmodusoperation der DRAMs beginnen kann. Der DMA-Controller setzt folglich das Signal MSBURST* tief, um anzuzeigen, daß ein Burstzyklus beginnt. Dies ist der Beginn des Zykluses AY. Zu der nächsten ansteigenden Flank des Signals BCLK gehend, die bei Zeit 620 erscheint, tastet die DMA-Einheit die Daten ab, die auf dem Datenbus erscheinen, gerade bevor die Speichereinheit die Daten in die der momentan vorgelegten Adresse ändert. Dies beendet den Datenteil des Zyklusses AX und beginnt den Datenteil des ersten kurzen Burstzyklusses AY. Ebenfalls bei Zeit 620 tasten die DMA-Einheit und die antwortende Speichereinheit das Signal MSBURST* ab, um festzustellen, daß eine Burstoperation stattfindet.
  • Zu der abfallenden Flanke des Signals BCLK bei Zeit 622 gehend ist die Leitung EXRDY durch die Speichereinheit oder die DMA-Einheit nicht geltend gemacht worden, und die nächste Adresse wird vorgelegt. Bei Zeit 624, wo das Signal BCLK einen Tief/Hoch-Übergang durchmacht, werden die Daten auf den Datenleitungen geändert, um die neuen Daten widerzuspiegeln, die bei der nächsten Adresse vorhanden sind, und die DMA-Einheit speichert die Daten vor der Änderung. Beginnend bei dieser Zeit und vor der abfallenden Flanke des Signals BCLK bei Zeit 626 setzt die Speichereinheit die Leitung EXRDY tief, um anzuzeigen, daß sie nicht imstande sein wird, ausreichend schnell zu antworten, und daß daher ein Wartezustand erforderlich ist. Während das Hinzufügen von Wartezuständen in einer ähnlichen Weise bei Nicht-DMA- Burstoperationen vorgenommen werden kann, ist es im allgemeinen nicht erwünscht, weil ein Nicht-DMA-Burstzyklus mit einem Wartezustand die gleiche Länge wie ein normaler Zyklus aufweist. Bei DMA-Operationen ist jedoch ein normaler Zyklus drei oder vier BCLK-Signalzyklen lang, und ein Burstzyklus ist einen BCLK-Signalzyklus lang, so daß Wartezustände hinzugefügt werden können und die sich ergebenden Zykluszeiten gegenüber Standardzyluszeiten noch verbessert werden können. Außerdem tastet bei Zeit 624 die DMA-Einheit und die antwortende Speichereinheit das Signal MSBURST* ab, um festzustellen, daß eine Burstoperation im Gange ist.
  • Bei Zeit 626 macht dann der DMA-Controller die nächste Adresse geltend und erkennt außerdem die Notwendigkeit des Wartezustandes. Die Sequenz geht dann über die ansteigende Flanke des Signals BCLK bei Zeit 628 und die abfallende Flanke bei Zeit 630. Bei Zeit 628 tasten die DMA-Einheit und die antwortende Speichereinheit das Signal MSBURST* ab, um festzustellen, ob die vorgelegte Adresse Teil einer Burstoperation ist. Das Abtasten erfolgt bei dieser Zeit, weil die neue Adresse vorgelegt worden ist. Vor der abfallenden Flanke bei Zeit 630 hat die Speichereinheit das Signal EXRDY entfernt, so daß es in einen hohen Zustand zurückkehrt, um anzuzeigen, daß die Einheit bereit wäre. Diese Zeit leitet im wesentlichen den Beginn des Adressenzyklusses für den Zyklus AZ ein, obwohl die Adresse vorher bei Zeit 626 auf den Adressenleitungen vorgelegt worden ist. Bei Zeit 632, der ansteigenden Flanke des Signals BCLK, werden die Daten gespeichert und geändert, um zu dem nächsten Zyklus zu gehen. Bei der abfallenden Flanke des Signals BCLK, bei Zeit 634, wird die Adresse erneut geändert, weil der Burstzyklus noch andauert. Außerdem werden bei dieser Zeit das Signal DREQx tief und das Signal T-C hoch gesetzt, wobei beide anzeigen, daß der DMA-Zyklus zu Ende geht. Bei der nächsten Flanke des Signals BCLK, bei Zeit 636, die eine ansteigende Flanke ist, werden die Daten gespeichert und in die bei der vorgelegten Adressenstelle befindlichen getauscht, und die antwortende Speichereinheit und die DMA-Einheit tasten das Signal MSBURST* ab. Bei Zeit 638, der abfallenden Flanke des Signals BCLK, werden die Adressen schwebend gemacht, weil dies der letzte Zyklus in der DMA-Übertragung ist, was auch die Signale EX32* und SLBURST* veranlaßt, hoch zu gehen. Das Signal MSBURST* wird durch den DMA-Controller hoch gesetzt, und die Leitungen W-R und M-IO werden schwebend gemacht, um der nächsten Einheit zu erlauben, diese Leitung zu steuern. Bei Zeit 640 werden die Signale CMD* und IOWC* hoch gesetzt, um anzuzeigen, daß die auf den Datenleitungen erscheinenden Daten durch die geeignete Einheit gespeichert werden sollten und die Daten entfernt werden. Dies vollendet den Datenübertragungszyklus BB. Um die DMA-Übertragungsoperation bei Zeit 642 ganz zu vollenden, wird das Signal BALE tief gesetzt, um ISA-Einheiten anzuzeigen, daß Adressen, die auf dem Bus erscheinen, nicht mehr gültig sind, das Signal AEN wird tief gesetzt, um E/A-Platzoperationen zu erlauben, stattzufinden, das Signal T-C wird tief gesetzt, und das Signal DAKx* wird hoch gesetzt, um anzuzeigen, daß der DMA-Zyklus vollendet ist.
  • Dies ist im wesentlichen eine Operation gewesen, die Information von dem Speicher zu der DMA-Einheit überträgt, d.h. eine Speicherleseund E/A-Schreiboperation. Fig. 7 zeigt eine Speicherschreib- und E/A- Lesesituation, wo Daten von der DMA-Einheit zum Speicher übertragen werden. Die Zyklen sind im allgemeinen dieselben außer, daß das Signal W-R in einem hohen Zustand ist, um ein Speicherschreiben anzuzeigen, anstelle eines tiefen Zustands, der ein Speicherlesen anzeigt. Außerdem wird das Signal IORC* anstelle des Signals IOWC* benutzt, und das Signal EXRDY wird während des regulären Zyklusses getrieben, der eine Burstoperation startet. Das Signal IORC* wird verwendet, um Daten von der DMA-Einheit auf dem Bus freizugeben, und hat daher ein anderes Timing als das Signal IOWC*. Das heißt, das Signal IORC* geht bei Zeit 610 tief, und bei Zeit 612 werden die Daten auf den Datenleitungen vorgelegt. Das Signal IORC* bleibt bis Zeit 638 tief, wo es hoch gesetzt wird, um anzuzeigen, daß die Daten bald von den Datenleitungen entfernt werden. Das Signal EXRDY wird bei Zeit 612 durch den DMA-Controller tief gesetzt, um die Datenvorlegezeit der DMA-Einheit während des ersten Zyklusses zu verlängern. Der Leitung EXRDY wird erlaubt, hoch zu schweben, wie durch die schräge Linie angezeigt, nicht hoch getrieben, wie es in den meisten Fällen gemacht wird, so daß, sollte die Speichereinheit oder die DMA-Einheit einen Wartezustand hinzufügen müssen, es keinen Signalpegelkonflikt gibt. Im übrigen sind die Timings von Fig. 7 denen von Fig. 6 ähnlich.
  • Fig. 8 und Fig. 9 offenbaren verschiedene Speicherlese- und Speicherschreibzyklen, wobei der erste Satz für Burstoperationen gilt, wo aber die antwortende Speichereinheit zu Burstoperationen nicht fähig ist, und wobei der zweite Satz von Operationen an einen burstfähigen Speicher gerichtet ist. Bei einer Zeit zwischen der ansteigenden Flanke des Signals BCLK, bei Zeit 700, und der abfallenden Flanke des Signals BCLK, bei Zeit 702, wird die Leitung DREQx hoch gesetzt, um eine DMA-Anforderung durch die DMA-Einheit anzuzeigen. Bei Zeit 704, einer abfallenden Flanke des Signals BCLK, geht das Signal DAKx* tief, um anzuzeigen, daß die DMA-Anforderung bestätigt worden ist und der Zyklus fortschreiten kann. Bei Zeit 706, der nächsten abfallenden Flanke des Signals BCLK, legt der DMA-Controller die Adressen auf den Leitungen LA< 31-2> und BE*< 3-0> vor und setzt die Leitung M-IO hoch und das Signal W-R tief, um anzuzeigen, daß der Speicher gelesen wird, um so anzuzeigen, daß die Daten in den E/A-Raum geschrieben werden. Bei einer Zeit zwischen Zeit 706 und Zeit 712, der zweiten ansteigenden Flanke des Signals BCLK, sollten die Signale EX32* und SLBURST* auf ihren definierten Pegeln sein. Bei Zeit 712 wird das Signal START* tief gesetzt, um den Beginn eines Zyklusses anzuzeigen. Bei Zeit 712 werden die Signale EX32* und SLBURST* abgetastet. In diesem Fall ist das Signal EX32* tief, um anzuzeigen, daß eine 32-Bit Speichereinheit der erweiterten Norm antwortet, aber das Signal SLBURST* ist hoch, um anzuzeigen, daß diese Einheit nicht burstfähig ist. Dieses Beispiel wird gegeben, um das Nicht-Burst-Fallback-Timing der bevorzugten Ausführung des DMA-Controllers zu zeigen.
  • Bei Zeit 706, der nächsten ansteigenden Flanke des Signals BCLK, wird das Signal START* hoch gesetzt, das Signal CMD* wird tief gesetzt, und das Signal IOWC* wird tief gesetzt. Außerdem beginnen die Daten auf dem Datenbus zu erscheinen. Bei Zeit 718, der abfallenden Flanke des Signals BCLK, wird das Signal EXRDY abgetastet, um festzustellen, ob Wartezustände benötigt werden. In diesem Fall sind keine Wartezustände erforderlich. Bei Zeit 720, der ansteigenden Flanke des Signals BCLK, ist dies, weil keine Wartezustände benötigt werden, das Ende des Datenübertragungszyklusses, und so werden die Signale CMD* und IOWC* hoch gesetzt und die Daten von dem Datenbus entfernt. Bei Zeit 722, der abfallenden Flanke des Signals BCLK, werden die nächsten Adressen auf den Leitungen LA< 31-2> und BE*< 3-2> vorgelegt, und das Signal T-C wird hoch gesetzt, um anzuzeigen, daß dies die letzte Übertragung in der DMA-Operation ist. Bei Zeit 724, der ansteigenden Flanke des Signals BCLK, wird das Signal START* tief gesetzt, um anzuzeigen, daß die Operation beginnt. Bei Zeit 728, der nächsten ansteigenden Flanke des Signals BCLK, wird das Signal EX32* abgetastet, um die Breite der antwortenden Einheit zu festzustellen. In diesem Fall antwortet eine 32-Bit Einheit. Es wird keine weitere Prüfung vorgenommen, um festzustellen, ob die antwortende Einheit Burstoperationen ausführen kann, weil eine DMA-Operation sequentiell ist, und wenn die erste Adresse nicht burstfähig ist, es aus Gründen der Leistung genügt, zu schließen, daß die übrigen Adressen in der Übertragung nicht burstfähig sein werden. Dies erlaubt es, die Übertragungen in drei BCLK-Signalzyklen anstelle von vier vorzunehmen, was erforderlich wäre, wenn bei jeder Übertragung eine Burstentscheidung getroffen würde. Ebenfalls bei Zeit 728 wird das Signal START* hoch gesetzt, die Signale CMD* und IOWC* werden tief gesetzt, und die Daten beginnen, durch die Speichereinheit vorgelegt zu werden.
  • Bei Zeit 730, der abfallenden Flanke des Signals BCLK, wird die Leitung EXRDY abgetastet, um festzustellen, ob die Wartezustände nötig sind, und die Leitung T-C wird abgetastet, um festzustellen, ob dies der letzte Zyklus ist. Weil keine Wartezustände nötig sind, werden bei Zeit 732, der ansteigenden Flanke des Signals BCLK, die Signale CMD* und IOWC* hoch gesetzt, und die Daten werden von den Datenleigungen entfernt. Bei Zeit 734, der abfallenden Flanke des Signals BCLK, werden die Adressen von den Adressenleitungen entfernt, um so das Signal EX32* zu veranlassen, hoch zu gehen, dem Signal W-R wird erlaubt, zu schweben, und das Signal T-C wird tief gesetzt. In diesem Fall ist das Signal T-C benutzt worden, um das Ende des DMA-Zyklusses anzuzeigen, der somit bei Zeit 736 und Zeit 738 fertig ist.
  • Zum Zweck dieser Erklärung geht bei Zeit 750, einer abfallenden Flanke des Signals BCLK, das Signal DAKx* tief, um anzuzeigen, daß eine DMA-Anforderung bestätigt worden ist. Bei Zeit 752, der nächsten abfallenden Flanke des Signals BCLK, legt der DMA-Controller die Adressen auf den Leitungen LA< 31-2> und BE*< 3-0> vor. Außerdem wird das Signal M-IO hoch geetzt, und das Signal W-R wird tief gesetzt. Vor Zeit 758, der zweiten ansteigenden Flanke des Signals BCLK, muß die antwortende Einheit die Signale EX32* und SLBURST* richtig treiben. In diesem Fall geht das Signal EX32* tief, und das Signal SLBURST* geht tief, um anzuzeigen, daß eine burstfähige 32-Bit Einheit antworten wird. Bei Zeit 758 wird das Signal START* tief gesetzt, um den Beginn des Zyklusses BE anzuzeigen. Bei Zeit 758 werden die Signale EX32* und SLBURST* abgetastet, um festzustellen, ob Burstoperationen ausgeführt werden können, und um die Größe der antwortenden Einheit festzustellen. Bei Zeit 762, der nächsten ansteigenden Flanke des Signals BCLK, wird das Signal START* hoch gesetzt, die Signale CMD* und IOWC* werden tief gesetzt, und die Daten werden auf den Datenleitungen vorgelegt. In diesem Fall wird keine Burstoperation beginnen, weil festgestellt wird, daß die nächste Adresse eine Seitengrenze kreuzen wird und daher keine Burstoperation eingeleitet wird. Somit wird bei Zeit 764 ein neuer Satz von Adressenwerten auf den Leitungen LA< 31-2> und BE*< 3-0> vorgelegt. Außerdem wird die Leitung EXRDY abgetastet, um festzustellen, ob Wartezyklen nötig sind. In diesem Fall sind keine nötig. Ebenfalls bei dieser Zeit wird die Leitung T-C abgetastet, um festzustellen, ob der DMA-Zyklus zu Ende gehen wird, weil dies das letzte zu übertragende Datenstück ist. Auch in diesem Fall ist es nicht. Bei Zeit 766, der ansteigenden Flanke des Signals BCLK, wird das Signal DREQx abgetastet, um festzustellen, ob der Zyklus wegen des Entfernens einer DMA-Anforderung zu Ende gehen wird. Ebenfalls bei Zeit 766 werden die Signale CMD* und IOWC* hoch gesetzt, und die Daten werden von den Datenleitungen entfernt. Dies beendet den Datenteil des Zyklusses BE und leitet den Datenteil des Zyklusses BF ein.
  • Zwischen den Zeiten 768 und 770 muß die antwortende Einheit die Signale EX32* und SLBURST* richtig setzen. In diesem Fall wird es getan, indem beide Werte tief sind. Bei Zeit 770 wird das Signal START* tief gesetzt, um anzuzeigen, daß ein neuer Zyklus beginnt. Bei Zeit 770 werden die Signale EX32* und SLBURST* abgetastet, um die Größe des Speichers der antwortenden Einheit festzustellen, und ob sie zum Antworten in einem Burst imstande ist. Auch in diesem Fall ist sie eine 32-Bit Einheit und burstfähig. Bei Zeit 774, der nächsten ansteigenden Flanke des Signals BCLK, wird das Signal START* hoch gesetzt, und das Signal IOWC* wird tief gesetzt. Schließlich werden bei dieser Zeit Daten auf dem Datenbus vorgelegt. Bei Zeit 776, der nächsten abfallenden Flanke des Signals BCLK, wird das Signal DREQx entfernt, wobei dies die benutzte Methode ist, um anzuzeigen, daß die DMA-Anforderung in diesem Fall nicht mehr gültig ist. Ebenfalls bei dieser Zeit wird das Signal EXRDY abgetastet, um festzustellen, ob Wartezustände erforderlich sind. In diesem Fall sind keine nötig. Außerdem wird bei dieser Zeit die nächste Adresse auf den Leitungen LA< 9-2> vorgelegt, wobei dies angemessen ist, weil eine Burstoperation ausgeführt werden wird. Schließlich wird bei dieser Zeit das Signal MSBURST* tief gesetzt, um den verschiedenen Einheiten anzuzeigen, daß eine Burstoperation geschieht.
  • Bei Zeit 778 endet der Datenteil des Zyklusses BF, und der Datenteil des Zyklusses BG, ein Burstzyklus, beginnt. Bei Zeit 778 stellt der DMA-Controller fest, daß die Leitung DREQx tief gesetzt worden ist, so daß dies der letzte Zyklus der Operation ist. Ebenfalls bei dieser Zeit werden die Daten des Datenbusses geändert, um die des zweiten übertragenen Wertes vorzulegen. Im Fall eines Bursts kann daher die DMA-Einheit die ansteigende Flanke des Signals IOWC* nicht verwenden, um die Daten zu speichern, sondern muß die ansteigende Flanke des Takts benutzen, um die Daten zu speichern. Bei Zeit 870 werden, weil dies das Ende der DMA-Opartion ist, die Adressen entfernt, was die Signale EX32* und SLBURST* veranlaßt, hoch zu gehen und somit das Signal MSBURST*, hoch zu gehen, und die Leitungen M-IO und W-R werden schwebend gemacht. Außerdem wird das Signal EXRDY abgetastet, um festzustellen, ob ein Wartezyklus nötig ist. Bei Zeit 782 endet der Datenteil des Zyklusses BG, wobei die Signale CMD* und IOWC* hoch gesetzt und die Daten von den Datenleitungen entfernt werden. Das Signal DAKx* wird in nachfolgenden Zyklen hoch gesetzt.
  • Das Timing der Speicherschreiboperationen in Fig. 9 ist etwas ähnlich. In Fig. 9 werden dieselben Zyklen für Speicherschreib- und E/A-Lesezustände gezeigt. Die Timings der Signale sind im allgemeinen gleich, außer für das Signal EXRDY, dem Vorhandensein oder der Verwendung des Signals IORC* anstelle des Signals IOWC*, das außerdem ein anderes Timing hat, und der Treibquelle der Datenleitungen während bestimmter Teile der Operationen. Bei Zeit 710 wird das Signal IORC* im Zyklus BC tief gesetzt, so daß die Daten von der DMA-Einheit zu erscheinen beginnen können. Bei Zeit 712 setzt der DMA-Controller das Signal EXRDY für einen halben BCLK-Signalzyklus tief, um die DMA-Einheit zu veranlassen, einen einzigen Wartezustand anzuwenden, um den Daten zu erlauben, einen weiteren BCLK-Signalzyklus präsent zu sein. Ebenfalls bei dieser Zeit wird angenommen, daß die Daten von der DMA-Einheit auf den Datenleitungen zu erscheinen beginnen. Bei Zeit 714, der abfallenden Flanke des. Signals BCLK, entfernt der DMA-Controller die Treibquelle von der Leitung EXRDY, was der Leitung erlaubt, zu schweben, so daß im Widerspruch stehende Treiber nicht vorhanden sind, wenn die antwortende Einheit das Signal EXRDY treiben muß. Ein weiterer Unterschied in diesem Zyklus ist, daß beginnend bei etwa der Zeit 716 die Systemplatine anfängt, die Datenleitungen mit denselben Werten wie denjenigen zu treiben, die durch die DMA-Einheit vorgelegt werden. Weil in diesem Fall die Daten auf den Datenleitungen nicht für eine genügend lange Zeit vorliegen werden, muß sie die Speichereinheit aufzeichnen, und so müssen zwei verschiedene Treibeinheiten benutzt werden. Diese Überlappung ist annehmbar und Konflikte treten nicht auf, weil die Systemplatine die Leitungen bei demselben Pegel wie die DMA-Einheit treibt und folglich keine wesentlichen Probleme auftreten. Bei Zeit 718 wird das Signal IORC* hoch gesetzt, um anzuzeigen, daß die DMA-Einheit aufhören kann, Daten an den Datenbus zu liefern. Die Daten werden dann durch die Systemplatine bis Zeit 722 vorgelegt, wo sie entfernt werden. Die Daten werden daher für eine geringfügig verlängerte Dauer vorgelegt, so daß sie wenigstens richtig vorhandenden sind, bis das Signal CMD* hoch gesetzt wird, und bevorzugt einen halben BCLK-Zxklus danach für herkömmliches Speicherschreiboperationstiming.
  • Weil die zweite Operation bei den Zeiten 722 und 724 beginnt, wird bei Zeit 722 das Signal IORC* wieder tief gesetzt, so daß die nächste vorgelegte Adresse zum Entwickeln der Daten benutzt wird, die auf den Datenleitungen vorgelegt werden. Bei Zeit 724 wird das Signal RXRDY tief gesetzt, um eine Verlängerung der Operation der DMA-Einheit um einen Wartezustand bereitzustellen. Bei Zeit 726 erlaubt der DMA-Controller der Leitung EXRDY, hoch zu schweben. Bei den Zeiten 728 bis 730 verriegelt die Systemplatine die Datenleitungen und beginnt, sie auf die passenden Werte zu treiben, so daß, wenn die Leitung IORC* bei Zeit 730 entfernt wird, die Daten bis Zeit 734 für richtige Schreibzyklusoperationen in den Speicher vorgelegt werden können.
  • Diese Timings weichen für Schreibzyklus-Burstoperationen etwas ab, wie in Fig. 9 gezeigt. Z.B. geht die Leitung IORC* bei Zeit 756 tief, und die Leitung EXRDY geht bei Zeit 758 tief. Außerdem werden die Daten durch die DMA-Einheit bei Zeit 758 auf dem Bus vorgelegt und bei Zeit 766 entfernt. Das Signal wird EXRDY wird durch den DMA-Controller bei Zeit 760 freigegeben, und das Signal IORC* wird bei Zeit 764 hoch gesetzt. Ähnlich wird im Zyklus BF das Signal IORC* bei Zeit 768 tief gesetzt, das Signal EXRDY wird bei Zeit 770 tief gesetzt und bei Zeit 772 freigegeben, wobei die Daten von Zeit 770 bis Zeit 778 vorgelegt werden. Die Systemplatine treibt die Datenleitungen während des ersten Zyklusses in der Burstoperation nicht, weil die Daten nur für zwei BCLK-Signalzyklen vorgelegt werden müssen, nicht drei, wie in dem Nicht-Burst-Fall. Der letzte Teil der Daten wird von Zeit 778 bis Zeit 782 bereitgestellt. Das Signal IORC* wird bei Zeit 780 hoch gesetzt, um das Ende des Übertragungszyklusses anzuzeigen.
  • Exemplarische Zustandsmaschinen, die die Burstoperationen wie verlangt durchführen können, werden in Fig. 10, 11 und 12 gezeigt. Fig. 10 ist eine Zustandsmaschine für eine Mastereinheit, die eine Übertragung zum oder vom Speicher durchzuführen wünscht, und Fig. 12 zeigt eine Zustandsmaschine für die Systemplatine. Fig. 11 zeigt eine Zustandsmaschine für einen DMA-Controller, der DMA-Übertragungen zwischen einzelnen DMA-Einheiten im E/A-Raum und erweiterten Speichereinheiten handhabt.
  • Ein exemplarisches Zustandsmaschinendiagramm, das die Operation der Mastereinheit zeigt, wird in Fig. 10 gezeigt. Beim Erklären des Zustandsmaschinendiagramms werden Verzweigugs- oder Übertragungsbedingungen von einem gegebenen Zustand, die bei der nächsten ansteigenden Flanke des Signals BCLK wahr sein müssen, nächst der Verzweigung angezeigt. Alle Übergänge in der Zustandsmaschine von Fig. 10 werden auf der ansteigenden Flanke des Signals BCLK vorgenommen. Die Operation der Mastereinheit beginnt bei Zustand ID, wo die die Zustandsmaschine im Leerlauf ist, weil kein Zyklus ausgeführt wird, z.B., wenn die Mastereinheit nicht die Steuerung des Busses besitzt. Im Zustand ID macht die Masterinheit alle ihre Ausgänge schwebend, weil sie die Steuerung des Busses nicht innehat. Die Steuerung bleibt bei Zustand ID, solange kein Zyklus durch die Mastereinheit ausgeführt wird. Wenn jedoch die Mastereinheit die Steuerung des Busses erlangt, wird dies durch das Vorhandensein eines Signals CYCLE angezeigt, so daß bei der nächsten ansteigenden Flanke des Signals BCLK die Steuerung zum Zustand UA übergeht. Im Zustand UA gewinnt die Mastereinheit die Steuerung des Busses, und nach der abfallenden Flanke des Signals BCLK legt die Mastereinheit die Adressen auf den Leitungen LA< 31-2> und BE*< 3-0> vor und legt die Signale M-IO und W-R vor. Wenn kein Zyklus ausgeführt wird, geht die Steuerung vom Zustand UD zum Zustand ID, und die Mastereinheit kehrt in den Leerlaufzustand zurück.
  • Wenn die Mastereinheit den Zyklus fortsetzen soll, geht die Steuerung vom Zustand UA zum Zustand ST, dem Startzustand. Während des Zustands ST treibt die Mastereinheit die Signale START* und MASTER16* tief, wenn Burstoperationen verlangt werden. Wenn der vorherige Zyklus eine Leseoperation war, speichert die Mastereinheit auf der ansteigenden Flanke des Signals BCLK am Anfang des Zustandes ST die auf den Datenleitungen von der vorherigen Leseoperation vorhandenen Daten. Wenn eine Schreiboperation durchgeführt wird, legt die Mastereinheit die Daten bei der abfallenden Flanke des Signals BCLK auf den Datenleitungen vor. In Fig. 10 werden zwei Übergänge vom Zustand St gezeigt. Ein Übergang tritt unter Bedingungen ein, wo Burstoperationen stattfinden werden, und einer, wo längenkompatible, erweiterte Nicht- Burst-Zyklen ausgeführt werden. Eine dritte Verzweigung, nicht gezeigt, wird genommen, wenn Daten zusammengesetzt, zerlegt oder übertragen werden müssen.
  • Wenn dies ein normaler Zyklus ist, der durch eine richtig bemessene Slaveeinheit der erweiterten Norm beantwortet wird, so daß keine Datenzusammensetzung oder -übertragung erforderlich ist, und das Signal SLBURST* hoch ist, weil die antwortende Einheit nicht burstfähig ist oder eine Burstoperation nicht verlangt wird, geht die Steuerung vom Zustand ST zum Zustand CN. Dieser Zustand wird durch die Tatsache bestimmt, daß die Signale SLBURST* und NOBURSTDES hoch sind und das Signal EX32* oder eine Kombination der Signale MASTER16* und EX16* tief sind. Im Zustand CN treibt die Mastereinheit die Signale START* und MASTER16* hoch und tastet das Signal EXRDY bei der abfallenden Flanke des Signals BCLK ab. Außerdem wird im Zustand CN die nächste Adresse nach der abfallenden Flanke des Signals BCLK bereitgestellt. Das Abtasten des Signals EXRDY wird vorgenommen, so daß die Zustandsmaschine im Zustand CN bleiben kann, bis die Slaveeinheit anzeigt, daß sie bereit ist. Wenn die Slaveeinheit anzeigt, daß sie bereit ist, geht die Steuerung vom Zustand CN zu einem von drei verschiedenen Zuständen. Wenn der Zyklus der Masterinheit weitergehen soll, kehrt die Steuerung zum Zustand ST zurück. Wenn es keinen Zyklus gibt, um fortzufahren, und eine Schreiboperation stattgefunden hat, wie durch den hohen Pegel des Signals W-R angezeigt, kehrt die Steuerung zum Zustand ID zurück. Wenn kein Zyklus durchzuführen ist und eine Leseoperation stattgefunden hat, geht die Steuerung zum Zustand RD. Im Zustand RD werden die Daten von der Leseoperation bei der ansteigenden Flanke des Signals BCLK gespeichert, und die Mastereinheit entfernt sich selbst von dem Bus, indem sie alle Ausgänge bei der ansteigenden Flanke des Signals BCLK schwebend macht. In allen Fällen geht die Steuerung vom Zustand RD zum Zustand ID.
  • Wenn jedoch eine Burstoperation verlangt wurde und die antwortende Einheit burstfähig war, wie durch den tiefen Pegel des Signals SLBURST* und den hohen Pegel des Signals BURSTDES angezeigt, geht die Steuerung zum Zustand CB. Der Zustand CB ist der Haupt-Burstzustand. Beim Verlassen des Zustands ST werden die Signale START* und MASTER16* durch die Mastereinheit hoch gesetzt. Bei der abfallenden Flanke des Signals BCLK wird während des Zustands CB die nächste Adresse vorgelegt. Wenn eine Schreiboperation stattfindet, wird beim Eintritt in den Zustand CB der nächste Satz von Datenwerten durch die Mastereinheit vorgelegt. Wenn eine Leseoperation stattfindet, werden die Daten bei der abfallenden Flanke des Signals BCLK gespeichert, wenn der Zustand CB verlassen wird. Vom Zustand Cb gibt es fünf mögliche Übergänge. Der Zustand CB geht zu sich selbst zurück, wenn das Signal EXRDY tief ist, d.h. das Signal EXRDY* wahr ist, oder, wenn das Signal EXRDY hoch ist, ein Zyklus auszuführen ist, entweder das Signal EX32* tief ist oder nur 16 Bits übertragen werden und die nächste Adresse keinen Seitenwechsel zur Folge hat. Dies ist somit der Standardzyklus, in dem eine Burstoperation umläuft, um so einem BCLK-Signalzyklus zu erlauben, entwickelt zu werden. Die Adresse wird bei der abfallenden Flanke des Signals BCLK im Zustand CB vorgelegt. Außerhalb der Logik der Zustandsmaschine ist die Logik, die benötigt wird, um die auf den Burstzyklen vorgelegten Adressen zu erhöhen oder zu ändem. Dies kann vorgenommen werden, wie es für die gewünschte Einheit angemessen ist. Wenn das Signal EXRDY hoch ist, ein Zyklus verlangt wird, die nächste Adresse einen Seitenwechsel zur Folge haben wird und eine 32-Bit erweiterte Einheit geantwortet hat oder nur 16 Bits zu übertragen sind, geht die Steuerung für einen ganzen Zyklus zum Zustand ST, um die volle Adresse einzurichten.
  • Wenn die antwortende Einheit eine 16-Bit Einheit der erweiterten Norm ist und die Mastereinheit zwei 16-Bit Burstübertragungen umsetzen und ausführen muß, dann geht, wenn das Signal EXRDY hoch ist, das Signal EX32* hoch ist und ein als NOT 16 BIT ONLY bezeichnetes Signal, das anzeigt, daß 24 oder 32 Bits von Daten zu übertragen sind, wahr ist, die Steuerung vom Zustand CB zum Zustand B2. Der Zustand B2 ist der zweite Zyklus einer Operation, der eintritt, wenn die antwortende Einheit eine burstfähige 16-Bit Einheit ist und die Mastereinheit abwärts umsetzt, um den Burst durchzuführen. Im Zustand B2 müssen nur die Signale BE*< 3-0> geändert werden, um die Adresse des zweiten zu übertragenden Wortes zu entwickeln. Diese Änderung wird im Zustand CB bei der abfallenden Flanke des Signals BCLK vorgenommen. Bei der abfallenden Flanke des Signals BCLK im Zustand B2 werden die nächsten Adressenwerte bereitgestellt. Wenn eine Schreiboperation stattfindet, legt die Mastereinheit die nächsten Adressenwerte, die hohen Wortwerte, zum Speichern durch die antwortende Speichereinheit vor. Wenn eine Leseoperation stattfindet, werden die vorgelegten Daten bei der ansteigenden Flanke des Signals BCLK gespeichert, wenn vom Zustand B2 übergegangen wird. Der Zustand B2 hat ebenfalls fünf mögliche Übergänge. Der Zustand geht zu sich selbst, wenn das Signal EXRDY tief ist, um so die Fähigkeit für Wartezustände hinzuzufügen. Wenn ein Zyklus weitergehen soll, das Signal EXRDY hoch ist und kein Seitenwechsel bei der nächsten Adresse vorkommen wird, dann geht die Steuerung zum Zustand CB, so daß eine weitere Operation ausgeführt werden kann. Wenn der Zyklus weitergehen soll, das Signal EXRDY hoch ist und bei der nächsten Adresse ein Seitenwechsel auftreten wird, kehrt die Steuerung für ein neues Signal START* zum Zustand ST zurück. Wenn kein Zyklus auszuführen ist, das Signal EXRDY hoch ist und die Operation eine Schreiboperation ist, geht die Steuerung zum Zustand ID. Wenn kein Zyklus auszuführen ist, das Signal EXRDY hoch ist und die Operation eine Leseoperation ist, geht die Steuerung aus oben genannten Gründen zum Zustand RD.
  • Wenn, während die Steuerung im Zustand CB ist, bei der nächsten ansteigenden Flanke des Signals BCLK das Signal EXRDY hoch ist, eine Schreiboperation ausgeführt wurde, kein Zyklus stattfinden sollte und entweder das Signal EX32* tief war oder nur 16 Bits zu übertragen waren, dann geht die Steuerung zum Zustand ID. Wenn jedoch eine Leseoperation stattgefunden hat, geht die Steuerung zum Zustand RD, um die Leseoperation zu vollenden.
  • Eine Mastereinheit kann folglich Zyklen für eine burstfähige antwortende Einheit, die die richtige Breite hat, ausführen, kann Daten für 16-Bit Einheiten der erweiterten Norm abwärts umsetzen und kann Nicht- Burst-Zyklen ausführen, wenn entweder keine Bursts verlangt werden, wie bei seitenverfehlenden Operationen, oder die Slave- oder antwortende Einheit keine Burstoperationen ausführen kann.
  • In einer alternativen Ausführung der Master-Zustandsmaschine könnte die Definition des Signals CYCLE umdefiniert werden. Wenn ein Seitenwechsel eintreten würde, könnte dies als das Ende eines Zyklusses angesehen werden. In diesem Fall wären die Rückkopplungswege von den Zuständen CB und B2 zum Zustand ST nicht vorhanden. Diese Definition einer Beendigung eines Zyklusses würde das Vorkommen häufigerer Arbitrationen für den Bus erlauben und könnte aus diesem Grund erwünscht sein. Wenn die Rückkopplungswege von den Zuständen CB und B2 beseitigt würden, wären die Zeitdiagramme nicht so wie sie in Fig. 2-5 erscheinen, wenn ein Seitenwechsel eintritt, sondern würden stattdessen an einen Arbitrationsmodus zurückgegeben, wo der Bus freigegeben und ein neuer Arbitrationszyklus angefordert wird.
  • Eine exemplarische DMA-Controller-Zustandsmaschine wird in Fig. 11 gezeigt. Die Zustandsmachine wird bei der ansteigenden Flanke des Signals BCLK vorgerückt, beginnt beim Zustand DA und bleibt im Zustand DA, solange kein DMA-Zyklus beginnt, kein DMA-Zyklus aktiv ist oder der DMA-Kanal für das Bursttiming nicht eingestellt ist. Die Anfangsadresse wird durch den DMA-Controller auf der abfallenden Flanke des Signals BCLK während der letzten Periode im Zustand DA bereitgestellt. Wenn der DMA-Zyklus beginnt, der DMA-Zyklus aktiv und das Burstiming programmiert ist, geht die Steuerung zum Zustand DB. Wenn eine Speicherschreiboperation stattfindet, setzt der DMA-Controller das Signal IORC* bei der abfallenden Flanke des Signals BCLK während des Zustands DB tief. Vom Zustand DB gibt es zwei Ausgänge, die darauf basieren, ob die antwortende Speichereinheit Burstoperationen ausführen kann. Wenn die antwortende Einheit keine Burstoperationen ausführen kann, wie durch den hohen Pegel des Signals SLBURST* oder den hohen Pegel eines Signals EXMEM* angezeigt, wobei dieses Signal eine Kombination des Signals EX32*, wenn 32 Bit breite Übertragungen verlangt werden, und des Signals EX16* ist, wenn 16 Bit breite Übertragungen verlangt werden, geht die Steuerung zum Zustand DC. Im Zustand DC setzt der DMA-Controller das Signal START* tief. Die Steuerung geht vom Zustand DC zum Zustand DJ, wobei der DMA-Controller das Signal START* bei der ansteigenden Flanke des Signals BCLK hoch setzt, wenn der Übergang stattfindet. Wenn eine Speicherschreiboperation geschieht, wird das Signal IORC* bei der abfallenden Flanke des Signals BCLK während des Zustands DJ hoch gesetzt. Wenn eine Speicherleseoperation stattfindet, wird das Signal IOWC* bei der ansteigenden Flanke des Signals BCLK tief gesetzt, wenn der Zustand DJ betreten wird, sofern kein Datenzusammensetzungszyklus verlangt wird, wo das Signal IOWC* hoch bleibt, bis die Daten ganz zusammengesetzt und neu auf den Datenbus getrieben sind. Die Steuerung bleibt im Zustand DJ, wenn festgestellt wird, daß ein Datenzusammensetzungszyklus benötigt wird. Dies wird durch den hohen Pegel des Signals CONT* angezeigt, das anzeigt, daß es für den Zyklus nicht an der Zeit ist, fortzufahren. Sobald es für den Zyklus Zeit ist, fortzufahren, z.B. wenn eine Speichereinheit der erweiterten Norm antwortet oder die Systemplatine die Zusammensetzungsoperation vollendet hat, geht die Steuerung zu einem von drei verschiedenen Zuständen. Wenn eine Speicherleseoperation stattfindet, wird das Signal IOWC* bei der ansteigenden Flanke des Signals BCLK hoch gesetzt, wenn der Zustand DJ verlassen wird, sofern die Daten nicht neu auf den Datenbus getrieben werden müssen, weil eine Zusammensetzungs- oder Übersetzungsoperation erforderlich war.
  • Wenn der DMA-Zyklus nicht mehr aktiv ist und entweder eine erweiterte Speichereinheit der richtigen Breite geantwortet hat oder der Zyklus ein Speicherschreibzyklus ist und eine ISA-Normeinheit antwortete, dann geht die Steuerung zum Zustand DA. Wenn eine erweiterte Speichereinheit richtiger Größe nicht geantwortet hat und der Zyklus ein Lesezyklus ist, geht die Steuerung zum Zustand DK, um die Neutreiboperation auszuführen, die Daten, die durch die Systemplatine zusammengesetzt worden sind, auf dem Datenbus vorlegt. Die Steuerung geht bei der nächsten ansteigenden Flanke des Signals BCLK vom Zustand DK zum Zustand DL. Beim Eintritt in den Zustand DL wird das Signal IOWC* tief gesetzt. Bei der ansteigenden Flanke des Signals BCLK wird das Signal IOWC* hoch gesetzt, wenn der Zustand DL verlassen wird. Die Steuerung geht vom Zustand DL zum Zustand DA, wenn der DMA-Zyklus nicht mehr aktiv ist, oder zum Zustand DH, wenn der DMA-Zyklus weiter aktiv, so daß mehr Übertragungungen stattfinden werden. Der Zustand DH ist außerdem, wo die Steuerung den Zustand DJ verläßt, wenn der DMA-Zyklus noch aktiv ist und entweder eine erweiterte Speichereinheit richtiger Breite geantwortet hat oder es ein Schreibzyklus ist und eine ISA-Normeinheit geantwortet hat. Die nächste Adresse wird bei der abfallenden Flanke des Signals BCLK während des Zustands DH auf die Adressenleitungen gelegt und bei dieser Zeit wird das Signal IORC* tief gesetzt, wenn der Zyklus ein Speicherschreibzykus sein wird. Die Steuerung geht vom Zustand DH zum Zustand DC, um die Übertragungsoperationen fortzusetzen. Das Fallback-Übertragungstiming hat folglich, wenn der DMA-Controller für Burstoperationen programmiert ist und sie nicht ausgeführt werden können, einen ersten Zyklus, der 4 BCLK-Signalzyklen lang ist, und übrige Zyklen, die 3 BCLK-Signalzyklen lang sind.
  • Wenn die antwortende Speichereinheit eine Einheit der erweiterten Norm ist, die burtsfähig ist, wie durch den tiefen Pegel des Signals SLBURST* und den tiefen Pegel des Rückkopplungssignals des richtig bemessenen Speichers erweiterter Norm angezeigt, geht die Steuerung vom Zustand DB zum Zustand DD, wo das Signal START* durch den DMA-Controller tief gesetzt wird. Nach einem BCLK-Signalzyklus in diesem Zustand wird das Signal START* hoch gesetzt, und die Steuerung geht zum Zustand DE. Bei der abfallenden Flanke des Signals BCLK im Zustand DE wird die nächste Adresse durch den DMA-Controller vorgelegt. Das Signal CMD* wird durch den DMA-Controller tief gehalten, während die Zustandsmaschine im Zustand DE ist. Das Signal IORC* wird bei der abfallenden Flanke des Signals BCLK im letzten Zustand DE des Burstzyklusses hoch gesetzt, wenn eine Speicherschreiboperation stattfindet. Wenn ein Speicherlesen stattfindet, geht das Signal IOWC* beim Eintreten in den Zustand DE tief und geht beim Verlassen des Zustands DE hoch. Die Steuerung bleibt im Zustand DE, wenn der DMA-Zyklus weiter aktiv und ist es keinen Seitenwechsel gibt oder wenn das Signal EXRDY tief ist. Der Zustand DE ist somit da, wo die Zustandsmaschine sich während Burstoperationen und während Wartezustandsoperationen befindet. Wenn der DMA-Zyklus weitergeht, das Signal EXRDY hoch ist und ein Seitenwechsel stattfinden wird, das heißt, die nächste vorzulegende Adresse jenseits der Seitengrenze liegt, geht die Steuerung vom Zustand DE zum Zustand DB, so daß die volle Adresse richtig an die antwortende Einheit angelegt werden kann. Wenn das Signal EXRDY hoch ist und der DMA-Zyklus nicht aktiv sein wird oder weitergeht, geht die Steuerung vom Zustand DE zum Zustand DA. Während Burstoperationen werden folglich Daten in einem BCLK-Signalzyklus übertragen, wobei drei BCLK-Signalzyklen benutzt werden, wenn die volle Adresse eingerichtet werden muß.
  • Die letzte interessierende Zustandsmaschine, die in einem System verwendet wird, das die vorliegende Erfindung einschließt, ist eine Systemplatinen-Zustandsmaschine, die zwecks dieser Beschreibung zwei Zustände besitzt, die definiert werden müssen. Der erste Zustand ist der Zustand SA, der effektiv der Leerlaufzustand der Maschine ist. Die Steuerung bleibt im Zustand SA, während das Signal START* tief ist oder während das Signal START* hoch ist, ein DMA-Zyklus stattfindet und der nächste Zustand in der DMA-Zustandsmaschine nicht der Zustand DJ ist. Wenn das Signal START* hoch ist, ein DMA-Zyklus vorliegt und der nächste Zustand der DMA-Zustandsmaschine der Zustand DJ ist, geht die Steuerung zum Zustand SB. Die Steuerung bleibt im Zustand SB, wenn eines der Signale EX16* oder EX32* tief ist und eines der Signale EXRDY oder MSBURST* tief ist. Daher bleibt, wenn eine Einheit mit erweiterter Normspeichergröße beider Breiten antwortet und entweder nicht bereit ist oder ein Burstzyklus im Gange ist, die Steuerung im Zustand SB. Die Steuerung geht vom Zustand SB zu einem ISA-Zusammensetzungsabschnitt (nicht gezeigt), wenn eine 8-Bit Einheit antwortet, wenn eine 16-Bit ISA-Norm-E/A-Einheit antwortet oder eine 16-Bit ISA-Norm-Speichereinheit antwortet. Die Rückkehr von dem ISA- Zusammensetzungsabschnitt der Zustandsmaschine ist eine Rükkehr zum Zustand SA, nachdem die geeigneten Zyklen vollendet worden sind. Der andere Ausgang vom Zustand SB kommt vor, wenn es eine 16-Bit ISA-Norm- Einheit ist und das Signal NOWS* tief ist oder wenn eines der Signale EX16* oder EX32* tief ist, das Signal EXRDY hoch ist und das Signal MSBURST* hoch ist. Diese Zustände zeigen an, daß die antwortende Speichereinheit bereit ist, ihre Operationen zu dieser Zeit zu vollenden, so daß ein Übergang zum Zustand SA angemessen ist, wo der nächste Zyklus vonstatten gehen kann. Die Systemplatinen-Zustandsmaschine treibt das Signal CMD* tief, wenn sich die Zustandsmaschine im Zustand SB gefindet.
  • Die verschiedenen Zustände der Mastereinheit-Zustandsmaschine und der DMA-Controller-Zustandsmaschine liegen auf den geeigneten Zeichnungen vor, so daß die Funktion der Zustandsmaschinen in bezug auf die Zeitdiagramme leicht verfolgt werden kann.
  • Somit ist zu sehen, daß die vorliegende Erfindung ein Computersystem vorsieht, das unter bestimmten Betriebsarten eine sehr hohe Datenübertragungsgeschwindigkeit aufweist, die bedeutend höher ist als normale Geschwindigkeiten für entweder Mastereinheit-Speicheroperationen oder DMA-Operationen.
  • Die vorangehende Offenbarung und Beschreibung der Erfindung sind zu ihrer Veranschaulichung und Erklärung und verschiedene Änderungen in der Größe, der Form, den Materialien, den Komponenten, den Schaltungsel ementen, den Verdrahtungsverbindungen, den Kontakten sowie in den Details der veranschaulichten Schaltkreise und des Aufbaus und der Wirkungsweise können vorgenommen werden, ohne vom Umfang der Erfindung abzuweichen.

Claims (13)

1. Computersystem, das einen Speicher, eine Systemplatine und eine Mehrzahl von Plätzen zum Einschließen von austauschbaren Schaltungsplatinen umfaßt, wobei die Plätze durch eine Reihe von Leitungen verbunden sind, die Daten-, Adressen- und Steuerbusse bilden, wobei die Datenleitungen eine Mehrzahl verschiedener Datenbreiten bilden, wobei die geeigneten Daten-, Adressen- und Steuerleitungen mit dem Speicher und mit einem für jeden Platz bereitgestellten Synchronisierungssignal verbunden sind, wobei das System weiter umfaßt:
eine Einrichtung zum Übertragen von Daten einer gegebenen maximalen Breite zwischen dem Speicher und einer Schaltungsplatine bei einer ersten Standardübertragungszyklusrate, wobei der erste Standardübertragungszyklus in Länge eine Mehrzahl von Synchronisierungssignalzyklen ist;
eine Einrichtung zum Übertragen von Daten derselben gegebenen maximalen Breite zwischen dem Speicher und einer Schaltungsplatine bei einer zweiten Standardübertragungszyklusrate, wobei der zweite Standardübertragungszyklus in Länge ein einziger Synchronisierungssignalzyklus ist, wobei die zweite Standardübertragungszyklusrate auf die Verwendung beim Zugreifen auf Speicherstellen innerhalb eines definierten Bereiches der vorangehenden ersten Standardübertragungszyklusoperation begrenzt ist, wobei die Speicherstellen innerhalb des definierten Bereiches in jeder Reihenfolge zugänglich sind, und
wobei jede der Datenübertragungen von einer designierten Kombination von Teilen der gegebenen maximalen Breite sein kann.
2. Computersystem nach Anspruch 1, bei dem der Speicher eine Einrichtung umfaßt, die der zweiten Übertragungsrateneinrichtung anzeigt, daß Übertragungen bei der zweiten Standardübertragungszyklusrate durchgeführt werden können.
3. Computersystem nach Anspruch 1 oder 2, bei dem die zweite Übertragungsrateneinrichtung eine Einrichtung umfaßt, die anzeigt, daß eine Übertragung bei der zweiten Standardübertragungszyklusrate verlangt wird.
4. Computersystem nach einem der Ansprüche 1 bis 3, weiter umfassend:
eine Einrichtung zum Durchführen einer Reihe von zweiten Standardübertragungszyklusratenoperationen.
5. Computersystem nach Anspruch 4, weiter umfassend eine Einrichtung, die eine Reihe von zweiten Standardübertragungsratenoperationen anregt, eine Übertragung bei der ersten Standardübertragungszyklusrate durchführt, wenn ein Zugriff auf eine Speicherstelle außerhalb des definierten Bereiches durchzuführen ist, und die eine weitere Reihe von zweiten Standardübertragungszyklusratenoperationen nach Vollendung der einen Übertragung bei der ersten Standardübertragungszyklusrate beginnt.
6. Computersystem nach Anspruch 1 oder 5, bei dem beide der Übertragungseinrichtungen eine Einrichtung umfassen, die ein Signal empfängt, um die Übertragungszyklusdauer zu verlängern, sowie eine Einrichtung, die die Übertragungszyklusdauer als Reaktion auf das Empfangen des Verlängerungssignals verlängert.
7. Computersystem nach einem der Ansprüche 1 bis 6, bei dem der Speicher dynamische Direktzugriffsspeicher umfaßt und der definierte Bereich die Größe einer Seite der dynamischen Direktzugriffsspeicher ist.
8. Computersystem nach einem der Ansprüche 1 bis 7, weiter umfassend:
eine Einrichtung, die veranlaßt, daß Übertragungen der gegebenen Datenbreite bei der ersten Standardübertragungszyklusrate durchgeführt werden, wenn der Speicher nicht imstande ist, Daten bei der zweiten Standardübertragungszyklusrate zu übertragen.
9. Computersystem nach einem der Ansprüche 1 bis 8, bei dem beide der Übertragungseinrichtungen die geeigneten Signale an die Adressen- und Steuerleitungen anlegen, um die Übertragung der Daten zu erlauben.
10. Computersystem nach einem der Ansprüche 1 bis 9, weiter umfassend:
einen Einrichtung, die Daten mit einer maximalen Breite kleiner als die gewünschte maximale Breite zwischen dem Speicher und einer Schaltungsplatine bei der zweiten Standardübertragungszyklusbreite überträgt.
11. Computersystem nach einem der Ansprüche 1 bis 10, bei dem die Schaltungsplatinen Schaltungsplatinen umfassen, die eine direkte Speicherzugriffsoperation verwenden, um Daten zwischen der in dem Ein-Ausgaberaum arbeitenden Schaltungsplatine und dem Speicher zu übertragen.
12. Computersystem nach Anspruch 11, bei dem die Einrichtung zum Übertragen von Daten einer gegebenen maximalen Breite bei einer ersten Zyklusrate zwischen dem Speicher und einer Schaltungsplatine darauf eingestellt ist, die Daten bei einer ersten Standardübertragungszyklusrate oder einer dritten Standardübertragungszyklusrate zu übertragen, wobei sowohl der erste als auch der dritte Standardübertragungszyklus in Länge eine Mehrzahl von Synchronisierungssignalzyklen sind.
13. Computersystem nach einem der Ansprüche 1 bis 12, bei dem die Übertragungseinrichtung schmalerer Breite eine Einrichtung umfaßt, die anzeigt, daß Übertragungen schmalerer Breite geschehen können.
DE68927869T 1988-09-09 1989-09-05 Rechnersystem mit Hochgeschwindigkeitsdatenübertragungsfähigkeiten Expired - Fee Related DE68927869T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/243,480 US5058005A (en) 1988-09-09 1988-09-09 Computer system with high speed data transfer capabilities
US07/378,579 US5159679A (en) 1988-09-09 1989-07-10 Computer system with high speed data transfer capabilities

Publications (2)

Publication Number Publication Date
DE68927869D1 DE68927869D1 (de) 1997-04-24
DE68927869T2 true DE68927869T2 (de) 1997-09-25

Family

ID=26935886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927869T Expired - Fee Related DE68927869T2 (de) 1988-09-09 1989-09-05 Rechnersystem mit Hochgeschwindigkeitsdatenübertragungsfähigkeiten

Country Status (4)

Country Link
US (1) US5159679A (de)
EP (1) EP0358448B1 (de)
CA (1) CA1326714C (de)
DE (1) DE68927869T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2570845B2 (ja) * 1988-05-27 1997-01-16 セイコーエプソン株式会社 情報処理装置
JPH0387909A (ja) * 1989-05-10 1991-04-12 Seiko Epson Corp 情報処理装置およびマイクロプロセッサ
US5423021A (en) * 1989-11-03 1995-06-06 Compaq Computer Corporation Auxiliary control signal decode using high performance address lines
US5313621A (en) * 1990-05-18 1994-05-17 Zilog, Inc. Programmable wait states generator for a microprocessor and computer system utilizing it
JPH04233059A (ja) * 1990-06-25 1992-08-21 Internatl Business Mach Corp <Ibm> 情報処理装置
US5479640A (en) * 1990-08-31 1995-12-26 International Business Machines Corporation Memory access system including a memory controller with memory redrive circuitry
GB2252432B (en) * 1991-02-01 1994-09-28 Intel Corp Method and apparatus for operating a computer bus using selectable clock frequencies
US5313624A (en) * 1991-05-14 1994-05-17 Next Computer, Inc. DRAM multiplexer
GB2272315B (en) * 1991-07-02 1995-10-04 Intel Corp Asynchronous modular bus architecture with burst capability
DE4135553A1 (de) * 1991-10-29 1993-05-06 Alcatel Sel Aktiengesellschaft, 7000 Stuttgart, De Verfahren und schaltungsanordnung zur datenblockuebertragung ueber ein bussystem
US5404559A (en) * 1993-03-22 1995-04-04 Compaq Computer Corporation Apparatus for asserting an end of cycle signal to a processor bus in a computer system if a special cycle is detected on the processor bus without taking action on the special cycle
US5448717A (en) * 1993-07-06 1995-09-05 Intel Corporation Transparently inserting wait states into memory accesses when microprocessor in performing in-circuit emulation
GB2281137B (en) * 1993-08-20 1997-10-08 Advanced Risc Mach Ltd Data bus
US5860129A (en) * 1995-09-27 1999-01-12 Motorola, Inc. Data processing system for writing an external device and method therefor
US5752267A (en) * 1995-09-27 1998-05-12 Motorola Inc. Data processing system for accessing an external device during a burst mode of operation and method therefor
US6243768B1 (en) 1996-02-09 2001-06-05 Intel Corporation Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US5926828A (en) * 1996-02-09 1999-07-20 Intel Corporation Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US5991841A (en) * 1997-09-24 1999-11-23 Intel Corporation Memory transactions on a low pin count bus
US6119189A (en) * 1997-09-24 2000-09-12 Intel Corporation Bus master transactions on a low pin count bus
US6157970A (en) * 1997-09-24 2000-12-05 Intel Corporation Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
US6633926B1 (en) 1998-11-30 2003-10-14 Matsushita Electric Industrial Co., Ltd. DMA transfer device capable of high-speed consecutive access to pages in a memory
US6430697B1 (en) * 1999-05-14 2002-08-06 Intel Corporation Method and apparatus for reducing data return latency of a source synchronous data bus by detecting a late strobe and enabling a bypass path
US6892252B2 (en) * 2000-09-21 2005-05-10 Michael Tate Asymmetric data path media access controller
KR100632952B1 (ko) * 2004-09-30 2006-10-11 삼성전자주식회사 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치
TWI511163B (zh) * 2013-10-01 2015-12-01 Wistron Corp 記憶體測試方法及裝置
CN107466399B (zh) 2015-05-01 2020-12-04 慧与发展有限责任合伙企业 提供节流数据存储器访问的系统及方法和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479180A (en) * 1980-06-06 1984-10-23 Westinghouse Electric Corp. Digital memory system utilizing fast and slow address dependent access cycles
US4644463A (en) * 1982-12-07 1987-02-17 Burroughs Corporation System for regulating data transfer operations
BG39765A1 (en) * 1985-02-14 1986-08-15 Turlakov Device for connecting 8- degree and 16- degree modules to 16- degree microprocessor system
BG44841A1 (de) * 1985-04-30 1989-02-15 Khristo A Turlakov
US5034917A (en) * 1988-05-26 1991-07-23 Bland Patrick M Computer system including a page mode memory with decreased access time and method of operation thereof
US5058005A (en) * 1988-09-09 1991-10-15 Compaq Computer Corporation Computer system with high speed data transfer capabilities
US4937734A (en) * 1989-02-21 1990-06-26 Sun Microsystems, Inc. High speed bus with virtual memory data transfer and rerun cycle capability

Also Published As

Publication number Publication date
DE68927869D1 (de) 1997-04-24
EP0358448A2 (de) 1990-03-14
EP0358448B1 (de) 1997-03-19
CA1326714C (en) 1994-02-01
EP0358448A3 (de) 1991-10-16
US5159679A (en) 1992-10-27

Similar Documents

Publication Publication Date Title
DE68927869T2 (de) Rechnersystem mit Hochgeschwindigkeitsdatenübertragungsfähigkeiten
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE69028066T2 (de) Kombinierte synchrone und asynchrone Speichersteuerung
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE69133565T3 (de) System mit einer Vielzahl von DRAMS und einem Bus
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE69127518T2 (de) Digitalrechner, der eine Anlage für das aufeinanderfolgende Auffrischen einer erweiterbaren dynamischen RAM-Speicherschaltung hat
DE2944419C2 (de)
DE3204905C2 (de)
DE3788805T2 (de) Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem.
DE69722117T2 (de) Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung
DE68926596T2 (de) Rechnerschnittstelle mit Masterfähigkeiten mit mehreren Wortbreiten
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE112005002336T5 (de) Befehl, der unterschiedliche Operationen in unterschiedlichen Chips steuert
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE3885985T2 (de) Speichersteueranordnung für ein Daten verarbeitendes System.
DE69123987T2 (de) Stossbetrieb für Mikroprozessor mit externem Systemspeicher
DE69122520T2 (de) Vielfachbus-Systemspeicherarchitektur
DE60036923T2 (de) Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung
DE60027357T2 (de) Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE69119147T2 (de) Erweiterungskarte mit mehreren Geschwindigkeiten

Legal Events

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