DE3923253A1 - Mikroprozessor - Google Patents

Mikroprozessor

Info

Publication number
DE3923253A1
DE3923253A1 DE3923253A DE3923253A DE3923253A1 DE 3923253 A1 DE3923253 A1 DE 3923253A1 DE 3923253 A DE3923253 A DE 3923253A DE 3923253 A DE3923253 A DE 3923253A DE 3923253 A1 DE3923253 A1 DE 3923253A1
Authority
DE
Germany
Prior art keywords
signal
microprocessor
data
signals
ready
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.)
Granted
Application number
DE3923253A
Other languages
English (en)
Other versions
DE3923253C2 (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

Description

Die Erfindung bezieht sich auf einen Halbleitermikroprozessor und insbesondere auf eine Interfaceeinheit, die Bestandteil einer verbesserten Ausführungsform eines Intel 80386 Mikropro­ zessors ist, der häufig als 386-Prozessor bezeichnet wird. Der 386-Prozessor weist einen internen 32-Bit-Datenbus auf. Ein­ zelheiten dieses Busses des 386-Prozessors sind in zahlreichen Veröffentlichungen beschrieben.
Der 386-Prozessor weist eine chipinterne Speicher-Management­ einheit auf. Diese Einheit liefert die Adressierung beispiels­ weise für ein Cache-Memory, DRAMs, einen Massespeicher usw. Der erfindungsgemäße Prozessor weist zusätzlich einen chipin­ ternen Cache-Speicher sowie eine chipinterne Gleitpunkteinheit (floating point unit) auf. Gewisse Probleme entstehen bei der Datenübertragung zu einem chipinternen Cache-Speicher und einer Gleitpunkteinheit, und diese Probleme werden durch die hier beschriebene Interfaceeinheit besser gelöst. Die genann­ ten Probleme umfassen die Übertragung von Datenblöcken, bei­ spielsweise derjenigen Blöcke, die zu einem Cache-Speicher übertragen werden, oder der Gleitpunkteinheit zugeordneten langen Wörtern.
Für einen 16-Bit- oder 32-Bit-Mikroprozessor ist die Kopplung mit einem Speicher oder Peripherieeinheiten mit weniger Daten­ leitungen nicht ungewöhnlich. Beispielsweise kann ein 32-Bit- Prozessor mit einem RAM gekoppelt werden, der 8 Datenbits (einzelne Bytes) während jedes Speicherzyklus liefert. In einigen Fällen weist der Prozessor einen Multiplexer auf, der die externen Datenleitungen an verschiedene "Bytespuren (byte lanes)" des internen Datenbusses anlegt. Dies macht es bei­ spielsweise für den externen Speicher möglich, eine Prozessor­ anforderung nach einem 32-Bit-Datenwort mit 8-Bit-Übertragun­ gen zu bedienen. In bekannten Mikroprozessoren werden ver­ schiedene Signale benutzt, welche die Busgröße anzeigen. Wie zu sehen sein wird, ermöglicht die Erfindung die Busbemessung "im Flug". Diese Fähigkeit verbessert zusammen mit einem dy­ namisch bestimmten "blast"-Signal (burst last signal - letztes Stoßsignal) den erfindungsgemäßen Mikroprozessor im Vergleich zu bekannten Prozessoren.
Bekannt sind auch Bussignale, die dem MULTIBUS (Warenzeichen der Firma Intel Corp.) - einschließlich dem Multibus II zuge­ ordnet sind. Zum Stande der Technik wird auf die US-PS′n 45 70 220; 44 47 878; 44 42 484; 43 15 308 und 43 15 310 hingewie­ sen.
Der erfindungsgemäße Mikroprozessor hat einen internen Daten­ bus von n-Bytes, wobei n größer als 2 ist (bei dem bevorzugten Ausführungsbeispiel ist ein 32-Bit-Bus vorgesehen). Der Mikro­ prozessor liefert Adreßsignale für eine n-Byte-Datenübertra­ gung (lesen oder schreiben). Ein erstes Eingabemittel (z.B. Eingangsleitung oder Stift) erhält wenigstens ein Signal (Bytegrößensignal), das die durch den Speicher bei dem näch­ sten Bereitschaftssignal übertragene Anzahl von Bytes angibt. Der Mikroprozessor hat ein Ausgabemittel (z.B. Leitung oder Stift) zur Lieferung eines letzten (manchmal als "blast" be­ zeichneten) Signals, das angibt, daß eine Datenübertragungsan­ forderung vom Mikroprozessor mit der bei dem nächsten Bereit­ schaftssignal auftretenden Datenübertragung befriedigt werden wird. Im Mikroprozessor sind Logikmittel zur Erzeugung des letzten Signals vorgesehen. Diese Logikmittel verfolgen die Anzahl von Bytes, die übertragen worden sind, und tasten das Bytegrößensignal periodisch ab. Die Logikmittel können den Zustand des letzten Signals "im Flug" ändern. Daher kann bei­ spielsweise der externe Speicher ein besonderes Bytegrößen­ signal als Standardbedingung (default condition) liefern und dann das Signal ändern, wenn der Speicher die von dem Speicher tatsächlich übertragbare Anzahl von Bytes bestimmt. Das letzte Signal ändert sich entsprechend.
Das letzte Signal wird auch in Verbindung mit der Datenber­ tragung zum Cache-Speicher verwendet, wenn festgestellt wird, daß nach "cachefähigen" Daten aus dem externen Speicher ge­ sucht wird. Derartige Übertragungen können in einem Stoßbe­ trieb (burst mode) in Abhängigkeit von einem "B-Bereitschafts"- Signal aus dem Speicher durchgeführt werden. Das B-Bereit­ schaftssignal wird auch von den Logikmitteln zur Erzeugung des letzen Signals verwendet.
Die Erfindung stellt ein Interface für einen Mikroprozessor zur Verfügung, das eine dynamische "im Flug"-Verarbeitung von die Übertragung betreffenden Signalen, z.B. des Bytegrößen­ und Cache-Aktivierungssignals ermöglicht.
Im folgenden wird die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert. In der Zeichnung zeigen:
Fig. 1 ein allgemeines Blockschaltbild mit verschie­ denen, den Mikroprozessor bildenden Einhei­ ten;
Fig. 2 ein Blockschaltbild der erfindungsgemäßen Bus-Interfaceeinheit;
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 Betriebs­ weise 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. 1 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/0 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-Übertragungen 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 prft 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 BS 8, BS 16 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 BS 8 oder BS 16 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 t 1 (der Mikroprozessor sendet eine neue Adresse), t 2 (der Mikroprozessor sucht Daten) und T i (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. bs 8 und bs 16 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 Ausfh­ 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 ncntadd 2, ncntadd 1 und ncntadd 0. 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.
"a 1 out" und "a 0 out" 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 Verlaufe 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 bs 8/ 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 dem 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 bs 8 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 herbeifhrt, 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 bs 8 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 Bedingungn 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 (17)

1. 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 Bereitschaftssi­ gnal erhält, wenn ein externer Speicher zur Datenübertragung bereit ist, gekennzeichnet durch
eine Eingabeeinrichtung zum Empfang wenigstens eines Byte-Größen-Signals, das die Anzahl der zwischen dem Speicher und dem Mikroprozessor beim nächsten Bereitschaftssignal zu übertragenden Bytes darstellt,
eine Ausgabeeinrichtung zur Erzeugung eines letzten Si­ gnals, das anzeigt, ob eine Mikroprozessor-Datenübertra­ gungsanforderung mit der beim nächsten Bereitschaftssignal stattfindenden Datenübertragung befriedigt wird, und
eine das letzte Signal erzeugende Logikeinrichtung, die mit den Eingabe- und Ausgabeeinrichtungen gekoppelt ist, die Anzahl von nach Mikroprozessor-Lieferung der Adreßsignale über­ tragenen Datenbytes verfolgt und das Byte-Größen-Signal perio­ disch abtastet, wobei die Logikeinrichtung so ausgebildet ist, daß sie das letzte Signal vor dem Bereitschaftssignal bei jeder abgetasteten Änderung des Byte-Größen-Signals ändern kann.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß eine Byte-Aktivierungssignal-Erzeugungseinrichtung zur Erzeugung von Byte-Aktivierungssignalen vorgesehen ist, welche die für eine Datenübertragung zu verwendenden Spuren bzw. Wege des Datenbusses darstellen.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß er einen Cache-Speicher (11) aufweist.
4. Mikroprozessor nach Anspruch 3, dadurch gekennzeichnet, daß zusätzlich Eingabemittel zur Aufnahme von extern erzeugten Cache-Aktivierungssignalen vorgesehen sind und daß die zu­ sätzlichen Eingabemittel angeben, ob die von den Adreßsignalen für die Datenübertragung zum Mikroprozessor gesuchten Daten in dem Cache-Speicher gespeichert werden sollen.
5. Mikroprozessor nach Anspruch 4, dadurch gekennzeichnet, daß das Cache-Aktivierungssignal an die Logikeinrichtung kop­ pelbar, periodisch abtastbar und zur Erzeugung des letzten Signals verwendbar ist, wobei die Logikeinrichtung das letzte Signal bei jeder abgetasteten Änderung des Cache-Aktivierungs­ signals ändern kann.
6. Mikroprozessor nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß eine weitere Eingabeeinrichtung zur Auf­ nahme eines Burst-Bereitschaftssignals vorgesehen ist, das angibt, ob der externe Speicher für die Übertragung von Daten­ bursts in Abhängigkeit von Adreßsignalen bereit ist, wobei das Burst-Signal zur Logikeinrichtung gekoppelt und zur Erzeugung des letzten Signals verwendet wird.
7. Mikroprozessor nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß zur Durchführung von Gleitpunktberechnun­ gen eine Gleitpunkteinheit (17) vorgesehen ist.
8. Mikroprozessor, der einen 32-Bit-Datenbus aufweist, Adreßsignale zur Übertragung der 32 Datenbits erzeugt und ein Bereitschaftssignal erhält, wenn ein externer Speicher für die Datenübertragung bereit ist, dadurch gekennzeichnet, daß ein Eingangssignal an einer ersten Leitung (35) angibt, daß der externe Speicher 8 Datenbits überträgt, daß ein Eingangssignal an einer zweiten Leitung (34) angibt, daß der externe Speicher 16 Datenbits überträgt und daß eine dritte Leitung (29) ein letztes Signal liefert, welches angibt, daß eine Datenübertra­ gungsanforderung des Mikroprozessors mit einer am nächsten Bereitschaftssignal auftretenden Datenübertragung erfüllt wird, daß eine Logikeinrichtung (99 ... 101) zur Erzeugung des letzten Signals mit den ersten, zweiten und dritten Leitungen gekoppelt ist und so ausgebildet ist, daß sie die Zahl der nach Mikroprozessor-Lieferung des Adreßsignals übertragenen Datenbytes verfolgt und die Signale auf den ersten und zweiten Leitungen periodisch abtastet und zur Änderung des letzten Signals vor dem Bereitschaftssignal bei jeder abgetasteten Änderung auf den ersten und zweiten Leitungen zu ändern geeig­ net ist.
9. Mikroprozessor nach Anspruch 8, dadurch gekennzeichnet, daß der Mikroprozessor Byte-Aktivierungssignale in Abhängig­ keit von Signalen auf den ersten und zweiten Leitungen er­ zeugt, um die Byte-Spuren bzw. Wege des Datenbusses zu be­ zeichnen, welche für die Datenübertragung zu verwenden sind.
10. Mikroprozessor nach Anspruch 8 oder 9, dadurch gekenn­ zeichnet, daß ein Cache-Speicher (11) vorgesehen ist.
11. Mikroprozessor nach Anspruch 10, dadurch gekennzeichnet, daß eine vierte Leitung zur Aufnahme eines weiteren Eingangs­ signals vorgesehen ist, das angibt, ob die für die Übertragung zum Mikroprozessor gesuchten Daten im Cache-Speicher gespei­ chert werden sollen (Cache-Freigabesignal), daß die vierte Leitung mit der Logikeinrichtung gekoppelt ist, daß das Cache- Freigabesignal zur Verwendung durch die Logikeinrichtung periodisch abgetastet wird, um das letzte Signal zu erzeugen, und daß die Logikeinrichtung zur Änderung des letzten Signals vor dem Bereitschaftssignal bei jeder abgetasteten Änderung des Cache-Freigabesignals geeignet ausgebildet ist.
12. Mikroprozessor nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, daß eine fünfte Leitung zur Aufnahme eines weiteren Eingabesignals vorgesehen ist, das angibt, ob der externe Speicher für eine Datenübertragung im Burst-Betrieb bereit ist, und daß die vierte Leitung mit der Logikeinrich­ tung gekoppelt und zur Erzeugung des letzten Signals verwend­ bar ist.
13. Mikroprozessor nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß ein Cache-Speicher (11) mit dem internen Datenbus gekoppelt ist.
14. Mikroprozessor nach Anspruch 13, dadurch gekennzeichnet,
daß zusätzliche Eingabemittel zur Aufnahme eines Burst-Bereit­ schaftssignals vorgesehen sind, das angibt, ob der externe Speicher zur Datenübertragung im Burst-Modus bereit ist, und
daß das Burst-Bereitschaftssignal an die Logikeinrichtung anlegbar und zur Erzeugung des letzten Signals verwendbar ist.
15. Mikroprozessor nach Anspruch 14, dadurch gekennzeichnet, daß eine andere Eingabeeinrichtung zur Aufnahme wenigstens eines Byte-Größen-Signals vorgesehen ist, das die Anzahl von zwischen dem Speicher und dem Mikroprozessor beim nächsten Bereitschaftssignal zu übertragenden Bytes darstellt, daß das Byte-Größen-Signal an die Logikeinrichtung ankoppelbar und zur Erzeugung des letzten Signals verwendbar ist und daß die Lo­ gikeinrichtung das Byte-Größen-Signal periodisch abtastet und das letzte Signal bei jeder abgetasteten Änderung des Byte- Größen-Signals ändern kann.
16. Mikroprozessor nach einem der Ansprüche 13 bis 15, da­ durch gekennzeichnet, daß der Mikroprozessor Byte-Freigabesi­ gnale erzeugt, welche die Datenspuren bzw. -wege für die Da­ tenübertragung bezeichnen.
17. Mikroprozessor, insbesondere nach einem der Ansprüche 1 bis 16, gekennzeichnet durch
Adreßsignal-Erzeugungsmittel zur Erzeugung von Adreßsi­ gnalen für eine Datenanforderung aus einem externen Speicher,
einen Cache-Speicher (11)
erste Eingabemittel zur Aufnahme eines externen Signals, das angibt, ob die von den Adreßsignalen angeforderten Daten innerhalb eines vorgegebenen Datenblocks liegen und damit in dem Cache-Speicher gespeichert werden sollen; und
Signalerzeugungsmittel zur Erzeugung eines Signals, wel­ ches anzeigt, daß bei der nächsten Datenübertragung vom exter­ nen Speicher zum Cache-Speicher die Übertragung des vorgegebe­ nen Datenblocks abgeschlossen sein wird.
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 true DE3923253A1 (de) 1990-02-08
DE3923253C2 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 Int 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
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
JP2519860B2 (ja) * 1991-09-16 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション バ―ストデ―タ転送装置および方法
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
AU6677896A (en) * 1995-08-31 1997-03-19 Intel Corporation A set of instructions for operating on packed data
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633437A (en) * 1984-06-26 1986-12-30 Motorola, Inc. Data processor having dynamic bus sizing
EP0255593A2 (de) * 1986-08-01 1988-02-10 International Business Machines Corporation Übertragungssysteme mit Paketbildung

Family Cites Families (19)

* 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
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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633437A (en) * 1984-06-26 1986-12-30 Motorola, Inc. Data processor having dynamic bus sizing
EP0255593A2 (de) * 1986-08-01 1988-02-10 International Business Machines Corporation Übertragungssysteme mit Paketbildung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Electronics, 11.6.87, S. 74-76 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE3923253C2 (de) Mikroprozessor
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE4132833C2 (de) Hierarchischer Cache-Speicher
DE3724317C2 (de)
DE3438869C2 (de)
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE102004009497B3 (de) Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
DE3151745C2 (de)
DE3110196A1 (de) Datenverarbeitungssystem
DE2161886A1 (de) Befehlsausführungssystem in einer elektronischen Datenverarbeitungsanlage
DE2644441A1 (de) Datenverarbeitungssystem
DE3131341A1 (de) "pufferspeicherorganisation"
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE2853239A1 (de) Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang
DE3502147C2 (de)
DE2150751A1 (de) Digitaler Sinus-Kosinus-Generator
DE3911721C2 (de)
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE4114053A1 (de) Computersystem mit cachespeicher
DE3105115C2 (de)
DE3700800C2 (de) Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
DE60002077T2 (de) Minimierung der verwendung von busbefehlcodezeichen zur anforderung des startens und des endes einer verriegelung
DE2458777C2 (de) Schaltungsanordnung zur Textverarbeitung
DE1965506A1 (de) Einrichtung und Verfahren zur Programmsteuerung eines elektronischen Digitalrechners

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