DE3914265C2 - - Google Patents

Info

Publication number
DE3914265C2
DE3914265C2 DE3914265A DE3914265A DE3914265C2 DE 3914265 C2 DE3914265 C2 DE 3914265C2 DE 3914265 A DE3914265 A DE 3914265A DE 3914265 A DE3914265 A DE 3914265A DE 3914265 C2 DE3914265 C2 DE 3914265C2
Authority
DE
Germany
Prior art keywords
bus
signal
bit
cycle
address
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
DE3914265A
Other languages
English (en)
Other versions
DE3914265A1 (de
Inventor
Ralph Murray Boca Raton Fla. Us Begun
Patrick Maurice Bland
Mark Edward Delray Beach Fla. Us Dean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3914265A1 publication Critical patent/DE3914265A1/de
Application granted granted Critical
Publication of DE3914265C2 publication Critical patent/DE3914265C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)

Description

Die Erfindung bezieht sich auf ein Computersystem nach dem Oberbegriff des Patentanspruchs 1, insbesondere auf Mikrocomputersysteme, die dynamische Busanpassung und Fließbandbetrieb anwenden, und speziell auf solche Systeme, welche außerdem ein Vorratsspeicheruntersystem verwenden.
Stand der Technik über den 80 386, seine Eigenschaften und seine Anwendung in Mikrocomputersystemen mit Vorratsspeicheruntersystemen wird in "Introduction to the 80 386", April 1986 sowie dem 80 386 Hardware Reference Manual, 1986 von Intel beschrieben. Die Eigenschaften und die Leistung des 82 385 werden in der Intel Veröffentlichung "82 385 High Performance 32 Bit Cache Controller" (1987) beschrieben.
In Mikrocomputersystemen wie auch in anderen Computersystemen ist die Betriebsgeschwindigkeit ein wichtiges Kriterium, das in der Mehrheit der Fälle gegenüber den Systemkosten abgewogen werden muß. Viele Ausführungen, die zuerst zur Betriebsbeschleunigung in Großsystemen und Minicomputer aufgenommen wurden, werden nun in Mikrocomputersystemen angewandt. Zu ihnen gehören die Vorratsspeicheruntersysteme und der Fließbandbetrieb.
In einigen Mikrocomputersystemen (z. B. jenen, welche den Intel 80 386 anwenden) ist der Fließbandbetrieb eine interessante Betriebsmöglichkeit. Für 80 386/82 385- Mikrocomputersysteme liefert der 82 385 ein NA-Signal, welches an einen entsprechenden Eingang des 80 386 angelegt werden soll. Der 82 385 könnte so das NA-Signal vor dem Abschluß eines bestimmten Buszyklus an den 80 386 anlegen und den 80 386 zur Ausgabe von Information (Daten, Adresse und/oder Steuerung) für den nächsten Betriebszyklus aktivieren. Der zeitliche Ablauf sowie die angeschlossenen Einheiten sind festgelegt, so daß, wenn eine Vorratsspeicherung der gegebene Vorgang ist, die Information für den gegebenen Vorgang bereits vom Vorratsspeicher akzeptiert ist und daher die Änderung der Ausgangsinformation vom 80 386 entsprechend dem nächsten Zyklus den gerade zur Ausführung gelangenden Vorgang nicht stört. Dies trifft auch für Situationen zu, in welchen ein erfolgloser Vorratsspeicherungszugriff auftritt, welche einen Rückgriff nicht auf den Vorratsspeicher, sondern auf den Hauptspeicher erfordert, da der Zugriff zum Hauptspeicher über Zwischenspeicher geschieht, welche daher Informationen über den gegebenen Vorgang speichern. Der 80 386 besitzt außerdem die Fähigkeit, einen dynamischen Busanpassung genannten Vorgang auszuführen. Der 80 386 ist nominell ein 32-Bit-System, d. h. die Breite des Datenbus beträgt 32 Bits. Der 80 386 kann jedoch auch mit Geräten mit 16 Bits arbeiten (d. h. Vorrichtungen, die lediglich 16 Datenbits übertragen), und zwar dadurch, daß er auf ein BS16- Signal antwortet, welches an den 80 386 angelegt wurde, um das Vorhandensein einer 16-Bit-Vorrichtung anzuzeigen. Das BS16-Signal ist für den 80 386 dann wichtig, wenn er einen Vorgang mit 32 Bits ausgeführt hat. Natürlich kann die 16-Bit-Vorrichtung nicht in einem Vorgang die 32 Datenbits übertragen, welche der 80 386 erzeugen und/oder aufnehmen kann. Es ist somit ein zweiter Vorgang (Zyklus) erforderlich, und der 80 386 antwortet auf das BS16-Signal und erzeugt automatisch den nächsten und notwendigen Zyklus.
Um diese Art Vorgang beim 82 385 erfolgreich durchführen zu können, muß der 82 385 Informationen über die Art der Vorrichtung haben, welche am Vorgang teilnimmt, so daß das NA-Signal zum 80 386 nicht unvorhergesehen erzeugt wird. Wie in der oben erwähnten Intel-Veröffentlichung beschrieben, braucht der 82 385 Informationen über die Vorrichtung am Beginn eines Zyklus, im Gegensatz zum 80 386, der solche Information über die Vorrichtung wesentlich später im Zyklusverlauf annehmen und darauf reagieren kann.
Bei einigen Mikrocomputersystemen wird diese Beschränkung dadurch akzeptiert, daß die Adresse einer Vorrichtung mit ihrer Größe korreliert wird, so daß z. B. alle Vorrichtungen mit 32 Bits in einem ersten bestimmten Adressenbereich vorgesehen sind, und alle Vorrichtungen mit 16 Bits in einem zweiten unterschiedlichen Adressenbereich. Nach dieser Technik kann die Größe einer Vorrichtung durch ihre Adresse bestimmt werden.
In Systemen jedoch, welche die Flexibilität des Auffindens einer großen Anzahl von Vorrichtungen innerhalb einer großen Anzahl von Adressenbereichen erfordern, kann diese Einschränkung nicht befolgt werden. Eine Klasse solcher Systeme sind diejenigen mit dem IBM- Mikrokanal-Bus.
In vielen Systemen, einschließlich denen des oben genannten Typs, gibt eine angesteuerte Vorrichtung einen Hinweis auf ihre Größe. Da jedoch der 82 385 Angaben über die Vorrichtungsgröße schon am Beginn eines Buszyklus braucht, kann bei Systemen, in welchen diese Information erst später im Verlauf des Zyklus verfügbar ist, ein unvorhergesehenes NA-Signal entstehen.
In der älteren, jedoch nachveröffentlichten EP 03 09 985 A2 ist ein Verfahren zur selektiven Steuerung des Fließbandbetriebs einer 80386-Zentraleinheit offenbart. Bei diesem Verfahren wird das von der 82385-Steuereinrichtung abgegebene Next-Adreß-Signal mit bestimmten Adreßbits verknüpft. Danach wird dann für die zugehörigen Adreßbereiche der Fließbandbetrieb zugelassen oder nicht.
Aufgabe der Erfindung ist es, ein fehlerhaftes Verhalten des Computersystems bei einem Fließbandbetrieb im Zusammenhand mit einem externen Gerät mit einer von der Bitbreite des Computersystems abweichenden Bitbreite zu überwinden.
Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, eine Anordnung in einem 80 386/82 386-Mikrocomputersystem vorzusehen, welche das NA-Signal selektiv steuert, so daß es mit dem 80 386 nur unter entsprechenden Bedingungen gekoppelt ist. Unter davon abweichenden Bedingungen kann das NA-Signal den 80 386 nicht erreichen. Wird das NA-Signal am Erreichen des 80 386 gehindert, so kann auch kein Fließbandbetrieb stattfinden, d. h. das Erzeugen einer Information für einen nächsten Zyklus wird verhindert, bevor der gegebene Zyklus ausgeführt worden ist. Mit dieser flexiblen Steuerung des NA-Signals kann das Mikrocomputersystem nunmehr mit dynamischer Busanpassung arbeiten, d. h. das System kann mit Vorrichtungen verschiedener Größe arbeiten, ohne daß zu Beginn des Zyklus eine Information über die Größe der benutztten Vorrichtung mitgeteilt wird.
Diese Aufgabe ist bei einem Computersystem nach dem Patentanspruch 1 gelöst.
Pufferbare Vorrichtungen, d. h. Vorrichtungen, welche pufferbare Daten erzeugen, sind automatisch 32-Bit-Vorrichtungen. Alle solche Vorrichtungen haben Adressen (insbesondere Markierungen), welche Pufferbarkeit anzeigen. Alle anderen Vorrichtungen (ob 32-Bit-Vorrichtungen oder nicht) haben Adressen, die anzeigen, daß die von ihnen erzeugte Information nicht im Vorratsspeicher gefunden wird. Die Steuerung des NA-Signals hängt teilweise von der Pufferbarkeit ab. Da jede pufferbare Vorrichtung eine 32-Bit-Vorrichtung ist, können beim Betrieb mit pufferbaren Vorrichtungen insbesondere keine unvorhergesehenen NA-Signale auftreten. Besonders bei einem erfolgreichen Puffervorgang kann das NA-Signal nur passend sein, da nur pufferbare Vorrichungen (32-Bit-Vorrichtungen) einen Vorratsspeichertreffer ausführen können. So besteht ein wichtiges Merkmal der dynamischen Busanpassung und des Fließbandbetriebs darin, daß das NA-Signal am Erreichen des 80 386 gehindert wird, wenn eine Adresse an eine nicht pufferbare Vorrichtung vorliegt.
Wenn sich im Verlauf eines gegebenen Zyklus (bei dem das NA-Signal blockiert wurde) herausstellt, daß es sich bei der Vorrichtung um eine 32-Bit-Vorrichtung handelt, dann wird der Zyklus auf bekannte Weise (ohne Fließbandbetrieb) durchgeführt. Zeigt sich jedoch im Verlauf eines Zyklus, daß die im Betrieb befindliche Vorrichtung eine 16-Bit-Vorrichtung ist (und der Zyklus ein 32-Bit- Zyklus), dann erzeugt der 80 386 den zusätzlichen notwendigen Zyklus. Dieser Vorgang ist für den 82 385 völlig transparent, d. h. er nimmt am Steuern des zweiten der zwei Zyklen nicht teil. Ist die im Betrieb befindliche Vorrichtung eine 8-Bit-Vorrichtung, dann "sieht" der 80 386 schließlich eine 16-Bit-Vorrichtung, so daß er genau so arbeitet, wie oben im Zusammenhang mit der 16-Bit-Vorrichtung beschrieben wurde. In anderen Worten, der 80 386 "sieht" eine 16-Bit-Vorrichtung, so daß nach dem Abschluß des ersten Zyklus (während dem er darüber informiert wird, daß er mit einer 16-Bit-Vorrichtung arbeitet) ein zweiter Zyklus erzeugt wird. Transparent jedoch nicht nur für den 82 385, sondern auch für den 80 386 wandelt eine andere Logik jeden der 16-Bit-Zyklen des 80 386 in zwei 8-Bit-Zyklen um. Wird daher ein 32-Bit-Zyklus an eine 8-Bit-Vorrichtung gesandt, so nimmt der 82 385 an diesem Vorgang nicht teil, der 80 386 erzeugt zwei 16-Bit-Zyklen, und eine andere Logik erzeugt für jeden der 16-Bit-Zyklen des 80 386 zwei 8-Bit-Zyklen.
Gemäß einem Aspekt sieht also die Erfindung ein Mikrocomputersystem mit Fließbandbefehlsabfolge als Antwort auf ein nachfolgendes Adressensignal vor Beendigung eines anstehenden Vorgangs vor, wobei das Mikrocomputersystem folgendes umfaßt:
einen Prozessor einer gegebenen Bitbreite,
ein Vorratsspeicher-Untersystem der gegebenen Bitbreite, das durch einen lokalen Bus mit dem Prozessor verbunden ist,
einen weiteren Bus, welcher den lokalen Bus mit anderen Einheiten verbindet, die dieselbe Bitbreite aufweisen, und mit zumindest einer Einheit reduzierter Bitbreite, wobei zumindest einige der Einheiten mit der gegebenen Bitbreite eine Adresse in einem dem Vorratsspeicher-Untersystem zugeordneten Bitbereich haben, und wobei die zumindest eine Einheit reduzierter Bitbreite eine Adresse außerhalb des dem Vorratsspeicher- Untersystem zugeordneten Adressenbereichs hat, und weiterhin folgendes enthaltend:
  • a) einen Adressendekodierer, der als Antwort auf eine auf dem lokalen Bus anliegende Adresse durch ein Signal angibt, ob sich die anstehende Adresse innerhalb des dem Vorratsspeicher-Untersystem zugeordneten Adressenbereiches befindet oder nicht, und
  • b) auf das Signal vom Adressendekodierer ansprechende logische Mittel zum Erzeugen eines nachfolgenden Adressensignals an den Mikroprozessor zum Zwecke des Fließbandbetriebs, wenn der Adressendekodierer nicht eine Adresse außerhalb eines dem Vorratsspeicher- Untersystem zugeordneten Bereichs anzeigt.
Fig. 1 ist eine dreidimensionale Gesamtansicht eines typischen Mikrocomputersystems, bei dem die vorliegende Erfindung zum Einsatz kommen kann;
Fig. 2 ist ein detailliertes Blockdiagramm einer Mehrheit der Bestandteile eines typischen Mikrocomputersystems, bei dem die vorliegende Erfindung zum Einsatz kommen kann;
Fig. 3 ist ein Blockdiagramm, welches detaillierter ist als Fig. 2 und die Verbindungen zwischen dem 80 386 und 82 386 zeigt, die vom Hersteller empfohlen werden, und das für das Verständnis darüber hilfreich ist, warum eine solche Anordnung mit einer dynamischen Busanpassung unvereinbar ist;
Fig. 4 ist ein ausführliches Blockdiagramm ähnlich der Fig. 3, aber mit der Darstellung der Anwendung der vorliegenden Erfindung, mit welcher sowohl der Fließbandbetrieb wie auch die dynamische Busanpassung möglich sind;
Fig. 5 ist ein weiteres ausführliches Blockdiagramm der Anordnung, mit welcher die Umwandlung eines Zyklus von 16 auf 8 Bits erfolgt, und zwar transparent sowohl für den 82 385 und den 80 386; und
Fig. 6 und 7 sind ein Zeitdiagramm bzw. ein Blockdiagramm des Zwischenspeichers DL und seines Steuersignals LEDMA (Zwischenspeicher aktivieren von DMA), um darzustellen, wie das synchrone DMA-Untersystem mittels einer Schnittstelle mit dem lokalen Bus der Zentraleinheit verbunden wird (mit einem unterschiedlichen Takt), um mögliche Konkurrenzprobleme auf dem Systembus zu vermeiden.
Fig. 1 zeigt ein typisches Mikrocomputersystem, in welchem die vorliegende Erfindung verwendet werden kann. Wie dargestellt, enthält das Mikrocomputersystem 10 eine Anzahl von untereinander verbundenen Komponenten. Eine Systemeinheit 30 ist mit einem Monitor 20 (wie z. B. einem konventionellen Videoschirm) verbunden und treibt diesen an. Die Systemeinheit 30 ist außerdem mit Eingabevorrichtungen wie einer Tastatur 40 und einer Maus 50 verbunden. Eine Ausgabevorrichtung wie ein Drucker 60 kann ebenfalls mit der Systemeinheit 30 verbunden werden. Schließlich kann die Systemeinheit 30 einen oder mehrere Plattenspeicher wie den Plattenspeicher 70 enthalten. Wie unten beschrieben, spricht die Systemeinheit 30 auf Eingabevorrichtungen wie die Tastatur 40 und die Maus 50 an sowie auf Eingabe/Ausgabevorrichtungen wie den Plattenspeicher 70, um Signale an Ausgabevorrichtungen wie den Monitor 20 und den Drucker 60 abzugeben. Für den Fachmann ist es offensichtlich, daß auch andere konventionelle Einheiten zum Betrieb mit der Systemeinheit 30 angeschlossen werden können. Gemäß der vorliegenden Erfindung enthält das Mikrocomputersystem 10 (wie im folgenden ausführlicher beschrieben) ein Vorratsspeicher- Untersystem, bei dem ein lokaler Zentraleinheitsbus einen Prozessor, eine Vorratsspeicher-Steuervorrichtung und einen Vorratsspeicher untereinander verbindet, welcher selbst über einen Puffer mit einem Systembus verbunden ist. Der Systembus befindet sich in Wirkverbindung mit den Eingabe/Ausgabevorrichtungen wie der Tastatur 40, der Maus 50, dem Plattenantrieb 70, dem Monitor 20 und dem Drucker 60. Außerdem kann gemäß der vorliegenden Erfindung die Systemeinheit 30 auch einen dritten Bus mit einer Mikrokanal-Architektur zur Verbindung zwischen dem Systembus und anderen E/A-Vorrichtungen enthalten.
Fig. 2 ist ein ausführliches Blockdiagramm und stellt die verschiedenen Einheiten eines typischen Mikrocomputersystems dar. Ein lokaler Zentraleinheitsbus 230 (mit Adreß-, Daten- und Steuerbestandteilen) verbindet einen Mikroprozessor 225 (z. B. einen 80 386), eine Vorratsspeicher-Steuervorrichtung 260 (die einen 82 385-Cache-Controller enthalten kann) und einen Speicher 255 mit wahlfreiem Zugriff. Mit dem lokalen Zentraleinheitsbus 230 ist außerdem ein Puffer 240 verbunden, welcher selbst mit dem Systembus 250 verbunden ist, der auch Adreß-, Daten- und Steuerbestandteile enthält. Der Systembus 250 erstreckt sich zwischen dem Puffer 240 und einem weiteren Puffer 253. Der Systembus 250 ist ebenfalls mit einer Bussteuereinheit und dem Zeitgeber 265 sowie einer DMA-Steuervorrichtung 325 verbunden. Ein Zuteilungssteuerbus 340 verbindet die Bussteuereinheit und den Zeitgeber 265 sowie einen zentralen Zuteilungsbusüberwacher 335. Der Hauptspeicher 350 ist ebenfalls mit dem Systembus 250 verbunden und enthält ein Speichersteuerelement 351, einen Adressenmultiplexer 352 und einen Datenpuffer 353. Diese Elemente sind mit den Speicherelementen 360 bis 364 wie in Fig. 2 gezeigt verbunden.
Ein weiterer Puffer 254 ist zwischen dem Systembus 250 und einem planaren Bus 270 vorgesehen. Der planare Bus 270 enthält Adreß-, Daten- und Steuerbestandteile. Entlang dem planaren Bus 270 sind mehrere E/A-Adapter und andere Bestandteile angeschlossen, wie zum Beispiel ein Anzeigeadapter 275 (zum Antrieb des Monitor 20), ein Taktgeber 280 ein zusätzlicher Speicher 285 mit wahlfreiem Zugriff, ein RS-332-Adapter 290 (für serielle E/A-Vorgänge), ein Druckeradapter 295 (der zum Antreiben des Druckers 60 verwendet werden kann), ein Zeitgeber 300, ein Diskettenadapter (der mit dem Plattenspeicher 70 zusammenarbeitet), eine Unterbrechungssteuerung 310 und ein Festwertspeicher 315.
Der Puffer 253 (auf einer Seite mit dem Systembus 250 verbunden) ist auf der anderen Seite mit den Anschlüssen 401 des Mikrokanal-Bus 320 verbunden. Der Bus 320 kann Vorrichtungen verschiedener Größen einschließlich solchen mit 32 Bits, 16 Bits und 8 Bits bedienen. Eine typische Speichervorrichtung 331 ist als an dem Bus 320 angeschlossen gezeigt. Einer der Vorteile dieses Bus liegt in der Flexibilität, die er dem Anwender bietet, so daß dieser nach Wunsch unterschiedliche Vorrichtungen an den verschiedenen Anschlüssen anschließen kann. Das Mischen dieser Vorrichtungen und ihr Auftreten an unterschiedlichen Anschlüssen verhindert eine starre Adressenzuteilung und ist ein Hauptgrund für die Notwendigkeit der vorliegenden Erfindung. Ohne diese wäre das 80 386/82 385- Mikrocomputersystem wie hier beschrieben entweder gänzlich am Anwenden des Fließbandbetriebs gehindert oder müßte aufgrund von unvorhergesehenem oder unkorrektem Fließbandbetrieb fehlerhaft arbeiten.
Fig. 3 zeigt ausgewählte Verbindungen zwischen dem 80 386 und 82 385 bezüglich der Erzeugung und Anwendung des Signals für die nächste Adresse (NA), wie vom Hersteller empfohlen. Genauer ist die Schnittstelle zwischen dem lokalen Zentraleinheitsbus 230 und dem Systembus 250 der Puffer 240, dessen Bestandteile einen Steuerpuffer DL (für Daten) und AL (für Adressen) umfassen. Wie in Fig. 3 gezeigt, ist der Datenbestandteil des lokalen Zentraleinheitsbus (CPULBD) ein E/A-Anschluß des DL, auf der Seite des lokalen Zentraleinheitsbus. Ebenso ist der Datenbestandteil SBD des lokalen Systembus 250 ein E/A-Anschluß des DL, auf der Seite des Systembus 250. Der Puffer DL wird durch seine Eingangssignale LDSTB, BT/R und DOE gesteuert. Das LDSTB speichert Daten in den DL, und DOE aktiviert den Ausgang von DL. BT/R bestimmt die Richtung, aus welcher der Eingang akzeptiert wird (lokaler Zentraleinheitsbus 230 oder Systembus 250) und in welche der Ausgang gerichtet ist (Systembus 250 oder lokaler Zentraleinheitsbus 230).
Ebenso hat die Adresseneinheit des Puffers AL einen Eingang von dem Adreßbestandteil des lokalen Zentraleinheitsbus (CPULBA) und einen Eingang von dem Adreßbestandteil des lokalen Systembus 250 (SBA). Auf ähnliche Weise wird die AL-Einheit des Puffers durch ihre zwei Steuersignale BACP und BAOE gesteuert, das erstere speichert Adreß-Informationen vom CPULBA in den AL, und das letztere gibt den Ausgang frei, z. B. zum Systembus 250. Die Kontrollsignale LDSTB, DOE, BACP und BAOE werden vom 82 385 geliefert.
Der Adreßbestandteil CPULBA des lokalen Zentraleinheitsbus 230 kommt vom 80 386, und der Datenbestandteil CPULBD des lokalen Zentraleinheitsbus 230 beginnt/endet am 80 386.
Der 82 385 verwendet zwei zusätzliche Signale X16 und NCA beim Erzeugen des NA-Signals. Das X16-Signal zeigt an, ob die in Betrieb befindliche Vorrichtung eine Vorrichtung mit 16 oder 32 Bits ist. Eine Quelle des Signals X16 ist der Adressendecodierer des lokalen Bus (LBAD). Außerdem empfiehlt der Hersteller, das Signal BS16 mit dem Signal X16 zu verbinden. Das Signal BS16 wird in den 80 386 eingelesen, um dem 80 386 mitzuteilen, ob die in Betrieb befindliche Vorrichtung 16 oder 32 Bits umfaßt. Eine Quelle des Signals BS16 ist ein Geräteadreßdecoder, z. B. MAD. MAD stellt den Adressendecodierer jedes Geräts dar, welches mit dem Systembus 250 oder einem anderen damit verbundenen Bus, wie z. B. 270 oder 320 verbunden ist. Wenn ein Gerät wie MAD seine Adresse auf einem Busadreßbestandteil wie MA erkennt, gibt sie das Signal BS16 zurück, das "High" oder "Low" ist, je nachdem, ob es sich bei dem Gerät um ein 16- oder 32-Bit-Gerät handelt.
Die nicht pufferbare Adresse (NCA) ist ein weiterer Eingang zum 82 385, welche anzeigt, ob eine anstehende Adresse eine pufferbare Adresse ist. Eine pufferbare Adresse wird als Adresse für ein Gerät definiert, die mit dem Vorratsspeicher-Untersystem kompatibel und daher ein 32-Bit-Gerät ist. Dieses Signal wird vom Vorratsspeicher-Adressendecodierer (CAD) mittels eines Eingangs von dem Adreßbestandteil des lokalen Zentraleinheitsbus 230 erzeugt. Der Hersteller schlägt vor, daß ein Teil des Speichers als nicht pufferbar durch die Verwendung dieses Eingangs zum 82 285 beiseite gesetzt wird.
Die die Fig. 3 dargestellte vorgeschlagene Architektur ermöglicht einen wirkungsvollen Fließbandbetrieb (durch die Anwendung des NA-Signals) unter jeder der folgenden Bedingungen:
  • 1. Wo alle mit dem Systembus 250 oder einem daran angeschlossenen Bus verbundenen Vorrichtungen 32-Bit- Vorrichtungen sind, oder
  • 2. wo die mit dem Systembus 250 oder einem daran angeschlossenen Bus verbundenen Vorrichtungen 32-Bit- oder 16-Bit-Vorrichtungen sein können, solange das Signal X16 zu Beginn jedes Buszyklus verfügbar ist.
    Ist das X16-Signal zu Beginn eines gegebenen Buszyklus verfügbar, so bestimmt der auf dieser Information basierende 82 385, ob das NA-Signal passend ist, und ist dies nicht der Fall, so wird es nicht erzeugt. Arbeitet daher der 80 386 mit einer 32-Bit-Vorrichtung, dann wird das NA-Signal normalerweise vor dem Abschluß eines gegebenen Zyklus zum Erzielen eines wirkungsvollen Fließbandbetriebs erzeugt. Handelt es sich bei der Vorrichtung jedoch um eine 16-Bit-Vorrichtung, dann wird das NA-Signal nicht erzeugt, so daß der 80 386 den zweiten erforderlichen Zyklus für korrekten Betrieb mit einer 16-Bit-Vorrichtung erzeugen kann.
    Die Architektur einiger Busuntersysteme (z. B. der Mikrokanal-Bus) ermöglicht jedoch das Mischen von 8-, 16- und 32-Bit-Vorrichtungen. Da das Signal BS16 erst einige Zeit nach dem Zeitpunkt zurückkehrt, an welchem die typische MAD-Vorrichtung ihre Adresse auf dem Busuntersystem erkannt hat, wird es nicht früh genug für den 82 385 erzeugt, um bei der Entscheidung über die Erzeugung eines NA mit in Betracht gezogen zu werden. Die Eigenarten des 82 385 machen ihn daher inkompatibel, insbesondere hinsichtlich der Erzeugung des NA-Signals, mit Busuntersystemen mit einer Flexibilität wie z. B. der Mikrokanal-Bus.
Fig. 4 ist ein Blockdiagramm ähnlich der Fig. 3, jedoch geändert zur Anwendung gemäß der vorliegenden Erfindung. Vor der Beschreibung des Betriebs der in Fig. 4 gezeigten Anordnung wird eine Anzahl der Unterschiede zwischen den Fig. 3 und 4 beschrieben.
Ein Hauptunterschied besteht darin, daß die Ausgänge X16 und NA des 82 385 nicht länger angewandt werden. Zusätzlich wurde ein neues logisches Element CL zwischen dem 82 385 und dem 80 386 eingefügt. Das logische Element CL erzeugt das CPUNA-Signal (welches das nicht benützte NA-Signal vom 82 385 ersetzt). Die logische Einheit CL spricht auf das NCA-Signal vom CADR- und das BADS-Signal vom 82 385 an (welches anzeigt, ob eine erfolglose Vorratsspeicherung vorliegt). Das logische Element CL hat außerdem einen Eingang BW/R, welcher anzeigt, ob es sich bei einem Systembuszyklus um einen Lese- oder einen Schreibzyklus handelt. Wie unten beschrieben, wird BW/R zwar in einem Ausführungsbeispiel der Erfindung benützt, ist jedoch ein Signal, das nicht von wesentlicher Bedeutung ist.
Der Decodierer CADR empfängt außer seinen Eingaben der Bits A17-A26 und A31 des CPULBA programmierbare Pufferbarkeitsbits (PCB). In einem ausgeführten Ausführungsbeispiel stellt das erste dieser drei Bits eine Entscheidung dar zum Gewähren von pufferbarem ROM-Raum. Ein zweites Bit gibt entweder den Decodierer zur Ausgabe von NCA basierend auf der decodierten Information frei, oder zur Erklärung, daß alle Zugriffe nicht pufferbar sind, das heißt zur Erklärung von NCA unabhängig von der anstehenden Adresse auf dem CPULBA. Schließlich zeigt ein drittes Bit in einem Zustand an, daß Adressenraum zwischen 0 und 8 Megabytes pufferbar und Adressenraum zwischen 8 und 16 Megabytes nicht pufferbar ist. Im anderen Zustand zeigt das Bit an, daß Adressenraum in einem Bereich von 0 bis 16 Megabytes gänzlich pufferbar ist. Wenn gewünscht, kann der Effekt dieses Bits dadurch vervielfacht werden, daß einfach der Status der ersten 16 Megabytes durch die nachfolgenden 16-Megabyte-Bereiche reflektiert wird. Es ist offensichtlich, daß die Anwendung dieser speziellen Pufferbarkeitsindikatoren (oder anderer) für die Erfindung nicht von wesentlicher Bedeutung ist. Es ist jedoch wichtig, den CADR so anzuordnen, daß er seine Eingänge schnell decodieren und NCA liefern kann. In einem ausgeführten Ausführungsbeispiel war der Zeitraum zum Erzeugen des NCA aus gültigen Adressen auf dem CPULBA sehr kurz, und zwar in der Größenordnung von 10 Nanosekunden.
Ein weiterer größerer Unterschied zwischen den Fig. 3 und 4 besteht darin, daß der typische MAD nunmehr nicht ein einzelnes BS16-Signal (wie im Fall der Fig. 3) sondern zwei Signale erzeugt, und zwar CS32 und CS16. Er kann dadurch sich selbst als eine Vorrichtung für 32 Bits, 16 Bits oder 8 Bits identifizieren. Das Signal CS32 wird in ein Flip-Flop eingelesen, das nun das BS16-Signal erzeugt, welches sich in einem Zustand befindet, wenn der MAD eine 32-Bit-Vorrichtung ist, und in einem anderen Zustand, wenn der MAD eine 8-Bit- oder eine 16-Bit-Vorrichtung ist. Wird weder CS32 noch CS16 von der Vorrichtung erzeugt, dann ist in deren Abwesenheit die Vorrichtung eine 8-Bit-Vorrichtung.
Die oben erwähnten logischen Gleichungen werden nun im folgenden wiedergegeben. Hier haben die Symbole die folgenden Bedeutungen:
Symbol
Definition
/
Negation
:= Ein registrierter Ausdruck ist gleich
= Ein kombinatorischer Ausdruck ist gleich
& Logisches UND
+ Logisches ODER
Logische Gleichungen
/BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2
+BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+/MISS1 & /BREADY & /BUSCYC385 & CLK
+/BT2 & BREADY & NACACHE
+/CLK & /BT2 (1)
/BUSCYC385:=BUSCYC385 & /BADS & CLK
+BUSCYC385 & /PIPECYC385 & CLK
+BUSCYC385 & /BT2 & CLK
+/BUSCYC385 & BREADY
+/BUSCYC385 & / CLK (2)
/CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE
+/MISS1 & CLK & CPUNA & /BREADY & /BUSCYC385
+/CPUNA & /CLK
+/CPUNA & /MISS1 & CLK
+/CPUNA & CLK & BREADY
+/CPUNA & BUSCYC385 & NACACHE & CLK (3)
/MISS1:=MISS1 & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK & NCA
+MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+/MISS1 & /CLK
+/MISS1 & BREADY (4)
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY
+PIPECYC385 & /MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY
+/PIPECYC385 & /CLK (5)
In den oben aufgeführten logischen Gleichungen werden die folgenden Signale beschrieben, oder es wird in den erwähnten Intel-Veröffentlichungen Bezug darauf genommen:
BADS
BREADY @ (BW/R) wird als BW/R aufgeführt - die Klammern weisen darauf hin, daß der gesamte Ausdruck ein Signal darstellt.
CLK @ (W/R) wird als W/R aufgeführt - die Klammern weisen darauf hin, daß der gesamte Ausdruck ein Signal darstellt.
BADS im aktiven Zustand weist auf eine gültige Adresse auf dem Systembus 250 hin. BREADY ist ein Bereit-Signal vom Systembus 250 zum lokalen Zentraleinheitsbus 230. BW/R definiert einen Systembus 250-Schreib- oder Lesevorgang. CLK ist ein Prozessor-Takt-Signal, phasengleich mit dem Prozessor 225. (W/R) ist das konventionelle Schreib- oder Lesesignal für den lokalen Zentraleinheitsbus 230.
Die Gleichungen (1)-(5) definieren folgendes:
BT2
BUSCYC385
CPUNA
MISS1
PIPECYC385 . . .
als Ausdrücke der definierten Signale, der in den oben genannten Intel-Veröffentlichungen beschriebenen oder erwähnten Signale, und von NCA und NACACHE. BT2 gibt den Status des Systembus 250 wieder. Der BT2-Status wird in den genannten Intel-Veröffentlichungen definiert.
BUSCYC385 stellt ebenfalls den Status des Systembus 250 dar. Er ist "High" für den Busstatus BTI, BT1, BT1P und "Low" für BT2, BT2P und BT2I (ebenfalls in den erwähnten Intel-Veröffentlichungen erwähnt).
CPUNA ist ein Signal zum 80 386 und erlaubt Fließbandbetrieb. Dieses Signal ersetzt das NA-Signal vom 82 385.
MISS1 definiert im aktiven Zustand den ersten Zyklus in einem Doppelzyklus zur Ausführung von 64-Bit- Lesevorgängen zu pufferbaren Vorrichtungen.
PIPECYC385 ist im aktiven Zustand während BT1P (einem Buszustand, der in den erwähnten Intel-Veröffentlichungen aufgeführt wird).
NCA ist ein Signal, das dadurch erzeugt wird, daß der Adressenbestandteil auf dem lokalen Zentraleinheitsbus 230 so decodiert wird, daß er im aktiven Zustand einen nicht pufferbaren Zugriff wiedergibt. Pufferbarkeit wird durch eine Markierungseinheit (A31-A17) sowie durch programmierbare Information darüber bestimmt, welche Markierungen (wenn überhaupt) sich auf hinsichtlich der Bitbreite des Vorratsspeichers pufferbare gegenüber nicht pufferbaren Adressen beziehen.
NACACHE ist ein dem BNA-Signal ähnliches Signal. BNA ist ein systemerzeugtes Signal, das eine nächste Adresse vom lokalen Zentraleinheitsbus 230 anfordert und in den erwähnten Intel-Veröffentlichungen aufgeführt ist. NACACHE unterscheidet sich von BNA nur darin, daß BNA für einen 32K-Vorratsspeicher erzeugt wird, während NACACHE für einen 64K-Speicher gebildet wird. Soweit der Vorratsspeicher ein 32K-Speicher ist, wie in den INTEL-Veröffentlichungen erwähnt, kann das hier erwähnte NACACHE-Signal durch das BNA-Signal ersetzt werden.
Eine Prüfung der Gleichung 3 ergibt, daß sich die gesetzten Ausdrücke in den Zeilen 1 und 2 befinden. Der Ausdruck auf Zeile 1 gibt einen Fließbandbetrieb an. /MISS1 zeigt einen 32-Bit-Betrieb (wie unten beschrieben) an, und somit ist CPUNA zutreffend. Der Ausdruck auf Zeile 2 ist ein Zyklus, der früh ohne Fließbandbetrieb abgeschlossen wird, z. B. /BREADY.
In der Gleichung 4 sind die Ausdrücke auf den Zeilen 1 und 2 die gesetzten Ausdrücke. Beide hängen von NCA ab.
Fig. 5 ist ein Detail einer Anordnung, die dem Puffer und Decodierer 254 zugeordnet ist (welcher dem Bus 270 zugeordnet ist) sowie dem Puffer 253 (welcher einem Mikrokanal-Bus 320 zugeordnet ist). Wie bereits oben beschrieben, sieht die Anordnung der Fig. 4 zwei 16-Bit-Zyklen vor, wenn 32-Bit-Zyklen auf 8- oder 16-Bit-Vorrichtungen gerichtet sind, und zwar in einer für den 82 385 transparenten Weise. Die Anordnung nach Fig. 5 erzeugt für jeden auf eine 8-Bit-Vorrichtung gerichteten 16-Bit-Zyklus zwei 8-Bit-Zyklen, und zwar in einer für den 80 386 transparenten Weise.
Im einzelnen umfaßt die Anordnung eine Steuerlogik CLA, eine Folgesteuerungseinheit S und eine gesteuerte Verbindungseinheit ALS, welche ausgewählte Datenleitungen mit anderen Datenleitungen verbindet. Im einzelnen können wie in Fig. 5 gezeigt die 8 Bits niedriger Ordnung (D0-D7) mit dem zweiten 8-Bit-Segment (D8-D15) unter Steuerung durch das Signal DIR und /G verbunden werden. Außerdem wird die Übertragungsrichtung (links nach rechts oder umgekehrt) ebenfalls durch DIR gesteuert.
Im einzelnen werden in jeden vom 80 386 erzeugten 16-Bit- Zyklus Daten in die 16 Bits niedriger Ordnung des Datenbus gelesen. Um einen vom 80 386 erzeugten 16-Bit-Zyklus in zwei 8-Bit-Zyklen für den entsprechenden MAD umzuwandeln, wird mittels der in Fig. 5 gezeigten Hardware der 16-Bit-Vorgang so behandelt, daß er für die 8-Bit-Vorrichtung MAD wie zwei 8-Bit-Vorgänge aussieht, während für den 80 386 die zwei 8-Bit-Zyklen wie ein einziger 16-Bit-Zyklus aussehen.
Die Steuerlogik CLA führt eine Decodierfunktion für die Steuerung des Umwandlungszyklus durch. Sie stellt fest, wann ein Umwandlungszyklus ausgeführt werden muß und steuert die GATE-254- und DIR-245-Signale des ALS, welche die 8 Bits niedriger Ordnung des Datenbus mit einem zweiten 8-Bit-Segment des Datenbus verbinden. Die logischen Gleichungen für CLA sind unten aufgeführt. Wenn die Bedingungen für einen Umwandlungszyklus festgestellt sind, aktiviert das Signal DATACONV die Sequenz. Das Signal CS16 gibt im nicht aktiven Zustand das Vorhandensein einer 8-Bit-Vorrichtung und somit die Notwendigkeit einer Umwandlung an. Das Signal CS16 zeigt im aktiven Zustand eine 16- oder 32-Bit-Vorrichtung an.
Q1 wird in der Sequenz verwendet, um das Ende der ersten Hälfte des Umwandlungszyklus anzuzeigen. Die Signale DATACONV und Q1 werden in die Folgesteuerungseinheit S eingelesen, welche zwei Funktionen ausführt. Eine besteht darin, den 80 386 nicht bereit zu halten, bis die zweite Hälfte des Zyklus eingeleitet worden ist. ARDYEN wird logisch "1" gesetzt, um dem 80 386 mitzuteilen, daß der Zyklus nicht beendet werden soll. Die Folgesteuerungseinheit stimuliert auch das Ende eines 8-Bit-Zyklus und den Beginn eines zweiten Zyklus. ALTALE taktet eine logische "1" auf die A0-Adressenleitung und startet den Wartezustandsgenerator wieder. CMTLOFF macht das aktive Befehlssignal inaktiv und wieder aktiv, um das Ende eines Zyklus und den Beginn eines anderen zu stimulieren. CONVA0 wird als Eingang zum A0- Adressenzwischenspeicher verwendet, um A0 auf eine logische "1" für die zweite Hälfte des Umwandlungszyklus zu bringen.
Der abgeschlossene 16- auf 8-Bit-Umwandlungszyklus ist in bezug auf Zeit und Funktion zwei aufeinanderfolgenden 8-Bit-Zyklen äquivalent.
Die oben erwähnten und in Fig. 5 gezeigten Signale werden wie folgt definiert:
MEMCS16
16-Bit-Speichervorrichtung wählen.
(I/OCS16) 16-Bit-E/A-Vorrichtung wählen. Die Klammern weisen darauf hin, daß der gesamte Ausdruck sich auf ein einzelnes Signal bezieht.
AEN1, AEN2 Adressenfreigabe von den DMA-Steuereinheiten
MEMR, MEMW, IOR, IOW Zentraleinheitsbefehlsignale.
IBHE Bus-"High"-Freigabe, zeigt an, wenn Daten auf einem 8-Bit-Segment höherer Ordnung erscheinen sollen.
XA0 Bit-Segment des Datenbus; Zeile für die Reihenfolge der am wenigsten wichtigen Adressen.
Q1 Warte-Generatorausgang (Ausgang des zweiten Status).
D0-D7 8-Bit-Segment niedrigster Ordnung des Datenbus.
D8-D15 Zweites 8-Bit-Segment des Datenbus.
ARDYEN Asynchrone Bereitfreigabe an 82 284. Addiert Wartezustände im Umwandlungszyklus, um das Erzeugen der zwei 8-Bit-Zyklen zu ermöglichen.
ALT ALE (aktiv "High") alternierender Adressenzwischenspeicher zum Takten einer Logik und zum erneuten Starten der Wartebit-Übertragung.
CONV.A0 (aktiv "High") Umwandlungszyklus A0. Gibt eine logische "1" an den A0-Adressenzwischenspeicher, so daß A0 stufenweise für den zweiten 8-Bit-Zyklus schaltet.
CNTLOFF Steuerung aus. Schaltet das aktive Befehlssignal für drei Taktvorgänge aus, um das Ende eines 8-Bit-Zyklus und den Beginn des zweiten 8-Bit-Zyklus zu simulieren. CNTLOFF wird ebenso verwendet, um den Datenbus niedriger Ordnung in der Zentraleinheit (während des Lesezyklus) bei der Übertragung der ersten 8 Bit zwischenzuspeichern.
Logische Gleichungen
/GATE245:= MEMCS16 & AEN1 & AEN2 & /MEMR & /XBHE & XA0
+MEMCS16 & AEN1 & AEN2 & /MEMW & /XBHE & XA0
+(I/OCS16) & AEN1 & AEN2 & /IOR & /XBHE & XA0
+(I/OCS16) & AEN1 & AEN2 & /IOW & /XBHE & XA0
+/AEN1 & /MEMCS16 & /XBHE & /IOR
+/AEN1 & /MEMCS16 & /XBHE & /MEMR (6)
/DIR245:= /AEN1 & /MEMR
+AEN1 & AEN2 & /XBHE & /MEMW
+AEN1 & AEN2 & /XBHE & /IOW (7)
/DATA CONV:=MEMCS16 & AEN1 & AEN2 & /MEMR & Q1 & /XBHE & /XA0
+MEMCS16 & AEN1 & AEN2 & /MEMW & Q1 & /XBHE & /XA0
+(I/OCS16) & AEN1 & AEN2 & /IOR & Q1 & /XBHE & /XA0
+(I/OCS16) & AEN1 & AEN2 & /IOW & Q1 & /XBHE & /XA0 (8)
Fig. 7 zeigt ein Detail des Zwischenspeichers DL, die Dateneingangs/-ausgangsverbindungen zwischen dem Systembus 250 und dem lokalen Zentraleinheitsbus 230 sowie das Steuersignal LEDMA. Fig. 6 stellt die Verbindung her zwischen dem Signal LEDMA und anderen Signalen auf dem lokalen Zentraleinheitsbus 230 (angegeben im oberen Drittel der Fig. 6 mit der Legende "82 385 lokale Bussignale und 25 MHz"), Signalen auf dem wahlfreien Bus 320 (gekennzeichnet durch die Bezeichnung "Mikrokanal") und Signalen auf dem Systembus 250 (gekennzeichnet im unteren Drittel durch die Legende "DMA- Signale"). Wie im oberen Drittel der Fig. 6 angegeben, ist der lokale Zentraleinheitsbus 230 ein synchron getakteter Bus (Takt CPU CL K2 und CPU CLK sind wie angegeben verbunden). Der Mittelteil (mit dem Hauptteil der Fig. 6) zeigt einen einzelnen Zyklus auf dem lokalen Zentraleinheitsbus 230. Der Beginn des Zyklus wird durch die senkrechte Linie links außen markiert, und das Ende des Zyklus wird durch die senkrechte Linie rechts außen angezeigt. Wie in Fig. 6 im mittleren Drittel gezeigt, sind die Befehlssignale SS0* und SS1* für einen sich durch den Systembus 250 zum Bus 320 erstreckenden Zyklus aktiv ("Low"), sobald ein Zyklus auf dem lokalen Zentraleinheitsbus 230 begonnen hat. Kurz danach wird eine Adresse in dem Puffer 253 (Bezugszeichen ADL*) zwischengespeichert. Anschließend wird das Signal CMD* ebenfalls aktiv ("Low"). Dieser Punkt definiert den Beginn des DMA-Zyklus auf dem Systembus 250 und dem wahlfreien Bus 320. Dies wird durch die Fortsetzung der dritten senkrechten Linie (von links) angezeigt, welche sich in das untere Drittel der Fig. 6 fortsetzt. Kurz nach dem Beginn des CMA-Zyklus werden die Signale DMA S0 und DMA S1 aktiv ("Low"). Wie in Fig. 6 gezeigt, verändert das Signal DMARDY* anschließend seinen Zustand. Beim nächsten Übergang in DMARDY* (der niedrige Übergang) werden die erforderlichen Daten auf dem Systembus 250 vorgesehen. Darauf verändert das Signal LEADMA seinen Status (steigender Übergang) mit der Folge, daß die Daten auf dem Systembus 250 in den Zwischenspeicher DL gespeichert werden. Derselbe Übergang, welcher die Statusveränderung in LEADMA bewirkt, beeinflußt ebenfalls BREADY* (wie durch den Pfeil in Fig. 6 angezeigt). In anderen Worten: sobald DMARDY* "Low" ist, sind die erforderlichen Daten bereits im Zwischenspeicher DL gespeichert und der DMA-Kanal hat den Bus 250 freigegeben. Wie in Fig. 6 gezeigt, führt daher der Übergang in DMARDY* zu einem Übergang in BREADY*. Beim nächsten "High"-Übergang von BR2, kann der Zentraleinheitszyklus gesichert beendet werden (dies ist die senkrechte Linie rechts außen in Fig. 6). Wie in Fig. 6 dargestellt, verursacht das Ende des Zentraleinheitszyklus eine Statusveränderung in CMS* auf dem Mikrokanal-Bus 320) und hat außerdem den Effekt, daß LEDMA freigegeben wird, da bei Abschluß des Zyklus die Zentraleinheit 225 die Daten vom Zwischenspeicher DL akzeptiert hat.
Das oben Gesagte zeigt, daß vor dem Abschluß des Zentraleinheitszyklus und als Erfordernis für das Abschließen des Zentraleinheitszyklus der DMA-Zyklus abgeschlossen sein muß. Dies garantiert, daß wenn die Zentraleinheit einen nachfolgenden Zyklus einleitet, (rechts von der senkrechten Linie rechts außen in Fig. 6) der DMA-Zyklus zuvor abgeschlossen wurde und somit der Bus frei von jeglichen Daten ist, die während des Verlaufs des DMA-Zyklus bewegt wurden.
Die Erfindung sieht somit ein Mittel zwischen dynamischer Busanpassung (welche die für den Bus 320 des Mikrokanals wesentliche Flexibilität liefert) und dem Fließbandbetrieb vor durch das selektive Erzeugen von CPUNA zum gegebenen Zeitpunkt. Wie oben erwähnt, hängt CPUNA vom Feststellen eines pufferbaren Zugriffs ab, wenn CPUNA vor dem Abschluß des anstehenden Zyklus erzeugt wird. Wird jedoch ein nicht pufferbarer Zugriff festgestellt, kann kein Fließbandbetrieb stattfinden, d. h. CPUNA tritt erst auf, wenn der Systembus 250 anzeigt, daß der Zyklus abgeschlossen ist (BREADY tritt auf).
Gleichzeitig ist eine Anpassung geschaffen zwischen dem synchronen DMA-Mechanismus und dem synchronen (doch durch einen anderen Takt angetriebenen) lokalen Zentraleinheitsbus durch den Puffer DL. Während der DMA-Zyklus durch den lokalen Zentraleinheitsbus 230 initiiert wird, wird der Zyklus auf dem lokalen Zentraleinheitsbus 230 erst nach Beendigung des DMA- Zyklus abgeschlossen.
Obwohl ein bestimmtes Ausführungsbeispiel der Erfindung beschrieben wurde, ist es offensichtlich, daß die Erfindung in vielen unterschiedlichen Formen ausgeführt werden kann. Sie ist darum nicht gemäß dem hier beschriebenen Beispiel auszulegen, sondern gemäß den beigefügten Ansprüchen.

Claims (3)

1. Computersystem
mit einer Zentraleinheit (225), einem Vorratsspeicher (255) mit einer bestimmten Bitbreite (32 Bit), einer Steuereinrichtung (260) und einem Zwischenspeicher (240), die durch einen Zentraleinheitsbus (230) miteinander verbunden sind,
sowie mit einem mit dem Zwischenspeicher verbundenen Systembus (250), an den Geräte (z. B. 275, 280, . . ., 370) unter vorgebbaren Adressen anschließbar sind,
wobei ein Fließbandbetrieb, d. h. das Erzeugen von Informationen für einen nächsten Zyklus durch die Zentraleinheit vor Abschluß des laufenden Zyklus ausführbar ist, der mit Hilfe eines der Zentraleinheit zugeführten ersten Bereitsignals auslösbar ist,
und wobei die Steuereinrichtung ein Signal (NA) abgibt, das als erstes Bereitsignal verwendbar ist,
dadurch gekennzeichnet, daß der Steuereinrichtung eine Zusatzlogik (CADR, CL) zugeordnet ist,
der zumindest teilweise die zu dem laufenden Zyklus zugehörige Adresse (CADR: A17-A26) zugeführt und die mit der Zentraleinheit verbunden ist,
die die zugeführte Adresse prüft, ob sie einem Gerät mit einer der Bitbreite des Vorratsspeichers entsprechenden Bitbreite zugeordnet ist oder nicht,
und die bei einer Adresse, die einem Gerät mit einer der Bitbreite des Vorratsspeichers entsprechenden Bitbreite zugeordnet ist.
das der Zentraleinheit zugeführte erste Bereitsignal (CL: CPUNA) vor Abschluß des laufenden Zyklus erzeugt (Fließbandbetrieb), unabhängig von dem von der Steuereinrichtung abgegebenen und als erstes Bereitsignal verwendbaren Signal (NA).
2. Computersystem
nach Anspruch 1, dadurch gekennzeichnet, daß der Zusatzlogik (CADR, CL) ein nach Abschluß des laufenden Zyklus von dem Systembus (250) abgegebenes zweites Bereitsignal (CL: BREADY) zugeführt ist, und daß
die Zusatzlogik bei einer Adresse, die einem Gerät mit einer der Bitbreite des Vorratsspeichers nicht-entsprechenden Bitbreite zugeordnet ist,
das der Zentraleinheit zugeführte erste Bereitsignal (CL: CPUNA) erst nach Erhalt des zweiten Bereitsignals (CL: BREADY) erzeugt (kein Fließbandbetrieb).
3. Computersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Zusatzlogik (CADR, CL) programmierbare Steuersignale (PCB) zugeführt sind, die auf die Erzeugung des ersten Bereitsignals (CL: CPUNA) einwirken.
DE3914265A 1988-05-26 1989-04-29 Steuerung des fliessbandbetriebs in einem dynamische busanpassung anwendenden mikrocomputersystem Granted DE3914265A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/198,894 US5125084A (en) 1988-05-26 1988-05-26 Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller

Publications (2)

Publication Number Publication Date
DE3914265A1 DE3914265A1 (de) 1989-11-30
DE3914265C2 true DE3914265C2 (de) 1992-01-09

Family

ID=22735315

Family Applications (2)

Application Number Title Priority Date Filing Date
DE3914265A Granted DE3914265A1 (de) 1988-05-26 1989-04-29 Steuerung des fliessbandbetriebs in einem dynamische busanpassung anwendenden mikrocomputersystem
DE68918754T Expired - Fee Related DE68918754T2 (de) 1988-05-26 1989-05-25 Datenverarbeitungsgerät mit selektivem Befehlsvorausholen.

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE68918754T Expired - Fee Related DE68918754T2 (de) 1988-05-26 1989-05-25 Datenverarbeitungsgerät mit selektivem Befehlsvorausholen.

Country Status (25)

Country Link
US (1) US5125084A (de)
EP (1) EP0343988B1 (de)
JP (1) JPH0623960B2 (de)
KR (1) KR930002321B1 (de)
CN (1) CN1009589B (de)
AR (1) AR242671A1 (de)
AT (1) ATE112869T1 (de)
AU (1) AU615055B2 (de)
BE (1) BE1002768A4 (de)
BR (1) BR8902393A (de)
CA (1) CA1313274C (de)
DE (2) DE3914265A1 (de)
DK (1) DK169492B1 (de)
ES (1) ES2063818T3 (de)
FI (1) FI95175C (de)
FR (1) FR2632090A1 (de)
GB (2) GB8904921D0 (de)
HK (1) HK11492A (de)
IT (1) IT1230207B (de)
MX (1) MX173139B (de)
MY (1) MY104738A (de)
NL (1) NL8901326A (de)
NO (1) NO174788B (de)
SE (1) SE8901307L (de)
SG (1) SG110691G (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504206B2 (ja) * 1989-07-27 1996-06-05 三菱電機株式会社 バスコントロ―ラ
CA2023998A1 (en) * 1989-11-13 1991-05-14 Thomas F. Lewis Apparatus and method for guaranteeing strobe separation timing
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
JP3215105B2 (ja) * 1990-08-24 2001-10-02 富士通株式会社 メモリアクセス装置
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
CA2060820C (en) * 1991-04-11 1998-09-15 Mick R. Jacobs Direct memory access for data transfer within an i/o device
GB2256296B (en) * 1991-05-31 1995-01-18 Integrated Device Tech Multiplexed status and diagnostic pins in a microprocessor with on-chip caches
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5630163A (en) * 1991-08-09 1997-05-13 Vadem Corporation Computer having a single bus supporting multiple bus architectures operating with different bus parameters
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
US5317712A (en) * 1991-12-19 1994-05-31 Intel Corporation Method and apparatus for testing and configuring the width of portions of a memory
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US5307475A (en) * 1992-06-29 1994-04-26 The United States Of America As Represented By The Secretary Of The Navy Slave controller utilizing eight least/most significant bits for accessing sixteen bit data words
US5313593A (en) * 1992-09-17 1994-05-17 International Business Machines Corp. Personal computer system with bus noise rejection
JPH0827773B2 (ja) * 1992-10-23 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データ経路を使用可能にする方法、装置およびデータ処理システム
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JPH07210537A (ja) * 1993-12-10 1995-08-11 Advanced Micro Devicds Inc コンピュータシステム
US5835960A (en) * 1994-01-07 1998-11-10 Cirrus Logic, Inc. Apparatus and method for interfacing a peripheral device having a ROM BIOS to a PCI bus
US5548733A (en) * 1994-03-01 1996-08-20 Intel Corporation Method and apparatus for dynamically controlling the current maximum depth of a pipe lined computer bus system
US5784579A (en) * 1994-03-01 1998-07-21 Intel Corporation Method and apparatus for dynamically controlling bus access from a bus agent based on bus pipeline depth
US5842041A (en) * 1994-05-20 1998-11-24 Advanced Micro Devices, Inc. Computer system employing a control signal indicative of whether address is within address space of devices on processor local bus
JP3153078B2 (ja) * 1994-09-09 2001-04-03 日本電気株式会社 データ処理装置
JP2630271B2 (ja) * 1994-09-14 1997-07-16 日本電気株式会社 情報処理装置
US5890216A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US5758188A (en) * 1995-11-21 1998-05-26 Quantum Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
US6504854B1 (en) 1998-04-10 2003-01-07 International Business Machines Corporation Multiple frequency communications
US6725348B1 (en) * 1999-10-13 2004-04-20 International Business Machines Corporation Data storage device and method for reducing write misses by completing transfer to a dual-port cache before initiating a disk write of the data from the cache
JP3857661B2 (ja) * 2003-03-13 2006-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び記録媒体
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US8825962B1 (en) 2010-04-20 2014-09-02 Facebook, Inc. Push-based cache invalidation notification
CN113514408B (zh) * 2021-06-28 2024-06-11 杭州谱育科技发展有限公司 具有校正功能的臭氧检测装置及方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016541A (en) * 1972-10-10 1977-04-05 Digital Equipment Corporation Memory unit for connection to central processor unit and interconnecting bus
US4314334A (en) * 1977-08-30 1982-02-02 Xerox Corporation Serial data communication system having simplex/duplex interface
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4315308A (en) * 1978-12-21 1982-02-09 Intel Corporation Interface between a microprocessor chip and peripheral subsystems
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4649476A (en) * 1983-10-31 1987-03-10 Motorola, Inc. Microcomputer having an internal address mapper
JPS6240555A (ja) * 1985-08-16 1987-02-21 Fujitsu Ltd プリフエツチ制御方式
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US4933845A (en) * 1987-09-04 1990-06-12 Digital Equipment Corporation Reconfigurable bus
CA1315011C (en) * 1987-09-28 1993-03-23 Paul R. Culley System for fast selection of non-cacheable address ranges using programmed array logic
CA1314104C (en) * 1987-09-28 1993-03-02 Paul R. Culley Executing code from slow rom on high speed computer compatible with slower speed computers

Also Published As

Publication number Publication date
AU615055B2 (en) 1991-09-19
AU3409989A (en) 1989-11-30
KR890017604A (ko) 1989-12-16
BE1002768A4 (fr) 1991-06-04
EP0343988A2 (de) 1989-11-29
HK11492A (en) 1992-02-21
IT8920648A0 (it) 1989-05-25
FI95175B (fi) 1995-09-15
ES2063818T3 (es) 1995-01-16
CN1037976A (zh) 1989-12-13
DK169492B1 (da) 1994-11-07
DK189489D0 (da) 1989-04-19
KR930002321B1 (ko) 1993-03-29
JPH02146645A (ja) 1990-06-05
MX173139B (es) 1994-02-02
AR242671A1 (es) 1993-04-30
SE8901307L (sv) 1989-11-27
GB2219110B (en) 1991-02-20
EP0343988A3 (de) 1991-01-30
EP0343988B1 (de) 1994-10-12
BR8902393A (pt) 1990-01-16
NO891584D0 (no) 1989-04-18
GB8904921D0 (en) 1989-04-12
NO891584L (no) 1989-11-27
NO174788C (de) 1994-07-13
JPH0623960B2 (ja) 1994-03-30
NL8901326A (nl) 1989-12-18
IT1230207B (it) 1991-10-18
CN1009589B (zh) 1990-09-12
GB8912018D0 (en) 1989-07-12
CA1313274C (en) 1993-01-26
DE68918754D1 (de) 1994-11-17
FR2632090A1 (fr) 1989-12-01
SG110691G (en) 1992-02-14
MY104738A (en) 1994-05-31
SE8901307D0 (sv) 1989-04-11
DK189489A (da) 1989-11-27
GB2219110A (en) 1989-11-29
NO174788B (no) 1994-03-28
ATE112869T1 (de) 1994-10-15
FI891787A (fi) 1989-11-27
FI891787A0 (fi) 1989-04-14
FI95175C (fi) 1995-12-27
US5125084A (en) 1992-06-23
DE68918754T2 (de) 1995-04-27
DE3914265A1 (de) 1989-11-30

Similar Documents

Publication Publication Date Title
DE3914265C2 (de)
DE2856483C2 (de)
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE2113890C2 (de) Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen
DE2456578C2 (de) Datenverarbeitungsanlage
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE69710515T2 (de) Verfahren und Vorrichtung zur Bestimmung von Wartezuständen auf einer Zyklusbasis in einem Datenverarbeitungssystem
DE2411963A1 (de) Datenverarbeitungsanlage
DE69033482T2 (de) Steuerungssystem für Systembus
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE4018481C2 (de)
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE2134402B2 (de) Vorrichtung zum Abfragen der Verfügbarkeit eines Kommunikationsweges zu einer Eingabe-Ausgabeeinheit
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE69230483T2 (de) Quadraturbusprotokoll zum Ausführen von Transaktionen in einer Rechneranordnung
DE2720842C3 (de) Datenübertragungssystem
DE3307194C2 (de)
DE69320732T2 (de) Verfahren zur Gerätadressierung und zur Datensignalübertragung auf einem Bus
DE69323662T2 (de) Verfahren zur Bestimmung von Geräten, die die Übertragung von Datensignalen auf einem Bus anfordern
EP1308846B1 (de) Datenübertragungseinrichtung
DE68906224T2 (de) Zentrale datenverarbeitungseinheit fuer ein datenverarbeitungssystem.
DE19580638B4 (de) Computersystem und Verfahren zum Steuern eines Peripheriegeräts in einem Computersystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee