DE3923253C2 - Mikroprozessor - Google Patents

Mikroprozessor

Info

Publication number
DE3923253C2
DE3923253C2 DE3923253A DE3923253A DE3923253C2 DE 3923253 C2 DE3923253 C2 DE 3923253C2 DE 3923253 A DE3923253 A DE 3923253A DE 3923253 A DE3923253 A DE 3923253A DE 3923253 C2 DE3923253 C2 DE 3923253C2
Authority
DE
Germany
Prior art keywords
signal
microprocessor
data
bus
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
DE3923253A
Other languages
English (en)
Other versions
DE3923253A1 (de
Inventor
Kenneth D Shoemaker
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE3923253A1 publication Critical patent/DE3923253A1/de
Application granted granted Critical
Publication of DE3923253C2 publication Critical patent/DE3923253C2/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
    • 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/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Description

Die Erfindung bezieht sich auf einen Mikroprozessor mit einem internen Datenbus für n Bytes, mit n größer als 2, wobei der Mikroprozessor Adreßsignale für eine n-Byte-Daten­ übertragung erzeugt und ein Bereitschaftssignal erhält, wenn ein externer Speicher zur Datenübertragung bereit ist.
Ein Vorgängertyp des erfindungsgemäßen Mikroprozessors, der Mikroprozessor Intel 80386, weist eine chipinterne Spei­ chermanagementeinheit auf. Diese Einheit liefert die Adres­ sierung für beispielsweise einen Cache-Speicher, für einen Hauptspeicher (DRAMs) sowie für Massenspeicher. Eine Weiter­ entwicklung dieses Prozessors Intel 80386 weist zusätzlich einen chipeigenen Cache-Speicher sowie eine chipeigene Gleitkommaeinheit auf. Bei der Übertragung von Datenblöcken zu dem Cache-Speicher oder von Langwörtern zu der Gleitkom­ maeinheit können bestimmte Probleme auftreten, da hierbei mehr Datenbytes übertragen werden müssen, als gleichzeitig über einen Datenbus übertragbar sind.
Für einen 16-Bit- oder 32-Bit-Mikroprozessor ist die Kopplung mit einem Speicherbus mit weniger Datenleitungen als der internen Datenbreite nicht ungewöhnlich. Beispiels­ weise kann ein 32-Bit-Prozessor mit einem RAM gekoppelt werden, der 8 Datenbits (= 1 Byte) über 8 Busleitungen während jedes Speicherzyklus liefert. Beispielsweise kann der Mikroprozessor einen Multiplexer aufweisen, der die externen Datenleitungen an verschiedene Leitungen des inter­ nen Datenbusses legen kann. Dies macht es beispielsweise für einen externen Speicher möglich, eine Prozessoranforderung nach einem 32-Bit-Datenwort mit vier 8-Bit-Datenübertragun­ gen zu bedienen. Bei bekannten Mikroprozessoren werden verschiedene Signale verwendet, welche die Busgröße anzei­ gen.
Beispielsweise beschreibt die US-Patentschrift 4,633,437 eine Mikroprozessoranordnung, bei der ein Mikroprozessor mit einem internen 32-Bit-Datenbus auf einen Speicher mit einer geringeren Datenbreite zugreifen kann. Eine Bus-Steuerein­ richtung erhält ein Signal, daß die Datenbusbreite des Speichers anzeigt, und veranlaßt mehrere Speicherzyklen, falls die Speicherbusbreite nur ein Bruchteil der CPU-Bus­ breite ist.
Aus der EP-A-0 255 593 ist es bekannt, beim Datenaus­ tausch zwischen einem Speicher und einer Ein-/Ausgabeinheit deren paketweise abgegebene Anzahl von Datenworten auf die Wortbreite des Speichers abzustimmen. Für den Datenaustausch werden unter anderem ein Bereitschaftssignal, ein Datenend­ signal für das letzte Wort eines Datenpakets und ein Signal für die Datenwortbreite des Speichers verwendet.
Bekannt sind auch Bussignale, die dem MULTIBUS (Warenzeichen der Firma Intel Corporation) zugeordnet sind. Zum Stande der Technik wird auf die US-Patentschriften 4,570,220; 4,447,878; 4,442,484; 4,315,308 und 4,315,310 hingewiesen.
Aufgabe der Erfindung ist es, einen Mikroprozessor der eingangs genannten Art zu schaffen, der eine Anzahl von Bytes übertragen kann, die einem Teil oder einem Mehrfachen seiner internen Datenbusbreite entsprechen und der flexibel auf Änderungen der zu übertragenden Datenmenge und der Übertragungsbreite reagieren kann.
Erfindungsgemäß wird die Aufgabe durch einen Mikropro­ zessor mit den Merkmalen des Anspruchs 1 gelöst.
Der erfindungsgemäße Mikroprozessor hat einen internen Datenbus von n Byte Breite, wobei n größer als 2 ist (bei dem bevorzugten Ausführungsbeispiel ist ein 32-Bit-Datenbus vorgesehen) . Der Mikroprozessor liefert Adreßsignale für eine n-Byte-Datenübertragung (Lesen oder Schreiben). Ein erstes Eingabemittel (Eingangsleitung oder -pin) erhält ein Bytegrößensignal, das die vom oder zum Speicher beim nächsten Bereitschaftssignal übertragene Anzahl von Bytes angibt. Der Mikroprozessor weist ein Ausgabemittel (zum Beispiel Leitung oder Pin) zur Ausgabe eines Letzte-Signals (BLAST-Signals) auf, das angibt, daß eine Datenübertragungs­ anforderung vom Mikroprozessor mit der beim nächsten Bereit­ schaftssignal auftretenden Datenübertragung abgeschlossen werden kann. Im Mikroprozessor sind Logikmittel zur Erzeu­ gung des Letzte-Signals vorgesehen. Diese Logikmittel ver­ folgen die Anzahl der Bytes, die übertragen worden sind, und tasten das Bytegrößensignal periodisch (taktgesteuert) ab. Die Logikmittel können den Zustand des Letzte-Signals "im Flug" (das heißt in jedem Takt, auch während des Speicherzy­ klus) ändern. Daher kann beispielsweise der externe Speicher ein spezielles Bytegrößensignal als Standardgröße liefern und dann in dem Falle das Signal ändern, wenn der Speicher die tatsächlich übertragbare Anzahl von Bytes ermittelt hat. Dann ändert sich das Letzte-Signal entsprechend.
Das Letzte-Signal wird auch in Verbindung mit der Über­ tragung von Datenblöcken zum Cache-Speicher verwendet, wenn festgestellt wird, daß nach cache-speicherbaren Daten aus dem externen Speicher gesucht wird. Derartige Übertragungen können in einem Burst-Modus in Abhängigkeit von einem Burst- Bereitschafts-Signal (BRDY-Signal) aus dem Speicher durchge­ führt werden. Das Burst-Bereitschaftssignal wird auch von den Logikmitteln zum Erzeugen des Letzte-Signals verwendet.
Der erfindungsgemäße Mikroprozessor weist eine Schnitt­ stelle zum Bus auf, die eine dynamische "im Flug"-Verarbei­ tung von die Übertragung betreffenden Bussignalen, zum Beispiel des Bytegrößen- und des Cache-Freigabesignals (KEN) ermöglicht.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand von in der Zeich­ nung dargestellten Ausführungsbeispielen näher erläutert. In der Zeichnung zeigen:
Fig. 1 ein allgemeines Blockschaltbild mit verschiedenen, den Mikroprozessor bildenden Einheiten;
Fig. 2 ein Blockschaltbild einer Bus-In­ terfaceeinheit;
Fig. 3 ein Blockschaltbild zur Erläuterung der Art der Kopplung der 32 Bits der Interfaceeinheit mit einem externen 8-Bit-Bus;
Fig. 4 Signalverläufe zur Beschreibung des Betriebs der Bus-Interfaceeinheit;
Fig. 5 Signalverläufe zur Beschreibung der Betriebsweise der Bus-Interfaceeinheit; und
Fig. 6 ein Blockschaltbild einer in einem Gatterfeld implementierten Logik zur Erläuterung der Betriebsweise der das BLAST-Signal erzeugenden Schaltung.
Beschrieben wird eine Interfaceeinheit für einen Mikroprozes­ sor. Die folgende Beschreibung enthält zahlreiche besondere Einzelheiten, beispielsweise die Anzahl von Bytes usw., um das Verständnis für die vorliegende Erfindung zu vertiefen. Es ist jedoch für den Fachmann klar, daß die Erfindung auch ohne diese besonderen Einzelheiten realisiert werden kann. In an­ deren Fällen sind bekannte Schaltungen nicht im einzelnen dargestellt und erläutert, um die Erfindung nicht mit bekann­ ten und unnötigen Einzelheiten zu belasten.
Gesamtblockschaltbild des Mikroprozessors
Fig. 1 zeigt den Mikroprozessor, in welchem die neue Bus-In­ terfaceeinheit 10 verwendet wird. Die Interfaceeinheit 10 ist mit einem externen 32-Bit-Datenbus 30, ferner mit einem Adreß­ bus 31 und einigen anderen Steuerleitungen gekoppelt, wie weiter unten in Verbindung mit Fig. 2 erläutert werden wird. (Zu beachten ist, daß der Ausdruck "Daten" allgemein zur Be­ zeichnung von über den Datenbus übertragenen Informationen verwendet wird. Diese Informationen können Anweisungen, Kon­ stante, Hinweise usw. enthalten.) Die Interfaceeinheit 10 ist über Adreß- und Datenbusse mit einem Cache-Speicher-Steuerge­ rät 12 gekoppelt. Das Steuergerät 12 steuert den Zugriff auf den Cache-Speicher 11. Das Steuergerät 12 ist außerdem mit einer Adressenerzeugungseinheit 14 und einer Seitenwechselein­ heit 13 gekoppelt, die ihrerseits mit der Adressenerzeugungs­ einheit 14 gekoppelt ist. Zur Erleichterung des Verständnisses für die vorliegende Erfindung sei angenommen, daß die Adres­ senerzeugungseinheit diejenige ist, die auch im Intel 80386 Verwendung findet. Die Segmentierungs- und Seitenwechselein­ heiten sind in der DE-OS 36 18 163 beschrieben.
Für die Erläuterung der vorliegenden Erfindung ist die spe­ zielle Konfiguration eines Cache-Speichers 11 und eines Cache- Steuergeräts 12 nicht wesentlich. Der Signalfluß zwischen dem Steuergerät 12 und der Interfaceeinheit 10 werden, soweit für das Verständnis der vorliegenden Erfindung notwendig, in Ver­ bindung mit Fig. 2 beschrieben.
Innerhalb des Mikroprozessors werden Anweisungen und Befehle an eine Befehlsdecodiereinheit 15 angelegt. Die Decodierein­ heit arbeitet mit einem Steuergerät 19 zusammen, in welchem Mikrocodebefehle gespeichert sind. Das Steuergerät 19 liefert Steuersignalfolgen für den Mikroprozessor. Der Befehlsdecodie­ rer 15 ist mit dem Steuergerät 19 verbunden dargestellt. Die Ausgänge des Steuergeräts sind mit allen anderen Einheiten des Mikroprozessors gekoppelt. Die Dateneinheit 18 ist eine arith­ metische Logikeinheit (ALU), welche ALU-Funktionen in ähn­ licher Weise wie diejenigen bei dem Intel 80386 durchführt.
Der Mikroprozessor weist auch eine Gleitpunkteinheit 17 zur Berechnung eines Gleitpunkts (floating point) auf. Die genaue Konfiguration der Einheit 17 ist für die Erfindung nicht kri­ tisch, obwohl die Blockübertragungen, die von der Einheit 17 und dem Cache-Speicher 11 benötigt werden, einen gewissen Anlaß für die Konzeption der vorliegenden Erfindung gebildet haben.
Das Ausführungsbeispiel des Mikroprozessors, wie er anhand des Blockschaltbilds in Fig. 1 dargestellt ist, kann mit der be­ kannten Metalloxidhalbleiter(MOS)-Technologie und insbesondere mit der komplementären MOS(CMOS)-Technologie realisiert wer­ den. Taktfrequenzen von 25 MHz oder mehr sind mit der derzei­ tigen CMOS-Technologie möglich.
Blockdiagramm der Bus-Interfaceeinheit
Die Hauptkomponenten der Bus-Interfaceeinheit 10 der Fig. sind in Fig. 2 zwischen den gestrichelten Linien 53 und 54 gezeigt. Das Cache-Steuergerät 12 steht mit der Interfaceein­ heit 10 über den Bus-Zykluspuffer 45 in Verbindung. Alle Speicheradressen, verschiedene Steuersignale und alle in einen externen Speicher einzugebenden Daten werden über den Puffer 45 zur Einheit 10 übertragen. Einlaufende Daten (Datenleseweg) werden über die Interfaceeinheit 10 direkt zur Cache-Steuerge­ rät 12 übertragen.
Die Ausgangsdaten des Puffers 45 werden an einen Schreibpuffer 41 angelegt. Dieser Puffer hat eine "Tiefe" von 4 und ermög­ licht dementsprechend die zeitweilige Speicherung bzw. Zwischenspeicherung von Daten aus dem Puffer 45 für vier CPU- Zyklen in einer seiner vier Stufen. Der Ausgang des Puffers 41 steht in direkter Verbindung mit dem Datenbus 30. Ebenfalls im Puffer 41 gespeichert und in jeder der vier Stufen ge­ speicherten Daten zugeordnet sind Signale, welche die Speicheradresse, den Speicherzyklustyp und die Länge darstel­ len. Die den Buszyklustyp usw. darstellenden Signale werden vom Decodierer 44 über Leitungen 46 zum Puffer 41 und zu einem Buszyklusmultiplexer und Decodierer 42 übertragen.
Der Buszyklusmultiplexer und Decodierer 42 wählt die Adreß­ signale, Bustypsignale usw. entweder (i) aus dem Puffer 41 (Leitungen 38) oder (ii) direkt aus dem Puffer 45 (Leitungen 39) und Leitungen 46. Der Ausgang des Multiplexers und Deco­ dierers 42 ist mit einem Latch (Verriegelungsschaltung) 43 gekoppelt. Der Ausgang des Latch liefert die Adreßsignale (30 Adreßbits und 4 Bits (Byteaktivierungssignale)) auf den Bus 31 und Steuerleitungen für den Speicher auf Leitungen 33.
Vier Bits aus dem Puffer 45 werden zum Buszyklusdecodierer 44 übertragen und zeigen den Typ des Buszyklus an. Diese Bits zeigen bis zu sechzehn verschiedenen Buszyklustypen an, wie Speicher lesen, Speicher schreiben, I/O lesen/schreiben, Vor­ abrufen, Verzweigen, verriegeltes Lesen, verriegeltes Schrei­ ben, Schreiben nicht beendet, schaltungseigener Emulator (Le­ sen oder Schreiben) und Lese- und Schreibzugriffe auf Seiten­ wechseleinheit 13. Die Buszyklustypbits werden im Decodierer 44 decodiert und dienen zur Steuerung beispielsweise des Mul­ tiplexers 42 und zur Lieferung gewisser Ausgangssignale, wie das "Blast"-Signal, das noch weiter unten erörtert werden wird.
Das Bus-Steuergerät 49 erhält ein Buszyklus-Anforderungssignal über die Leitung 55 zusätzlich zu einigen anderen Eingangssi­ gnalen, die weiter unten beschrieben werden. Das Bus-Steuerge­ rät liefert Steuersignale auf den Leitungen 57 zu verschie­ denen Schaltungen in der Bus-Interfaceeinheit 10, einschließ­ lich des Buszyklusdecodierer 44, des Buszyklusmultiplexers und Decodierers 42, des Latch 43 und des Puffers 41. Das Bus- Steuergerät arbeitet als übliche Zustandsmaschine. Der Buszy­ klusdecodierer 44 liefert das Blast-Signal (burst last, mitun­ ter auch als letztes Signal bezeichnet). Dieses Signal (aktiv niedrig) zeigt an, ob eine Mikroprozessor-Datenanforderung (Eingabe oder Ausgabe) beim nächsten Bereitschaftssignal auf den Leitungen 27 oder 28 erfüllt wird. Die Erzeugung dieses Signals und dessen Verwendung, einschließlich dessen Wechsel­ wirkung mit dem Cache-Aktivierungssignal (KEN) auf der Leitung 36 wird weiter unten in der vorliegenden Anmeldung beschrie­ ben.
Eingänge zu und Ausgänge aus der Bus-Interfaceeinheit 10
Die externen Haupteingänge zur Bus-Interfaceeinheit und die Hauptausgänge (zu der externen Schaltung) aus der Einheit 10 sind in Fig. 2 entlang der unterbrochenen Linie 54 gezeigt. Der Datenbus 30 ist ein 32-Bit-bidirektionaler Bus. Wie in Verbindung mit Fig. 3 erläutert werden wird, benötigen alle 32 Leitungen dieses Bus in typischer Ausführung eine Verbindung zur externen Schaltung. Der Mikroprozessor liefert eine Speicheradresse auf dem Adreßbus 31. Diese Adresse besteht aus 30 Bits an Adreßsignalen und 4 Byte-Aktivierungsbits, welche in Verbindung mit Fig. 3 näher erörtert werden. Die drei Speichersteuerleitungen 32 geben Lesen/Schreiben in den Speicher, Eingabe/Ausgabe und Daten gegen Steuerung (bei­ spielsweise Vorausabruf aus dem Speicher gegenüber Daten le­ sen) an. Der Adreßzustand (ADS) ist ein aktiv niedriges Signal auf der Leitung 22, das anzeigt, daß die Adresse auf dem Bus 31 gültig ist.
Die Speicherzyklusanforderungen vom Mikroprozessor bedingen generell 32 Datenbits, gelesen aus dem Speicher oder geschrie­ ben in den Speicher (größere Datenübertragungen wie die in Zuordnung zum Cache-Speicher werden weiter unten beschrieben). In einigen Fällen kann der Speicher auf einen 8-Bit- oder 16-Bit-Bus beschränkt sein. Wenn dies der Fall ist, liefert der Speicher ein geeignetes Signal auf die Leitungen 34 oder 35. Das Signal auf der Leitung 35 (Busgröße 8) zeigt an, daß die Übertragung mit 8-Bit-Übertragungen erfüllt wird, während das Signal auf der Leitung 34 (Busgröße 16) angibt, daß die Anforderung mit 16-Bit-Ubertragungen befriedigt wird. Leitun­ gen 34 und 35 sind mit dem Zyklusdecodierer 44 gekoppelt, und ihre Verwendung insbesondere für die Erzeugung des Blast-Si­ gnals auf der Leitung 29 wird weiter unten beschrieben.
Wie erwähnt, enthält der Mikroprozessor einen chipinternen Cache-Speicher. Einige Daten sind zur Speicherung innerhalb des Cache-Speichers vorgesehen. Eine externe Schaltung prüft Adressen vom Mikroprozessor und stellt fest, ob eine spezielle Adresse in den zur Speicherung innerhalb des Cache-Speichers bezeichneten Adreßraum fällt. Dies wird generell für Instruk­ tionen, Konstante usw. gemacht, aber nicht für gemeinsam ge­ nutzte Daten. Wenn die externe Schaltung feststellt, daß die angeforderten Daten "Cache-speicherbar" sind, sollten sie im Cache-Speicher gespeichert werden, worauf das KEN-Signal (ak­ tiv niedrig) auf der Leitung 36 rückgemeldet wird. Dieses Signal wird zum Decodierer 44 übertragen und wird bei der Erzeugung des Blast-Signals verwendet.
Das Eingangssignal auf der Leitung 23 ist ein gewöhnliches "Halte-"Signal, und das Ausgangssignal auf der Leitung 24 ist eine Haltebestätigung. Das Eingangssignal auf der Leitung 25 (Adreßhalte) zeigt an, daß der externe Bus sofort unabhängig gemacht werden soll (floated). Dies geschieht, um zu verhin­ dern, daß es zu einer gegenseitigen Blockierung des Systems und einer anderen Anlage auf dem Bus kommt. Die Leitung 26 liefert ein externes Adreßzustandssignal. Die Leitungen 27 und 28 erhalten ein Bereitschafts- und "Burst-"Bereitschaftssi­ gnal. Diese Signale werden auch zum Bus-Zyklusdecodierer 44 übertragen, und ihre Verwendung bei der Erzeugung des Blast- Signals wird weiter unten erläutert.
Datenbus-Interface
Bei einigen Mikroprozessoren kann ein interner Datenbus von beispielsweise 32 Bits direkt mit einem externen Datenbus mit weniger Leitungen gekoppelt werden. Im Falle des Intel 80386 kann beispielsweise ein 8-Bit-Datenbus direkt mit den niedri­ geren 8 Leitungen/Bits dieses mikroprozessorinternen Datenbus­ ses verbunden sein. Signale werden an den Mikroprozessor ange­ legt, um anzuzeigen, daß nur die niedrigeren 8 Leitungen des Datenbusses in Benutzung sind. Am häufigsten weist der Mikro­ prozessor einen internen Multiplexer auf, der die selektive Kopplung von 8 externen Datenbusleitungen mit vier Bytespuren des internen Datenbus ermöglicht.
Bei dem beschriebenen Ausführungsbeispiel des erfindungsge­ mäßen Mikroprozessors müssen alle 32 Bits des internen Daten­ bus mit einem externen Bus verbunden sein. Wenn der externe Datenbus nur 8 oder 16 Leitungen/Bits groß ist, ermöglicht es ein externer Multiplexer, beispielsweise der Multiplexer 60 gemäß Fig. 3, daß die 8 oder 16 Leitungen des externen Daten­ busses selektiv mit den Byte-Spuren des internen Datenbusses gekoppelt werden. Dies ist in einfacher Form in Fig. 3 (für den Fall eines externen 8-Bit-Bus) durch die direkte Kopplung der 32 Leitungen des Datenbusses der Bus-Interfaceeinheit 10 mit dem Multiplexer 60 gezeigt. Der Multiplexer 60 koppelt den 8-Bit-Bus 61 an irgendeine der 4-Byte-Spuren des Bus 30 an. Byte-Aktivierungsbits werden vom Mikroprozessor zur Steuerung des Multiplexers 60 geliefert. Daher diktiert der Mikroprozes­ sor diejenige Bytespur seines internen Busses, die mit dem externen Datenbus zu koppeln ist. Wie oben erwähnt, ist bei einigen bekannten Mikroprozessoren eine dem Multiplexer 60 äquivalente Schaltung auf dem Chip integriert. Alle Signale auf dem Datenbus werden daher über diesen Multiplexer übertra­ gen, wenn der Multiplexer chipintern ist. Es gibt eine Verzö­ gerung über den Multiplexer, und daher werden alle einlaufen­ den und abgehenden Signale von dem Multiplexer verzögert, wenn sich der Multiplexer auf dem Chip befindet. Selbst wenn ein externer 32-Bit-Datenbus verwendet wird, tritt über den Multi­ plexer eine Zeitverzögerung auf. Dies bestraft die Anwendun­ gen, die wahrscheinlich die höchste Leistung erbringen. Bei der Interfaceeinheit nach der Erfindung ist der Multiplexer 60 dann überflüssig, wenn die Bus-Interfaceeinheit 10 mit einem 32-Bit-Datenbus gekoppelt ist. Dies erhöht die Leistungsfähig­ keit bei Verwendung eines externen 32-Bit-Busses.
Blast-Signal
Das Blast-Signal auf der Leitung 29 (aktiv niedrig) zeigt an, daß bei dem nächsten Bereitschaftssignal (entweder Leitung 27 oder Leitung 28) eine Speicheranforderung der CPU befriedigt wird. Diese Funktion ist besonders zweckmäßig, wenn Daten in Wörtern mit weniger als 32 Bits zum Speicher übertragen wer­ den; während Burst-Zyklen, in denen beispielsweise Datenblöcke in den Cache-Speicher übertragen werden; oder soweit Wörter von mehr als 32 Bits Länge für die Gleitpunkteinheit übertra­ gen werden. Das Blast-Signal kann auf verschiedene Weise ver­ wendet werden. Es kann zur Erzeugung einer "Verriegelung" benutzt werden, um den Lese- oder Schreibzugriff auf einen vom Mikroprozessor zugegriffenen Speicher oder Speicherraum zu verhindern. Derartige Verriegelungen oder Sperren verhindern beispielsweise, daß ein Teil eines Datenblocks mit in Bezie­ hung stehenden Daten beeinträchtigt wird, während er in den Mikroprozessor gelesen wird.
Wichtig ist, wie nachfolgend noch beschrieben werden wird, daß das Blast-Signal seinen Zustand "im Fluge" ändern kann. Die den Zustand des Blast-Signals bestimmenden Signale, wie BS8, BS16 und KEN werden periodisch abgetastet, und der Zustand des Blast-Signals wird bei jeder derartigen Abtastung neu be­ stimmt. Daher kann ein externer Speicher in einem Standardbe­ trieb (default mode) bei Empfang einer Adresse vom Mikropro­ zessor aktive BS8 oder BS16 liefern und zu einem späteren Zeitpunkt feststellen, daß er 8-Bit-, 16-Bit- oder 32-Bit- Übertragungen durchführen kann. Das Blast-Signal kann, wie zu sehen sein wird, Zustände einige Male ändern, bevor ein Be­ reitschaftssignal rückgemeldet wird.
In Fig. 4, auf die nachfolgend Bezug genommen wird, ist der Verlauf des Blast-Signals für eine gewöhnliche Anforderung des Mikroprozessors auf Speicherzugriff veranschaulicht. Die Ver­ tikallinien 62-68 stellen diejenigen Zeitpunkte dar, an denen interne Takt- bzw. Zeitgabesignale auftreten (z. B. 25 MHz). Die Kurve für ADS zeigt, daß der Mikroprozessor nach dem Zeit­ punkt 62 ein Signal (gültig niedrig) auf die Leitung 22 gibt, was bedeutet, daß eine neue Adresse auf dem Adreßbus ansteht. Die Adreßsignale sind so gezeigt, daß die neuen Adreßsignale an den Übergängen 69 gültig werden.
Es sei angenommen, daß der externe Speicher bei Erhalt des ADS-Signals und Adressen feststellt, daß er die 32-Bit-Anfor­ derung vom Mikroprozessor mit 8-Bit-Übertragungen erfüllen wird. Er tut dies dadurch, daß er das BS8-Signal niedrig macht. Entsprechend dem Diagramm in Fig. 4 geschieht dies nach dem Zeitpunkt 63. Zum Zeitpunkt 63 wird jedoch das BS8-Signal vom Mikroprozessor geprüft und als hoch festgestellt (unter der Annahme, daß BS16 hoch ist). Das Abtasten von hohen BS8- und BS16-Signalen zu den Zeitpunkten 63 zeigt an, daß die vollen 32 Bits beim nächsten Bereitschaftssignal übertragen werden, wodurch die Anforderung vom Mikroprozessor in einem Zyklus befriedigt wird. Unter dieser Bedingung wird das Blast- Signal auf einen niedrigen Pegel gedrückt (Pfeil 70). Zum Zeitpunkt 64 wird das BS8-Signal wiederum geprüft und diesmal als niedrig festgestellt. Der Mikroprozessor interpretiert dies in der Bedeutung, daß eine 8-Bit-Übertragung auftreten wird, und daher werden beim nächsten Bereitschaftssignal nur 8 Bits der angeforderten 32 Bits übertragen. Daher werden zu­ sätzliche Speicherzyklen zur Beendigung der laufenden Mikro­ prozessoranforderung benötigt. Wie durch den Pfeil 71 darge­ stellt ist, wird das Blast-Signal hochgetrieben, was anzeigt, daß mehrere Speicherzyklen nach dem nächsten Speicherzyklus zur Beendigung der laufenden Mikroprozessoranforderung benö­ tigt werden. Kurz danach erscheint das Bereitschaftssignal, angegeben durch den Impuls 72. Bei diesem Impuls werden 8 Datenbits zwischen dem Mikroprozessor und dem Speicher über­ tragen, worauf 24 Bits zur Übertragung verbleiben, um die laufende Mikroprozessoranforderung zu vervollständigen.
Nach der ersten Übertragung wird das BS8-Signal (zwischen den Zeitpunkten 65 und 66) inaktiv (wieder angenommen, daß das BS16-Signal inaktiv bleibt). Dies zeigt an, daß der Speicher weiter in der Lage ist, eine 32-Bit-Übertragung auszuführen. Zum Zeitpunkt 66 wird der Zustand des BS8-Signals erneut abge­ tastet, und der Mikroprozessor interpretiert dies in der Be­ deutung, daß bei dem nächsten Speicherzyklus 24 Bits übertra­ gen werden und die laufende Anforderung erfüllt wird. Das Blast-Signal wird jetzt aktiv, wie durch den Pfeil 73 veran­ schaulicht ist. Bei dem nächsten Bereitschaftssignal werden die 24 Datenbits übertragen, wodurch der zweite Speicherzyklus und die gesamte Transaktion beendet werden.
Aus Fig. 4 ist zu beachten, daß das Blast-Signal mehr als einmal während des Anstehens der Mikroprozessoranforderung seinen Zustand änderte, und tatsächlich kann das Blast-Signal beliebig häufig seinen Zustand ändern, bevor eine Fertigmel­ dung zurückgegeben wird. Dies ermöglicht eine maximale Flexi­ bilität bei der Verarbeitung von unterschiedlichen Übertra­ gungstypen, die zwischen dem Mikroprozessor und dem Speicher auftreten können.
Bei der Erörterung der Fig. 4 wurde der Zustand der Byte-Akti­ vierungssignale nicht behandelt. Diese Signale werden für die Beispiele gemäß Fig. 5 genauer beschrieben werden. Generell bestimmen die Byte-Aktivierungssignale bei Aktivwerden der BS8- oder BS16-Signale, welche Bytespuren zu verwenden sind, wenn die 8 Bits zurückgeführt bzw. gemeldet werden. In einigen Fällen werden die Byte-Aktivierungssignale an einen MUX 60 wie derjenige gemäß Fig. 3 oder an eine andere externe Schaltung angelegt, welche die Signalkopplung auf die wenigstens eine Byte-Spur richtet, die von den Byte-Aktivierungssignalen be­ zeichnet ist.
Blast-Signalerzeugung
Das Blast-Signal auf der Leitung 29 wird vom Buszyklusdecodie­ rer 44 erzeugt. Bei dem beschriebenen Ausführungsbeispiel ist dieser Decodierer als Logikmatrix realisiert. Der Teil der Matrix, der das Blast-Signal erzeugt, ist durch die Gleichun­ gen, welche ihn implementiert, am besten beschrieben. Diese Gleichungen können in geeigneter Weise in logische Schaltungen (z. B. Gatter usw.) umgesetzt werden.
In den folgenden Gleichungen stellen "." ein logisches UND und "+" ein logisches ODER dar. Das "#"-Symbol stellt die Umkehr einer Funktion dar, insbesondere zeigt breset# an, daß die b-reset-Bedingung nicht wahr ist. Die verschiedenen Buszustän­ de werden dargestellt durch t1 (der Mikroprozessor sendet eine neue Adresse), t2 (der Mikroprozessor sucht Daten) und Ti (Leerzustand). "Firstfill" bedeutet den ersten Buszyklus in einem Cache-Speicher füllen (z. B. die ersten 4 Bytes von 16 Bytes werden in den Cache-Speicher übertragen); das KEN-Signal wird bei Firstfill als aktiv abgetastet. bs8 und bs16 beziehen sich auf die Signale auf den Leitungen 35 bzw. 34. "ncnt" bedeutet die Anzahl der zur Erfüllung der Mikroprozessoranfor­ derung verbleibenden Bytes. In der Schaltung wird diese Zäh­ lung durch ein 5-Bit-Feld dargestellt. In den unten angegebe­ nen Gleichungen sind die Bits in diesem Feld in Klammern ge­ zeigt. Wenn die Klammern beispielsweise "<1 . . . <" beinhaltet, sind die Bedingungen des Feldes für die Gleichung erfüllt (d. h. der Ausdruck ist wahr), wenn das erste Bit im Feld eine binäre 1 ist. Die Punkte im Feld zeigen an, daß der Zustand des Bits für die Erfüllung des Klammerausdrucks ohne Bedeutung ist.
Zur Erleichterung des Verständnisses für die Erfindung und insbesondere für das Blast-Signal sei angenommen, daß das Blast-Signal das gleiche ist, wie das morecyc. Tatsächlich gibt es einige Unterschiede für andere Zyklen als die gewöhn­ lichen Speicherzyklen: beispielsweise für einen Grenzabtast­ zyklus wird das Blast-Signal nicht angelegt. Diese Unterschie­ de sind jedoch für das Verständnis des beschriebenen Ausfüh­ rungsbeispiels der Erfindung ohne Bedeutung.
"ncntadd" bezeichnet die Anzahl von für eine besondere Über­ tragung zu subtrahierenden Bits bei Rückmeldung eines Bereit­ schaftssignals. "ncntadd" ist ein 3-Bit-Feld aus einer Verket­ tung von ncntadd2, ncntadd1 und ncntadd0. Wenn beispielsweise ncntout <10000< (16) und ncntadd <001< (1) ist, so wird ncnt <01111< (15). Diese Operation ist in Fig. 6 gezeigt. Die durch die Gleichungen implementierte Logik ist als Block 99 gezeigt. Die Untereinheit wird durch einen Subtrahierer 100 dargestellt. Das BRDY- oder RDY-Signal bewirkt, daß ein Latch 101 die Subtraktion von ncntout von ncntadd zur Erzeugung eines neuen ncnt aufgreift. Der neue Wert von ncnt dient zur Bestimmung des Zustandes von morecyc.
"a1out" und "a0out" stellen die aktuelle Adresse "1" und die Adresse "0" für den Buszyklus dar.
Typischer Speicherzyklus
Es wird auf Fig. 5 Bezug genommen, in der die Verläufe der oben erörterten Signale für eine Datenübertragung gezeigt sind. Die vertikalen Linien 80-91 stellen Zeiten bzw. Zeit­ punkte dar. Es sei zum Zwecke der Erörterung angenommen, daß das KEN-Signal zu den durch die Vertikallinien dargestellten Zeitpunkten abgetastet wird.
Zum Zeitpunkt 80 steht keine Adresse an, so daß der Prozessor keine Daten anfordert. morecyc ist für diese Bedingung auf einem niedrigen Pegel. Zwischen den Zeitpunkten 80 und 81 fällt das Potential von ADS/, was bedeutet, daß eine Adresse vorhanden ist. Die Adresse 40 liegt an den Adreßleitungen an. Die Byte-Aktivierungssignale sind als Signale 1011 angenommen. Dies bedeutet, daß der Prozessor ein Einzelbyte mit dieser Speicheranforderung sucht. (Wenn eine typische 32-Bit-Übertra­ gung angefordert wird, so sind die Byte-Aktivierungssignale 0000.) Ebenfalls zwischen den Zeitpunkten 80 und 81 wird bs8/ aktiv, was anzeigt, daß der Speicher die Anforderung mit 8-Bit-Übertragungen erfüllt; das KEN/Signal wird aktiv, was bedeutet, daß die gesuchten Daten cachefähig sind.
Zum Zeitpunkt 81 wird das KEN/Signal als aktiv abgetastet, und wie durch die Linie 95 angezeigt, wird Firstfill aktiv, da die nächste Übertragung die erste in einem cachefähigem Zyklus ist. Aus den obigen Gleichungen ergibt sich, daß die Bedingun­ gen für ncntout 4 erfüllt sind, da Firstfill hoch ist. ncntout 3, 2, 1 und 0 sind alle niedrig, da Firstfill hoch ist. Auch die Bedingungen für ncntadd 0 sind erfüllt, da bs8 aktiv ist und der Prozessor Daten sucht. Prüft man den Subtrahierer der Fig. 6 zu diesem Zeitpunkt: ncntout ist <10000< (16); ncntadd ist <001< (1), und daher ist ncnt gleich <01111< (15). Wiederum aus den obigen Gleichungen ergibt sich, daß ncnt <01 . . . < gültig ist, so daß morecyc aktiv ist. morecyc wird zwischen den Zeitpunkten 81 und 82 in Fig. 5 aktiv.
Zum Zeitpunkt 82 wird KEN wieder inaktiv. (Die spezielle Spei­ cherbedingung, die diese Zustandsänderung herbeiführt, ist unwesentlich; KEN wird zu diesem Zeitpunkt inaktiv gemacht, um die Flexibilität des beschriebenen Systems zu zeigen.) Wenn KEN zum Zeitpunkt 82 als inaktiv abgetastet wird, sinkt das Potential von Firstfill entsprechend der Pfeillinie 96. Sobald dies geschieht, sind die beiden Eingangssignale zum Subtrahie­ rer der Fig. 6 Einsen, und ncnt ist <00000<. Keiner der Ausdrücke von morecyc wird erfüllt, und das morecyc-Potential fällt. Dies zeigt an, daß bei der nächsten Übertragung die offene 8-Bit-Anforderung des Mikroprozessors befriedigt wird. (Zu beachten ist, daß der Mikroprozessor nur 8 Datenbits an­ fordert, da ein Byte-Aktivierungssignal 1011 ist und die An­ forderung dementsprechend befriedigt werden kann, obwohl bs8 aktiv ist.)
Zwischen den Zeitpunkten 82 und 83 wird das KEN-Signal wieder aktiv. Zum Zeitpunkt 83 wird dieses Signal abgetastet, und es steigt das Potential von Firstfill, wie durch die Pfeillinie 97 gezeigt. Unter dieser Bedingung wird ncnt 15, und das Po­ tential von morecyc steigt an, was bedeutet, daß bei der näch­ sten Übertragung die Prozessoranforderung nicht erfüllt wird. Zwischen den Zeitpunkten 83 und 84 fällt das Potential von BRDY/ und eine Übertragung findet statt (tatsächlich werden die 1011-Byte-Aktivierungssignale ignoriert, da KEN zurückge­ meldet wurde, und wie angegeben, werden die Byte-Aktivierungs­ signale nachfolgend zyklisch in üblicher Weise wirksam, wenn die Daten Byte-für-Byte übertragen werden).
Nach der ersten Übertragung (und nach dem Zeitpunkt 84) bleibt das KEN-Signal auf niedrigem Potential und Firstfill fällt auf ein niedriges Potential, da die erste Übertragung des Burst- Zyklus abgeschlossen ist.
Zu den Zeitpunkten 85 bis 91 wird bei jedem Aktivwerden von BRDY ein anderer 8-Bit-Block übertragen, und ncnt fällt wert­ mäßig für jede Übertragung um "1". Zum Zeitpunkt 90 sind beide Eingänge zum Subtrahierer "Einsen", und keine Bedingung von morecyc wird erfüllt. Das morecyc-Signal wird dann inaktiv, was bedeutet, daß bei der nächsten Übertragung die Speicheran­ forderung erfüllt wird.
Die zuvor beschriebene Interfaceeinheit für einen Mikroprozes­ sor sorgt für eine Verarbeitung der die Übertragung beeinflus­ senden Signale, wie Byte-Größe und Cache-Aktivierungssignal "im Fluge".

Claims (7)

1. Mikroprozessor mit einem internen Datenbus für n Bytes, wobei n größer als 2 ist, und wobei der Mikroprozes­ sor Adreßsignale für eine n-Byte-Datenübertragung erzeugt und ein Bereitschaftssignal (27; RDY) erhält, wenn ein externer Speicher zur Datenübertragung bereit ist, gekennzeichnet durch:
eine Eingabeeinrichtung zum Empfang wenigstens eines Byte-Größen-Signals (34, 35; BS8, BS16), das die Anzahl der zwischen dem Speicher und dem Mikroprozessor beim nächsten Bereitschaftssignal (27; RDY) zu übertragenden Bytes dar­ stellt,
eine Ausgabeeinrichtung zur Ausgabe eines Letzte-Signals (29; BLAST), das anzeigt, ob eine Mikroprozessor-Datenüber­ tragungsanforderung mit der beim nächsten Bereitschaftssignal (27; RDY) stattfindenden Datenübertragung abgeschlossen wird, und
eine das Letzte-Signal erzeugende Logikeinrichtung (44), die mit den Eingabe- und Ausgabeeinrichtungen gekoppelt ist, die die Anzahl der nach der Mikroprozessor-Lieferung der Adreßsignale übertragenen Datenbytes verfolgt und das Byte- Größen-Signal (34, 35; BS8, BS16) periodisch abtastet, wobei die Logikeinrichtung (44) so ausgebildet ist, daß sie das Letzte-Signal (29; BLAST) vor dem Bereitschaftssignal (27; RDY) bei jeder abgetasteten Änderung des Byte-Größen- Signals (34, 35; BS8, BS16) ändern kann.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeich­ net, daß eine Byte-Aktivierungssignal-Erzeugungseinrichtung zur Erzeugung von Byte-Aktivierungssignalen vorgesehen ist, welche die für eine Datenübertragung zu verwendenden Leitun­ gen des Datenbusses darstellen.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch ge­ kennzeichnet, daß er einen Cache-Speicher (11) aufweist.
4. Mikroprozessor nach Anspruch 3, dadurch gekennzeich­ net, daß zusätzlich Eingabemittel zur Aufnahme von extern erzeugten Cache-Aktivierungssignalen (36; KEN) vorgesehen sind, und daß die zusätzlichen Eingabemittel angeben, ob die von den Adreßsignalen für die Datenübertragung zum Mikropro­ zessor gesuchten Daten in dem Cache-Speicher (11) gespei­ chert werden sollen.
5. Mikroprozessor nach Anspruch 4, dadurch gekennzeich­ net, daß das Cache-Aktivierungssignal (36; KEN) an die Logikeinrichtung (44) koppelbar, periodisch abtastbar und zur Erzeugung des Letzte-Signal (29; BLAST) verwendbar ist, wobei die Logikeinrichtung (44) das Letzte-Signal bei jeder abgetasteten Änderung des Cache-Aktivierungssignals (36; KEN) ändern kann.
6. Mikroprozessor nach einem der Ansprüche 1 bis 5, da­ durch gekennzeichnet, daß eine weitere Eingabeeinrichtung zur Aufnahme eines Burst-Bereitschaftssignals (28; BRDY) vorgesehen ist, das angibt, ob der externe Speicher für die Übertragung von Daten-Bursts in Beantwortung der Adreß­ signale bereit ist, wobei das Burst-Bereitschaftssignal (28; BRDY) zur Logikeinrichtung (44) gekoppelt und zur Erzeu­ gung des Letzte-Signals (29; BLAST) verwendet wird.
7. Mikroprozessor nach einem der Ansprüche 1 bis 6, da­ durch gekennzeichnet, daß zur Durchführung von Gleitkommabe­ rechnungen eine Gleitkommaeinheit (17) vorgesehen ist.
DE3923253A 1988-08-01 1989-07-14 Mikroprozessor Expired - Fee Related DE3923253C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/227,078 US5073969A (en) 1988-08-01 1988-08-01 Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal

Publications (2)

Publication Number Publication Date
DE3923253A1 DE3923253A1 (de) 1990-02-08
DE3923253C2 true DE3923253C2 (de) 1997-01-23

Family

ID=22851663

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3923253A Expired - Fee Related DE3923253C2 (de) 1988-08-01 1989-07-14 Mikroprozessor

Country Status (9)

Country Link
US (1) US5073969A (de)
JP (1) JPH0248747A (de)
KR (1) KR960016412B1 (de)
CN (1) CN1018098B (de)
DE (1) DE3923253C2 (de)
FR (1) FR2634919B1 (de)
GB (1) GB2221553B (de)
HK (1) HK109194A (de)
SG (1) SG58393G (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0711793B2 (ja) * 1989-07-13 1995-02-08 株式会社東芝 マイクロプロセッサ
JP2504206B2 (ja) * 1989-07-27 1996-06-05 三菱電機株式会社 バスコントロ―ラ
US5319769A (en) * 1989-09-11 1994-06-07 Sharp Kabushiki Kaisha Memory access circuit for handling data pockets including data having misaligned addresses and different widths
US5416907A (en) * 1990-06-15 1995-05-16 Digital Equipment Corporation Method and apparatus for transferring data processing data transfer sizes
JP2502403B2 (ja) * 1990-07-20 1996-05-29 三菱電機株式会社 Dma制御装置
KR0181471B1 (ko) * 1990-07-27 1999-05-15 윌리암 피.브레이든 컴퓨터 데이타 경로배정 시스템
DE69130967T2 (de) * 1990-08-06 1999-10-21 Ncr International, Inc. Rechnerspeicheranordnung
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
GB9018993D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station interfacing means having burst mode capability
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
JP2519860B2 (ja) * 1991-09-16 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション バ―ストデ―タ転送装置および方法
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
TW276312B (de) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5422029A (en) * 1993-06-18 1995-06-06 Potini; Chimpiramma Composition for cleaning contact lenses
US5555392A (en) * 1993-10-01 1996-09-10 Intel Corporation Method and apparatus for a line based non-blocking data cache
US5649127A (en) * 1994-05-04 1997-07-15 Samsung Semiconductor, Inc. Method and apparatus for packing digital data
US5651138A (en) * 1994-08-31 1997-07-22 Motorola, Inc. Data processor with controlled burst memory accesses and method therefor
CN103092562B (zh) * 1995-08-31 2016-05-18 英特尔公司 控制移位分组数据的位校正的装置
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
US5689659A (en) * 1995-10-30 1997-11-18 Motorola, Inc. Method and apparatus for bursting operand transfers during dynamic bus sizing

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4099253A (en) * 1976-09-13 1978-07-04 Dynage, Incorporated Random access memory with bit or byte addressing capability
US4092728A (en) * 1976-11-29 1978-05-30 Rca Corporation Parallel access memory system
US4131940A (en) * 1977-07-25 1978-12-26 International Business Machines Corporation Channel data buffer apparatus for a digital data processing system
US4447878A (en) * 1978-05-30 1984-05-08 Intel Corporation Apparatus and method for providing byte and word compatible information transfers
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4371928A (en) * 1980-04-15 1983-02-01 Honeywell Information Systems Inc. Interface for controlling information transfers between main data processing systems units and a central subsystem
US4443846A (en) * 1980-12-29 1984-04-17 Sperry Corporation Dual port exchange memory between multiple microprocessors
JPS5955525A (ja) * 1982-09-25 1984-03-30 Toshiba Corp マイクロプロセツサ
US4507731A (en) * 1982-11-01 1985-03-26 Raytheon Company Bidirectional data byte aligner
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
JPS62102344A (ja) * 1985-10-29 1987-05-12 Fujitsu Ltd バツフア・メモリ制御方式
US4920483A (en) * 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
JPH0772886B2 (ja) * 1986-08-01 1995-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理システム
US4802085A (en) * 1987-01-22 1989-01-31 National Semiconductor Corporation Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor
US4816997A (en) * 1987-09-21 1989-03-28 Motorola, Inc. Bus master having selective burst deferral
US4912631A (en) * 1987-12-16 1990-03-27 Intel Corporation Burst mode cache with wrap-around fill
US4905188A (en) * 1988-02-22 1990-02-27 International Business Machines Corporation Functional cache memory chip architecture for improved cache access
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control

Also Published As

Publication number Publication date
HK109194A (en) 1994-10-21
KR900003747A (ko) 1990-03-27
DE3923253A1 (de) 1990-02-08
GB8827743D0 (en) 1988-12-29
GB2221553B (en) 1992-08-19
KR960016412B1 (ko) 1996-12-11
JPH0248747A (ja) 1990-02-19
CN1040105A (zh) 1990-02-28
FR2634919B1 (fr) 1993-08-13
US5073969A (en) 1991-12-17
SG58393G (en) 1993-08-06
FR2634919A1 (fr) 1990-02-02
GB2221553A (en) 1990-02-07
CN1018098B (zh) 1992-09-02

Similar Documents

Publication Publication Date Title
DE3923253C2 (de) Mikroprozessor
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE4132833C2 (de) Hierarchischer Cache-Speicher
DE3687307T2 (de) Computeranordnungen mit cache-speichern.
DE3146356C2 (de) Vorrichtung zur Steuerung der Übertragung von Gerätesteuerinformation in einem Datenendgerät
DE3300699C2 (de) Schaltungsanordnung zum Adressieren der jeweils ein Adreßvolumen aufweisenden Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozessorsystem mit Systembus
DE3038639C2 (de) Anordnung zur Datenübertragung zwischen einer Zentraleinheit und n E/A-Einheiten
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2723466C2 (de) Sammelleitungsanordnung
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE4010384A1 (de) Verfahren zur uebertragung von buendeldaten in einem mikroprozessor
DE2853239A1 (de) Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang
DE2644441A1 (de) Datenverarbeitungssystem
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
DE3110196A1 (de) Datenverarbeitungssystem
DE3502147A1 (de) Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
DE2719291B2 (de) Datenspeichersystem
DE68916945T2 (de) Synchronisierschaltung für Datenüberträge zwischen zwei mit unterschiedlicher Geschwindigkeit arbeitenden Geräten.
DE3911721C2 (de)
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE4114053A1 (de) Computersystem mit cachespeicher
DE3700800C2 (de) Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor
DE3105115C2 (de)
DE69712382T2 (de) Speichersystem und Datenkommunikationssystem
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 13/40

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee