DE3923253A1 - Mikroprozessor - Google Patents
MikroprozessorInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
1988
- 1988-08-01 US US07/227,078 patent/US5073969A/en not_active Expired - Lifetime
- 1988-11-28 GB GB8827743A patent/GB2221553B/en not_active Expired - Lifetime
-
1989
- 1989-01-31 FR FR898901180A patent/FR2634919B1/fr not_active Expired - Fee Related
- 1989-02-04 CN CN89100636A patent/CN1018098B/zh not_active Expired
- 1989-03-14 KR KR1019890003134A patent/KR960016412B1/ko not_active IP Right Cessation
- 1989-05-09 JP JP1114326A patent/JPH0248747A/ja active Pending
- 1989-07-14 DE DE3923253A patent/DE3923253C2/de not_active Expired - Fee Related
-
1993
- 1993-05-04 SG SG583/93A patent/SG58393G/en unknown
-
1994
- 1994-10-12 HK HK109194A patent/HK109194A/xx not_active IP Right Cessation
Patent Citations (2)
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)
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 |