-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein System, in dem Lese-, Modifizierungs-
und Schreibbefehle installiert sind.
-
Im
Genaueren betrifft diese Erfindung ein System, das eine Lese-, Modifizierungs-
und Schreibeinheit zum Durchführen
von Lese-, Modifizierungs- und Schreiboperationen aufweist zusätzlich zu
einer Zentralbearbeitungseinheit (die im Folgenden als CPU abgekürzt ist).
-
Im
Weiteren betrifft die vorliegende Erfindung ein System, das eine
Lese-, Modifizierungs- und Schreibeinheit und auch eine digitale
Signalbearbeitungseinheit (im Folgenden als DSP abgekürzt) aufweist,
die nicht lediglich nur auf eine CPU sondern auch auf einen digitalen
Signalprozessor, etc. anwendbar ist zum Durchführen einer Reihe von Lese, Modifizierungs-
und Schreiboperationen, wie eine CPU.
-
Mikroprozessoren
weisen im Allgemeinen eine CPU auf, die eine Operationseinheit und
eine Steuereinheit aufweisen, die auf einem Siliziumchip mit LSI-Produktionstechnologie
eingerichtet ist. Ein Computersystem weist solch einen Mikroprozessor und
damit verbundene Speicher auf. Aktuelle Mikrocomputer weisen auch
Speicher auf, die in einem Mikroprozessorchip installiert sind,
wobei zwischen dem Mikroprozessor und den Speichern über eine Busschnittstelleneinheit
zugegriffen wird (im Folgenden als BIU abgekürzt, englisch: bus interface
unit).
-
In 30 ist
eine bekannte Mikroprozessorarchitektur mit einer CPU 1,
einem Speicher 2 und einer BIU gezeigt, die zwischen diesen
eingefügt
ist.
-
Die
CPU 1 führt
einen Buslesezyklus, einen Busschreibzyklus oder einen Dummy-Buszyklus
(weder Lesen noch Schreiben) für
den Speicher 2 über die
BIU 3 aus. Im Detail empfängt die BIU 3 eine Speicheradresse,
eine Lese- oder Schreibanforderung und Schreibdaten, zu schreibende
Daten (lediglich beim Schreiben) von der CPU 1, während Lesedaten,
von dem Speicher 2 gelesene Daten, zu der CPU 1 durchgelassen
werden.
-
30 zeigt
einen Direktzugriff auf den Speicher 2 durch die BIU 3.
Eine Speichersteuerungseinheit (in Abhängigkeit des Typs des Speichers 2)
kann bereitgestellt werden zwischen der BIU und dem Speicher 2 zum
Lesen und Schreiben von Operationen zu dem Speicher über die
Speichersteuereinheit.
-
Eine
Lese-, Modifizierungs- und Schreibinstruktion wird detailliert erklärt. Diese
Instruktion ist eine einzelne Instruktion für die CPU zum Ausführen einer
Reihe von Operationen auf den Schreibdaten von einem Speicher, Modifizieren
einiger oder aller Bits der Lesedaten und dann erneutes Schreiben
der Originaldaten mit den modifizierten Daten in den Speicher.
-
Die
Lese-, Modifizierungs- und Schreibinstruktion wird beispielsweise
verwendet für
Bit-Manipulation von 1-Bit-Daten,
so wie Bit-Einstellung, Bit-Löschung,
Bit-Inversion und
logische Bit-Operationen (LOGICAL ORAND, NOR, etc.) und auch für Bit-Feldmanipulation
für 2-Bit-Daten oder mehr,
so wie arithmetische Operationen, logische Operationen, Verschiebung/Rotation,
Einfügung/Ersatz
und Löschung/Einstellung.
-
Als
nächstes
wird die Bit-Manipulation und Bit-Feldmanipulation für einen 8-Bit-Speicher erklärt.
-
In
der folgenden Erklärung
ist das höchstwertige
Bit und das niedrigstwertige Bit als Bit 7 bzw. Bit 0 definiert
für Binärzahldaten "10101010", die in dem 8-Bit-Speicher
bei einer gegebenen Adresse gespeichert sind.
-
Die
Bit-Manipulation wird zuerst für
vier Fälle erklärt.
-
Biteinstellung
für Bit
2 ersetzt den Wert "0" von Bit 2 in "10101010" mit "1", wodurch "10101110" in den 8-Bit-Speicher geschrieben wird.
-
Bit-Löschung für Bit 7
löscht
den Wert "1" von Bit 7 von "10101010", um den Wert "0" für
Bit 7 aufzuweisen, wodurch ""00101010" in den 8-Bit-Speicher
geschrieben wird.
-
Bit-Invertierung
für Bit
2 invertiert den Wert "0" von Bit 2 zu "1" in "10101010", wodurch "10101110" in den 8-Bit-Speicher geschrieben
wird.
-
Eine
Bit-LOGICAL OR-Operation bzw. eine logische Bit ODER-Operation für Bit 2
wendet ein logisches OR bzw. ODER zwischen den Wert "1" und "0" von
Bit 2 "10101010" an, um das Ergebnis "1" aufzuweisen, wodurch "10101110" in den 8-Bit-Speicher geschrieben
wird.
-
Als
nächstes
wird die Bit-Feldmanipulation für
sieben Fälle
beschrieben.
-
Hinzufügeoperation
zu 3-Bit-Daten "010" der Bits 6 bis 4
in "10101010" mit dem Wert "110" gibt den Wert "000" als untere drei
Bits der Ergebnisse (Summe) d. h. "010 + 110 = 1000", wodurch "10001010" in den 8-Bit-Speicher geschrieben wird.
-
Subtraktion-(oder
Dekrement)Operation für 3-Bit-Daten "010" der Bits 6 bis 4
in "10101010" von einem Wert "1", d. h. "010 – 1 = 001" resultiert in "10011010", was in den 8-Bit-Speicher geschrieben wird.
-
Eine
EOR-Operation, ein exklusives logisches OR bzw. ODER, mit dem Wert "110" auf 3-Bit-Daten "010" der Bits 6 bis 4
in "10101010" ergibt den Wert "100", wodurch "11001010" in den 8-Bit-Speicher
geschrieben wird.
-
Operatives
1-Bit-Rechtsverschieben der 3-Bit-Daten "010" der
Bits 6 bis 4 in "10101010" ergibt den Wert "001", wodurch "10011010" in den 8-Bit-Speicher
geschrieben wird.
-
1-Bit-Rechtsrotation
der 4-Bit-Daten "0101" der Bits 6 bis 3
in "10101010" rotiert den Wert "0101" zu dem Wert "1010", wodurch "11010010" in den 8-Bit-Speicher
geschrieben wird.
-
Bit-Feldeinfügung des
Werts "1101" für 4-Bit-Daten "0101" der Bits 6 bis 3
in "10101010" ersetzt den Wert "1010" mit "1101", wodurch "11101010" in den 8-Bit-Speicher geschrieben
wird.
-
Bit-Feldlöschung der
4-Bit-Daten "0101" der Bits 6 bis 3 "10101010" resultiert in "10000010", was in den 8-Bit-Speicher geschrieben
wird.
-
Ausführung von
Datenlesen von einem Speicher, Datenmodifizierung der ausgelesenen
Daten und erneutes Datenschreiben der modifizierten Daten zu dem
Speicher mit unterschiedlichen Instruktionen während der Unterbrechung durch
eine andere Aufgabe zwischen diesen Instruktion könnte eine
Unterbrechung hervorrufen vor Datenmodifizierung oder erneutem Schreiben
der Daten der erneut zu schreibenden Daten. Solch eine Unterbrechung könnte nachhteilige
Konsequenzen für
Systemoperationen hervorrufen, so wie Datensuche vor Datenumschreiben.
-
Um
solche nachteilige Konsequenzen zu vermeiden, wird eine einzelne
Lese-, Modifizierungs- und Schreibinstruktion zum Ausführen von
Lesen der Daten, Datenmodifizierung und Schreiben der Daten benötigt.
-
Die
nachteiligen Konsequenzen, die oben diskutiert wurden, sind beispielsweise
die Folgenden:
Unter der Annahme, dass Daten zum Unterscheiden zwischen
einem Bearbeitungsmodus und einem Wartemodus in einem Speicher bei
bestimmten Adressen für
zwei Vorrichtungen A und B gespeichert sind, in denen Daten "10" anzeigen, dass die
Vorrichtung A sich im Bearbeitungsmodus befindet, und Daten "11" anzeigen, dass sich
die Vorrichtung B in dem Bearbeitungsmodus befindet, und Daten "00" anzeigen, dass sich
beide Vorrichtungen A und B in dem Wartemodus befinden.
-
Die
Unterscheidungsdaten werden dann von dem Speicher für die Vorrichtung
A ausgelesen zum Ausführen
einer spezifischen Bearbeitung. Die Daten werden umgeschrieben als "10", wenn diese "00" sind und wiederhergestellt,
wodurch die Vorrichtung A die Bearbeitung startet. Wenn im Gegensatz
die Daten nicht "00" sind, wartet die
Vorrichtung A bis die Daten sich zu "00" verändern. Wenn
die Vorrichtung A die Bearbeitung komplettiert, werden die Daten "00" in den Speicher
geschrieben.
-
Wie
die Vorrichtung A wartet auch die Vorrichtung B bis die Daten sich
zu "00" verändern. Die Daten "11" werden dann geschrieben,
so dass die Vorrichtung B eine spezifische Bearbeitung starten kann.
Die Daten "00" werden auch geschrieben, wenn
die Vorrichtung B die Bearbeitung komplettiert.
-
Lese-,
Modifizierungs- und Schreibbearbeitung wird daher benötigt für solch
ein System, in dem es den Vorrichtungen A und B nicht erlaubt ist,
simultan die Bearbeitung zu starten, so dass die Bearbeitung nicht
unterbrochen wird.
-
Wenn
die Lese-, Modifizierungs- und Schreibbearbeitung unterbrochen wird,
während
Daten, die von dem Speicher durch die Vorrichtung A ausgelesen werden, "00" waren, tritt Unterbrechung während Daten- "10" Schreiben für die Vorrichtung
A auf, um Bearbeitung zu starten. Die Unterbrechung erzwingt, dass
die Vorrichtung B die Daten von dem Speicher liest, wodurch die
Daten "00" gelesen werden,
und daher werden die Daten "11" für die Vorrichtung
B geschrieben, um die Bearbeitung anstelle der Vorrichtung A zu
starten.
-
Wenn
die Unterbrechung fertig ist und die Daten "10" geschrieben
sind, startet die Vorrichtung A die Bearbeitung, obwohl die Vorrichtung
B sich immer noch im Bearbeitungsmodus befindet.
-
Wie
oben diskutiert, könnten
die Vorrichtungen A und B Konsequenzen bei Bearbeitung erleiden,
gewechselt bzw. geschaltet zu werden zwischen der Vorrichtung aufgrund
der Unterbrechung.
-
Die
Lese-, Modifizierungs- und Schreibinstruktion enthält Bit-Manipulation,
so wie Bit-Einstellung, Bit-Löschung,
Bit-Einfügung,
logische Bit-Operationen und Bit-Invertierung; Bit-Feldmanipulation, so
wie Bit-Feldeinfügung und
Bit-Feldersetzung; Verschiebeoperationen, so wie Operationsverschiebung und logische
Verschiebung; und Hinzufüge-/Subtrahierungs-Operationen, so wie
Erhöhung/Erniedrigung,
wie oben diskutiert.
-
Installation
der Lese-, Modifizierungs- und Schreibinstruktion in Mikroprozessoren,
Mikrocomputern und DSPs, etc. benötigt Bearbeitungszeit über einen
Maschinenzyklus für
Instruktionsabruf, Instruktionsdekodierung, Lesen des Speichers,
Datenmodifizierung und Schreiben in den Speicher.
-
In 26 ist
eine Instruktionsausführung
in einem ersten CISC-(Computer mit einem komplexen Instruktionssatz,
englisch: Complex Instruction Set Computer)Prozessor ohne sich in
einer Pipeline befindender Bearbeitung dargestellt.
-
Eine
Lese-, Modifizierungs- und Schreibinstruktion (Instruktion 2 in 26)
benötigt
mindestens eine Instruktionszeit von 5 Maschinenzyklen für die Instruktion
Abruf "F", Instruktion Dekodierung "D", Auslesen des Speichers "rd", Datenmodifizierung "mo" und Schreiben in
den Speicher "wr".
-
In 27 ist
eine Instruktionsausführung
in einem zweiten bekannten CISC-Prozessor mit sich in einer Pipeline
befindlicher Bearbeitung dargestellt.
-
Einige
Instruktionen in einer Lese-, Modifizierungs- und Schreibinstruktion
können
parallel mit anderen vorangehenden oder nachfolgenden Instruktionen
ausgeführt
werden, obwohl es 5 Maschinenzyklen Instruktionsausführungszeit
benötigt
für die
Instruktion Abruf "F", Instruktion Dekodierung "D", Lesen des Speichers "rd", Datenmodifizierung "mo" und Schreiben in
den Speicher "wr".
-
Im
Detail werden die F- und D-Stufen ausgeführt, während die vorangehenden Instruktionen "E" und "W" (INSTRUKTION
1) ausgeführt
werden, und die mo- und wr-Stufen werden ausgeführt, während die nachfolgenden Instruktionen "F" und "D" (INSTRUKTION
3) ausgeführt
werden. Daher wird die Lese-, Modifizierungs- und Schreibinstruktion
ausgeführt,
als ob diese für
3 Maschinenzyklen läuft.
-
28 stellt
eine Instruktion Ausführung
in einem dritten bekannten RISC-(Computer mit reduziertem Instruktionssatz,
englisch: Reduced Instruktion Set Computer)Prozessor mit 5-stufiger
Pipeline-Bearbeitung dar.
-
Eine
Pipeline weist 5 Stufen von Instruktionen auf Fetch bzw. Abruf "F", Instruktion Dekodierung "D", Berechnungsausführung "E",
Speicherzugriff "M" und Registerschreiben "W".
-
Zwei
Typen von Bearbeitung werden bei der Speicherzugriffs-"M"Stufe durchgeführt; Lesen des Speichers bei
der anfänglichen "M"-Stufe; und Schreiben des Speichers
bei der nächsten "M"-Stufe. Modifizierungsbearbeitung wird
durchgeführt,
wenn die Pipeline-Bearbeitung zurückkehrt zu den Instruktions-Dekodierungs-"D" und Berechnungsausführungs-"E"-Stufen.
-
Die
Pipeline-Bearbeitung wird durchgeführt in der Reihenfolge von
Instruktion Abruf "F", Instruktion Dekodierung "D", Berechnungsausführung "E", Speicherzugriff "M" mit Lesen des Speichers, Instruktion
Dekodierung "D", Berechnungsausführung "E" mit Datenmodifizierung, Speicherzugriff "M" mit Schreiben des Speichers und Schreiben
des Registers "W".
-
Während die
Pipeline-Bearbeitung zurückkehrt,
wird eine Instruktion, die der Lese-, Modifizierungs- und Schreibinstruktion
folgt, blockiert bevor die Pipeline-Bearbeitung in eine Instruktions-Dekodierungsstufe
eintritt. Die Lese-, Modifizierungs- und Schreibinstruktion, die
in 28 dargestellt ist, scheint somit 4 Maschinenzyklen
aufzuweisen. Der dritte bekannte Prozessor benötigt 2 Stufen für Datenmodifizierung
für Pipelinebearbeitung.
-
29 stellt
Lese-, Modifizierungs- und Schreibbearbeitung für einen vierten bekannten Prozessor
dar, der den dritten bekannten Prozessor (28) entspricht,
aber einen Speicher mit relativer langsamer Lese- und Schreibbearbeitung
aufweist (so wie ein Speicher, der 2 Maschinenzyklen für jedes
Lesen und Schreiben benötigt).
-
Die
Lese-, Modifizierungs- und Schreibinstruktion, die in 29 dargestellt
ist, benötigt
5 Maschinenzyklen, da eine Speicherzugriffs-"M"-Stufe mindestens
2 Maschinenzyklen benötigt.
-
Umso
langsamer die Lese-Schreibbearbeitung für einen verwendeten Speicher
ist, desto größer ist
die Anzahl von Maschinenzyklen, die verwendet werden zum Ausführen der
Lese-, Modifizierungs- und Schreibinstruktion, d. h., Maschinenzyklen
für die
Lese-, Modifizierungs- und Schreibinstruktion = Maschinenzyklen
zum Lesen des Speichers + Maschinenzyklen für Datenmodifizierung + Maschinenzyklen
für Instruktionsausführung.
-
Wie
oben diskutiert sind die Lese-, Modifizierungs- und Schreibinstruktionen
in den bekannten ersten bis vierten Prozessoren relativ langsame
Instruktionen, die mindestens 3 bis 5 Maschinenzyklen benötigen.
-
Die
Lese-, Modifizierungs- und Schreibinstruktion benötigt eine
längere
Ausführungszeit
für Speicher
mit langsamer Bearbeitungsgeschwindigkeit.
-
Lese-,
Modifizierungs- und Schreibinstruktionen, so wie Bit-Manipulation,
ersetzen üblicher
Weise 10% bis 15% von Programmen, die in elektrischen Haushaltsgeräten installiert
sind, so wie Klimaanlagen und digitale Camcorder und AV-(audio-visuelle)-Ausstattung,
so wie CD-Spieler, DVD-Spieler, TVs und VCRs. Instruktionen mit
langsamer Ausführungsgeschwindigkeit,
die aber häufig
verwendet werden, verursachen niedrige Prozessorperformance.
-
Ein
Lese-, Modifizierungs-, und Schreibgesteuertes System, das in der
nicht untersuchten
japanischen
Patentveröffentlichung
Nr. 11-184761 offenbart ist, weist Lese-, Modifizierungs-
und Schreibfunktionen auf. Lese-, Modifizierungs- und Schreibbearbeitung
wird simultan oder parallel zu mehreren Speicherbänken ausgeführt. Dies
unterscheidet sich von der vorliegenden Erfindung, in der CPU-Instruktionen
parallel mit der vorangehenden Lese-, Modifizierungs- und Schreibbearbeitung
für einen
höheren Durchsatz
durchgeführt
werden.
-
Das
Dokument "Read-modify-write
data integrity",
IBM Technical Disclosure Bulletin, IBM Corporation New York, US
(1985), Volume 27, Nr. 8, Seiten 5019–5020 offenbart ein Datenbearbeitungssystem, das
eine zentrale Bearbeitungseinheit (Prozessor), einen Speicher (Array)
zum Speichern gegebener Daten und eine Busschnittstelleneinheit
(implizit) umfasst. Es offenbart ferner eine Lese-, Modifizierungs- und
Schreibeinheit, die Datenintegrität bei Lesemodifizierung-Schreiben
gewährleistet.
Daten, die aus dem Speicher gelesen werden, werden in einem Lesedatenregister
gespeichert, und laufen dann über die
ECC-Korrekturlogik zum Korrigieren von jedem einzelnen Bit-Fehler.
Danach werden diese Daten mit Daten von dem Schreibdatenregister
zusammengeführt,
wodurch neue Prüfungs-Bits
erzeugt werden. Diese modifizierten Daten werden dann zurückgespeichert
in den Speicher. Wenn keine ECC-Fehler oder lediglich einzelne Bit-Fehler
auftreten, ist Datenintegrität
gewährleistet.
Wenn ein doppelter Bit-Fehler in den gelesenen Daten detektiert
wird, benachrichtigt ein Steuerungssignal (doppelte Bit-Fehlerdetektierung)
den Zusammenführungs-Multiplexer
und die alten Daten werden in dem Speicher zurückgespeichert, ohne Zusammenführung mit
den Schreibdaten durchzuführen.
Dann kann ein Algorithmus ausgeführt
werden zum Korrigieren des doppelten Bit-Fehlers.
-
Neue
programmimplementierte Ausstattungen sind in der Ausführung bzw.
Bearbeitung komplex geworden. Darüber hinaus gibt es einen Bedarf für eine höhere Bearbeitungsgeschwindigkeit und/oder
niedrigeren Energieverbrauch. Eine höhere Systemperformance oder
eine kleinere Anzahl von Takten pro Instruktion (im Folgenden als
CPI abgekürzt)
für jede
CPU-Instruktion sind stark erwünscht.
-
Pipeline-Bearbeitung
wurde vorangebracht für
kleinere CPI, um die Bedürfnisse
zu befriedigen, sind jedoch blockiert bzw. gehemmt durch Lese-,
Modifizierungs- und Schreibinstruktionen, so wie Bit-Manipulation,
aufgrund von 3 oder mehr Maschinenzyklen beim CPI.
-
Darüber hinaus
beeinflussen Speicher mit langsamer Zugriffszeit die CPI in Lese-,
Modifizierungs- und Schreiboperationen. Beispielsweise benötigt ein
2 Maschinenzyklen Zugriffszeitspeicher 5 (= 2 + 2 + 1) Maschinenzyklen
in CPI für
Lese-, Modifizierungs- und Schreibinstruktionen.
-
Wie
oben diskutiert weisen die bekannten Prozessoren lange Ausführungszeit
für Lese-,
Modifizierungs- und Schreibinstruktionen auf. Programmimplementierte
Ausstattung, die viele Lese-, Modifizierungs- und Schreibinstruktionen
verwendet, weisen daher längere
Ausführungszeit
auf, was die Leistungsfähigkeiten
ungünstig
beeinflusst, speziell von CPU-eingebetteten Systemen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Um
die oben diskutierten Probleme zu bewältigen, ist ein Zweck der vorliegenden
Erfindung, ein System mit einer kürzeren Ausführungszeit für Lese-,
Modifizierungs- und Schreibinstruktionen bereitzustellen.
-
Ein
anderer Zweck der vorliegenden Erfindung ist die Bereitstellung
eines Systems, das eine Lese-, Modifizierungs- und Schreibinstruktion
in einem Maschinenzyklus wie andere Instruktionen ausführen kann.
-
Ein
Datenbearbeitungssystem gemäß der vorliegenden
Erfindung, wie es in Anspruch 1 definiert ist, enthält: eine
zentrale Bearbeitungseinheit zum Dekodieren und Ausführen von
gegebenen Instruktionen; einen Speicher zum Speichern gegebener
Daten; eine Busschnittstelleneinheit, die zwischen der zentralen
Bearbeitungseinheit und dem Speicher bereitgestellt ist, um einen
Buslesezyklus zum Lesen von Daten von dem Speicher, einen Busschreibzyklus
zum Schreiben von Daten in den Speicher oder einen Dummy-Buszyklus
zu starten (der sich von den Lese- und Schreibzyklen unterscheidet);
und eine Lese-, Modifizierungs- und Schreibeinheit, die zwischen
der zentralen Bearbeitungseinheit und der Busschnittstelleneinheit
bereitgestellt ist. Die Lese-, Modifizierungs- und Schreibeinheit
weist auf: einen Modifizierungsvoraussetzungs-Puffer zum Speichern
von Modifizierungsvoraussetzungen, die zusammengesetzt sind aus
Modifizierungsdaten, die von der zentralen, Bearbeitungseinheit
ausgegeben werden, und einem Betriebssteuerungssignal; und einen
Modifizierungsoperations-Schaltkreis zum Anwenden einer Betriebsbearbeitung
auf Lesedaten, die von der Busschnittstelleneinheit ausgegeben werden,
mit den Modifizierungsdaten, die von dem Modifizierungsvoraussetzungs-Puffer
ausgegeben werden, unter dem Betriebssteuerungssignal, um ein Operationsergebnis
zu der Busschnittstelleneinheit als Schreibdaten auszugeben.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung enthält;
-
2 ist
eine Tabelle, die Lese-, Modifizierungs- und Schreibinstruktionen darstellt,
die in der ersten Ausführungsform
verwendet werden;
-
3 ist
eine andere Tabelle, die Lese-, Modifizierungs- und Schreiboperationen
darstellt, die in der ersten Ausführungsform verwendet werden;
-
4 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung enthält;
-
5 ist
eine Darstellung, die eine exemplarische Ausführung von Lese-, Modifizierungs-
und Schreibinstruktionen in einem Prozessor gemäß der dritten Ausführungsform
der vorliegenden Erfindung zeigt;
-
6 ist
eine Darstellung, die eine exemplarische Ausführung von Lese-, Modifizierungs-
und Schreibinstruktionen in einem Prozessor gemäß einer vierten Ausführungsform
der vorliegenden Erfindung zeigt;
-
7 zeigt
eine Darstellung, die eine exemplarische Ausführung von Lese-, Modifizierungs-
und Schreibinstruktionen zeigt, die in Prozessoren zu verbessern
sind, gemäß der fünften und
sechsten Ausführungsformen
der vorliegenden Erfindung;
-
8 ist
eine Darstellung, die eine exemplarische Ausführung der Lese-, Modifizierungs-
und Schreiboperationen zeigt, die in dem Prozessor verbessert sind,
gemäß der fünften Ausführungsform der
vorliegenden Erfindung;
-
9 ist
eine Darstellung, die eine exemplarische Ausführung der Lese-, Modifizierungs-
und Schreibinstruktionen zeigt, die in dem Prozessor verbessert
sind, gemäß der sechsten
Ausführungsform der
vorliegenden Erfindung;
-
10 ist
eine Darstellung, die eine exemplarische Ausführung der Lese-, Modifizierungs-
und Schreibinstruktionen in einem Prozessor gemäß einer siebten Ausführungsform
der vorliegenden Erfindung zeigt;
-
11 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
enthält,
die durch achte bis einundzwanzigste Ausführungsformen der vorliegenden
Erfindung gemeinsam verwendet werden;
-
12 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der achten
Ausführungsform
der vorliegenden Erfindung enthält;
-
13 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der neunten
Ausführungsform
der vorliegenden Erfindung enthält;
-
14 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der zehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
15 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß einer
ersten Architektur in der elften Ausführungsform der vorliegenden
Erfindung enthält;
-
16 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß einer
zweiten Architektur in der zwölften
Ausführungsform
der vorliegenden Erfindung enthält;
-
17 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der dreizehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
18 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der vierzehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
19 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der fünfzehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
20 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der sechzehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
21 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der siebzehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
22 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der achtzehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
23 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der neunzehnten
Ausführungsform
der vorliegenden Erfindung enthält;
-
24 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der zwanzigsten
Ausführungsform
der vorliegenden Erfindung enthält;
-
25 ist
ein Systemblockdiagramm, das eine Lese-, Modifizierungs- und Schreibeinheit
gemäß der einundzwanzigsten
Ausführungsform
der vorliegenden Erfindung enthält;
-
26 ist
eine Darstellung, die eine erste bekannte RMW-Bearbeitung in einem
CISC-Prozessor mit keiner Pipeline-Instruktionsausführung zeigt;
-
27 ist
eine Darstellung, die eine zweite bekannte RMW-Bearbeitung in einem
CISC-Prozessor mit Pipeline-Instruktionsausführung zeigt;
-
28 ist
eine Darstellung, die eine dritte bekannte RMW-Bearbeitung in einem
RISC-Prozessor mit Pipeline-Instruktionsausführung zeigt;
-
29 ist
eine Darstellung, die eine vierte bekannte RMW-Bearbeitung in dem
Fall von Lese-/Schreibbearbeitung
in einen Speicher zeigt, der eine langsame Zugriffszeit aufweist,
in einem RISC-Prozessor mit Pipeline-Instruktionsausführung; und
-
30 ist
ein Blockdiagramm eines bekannten Prozessors, der Lese-, Modifizierungs-
und Schreibinstruktionen aufweist.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Ausführungsformen
der Systeme gemäß der vorliegenden
Erfindung werden detailliert mit Bezug auf die beigefügten Zeichnungen
offenbart.
-
Zuerst
offenbart sind eine Systemarchitektur und deren Operationsprinzip
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung mit Bezug auf die 1 bis 3.
Die Architektur eines Prozessors gemäß einer zweiten Ausführungsform, eine
Modifikation der ersten Ausführungsform,
wird als nächstes
offenbart mit Bezug auf 4. Danach werden die Eigenschaften
der vorliegenden Erfindung gemäß weiteren
Ausführungsformen
erklärt.
-
Nun
wird mit Bezug auf 1 die Systemarchitektur gemäß der ersten
Ausführungsform
der vorliegenden Erfindung offenbart.
-
Wie
in 1 gezeigt, enthält das System gemäß der ersten
Ausführungsform
mindestens eine CPU 1 zum Dekodieren und Ausführen von
mehreren Instruktionen; einen Speicher 2 zum Speichern
gegebener Daten; und eine Busschnittstelleneinheit (die im Folgenden
als BIU abgekürzt
wird) 3, die zwischen der CPU 1 und dem Speicher 2 eingefügt ist,
zum Starten eines Buslesezyklus, um Daten von dem Speicher zu lesen,
wenn eine Adresse von der CPU sich im Adressenraum des Speichers 2 befindet,
eines Busschreibzyklus zum Schreiben von Daten in den Speicher 2,
wenn eine Adresse von der CPU 1 sich innerhalb des Adressenraums
des Speichers befindet, oder eines Dummy-Buszyklus, der sich von den
Lese- und Schreibbuszyklen unterscheidet. Die CPU 1, der
Speicher 2 und die BIU 3 sind analog zu denen
des bekannten Systems, das in 30 gezeigt
ist.
-
Eine
charakteristische Struktur des Systems in dieser Ausführungsform
ist eine Lese-, Modifizierungs- und Schreibeinheit (die im Folgenden
als RMWU abgekürzt
wird) 10 zum Ausführen
einer Speicherlesebearbeitung, einer Datenmodifizierungsbearbeitung
und einer Speicherschreibbearbeitung unter einer Lese-, Modifizierungs-
und Schreibinstruktion (die gelegentlich als RMW abgekürzt wird).
-
Die
detaillierte Architektur der RMWU 10 wird mit Bezug auf 1 offenbart.
-
Die
RMWU 10 wird bereitgestellt mit einem Speicheradress-Puffer 11 zum
Speichern von Speicheradressen, die durch die CPU 1 bereitgestellt
werden, und zum Ausgeben dieser zu der BIU 3; einem Modifizierungsvoraussetzungs-Puffer 12 zum
Speichern von Modifizierungsvoraussetzungen, die durch die CPU 1 bereitgestellt
werden; einem Modifizierungsvoraussetzungs-Dekoder 13 zum
Dekodieren der Modifizierungsvoraussetzungen, um Modifizierungsdaten
und ein Betriebssteuerungssignal zu erzeugen; einem Lesedatenspeicherpuffer 14 zum Speichern
von Lesedaten (die von dem Speicher 2 ausgelesen werden),
die durch die BIU 3 bereitgestellt werden; einem Modifizierungsoperations-Schaltkreis 15 zum
Anwenden einer Operationsbearbeitung der Lesedaten von dem Lesedatenspeicherpuffer 14 mit
den Modifizierungsdaten unter dem Operationssteuerungssignal zum
Ausgeben der Lesedaten oder modifizierten Daten; einem Schreibdatenspeicherpuffer 17 zum
Speichern von Schreibdaten, die durch die CPU 1 bereitgestellt
werden; einer Auswahleinrichtung bzw. einem Selektor 16 zum Auswählen entweder
der Schreibdaten von dem Schreibdatenpuffer 17 oder der
Lesedaten oder der modifizierten Daten von dem Modifizierungsoperations-Schaltkreis 15 und
Ausgeben der ausgewählten Daten
zu der BIU 3 als Schreibdaten; und einer RMWU-Steuerungseinheit 18 zum
Empfangen einer Leseanforderung, einer Schreibanforderung oder einer Lese-,
Modifizierungs- und Schreibanforderung von der CPU 1 und
zum Ausgeben eines Steuerungssignals zum Anfordern des Buslesezyklus,
des Schreibbuszyklus oder des Dummy-Buszyklus zu der BIU 3, so
dass eine Reihe von Bearbeitungen von Lesen zu Schreiben nicht unterbrochen wird,
wenn die Lese-, Modifizierungs- und Schreibanforderung von der CPU 1 gesendet
wird, und ferner zum Ausgeben eines Besetzt-Detektierungssignals
zu der CPU 1, das anzeigt, ob die RMWU 10 eine
andere Leseaufforderung, Schreibaufforderung oder Lese-, Modifizierungs-
und Schreibaufforderung von der CPU 1 akzeptieren kann.
-
In 1 (wie
unten in 4) ist die Lese-, Modifizierungs-
und Schreibanforderung nicht gezeigt als eine Eingabe von der RMWU-Steuerungseinheit 18,
da die Modifizierungserfordernisse den Unterschied der Schreibinstruktion
und der Lese-, Modifizierungs- und Schreibinstruktion aufweisen. Ferner,
wenn die CPU 1 bewirkt, dass lediglich eine Leseanforderung
bei der Ausführung
einer Leseinstruktion aktiv ist, lediglich eine Schreibanforderung bei
der Ausführung
einer Schreibinstruktion aktiv ist, und sowohl die Leseanforderung
als auch die Schreibanforderung bei der Ausführung der Lese-, Modifizierungs-
und Schreibinstruktion aktiv ist, ist es nicht notwendig für die RMWU-Steuerungseinheit 18, die
Lese-, Modifizierungs- und Schreibanforderung als eine Eingabe aufzuweisen.
Folglich ist in 1 (4) die Lese-,
Modifizierungs- und Schreibanforderung nicht als eine Eingabe der
RMWU-Steuerungseinheit 18 gezeigt.
-
Als
nächstes
ist die RMWU 10 für
deren Operation offenbart.
-
Der
RMWU 10 werden von der CPU 1 eine Speicheradresse,
Modifizierungserfordernisse, eine Leseanforderung, eine Schreibanforderung,
eine Lese-, Modifizierungs- und Schreibanforderung, Schreibdaten,
etc. zugeführt.
-
In
Reaktion auf die Modifizierungserfordernisse und die Lese/Schreib/Lese-Modifizierungs-Schreib-Anforderungen, sendet
die RMWU 10 die Buslesezyklus-, die Busschreibzyklus- oder
die Dummy-Buszyklus-Instruktion zu der BIU zum Lesen-Modifizieren-Schreiben,
Schreiben der Daten oder Lesen der Daten bei der Speicheradresse.
-
Im
Detail sendet die RMWU 10 eine Instruktion zu der BIU 3 zum
Starten des Buslesezyklus in Reaktion auf die Lese- oder die Lese-Modifizierungs-Schreib-Anforderung.
Lesedaten werden von dem Speicher 2 gelesen und dann der
RMWU 10 über
den BIU 3 zugeführt.
Die Lesedaten werden zu der CPU 1 direkt gesendet oder
werden gesendet nach Modifizierung bei dem Modifizierungsoperations-Schaltkreis 15 der
RMWU 10, was von dem Typ einer CPU-Instruktion abhängt, die die CPU 1 anfordert,
um auf den Speicher 2 über
die RMWU 10 zuzugreifen.
-
Zur
Lese-Modifizierungs-Schreib-Bearbeitung instruiert die RMWU 10 die
BIU 3 zum Starten des Buslesezyklus. Dann startet die BIU 3 den
Buslesezyklus, liest Daten von dem Speicher 2 und sendet
die ausgelesenen Daten zu der RMWU 10.
-
Der
Modifizierungs-Voraussetzungs-Dekoder 13 der RMWU 10 erzeugt
Modifizierungsdaten und ein Operationssteuerungssignal in Übereinstimmung
mit den Modifizierungsvoraussetzungen. Der Modifizierungsoperations-Schaltkreis 15 führt eine Operation
gemäß den Operationssteuerungssignalen
zwischen den Lesedaten und den Modifizierungsdaten aus.
-
Das
Operationsergebnis wird zu der BIU 13 über die Auswahleinrichtung 16 gesendet.
Die RMWU 10 instruiert die BIU 13, den Buslesezyklus zu
starten. Daher führt
die RMWU 10 Lese-, Modifizierungs- und Schreibüberarbeitung
im Auftrag der CPU durch.
-
Modifizierungsvoraussetzungen
bestehen aus zwei Stücken
von Information, so wie den Ort eines einzustellenden Bits und ein
Biteinstellungsbefehl, wenn die Lese-, Modifizierungs- und Schreibinstruktion
eine Biteinstellungsinstruktion ist.
-
Basierend
auf dem Ort eines einzustellenden Bits erzeugt der Modifizierungs-Voraussetzungs-Dekoder 13 der
RMWU 10 ein Bitmuster von "1" für den Ort
eines einzustellenden Bits und "0" für die übrigen Bits.
Der Dekoder 13 dekodiert ferner die Biteinstellungsinstruktion,
um ein Operationssteuerungssignal zu erzeugen, das eine logische
ODER-Operation anzeigt.
-
Der
Modifizierungsoperations-Schaltkreis 15 führt ein
logisches ODER zwischen den Lesedaten von der BIU und den Bitmustern
aus. Das Operationsergebnis wird zu der BIU als Schreibdaten über die
Auswahleinrichtung 16 gesendet. Die RMWU 10 instruiert
die BIU 3, den Buslesezyklus zum Schreiben der Schreibdaten
zu dem Speicher 2 zu starten. Die Speicheradresse für die Schreibdaten
ist gewöhnlicher
Weise die Adresse, die bei einem vorhergehenden Lesen des Speichers
verwendet wird.
-
2 zeigt
eine Tabelle 1, die exemplarische Lese-Modifizierungs- und Schreibinstruktionen,
Modifizierungsvoraussetzungen, Bitmuster und Typen von arithmetischen
Operationen (im Fall eines 8-Bit-Speichers)
auflistet.
-
Die
oberen exemplarischen Modifizierungsvoraussetzungen enthalten den
Ort eines Bits. Anstelle von diesen kann ein Bitmuster direkt zu
der RMWU 10 zugeführt
werden, was jedoch voraussetzt, dass die CPU 1 einen Bitmustererzeuger
bzw. Bitmustergenerator enthält.
-
Es
gibt Prozessoren, in denen Bit-Manipulationsinstruktionen
logische Operationsinstruktionen sind, die zwischen einem Speicheroperanden
und einem direkten Operanden arbeiten. Für solche Prozessoren bestehen
Modifizierungsvoraussetzungen aus dem direkten Operanden und dem
Typ der logischen Operation. Ein Bitmuster für solche Prozessoren ist ein
direkter Operand selbst, da keine Bitmustergeneratoren bzw. Bitmustererzeuger
benötigt
werden für
die RMWU 10 oder CPU 1.
-
Für die Schreibbearbeitung
sendet die RMWU 10 Schreibdaten von der CPU 1 zu
der BIU 3 über
den Speicherschreibdaten-Puffer 17 und instruiert die BIU 3,
den Buslesezyklus zu starten. Die BIU 3 startet dann den
Busschreibzyklus, um die Schreibdaten in den Speicher 2 zu
schreiben.
-
Für Lesebearbeitung
instruiert die RMWU 10 die BIU 3, den Buslesezyklus
zu starten. Die BIU 3 startet dann den Buslesezyklus, um
Daten von dem Speicher 2 zu lesen. Die ausgelesenen Daten
werden ohne Modifizierungen zurückgegeben
zu der RMWU 10 und dann zu der CPU 1.
-
Es
gibt verschiedene Wege und Arten von Zurückgeben der Auslesedaten bzw.
Lesedaten ohne Modifizierungen, die wie folgt sind:
- (1) die ausgelesenen Daten werden zu der CPU 1 nicht über die
RMWU 10 sondern direkt von der BIU 3 zurückgegeben;
- (2) die ausgelesenen Daten werden zu der CPU 1 nicht über den
Modifizierungsoperations-Schaltkreis 15 sondern über den
Lesedatenspeicher-Puffer 14 zurückgegeben; und
- (3) die Modifizierungsdaten und ein Operationssteuerungssignal,
das ein Operationsergebnis ausgibt, das identisch mit den Auslesedaten
ist, werden erzeugt bei dem Modifizierungs-Voraussetzungs-Dekoder 13,
und dann wird das Operationsergebnis zu der CPU 1 zurückgegeben
von dem Modifizierungsoperations-Schaltkreis 15.
-
Die
Kombination der Modifizierungsdaten und des Operationssteuerungssignals
in Option (3) kann aus den Modifizierungsdaten von "0" bei jedem Bit und einem logischen ODER-Operationssteuerungssignal
oder Modifizierungsdaten von "1" bei jedem Bit und
logischen UND-Operationssteuerungssignal bestehen. Das in 1 gezeigte
System verwendet die Option (3).
-
Es
gibt Instruktionen, die in der CPU 1 vorinstalliert sind,
so wie eine Bit-Testinstruktion zum Modifizieren von Auslesedaten
von dem Speicher 2 und Zurückgeben der modifizierten Daten
zu der CPU 1 ohne Schreiben der modifizierten Daten in
den Speicher 2.
-
In
diesem Fall instruiert die RMWU 10 die BIU 3 den
Buslesezyklus zu starten. Die BIU 3 startet dann den Buslesezyklus,
um Daten von dem Speicher 2 zu lesen und diese zu der RMWU 10 als
Auslesedaten zurückzugeben.
-
Der
Modifizierungs-Voraussetzungs-Dekoder 13 der RMWU 10 erzeugt
Modifizierungsdaten und ein Operationssteuerungssignal aus den Modifizierungsvoraussetzungen.
Der Modifizierungsoperations-Schaltkreis 15 wendet eine
Operationsbearbeitung auf die Auslesedaten mit den Modifizierungsdaten
unter dem Operationssteuerungssignal an, wobei die RMWU 10 das
Operationsergebnis zu der CPU 1 zurückgibt.
-
3 zeigt
auch eine Tabelle 2, die exemplarische Lese-, Modifizierungs- und
Schreibinstruktionen, Modifizierungsvoraussetzungen, Bitmuster und Typen
von arithmetischen Operationen (für 8-Bitspeicher) zeigt. Ein
Operationsergebnis, das unter Tabelle 2 in 3 erhalten
wird, kann zurückgegeben
werden zu der CPU 1 wie es ist. Oder es kann getestet werden,
ob alle Bit des Operationsergebnisses "0" sind,
und "0" wird zurückgegeben
zu der CPU 1, wenn der Test positiv ist, wobei "1" zurückgegeben wird,
wenn wenigstens ein Bit "1" ist.
-
4 zeigt
einen Prozessor gemäß einer zweiten
Ausführungsform
der vorliegenden Erfindung, eine Modifizierung der ersten Ausführungsform.
-
Die
Eigenschaft der zweiten Ausführungsform
ist, dass Schreibdaten und ein Stück von Information von Modifizierungsvoraussetzungen
von einer CPU 1 übertragen
werden zu einer RMWU 20 über die gleichen (gemeinsamen)
Signalleitungen.
-
Diese
Eigenschaft ist geeignet für
eine Situation, in der die CPU 1 nicht simultan einen Lese-, Modifizierungs-
und Schreibbefehl und einen Schreibbefehl ausgegeben hat, und daher
benötigt die
RMWU 20 nicht Modifizierungsdaten und Schreibdaten zur
gleichen Zeit.
-
Die
Modifizierungsdaten und Schreibdaten werden von der CPU 1 zu
der RMWU 10 unter Verwendung der gemeinsamen Signalleitungen
gesendet. Operationsbefehle in Modifizierungsvoraussetzungen, die
von der CPU 1 gesendet werden, weisen einen Schreibbefehl
für die
Schreibinstruktionen auf. Wenn der Operationsbefehl ein Schreibbefehl
ist, bekommt ein Modifizierungsvoraussetzungs-Puffer 12 der
RMWU 20 die Daten, die auf den gemeinsamen Signalleitungen
als die Schreibdaten gesendet werden; andernfalls bekommt diese
die Daten als die Modifizierungsdaten. In dem Fall der Schreibdaten instruiert
die RMWU 20 nicht die BIU 3, den Buslesezyklus
zu starten, und Eingeben (von einem Lesedatenspeicher-Puffer 14)
des Modifizierungsoperations-Schaltkreises 25 wird unterlassen,
die Schreibdaten auf dem Modifizierungsvoraussetzungs-Puffer 12 werden
(1) direkt zu einem Schreibdatenspeicher-Puffer 17 oder
(2) über
den Modifizierungsoperations-Schaltkreis 25 ohne jegliche
Modifikationen gesendet, und dann werden die Schreibdaten auf dem
Schreibdatenspeicher-Puffer 17 zu der BIU 3 gesendet.
-
Die
RMWU 20 ist mit einem Speicheradressen-Puffer 11 zum
Speichern von Speicheradressen bereitgestellt, die durch die CPU 1 zugeführt werden, und
zum Ausgeben dieser zu der BIU 3; einem Modifizierungsvoraussetzungs-Puffer 12 zum
Speichern von Modifizierungsvoraussetzungen, die aus dem Operationsbefehl
und den Daten bestehen (die Modifizierungsdaten für Lese-,
Modifizierungs- und Schreibinstruktionen oder die Schreibdaten für Schreibinstruktionen),
die durch die CPU 1 bereitgestellt werden; einem Modifizierungs-Voraussetzungs-Dekoder 13 zum
Dekodieren der Modifizierungsvoraussetzungen, um Modifizierungsdaten/Schreibdaten
und das Operationssteuerungssignal zu erzeugen; einem Lesedatenspeicher-Puffer 14 zum
Speichern der Lesedaten; einem Modifizierungsoperations-Schaltkreis 25 zum
Durchführen zwischen
den Lesedaten von dem Puffer 14 und den Modifizierungsdaten/Schreibdaten
von dem Dekoder 13 unter den Operationssteuerungssignalen
von dem Dekoder 13 zum Ausgeben der Lesedaten, der Schreibdaten
oder Modifizierungsdaten; der Schreibdatenspeicher-Puffer 17 zum
Speichern der Schreibdaten oder modifizierten Daten von dem Operations-Schaltkreis 25 als
Schreibdaten oder der Schreibdaten von dem Schaltkreis 25 oder
direkt von dem Dekoder 13 und dann Ausgeben der gespeicherten
Schreibdaten zu der BIU 3; und einer RMWU-Steuerungseinheit 18 zum
Ausgeben einer Leseanforderung oder Schreibanforderung von der CPU 1 zu
der BIU 3 auch eines RMWU-Statussignals zu der CPU 1,
den Status der RMWU 20 anzeigend.
-
Die
Prozessoren in den ersten und zweiten Ausführungsformen, die in den 1 bzw. 4 gezeigt
sind, führen
beide verschiedene spezifische Operationen gemäß der vorliegenden Erfindung
mit unterschiedlichen Architekturen aus.
-
Die
spezifischen Operationen gemäß der vorliegenden
Erfindung werden detailliert in dritten bis fünften Ausführungsformen offenbart, in
denen die erste oder zweite Ausführungsform
in Prozessorhardware verwendet wird.
-
Zuerst
wird mit Bezug auf 5 Datenbearbeitung mit einem
Prozessor einer dritten Ausführungsform
gemäß der vorliegenden
Erfindung offenbart.
-
5 stellt
Pipeline-Bearbeitung dar von 5-stufigen CPU 1 Instruktionen
der Instruktion Abruf "F", Instruktion Dekodierung "D", Berechnungsausführung "E",
Speicherzugriff (oder RMWU-Zugriff) "M" und
Registerschreiben "W". Jede Stufe benötigt einen
Maschinenzyklus. Der Prozessor in der dritten Ausführungsform,
der unten offenbart ist, ist ein RISC-Typ. Oder es kann ein CISC-Typ sein.
-
In 5 ist
die INSTRUKTION 2 eine Lese-, Modifizierungs- und Schreibinstruktion.
Der Speicherzugriff "M" beinhaltet Speicherlesen "rd", Datenmodifizierung "mo" und Speicherschreiben "wr", wenn die RMWU 10 in
der ersten Ausführungsform verwendet
wird.
-
Die
Lese-, Modifizierungs- und Schreibinstruktion wird durch die CPU 1 unter
Pipeline-Bearbeitung ausgeführt.
Wenn die Bearbeitung die Speicherzugriff "M" Stufe
erreicht, empfängt
die RMWU 10 eine Speicheradresse und Modifizierungsvoraussetzungen
von der CPU 1.
-
Die
CPU 1 komplettiert die Speicherzugriffsstufe in einem Maschinenzyklus
und bewegt sich auf die nächste
Registerschreibstufe zu, während
die Instruktion, die der Lese-, Modifizierungs- und Schreibstufe,
während
die Instruktion, die der Lese-, Modifizierungs- und Schreibinstruktion
folgt, bei der Speicherzugriffsstufe auftaucht.
-
Während dieser
CPU-Bearbeitung sendet die RMWU 10 eine Anforderung eines
Lesebuszyklus zu der BIU 3. Die Anforderung bzw. Anfrage
wird bei der BIU 3 bereitgehalten, während die BIU 3 den Bus
für die
vorangehende Instruktion verwendet. Der Lesebuszyklus startet, wenn
der Bus von der vorangehenden Instruktion befreit bzw. entlastet
ist. Er kann direkt starten, wenn der Bus frei ist.
-
Die
BIU 3 startet, den Speicher 2 bei der Speicheradresse
auszulesen, die von der RMWU 10 empfangen wurde. Die BIU 3 sendet
die ausgelesenen Daten von dem Speicher 2 zu der RMWU 10.
Die BIU 3 suspendiert bzw. unterdrückt die Buszyklusanforderung
einer anderen Einheit bis die RMWU 10 das Schreiben der
modifizierten Daten in den Speicher 2 komplettiert.
-
Die
RMWU 10 modifiziert die ausgelesenen Daten unter den Modifizierungsvoraussetzungen
von der CPU 1 und instruiert die BIU 3, einen
Speicherschreibbuszyklus mit den modifizierten Daten als Schreibdaten
zu starten. Speicherschreiben wird gewöhnlicher Weise durchgeführt bei
der Speicheradresse, die bereits beim Speicherlesen verwendet wurde.
Die BIU 3 schreibt die Schreibdaten in den Speicher 2 und
komplettiert die Lese-, Modifizierungs- und Schreiboperation.
-
Die
CPU 1 führt
Instruktionen aus, die der Lese-, Modifizierungs- und Schreibinstruktion
in der Pipeline-Bearbeitung
folgen, während
die RMWU 10 und die BIU 3 fortfahren mit der Lese-,
Modifizierungs- und Schreiboperation. Die Lese-, Modifizierungs-
und Schreibinstruktion wird daher ausgeführt, als ob sie für einen
Maschinenzyklus in dieser Pipeline-Bearbeitung läuft. Die vorliegende Erfindung
erreicht daher eine Lese-, Modifizierungs- und Schreiboperation
mit einer hohen Leistungsfähigkeit.
-
Als
nächstes
ist mit Bezug auf 6 Datenbearbeitung mit einem
Prozessor in der vierten Ausführungsform
gemäß der vorliegenden
Erfindung offenbart. In 6 ist die Ausführung einer
Lese-, Modifizierungs- und Schreibinstruktion zu einem langsamen
Speicher dargestellt, der eine Zugriffszeit von 2 Maschinenzyklen
benötigt.
-
In 6 ist
INSTRUKTION 2 eine Lese-, Modifizierungs- und Schreibinstruktion. Die Instruktionen
sind Instruktion Abruf "F", Instruktion Dekodieren "D", Berechnungsausführung "E",
Speicherzugriff (oder RMWU-Zugriff) "M" und Registerschreiben "W". Der Speicherzugriff (M) beinhaltet
Speicherlesen "rd", Modifizieren "mo" und Speicherschreiben "wr", wenn die RMWU 10 in
der ersten Ausführungsform
verwendet wird, wie in 5 gezeigt.
-
Ein
Buslesezyklus und ein Busschreibzyklus, die zu der BIU 3 von
der CPU 1 zu instruieren sind, benötigen jeweils 2 Maschinenzyklen.
Nichtsdestotrotz führt
die CPU 1 die nachfolgenden Instruktionen eine nach der
anderen in der Pipeline-Bearbeitung aus, während die RMWU 10 den
Lese- oder Schreibbuszyklus ausführt.
-
Mit
anderen Worten führt
die CPU 1 die Lese-, Modifizierungs- und Schreibinstruktion
in einem Maschinenzyklus bei Pipeline-Bearbeitung für den Speicher 2 einer
langsamen Zugriffszeit aus gemäß der vierten
Ausführungsform.
Diese hohe Leistungsfähigkeit
bzw. Performance ist sehr beachtlich verglichen mit bekannten Prozessoren
mit solch einem Speicher mit einer langsamen Zugriffszeit.
-
Die
RMWU 10 mit einem FIFO (First-In-First-Out), der Speicheradressen
und Modifizierungsvoraussetzungen von der CPU 1 speichert, ermöglicht aufeinander
folgende Ausführung
von Lese-, Modifizierungs- und Schreibinstruktionen (mehrere unterschiedliche
Instruktionen können
eingefügt sein),
ohne die Pipeline-Bearbeitung
zu blockieren. Die CPU 1 empfängt FIFO-Belegt/Bereit-Information als RMWU 10 Status,
und wenn der FIFO belegt bzw. beschäftigt ist, blockiert die CPU 1 die
Pipeline-Bearbeitung der Lese-, Modifizierungs- und Schreibinstruktionen, bis der FIFO
bereit wird.
-
Nicht
lediglich nur der Lese- und Schreibbuszyklus kann die RMWU 10 einen
Schreibbuszyklus der BIU 3 zum Ausführen von Speicherschreibinstruktionen,
so wie eine Speicherinstruktion, instruieren.
-
Die
vorliegende Erfindung hat eine bekannte Schreib-Puffereinheit (WBU) zum lediglich Ausführen von
Speicherschreibinstruktionen verbessert, so dass diese eine Sequenz
von Speicherlesen, Modifizieren und Speicherschreiben, Schutzbuszyklen
von Unterbrechung ausführen
kann und Anpassungen zwischen der Sequenz und Instruktionsaufrufen und/oder
Speicher – einem
Speicher-Lese-Buszyklus mit
der vorangehenden Speicherleseinstruktion durchführen kann. Dies sind auch Eigenschaften
der vorliegenden Erfindung.
-
In
der vorliegenden Erfindung wird auch eine RMWU 10 vorgeschlagen,
die betriebsbereit ist für Funktionen,
so wie eine Bit-Test-und-Einstellungs-Instruktion, zum Modifizieren
der Speicherdaten (um "1" bei bestimmten Bits
einzustellen), während
Lesedaten zu der CPU 1 zurückgegeben werden.
-
Beim
Empfangen von Lesedaten von der BIU 3 kann die RMWU 10 die
Lesedaten zu der CPU 1 wie sie sind zurückgeben oder diese zum Testen
vor dem Zurückgeben
modifizieren. Wenn beispielsweise Lesedaten "10110010" sind und eine Bitposition zum Testen
und Einstellen 6 ist, wird "10110010" wie es ist zurückgegeben, in dem Fall, wo
die RMWU 10 Lesedaten zu der CPU 1 wie sie sind
zurückgibt.
Andererseits, in dem Fall, wo die RMWU 10 die Daten zum
Testen modifiziert, führt
die RMWU 10 ein logisches AND bzw. UND zwischen den Lesedaten
und "0100000" aus (ein sofortiger
Wert, bei dem lediglich Bit 6 auf 1 gesetzt ist), um "00000000" oder "0" zurückzugeben,
die einen Inhalt aufweisen, von dem ein Ort des Bits 6 0 ist. Die
CPU 1 schreibt die Daten, die von der RMWU 10 zurückgegeben
wurden, in ein vorbestimmtes Register bei einer Registerschreibstufe,
um die Bit-Test- und Einstellungsinstruktion zu komplettieren.
-
Die
oben offenbarte RMWU 10 oder 20 in der vorliegenden
Erfindung ist daher fähig
eine Lese-, Modifizierungs- und
Schreibinstruktion in einem Maschinenzyklus durchzuführen. Die
vorliegende Erfindung erreicht daher eine hohe Leistungsfähigkeit
bei Prozessor eingebetteter Ausstattung, die die RMWU 10 oder 20 beinhaltet.
-
Als
nächstes
werden mit Bezug auf die 7 bis 10 Prozessoren
von fünften
bis siebten Ausführungsformen
offenbart, die die RMWU 10 oder 20 jeweils enthalten,
die Modifizierungen zu der dritten oder vierten Ausführungsform
sind.
-
In 7 sind
Operationen der Prozessoren in sowohl der fünften als auch der sechsten
Ausführungsform
dargestellt. Die Prozessoren führen
eine Lese-, Modifizierungs- und Schreibinstruktion der drei Operationen
(Lesen, Modifizieren und Schreiben) bei einer Speicherzugriffsstufe
in 3 Maschinenzyklen aus, während
dieser Instruktion folgende Instruktionen vor der Speicherzugriffsstufe
blockiert wurden.
-
Die
Lese-, Modifizierungs- und Schreibinstruktion in diesen Ausführungsformen
benötigt
3 Maschinenzyklen für
die Ausführungszeit,
was daher fast keine Verbesserungen bei der Ausführungszeit in 7 verglichen
mit bekannten Prozessoren darstellt.
-
Nichtsdestotrotz
müssen
die fünfte
und sechste Ausführungsformen
nicht immer notwendiger Weise einen Maschinenzyklus für eine Modifizierungsoperation
benötigen,
wie in den 8 bzw. 9 gezeigt.
Diese ist so, da Lese-, Modifizierungs- und Schreiboperationen bei
einer Speicherzugriffsstufe in diesen Ausführungsformen durchgeführt werden,
wobei ohne Pipeline-Stufenrückgabe
andererseits mehr als ein Maschinenzyklus wie der dritte bekannte
Prozessor in 20 benötigen könnte.
-
Im
Detail wird Modifizierung durchgeführt mit Speicherlesen bei einer
Ms-Stufe in der fünften
Ausführungsform,
die in 8 gezeigt ist, oder es wird mit Speicherlesen
bei einer M-Stufe in der sechsten Ausführungsform durchgeführt, die
in 9 gezeigt ist.
-
Die
fünfte
und sechste Ausführungsformen verkürzen daher
die Ausführungszeit
um einen Maschinenzyklus von 3 auf 2 Maschinenzyklen für die INSTRUKTION
2.
-
Die
Modifizierungsoperation mit Speicherlesen bei der Ms-Stufe in dem
Prozessor der fünften Ausführungsform
benötigt
einen Modifizierungsdatenerzeuger (Modifizierungs-Voraussetzungs-Dekoder 13)
und einen Modifizierungsoperations-Schaltkreis (15 oder 25)
wie die RMWU 10 oder 20 in der ersten oder zweiten
Ausführungsform
zwischen der CPU 1 und der BIU 3.
-
Unter
einer Lese-, Modifizierungs- und Schreibinstruktion werden Lesedaten
von der BIU 3 in Übereinstimmung
mit Modifizierungsvoraussetzungen von der CPU 1 modifiziert.
Lesedaten werden jedoch zu der CPU 1 ohne Modifizierungen
unter einer einfachen Leseinstruktion zurückgegeben (d. h. einer Ladeinstruktion).
-
In 8 ist
INSTRUKTION 2 eine Lese-, Modifizierungs- und Schreibinstruktion mit Instruktion Abruf "F", Instruktion Dekodieren "D", Berechnungsausführung "E",
Blockieren "Ms" (Lesen und Modifizieren
werden bei Speicherzugriffsstufe ausgeführt), Speicherzugriff "M" und Registerschreiben "W". Die Instruktionen 3 und 4 weisen Blockieren
bei der Instruktions-Dekodierungsstufe "Ds" bzw.
Blockieren bei der Ausführungsstufe "Es" auf.
-
Andererseits
sind in dem Prozessor der sechsten Ausführungsform, wie in 9 gezeigt,
in einem Fall der Schreiboperation ein Modifizierungsdatenerzeuger
(Modifizierungs-Voraussetzungs-Dekoder 13) und ein Modifizierungsoperations-Schaltkreis
(15 oder 25) bereitgestellt zwischen der CPU 1 und
der BIU 3 auf die gleiche Art und Weise wie die RMWU 10 oder 20 in
der ersten oder zweiten Ausführungsform.
Unter einer Lese-, Modifizierungs- und Schreibinstruktion werden
Schreibdaten von der CPU 1 modifiziert in Übereinstimmung
mit den Modifizierungsvoraussetzungen auch von der CPU 1.
Lesedaten in einem Lesebuszyklus bzw. Buslesezyklus, der einem Schreibbuszyklus
vorangeht, werden zu der CPU 1 zurückgegeben, ohne über den
oberen Modifizierungs-Schaltkreis in der sechsten Ausführungsform
zu laufen.
-
In 9 ist
eine Ausführung
von Instruktionen in dem Prozessor der sechsten Ausführungsform dargestellt.
INSTRUKTION 2 ist die Lese-, Modifizierungs- und Schreibinstruktion
mit einer Instruktion Abruf "F", Instruktion Dekodieren "D", Berechnungsausführung "E",
Blockieren bei Speicherzugriffsstufe "Ms" (Lesen
ausgeführt
bei der Speicherzugriffsstufe), Modifizieren "Mm" und
Registerschreiben "W". Instruktionen 3
und 4 weisen Blockieren bei der Ausführungsstufe "Es" bzw. Blockieren
bei der Instruktions-Dekodierungsstufe "Ds" auf.
-
Im
Fall der Lese-, Modifizierungs- und Schreiboperation zu einem Speicher
mit einer langsamen Zugriffszeit wird die Lese-, Modifizierungs- und
Schreibinstruktion kontinuierlich bei der Speicherzugriffsstufe "M" blockiert. Nichtsdestotrotz verkürzt die
sechste Ausführungsform
den Maschinenzyklus um Eins verglichen mit den bekannten Prozessoren
aufgrund keiner Modifizierungen.
-
Darüber hinaus
maskiert der Prozessor der sechsten Ausführungsform mit einer nicht
blockierenden Last zum Ausführen
von nachfolgenden Instruktionen (nicht zugreifbar auf den Speicher
bei Stufe "M") ohne Blockierungen
im Lesezyklus einer Wartezeit für
die Lese-, Modifizierungs- und Schreibinstruktion im Buslesezyklus
für einen
Speicher mit einer langsamen Zugriffszeit. Daher erreicht die sechste Ausführungsform
eine Ausführung
von Instruktionen mit fast der Hälfte
der Ausführungszeit
wie bei bekannten Prozessoren.
-
In 10 ist
die Ausführung
von Instruktionen in dem Prozessor der siebten Ausführungsform dargestellt.
-
Obwohl
nicht dargestellt ist der Prozessor der siebten Ausführungsform
mit einer Modifizierungsschreibeinheit (die im Folgenden als MWU
abgekürzt
wird) zwischen der CPU 1 und der BIU 3 ausgestattet.
Die MWU entspricht der RMWU 10 oder 20 in der
ersten oder zweiten Ausführungsform,
weist aber keine Lesefunktionen auf.
-
Die
siebte Ausführungsform
führt Lesen
des Speichers und Schreiben zu MWU in 2 Maschinenzyklen bei einer
Speicherzugriffsstufe aus, wodurch eine höhere Bearbeitungsgeschwindigkeit
als bei bekannten Prozessoren erreicht wird.
-
Für Speicher
mit einer langsamen Zugriffszeit wird die Stufe "M" einer
Lese-, Modifizierungs- und Schreibinstruktion blockiert bis das
Lesen komplettiert ist. Andererseits wird diese nicht blockiert, während Speicheradressen
und Modifizierungsvoraussetzungen in den FIFO der MWU geschrieben werden,
wenn der FIFO nicht voll ist. Sie wird aber blockiert, wenn der
FIFO voll ist.
-
Die
siebte Ausführungsform
erreicht auch 2 Maschinenzyklen-Instruktionsausführungen für Speicher einer langsamen
Zugriffszeit mit der nicht blockierenden Last, die oben beschrieben
wurde, zum Maskieren einer Wartezeit, die durch einen Buslesezyklus
verursacht wird.
-
Wie
oben offenbart wurde, erreichen die erste bis siebte Ausführungsformen
eine merklich hohe Systemperformance mit einer verkürzten Ausführungszeit
für Lese-,
Modifizierungs- und Schreibinstruktionen, die oft im eingebetteten
Steuersystemmarkt verwendet werden.
-
Als
nächstes
sind mit Bezug auf die 11 bis 25 achte
bis einundzwanzigste Ausführungsformen
gemäß der vorliegenden
Erfindung offenbart, die auf den vorangehenden Ausführungsformen
basieren.
-
Elemente,
die in den 11 bis 25 gezeigt
sind, die die gleichen oder ähnliche
Elemente sind, die in den 1 bis 10 gezeigt
sind, werden durch die gleichen Bezugszeichen gekennzeichnet.
- (1) Wie in den 11 und 12 gezeigt,
enthält ein
System, das eine Lese-, Modifizierungs- und Schreibeinheit 10A (101)
gemäß der achten
Ausführungsform
der vorliegenden Erfindung aufweist, eine CPU 1 zum Dekodieren
und Ausführen verschiedener
Instruktionen; einen Speicher 2 zum Speichern gegebener
Daten; und eine BIU, die zwischen der CPU 1 und dem Speicher 2 eingefügt ist,
zum Starten eines Buslesezyklus, eines Schreibbuszyklus oder eines
Dummy-Buszyklus, der sich von den Lese- und Schreibbuszyklen unterscheidet,
zum Lesen von Daten von oder Schreiben von Daten zu dem Speicher 2.
Das
System 30 ist ferner bereitgestellt, zwischen der CPU 1 und
der BIU 3, mit einem Modifizierungsvoraussetzungs-Puffer 12 zum
Speichern von Modifizierungsvoraussetzungen, die von der CPU 1 bereitgestellt
werden; einen Lesedatenspeicher-Puffer 14 zum Speichern
von Lesedaten, die von der BIU 3 ausgegeben werden; einen Modifizierungsoperations-Schaltkreis 15 zum
Anwenden einer Operationsbearbeitung auf die Lesedaten von dem Puffer 14 mit
den Modifizierungsdaten von dem Puffer 12 unter einem Operationssteuerungssignal
auch von dem Puffer 12 zum Ausgeben der resultierenden
modifizierten Daten zu der BIU 3 als Schreibdaten.
- (2) Wie in den 11 und 13 gezeigt,
enthält ein
System 30, das eine Lese-, Modifizierungs- und Schreibeinheit 10A (102)
gemäß der neunten Ausführungsform
der vorliegenden Erfindung aufweist, eine CPU 1 zum Dekodieren
und Ausführen verschiedener
Instruktionen; einen Speicher 2 zum Speichern gegebener
Daten; und eine BIU 3, die zwischen der CPU 1 und
dem Speicher 2 eingefügt
ist, zum Starten eines Buslesezyklus, eines Schreibbuszyklus oder
eines Dummy-Buszyklus, der sich von den Lese- und Schreibbuszyklen
unterscheidet, zum Lesen von Daten von oder Schreiben von Daten
zu dem Speicher 2.
Das System 30 ist ferner
bereitgestellt, zwischen der CPU 1 und dem BIU 3,
mit einem Modifizierungsvoraussetzungs-Puffer 12 zum Speichern von
Modifizierungsvoraussetzungen, die durch die CPU 1 bereitgestellt
werden; einen Modifizierungsoperations-Schaltkreis 15 zum
Anwenden einer Operationsbearbeitung auf die Lesedaten, die von
der BIU 3 ausgegeben werden, mit den Modifizierungsdaten
von dem Puffer 12 unter einem Operationssteuerungssignal
von dem Puffer 12; und einen Schreibdatenspeicher-Puffer 12 zum
Speichern von modifizierten Daten von dem Operations-Schaltkreis 15 als
Schreibdaten und Ausgeben der Daten zu der BIU 3.
- (3) Wie in 11 und auch in 14 oder 15 gezeigt,
kann ein System 30, das eine Lese-, Modifizierungs- und Schreibeinheit 103A oder 103B basierend
auf dem System (1) oder (2) gemäß der zehnten
oder elften Ausführungsform
der vorliegenden Erfindung umfasst, auch einen Modifizierungs-Voraussetzungs-Dekoder 13 zwischen
einem Modifizierungsvoraussetzungs-Puffer 12 zum Speichern
von Modifizierungsvoraussetzung aufweisen, die von der CPU 1 ausgegeben
wird (in der die Modifizierungsvoraussetzungen erhalten werden durch
Kodieren der Modifizierungsdaten und des Operationssteuerungssignals),
und dem Modifizierungsoperations-Schaltkreis 15. Der Modifizierungsvoraussetzungs-Dekoder 13 dekodiert
die Modifizierungsvoraussetzungen in Modifizierungsdaten und ein
Operationssteuerungssignal.
- (4) Wie in den 11 und 16 gezeigt,
kann ein System gemäß der zwölften Ausführungsform der
vorliegenden Erfindung, das auf dem System (1) oder (3) basiert,
einen Schreibdatenspeicher-Puffer 12 zum Speichern von
Schreibdaten von der CPU 1 und eine Datenauswahleinrichtung 16 zum
Auswählen
entweder der Schreibdaten von dem Puffer 12 oder der modifizierten
Daten von dem Modifizierungsoperations-Schaltkreis 15 aufweisen.
- (5) Wie in den 11 und 17 gezeigt,
kann ein System gemäß der dreizehnten
Ausführungsform
der vorliegenden Erfindung, das auf dem System (1) oder
(3) basiert, anstelle des Lesedatenspeicher-Puffers 14 eine
Datenauswahleinrichtung 16 zum Auswählen entweder der Schreibdaten
von der CPU 1 oder der Lesedaten, die von dem Speicher 2 über die
BIU 3 gelesen werden, und einen Datenpuffer 14 zum
Speichern der ausgewählten
Daten von der Auswahleinrichtung 16 aufweisen und die gespeicherten
Daten in dem Datenpuffer 4 zu dem Modifizierungsoperations-Schaltkreis 15 zu
führen.
- (6) Wie in den 11 und 18 gezeigt,
kann ein System gemäß der vierzehnten
Ausführungsform
der vorliegenden Erfindung, das auf dem System (2) oder
(3) basiert, eine Datenauswahleinrichtung 16 zum Auswählen entweder
der Schreibdaten von der CPU 1 oder der modifizierten Daten
von dem Modifizierungsoperations-Schaltkreis 15 zum Ausgeben
der ausgewählten
Daten zu dem Schreibdatenspeicher-Puffer 17 umfassen.
- (7) Wie in jeder Kombination der 11 und 13, 11 und 14, 11 und 15, oder 11 und 19 gezeigt,
kann ein System gemäß der fünfzehnten
Ausführungsform
der vorliegenden Erfindung, das auf dem System (2) oder (3) basiert,
eine Datenauswahleinrichtung 16 zum Auswählen entweder
der Schreibdaten von der CPU 1 oder der Lesedaten, die
von dem Speicher 2 über
die BIU 3 gelesen werden, umfassen, und zum Ausgeben der
ausgewählten
Daten zu dem Modifizierungsoperations-Schaltkreis 15.
- (8) Wie in den 11 und 20 gezeigt,
kann ein System gemäß der sechzehnten
Ausführungsform
der vorliegenden Erfindung, das auf dem System (1), (2) oder (3)
basiert, eine Datenauswahleinrichtung zum Auswählen entweder der Schreibdaten
von der CPU 1 oder der Modifizierungsdaten von dem Modifizierungsvoraussetzungs-Puffer 12 und
zum Ausgeben der ausgewählten
Daten zu dem Modifizierungsoperations-Schaltkreis 15 umfassen.
- (9) Wie in den 11 bis 21 gezeigt,
kann ein System gemäß der siebzehnten
Ausführungsform der
vorliegenden Erfindung, das auf irgendeinem der Systeme (1) bis
(8) basiert, eine Funktion zum Ausgeben der modifizierten Daten
von dem Modifizierungsinformations-Schaltkreis 15 zu der
CPU 1 umfassen.
- (10) Wie in den 11 bis 22 gezeigt,
kann ein System gemäß der achtzehnten
Ausführungsform
der vorliegenden Erfindung, das auf irgendeinem der Systeme (1)
bis (9) basiert, einen Speicheradressen-Puffer 31 zum Speichern
der Speicheradressen von der CPU 1 und zum Ausgeben dieser
zu der BIU 3 umfassen.
- (11) Wie in den 11 bis 23 gezeigt,
kann ein System gemäß der neunzehnten
Ausführungsform
der vorliegenden Erfindung, das auf irgendeinem der Systeme (1)
bis (10) basiert, eine Steuerungseinheit 32 zum Empfangen
der Leseanforderung, der Schreibanforderung oder der Lese-, Modifizierungs-
und Schreibanforderung von der CPU 1, und bei Empfangen
der Lese-, Modifizierungs- und Schreibanforderung Ausgeben eines
Steuerungssignals, das einen Lese-, einen Schreib- oder einen Dummy-Buszyklus
zu der BIU 3 befördert,
umfassen. Die Steuerungseinheit 32 steuert eine Reihe von
Bearbeitungen von einem Buslesezyklus bis zu einem Schreibbuszyklus
ohne eine Unterbrechung während
einer Lese-, Modifizierungs- und Schreibanforderung.
- (12) Wie in den 11 bis 24 gezeigt,
kann in einem System gemäß der zwanzigsten
Ausführungsform
der vorliegenden Erfindung, das auf dem System (11) basiert, die
Steuerungseinheit 32 einen Detektor 33 zum Detektieren
eines Besetzt-Zustandes, in dem die Steuerungseinheit 32 keine
neue Lese-, Schreib- und Lese-Modifizierung- und Schreibanforderungen
von der CPU 1 akzeptieren kann, und zum Ausgeben eines
detektierten Ergebnisses (eines Besetzt-Detektierungssignals) zu der CPU 1,
umfassen.
- (13) Wie in den 11 bis 25 gezeigt,
kann ein System gemäß der einundzwanzigsten
Ausführungsform
der vorliegenden Erfindung, das auf irgendeinem der Systeme (1)
bis (12) basiert, eine Funktion zum Ausgeben der Lesedaten von der BIU 3 zu
der CPU 1 umfassen.
-
Wie
detailliert offenbart wurde, stellt die vorliegende Erfindung Prozessoren
mit eingebauten Lese-, Modifizierungs- und Schreibeinheiten bereit
zum Ausführen
von CPU-Instruktionen, die der Lese-, Modifizierungs- und Schreibbearbeitung
folgen aber parallel mit dieser Bearbeitung ausgeführt werden.
-
Daher
erreicht die vorliegende Erfindung einen hohen Durchsatz und verkürzt die
Ausführungszeit
für Lese-,
Modifizierungs- und Schreibinstruktionen.
-
Insbesondere,
basierend auf der grundlegenden Idee in der vorliegenden Erfindung,
ist es möglich,
jede Lese-, Modifizierungs- und Schreibinstruktion in einem Maschinenzyklus
wie andere Instruktionen auszuführen.