DE69431737T2 - Vorrichtung und Verfahren zum Speicherlesezugriff mit hoher Geschwindigkeit - Google Patents
Vorrichtung und Verfahren zum Speicherlesezugriff mit hoher GeschwindigkeitInfo
- Publication number
- DE69431737T2 DE69431737T2 DE69431737T DE69431737T DE69431737T2 DE 69431737 T2 DE69431737 T2 DE 69431737T2 DE 69431737 T DE69431737 T DE 69431737T DE 69431737 T DE69431737 T DE 69431737T DE 69431737 T2 DE69431737 T2 DE 69431737T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- data
- access
- memory
- held
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 129
- 238000000034 method Methods 0.000 title claims description 16
- 238000013500 data storage Methods 0.000 claims description 83
- 230000004044 response Effects 0.000 claims description 11
- 239000000872 buffer Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000009172 bursting Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- 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/0215—Addressing or allocation; Relocation with look ahead addressing means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Lesezugriff mit hoher Geschwindigkeit auf nahtlose Gebiete in einem Speicher wie Bildspeicher ohne Anwendung von Techniken des Burstverfahrens.
- Cachespeicher wurde üblicherweise verwendet, um einen Speicherlesezugriff mit hoher Geschwindigkeit auf einen Speicher zu erreichen. Cachespeicher wurde ursprünglich zum Hauptspeicher eingebracht, um seine niedrige Zugriffsrate durch die Cacheverwendung zu beschleunigen, wurde aber neuerdings zum Sekundärspeicher, wie einer Festplatte als Platten-Cachespeicher eingebracht.
- Einige Speicher oder Speichergebiete sind jedoch nicht cachebar in Abhängigkeit von ihrer Verwendung. Ein Bildspeicher z. B. der Anzeigedaten oder Bilddaten, die auf einem Anzeigegerät angezeigt werden sollen speichert, ist nicht cachebar, weil die Inhalte dieser Daten direkt auf dem Anzeigegerät angezeigt werden.
- Fig. 1 zeigt den Aufbau einer typischen konventionellen Vorrichtung zum Lesezugriff mit hoher Geschwindigkeit auf nicht cachebaren Speicher.
- In der Darstellung ist die typische konventionelle Vorrichtung 61 mit einem Busadress- und Kontrollsignaldecoder 611, einem Speicheradress- und Kontrollsignalgenerator 612, einem Speicherdaten-Controller 613 und einem Busdaten-Controller 614 versehen und kontrolliert damit den Datenzugriff von einem Prozessor (nicht abgebildet) auf Speicher 62 über einen Systembus 60.
- Der Busadress- und Kontrollsignaldecoder 611 (im Folgenden als BA-Decoder 611 bezeichnet) decodiert die Adresse und Größe von Daten, die über den Systembus 60 gesandt werden.
- Der Speicheradress- und Kontrollsignalgenerator 612 (im Folgenden als MA- Generator 612 bezeichnet) erzeugt eine Zeilenadresse und eine Spaltenadresse basierend auf den Ergebnissen, die durch den BA-Decoder 611 ermittelt wurden und sendet sie damit an den Speicher 62.
- Der Speicherdaten-Controller 613 (im Folgenden als MD-Controller 613 bezeichnet) kontrolliert Dateneingabe/Datenausgabe-Operationen zwischen dem BD-Controller 614 und dem Speicher 62.
- Der Busdaten-Controller 614 (im Folgenden als BD-Controller 614 bezeichnet) kontrolliert die Dateneingabe/Datenausgabe-Operationen zwischen dem MD-Controller 613 und dem Systembus 60.
- Die Vorrichtung 61, die mit diesen Komponenten ausgestattet ist arbeitet wie folgt.
- Fig. 2 zeigt ein Zeitablaufdiagramm, das eine Daten-Ausleseoperation beschreibt, die durch die Vorrichtung 61 ausgeführt wird.
- Mit dem Empfang von Signalen, welche die Adresse und Größe von Daten anzeigen, auf die über den Systembus 60 zugegriffen werden soll, decodiert der BA- Decoder 611 die Signale. Der MA-Generator 612 erzeugt eine Zeilenadresse und eine Spaltenadresse, basierend auf den Ergebnissen, die durch den BA-Decoders 611 decodiert wurden und beginnt damit auf den Speicher 62 zuzugreifen. Nach einer bestimmten Dauer an Zugriffszeit werden Daten, die aus dem Speicher 62 ausgelesen wurden an den Systembus 60 über den MD-Controller 613 und den BD- Controller 614 gesandt.
- Fig. 3 zeigt ein Zeitablaufdiagramm, das eine Datenauslese-Operation beschreibt, wenn die Daten, auf die zugegriffen werden soll in der Breite größer sind als der Speicher 62. Dieser Fall wird Burstverfahren genannt, bei dem der MA-Generator 612 einen seitenstrukturierten Zugriff durchführt durch Ausgabe von seriellen Spaltenadressen an das Ende des Speichers 62. Dies erlaubt es, dass eine Vielzahl von Daten innerhalb einer kurzen Zeitperiode an den Systembus 60 ausgesandt wird.
- Wie oben ausgeführt werden, entsprechend der konventionellen Vorrichtung Kontrollsignale an den Speicher 62 durch den MA-Generator 612 erzeugt als Antwort auf eine Zugriffsanforderung, die über den Systembus 60 gesandt wurde. Ein Zugriff auf nahtlose Gebiete, der häufig auftritt, wird durch einen seitenstrukturierten Zugriff kontrolliert und damit ein Datenzugriff mit hoher Geschwindigkeit erreicht.
- Die konventionelle Vorrichtung besitzt jedoch folgenden Nachteil.
- Ein Burstverfahren ist nicht erwünscht bei nicht cachebaren Speicher wie Bildspeicher und VRAM oder nicht cachebarem Speichergebiet, so dass auf nahtlose Gebiete in einem solchen Speicher normal zugegriffen wird, was für jeden Zugriff denselben Zeitbetrag erfordert. Ein Datenzugriff mit hoher Geschwindigkeit kann als ein Ergebnis nicht erreicht werden.
- Beispiele konventioneller Vorrichtungen werden im Folgenden dargelegt.
- EP-A-0 604 139, das als Stand der Technik nur unter dem Artikel 54 (3) EPC verfügbar ist, beschreibt ein Computersystem, das einen Vorabbefehls-Cachespeicher einschließt. Das System ist speziell darauf zugeschnitten, um das schnellere Cachespeichern von Außer-Ablaufprozessor-Anweisungen wie Verzweigungsanweisungen zu ermöglichen.
- EP-A-0 293 720 und IBM TECHNICAL DISCLOSURE BULLETIN Bd. 31, Nr. 3, August 1988, NEW YORK US Seite 303-306 "High performance micro processor system" beschreiben beide grundlegende Speichersysteme mit Cachespeicher. Beide Systeme enthalten eine Vorabbefehls-Anweisungsfunktion basierend auf der Berechnung einer nächstfolgenden Speicheradresse auf die zugegriffen werden soll.
- EP-A-0 505 157 beschreibt eine Speicherzugriffskontrolleinheit, die in der Lage ist Blockspeicherübertragungen auszuführen, unter Verwendung von Techniken des Burstverfahrens. Die Kontrolleinheit verwendet Speicheradressen, um den erwünschten Speicherblock der gelesen werden soll zu berechnen.
- Das erste Ziel dieser Erfindung ist es, eine Vorrichtung zum Lesezugriff mit hoher Geschwindigkeit auf nahtlose Bereiche in einem Speicher vorzulegen.
- Ein zweites Ziel dieser Erfindung ist es, ein Verfahren zum Lesezugriff mit hoher Geschwindigkeit auf nahtlose Bereiche in einem Speicher vorzulegen.
- Das erste Ziel kann durch die folgende Vorrichtung zur Kontrolle von Lesezugriff mit hoher Geschwindigkeit auf nahtlose Bereiche in einem Speicher als Antwort auf eine Zugriffsanforderung, die über einen Systembus gesandt wird erreicht werden.
- Genauer wird, entsprechend der vorliegenden Erfindung eine Vorrichtung vorgelegt zur Kontrolle von Lesezugriff mit hoher Geschwindigkeit, ohne Anwendung von Techniken des Burstverfahrens auf nahtlose Bereiche in einem Speicher wie einem Bildspeicher oder einem VRAM, als Antwort auf eine Zugriffsanforderung, die über einen Systembus gesandt wird, wobei die Vorrichtung umfasst:
- Eine Daten-Speichereinrichtung zur Erhaltung von Daten entsprechend einer vorgegebenen Adresse; eine Beurteilungseinrichtung zur Beurteilung, ob eine Zugriffsadresse, welche durch die Zugriffsanforderung angezeigt wird mit der vorgegebenen Adresse übereinstimmt und welche die Daten-Speichereinrichtung veranlasst Daten, die ebendort enthalten sind an den Systembus auszugeben, wenn die Zugriffsadresse als übereinstimmend mit der vorgegebenen Adresse befunden wurde und die Datenspeichereinrichtung veranlasst Daten zu halten, die einer nächsten Adresse entsprechen, welche auf die Zugriffsadresse folgt, wenn die Zugriffsadresse als nicht überein stimmend mit der vorgegebenen Adresse befunden wurde, wobei die Beurteilungseinrichtung umfasst: Eine Adressenspeichereinrichtung zur Erhaltung einer Adresse, welche die Daten anzeigt, die durch die Daten-Speichereinrichtung gespeichert wurden; wobei die Beurteilungseinrichtung weiterhin umfasst: Eine Treffer- Beurteilungseinrichtung zur Beurteilung, ob die Daten, die in der Datenspeichereinrichtung gehalten werden gültig oder ungültig sind; eine Treffer- Beurteilungseinrichtung zur Beurteilung ob die Zugriffsadresse mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird übereinstimmt und zur Beurteilung, ob die Zugriffsadresse mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird nicht übereinstimmt, wenn die Gültigkeits-Beurteilungseinrichtung die Daten für ungültig befunden hat; und gekennzeichnet damit, dass die Beurteilungseinrichtung (42) weiterhin umfasst: Eine Datengröße-Beurteilungseinrichtung zur Ermittlung, ob die Zugriffsdaten eine kleinere Datenbreite besitzen als der Speicher und ob sie eine Endposition der Datenbreite des Speichers nicht einschließen und zur Informierung einer Adresserzeugungseinrichtung (51) bezüglich eines Ergebnisses, das durch die Datengröße-Beurteilungseinrichtung ermittelt wurde, und damit, dass die Beurteilungseinrichtung umfasst: Die Adresserzeugungseinrichtung zur Erzeugung der nächsten Adresse, wenn die Zugriffsadresse für übereinstimmend befunden wurden mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird, zur Erzeugung der Zugriffsadresse und der nächsten Adresse in Folge und zur Beförderung an die Beurteilungseinrichtung, wenn die Zugriffsadresse für nicht übereinstimmend mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird befunden wurde und zur Einstellung der Erzeugung der nächsten Adresse, wenn das Ergebnis, das durch die Datengröße- Beurteilungseinrichtung ermittelt wurde empfangen wurde; und eine Latch- Kontrolleinrichtung, welche die Daten-Speichereinrichtung veranlasst die Daten zu speichern, wenn Daten, die der nächsten Adresse entsprechen aus dem Speicher ausgelesen wurden.
- Die Vorrichtung kann mit einem Speicher kombiniert werden und der Speicher kann ein Bildspeicher zur Speicherung von Bilddaten sein.
- Für den Fall, dass der oben genannte Speicher ein Bildspeicher ist, kann die oben erwähnte nächste Adresse Daten anzeigen, welche auf Daten entsprechend der Zugriffsadresse folgen, wobei die Daten, welche durch die nächste Adresse angezeigt werden dieselbe Datenbreite wie der Speicher besitzen.
- Die oben erwähnte Daten-Speichereinrichtung kann folgende Einrichtungen einschließen: Eine Daten-Latch-Einrichtung zur Speicherung der Daten, die aus dem Speicher ausgegeben werden; und eine Auswahl-Einrichtung zur Auswahl der Daten, die durch die Daten-Latch-Einrichtung gespeichert sind, wenn die Zugriffsadresse für übereinstimmend mit der vorgegebenen Adresse befunden wurde und zur Auswahl von Daten, die von dem Speicher ausgegeben werden, wenn die Zugriffsadresse für nicht übereinstimmend mit der vorgegebenen Adresse befunden wurde und damit die ausgewählten Daten zu dem Systembus befördert.
- Die Adresserzeugungseinrichtung kann Folgendes einschließen: Einen ersten Schrittzähler zur Inkrementierung der Zugriffsadresse; einen ersten Selektor zur Auswahl einer Ausgabe des ersten Schrittzählers, wenn die Zugriffsadresse für übereinstimmend befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird und zur Auswahl der höchstwertigen Adresse, wenn die Zugriffsadresse für nicht übereinstimmen befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird; eine Latch-Schaltung zur Speicherung einer Ausgabe des ersten Selektors; einen zweiten Schrittzähler zu Inkrementierung der Ausgabe des ersten Selektors; und einen zweiten Selektor zur Auswahl einer Ausgabe der Latch-Schaltung, wenn die Zugriffsadresse für übereinstimmend befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird und zur Auswahl der Ausgabe der Latch-Schaltung und dann zu einer Auswahl einer Ausgabe des zweiten Schrittzählers, womit die Ausgabe des zweiten Schrittzählers als eine Zugriffsadresse an den Speicher ausgegeben wird, wenn die Zugriffsadresse für nicht übereinstimmend befunden wurde mit der Adresse die in der Adressenspeichereinrichtung gehalten wird.
- Entsprechend der Vorrichtung mit dem oben genannten Aufbau kann ein Zugriff mit hoher Geschwindigkeit auf nahtlose Bereiche in einem Speicher, wie einem Bildspeicher oder VRAM oder Speicherbereiche ohne Burstverfahren erreicht werden.
- Das zweite Ziel kann erreicht werden durch das Verfahren, das im Folgenden beschrieben wird zur Kontrolle von Lesezugriff bei einer Vorrichtung, wie sie oben beschrieben wurde.
- Genauer bezieht sich die vorliegende Erfindung auf ein Verfahren zur Kontrolle von Lesezugriff bei einer oben beschriebenen Vorrichtung, wobei das Verfahren umfasst: Beurteilung, ob die Zugriffsadresse mit der vorgegebenen Adresse als Antwort auf eine Zugriffsanforderung übereinstimmt; wenn die Zugriffsadresse für übereinstimmend mit der vorgegebenen Adresse befunden wurde: Ausgabe der Daten, die in der Datenspeichereinrichtung gehalten werden an den Systembus; Lesen der Daten, die bei der nächsten Adresse des Speichers gespeichert sind; und Speichern der Lesedaten in der Daten-Speichereinrichtung; wenn die Zugriffsadresse für nicht übereinstimmend mit der vorgegebenen Adresse befunden wurde: Lesen der Daten, die bei der Zugriffsadresse des Speichers gespeichert sind; Ausgabe der Daten entsprechend der Zugriffsadresse; Lesen der Daten, die bei der nächsten Adresse des Speichers gespeichert sind; und Speicherung der Daten der nächsten Adresse in die Daten-Speichereinrichtung, wobei der Beurteilungsschritt umfasst: Halten einer Adresse, welche die Daten anzeigt, die durch die Daten-Speichereinrichtung gespeichert werden; Beurteilung, ob die Daten, die in der Daten-Speichereinrichtung gehalten werden gültig oder ungültig sind; Beurteilung, ob die Zugriffsadresse mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird übereinstimmt; und Beurteilung, ob die Zugriffsadresse mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird nicht übereinstimmt, wenn die Gültigkeits- Beurteilungseinrichtung die Daten für ungültig befunden hat; und dadurch gekennzeichnet, dass der Beurteilungsschritt weiterhin umfasst: Ermittlung, ob die Zugriffsdaten eine kleinere Datenbreite besitzen als der Speicher und ob sie keine Endposition der Datenbreite des Speichers einschließen und Informierung der Adressenerzeugungseinrichtung von einem Ergebnis, das so ermittelt wurde; und dadurch, dass der Kontrollschritt umfasst: Erzeugung der nächsten Adresse, wenn die Zugriffsadresse für übereinstimmend befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird; Erzeugung der Zugriffsadresse und der nächsten Adresse in Folge und Beförderung derselben zur Beurteilungseinrichtung, wenn die Zugriffsadresse für nicht übereinstimmend befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung gehalten wird;
- Einstellung der Erzeugung der nächsten Adresse, wenn das, durch die Datengröße- Beurteilungseinrichtung ermittelte Ergebnis empfangen wurde; und Veranlassung der Daten-Speichereinrichtung die Daten zu speichern, wenn Daten entsprechend der nächsten Adresse aus dem Speicher ausgelesen wurden.
- Der Speicher kann ein Bildspeicher zur Speicherung von Bilddaten seien.
- Die nächste Adresse kann Daten anzeigen, die auf Daten entsprechend der Zugriffsadresse folgen, wobei die, durch die nächste Adresse angezeigten Daten dieselbe Datenbreite wie der Speicher besitzen.
- Für das Verfahren, das mit dem oben erwähnten Aufbau ausgestattet ist, kann man dieselben Effekte wie bei der oben erwähnten Vorrichtung erwarten.
- Diese und andere Ziele, Vorteile und Eigenschaften der Erfindung werden aus deren folgenden Beschreibung ersichtlich werden, die in Zusammenhang mit den beiliegenden Zeichnungen, die eine spezielle Ausführung der Erfindung veranschaulichen ausgeführt wird. Bei den Zeichnungen:
- Fig. 1 zeigt den Aufbau einer typischen konventionellen Vorrichtung zum Erhalt von Lesezugriff mit hoher Geschwindigkeit auf nicht cachebaren Speicher;
- Fig. 2 zeigt ein Zeitablaufdiagramm, das eine Datenauslese-Operation beschreibt, die durch eine typische konventionelle Vorrichtung aus Fig. 1 durchgeführt wird;
- Fig. 3 zeigt ein Zeitablaufdiagramm, das eine Datenauslese-Operation beschreibt, wenn die Daten, auf die zugegriffen werden soll in der Breite größer sind als der Speicher;
- Fig. 4 zeigt den Aufbau der Vorrichtung zum Speicherlesezugriff mit hoher Geschwindigkeit entsprechend einer Ausführung der vorliegenden Erfindung;
- Fig. 5 zeigt den Aufbau der Treffer-Beurteilungseinheit aus Fig. 4;
- Fig. 6 zeigt alle Signale, die in der Vorrichtung aus Fig. 4 verwendet werden, wobei jedem der Signale ein Name gegeben wird, der seine Funktion andeutet;
- Fig. 7 zeigt eine spezifische Schaltung der Datenspeichereinheit aus Fig. 4, die mit einem Signalspeicher und einen Selektor versehen ist;
- Fig. 8 zeigt eine spezifische Schaltung der Adress-Erzeugungseinheit aus Fig. 5;
- Fig. 9 zeigt jede spezifische Schaltung einer Adress-Latch-Einheit, einer Gültigkeits-Beurteilungseinheit und einer Übereinstimmungs-Beurteilungseinheit, mit denen die Treffer-Feststellungseinheit aus Fig. 5 versehen ist;
- Fig. 10 zeigt eine spezifische Schaltung der Einheit zur Bestimmung der Zugriffsdatengröße aus Fig. 5;
- Fig. 11 zeigt eine spezifische Schaltung der Latch-Kontrolleinheit aus Fig. 5;
- Fig. 12 zeigt eine spezifische Schaltung der Zustands-Kontrolleinheit aus Fig. 5;
- Fig. 13A-13C zeigen die Eingabe-/Ausgabe-Logik der logischen Schaltkreise 121,123 und 125 der Zustands-Kontrolleinheit aus Fig. 12;
- Fig. 14 zeigt ein Zeitablaufdiagramm, welches eine Datenauslese-Operation beschreibt für den Fall, dass eine Zugriffsadresse und die Adresse für Daten die in der Datenspeichereinheit aus Fig. 4 gehalten werden nicht miteinander übereinstimmen;
- Fig. 15 zeigt ein Zeitablaufdiagramm, welches eine Datenauslese-Operation beschreibt für den Fall, dass eine Zugriffsadresse und die Adresse für Daten die in der Datenspeichereinheit aus Fig. 4 gehalten werden miteinander übereinstimmen;
- Fig. 16 zeigt ein Zeitablaufdiagramm, welches eine Datenauslese-Operation beschreibt für den Fall, dass eine Zugriffsadresse nicht mit der Adresse für Daten die in der Datenspeichereinheit aus Fig. 4 gehalten werden übereinstimmt und sie nicht die letzte Adresse innerhalb der 64-Bit Breite des Speichers 62 ist; und
- Fig. 17 zeigt ein Zeitablaufdiagramm, welches eine Datenauslese-Operation beschreibt für den Fall, dass eine Zugriffsadresse mit der Adresse für Daten die in der Datenspeichereinheit aus Fig. 4 gehalten werden übereinstimmt und sie nicht die letzte Adresse ist.
- Fig. 4 zeigt den Aufbau der Vorrichtung zum Speicherlesezugriff mit hoher Geschwindigkeit entsprechend einer Ausführung der vorliegenden Erfindung.
- Bei der Darstellung ist die Vorrichtung 40 entsprechend dieser Ausführung mit einem Busadress- und Kontrollsignaldecoder 41, einer Trefferbeurteilungseinheit 42, einem Speicheradress- und Kontrollsignalgenerator 43, einem Speicherdaten-Controller 44, einer Datenspeichereinheit 45 und einem Busdaten-Controller 46 versehen und kontrolliert damit den Lesezugriff von einem Prozessor (nicht abgebildet) auf Speicher 62 über einen Systembus 60.
- Der Busadress- und Kontrollsignaldecoder 41 (im Folgenden als BA-Decoder 41 bezeichnet) decodiert die Adresse und Größe von Daten, auf die zugegriffen werden soll (im Folgenden als Zugriffsdaten bezeichnet) und Signale die über den Systembus 60 gesandt werden. Die Signale werden zur Kontrolle des Datenzugriffs auf den Speicher 62 benötigt.
- Die Treffer-Beurteilungseinheit 42 beurteilt, ob die Adresse der Zugriffsdaten und die Adresse der Daten, die in der Datenspeichereinheit 45 gehalten werden miteinander übereinstimmen. Wenn sie es tun, veranlasst die Treffer-Beurteilungseinheit 42 die Datenspeichereinheit 45 ihre eigenen Daten an den Systembus 60 auszusenden und die Daten entsprechend der Adresse, welche auf die Adresse der Daten, die in der Datenspeichereinheit 45 gehalten werden folgt zu halten. Wenn sie andererseits nicht übereinstimmen, veranlasst die Treffer-Beurteilungseinheit 42 den Speicheradress- und Kontrollsignalgenerator 43 dem Speicher 62 die Erlaubnis zu geben die Zugriffsdaten an den Systembus 60 zu übermitteln und die Datenspeichereinheit 45 die Daten entsprechend der Adresse, welche auf die Zugriffsdaten folgt zu halten.
- Der Speicheradress- und Kontrollsignalgenerator 43 (im Folgenden als MA- Generator 43 bezeichnet) erzeugt eine Spaltenadresse, eine Zeilenadresse und Signale, die für die Kontrolle von Datenzugriff auf den Speicher benötigt werden auf der Basis der Ergebnisse, die von dem BA-Decoder 41 decodiert werden und einer Anweisung der Treffer-Beurteilungseinheit 42 und befördert sie damit an den Speicher 62.
- Der Speicherdaten-Controller 44 (im Folgenden als MD-Controller bezeichnet) kontrolliert Dateneingabe/Datenausgabe-Operationen zwischen dem Speicher 62 und entweder der Datenspeichereinheit 45 oder dem BD-Controller 46.
- Die Datenspeichereinheit 45 hält Daten, welche aus dem Speicher 62 ausgelesen wurden, basierend auf einer Anweisung der Treffer-Beurteilungseinheit 42 und befördert die Daten zu dem BD-Controller 46.
- Der BD-Controller 46 kontrolliert Dateneingabe/Datenausgabe-Operationen zwischen dem Systembus 60 und entweder dem MD-Controller 44 oder der Datenspeichereinheit 45.
- Fig. 5 zeigt den Aufbau der Treffer-Beurteilungseinheit 42, die mit einer Adresserzeugungseinheit 51, einer Treffer-Feststellungseinheit 52, einer Einheit zur Bestimmung der Zugriffsdatengröße 56, einer Zustands-Kontrolleinheit 57 und einer Latch- Kontrolleinheit 58 versehen ist. Die Treffer-Feststellungseinheit 52 schließt eine Adress-Latch-Einheit 53, eine Gültigkeits-Beurteilungseinheit 54 und eine Übereinstimmungs-Beurteilungseinheit 55 ein.
- Die Treffer-Feststellungseinheit 52 beurteilt, ob die Adresse, auf die zugegriffen werden soll (im Folgenden als Zugriffsadresse bezeichnet) und die Adresse für die Daten, welche in der Datenspeichereinheit 45 gespeichert sind übereinstimmen.
- Die Adress-Latch-Einheit 53 speichert die Adresse von Daten, die durch die Datenspeichereinheit 45 gehalten werden sollen, aus all den Adressen, die von der Adresserzeugungseinheit 51 erzeugt werden. Mit anderen Worten hält die Adress- Latch-Einheit 53 die Adresse in dem Speicher 62 entsprechend den Daten, die in der Datenspeichereinheit 45 gehalten werden.
- Die Gültigkeits-Beurteilungseinheit 54 beurteilt ob die Daten, die in der Datenspeichereinheit 45 gehalten werden gültig sind und hält damit einen Gültigkeitsmerker, der die beurteilten Ergebnisse anzeigt.
- Die Übereinstimmungs-Beurteilungseinheit 55 beurteilt, ob die Zugriffsadresse und die Adresse, die in der Adress-Latch-Einheit 53 gehalten wird übereinstimmen und gibt damit die beurteilten Ergebnisse an die Adress-Erzeugungseinheit 51 aus.
- Die Adress-Erzeugungseinheit 51 erzeugt Zugriffsadressen entsprechend einer Anweisung der Übereinstimmungs-Beurteilungseinheit 55.
- Genauer wird, wenn die Übereinstimmungs-Beurteilungseinheit 55 die Adressen für übereinstimmend befunden hat, eine Adresse erzeugt, die auf die Zugriffsadresse folgt. Wenn die Übereinstimmungs-Beurteilungseinheit 55 sie dagegen nicht für übereinstimmend befunden hat, werden die Zugriffsadresse und die darauf folgende Adresse in Folge erzeugt.
- Die Einheit zur Bestimmung der Zugriffsdatengröße 56 bestimmt die Breite der Zugriffsdaten und bestimmt ebenfalls, wo die Zugriffsdaten in dem Speicher 62 lokalisiert sind. Wenn der Speicher 62 zum Beispiel eine 64-Bit Breite besitzt, können die Zugriffsdaten entweder 64, 32,16 oder 8 Bit innerhalb der 64-Bit Breite sein.
- Die Zustands-Kontrolleinheit 57 bestimmt, ob die Daten in der Datenspeichereinheit 45 aktualisiert werden sollten auf der Basis des Gültigkeitsmerkers der Gültigkeits- Beurteilungseinheit 54 und der Ergebnisse, welche durch die Übereinstimmungs- Beurteilungseinheit 55 und die Einheit zur Bestimmung der Zugriffsdatengröße 56 beurteilt wurden.
- Die Latch-Kontrolleinheit 58 steuert die Datenspeichereinheit 45, um die Daten zu halten, die aus dem Speicher 62 ausgelesen wurden basierend auf den Ergebnissen, die durch die Zustands-Kontrolleinheit 57 beurteilt wurden.
- Fig. 6 zeigt alle Signale, die bei der Vorrichtung 40 verwendet werden wobei jedem Signal ein Name gegeben wird, der seine Funktion andeutet.
- Signale vom Systembus 60 zu dem BA-Decoder 41 zum Beispiel werden mit MA, XMAS und XMRW bezeichnet, was jeweils bedeutet "32-Bit Zugriffsadresse", "Adresshinweissignal" und "Lese-/Schreib-Signal".
- Fig. 7 zeigt eine spezifische Schaltung der Datenspeichereinheit 45, die mit einem Signalspeicher 71 und einem Selektor 72 versehen ist.
- Der Signalspeicher 71 speichert 64-Bit Daten "vdata", ausgelesen aus dem Speicher 62 als Antwort auf ein Signal "dlatch", das von der Trefferbeurteilungseinheit 42 ausgesandt wurde.
- Der Selektor 72 wählt zwischen den von dem Speicher 62 ausgesandten Daten "vdata" und den durch den Signalspeicher 71 gehaltenen Daten "cdata", in Übereinstimmung mit einem von der Treffer-Beurteilungseinheit 42 ausgesandten Signal "xcahit". Genauer werden, wenn die Daten entsprechend der Zugriffsadresse von dem Signalspeicher 71 gehalten werden (xcahit = 0) die Daten »cdata" ausgewählt und andernfalls (xcahit = 1) werden die Daten "vdata" ausgewählt und damit werden die Daten, die so ausgewählt wurden als "mdata" an den BD-Controller 46 ausgegeben.
- Fig. 8 zeigt eine spezifische Schaltung der Adresserzeugungseinheit 51, die mit Schrittzählern 81 und 84, Selektoren 82 und 85 und einem D-Flip-Flop 83 (im Folgenden als FF 83 bezeichnet) versehen ist.
- Der Selektor 82 gibt, wenn die Daten entsprechend der Zugriffsadresse in dem Signalspeicher 71 (cahit = 1) gehalten werden eine, von dem Schrittzähler 81 ausgegebene Adresse aus, wobei die Adresse auf die Zugriffsadresse folgt und gibt andernfalls (cahit = 0) die Zugriffsadresse aus.
- Das FF 83 hält eine, somit von dem Selektor 82 gesandte Adresse in Übereinstimmung mit einem Signal "xsp", welches den Beginn des Zugriffs auf den Speicher 62 anzeigt.
- Der Selektor 85 wählt die, in dem FF 83 gehaltene Adresse, wenn die Daten entsprechend der Zugriffsadresse nicht in dem Signalspeicher 71 gehalten werden oder wenn ein Einfach-Zugriff für den Speicher benötigt wird. Der Selektor 85 wählt dann, wenn es notwendig ist eine, von dem Schrittzähler 84 gesandte Adresse aus, wobei die Adresse auf die Zugriffsadresse folgt und gibt sie als eine Zugriff anfordernde Adresse "vadr" an den Speicher 62 aus.
- Fig. 9 zeigt jede spezifische Schaltung der Adress-Latch-Einheit 53, der Gültigkeits-Beurteilungseinheit 54 und der Übereinstimmungs-Beurteilungseinheit 55 mit denen die Treffer-Feststellungseinheit 52 versehen ist.
- In Fig. 9 hält die Adress-Latch-Einheit 53, die mit einem UND-Gatter 91, einem Selektor 92 und FFs 93 versehen ist eine Adresse für die Daten, die durch die Datenspeichereinheit 45 gehalten werden.
- Das UND-Gatter 91 entdeckt eine Sequenz (timing) für den Beginn des Schreibens von Daten in die Datenspeichereinheit 45 und für den Beginn des Lesens von Daten aus dem Speicher 62.
- Der Selektor 92 wählt in der, durch das UND-Gatter 91 entdeckten Sequenz eine auf den Speicher 62 Lesezugriff anfordernde Adresse "vadr" aus. Bei anderer Sequenz wird die Latch-Adresse "cacheadr" der FFs 93 ausgewählt.
- Die FFs 93 speichern eine Ausgabe des Selektors 92 und senden sie als die Latch- Adresse "cacheadr" aus.
- Die Gültigkeitsbeurteilungseinheit 54, die aus einem Vergleicher 97, einem NOR- Gatter 98, einem NAND-Gatter 99, einer Logik-Schaltung 100 und einem FF 101 besteht, entscheidet ob die Daten, welche in der Datenspeichereinheit 45 gehalten werden gültig sind oder nicht.
- Der Vergleicher 97 vergleicht die, von den FFs 93 ausgesandte Latch-Adresse "cacheadr" und die Lesezugriff anfordernde Adresse "vadr" und entscheidet damit, ob sie miteinander übereinstimmen oder nicht.
- Das NOR-Gatter 98 entdeckt im weiteren Ablauf den Schreibzugriff.
- Das NAND-Gatter 99 entdeckt die Fertigstellung des Schreibzugriffs für die Latch- Adresse "cacheadr" und sendet ein Signal "xflush" aus, um die Daten in der Datenspeichereinheit 45 zu annullieren.
- Die Logik-Schaltung 100 beurteilt, ob Daten, die in der Datenspeichereinheit 45 gehalten werden gültig sind oder nicht, basierend auf dem Signal "xftush" und anderen Signalen.
- Das FF101 hält die Ergebnisse, die durch das NAND-Gatter 99 beurteilt wurden. Mit anderen Worten hält das FF 101 die "gültig"-Bits, welche die Gültigkeit oder Ungültigkeit von Daten anzeigen, die in der Datenspeichereinheit 45 gehalten werden.
- Die Übereinstimmungs-Beurteilungseinheit 55, die aus einem Vergleicher 94, einem UND-Gatter 95 und einem FF 96 besteht beurteilt, ob die Adresse von Daten, die in der Datenspeichereinheit 45 gehalten werden und eine Adresse, die aus dem Speicher 62 auszulesen ist miteinander übereinstimmen.
- Der Vergleicher 94 beurteilt, ob die Zugriffsadresse "adr" und die Adresse "cacheadr", gesandt von den FFs 93, miteinander übereinstimmen oder nicht.
- Das UND-Gatter 95 überprüft, wenn der Vergleicher 94 diese Adressen für identisch befunden hat, ob die Daten in der Datenspeichereinheit 45 gültig sind oder nicht. Wenn sie gültig sind, dann gibt das UND-Gatter 95 ein Signal "cahit = 1" aus, das anzeigt, dass die Daten entsprechend der Zugriffsadresse in dem Signalspeicher 71 der Datenspeichereinheit 45 gehalten werden.
- Das FF 96 speichert ein logisch umgekehrtes Signal "cahit", wenn Zugriff auf den Speicher 62 gestartet wird.
- Fig. 10 zeigt eine spezifische Schaltung der Einheit zur Bestimmung der Zugriffsdatengröße 56, die mit einer Logik-Schaltung 102, UND-Gattern 103 und 105, einem ODER-Gatter 104 und einem Signalspeicher 106 versehen ist. Die Einheit zur Bestimmung der Zugriffsdatengröße 56 bestimmt die Breite von Zugriffsdaten und wo die Daten in dem 64-Bit Speicher 62 lokalisiert sind.
- Die Logik-Schaltung 102 empfängt ein 2-Bit Signal "dsize", das anzeigt welche der 64, 32, 16 oder 8 Bits die Breite der Zugriffsdaten ist und wobei die drei niedrigstwer tigen Bits der Zugriffsadresse anzeigen, wo in den 64 Bit die Zugriffsadresse lokalisiert ist. Dann gibt der Logik-Schaltkreis 102 ein Signal "inoacc" aus, das anzeigt, ob sich die Zugriffsdaten innerhalb 64-Bit befinden.
- Das UND-Gatter 103 und das ODER-Gatter 104 senden ein Signal "xgo" aus, das den Start des Lesezugriff anzeigt, wenn "cahit" = 1.
- Für einen Lesezugriff speichert der Signalspeicher 106 ein Signal "rw", das Lesezugriff oder Schreibzugriff anzeigt, ein 8 Bit Signal "dmsk", das über das UND-Gatter 105 eingegeben wird und die Byte-Position des Lesezugriffs anzeigt und das "inoacc", das von der Logik-Schaltung 102 gesandt wird. Dann gibt der Signalspeicher 106 ein Signal "lrw", welches Lesen oder Schreiben anzeigt, ein Signal "vmsk", das die Byte-Position anzeigt und ein Signal "noacc", das anzeigt, dass der Schreibzugriff auf die Datenspeichereinheit 45 abgewiesen wurde aus.
- Fig. 11 zeigt eine spezifische Schaltung der Latch-Kontrolleinheit 58.
- Ein EOR-Gatter 111 und ein ENOR-Gatter 112 bestimmen, ob Daten in die Datenspeichereinheit 45 geschrieben werden sollen, basierend auf den Signalen "noacc" und "xcahit". Als ein Ergebnis sendet das FF 113 ein Signal "cacd" aus, das die Ausführung von Schreibzugriff auf die Datenspeichereinheit 45 in Synchronisierung mit dem "clk" anzeigt und das NOT-Gatter 114 sendet ein Signal "dlatch" aus, das Lesezugriff auf die Datenspeichereinheit 45 anzeigt.
- Fig. 12 zeigt eine spezifische Schaltung der Zustands-Kontrolleinheit 57.
- Logik-Schaltungen 121, 123 und 125 beurteilen den Zustand des Zugriffs, basierend auf den jeweiligen Eingangssignalen und geben jeweils ein Signal "xbusy" aus, das anzeigt, dass der Zugriff im Fortschreitenden ist, ein Signal "xas", um Zugriff anzufordern und ein Signal "xdrdy", das die Vervollständigung von Lesezugriff über die FFs 122,124 und 126 anzeigt.
- Die Eingabe/Ausgabe-Logiken der logischen Schaltkreise 121,123 und 125 sind in den Fig. 13A-13C gezeigt. Die Gleichungen in jeder Eingabespalte sind UND- Anforderungen und wenn diese Anforderungen erfüllt sind, werden die Werte, die in jeder Ausgabespalte gezeigt sind ausgesandt. In Fig. 13A zum Beispiel wird, wenn die Eingangssignale noacc = 1, xcahit = 0 und xdrdy = 0 sind, dann das Ausgangssignal xbusy = 1.
- Die Vorrichtung 40, die wie oben erwähnt aufgebaut ist, arbeitet wie folgt.
- Der BA-Decoder 41 empfängt die Zugriffsadresse "MA", das Adresshinweissignal "XMAS" und ein Lese-/Schreib-Signal "MRW über den Systembus 60 und sendet auf Anfrage dekodierte Ergebnisse an die Treffer-Beurteilungseinheit 42 aus. Entsprechend den Ergebnissen beurteilt die Treffer-Feststellungseinheit 52, ob die Zugriffsadresse und die Adresse für Daten, die in der Datenspeichereinheit 45 gehalten werden miteinander übereinstimmen.
- Zur selben Zeit findet die Einheit zur Bestimmung der Zugriffsdatengröße 56 heraus, ob die Zugriffsdaten dieselbe Breite besitzen wie der Speicher 62 und findet weiterhin heraus, wo die Zugriffsdaten in den 64 Bit lokalisiert sind.
- Der Lesezugriff wird wie folgt ausgeführt, abhängig davon, ob die Zugriffsdaten 64- Bit Breite wie der Speicher 64 besitzen oder eine geringere Breite besitzen.
- (1) Wenn die Zugriffsdaten dieselbe Breite besitzen wie der Speicher 64
- (1.1) Wenn die Zugriffsadresse nicht mit der Adresse der in der Datenspeichereinheit 45 gehaltenen Daten übereinstimmt.
- Die Treffer-Beurteilungseinheit 42 fordert den MA-Generator 43 auf, die Daten entsprechend einer spezifizierten Zugriffsadresse und die Daten entsprechend der Adresse, die auf die Zugriffsadresse folgt auszulesen.
- Mit dem Empfang der Aufforderung liest der MA-Generator die Daten "Dn" und "Dn + 1" wie in Fig. 14 gezeigt aus dem Speicher 64 durch seitenstrukturierten Zugriff aus. Diese ausgelesenen Daten werden an den MD-Controller 44 in Folge gesandt und zur Datenspeichereinheit 45 befördert. Die Datenspeichereinheit 45 gibt die Daten entsprechend der Zugriffsadresse an den Systembus 60 über den BD- Controfler 46 aus und hält die Daten für die folgende Adresse fest.
- (1.2) Wenn die Zugriffsadresse mit der Adresse der in der Datenspeichereinheit 45 gehaltenen Daten übereinstimmt.
- Die Treffer-Beurteilungseinheit 42 informiert die Datenspeichereinheit 45 von ihrer Übereinstimmung und fordert den MA-Generator auf, die auf die Zugriffsadresse folgende Adresse auszulesen.
- Als Antwort auf ihre Übereinstimmung sendet die Datenspeichereinheit 45 ihre eigenen Daten an den Systembus 60 über den BD-Controller 46 aus.
- Mit dem Empfang der Anforderung die Daten entsprechend der folgenden Adresse auszulesen liest der MA-Generator 43 die Daten aus dem Speicher 62 ("Dn + 1" in Fig. 15) aus. Die ausgelesenen Daten werden an den MD-Controller 44 gesandt und zur Datenspeichereinheit 45 befördert, um dort gehalten zu werden.
- (2) Wenn die Zugriffsdaten eine geringere Breite als der Speicher 64 besitzen
- Je nachdem, ob die Zugriffsadresse und die Adresse von in der Datenspeichereinheit 45 gehaltenen Daten miteinander übereinstimmen oder nicht sind zwei unterschiedliche Operationen möglich, abhängig von den folgenden beiden Fällen.
- Ein Fall liegt vor, wenn die Zugriffsadresse eine Endadresse innerhalb der 64-Bit Breite des Speichers 62 ist. Genauer besitzt der Speicher 62 64-Bit Datenbreite, so dass drei Typen von Zugriffsbreite 8,16 und 32 Bits, möglich sein können. Vorausgesetzt, dass die pro Byte in dem Speicher 62 zugewiesenen Adressen gleich N, N + 1, N + 2, N + 3, N + 4, N + 5, N + 6 und N + 7 sind, sind acht Adressen möglich, um auf 8- Bit Daten zuzugreifen: N, N + 1, N + 2, N + 3, N + 4, N + 5, N + 6 und N + 7, vier Adressen sind möglich, um auf 16-Bit Daten zuzugreifen: N, N + 2, N + 4 und N + 6, zwei Adressen sind möglich, um auf 32-Bit Daten zuzugreifen: N und N + 4. Die oben erwähnte "Endadresse" bezeichnet die Adresse N + 7, um auf 8-Bit Daten zuzugreifen, die Adresse N + 6, um auf 16-Bit Daten zuzugreifen und die Adresse N + 4, um auf 32-Bit Daten zuzugreifen. Mit anderen Worten sind dies die Fälle, bei denen auf Daten zugegriffen wird, welche das End-Byte in den 64-Bit Daten einschließen.
- Der andere Fall ist derjenige, bei dem die Zugriffsadresse nicht die Endadresse ist.
- (2.1) Wenn die Zugriffsadresse nicht mit der Adresse der in der Datenspeichereinheit 45 gehaltenen Daten übereinstimmt und sie die Endadresse ist
- In diesem Fall werden beide Daten für die Zugriffsadresse und für die, auf die Zugriffsadresse folgende Adresse aus dem Speicher 62 ausgelesen. Die Daten die der Zugriffsadresse entsprechen, werden an den Systembus 60 ausgesandt und die Daten der folgenden Adresse werden in der Datenspeichereinheit 45 gehalten, wie in dem Zeitablaufdiagramm in Fig. 14 gezeigt wird.
- (2.2) Wenn die Zugriffsadresse nicht mit der Adresse der in der Datenspeichereinheit 45 gehaltenen Daten übereinstimmt und sie nicht die Endadresse ist
- Mit Bezug auf das Zeitablaufdiagramm in Fig. 16 fordert die Treffer- Beurteilungseinheit 42 den MA-Generator 43 auf die Daten entsprechend der Zugriffsadresse auszulesen. Zur selben Zeit informiert die Einheit zur Bestimmung der Zugriffsdatengröße 56 in der Treffer-Beurteilungseinheit 42 die Zustands- Kontrolleinheit 57, dass die Zugriffsadresse nicht die Endadresse ist. Die Zustands- Kontrolleinheit 57 veranlasst die Latch -Kontrolleinheit 58 zur Lieferung der Zugriffsdaten an die Datenspeichereinheit 45.
- Als Antwort auf die Zugriffsanforderung liest der MA-Generator 43 die Daten aus dem Speicher 62 ("Dn" in Fig. 16) aus. Die ausgelesenen Daten werden an den MD-Controller 44 ausgesandt und auf die Datenspeichereinheit 45 gegeben. Die Da tenspeichereinheit 45 hält die Daten fest unter der Kontrolle der Latch-Kontrolleinheit 58 und sendet sie auch an den Systembus 60 über den BD-Controller 46 aus.
- (2.3) Wenn die Zugriffsadresse mit der Adresse der, in der Datenspeichereinheit von 45 gehaltenen Daten übereinstimmt und sie die Endadresse ist.
- In diesem Fall werden die Operationen, die durch das Zeitablaufdiagramm in Fig. 15 beschrieben sind ausgeführt. Genauer informiert die Treffer-Beurteilungseinheit 42 die Datenspeichereinheit 45, dass die Zugriffsadresse und die Adresse von Daten, die in der Datenspeichereinheit 45 gehalten werden übereinstimmen und fordert den MA-Generator auf eine Adresse, die auf die Zugriffsadresse folgt aus dem Speicher 62 auszulesen.
- Informiert von ihrer Übereinstimmung, gibt die Datenspeichereinheit 45 ihre eignen Daten an den Systembus 60 über den BD-Controller 46 aus. Als Antwort auf die Anforderung die nächstfolgende Adresse zu lesen, liest der MA-Generator 43 die Daten entsprechend der nächstfolgenden Adresse aus dem Speicher 62 ("Dn + 1" in Fig. 15) aus. Die ausgelesenen Daten werden an den MD-Controller 44 gesandt und an die Datenspeichereinheit 45 gegeben, um darin gehalten zu werden.
- (2.4) Wenn die Zugriffsadresse mit der Adresse der in der Datenspeichereinheit von 45 gehaltenen Daten übereinstimmt und sie nicht die Endadresse ist.
- Mit Bezug auf das Zeitablaufdiagramm in Fig. 17 fordert die Treffer- Beurteilungseinheit 42 die Datenspeichereinheit 45 auf ihre eigenen Daten auszugeben. Zur selben Zeit informiert die Einheit zur Bestimmung der Zugriffsdatengröße 56 die Zustands-Kontrolleinheit 57, dass die Zugriffsadresse nicht die Endadresse ist. Dann veranlasst die Zustands-Kontrolleinheit 57 die Latch-Kontrolleinheit 58 die Datenspeichereinheit 45 davon abzuhalten Daten zu aktualisieren. Als Antwort auf die Anweisung von der Treffer-Beurteilungseinheit 42 sendet die Datenspeichereinheit 45 ihre eigenen Daten an den Systembus 60 über den BD-Controller 46 aus.
- Damit werden Zugriffsdaten von der Datenspeichereinheit 45 an den Systembus 60 gesandt, was die Zeit, die benötigt wird, um Daten aus dem Speicher 62 auszulesen reduzieren kann.
- Auch wenn bei dieser Ausführung die, vom Systembus 60 gesandte Zugriffsadresse an die Treffer-Beurteilungseinheit 42 über den BA-Decoder 41 gesandt wird, kann sie auch direkt in die Treffer-Beurteilungseinheit 42 eingegeben werden durch die direkte Verbindung der Treffer-Beurteilungseinheit 42 mit dem Systembus 60. Dieser Aufbau trägt zu einer weiteren Reduzierung von Zugriffszeit bei, weil die Treffer- Beurteilungseinheit 42 parallel zu dem BA-Decoder 41 arbeitet. Dies erhöht jedoch unerwünschterweise die Belastung des Systembuses 60.
- Auch wenn die vorliegende Erfindung völlig mit Hilfe von Beispielen unter Bezug auf die beiliegenden Zeichnungen beschrieben wurde, muss angemerkt werden, dass verschiedene Veränderungen und Modifikationen, die den Fachleuten einsichtig sein werden, vorgenommen werden können ohne Abweichung vom Ziel der vorliegenden Erfindung, wie es durch die beigefügten Patentansprüche festgelegt wird.
Claims (9)
1. Eine Vorrichtung zur Kontrolle von Lesezugriff mit hoher Geschwindigkeit, ohne
Verwendung von Techniken des Burstverfahrens auf nahtlose Bereiche in einem
Speicher (62), wie einem Bildspeicher oder einem VRAM als Antwort auf eine
Zugriffsanforderung, die über einen Systembus (60) gesendet wird, wobei die Vorrichtung umfasst:
Eine Daten-Speichereinrichtung (45) zur Erhaltung von Daten entsprechend einer
vorgegebenen Adresse;
eine Beurteilungseinrichtung (42) zur Beurteilung, ob eine Zugriffsadresse, welche
durch die Zugriffsanforderung angezeigt wird mit der vorgegebenen Adresse
übereinstimmt; und
welche die Daten-Speichereinrichtung (45) veranlasst Daten, die ebendort enthalten
sind an den Systembus (60) auszugeben, wenn die Zugriffsadresse als
übereinstimmend mit der vorgegebenen Adresse befunden wurde und die
Datenspeichereinrichtung (45) veranlasst Daten zu halten, die einer nächsten Adresse
entsprechen, welche auf die Zugriffsadresse folgt, wenn die Zugriffsadresse als nicht
übereinstimmend mit der vorgegebenen Adresse befunden wurde,
wobei die Beurteilungseinrichtung (42) umfasst:
Eine Adressenspeichereinrichtung (53) zur Erhaltung einer Adresse, welche die
Daten anzeigt, die durch die Daten-Speichereinrichtung (45) gespeichert wurden;
wobei die Beurteilungseinrichtung (42) weiterhin umfasst:
Eine Gültigkeits-Beurteilungseinrichtung (54) zur Beurteilung ob die Daten, die in der
Daten-Speichereinrichtung (45) gehalten werden gültig oder ungültig sind;
eine Übereinstimmungs-Beurteilungseinrichtung (55) zur Beurteilung ob die
Zugriffsadresse mit der Adresse, die in der Adressenspeichereinrichtung (53) gehalten wird
übereinstimmt und zur Beurteilung, ob die Zugriffsadresse mit der Adresse, die in
der Adressenspeichereinrichtung (53) gehalten wird nicht übereinstimmt, wenn die
Gültigkeits-Beurteilungseinrichtung (54) die Daten für ungültig befunden hat; und
gekennzeichnet damit, dass die Beurteilungseinrichtung (42) umfasst:
Eine Datengröße-Beurteilungseinrichtung (56) zur Ermittlung, ob die Zugriffsdaten
eine kleinere Datenbreite besitzen als der Speicher (62) und ob sie eine Endposition
der Datenbreite des Speichers (62) nicht einschließen und zur Informierung einer
Adresserzeugungseinrichtung (51) bezüglich eines Ergebnisses, das durch die
Datengröße-Beurteilungseinrichtung (56) ermittelt wurde,
und damit, dass die Beurteilungseinrichtung (42) umfasst:
Die Adresserzeugungseinrichtung (51) zur Erzeugung der nächsten Adresse, wenn
die Zugriffsadresse für übereinstimmend befunden wurden mit der Adresse, die in
der Adressenspeichereinrichtung (53) gehalten wird, zur Erzeugung der
Zugriffsadresse und der nächsten Adresse in Folge und zur Beförderung an die
Beurteilungseinrichtung (42), wenn die Zugriffsadresse für nicht übereinstimmend mit der
Adresse in der Adressenspeichereinrichtung (53) befunden wurde und zur Einstellung der
Erzeugung der nächsten Adresse, wenn das Ergebnis, das durch die Datengröße-
Beurteilungseinrichtung (56) ermittelt wurde empfangen wurde; und
Eine Latch-Kontrolleinrichtung (58), welche die Daten-Speichereinrichtung (45)
veranlasst die Daten zu speichern, wenn Daten, die der nächsten Adresse entsprechen
aus dem Speicher (62) ausgelesen wurden.
2. Die Vorrichtung entsprechend Anspruch 1, bei welcher der Speicher (62) ein
Bildspeicher zur Speicherung von Bilddaten ist und die nächste Adresse Daten
anzeigt, die auf Daten entsprechend der Zugriffsadresse folgen, wobei die Daten,
welche durch die nächste Adresse angezeigt werden dieselbe Datenbreite besitzen wie
der Speicher (62).
3. Die Vorrichtung entsprechend Anspruch 1, bei der die
Datenspeichereinrichtung (45) umfasst:
Eine Daten-Latch-Einrichtung (71) zur Speicherung der Daten, die von dem Spe
eher (62) ausgegeben wurden; und
eine Auswahleinrichtung (72) zur Auswahl der Daten, die durch die Daten-Latch-
Einrichtung (71) gespeichert wurden, wenn die Zugriffsadresse für übereinstimmend
mit der vorgegebenen Adresse befunden wurde und zur Auswahl von Daten, die aus
dem Speicher (62) ausgegeben wurden, wenn die Zugriffsadresse für nicht
übereinstimmend mit der vorgegebenen Adresse gbefunden wurde und damit zur
Beförderung der ausgewählten Daten an den Systembus (60).
4. Die Vorrichtung entsprechend Anspruch 1, bei der die
Adresserzeugungseinrichtung (51) umfasst:
Einen ersten Schrittzähler (81) zur Inkrementierung der Zugriffsadresse;
einen ersten Selektor (82) zur Auswahl einer Ausgabe des ersten Schrittzählers
(81), wenn die Zugriffsadresse für übereinstimmend befunden wurde mit der
Adresse, die in der Adressenspeichereinrichtung (53) gehalten wird und zur Auswahl der
höchstwertigen Adresse, wenn die Zugriffsadresse für nicht übereinstimmen
befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung (53) gehalten
wird;
eine Latch-Schaltung (83) zur Speicherung einer Ausgabe des ersten Selektors (82);
einen zweiten Schrittzähler (84) zu Inkrementierung der Ausgabe des ersten
Selektors (82); und
einen zweiten Selektor (85) zur Auswahl einer Ausgabe der Latch-Schaltung (83),
wenn die Zugriffsadresse für übereinstimmend befunden wurde mit der Adresse, die
in der Adressenspeichereinrichtung (53) gehalten wird und zur Auswahl einer
Ausgabe der Latch-Schaltung (83) und dann zu einer Auswahl einer Ausgabe des
zweiten Schrittzählers (84), womit die Ausgabe des zweiten Schrittzählers (84) als eine
Zugriffsadresse an den Speicher (62) ausgegeben wird, wenn die Zugriffsadresse
für nicht übereinstimmend befunden wurde mit der Adresse die in der
Adressenspeichereinrichtung (53) gehalten wird.
5. Die Vorrichtung entsprechend Anspruch 1 und einem Speicher (62) in
Kombination.
6. Die Kombination entsprechend Anspruch 5, wobei der Speicher (62) ein
Bildspeicher zur Speicherung von Bilddaten ist.
7. Ein Verfahren zur Kontrolle von Lesezugriff bei einer Vorrichtung
entsprechend Anspruch 1, wobei das Verfahren umfasst:
Beurteilung, ob die Zugriffsadresse mit der vorgegebenen Adresse als Antwort auf
eine Zugriffsanforderung übereinstimmt;
wenn die Zugriffsadresse für übereinstimmend mit der vorgegebenen Adresse
befunden wurde:
Ausgabe der Daten, die in der Daten-Speichereinrichtung (45) gehalten werden an
den Systembus (60);
Lesen der Daten, die bei der nächsten Adresse des Speichers (62) gespeichert sind;
und
Speichern der Lesedaten in der Daten-Speichereinrichtung (45);
wenn die Zugriffsadresse für nicht übereinstimmend mit der vorgegebenen Adresse
befunden wurde:
Lesen der Daten, die bei der Zugriffsadresse des Speichers (62) gespeichert sind;
Ausgabe der Daten entsprechend der Zugriffsadresse;
Lesen der Daten, die bei der nächsten Adresse des Speichers (62) gespeichert sind;
und
Speicherung der Daten der nächsten Adresse in die Daten-Speichereinrichtung (45),
wobei der Beurteilungsschritt umfasst:
Halten einer Adresse, welche die Daten anzeigt, die durch die
Datenspeichereinrichtung gespeichert werden;
Beurteilung, ob die Daten, die in der Daten-Speichereinrichtung (45) gehalten
werden gültig oder ungültig sind;
Beurteilung, ob die Zugriffsadresse mit der Adresse, die in der
Adressenspeichereinrichtung (53) gehalten wird übereinstimmt; und
Beurteilung, ob die Zugriffsadresse mit der Adresse, die in der
Adressenspeichereinrichtung (53) gehalten wird nicht übereinstimmt, wenn die Gültigkeits-
Beurteilungseinrichtung (54) die Daten für ungültig befunden hat; und
dadurch gekennzeichnet, dass der Beurteilungsschritt weiterhin umfasst:
Ermittlung, ob die Zugriffsdaten eine kleinere Datenbreite besitzen als der Speicher
(62) und ob sie keine Endposition der Datenbreite des Speichers (62) einschließen
und Informierung der Adressenerzeugungseinrichtung (51) von einem Ergebnis, das
so ermittelt wurde;
und dadurch, dass der Kontrollschritt umfasst:
Erzeugung der nächsten Adresse, wenn die Zugriffsadresse für übereinstimmend
befunden wurde mit der Adresse, die in der Adressenspeichereinrichtung (53)
gehalten wird;
Erzeugung der Zugriffsadresse und der nächsten Adresse in Folge und Beförderung
derselben zur Beurteilungseinrichtung (42), wenn die Zugriffsadresse für nicht
übereinstimmend befunden wurde mit der Adresse die in der
Adressenspeichereinrichtung (53) gehalten wird;
Einstellung der Erzeugung der nächsten Adresse, wenn das, durch die Datengröße-
Beurteilungseinrichtung (56) ermittelte Ergebnis empfangen wurde; und
Veranlassung der Daten-Speichereinrichtung (45) die Daten zu speichern, wenn
Daten entsprechend der nächsten Adresse aus dem Speicher (62) ausgelesen wurden.
8. Das Verfahren entsprechend Anspruch 7, bei dem der Speicher (62) einem
Bildspeicher zur Speicherung von Bilddaten ist.
9. Das Verfahren entsprechend Anspruch 8, bei dem die nächste Adresse Daten
anzeigt, die auf Daten folgern entsprechend der Zugriffsadresse, wobei die Daten
durch die nächste Adresse mit der selben Datenbreite wie der Speicher (62)
angezeigt werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3509293 | 1993-02-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69431737D1 DE69431737D1 (de) | 2003-01-02 |
DE69431737T2 true DE69431737T2 (de) | 2003-04-24 |
Family
ID=12432318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69431737T Expired - Fee Related DE69431737T2 (de) | 1993-02-24 | 1994-02-22 | Vorrichtung und Verfahren zum Speicherlesezugriff mit hoher Geschwindigkeit |
Country Status (5)
Country | Link |
---|---|
US (1) | US5579500A (de) |
EP (1) | EP0613087B1 (de) |
CA (1) | CA2116314C (de) |
DE (1) | DE69431737T2 (de) |
TW (1) | TW389863B (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619663A (en) * | 1994-09-16 | 1997-04-08 | Philips Electronics North America Corp. | Computer instruction prefetch system |
JPH0934784A (ja) * | 1995-07-14 | 1997-02-07 | Sony Corp | データ書込み回路、データ読出し回路及びデータ伝送装置 |
DE10027205A1 (de) * | 2000-05-31 | 2002-01-03 | Fujitsu Siemens Computers Gmbh | Datenverarbeitungsanordnung mit einem Systembus, einem Speicherinterface, einem Speicherbus und einem Speicher, sowie ein Verfahren zu ihrem Betrieb |
US8804406B2 (en) | 2012-05-30 | 2014-08-12 | Lsi Corporation | Conditional read-assist feature to accelerate access time in an electronic device |
CN113419709B (zh) * | 2021-06-22 | 2023-03-24 | 展讯通信(上海)有限公司 | 软件优化方法及装置、电子设备、可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6024663A (ja) * | 1983-07-19 | 1985-02-07 | Fujitsu Ltd | メモリ・アクセス制御方式 |
JPS60221857A (ja) * | 1984-04-18 | 1985-11-06 | Nec Corp | マイクロプロセツサシステム |
US4691277A (en) * | 1984-10-24 | 1987-09-01 | International Business Machines Corp. | Small instruction cache using branch target table to effect instruction prefetch |
JPS6356754A (ja) * | 1986-08-28 | 1988-03-11 | Toshiba Corp | 入出力チヤネル |
JPS6389954A (ja) * | 1986-10-03 | 1988-04-20 | Ricoh Co Ltd | メモリ制御方式 |
JPS63271647A (ja) * | 1987-04-30 | 1988-11-09 | Yokogawa Medical Syst Ltd | メモリ回路 |
IT1215539B (it) * | 1987-06-03 | 1990-02-14 | Honeywell Inf Systems | Memoria tampone trasparente. |
US5157776A (en) * | 1987-12-30 | 1992-10-20 | Zenith Data Systems Corporation | High speed memory for microcomputer systems |
JP3105283B2 (ja) * | 1991-03-20 | 2000-10-30 | キヤノン株式会社 | メモリ・アクセス制御装置 |
US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
-
1994
- 1994-02-22 EP EP94301250A patent/EP0613087B1/de not_active Expired - Lifetime
- 1994-02-22 DE DE69431737T patent/DE69431737T2/de not_active Expired - Fee Related
- 1994-02-23 US US08/200,217 patent/US5579500A/en not_active Expired - Fee Related
- 1994-02-23 TW TW083101564A patent/TW389863B/zh active
- 1994-02-23 CA CA002116314A patent/CA2116314C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5579500A (en) | 1996-11-26 |
CA2116314C (en) | 2002-07-16 |
DE69431737D1 (de) | 2003-01-02 |
TW389863B (en) | 2000-05-11 |
EP0613087B1 (de) | 2002-11-20 |
EP0613087A1 (de) | 1994-08-31 |
CA2116314A1 (en) | 1994-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854368T2 (de) | Cachespeicher mit einer Elastizität in der Verarbeitung verschiedener Adressenfehler. | |
DE69327703T2 (de) | Mikroprozessor mit Busbreite-Wechselfunktion | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE69513126T2 (de) | Verfahren und Gerät zum schnellen Vergleichen für Adressen eines Pufferspeichers mit Fehlerkorrektur | |
DE69111635T2 (de) | Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs. | |
DE68926936T2 (de) | Vorrichtung und Technik für Burstprogrammierung | |
DE69221045T2 (de) | Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen | |
DE60003273T2 (de) | Verfahren und Vorrichtung zur Erzeugung einer Eingabeadresse | |
DE68928727T2 (de) | Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage | |
DE69329630T2 (de) | Vorrichtung zur Vektorverarbeitung | |
DE68902193T2 (de) | Datenspeicheranordnung. | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE69026479T2 (de) | Datenprozessor mit Wartezustandsteuerungseinheit | |
DE69126057T2 (de) | Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung | |
DE69326175T2 (de) | Daten-Reprogrammierungsverfahren in einem EEPROM und in einer EEPROM-Karte | |
DE3784181T2 (de) | Fehlererkennung unter verwendung von paritaetspruefung mit veraenderlichem feld. | |
DE69605820T2 (de) | Datenfehler-detektion und -korrektur für gemeinsamen speicher | |
DE112006003358T5 (de) | Verteilung von Speicherzugriffsanforderungen | |
DE3588061T2 (de) | Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät. | |
DE69031696T2 (de) | Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen | |
DE3854853T2 (de) | Datenprozessor mit erweiterten Operationsfunktionen | |
DE69715993T2 (de) | Cache-Speicher mit Verwendung fehlerhaften Ettikettenspeichers | |
DE19714681A1 (de) | Hauptspeichersteuergerät | |
DE68927306T2 (de) | Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |