DE69231720T2 - Speicherzugriffsvorrichtung mit Adresspipeline - Google Patents

Speicherzugriffsvorrichtung mit Adresspipeline

Info

Publication number
DE69231720T2
DE69231720T2 DE69231720T DE69231720T DE69231720T2 DE 69231720 T2 DE69231720 T2 DE 69231720T2 DE 69231720 T DE69231720 T DE 69231720T DE 69231720 T DE69231720 T DE 69231720T DE 69231720 T2 DE69231720 T2 DE 69231720T2
Authority
DE
Germany
Prior art keywords
bus
address
memory access
signal
use right
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69231720T
Other languages
English (en)
Other versions
DE69231720D1 (de
Inventor
Hiroyuki Fujiyama
C/O Fujitsu Limited Iino
Koichi Kuroiwa
Kenji Shirasawa
Hiromasa Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP03326129A external-priority patent/JP3103174B2/ja
Priority claimed from JP01556592A external-priority patent/JP3244746B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69231720D1 publication Critical patent/DE69231720D1/de
Application granted granted Critical
Publication of DE69231720T2 publication Critical patent/DE69231720T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft eine Speicherzugriffsvorrichtung, die für ein Pipeline-Informationsverarbeitungssystem vorgesehen ist, um einen Zugriff auf eine Speichereinheit zu unterbrechen oder zu beenden, wenn eine Unterbrechungs- oder eine Beendigungsanforderung während des Pipelineprozesses ausgegeben wird, in dem die Pipeline-Informationsverarbeitungseinheit einen Pipelineprozess durchführt, nachdem sie ein Busbenutzungsrecht erhalten hat, und ein Informationsverarbeitungssystem, das dieselbe verwendet.
  • Unter verschiedenen Hochleistungsdatenverarbeitungsvorrichtungen wurde eine Anzahl von Datenverarbeitungssystemen entwickelt, die Prozessoren aufweisen, die speziell zur Durchführung von arithmetischen Operationen oder zum Zeichnen von Figuren verwendet werden.
  • Bei diesen Datenverarbeitungssystemen arbeiten diese speziellen Prozessoren, die neben dem Hauptprozessor vorgesehen sind, ebenfalls als Busmaster, um Steuerungsoperationen, wie das Ausgeben einer Busadresse etc., durchzuführen, Wenn eine Mehrzahl von Busmastern versucht, das Recht zur Benutzung eines Systembusses zu erhalten, kann dies daher zu einem Konflikt unter ihnen führen.
  • Daher, um einen Konflikt für das Recht zur Benutzung eines Systembusses zu vermeiden, sollte das Recht ein Busmaster zu sein optimal zugewiesen werden. Das heißt, das Busbenutzungsrecht sollte durch Arbitration zugewiesen werden (nachfolgend als die Busarbitration bezeichnet).
  • Ein. Beispiel für die herkömmlichen Bussteuerungsverfahren, wie vorstehend beschrieben, ist in Fig. 1 der zugehörigen Zeichnungen dargestellt, in der das Verfahren auf ein Datenverarbeitungssystem angewendet wird.
  • Das Datenverarbeitungssystem weist einen Hauptprozessor 1 zur Steuerung des Datenverarbeitungssystems, eine LSI (large scale integrated circuit = Schaltung mit hohem Integrationsgrad) 2 als einen Coprozessor zur Durchführung von arithmetischen Operationen auf Daten, die verarbeitet werden, eine LSI 3 als einen CRT-Controller (CRT = cathode ray tube = Kathodenstrahlröhre) zum speziellen Darstellen von Bildern, indem die Verarbeitungsergebnisse auf einem Display angezeigt werden, und einen Speicher 4 auf, der mit einem Systembus SB verbunden ist. Der Hauptprozessor 1, die LSI 2 und die LSI 3 können Busmaster für den Systembus SB sein.
  • Bei der oben erwähnten Konfiguration wird die Busarbitration in einem Datenverarbeitungssystem, das eine Vielzahl von LSIs aufweist, die als Busmaster arbeiten können (zwei LSIs in diesem Fall), normalerweise durch ein Handshakeverfahren durchgeführt, das ein Busbenutzungsrecht-Anforderungssignal (nachfolgend als ein HREQ#-Signal bezeichnet) und ein Busbenutzungsrecht-Erlaubnissignal (nachfolgend als ein HACK#-Signal bezeichnet) verwendet. Für diesen Fall wird die Arbitration zwischen dem Hauptprozessor 1 und der LSI 2, die dazu in der Lage sind, als ein Busmaster zu arbeiten, nachfolgend unter Bezugnahme auf Fig. 2 der zugehörigen Zeichnungen beschrieben.
  • Zunächst sei angenommen, dass der Hauptprozessor 1, der normalerweise das Busbenutzungsrecht hat, einen Systembus SB verwendet und Daten zu und von dem Speicher 4 etc. überträgt. In diesem Zustand zeigt das von dem Hauptprozessor 1 ausgegebene HACK#-Signal den inaktiven Zustand (den H-Pegel) an. Demgemäß wird bestimmt, dass die LSI 2, die das HACK#-Signal empfängt, kein Busbenutzungsrecht hat und dass auf den Systembus SB nicht zugegriffen wird (siehe Abschnitt (a) in Fig. 2). Das HREQ#-Signal und das HACK#- Signal sind negative Logiksignale (nachfolgend bezeichnet ein Signal, das mit "#" endet ein negatives Logiksignal). Das Wort "aktiv" besagt, dass ein vorliegendes Signal wahr bzw. true ist, während das Wort "inaktiv" besagt, dass ein vorliegendes Signal unwahr bzw. false ist, unabhängig von der positiven/negativen Logik.
  • Als nächstes, wenn der Systembus SB von der LSI 2 benutzt werden sollte, zeigt das HREQ#-Signal den aktiven Zustand (den L-Pegel) durch die LSI 2 an und es wird eine Busbenutzungsrecht-Anforderung an den Hauptprozessor 1 ausgegeben (siehe Abschnitt (b) in Fig. 2).
  • Wenn das HREQ#-Signal den aktiven Zustand anzeigt, wird die LSI 2 in einem Wartezustand gehalten, bis das HACK#-Signal den aktiven Zustand anzeigt (siehe Abschnitt (c) in Fig. 2). Zu dem Zeitpunkt, zu dem der Hauptprozessor 1 bereit ist, das Busbenutzungsrecht auf die LSI 2 zu übertragen, erzeugt der Hauptprozessor 1 das HACK#-Signal, das den aktiven Zustand anzeigt, wodurch der LSI 2 erlaubt wird, den Bus zu benutzen (siehe Abschnitt (d) in Fig. 2). Die LSI 2 erwirbt das Busbenutzungsrecht nachdem das HACK#-Signal den aktiven Zustand anzeigt (siehe Abschnitt (d) in Fig. 2).
  • Die Busarbitration zwischen dem Hauptprozessor 1 und der LSI 2 wird unter Bezugnahme auf das obige Beispiel beschrieben. Weiterhin, wenn die LSI 3 als ein potentieller Busmaster enthalten ist, wird die Busarbitration zwischen dem Hauptprozessor 1 und der LSI 2 oder 3 unter Verwendung des HREQ#-Signals und des HACK#-Signals durchgeführt.
  • Bei einem derartigen herkömmlichen Bussteuerungsverfahren wird die Busarbitration zwischen dem Hauptprozessor 1 und einer Vielzahl von LSIs (LSIs 2 und 3 in diesem Fall), die dazu in der Lage sind, als Busmaster zu arbeiten, unter Verwendung eines Busbenutzungsrecht- Anforderungssignals HREQ# und eines Busbenutzungsrecht- Antwortsignals HACK# durchgeführt. Um eine fehlerhafte Entscheidung bei der Zuweisung eines Busbenutzungsrechtes zu verhindern, muss die LSI 2 (oder die LSI 3), wenn sie veranlasst, dass des Busbenutzungsrechtsignal HREQ# den aktiven Zustand anzeigt, bestätigen, dass das Signal nicht durch die andere LSI 3 (oder LSI 2) ausgegeben wird.
  • Nachdem die LSI 2 veranlasst hat, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den aktiven Zustand in dem in Fig. 3 der zugehörigen Zeichnungen dargestellten Fall anzeigt, und durch die andere LSI 3 veranlasst werden kann, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den aktiven Zustand anzeigt, wenn das Busbenutzungsrecht- Antwortsignal HACK# den aktiven Zustand anzeigt, zeigt das das Busbenutzungsrecht-Anforderungssignal HREQ# jedoch den inaktiven Zustand an, wenn die LSI 2 aufgrund eines intern in der LSI 2 verursachten Fehlers unwirksam geworden ist, nachdem sie das Busbenutzungsrecht erhalten hat (siehe Abschnitt (f) in Fig. 3).
  • Wenn die LSI 3 in diesem Zustand veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den aktiven Zustand anzeigt (siehe Abschnitt (g) in Fig. 3), ist es für den Hauptprozessor 1 sehr schwierig zu bestimmen, wessen Busbenutzungsrecht-Anforderungssignal HREQ# zu akzeptieren ist, wenn das Busbenutzungsrecht-Antwortsignal HACK# den aktiven Zustand anzeigt (siehe Abschnitt (h) in Fig. 7). Dies verursacht häufig eine Fehlfunktion des gesamten Systems.
  • Wenn das System jedoch mit einer externen Schaltung speziell zur Ausführung der Busarbitration als Gegenmaßnahme zu der Fehlfunktion des Systems ausgestattet ist, wird die gesamte Konfiguration unerwünscht kompliziert.
  • Die Betriebsfrequenz des oben beschriebenen Hauptprozessors 1 hat eine beachtliche Höhe erreicht, was eine Beschleunigung des Speicherzugriffs für die LSIs 2 und 3 erforderlich macht. Wenn eine externe Speichereinheit mit einem statischen RAM (nachfolgend der Kürze wegen als ein SRAM bezeichnet) ausgestattet ist, kann eine Antwort mit einer Geschwindigkeit ausgegeben werden, die hoch genug ist um die Betriebsfrequenz der Hochgeschwindigkeitsspeicherzugriffsvorrichtung zu erreichen. Weil dieser sehr teuer ist, ist er jedoch angesichts der Gesamtkosten für das System als eine Hauptspeichereinheit nicht geeignet. Daher wird er nur als ein Cachespeicher und ein lokaler Speicher mit kleiner Kapazität verwendet.
  • Daher wird ein dynamischer RAM (nachfolgend der Kürze wegen als DRAM bezeichnet) als Hauptspeichereinheit verwendet.
  • Er ist in eine Vielzahl von unabhängig voneinander betreibbare Module unterteilt, die "Bänke" genannt werden, und mit einem Verschachtelungsverfahren ("interleave method") verwendet werden, um die Hauptspeichereinheit durch parallelen Betrieb von allen Bänken wirksam zu beschleunigen.
  • Fig. 4 der zugehörigen Zeichnungen zeigt die Konfiguration des Speichers 4, der in vier Bänke BANK 0-3 auf der Grundlage des Verschachtelungsverfahrens aufgeteilt ist. Auf die Inhalte von vier aufeinanderfolgenden Adressen kann in einem Speicherzyklus gleichzeitig zugegriffen werden, indem alle Bänke mit Hilfe einer Speicherzugriffsvorrichtung 5 für die LSI 2 und die LSI 3 parallel betrieben werden, wobei die beiden niederwertigen Bits einer in dem Adressenlatch von jeder Bank gespeicherten Adresse die Bank bezeichnen, und wobei das hochwertige Bit die Adresse innerhalb von jeder Bank bezeichnet. Dadurch wird ein Speicher realisiert, der dazu in der Lage ist, mit einer 4-fach höheren Geschwindigkeit zu arbeiten.
  • Es existiert ein Adressen-Pipelineprozess zur Beschleunigung des Speicherzugriffprozesses, um ein Computersystem mit höherer Leistung zu realisieren. Er gibt eine Adresse vorab durch eine vorherbestimmte Anzahl von Zyklen aus, ohne auf ein externes Datenantwortsignal zu warten.
  • Fig. 5 der zugehörigen Zeichnungen ist ein Zeitablaufdiagramm von einer Adressenpipeline, durch die vier Adressen zuerst als Vorababfrageadresse ("prefetch address") in den in Fig. 4 dargestellten Speicher 4 ausgegeben werden. In dem Speicher 4 sind vier Takte als die Zeit erforderlich, um auf ein Datenstück zuzugreifen. Gemäß der von der Speicherzugriffsvorrichtung 5 ausgegebenen Adresse können die Daten an der Adresse vier Takte nach der Bestimmung von jeder Bankadresse ausgegeben werden.
  • In diesem Fall werden Adressen nacheinander von der Speicherzugriffsvorrichtung 5 ausgegeben, und nach vier Takten werden die Daten an den Adressen nacheinander ausgegeben. Somit wird die Adressenpipeline zur Verkürzung der Zugriffszeit verwendet, indem in Bänke unterteilte DRAMs mit relativ langsamer Zugriffszeit durch das Verschachtelungsverfahren so gehandhabt werden, als ob sie Hochgeschwindigkeitsspeicher wären. Dies wird häufig als ein wirksames Verfahren zur Beschleunigung des Betriebs eines Computersystems verwendet.
  • Das Timing, mit dem die Speicherzugriffsvorrichtung 5 für die LSIs 2 und 3 auf den Speicher 4 durch eine Adressenpipeline zugreift, wird unten näher beschrieben.
  • Wenn die Speicherzugriffsvorrichtung 5 ein Busbenutzungsrecht entsprechend dem oben beschriebenen Busbenutzungsrecht-Anforderungssignal HREQ# und dem Busbenutzungsrecht-Antwortsignal HACK# erhalten hat, wird der erforderliche Speicherzugriff normalerweise aufeinanderfolgend durchgeführt. In der Zwischenzeit behält die Speicherzugriffsvorrichtung 5 das Busbenutzungsrecht kontinuierlich und greift auf der Grundlage des Adressen- Pipelineverfahrens auf Speicher zu.
  • Fig. 6 der zugehörigen Zeichnungen ist ein Zeitablaufdiagramm zur Erläuterung des obigen Betriebs. Sie zeigt ein Beispiel für eine Adressenpipeline, durch die vier Adressen zuerst ausgegeben werden, und der Buszugriff bezeichnet einen 8-fach Phasen-Datenlesezyklus.
  • In Fig. 6 bezeichnet CLK ein Taktsignal zum Antreiben eines Systems; Adresse(0) bezeichnet eine Adressenausgabe von der Speicherzugriffsvorrichtung 5; R/W#(O) bezeichnet ein Lese-/Schreibsignal; Daten(I) bezeichnet von der Speicherzugriffsvorrichtung 5 eingegebene Daten; DC#(I) bezeichnet ein Zugriffsantwortsignal, das von einem Speicher ausgegeben wird und darüber informiert, dass der Datenzugriff abgeschlossen ist. Bei der Darstellung eines Signals bezeichnet (I) ein Eingangssignal zu der Speicherzugriffsvorrichtung 5 und (O) bezeichnet ein Ausgangssignal von der Speicherzugriffsvorrichtung 5.
  • Zuerst gibt die Speicherzugriffsvorrichtung 5 das Busbenutzungsrecht-Anforderungssignal HREQ#(0) an den Hauptprozessor 1 aus um das Busbenutzungsrecht anzufordern. Wenn, als Antwort darauf, das Antwortsignal HACK#(I) den aktiven Zustand anzeigt, wird der Zugriff auf den Speicher 4 gestartet. Das heißt, Adressenwerte A1, A2, ... werden nacheinander als Adressenausgaben Adresse(0) ausgegeben, synchron mit dem Takt CLK. Nach vier Takten werden Daten D1, D2, ... an dem Dateneingang Daten(I) ausgegeben.
  • Fig. 6 zeigt die drei Prozesse als den Betrieb einer Adressenpipeline, das heißt, das Ausgeben einer Adresse zuerst als eine vorab abgefragte Adresse, das Ausgeben einer Adresse und das Eingeben/Ausgeben von Daten, und das Eingeben/Ausgeben von Daten.
  • Eine Adressenpipeline greift normalerweise auf Speicher etc. kontinuierlich zu und realisiert ein Hochleistungssystem durch den aufeinanderfolgenden Zugriff. Wie dies nachfolgend beschrieben wird, kann es jedoch erforderlich sein, einen Adressen-Pipelineprozess zwangsweise zu beenden oder auszusetzen, wobei die herkömmliche Speicherzugriffsvorrichtung 5 jedoch nicht mit derartigen Funktionen ausgestattet ist, wodurch eine Verringerung der Leistung und der Zuverlässigkeit des Computersystems verursacht wird.
  • (1) Wenn der Hauptprozessor 1 den Bus SB unmittelbar benutzen sollte:
  • Der Hauptprozessor 1 ist mit einem Cachespeicher und einem Speicherpuffer ausgestattet, auf die zugegriffen werden soll, beispielsweise, um ein Hochleistungssystem zu realisieren. Demgemäß lässt man den Hauptprozessor 1 nicht warten, weil auf diese Cachespeicher und Speicherpuffer auch dann zugegriffen wird, wenn eine andere Speicherzugriffsvorrichtung 5 das Busbenutzungsrecht für den Bus SB hat und der Hauptprozessor 1 das Busbenutzungsrecht nicht erhalten kann.
  • Wenn es sich jedoch um ein Durchschreib- Steuerungssystem zum Schreiben von Daten in sowohl einen Cachespeicher als auch den Speicher 4 handelt, befindet sich ein zu schreibender Block in dem Cachespeicher und der Hauptprozessor 1 überschreibt die Inhalte des Cachespeichers, so dass die überschriebenen Inhalte des Cachespeichers unmittelbar in den Speicher 4 geschrieben werden sollten, um die Konsistenz zwischen den Inhalten des Cachespeichers und denen des Speichers 4 aufrechtzuerhalten.
  • Auch wenn Daten nur in den Cachespeicher geschrieben werden und die Daten zu dem Speicher 4 übertragen werden, um seinen Inhalt zu aktualisieren wenn der aktualisierte Block irgendwelche Daten ersetzt, das heißt bei einem Zurückkopiersteuerungsverfahren, muss der aktualisierte Block in den Speicher 4 geschrieben werden, wenn er irgendwelche Daten ersetzen soll. Weiterhin, wenn der oben beschriebene Speicherpuffer des Hauptprozessors 1 sich füllt, sollten die Daten in dem Speicher 4 gespeichert werden.
  • Wenn auf den Speicher 4 nicht wie oben beschrieben zugegriffen werden kann, sollte der Hauptprozessor 1 auf den nächsten Prozess warten. Das heißt, der Hauptprozessor 1 gibt ein Busbenutzungsrecht-Anforderungssignal GBR# (globale Busanforderung) aus, um auf einen Speicher zuzugreifen. Die Speicherzugriffsvorrichtung 5, die einen Adressen-Pipelineprozess ausführt, ist jedoch nicht mit einer Einheit zum Empfangen des Signals ausgestattet. Daher, wenn sie nicht mit irgendeiner Einheit zum zwangsweisen Freigeben des Busses SB ausgestattet ist, wartet der Hauptprozessor 1, der das Busbenutzungsrecht- Anforderungssignal GBR# ausgegeben hat, weiterhin auf den nächsten Prozess. Wenn man den Hauptprozessor 1 auf einen Prozess warten lässt verringert dies jedoch die Leistung des Systems.
  • (2) Wenn das Busbenutzungsrecht-Antwortsignal HACK# den inaktiven Zustand aufgrund der Fehlfunktion des Busses SB anzeigt:
  • Der Zustand, in dem die Speicherzugriffsvorrichtung 5 das Busbenutzungsrecht hat, bedeutet, dass das Busbenutzungsrecht-Anforderungssignals HREQ#(0) den aktiven Zustand anzeigt und das Antwortsignal HACK#(I) ebenfalls den aktiven Zustand anzeigt. Wenn beide Signale den aktiven Zustand anzeigen, geht die Speicherzugriffsvorrichtung 5 davon aus, das Busbenutzungsrecht zu haben und greift auf den Bus zu.
  • Wenn das Busbenutzungsrecht-Antwortsignal HACK#(I) den inaktiven Zustand aufgrund der Fehlfunktion des Busses SB, die durch einen Hardwarefehler etc. während einer Operation verursacht wurde, anzeigt, obwohl die Speicherzugriffsvorrichtung 5 das Busbenutzungsrecht hat, zeigt das Busbenutzungsrecht-Anforderungssignal HREQ#(O) den aktiven Zustand an und das Antwortsignal HACK#(1) zeigt den aktiven Zustand nicht an. Daher wird bestimmt, dass die Speicherzugriffsvorrichtung 5 das Busbenutzungsrecht nicht hat. Wenn die Speicherzugriffsvorrichtung 5 nicht mit einer Einheit zum unmittelbaren Aussetzen eines Adressen- Pipelineprozesses ausgestattet ist, so fährt sie mit dem Zugreifen auf den Bus fort, obwohl sie das Busbenutzungsrecht nicht hat, was möglicherweise einen Konflikt für einen Bus mit einem Signal verursacht, das von einer anderen Einheit auf einen Bus SB ausgegeben wurde, und dies führt zu einer Reduzierung der Zuverlässigkeit des Systems.
  • Ein derartiges System wird im Allgemeinen nicht hergestellt. Es kann jedoch zur Freigabe eines Busses in einem Debug-Prozess verwendet werden und das oben beschriebene Problem hervorrufen.
  • (3) Wenn die Speicherzugriffsvorrichtung 5 einen internen Ausnahmezustand aufweist:
  • Beispielsweise wenn die Speicherzugriffsvorrichtung 5 intern eine arithmetische Operation durchführt, die eine Gleitkommaoperation etc. umfasst, und das Ergebnis in dem Speicher 4 gespeichert wird, kann ein interner Ausnahmezustand in der Speicherzugriffsvorrichtung 5 vorliegen, wenn ein Ausnahmezustand, wie beispielsweise ein Überlauf, eine ungültige Operation etc. während der arithmetischen Operation auftritt.
  • In diesem Fall sollte der Adressen-Pipelineprozess unmittelbar ausgesetzt werden und das Vorliegen des Ausnahmezustands muss dem Hauptprozessor 1 mitgeteilt werden. Wenn die Speicherzugriffsvorrichtung 5 nicht mit einer Einheit für diesen Zweck ausgestattet ist, wird auf den Bus jedoch weiterhin mit einem Ausnahmezustand zugegriffen, wobei das Vorliegen des Ausnahmezustandes dem Hauptprozessor 1 mit Verspätung mitgeteilt wird und ein Fehlerbehebungsprozess entsprechend verzögert wird.
  • Beispielsweise wenn die Speicherzugriffsvorrichtung 5 ein Vektorprozessor etc. ist und ein Fehler während der arithmetischen Operation durch eine DO-LOOP (DO- Schleife) in dem Vektorprozessor auftritt, wird die arithmetische Operation in der DO-LOOP zum mehrmaligen Wiederholen der gleichen arithmetischen Operation ungültig und sollte ausgesetzt werden. Die Benachrichtigung des Hauptprozessors 1 wird jedoch verzögert und die entsprechende Aktion wird ebenfalls verzögert.
  • Das Weiterführen des Prozesses, der einen Ausnahmezustand enthält, kann die Zuverlässigkeit des Systems daher verringern.
  • (4) Wenn die Speicherzugriffsvorrichtung 5 eine Adresse konvertiert:
  • Wenn ein Fehler in einem TLB (translation look aside buffer = Übersetzungsnachschlag-Nebenpuffer) auftritt wenn die Speicherzugriffsvorrichtung 5 eine eingebaute Konvertierungstabelle TLB aufweist, das heißt, wenn sie mit einer DAT-Funktion (DAT = dynamic address translation = dynamische Adressenübersetzung) ausgestattet ist, sollte der Adressen-Pipelineprozess unmittelbar ausgesetzt werden und irgendeine Einheit zum Ausführen eines Eintragzyklus zum Aktualisieren einer Konvertierungstabelle TLB muss eingesetzt werden. Es ist jedoch keine Einheit vorgesehen, um das Auftreten von Fehlern weiterzuleiten und die entsprechenden Aktionen können nicht unmittelbar durchgeführt werden.
  • (5) Wenn ein Ausnahmezustand in einem Bus vorliegt:
  • Beispielsweise wenn eine externe Schaltung einen Ausnahmezustand wie beispielsweise einen Bus-Time-Out, einen Paritätsfehler, eine Anforderung zum Zugreifen auf eine verbotene Einheit wenn die Speicherzugriffsvorrichtung 5 auf den Bus zugreift, sollte die Adressenpipeline unmittelbar beendet werden. Das Fortführen des Prozesses bei diesem Ausnahmezustand kann die Zuverlässigkeit des Systems verringern.
  • Bei dem oben beschriebenen herkömmlichen Speicherzugriff sollte ein Adressen-Pipelineprozess zwangsweise ausgesetzt werden, kann jedoch nicht, und trägt in unerwünschter Weise zur Verringerung der Leistung und in der Zuverlässigkeit eines Computersystems bei, wenn:
  • (1) der Hauptprozessor einen Bus unmittelbar benutzen muss,
  • (2) ein Busbenutzungsrecht-Auforderungssignal den inaktiven Zustand aufgrund der Fehlfunktion eines Busses anzeigt,
  • (3) ein Ausnahmezustand in einer Speicherzugriffsvorrichtung vorliegt,
  • (4) eine Speicherzugriffsvorrichtung eine Adresse konvertiert, und
  • (5) ein Ausnahmezustand in einem Bus vorliegt.
  • Es ist daher erwünscht, den Adressenpipelinemodus bei einer internen und externen Anforderung der Vorrichtung zwangsweise auszusetzen oder zu beenden, und eine Speicherzugriffsvorrichtung vorzusehen, um die Leistung und die Zuverlässigkeit eines Computersystems zu verbessern.
  • Gemäß einem ersten Grundgedanken der vorliegenden Erfindung wird eine Speicherzugriffsvorrichtung vorgesehen, die mit einer Zentraleinheit und Speichermitteln durch einen Bus verbunden ist, um auf einen Speicher in den Speichermitteln in einem Adressenpipelinemodus zuzugreifen, in dem Adressen unabhängig von der Zentraleinheit zuerst ausgegeben werden, aufweisend: Adressenerzeugungsmittel zum Erzeugen einer Adresse, die zum Zugreifen auf einen Speicher verwendet wird, wobei eine nachfolgende Adresse zum Zugreifen auf einen Speicher im Adressenpipelinemodus erzeugt wird, bevor ein Datenzyklus zum Empfangen oder Ausgeben von der aktuellen Adresse entsprechenden Daten abgeschlossen ist; Adressensteuerungsmitteln zum Ausgeben einer erzeugten Adresse zu dem Bus; und Steuerungsmittel zum Aussetzen oder Beenden des Speicherzugriffs, der in dem Adressenpipelinemodus gesteuert wird, aufweisend: Mittel zum Empfangen einer Anforderung, extern von der Speicherzugriffsvorrichtung, um den Speicherzugriff auszusetzen oder zu beenden; Mittel zum Empfangen einer Anforderung, intern zu der Speicherzugriffsvorrichtung, um den Speicherzugriff auszusetzen oder zu beenden; gekennzeichnet durch Mittel zum Steuern der Adressensteuerungsmittel derart, dass, wenn eine interne oder externe Anforderung zum Aussetzen oder beenden des Speicherzugriffs empfangen wird, Adressenausgaben durch die Adressensteuerungsmittel unmittelbar ausgesetzt oder beendet werden; und Mittel zum Beenden der Eingabe oder der Ausgabe von Daten, wenn eine der internen oder der externen Anforderung zum Beenden des Speicherzugriffs empfangen wird, nachdem Datenzyklen, die Adressen entsprechen, die von den Adressensteuerungsmitteln ausgegeben wurden, abgeschlossen wurden.
  • Sowohl die Europäische Patentanmeldung EP-A- 0297893 als auch IEEE Transactions on Computers, Vol. 37, Nr. 5, Mai 1998, New York, US, Seiten 562-573, XP000047779, Smith et. al., "Implementing Precise Interrupts in Pipeline Processors" beschreiben Verfahren zum Beenden eines Zugriffsprozesses im Fall eines Ausnahmezustandes oder anderer auftretender Unterbrechungen. Diese Druckschriften schlagen weder vor noch offenbaren jedoch, dass, wenn ein Ausnahmezustand auftritt wenn eine Adresse für einen Speicherzugriff in einem Adressenpipelinemodus ausgegeben wurde, der Prozess zum Zugreifen auf den Speicher entsprechend der ausgegebenen Adresse abgeschlossen und der Speicherzugriff dann beendet wird.
  • Gemäß einem zweiten Grundgedanken der vorliegenden Erfindung wird ein Informationsverarbeitungssystem vorgesehen, das aufweist: eine Zentraleinheit, einen gemeinsamen Bus; Speichermittel; und eine Speicherzugriffsvorrichtung entsprechend dem ersten Grundgedanken der vorliegenden Erfindung, um über den gemeinsamen Bus auf Speichermittel in einem Adressenpipelinemodus zuzugreifen, in dem Adressen vorab abgerufen werden, unabhängig von der Zentraleinheit.
  • Nun wird, im Rahmen eines Beispiels, auf die zugehörigen Zeichnungen Bezug genommen, in denen:
  • Fig. 1 (vorstehend beschrieben) ein Blockschaltbild ist, das die Konfiguration eines wichtigen Teils einer Vorrichtung gemäß dem Stand der Technik zeigt;
  • Fig. 2 (vorstehend beschrieben) zur Erläuterung des Betriebs der Vorrichtung gemäß dem Stand der Technik dient;
  • Fig. 3 (vorstehend beschrieben) ein Wellenformdiagramm zeigt, das zur Erläuterung eines Problems bei der Vorrichtung gemäß dem Stand der Technik dient;
  • Fig. 4 (vorstehend beschrieben) die Konfiguration eines Speichers zeigt, der vier Bänke aufweist;
  • Fig. 5 (vorstehend beschrieben) ein Zeitablaufdiagramm ist, das zur Erläuterung eines Steuerungsverfahrens in einem Adressenpipelinemodus verwendet wird;
  • Fig. 6 (vorstehend beschrieben) ein Zeitablaufdiagramm ist, das zur Erläuterung des Speicherzugriffs bei der herkömmlichen Speicherzugriffsvorrichtung verwendet wird;
  • Fig. 7 ein Blockschaltbild eines Informationsverarbeitungssystems ist, das den zweiten Grundgedanken der vorliegenden Erfindung verwirklicht;
  • Fig. 8 eine Darstellung ist, die die Konfiguration eines Teils des Informationsverarbeitungssystems von Fig. 7 zeigt;
  • Fig. 9 die Busbenutzungsrecht- Anforderungssignal-Erzeugungsschaltung im Detail zeigt;
  • Fig. 10 eine Tabelle von Setz- /Zurücksetzbedingungen ist;
  • Fig. 11 ein Zeitablaufdiagramm zur Erläuterung des Betriebs des Systems gemäß Fig. 8 ist;
  • Fig. 12 ein Wellenformdiagramm zur Erläuterung der Wirkung des Systems von Fig. 8 ist;
  • Fig. 13 zeigt Konfiguration einer Speicherzugriffsvorrichtung ist, die den ersten Grundgedanken der vorliegenden Erfindung verwirklicht;
  • Fig. 14 die Konfiguration der Schaltung der Buszugriffs-Anforderungseinheit zeigt;
  • Fig. 15 die Konfiguration der Schaltung der Ausnahmezustand-Erzeugungseinheit zeigt;
  • Fig. 16 zeigt Konfiguration der Schaltung des Timing-Sequenzers ist;
  • Fig. 17 im Detail Bedingungsbestimmungsschaltungen zeigt;
  • Fig. 18 im Detail die Konfiguration der Bedingungserzeugungs-Logikschaltung zeigt;
  • Fig. 19 die Konfiguration der Schaltung der Busbenutzungsrecht-Steuerungseinheit zeigt;
  • Fig. 20 die Konfiguration der Schaltung der Adressensteuetungseinheit zeigt;
  • Fig. 21 die Konfiguration der Schaltung der Datensteuerungseinheit zeigt;
  • Fig. 22 das Zeitablaufdiagramm zur Erläuterung des Betriebs ist, der durchgeführt wird, wenn der Hauptprozessor 1 den Bus benutzen sollte;
  • Fig. 23 ein Zeitablaufdiagramm zur Erläuterung des Betriebs ist, der durchgeführt wird, wenn ein Ausnahmezustand in der Speicherzugriffsvorrichtung aufgetreten ist;
  • Fig. 24 das Zeitablaufdiagramm zur Erläuterung des Betriebs ist, der durchgeführt wird, wenn ein Ausnahmezustand in einem Bus aufgetreten ist;
  • Fig. 25 die Konfiguration der Vektorprozessoreinheit zeigt; und
  • Fig. 26 eine Darstellung zur Erläuterung des Steuerungsprozesses zwischen dem Hauptprozessor 1 und der VU ist.
  • Fig. 7 zeigt ein Informationsverarbeitungssystem, das die vorliegende Erfindung verwirklicht und einen Hauptprozessor 1, zum Durchführen von wichtigen Prozessen in dem System, und eine Vielzahl von Bearbeitungseinheiten 16 aufweist, die dazu in der Lage sind, als Busmaster zu arbeiten, indem sie einen Systembus SB oder einen gemeinsamen Bus belegen, beispielsweise LSIs. Wenn eine der Vielzahl von Bearbeitungseinheiten 16 eine Anforderung für das Recht den Systembus SB zu benutzen durch eine Hauptschaltung 17 ausgibt, gibt eine Steuerungseinheit 14 ein Busbenutzungsrecht-Anforderungssignal HREQ# an den Hauptprozessor 1 aus. Nach dem Ausgeben eines Busbenutzungsrecht- Anforderungssignals HREQ# als Antwort auf ein Busbenutzungsrecht-Antwortsignal HACK#, das von dem Hauptprozessor 1 gemäß dem Busbenutzungsrecht-Anforderungssignal HREQ# ausgegeben wurde, wird der Bearbeitungseinheit 16 das Recht zum Benutzen des Systembusses zugeteilt und sie arbeitet als Busmaster. Wenn die Vielzahl von Bearbeitungseinheiten 16 bezüglich dem Systembus nach der Ausgabe des Busbenutzungsrecht-Anforderungssignals HREQ# unwirksam werden, erkennen sie ein Busbenutzungsrecht-Antwortsignal, das von dem Hauptprozessor 1 ausgegeben wird, bestätigen die Zuweisung des Rechtes den Systembus gemäß dem Busbenutzungsrecht-Antwortsignal zu benutzen, und geben die Anforderung für das Busbenutzungsrecht frei. Die Bearbeitungseinheit 16 weist, beispielsweise, eine Speicherzugriffsvorrichtung zum Zugreifen auf den Speicher 4 durch eine Adressenpipeline auf, um zuerst eine Adresse auszugeben. Die Steuerungseinheit 14 ist in der Speicherzugriffsvorrichtung 10 vorgesehen.
  • Wenn eine Bearbeitungseinheit bezüglich dem Systembus SB nach der Ausgabe des Busbenutzungsrecht- Anforderungssignals HREQ# unwirksam wird, wird die Anforderung für ein Busbenutzungsrecht freigegeben, nach der Bestätigung der Zuweisung des Rechtes den Systembus zu benutzen, das heißt, nach dem Empfang des Busbenutzungsrecht- Antwortsignals HACK# als Antwort auf das ausgegebene Busbenutzungsrecht-Anforderungssignal HREQ#. Daher wird eine Anforderung von irgendeiner der anderen Bearbeitungseinheiten 16 für ein Busbenutzungsrecht von dem Moment an, von dem eine Bearbeitungseinheit bezüglich dem Systembus unwirksam wird, bis zu dem Moment zurückgewiesen, in dem die Anforderung für ein Busbenutzungsrecht freigegeben wird. Weil eine Anforderung für ein Busbenutzungsrecht entsprechend einem Busbenutzungsrecht-Antwortsignal von dem Hauptprozessor 1 freigegeben wird, kann die Busarbitration einfach ausgeführt werden, nur durch das Bereitstellen einer Logikschaltung zum Setzen einer vorherbestimmten Logik entsprechend den unterschiedlichen oben beschriebenen Signalen. Das heißt, eine Fehlfunktion, die durch einen Fehler während der Busarbitration verursacht wird, kann wirksam vermieden werden, und eine spezielle externe Schaltung zum Ausführen der Arbitration kann erfolgreich vereinfacht werden.
  • Das System gemäß Fig. 7 weist auch eine die vorliegende Erfindung verkörpernde Speicherzugriffsvorrichtung 10 auf, die mit dem Speicher 4 durch den Bus SB verbunden ist, um unabhängig von dem Hauptprozessor 1 auf den Speicher 4 zuzugreifen, durch die Adressenpipeline, um zuerst eine Adresse auszugeben.
  • Die Speichervorrichtung 10 weist weiterhin eine Adressenerzeugungseinheit 11 zum Erzeugen einer Adresse, bei der auf einen Speicher zugegriffen wird, eine Adressensteuerungseinheit 12 zum Ausgeben einer erzeugten Adresse zu dem Bus und die Steuerungseinheit 14 auf, um den Speicherzugriff durch die Adressenpipeline auszusetzen oder zu beenden, unter Steuerung durch die Adressensteuerungseinheit 12, wenn ein Anforderungssignal BRL# zum Aussetzen oder Beenden des Speicherzugriffs durch die Steuerung der Adressenpipeline intern oder extern von der Speicherzugriffsvorrichtung 10 angelegt wird. Wenn ein Anforderungssignal BRL# zum Aussetzen oder Beenden des Speicherzugriffs durch Steuerung der Adressenpipeline intern oder extern von der Speicherzugriffsvorrichtung 10 angelegt wird, wird die Adressenpipeline zwangsweise beendet oder ausgesetzt.
  • Bei der vorstehend beschriebenen Konfiguration gibt der Hauptprozessor 1, wenn der Hauptprozessor 1 unmittelbar den Bus SB verwenden muss, ein Busbenutzungsrecht- Anforderungssignal BRL# zum Zugreifen auf einen Speicher aus, der Speicher 4 gibt ein Zugriffsantwortsignal DC# beim Abschluss des Speicherzugriffs auf eine Adresse aus, und die Steuerungseinheit 14 beendet den Dateneingabe- /ausgabeprozess entsprechend der Anzahl von vorab abgerufenen Adressen, wenn sie ein Busbenutzungsrecht- Anforderungssignal BRL# von dem Hauptprozessor 1 erhält, wenn das Zugriffsantwortsignal DC# den aktiven Zustand während des Speicherzugriffs anzeigt, der durch die Adressenpipeline gesteuert wird, setzt den Speicherzugriff gesteuert von der Adressenpipeline aus, und veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand dem Hauptprozessor 1 anzeigt. Daher, wenn der Hauptprozessor 1 den Bus SB unmittelbar benutzen muss, kann er den nächsten Prozess übernehmen, indem er die Adressenpipeline zwangsweise aussetzt, ohne zu warten, nachdem er ein Busbenutzungsrecht-Anforderungssignal BRL# ausgegeben hat. Dadurch kann die Leistung des Systems deutlich verbessert werden. Wenn der Hauptprozessor 1 ein Busbenutzungsrecht-Anforderungssignal HREQ# von der Speicherzugriffsvorrichtung 10 empfängt, gibt der Hauptprozessor 1 ein Busbenutzungsrecht-Antwortsignal HACK# aus, der Speicher 4 gibt ein Zugriffsantwortsignal DC# beim Beenden des Speicherzugriffs auf eine Adresse aus, die Steuerungseinheit 14 beendet die Eingabe/Ausgabe von Daten in Abhängigkeit von der Anzahl der vorab abgerufenen Adressen und setzt dann den Speicherzugriff gesteuert durch die Adressenpipeline aus, wenn das Busbenutzungsrecht-Antwortsignal HACK# von dem Hauptprozessor 1 den inaktiven Zustand aufgrund der Fehlfunktion auf dem Bus SB während des durch die Adressenpipeline gesteuerten Speicherzugriffs anzeigt. Ein Adressbus-Pipelineprozess kann zwangsweise ausgesetzt werden, auch wenn ein Busbenutzungsrecht-Antwortsignal HACK# zwangsweise den inaktiven Zustand durch irgendeine der anderen mit dem Bus SB verbundenen Einheiten anzeigt, beispielsweise aufgrund der Fehlfunktion des Busses SB. Daher, weil nicht kontinuierlich auf einen Bus zugegriffen wird, gibt es keinen Konflikt für einen Bus mit Signalen, die von anderen Einheiten ausgegeben werden. Als eine Folge kann die Zuverlässigkeit des Systems deutlich verbessert werden.
  • Eine Ausnahmezustand-Erkennungseinheit 13 erkennt einen internen Ausnahmezustand in der Hauptschaltung 17 in der Bearbeitungseinheit 16 und gibt ein internes Ausnahmezustandsignal IERRX aus. Beim Empfang des internen Ausnahmezustandsignals IERRX während des durch die Adressenpipeline gesteuerten Speicherzugriffs beendet die Steuerungseinheit 14 den Dateneingabe-/ausgabeprozess in Abhängigkeit von der Anzahl der zuerst ausgegebenen oder vorab abgerufenen Adressen, sie beendet den durch die Adressenpipeline gesteuerten Speicherzugriff, und sie veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand der Zentraleinheit 2 anzeigt. Wenn ein Ausnahmezustand in der Hauptschaltung 17 in der Bearbeitungseinheit 10 vorliegt, kann die Adressenpipeline zwangsweise beendet werden. Daher wird nicht kontinuierlich mit dem Ausnahmezustand auf den Bus zugegriffen und ein Fehlerbehebungsprozess wird nicht verzögert.
  • Die Adressenerzeugungseinheit 11 weist eine Konvertierungstabelle 15 zum Konvertieren einer logischen Adresse in eine physikalische Adresse auf. Die Konvertierungstabelle 15 gibt ein Eintrag-Anforderungssignal TLBREQ# aus, wenn keine entsprechende physikalische Adresse in der Tabelle vorhanden ist. Beim Empfang des Eintrag- Anforderungssignals TLBREQ# der Konvertierungstabelle 15 während des durch die Adressenpipeline gesteuerten Speicherzugriffs, beendet die Steuerungseinheit 14 den Dateneingabe-/ausgabeprozess in Abhängigkeit von der Anzahl von vorab abgerufenen Adressen und setzt den durch die Adressenpipeline gesteuerten Speicherzugriff aus. Wenn keine entsprechende physikalische Adresse in der Konvertierungstabelle 15 vorliegt, wenn die Speicherzugriffsvorrichtung 10 eine Adresse konvertiert, kann die Adressenpipeline daher zwangsweise ausgesetzt werden.
  • Weiterhin gibt der Speicher 4 ein Zugriffsantwortsignal DC# aus wenn der Speicherzugriff auf eine Adresse abgeschlossen ist. Der Bus SB veranlasst, dass ein Busfehlersignal den aktiven Zustand anzeigt wenn ein Ausnahmezustand in einem Bus vorliegt. Wenn die Steuerungseinheit 14, wenn das Zugriffsantwortsignal DC# den aktiven Zustand anzeigt, erkennt, dass das Busfehlersignal BERR# von dem Bus SB den aktiven Zustand während des durch die Adressenpipeline gesteuerten Speicherzugriffs anzeigt, beendet sie unmittelbar den von der Adressenpipeline gesteuerten Speicherzugriff. Daher kann die Adressenpipeline zwangsweise beendet werden wenn ein Ausnahmezustand in einem Bus vorliegt, und die Zuverlässigkeit des Systems kann deutlich verbessert werden.
  • Fig. 8 zeigt ein Informationsverarbeitungssystem, das im Wesentlichen den Hauptprozessor 11, das heißt einen Hauptprozessor, und eine LSI 19 aufweist, die eine der Vielzahl von Bearbeitungseinheiten 16 ist, die dazu in der Lage sind, als Busmaster zu arbeiten.
  • Die LSI 19 weist, beispielsweise, die Hauptschaltung 17, die zum Durchführen von vorherbestimmten Prozessen wie arithmetischen Operationen, Abbilden von Figuren etc. vorgesehen ist, und eine Busbenutzungsrecht- Anforderungssignalerzeugungsschaltung 14 zum Erzeugen eines Busbenutzungsrecht-Anforderungssignal HREQ# auf, das auszugeben ist, wenn die Hauptschaltung 17 das Recht zur Verwendung des Systembusses SB benötigt.
  • Wenn der Hauptprozessor 1 an die LSI 12, beispielsweise, eine Anweisung zum Durchführen eines Pipelineprozesses ausgibt, gibt die Hauptschaltung 17 in der LSI 19 ein internes Busbenutzungsrecht-Anforderungssignal IREQ# zu einer Busbenutzungsrecht-Anforderungssignalerzeugungsschaltung 18 aus. Die Busbenutzungsrecht-Anforderungssignalerzeugungsschaltung 18 ist in der Steuerungseinheit 14 vorgesehen, die in Fig. 7 dargestellt ist, und sie veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den aktiven Zustand dem Hauptprozessor 1 anzeigt, wenn das interne Busbenutzungsrecht-Anforderungssignal IREQ# den aktiven Zustand anzeigt. Wenn der Hauptprozessor 1 es empfängt, veranlasst der Hauptprozessor 1, dass ein Busbenutzungsrecht-Antwortsignal HACK# den aktiven Zustand anzeigt und die Busbenutzungsrecht-Anforderungssignalerzeugungsschaltung 18 erkennt entsprechend dem aktiven Zustand des Busbenutzungsrecht-Antwortsignals HACK#, dass die Busbenutzungsrecht-Anforderung akzeptiert ist und das Busbenutzungsrecht zugewiesen ist.
  • Unter der Annahme, dass die Hauptschaltung 17 ein internes Busbenutzungsrecht-Anforderungssignal IREQ# ausgibt, veranlasst die Busbenutzungsrecht- Anforderungssignalerzeugungsschaltung 18, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den aktiven Zustand für den Hauptprozessor 1 anzeigt, und in der Hauptschaltung 17 tritt ein Fehler auf, wenn der Hauptprozessor 1 den aktiven Zustand des Busbenutzungsrecht-Anforderungssignals HREQ# noch nicht beantwortet hat. Zu diesem Zeitpunkt veranlasst die Hauptschaltung 17, dass ein Fehleraufgetreten- Benachrichtigungssignal IERR# den aktiven Zustand anzeigt.
  • Zu diesem Zeitpunkt hält die Busbenutzungsrecht- Anforderungssignalerzeugungsschaltung 18 den aktiven Zustand des Busbenutzungsrecht-Anforderungssignals HREQ# aufrecht, bis das Busbenutzungsrecht-Antwortsignal HACK# den aktiven Zustand anzeigt. Dann wird festgestellt, dass das Busbenutzungsrecht-Antwortsignal HACK# von dem Hauptprozessor 1 den aktiven Zustand anzeigt und es wird veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand anzeigt.
  • Fig. 9 zeigt die in Fig. 8 dargestellte Busbenutzungsrecht-Anforderungssignalerzeugungsschaltung 18 im Detail. Nachfolgend wird zuerst jedes Signal beschrieben.
  • Die Busbenutzungsrecht- Anforderungssignalerzeugungsschaltung 14 weist AND-Gatter AND 1-3, OR-Gatter OR 0, ein RS-Flipflop FF und einen Inverter INV 1 auf.
  • Ein internes Busbenutzungsrecht- Anforderungssignal HACK# wird an die invertierten Eingänge der AND-Gatter AND 1 und AND 3 und den nicht-invertierten Eingang des AND-Gatters AND 2 angelegt. Ein Fehleraufgetreten-Benachrichtigungssignal IERR# wird an die nicht- invertierten Eingänge der AND-Gatter AND 1 und AND 2 und den invertierten Eingang des AND-Gatters AND 3 angelegt. Ein Busbenutzungsrecht-Antwortsignal HACK# wird an den nicht-invertierten Eingang des AND-Gatters AND 1 und den invertierten Eingang von AND 3 angelegt.
  • Das Ausgangssignal des AND-Gatters AND 1 wird dem Setz-Anschluss (S) des RS-Flipflops FF zugeführt und die Ausgangssignale der AND-Gatter AND 2 und AND 3 werden durch das OR-Gatter O dem Rücksetz-Anschluss R zugeführt.
  • Das Ausgangssignal O des RS-Flipflops wird durch den Inverter INV 1 in ein Busbenutzungsrecht- Anforderungssignal HREQ# umgewandelt.
  • In Fig. 9 zeigt ein Busbenutzungsrecht- Anforderungssignal HREQ# den aktiven Zustand an wenn es auf dem "L"-Pegel ist (ausgegeben zu dem externen Punkt der LSI) und es zeigt eine Anforderung für ein Busbenutzungsrecht dem Hauptprozessor an, um ein Busbenutzungsrecht zu managen.
  • Ein Busbenutzungsrecht-Antwortsignal HACK# ist ein Busbenutzungsrecht-Erlaubnissignal (eingegeben von dem externen Punkt der LSI), um den aktiven Zustand anzuzeigen, wenn es auf dem "L"-Pegel ist, und es zeigt an, dass der Hauptprozessor 1 zum Managen eines Busrechtes ein Busbenutzungsrecht-Anforderungssignal HREQ# empfangen hat und die Busbenutzungsrecht-Anforderung gestattet.
  • Ein internes Busbenutzungsrecht- Anforderungssignal IREQ# ist ein internes Fehlersignal (das von der Hauptschaltung 17 eingegeben wird), das den aktiven Zustand anzeigt, wenn es auf dem "L"-Pegel ist, und das anzeigt, dass die Hauptschaltung 17 eine Anforderung für ein Busbenutzungsrecht ausgibt.
  • Beispielsweise in einem Coprozessor für arithmetische Operationen zeigt das Signal den aktiven Zustand an, wenn Daten von einem externen Speicher bei einer internen arithmetischen Bearbeitungseinheit empfangen werden.
  • Ein Fehleraufgetreten-Benachrichtigungssignal IERR# ist ein internes Fehlersignal (das von der Hauptschaltung 17 eingegeben wird), das den aktiven Zustand anzeigt, wenn es auf dem "L"-Pegel ist, und das anzeigt, dass der Fehler möglicherweise eine Bearbeitungseinheit bezüglich dem Systembus SB unwirksam macht. Beispielsweise in einem Coprozessor für arithmetische Operationen zeigt das Signal den aktiven Zustand an, wenn intern ein Bearbeitungsfehler aufgetreten ist.
  • Ein Taktsignal CLK wird dem RS-Flipflop FF zugeführt. Das RS-Flipflop FF wird synchron mit dem Taktsignal CLK gesetzt und zurückgesetzt. Sein Betrieb wird nachfolgend erläutert. Das Busbenutzungsrecht-Anforderungssignal HREQ# von der LSI 19 zeigt den aktiven Zustand an, wenn das RS-Flipflop FF synchron mit dem Ansteigen des Taktsignals CLK von der LSI 19 gesetzt wird.
  • Der Ausgang 0 des Flipflops FF ist mit dem Inverter INV 1 ausgestattet, und das Busbenutzungsrecht- Anforderungssignal HREQ# zeigt den L-Pegel an, wenn verursacht wird, dass es den aktiven Zustand durch den Inverter anzeigt.
  • Die Betriebsbedingungen sind in Fig. 10 aufgeführt.
  • Das Setz-/Zurücksetz-Flipflop FF wird gesetzt, wenn das interne Busbenutzungsrecht-Anforderungssignal IREQ# den L-Pegel anzeigt und das Busbenutzungsrecht- Antwortsignal HACK# und das Fehleraufgetreten- Benachrichtigungssignal IERR# den H-Pegel anzeigen. Das heißt, das Setz-/Zurücksetz-Flipflop FF wird gesetzt, wenn die Hauptschaltung 20 eine Busbenutzungsrecht-Anforderung ausgibt, keine Fehler aufgetreten sind und die Antwort auf die Busbenutzungsrecht-Anforderung nicht zu der Haupteinheit oder anderen Einheiten ausgegeben wurde. Dies verursacht, dass das Setz-/Zurücksetz-Flipflop FF den H-Pegel ausgibt, dann den L-Pegel nach der Invertierung durch den Inverter INV 1, und ein Busbenutzungsrecht- Anforderungssignal HREQ# an den Hauptprozessor 1. Als Antwort auf den L-Pegel setzt der Hauptprozessor 1 das Busbenutzungsrecht-Antwortsignal HACK# auf den L-Pegel.
  • Das Setz-/Zurücksetz-Flipflop FF wird zurückgesetzt, wenn das interne Busbenutzungsrecht- Anforderungssignal IREQ# und das Fehleraufgetreten- Benachrichtigungssignal IERR# den H-Pegel anzeigen und das Busbenutzungsrecht-Antwortsignal HACK# den L-Pegel anzeigt. Das heißt, wenn der Bus SB ohne Fehler benutzt wird und keine Busbenutzungsrecht-Anforderungen mehr vorliegen. Dies veranlasst, dass das RS-Flipflop den L-Pegel ausgibt, und dann wird dieser durch den Inverter zum H-Pegel invertiert. Schließlich wird ein Busbenutzungsrecht-Anforderungssignal HREQ# dem Hauptprozessor 1 zugeführt. Weil dies veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand anzeigt, setzt der Hauptprozessor 1 das Busbenutzungsrecht-Antwortsignal HACK# auf den H-Pegel. Somit wird das Setz-/Zurücksetz-Flipflop zurückgesetzt, wenn die Hauptschaltung 17 den normalen Betrieb der Hauptschaltung 17 abgeschlossen hat. Das Setz-/Zurücksetz- Flipflop wird auch bei anderen Bedingungen zurückgesetzt. Das heißt, es kann zurückgesetzt werden, wenn das interne Busbenutzungsrecht-Anforderungssignal IREQ#, das Fehleraufgetreten-Benachrichtigungssignal IERR# und das Busbenutzungsrecht-Antwortsignal HACK# den L-Pegel anzeigen. Wenn eine interne Busbenutzungsrecht-Anforderung wie in Fig. 10 dargestellt ausgegeben wird und eine Fehleraufgetreten- Benachrichtigung ausgegeben wird, wenn eine Busbenutzungsrecht-Anforderung zu dem Hauptprozessor 1 gesendet wird, wird eine Busbenutzungsrecht-Antwort zurückgeliefert. Das heißt, das Setz-/Zurücksetz-Flipflop wird zurückgesetzt, wenn ein Busbenutzungsrecht-Antwortsignal HACK# den L-Pegel anzeigt.
  • Fig. 11 ist ein Zeitablaufdiagramm zur Erläuterung des Betriebs des Systems gemäß Fig. 8. Während des normalen Betriebs zeigt das Setzsignal des RS-Flipflops FF (das von dem AND-Gatter AND 1 ausgegeben wird) den H-Pegel beim Punkt a zum Setzen des RS-Flipflops an. Dadurch wird das Busbenutzungsrecht-Anforderungssignal HREQ# auf den L- Pegel gesetzt. Wenn der Hauptprozessor 1 feststellt, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den L-Pegel anzeigt, und wenn er ein Busbenutzungsrecht zuweist, setzt er das Busbenutzungsrecht-Antwortsignal HACK# auf den L- Pegel. Dies gibt beim Punkt b das Setzen des RS-Flipflops frei. Weil das RS-Flipflop zu diesem Zeitpunkt nicht zurückgesetzt wird verbleibt es in diesem Zustand.
  • Wenn ein Bus nicht benötigt wird, zeigt ein internes Busbenutzungsrecht-Anforderungssignal IREQ# den H- Pegel an und ein Zurücksetzsignal (das durch das AND-Gatter AND 2 ausgegeben wird) zeigt beim Punkt c den H-Pegel an und wird auf das RS-Flipflop FF durch das OR-Gatter 1 angelegt. Dadurch wird das Flipflop zurückgesetzt. Dies setzt das Busbenutzungsrecht-Anforderungssignal HREQ# auf den H- Pegel. Der Hauptprozessor erkennt dies und setzt das Busbenutzungsrecht-Antwortsignal HACK# auf den H-Pegel.
  • Der normale Betrieb der Ausführungsform der vorliegenden Erfindung ist vorstehend beschrieben.
  • Das RS-Flipflop FF wird gesetzt, nachdem erkannt wurde, dass das interne Busbenutzungsrecht- Anforderungssignal IREQ# den L-Pegel beim Punkt e anzeigt. Dann, unter der Annahme, dass ein interner Fehler aufgetreten ist und ein Fehleraufgetreten-Benachrichtigungssignal den L-Pegel anzeigt, unmittelbar nach der Benachrichtigung des Hauptprozessors 1, dass das Busbenutzungsrecht- Anforderungssignal den L-Pegel angibt. Zu diesem Zeitpunkt zeigt ein Setzsignal den L-Pegel unabhängig vom Pegel des Busbenutzungsrecht-Anforderungssignals an. Das RS-Flipflop FF verbleibt jedoch im gesetzten Zustand. Das Zurücksetzsignal zeigt den H-Pegel an und das RS-Flipflop FF wird zurückgesetzt, wenn das Busbenutzungsrecht-Antwortsignal HACK# den L-Pegel beim Punkt g angibt, und somit gibt das Busbenutzungsrecht-Anforderungssignal HREQ# den H-Pegel an. Es wird beim Hauptprozessor 1 beim Punkt h erkannt und bestimmt, dass das Busbenutzungsrecht-Antwortsignal HACK# den H-Pegel anzeigt. Dann wird der Bus freigegeben.
  • Das System, das beide LSIs 19 und 19' aufweist, die mit dem Systembus SB verbunden sind, wird unter Bezugnahme auf Fig. 12 beschrieben.
  • Auch wenn die arithmetischen Operationen aufgrund von, beispielsweise, internen Fehlern etc. in der LSI 19 nicht durchgeführt werden können bevor die CPU veranlasst, dass das HACK#-Signal den aktiven Zustand anzeigt (Teil f in Fig. 12), zeigt das HREQ#-Signal den inaktiven Zustand nicht an, bis das HACK#-Signal den aktiven Zustand anzeigt (Teil h in Fig. 12). Dann zeigt das HREQ#-Signal von der LSI 19 den inaktiven Zustand an (Teil f' in Fig. 12). Als Antwort darauf zeigt das HACK#-Signal den inaktiven Zustand an (Teil j in Fig. 12) und das HREQ#-Signal von einer anderen LSI 19' zeigt zweifellos den aktiven Zustand an (Teil i in Fig. 12).
  • Das heißt, wenn ein Fehler in der LSI 19 während der Busarbitration aufgetreten ist, bevor das HACK#-Signal den aktiven Zustand anzeigt nachdem das HREQ#-Signal den aktiven Zustand anzeigt, muss eine Busbenutzungsrecht- Anforderung freigegeben werden, nachdem das HREQ#-Signal den inaktiven Zustand anzeigt. Zu diesem Zeitpunkt verbleibt das HREQ#-Signal durch ein RS-Flipflop FF in dem aktiven Zustand, bis das HACK#-Signal von der CPU 1 den aktiven Zustand anzeigt. Daher wird eine Fehlfunktion vermieden, wenn das HREQ#-Signal den aktiven Zustand durch die LSI 19' etc. erneut anzeigt.
  • Wie vorstehend beschrieben, wird, auch wenn der Systembus SB nach der Ausgabe des HREQ#-Signals bei der Ausführungsform der vorliegenden Erfindung nicht mehr nötig ist, eine Busbenutzungsrecht-Anforderung freigegeben, nachdem die Zuweisung des Rechts zum Benutzen des Systembusses SB durch den Hauptprozessor 1 bestätigt wurde. Daher wird eine Busbenutzungsrecht-Anforderung von irgendwelchen anderen Prozessoren (LSI 3 in diesem Fall) während dem Zeitabschnitt von dem Moment, in dem der Systembus SB unnötig geworden ist, bis zu dem Moment, in dem die Busbenutzungsrecht-Anforderung freigegeben wird, zurückgewiesen.
  • Weil eine Busbenutzungsrecht-Anforderung entsprechend einem Busbenutzungsrecht-Erlaubnissignal von dem Hauptprozessor 1 freigegeben wird, kann die Busarbitration einfach ausgeführt werden, nur durch das Vorsehen einer Logikschaltung, um ein Busbenutzungsrecht- Anforderungssignal HREQ# zu erhalten, als das Ergebnis der vorherbestimmten Logik, die auf der Grundlage der Liste von einem Busbenutzungsrecht-Signal HREQ#, einem Fehleraufgetreten-Benachrichtigungssignal IERR# und einem Busbenutzungsrecht-Antwortsignal HACK# erhalten wird, die in Fig. 10 dargestellt ist.
  • Daher kann eine Fehlfunktion, die durch einen während der Busarbitration aufgetretenen Fehler verursacht wird, erfolgreich vermieden werden, und eine spezielle externe Schaltung für die Arbitration kann wirksam vereinfacht werden.
  • In dem vorstehend beschriebenen System weist die Logikschaltung ein RS-Flipflop auf, als ein Beispiel für die Erzeugung eines Busbenutzungsrecht-Signals HREQ#. Es ist jedoch klar, dass die Konfiguration der Logikschaltung nicht auf diese Anwendung eingeschränkt ist.
  • Als nächstes wird das Verfahren zur Steuerung einer Speicherzugriffsvorrichtung 10, die die vorliegende Erfindung verwirklicht, nachstehend beschrieben. Eine Speicherzugriffsvorrichtung 10, die die vorliegende Erfindung 10 verwirklicht, weist die in Fig. 7 dargestellte Systemkonfiguration auf und wird in einem Adressenpipelinemodus gesteuert, wie bei der herkömmlichen Speicherzugriffsvorrichtung.
  • Die Speicherzugriffsvorrichtung 10 kann die fünf folgenden Verfahren zum Steuern von Prozessen in einem Adressenpipelinemodus verwenden.
  • (1) Wenn der Hauptprozessor 1 einen Bus verwenden muss:
  • Der Hauptprozessor 1 verursacht, dass ein Busbenutzungsrecht-Anforderungssignal GBR# (globales Busanforderungssignal) den aktiven Zustand anzeigt, um ein Busbenutzungsrecht zu erhalten, wenn die Inhalte des Speichers 4 aktualisiert sind, indem Blockdaten zu dem Speicher 4 übertragen werden, um die Konsistenz zwischen den Inhalten von dem Cache in dem Hauptprozessor 1 und denjenigen im Speicher 4 aufrechtzuerhalten. Zu diesem Zeitpunkt weist die Speicherzugriffsvorrichtung 10 einen Eingangsanschluss zum Empfangen eines Busbenutzungsrecht-Anforderungssignals GBR# als ein Busbenutzungsrecht-Freigabesignal BRL# (Busfreigabesignal) auf, empfängt das Signal GBR#, setzt den Adressenpipelinemodus aus und gibt das Busbenutzungsrecht frei.
  • Die Speicherzugriffsvorrichtung 10 sollte ein Busbenutzungsrecht nicht einfach freigeben, unmittelbar nachdem erkannt wird, dass das Busbenutzungsrecht- Anforderungssignal GBR#, das heißt, BRL#, den aktiven Zustand anzeigt. Weil eine Adresse in einem Adressenpipelinemodus ausgegeben wird, sollten die Daten der zuerst ausgegebenen Adresse zuerst bearbeitet werden. Das heißt, weil der Speicher 4 veranlasst, dass ein Zugriffsantwortsignal DC# den aktiven Zustand für die Anzahl von Stücken von zugegriffenen Daten anzeigt, ein Busbenutzungsrecht nicht freigegeben werden sollte, bis zum Antwortsignal für die Daten der zuerst auszugebenden Adresse. Wenn es freigegeben wird bevor das Antwortsignal empfangen wird, ist die Anzahl der ausgegebenen Adressen nicht gleich der Anzahl von Stücken von Daten, die zu bearbeiten sind, was eine Fehlfunktion des Systems verursachen kann.
  • Wenn ein Busbenutzungsrecht-Freigabesignal BRL# den aktiven Zustand anzeigt, sollten die folgenden Prozesse in dem Moment durchgeführt werden, wenn ein Zugriffsantwortsignal DC# den aktiven Zustand anzeigt. Der Zyklus des aktiven Zustands von einem Zugriffsantwortsignal DC# entspricht dem Adressenausgabe- und dem Dateneingabe- /ausgabezyklus (Teil 2 in Fig. 6) und dem Dateneingabe- /ausgabezyklus (Teil 3 in Fig. 6).
  • In dem Adressenausgabe- und dem Dateneingabe- /ausgabezyklus (Teil 2 in Fig. 6) werden Adressenausgaben unmittelbar ausgesetzt und der Dateneingabe-/ausgabezyklus wird gestartet. In dem Dateneingabe-/ausgabezyklus (Teil 3 in Fig. 6) werden keine Adressen ausgegeben und es werden keine Prozesse durchgeführt. Zu diesem Zeitpunkt, wenn das Zugriffsantwortsignal DC# für die letzten Daten der vorab abgerufenen Adressen, wird der Adressenpipelinemodus ausgesetzt und es wird veranlasst, dass das Busbenutzungsrecht- Anforderungssignal HREQ# den inaktiven Zustand anzeigt. Auch wenn das Busbenutzungsrecht-Freigabesignal BRL# den inaktiven Zustand anzeigt, wird eine Anforderung für ein Busbenutzungsrecht erneut mit einem Busbenutzungsrecht- Anforderungssignal HREQ# ausgegeben, wenn eine Anforderung für einen Speicherzugriff ausgegeben werden sollte. Wenn ein Antwortsignal HACK# zurückgegeben wird, wird der Buszugriff erneut gestartet.
  • (2) Wenn ein Busbenutzungsrecht-Antwortsignal HACK# den inaktiven Zustand aufgrund einer Fehlfunktion eines Busses anzeigt:
  • Wenn ein Busbenutzungsrecht-Antwortsignal HACK# den aktiven Zustand während eines Buszugriffsprozesses anzeigt, werden die Daten für die vorab abgerufene Adresse bearbeitet, und dann wird der Adressenpipelinemodus ausgesetzt. Auch wenn das Zugriffsantwortsignal DC# für die letzten Daten erkannt wird, wird jedoch nicht veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand anzeigt. Es zeigt den inaktiven Zustand aufgrund der Anforderung von dem Hauptprozessor 1 einen Bus SB zu verwenden nicht an, jedoch aufgrund einer Fehlfunktion in dem System. Weil das Busbenutzungsrecht-Antwortsignal HACK# den inaktiven Zustand jedoch sicher anzeigt, bleibt das Busbenutzungsrecht freigegeben. Wenn das Busbenutzungsrecht-Anforderungssignal HREQ# den aktiven Zustand beibehält; kann ein Buszugriffsprozess unmittelbar erneut gestartet werden, wenn das Busbenutzungsrecht-Antwortsignal HACK# den aktiven Zustand anzeigt.
  • (3) Wenn ein Ausnahmezustand in der Hauptschaltung der Verarbeitungseinheit 16 aufgetreten ist:
  • In diesem Fall, weil es nicht wesentlich ist, einen Buszugriffsprozess bei einem Ausnahmezustand fortzuführen, wird der Adressenpipelinemodus unmittelbar beendet. Daher sollte die Anzahl der ausgegebenen Adressen der Anzahl von Datenstücken entsprechen. Die Daten für die vorab abgerufenen Adressen werden bearbeitet und dann wird der Adressenpipelinemodus beendet. Das heißt, der Prozess wird beendet wenn ein Zugriffsantwortsignal DC# für die letzten Daten erkannt wird.
  • Ein interner Ausnahmezustand kann zu jedem Zeitpunkt vorliegen, unabhängig von einem externen Buszugriff oder dem Zustand eines Zugriffsantwortsignals DC#.
  • Das heißt, ein interner Ausnahmezustand kann in dem Adressen-Erstausgabe-Zyklus (Teil 1 in Fig. 6) sowie in dem Adressenausgabe- und Dateneingabe-/ausgabezyklus auftreten. In dem Zyklus, in dem eine Adresse das erstemal ausgegeben wird, wird die Ausgabe der Adresse beendet und die Daten für die Anzahl der vorab abgerufenen Adressen werden bearbeitet. In diesem Fall wird der Adressen- Erstausgabe-Zyklus zu dem Dateneingabe-/ausgabezyklus übertragen.
  • Nachdem ein Zugriffsantwortsignal DC# für die letzten Daten erkannt wird, wird veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand anzeigt, weil das Busbenutzungsrecht nicht benötigt wird.
  • Das heißt, weil der Ausnahmezustand durch ein zwangsweises Beenden verursacht wird, wird der Speicherzugriffsprozess nicht erneut gestartet.
  • (4) Wenn die Speicherzugriffsvorrichtung 10 eine Adressenkonvertierung durchführt:
  • Wenn ein Fehler in der Konvertierungstabelle (TLB) 15 zum Konvertieren einer logischen Adresse in eine physikalische Adresse aufgetreten ist, bedeutet dies, dass keine auszugebenden Adressen vorliegen. Daher wird der Adressenpipelinemodus ausgesetzt, wobei eine von dem externen Speicher 4 in die Konvertierungstabelle (TLB) 15 einzugebender Adresseneintrag erhalten wird.
  • Ein derartiger Fehler in der Konvertierungstabelle wird durch eine interne Operation innerhalb der Speicherzugriffsvorrichtung 10 verursacht und kann jederzeit auftreten. Daher kann der Adressen-Erstausgabe-Zyklus zu dem Dateneingabe-/ausgabezyklus übertragen werden. Das heißt, ein interner Ausnahmezustand kann in dem Adressen- Erstausgabe-Zyklus (Teil 1 in Fig. 6) sowie in dem Adressenausgabe- und Dateneingabe-/ausgabezyklus vorliegen. In dem Zyklus, in dem eine Adresse zuerst ausgegeben wird, wird die Ausgabe von Adressen beendet und die Daten für die Anzahl der vorab abgerufenen Adressen werden bearbeitet. In diesem Fall wird der Adressen-Erstausgabe-Zyklus zu dem Dateneingabe-/ausgabezyklus übertragen. Weil in diesem Fall eine Serie von Buszugriffsoperationen durchgeführt wird, kann das Busbenutzungsrecht zurückgehalten werden, ohne dass der Zustand des Busbenutzungsrecht-Anforderungssignals HREQ# zu "inaktiv" geändert wird. Nach dem Eintrag der Konvertierungstabelle TLB wird der Adressenpipelinemodus wieder aufgenommen.
  • (5) Wenn ein Busausnahmezustand aufgetreten ist:
  • Beispielsweise wenn eine externe Schaltung eine abnormale Bedingung wie beispielsweise einen Bus-Time-Out, einen Paritätsfehler, eine Anforderung zum Zugriff auf eine verbotene Einheit etc. erkennt, wenn die Speicherzugriffsvorrichtung 10 auf einen Bus zugreift, wird ein Busfehlersignal BERR# (Busfehler) an einen Anschluss zum unmittelbaren Beenden des Adressenpipelinemodus angelegt.
  • Das Busfehlersignal BERR# wird erkannt, wenn ein Zugriffsantwortsignal DC# von dem Speicher 4 den aktiven Zustand anzeigt. Der Ausnahmezustand in einem Bus ist eine Ausnahmezustandantwort auf die Speicherzugriffsvorrichtung 10 und tritt unabhängig von einem ersten Adressenausgabeprozess etc. auf. Daher, wenn ein Ausnahmezustand in einem Bus aufgetreten ist, verursacht der Speicher nicht, dass das Zugriffsantwortsignal DC den aktiven Zustand anzeigt. Dementsprechend wird der Buszugriff unmittelbar beendet, ohne dass auf die Datenbearbeitung für die vorab abgerufenen Adressen gewartet wird.
  • Zusammenfassend sollten die folgenden Prozesse durchgeführt werden, um den Adressenpipelinemodus auszusetzen oder zu beenden.
  • (a) Derartige Signale, die externe Faktoren von dem Hauptprozessor betreffen, wie ein Busbenutzungsrecht- Freigabesignal BRL#, das in (1) beschrieben wurde, und ein Busbenutzungsrecht-Antwortsignal HACK#, das in (2) beschrieben wurde, sollten zusammen mit einem Zugriffsantwortsignal DC# in dem Zyklus erkannt bzw. detektiert werden, in dem ein Zugriffsantwortsignal DC# erkannt wird, so dass die Anzahl der Adressen des Speicherzugriffs gleich der Anzahl von Datenstücken sein kann.
  • (b) Signale, die interne Faktoren betreffen, wie beispielsweise einen internen Ausnahmezustand, der in (3) beschrieben wurde, und eine Anforderung für einen TLB-Eintrag, die in (4) beschrieben wurde, sollten mit einem Zugriffsantwortsignal DC# in dem Zyklus erkannt werden, in dem ein Zugriffsantwortsignal DC# erkannt wird. Es sollten jedoch nur die Faktoren in dem ersten Adressenausgabeprozess erkannt werden.
  • (c) Signale, die externe Faktoren von der Speichervorrichtung 3 betreffen, wie beispielsweise ein Ausnahmezustand in einem Bus, sollten in einem Zyklus erkannt werden, in dem ein Zugriffsantwortsignal DC# erkannt wird.
  • Fig. 13 zeigt die Konfiguration einer Speicherzugriffsvorrichtung, die die vorliegende Erfindung verwirklicht.
  • In Fig. 13 weist die Speicherzugriffsvorrichtung 10 gemäß der vorliegenden Ausführungsform die Steuerungseinheit 14, die einen Timing-Sequenzer 41 und eine Busbenutzungsrecht-Steuerungseinheit. 51 aufweist, eine Buszugriffs-Anforderungseinheit 21, eine Adressensteuerungseinheit 20 und eine Datensteuerungseinheit 71 auf. Die Hauptschaltung 17 ist mit der Ausnahmezustand- Erkennungsschaltung 13 ausgestattet.
  • In Fig. 13 ist ein externes Signal von der Speicherzugriffsvorrichtung 10, das auf einer negativen Logik basiert, durch ein angehängtes "#" dargestellt, während ein internes Signal, das auf einer positiven Logik basiert, durch ein angehängtes "X" dargestellt ist. Das heißt, ein Busbenutzungsrecht-Anforderungssignal HREQ# ist als HREQX dargestellt; ein Busbenutzungsrecht-Antwortsignal HACK# als HACKX; ein Busbenutzungsrecht-Freigabesignal BRL# als BRLX; ein Zugriffsantwortsignal DC# als DCX; und ein Busfehlersignal BERR# als BERRX. IBRX ist die Abkürzung für ein internes Busanforderungssignal; IERRX für ein internes Fehlersignal; und TLBREQX für ein TLB-Anforderungssignal. Jede Komponente wird nachstehend erläutert.
  • Fig. 14 zeigt die Konfiguration der Schaltung der Buszugriffs-Anforderungseinheit 21.
  • Weil die Länge eines Operanden von jeder Anweisung abhängt, hängt die Anzahl der vorgenommenen Buszugriffe von dem Prozess von jeder Anweisung ab. Die Buszugriffs- Anforderungseinheit 21 speichert die Anzahl von Buszugriffen in dem Anzahl-von-Buszugriffen-Register 22. Bei ihrem Basisbetrieb wird, nachdem ein Flipflop 27 gemäß dem Startanforderungssignal START von einer Anweisung oder einem vorherbestimmten Register gesetzt wird, ein Abwärtszähler 23 mit dem Ausgabesignal des Anzahl-von-Buszugriffen- Registers 22 gespeist. Wenn das Flipflop 27 gesetzt ist, empfängt der Abwärtszähler 23 die Anzahl der Buszugriffe, die in dem Anzahl von-Buszugriffen-Register 22 gespeichert ist, und verringert den Wert jedesmal, wenn auf den Bus SB zugegriffen wird. Dann zeigt ein Buszugriffs- Anforderungssignal IBRX, das heißt das Ausgangssignal des Flipflops 27, den aktiven Zustand an, bis die Anzahl der Buszugriffe, das heißt das Ausgangssignal des Abwärtszählers 23 eine "1" anzeigt. Wenn das Buszugriffs- Anforderungssignal IBRX den aktiven Zustand anzeigt, ist jede Komponente der Speicherzugriffsvorrichtung 10 aktiviert.
  • Somit wird die Anzahl der Buszugriffe, die in dem Anzahl von-Buszugriffen-Register 22 gespeichert ist, durch den Abwärtszähler 23 normalerweise jedesmal um 1 verringert, wenn auf einen Bus zugegriffen wird. Das heißt, ein den aktiven Zustand anzeigendes Tabellenausgangssignal TLBETX und ein Buszugriffssignal AOUT, das über die Adressenausgabe von der Adressensteuerungseinheit 61 informiert und den aktiven Zustand anzeigt, werden einem logischen Produkt 28 zugeführt, um ein logisches Produkt zu erhalten, und sie werden als ein aktiver Zustand ausgegeben. Beim Empfang des sich ergebenden aktiven Zustands wird der Wert um 1 verringert. Einen Zählerschritt bevor der Buszugriff beendet ist (wenn der Abwärtszähler 23 1 ausgibt), zeigt das Ausgangssignal eines Komparators 24 den aktiven Zustand an, das heißt den H-Pegel, der eine "Übereinstimmung" anzeigt, und das Flipflop 27 wird durch das OR-Gatter 25 zurückgesetzt, und dann zeigt das Buszugriffs- Anforderungssignal IBR# den inaktiven Zustand an.
  • Die Anzahl von Buszugriffen, die in dem Anzahl- von-Buszugriffen-Register 22 gespeichert ist, wird wie folgt bestimmt. Wenn die Bearbeitungseinheit 16 gemäß der Ausführungsform der vorliegenden Erfindung beispielsweise ein Vektorprozessor ist, bestimmt eine Bestimmungsschaltung 30 die Anzahl von Zugriffen entsprechend dem Wert von einem Vektorlängenregister (VLEN) 29, zum Speichern der Länge einer arithmetischen Operation, und einem Signal 64/32 zum Anzeigen der Breite des Busses, wie beispielsweise 32 Bit und 64 Bit. Der sich ergebende Wert wird in dem Anzahl-von- Buszugriffen-Register 22 gespeichert.
  • Zusätzlich zu dem Ausgangssignal des Komparators 24 werden ein internes Ausnahmezustandsignal IERR#X, ein Zugriffsantwortsignal DCX und ein Busfehlersignal BERRX dem Eingangsanschluss einer logischen Summe 25 durch ein logisches Produkt 26 zugeführt. Wenn die interne Ausnahmezustand-Erkennungseinheit 13 einen internen Ausnahmezustand erkennt, wird das Flipflop gemäß einem internen Ausnahmezustandsignal IERRX durch die logische Summe 25 zurückgesetzt. Wenn ein Busausnahmezustandfehler aufgetreten ist, wird das Flipflop 27 zurückgesetzt, wenn ein Busfehlersignal BERRX und ein Zugriffsantwortsignal DCX den aktiven Zustand anzeigen, und es wird veranlasst, dass das Buszugriffs-Anforderungssignal IBRX den inaktiven Zustand anzeigt. Wenn der Hauptprozessor 1 einen Bus benutzen muss oder wenn eine Anforderung für einen Eintrag in die Konvertierungstabelle TLB ausgegeben wird, wird der Buszugriff wieder aufgenommen, nachdem diese Prozesse abgeschlossen sind. Daher sollte das Buszugriffs-Anforderungssignal IBRX nicht den inaktiven Zustand anzeigen.
  • Fig. 15 zeigt die Konfiguration der Schaltung einer Ausnahmezustand-Erkennungseinheit 31.
  • Die Ausnahmezustand-Erkennungsschaltung 13 ist in der Hauptschaltung 17 vorgesehen und erkennt Ausnahmezustände, die in Einheiten 32-1-32-n für arithmetische Operationen, wie beispielsweise einem Addierer, einem Subtrahierer, einem Dividierer etc., erzeugt werden, die in der Hauptschaltung 17 vorgesehen sind. Beispielsweise schließen die Ausnahmezustände eine Division durch 0, die von einem Dividierer erkannt wird, eine ungültige arithmetische Operation, die einen Gleitkomma-Ausnahmezustand umfasst, der von jeder Einheit für eine arithmetische Operation etc. erkannt wird. Ein Ausnahmezustandsignal, das von jeder Einheit für eine arithmetische Operation erzeugt wird, wird einem OR-Gatter 33 zugeführt, in dem eine logische Summe erhalten wird, und als ein internes Ausnahmezustandsignal IERRX durch eine logische Summe 35 ausgegeben. Der Zustand des internen Ausnahmezustandsignals IERRX wird bis zur nächsten Aktivierung in einem Latchspeicher 34 gespeichert, das heißt bis ein Buszugriffs- Anforderungssignal IBRX ausgegeben wird.
  • Fig. 16 zeigt die Konfiguration der Schaltung des Timing-Sequenzers 41.
  • Der Timing-Sequenzer 41 weist Latchspeicher auf, um dem Zustand des Buszugriffs durch die Speicherzugriffsvorrichtung 1 zu entsprechen, und erzeugt und steuert die Bedingungen für die Veränderung des Zustands. In diesem Fall wird ein Adressenpipelinemodus zum Erstausgeben von vier Adressen angenommen; und es existieren drei Prozesse, wie in Fig. 6 dargestellt, das heißt, ein Adressen- Erstausgabeprozess (PA), ein Adressenausgabe- und Dateneingabe-/ausgabeprozess (PAD) und ein Dateneingabe- /ausgabeprozess (PD). Daher kann der Zustand des Buszugriffes durch die Speicherzugriffsvorrichtung 10 durch PA1- PA4, PAD, PD1-PD4, den Eintragszustand TLBE der Konvertierungstabelle TLB und den Leerlaufzustand Ti dargestellt werden. Daher sollte die Anzahl der Zustände des Adressen- Erstausgabeprozesses PA und des Dateneingabe- /ausgabeprozesses PD der Anzahl der vorab abgerufenen Adressen entsprechen. In Fig. 16 sind LTi, LPA1-LPA4, LPAD, LPD1-LPD4 und LTLBE Latchspeicher zum Speichern von Zuständen Ti, PA1-PA4, PAD, PD1-PD4 und TLBE. ti, pa1- pa4, pd1-pd4, und tlbe sind Ausgangssignale der Latchspeicher LTi, LPA1-LPA4, LPD1-LPD4 und LTLB. CL1-CL22 sind logische Schaltungen, die Bedingungen bestimmen. OR1- OR6 sind logische Summenschaltungen.
  • Somit wird eine Zustandsmaschine vorgesehen, mit Latchspeichern LTi, LPA1-LPA4, LPAD, LPD1-LPD4 und LTLBE, und die Veränderungs- bzw. Übergangsbedingungen COND1-COND8 werden durch eine Bedingungserzeugungs- Logikschaltung 42 bestimmt. Die Bedingungen werden durch Bedingungsbestimmungs-Logikschaltungen CL1-CL22 bestimmt, um zu bestimmen, welcher Zustand in Abhängigkeit vom Vorliegen/Fehlen einer Bedingung erhalten werden sollte. Daher wird der Latchspeicher von jedem Zustand in der Zustandsmaschine immer nur durch ein Taktsignal CLK betrieben. Die Ausgangssignale ti, pa1-pa4, pd1-pd4 und tlbe der Latchspeicher LTi, LPA1-LPA4, LPAD, LPD1-LPD4 und LTLBE sind Zustandssignale. Wenn sie den aktiven Zustand anzeigen, bedeutet dies, dass der Bus die Zustände Ti, PA1- PA4, PAD, PD1-PD4 und TLBE aufrechterhält.
  • Fig. 17 zeigt im Detail Bedingungsbestimmungsschaltungen CL1-CL22. Wenn der H-Pegel von dem vorhergehenden Latchspeicher angelegt wird, das heißt, wenn der vorhergehende Zustand "aktiv" ist, werden die AND-Gatter AND 11 und AND 12 auf ON bzw. EIN geschaltet und das Ausgangssignal der Bedingungserzeugungs-Logikschaltung 42 wird dem "Yes"- bzw. "Ja"-Anschluss zugeführt oder es wird durch den Inverter INV 10 invertiert und dem "No"- bzw. "Nein"- Anschluss zugeführt. Das heißt, wenn der vorhergehende Latchspeicher den H-Pegel ausgibt und die Steuersignale COND1-COND8 (die Steuersignale COND1-COND8, die von jeder der Bedingungsbestimmungsschaltungen CL1-CL22 eingegeben werden, unterscheiden sich voneinander), die von der Bedingungserzeugungs-Logikschaltung 42 ausgegeben werden, den H-Pegel anzeigen, wird der H-Pegel an den "Yes" - Anschluss ausgegeben. Wenn der vorhergehende Latchspeicher den H-Pegel anzeigt und das Ausgangssignal der Bedingungserzeugungs-Logikschaltung 42 den L-Pegel anzeigt, wird der H-Pegel dem inaktiven Anschluss zugeführt.
  • Fig. 18 zeigt im Detail die Konfiguration der Bedingungserzeugungs-Logikschaltung 42. Sie weist Puffer Buf 20, Buf 21, AND-Gatter AND 21-AND 25 und den Inverter INV 20 auf. Diese Schaltungen legen selektiv ein Busbenutzungsrecht-Erhaltensignal BUSGX, ein Buszugriffs- Anforderungssignal IBRX, ein internes Ausnahmezustandsignal IERRX, ein TLB-Eintrag-Anforderungssignal TLBREQX, ein Zugriffsantwortsignal DCX, ein Busbenutzungsrecht- Freigabesignal BRLX, ein Busbenutzungsrecht-Antwortsignal HACKX und ein Busfehlersignal BERRX an und geben Steuersignale COND1-COND7 aus.
  • Die Bedingungen zur Veränderung der Steuersignale COND1-COND7, die von der Bedingungserzeugungs- Logikschaltung 42 erzeugt werden, werden auf der Grundlage der folgenden Bedingungen bestimmt. Die Marke o ist hinzugefügt, um die Darstellung zu vereinfachen und zeigt den aktiven Zustand an, während die Marke den inaktiven Zustand anzeigt.
  • COND1 = BUSGXo
  • COND2 = IBRXo IERRX TLBREQX
  • COND3 = DCXo IBRXonBRLX HACKXo IERRX TLBREQX BERRX
  • COND4 = DCX
  • COND5 = COND3 COND4 COND6
  • COND6 = DCX BERRX
  • COND7 = DCX BERRX
  • COND8 = TLBREQXo
  • In Fig. 16, wenn auf einen Bus nicht zugegriffen wird, wird der Leerlaufzustand Ti wiederholt, die Speicherzugriffsvorrichtung 10 erhält ein Busbenutzungsrecht und ein Buszugriffsprozess wird aktiviert. Das heißt, wenn das Busbenutzungsrecht-Erhaltensignal BUSGX, das von der Busbenutzungsrecht-Steuerungseinheit 51 ausgegeben wird, den aktiven Zustand anzeigt, zeigt das Steuersignal COND1 für die Bedingungsbestimmungs-Logikschaltung CL1 den aktiven Zustand an, und der Zustand wird zu PA1 verändert.
  • In dem Zustand PAi (1 = 1 bis 4), wenn keine Ausnahmezustände oder keine Eintraganforderungen für die Konvertierungstabelle TLB vorliegen und das Buszugriffs- Anforderungssignal IBRX den aktiven Zustand anzeigt, zeigt das Steuersignal COND2 den aktiven Zustand an, und der Zustand wird zu PAi+1 (PAD wenn PA4) verändert. Anderenfalls wird der Zustand zu PDi geändert.
  • In dem Zustand PAD, wenn das Zugriffsantwortsignal DCX den inaktiven Zustand anzeigt, oder wenn die Ursache für die Probleme (1) bis (5), die oben beschrieben wurden, nicht aufgetreten sind, auch wenn das Zugriffsantwortsignal DCX und das Buszugriffs-Anforderungssignal IBRX den aktiven Zustand anzeigen, zeigen die Steuersignale COND4 und COND3 den aktiven Zustand an und der Zustand PAD wird aufrechterhalten. Wenn das Zugriffsantwortsignal DCX und das Busfehlersignal BERRX den aktiven Zustand anzeigen, zeigt das Steuersignal COND6 den aktiven Zustand an und der Zustand wird zu dem Leerlaufzustand Ti geändert. Anderenfalls zeigt das Steuersignal COND5 den aktiven Zustand an und der Zustand wird zu PD4 verändert.
  • In dem Zustand PDi, wenn das Zugriffsantwortsignal DCX den inaktiven Zustand anzeigt, zeigt das Steuersignal COND4 den aktiven Zustand an und der Zustand PDi wird aufrechterhalten. Wenn das Zugriffsantwortsignal DCX den aktiven Zustand anzeigt und das Busfehlersignal BERRX den inaktiven Zustand anzeigt, zeigt das Steuersignal COND7 den aktiven Zustand an und der Zustand wird zu PDi+1 verändert. Wenn das Zugriffsantwortsignal DCX das Busfehlersignal BERRX den aktiven Zustand anzeigen, zeigt das Steuersignal COND6 den aktiven Zustand an und der Zustand wird zu dem Leerlaufzustand Ti verändert.
  • Wenn ein interner Ausnahmezustand aufgetreten ist oder eine Anforderung für einen Eintrag in die Konvertierungstabelle TLB während des Adressen-Erstausgabe-Zyklus ausgegeben wird, sollte die Steuerung unmittelbar in den Dateneingabe-/ausgabezyklus eintreten. Daher wird der Zustand von PAi zu PDi geändert, in dem die Dateneingabe- /ausgabeoperationen für die Anzahl der vorab abgerufenen Adressen durchgeführt werden. Wenn beispielsweise die Anzahl der Buszugriffe kleiner als die der vorab abgerufenen Adressen ist, zeigt das Buszugriffs-Anforderungssignal IBRX den inaktiven Zustand während des Adressen-Erstausgabe- Zyklus an. Daher wird der Zustand von PAi zu PDi verändert, indem die Dateneingabe-/ausgabeoperationen für die Anzahl der vorab abgerufenen Adressen durchgeführt werden.
  • In dem Adressenausgabe- und Dateneingabe- /ausgabezyklus wird der Zyklus fortgeführt während das Buszugriffs-Anforderungssignal IBRX den aktiven Zustand anzeigt, er wird jedoch zu dem Dateneingabe-/ausgabezyklus übertragen, wenn das Buszugriffs-Anforderungssignal IBRX den inaktiven Zustand anzeigt. Beispielsweise wenn das Busbenutzungsrecht-Antwortsignal HACKX den inaktiven Zustand anzeigt obwohl das Buszugriffs-Anforderungssignal IBRX den aktiven Zustand in dem Zyklus (Zustand PAD) anzeigt, oder wenn das Busfreigabesignal BRLX den aktiven Zustand anzeigt, wird die Steuerung zu dem Dateneingabe- /ausgabezyklus (Zustand PD4) übertragen.
  • In dem Adressenausgabe- und Dateneingabe- /ausgabezyklus (Zustand PAD) und in dem Dateneingabe- /ausgabezyklus (Zustand PDi), wenn das Busfehlersignal BERRX den aktiven Zustand anzeigt wenn das Zugriffsantwortsignal DCX den aktiven Zustand anzeigt, wird die Steuerung zu dem Leerlaufzustand Ti übertragen, indem keine Aktionen bedingungslos erfolgen.
  • Fig. 19 zeigt die Konfiguration der Schaltung der Busbenutzungsrecht-Steuerungseinheit 51.
  • Die Busbenutzungsrecht-Steuerungseinheit 51 weist ein Flipflop 58 auf und das Busbenutzungsrecht- Anforderungssignal HREQX zeigt den aktiven/inaktiven Zustand gemäß den Einstellungen des Flipflops 58 an. Eine Gatterschaltung 59 liefert ein logisches Produkt aus dem Busbenutzungsrecht-Anforderungssignal HREQX und dem Busbenutzungsrecht-Antwortsignal HACKX. Wenn das Busbenutzungsrecht-Antwortsignal HACKX den aktiven Zustand anzeigt während das Busbenutzungsrecht-Anforderungssignal HREQX den aktiven Zustand anzeigt, wird bestimmt, dass ein Busbenutzungsrecht zugewiesen ist und das Busbenutzungsrecht- Erhaltensignal BUSGX zeigt den aktiven Zustand an.
  • Das Busbenutzungsrecht-Anforderungssignal HREQX kann den aktiven Zustand anzeigen, das heißt das Flipflop 58 kann gesetzt sein, wenn das Buszugriffs- Anforderungssignal IBRX den aktiven Zustand anzeigt während das Busbenutzungsrecht-Freigabesignal BRLX und das Busbenutzungsrecht-Antwortsignal HACKX den inaktiven Zustand anzeigen. Das logische Produkt aus diesen Signalen kann durch eine Gatterschaltung 52 und Inverter 52' und 52" erhalten werden. Das Buszugriffs-Anforderungssignal IBRX wird direkt angelegt und das Busbenutzungsrecht- Freigabesignal BRLX und das Busbenutzungsrecht- Antwortsignal HACKX werden über Inverter 52' und 52" angelegt. Auf diese Weise werden die Signale erhalten, die die oben beschriebenen Setzbedingungen erfüllen.
  • Das Busbenutzungsrecht-Anforderungssignal HREQX kann den inaktiven Zustand anzeigen, das heißt das Flipflop 58 kann zurückgesetzt sein, wenn das Buszugriffs- Anforderungssignal IBRX den inaktiven Zustand anzeigt, das Busbenutzungsrecht-Freigabesignal BRLX den aktiven Zustand anzeigt oder ein interner Ausnahmezustand erkannt wird und das interne Ausnahmezustandsignal IERRX den aktiven Zustand anzeigt während das Zugriffsantwortsignal DCX den aktiven Zustand anzeigt und das Zustandssignal PD1 den letzten Zyklus anzeigt, ausgegeben von dem Timing-Sequenzer 41. Weiterhin zeigt es den inaktiven Zustand an wenn das Zugriffsantwortsignal DCX und das Busfehlersignal BERRX den aktiven Zustand anzeigen während die Zustandssignale pda und pa1-pa4, die von dem Timing-Sequenzer 41 ausgegeben werden, den aktiven Zustand anzeigen, das heißt, wenn die Speicherzugriffsvorrichtung 1 in der Position ist, das Zugriffsantwortsignal DCX zu erkennen. Diese Bedingungen können durch Logiksummenberechnungsgatterschaltungen 53, 56 und Logikproduktberechnungsgatterschaltungen 54, 55 und 57 bestimmt werden. Das heißt, dass Buszugriffs- Anforderungssignal IBRX wird durch den Inverter 53' invertiert und die logische Summe des Busbenutzungsrecht- Freigabesignals BRLX und des internen Ausnahmezustandsignals werden erhalten und der Gatterschaltung 53 zugeführt. Das Ausgangssignal der Gatterschaltung 53 und ein Zustandssignal pd werden der Gatterschaltung 54 zugeführt, um ein logisches Produkt zu erhalten. Dann werden das Busfehlersignal BERRX und Zustandssignale pda und pa1-pa4 der Gatterschaltung 55 zugeführt, um das logische Produkt zu erhalten. Die logische Summe der Ausgangssignale der Gatterschaltungen 54 und 55 werden durch die Gatterschaltung 56 erhalten. Das logische Produkt aus dem Ausgangssignal der Gatterschaltung 56 und dem Zugriffsantwortsignal DCX wird über die Gatterschaltung 57 erhalten und ihr Ausgangssignal wird als das Zurücksetzsignal des Setz-/Zurücksetz- Flipflops gespeichert.
  • Somit bestimmt der aktive/inaktive Zustand des Busbenutzungsrecht-Freigabesignals BRLX den aktiveninaktiven Zustand des Busbenutzungsrecht- Anforderungssignals HREQX, während das Busbenutzungsrecht- Antwortsignal HACKX nicht veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQX den inaktiven Zustand anzeigt auch wenn das Busbenutzungsrecht-Antwortsignal HACKX den inaktiven Zustand anzeigt wenn das Busbenutzungsrecht-Anforderungssignal HREQX den aktiven Zustand anzeigt.
  • Fig. 20 zeigt die Konfiguration der Schaltung der Adressensteuerungseinheit 20.
  • Die Adressensteuerungseinheit 20 weist eine Adressenerzeugungseinheit 62, einen Selektor 63 und eine Ausgabeeinheit 64 auf. Im normalen Betrieb addiert die Adressenerzeugungseinheit 62 unter Verwendung eines Addierers 83 die logische Adresse, die in einem Logische- Adresse-Register 81 gesetzt ist, und den Offsetwert in einem Offsetregister 82 und setzt die Summe in ein Register 84 als eine Zwischenadresse. Das Ausgangssignal des Addierers 83 wird erneut als eine logische Adresse eingegeben. Die logische Adresse und ein Offsetwert werden sequenziell addiert, um aus dem Addierer 83 das Adresseninkrement durch den Offset auszugeben. Die höherrangige Adresse des Registers 84 wird in eine physikalische Adresse konvertiert, unter Verwendung der Konvertierungstabelle TLB, oder die niederwertigere Adresse wird als physikalische Adresse verwendet wie sie ist. Diese Adressen werden in einem physikalischen Adressenregister 87 gesetzt, von dem Selektor 63 selektiert und als ein Adressenausgangssignal (0) über die Ausgabeeinheit 64 zu dem Bus ausgegeben.
  • Das Ausgangssignal der Ausgabeeinheit 64 wird durch die Zustandssignale COND2 von dem Timing-Sequenzer 41, Pa1-Pa4, und das Zugriffsantwortsignal DCX gesteuert. Wenn Ausgabeadressen fertig sind, werden sie ausgegeben, entsprechend den Zustandssignalen PA1-PA4 und dem Zugriffsantwortsignal DCX das in dem Adressen-Erstausgabe- Zyklus den aktiven Zustand anzeigt, und entsprechend dem Zustandssignal PAD und dem Zugriffsantwortsignal DCX, das in dem Adressenausgabe- und Dateneingabe-/ausgabezyklus den aktiven Zustand anzeigt.
  • Wenn ein TLB-Fehler beim Start oder während des Buszugriffs auftritt, zeigt das TLB-Eintrag- Anforderungssignal TLBREQX den aktiven Zustand an, und der Timing-Sequenzer 41 wird benachrichtigt, um den Adressenpipelinemodus auszusetzen. In dem TLB-Eintragszyklus (Zustand TLBE) wird eine Adresse, die in dem Speicher 3 zu speichern ist, für den Eintrag von einer Adressenkonvertierungstabelle 86 zu der Konvertierungstabelle TLB, das heißt eine TLB- Eintragsadresse, erzeugt und in dem TLB- Eintragsadressenregister 88 gespeichert. Zu diesem Zeitpunkt selektiert der Selektor 63 das Ausgangssignal des TLB-Eintragsadressenregisters 88 und gibt eine Adresse über die Ausgabeeinheit 64 aus. Somit wird der Buszugriff durchgeführt und die Inhalte der Adressendaten werden in die Konvertierungstabelle TLB 85 durch den Datenbus eingegeben.
  • Das Ausgangssignal der Ausgabeeinheit 64 wird entsprechend dem Zustandssignal tlbe von dem Timing- Sequenzer 41 gesteuert und eine Adresse wird ausgegeben, entsprechend dem Zustandssignal tlbe, das den aktiven Zustand anzeigt.
  • Fig. 21 zeigt die Konfiguration der Schaltung der Datensteuerungseinheit 71.
  • Die Datensteuerungseinheit 71 weist die Eingabeeinheit 72 und die Ausgabeeinheit 73 auf und wird entsprechend den Zustandssignalen COND3 von dem Timing-Sequenzer 41 und dem Zugriffsantwortsignal DCX gesteuert. Die Zustandssignale COND3 sind Zustandssignale pad, die den Adressenausgabe- und Dateneingabe-/ausgabezyklus anzeigen, und die Zustandssignale pd1-pd4, die den Dateneingabe- /ausgabezyklus anzeigen.
  • Als nächstes wird der Betrieb der Speicherzugriffsvorrichtung 10 gemäß der vorliegenden Erfindung unten beschrieben. Als erstes wird der Fall, in dem der Hauptprozessor den Bus unmittelbar entsprechend einem Busbenutzungsrecht-Freigabesignal BRL#, etc. benutzen sollte, erläutert.
  • Fig. 22 ist ein Zeitablaufdiagramm zur Erläuterung des Betriebs, der durchgeführt wird, wenn der Hauptprozessor 1 den Bus benutzen sollte. In diesem Fall werden die Busbenutzungsrecht-Freigabesignale BRS# etc. erkannt, mit dem Zugriffsantwortsignal DC# in den Zyklus, in dem das Zugriffsantwortsignal DC# erkannt wird, so dass die Anzahl der Speicherzugriffsadressen gleich der Anzahl der zu bearbeitenden Datenstücke ist. Wenn es sich um den Adressenausgabe- und Dateneingabe-/ausgabezyklus handelt, wird die Adressenausgabe unmittelbar ausgesetzt und die Steuerung wird zu dem Dateneingabe-/ausgabezyklus übertragen. Wenn das Zugriffsantwortsignal DC# für die letzten Daten D5 entsprechend den vorab abgerufenen Adressen erkannt wird, wird der Adressenpipelinemodus ausgesetzt und es wird veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand anzeigt. Auch wenn das Busbenutzungsrecht-Freigabesignal BRL# den inaktiven Zustand anzeigt, kann eine Anforderung für ein Busbenutzungsrecht gemäß dem Busbenutzungsrecht-Anforderungssignal HREQ# nur ausgegeben werden, wenn irgendeine Anforderung für einen Speicherzugriff vorliegt, und der Buszugriff wird wieder aufgenommen, wenn ein Antwortsignal HACK# als Antwort auf die Anforderung zurückgegeben wird.
  • Wenn das Busbenutzungsrecht-Antwortsignal HACK# den inaktiven Zustand aufgrund einer Fehlfunktion des Busses anzeigt, werden das Busbenutzungsrecht-Freigabesignal BRS# etc. erkannt, mit dem Zugriffsantwortsignal DC# in dem Zyklus, in dem das Zugriffsantwortsignal DC# erkannt wird, so dass die Anzahl der Speicherzugriffsadressen gleich der Anzahl der zu bearbeitenden Datenstücke ist. Wenn es sich um den Adressenausgabe- und Dateneingabe-/ausgabezyklus handelt, wird die Adressenausgabe unmittelbar ausgesetzt und die Steuerung wird zu dem Dateneingabe-/ausgabezyklus übertragen. Wenn das Zugriffsantwortsignal DC# für die letzten Daten D5 entsprechend den vorab abgerufenen Adressen erkannt wird, wird der Adressenpipelinemodus ausgesetzt. In diesem Fall zeigt das Busbenutzungsrecht- Anforderungssignal HREQ# nicht den inaktiven Zustand an.
  • Der Fall, in dem ein Ausnahmezustand in der Speicherzugriffsvorrichtung 10 aufgetreten ist, wird nun erläutert.
  • Fig. 23 ist ein Zeitablaufdiagramm zur Erläuterung des Betriebs, der durchgeführt wird, wenn ein Ausnahmezustand in der Speicherzugriffsvorrichtung 10 aufgetreten ist.
  • In Fig. 23 zeigt das Busbenutzungsrecht- Anforderungssignal HREQ# den inaktiven Zustand an. Weil der Ausnahmezustand die Ursache für die zwangsweise Beendigung des Prozesses in diesem Fall ist, wird der Buszugriff nicht wiederaufgenommen.
  • Die Speicherzugriffsvorrichtung 10 führt die Adressenkonvertierung durch, wenn ein internes Ausnahmezustandsignal IERRX den aktiven Zustand in dem Adressen- Erstausgabe-Zyklus anzeigt. In diesem Fall wird der Adressen-Erstausgabe-Zyklus unmittelbar ausgesetzt, das Zugriffsantwortsignal DC# entsprechend den letzten Daten D2 wird erkannt und dann werden die Daten in die Konvertierungstabelle TLB eingegeben. Wenn der Eintrag abgeschlossen ist wird der Adressenpipelinemodus wieder aufgenommen. Während des oben beschriebenen Prozesses zeigt das Busbenutzungsrecht-Anforderungssignal HREQ# nicht den inaktiven Zustand an.
  • Der Fall, in dem ein externer Faktor von dem Speicher 4 einen Ausnahmezustand in einem Bus verursacht hat, wird als nächstes erläutert.
  • Fig. 24 ist ein Zeitablaufdiagramm zur Erläuterung des Betriebs, der durchgeführt wird, wenn ein Ausnahmezustand in einem Bus aufgetreten ist.
  • In diesem Fall wird ein Busfehlersignal BERR# in dem Zyklus erkannt, in dem ein Zugriffsantwortsignal DC# erkannt wird. Der Ausnahmezustand in einem Bus ist eine Ausnahmezustandantwort auf die Speicherzugriffsvorrichtung 10, und er tritt unabhängig von dem Adressen-Erstausgabe- Prozess etc. auf. Daher wird der Buszugriff unmittelbar beendet, ohne zu warten, bis die Daten entsprechend den vorab abgerufenen Adressen bearbeitet sind.
  • Fig. 25 zeigt die Konfiguration der Vektorprozessoreinheit (VPU) die die Speicherzugriffsvorrichtung 10 entsprechend der vorliegenden Erfindung aufweist.
  • Die Vektorprozessoreinheit (VPU) weist eine Vektoreinheit (VU) 121, eine Befehlspuffereinheit (CBU) 122, eine Steuerungseinheit (CU) 123, eine Adresseneinheit (AU) 124 und eine Bussteuerungseinheit (BU) 125 auf. Die Steuerungseinheit 14 in der Speicherzugriffsvorrichtung 10, die in Fig. 7 gezeigt ist, ist in der Vektoreinheit 121, der Befehlspuffereinheit 122, der Steuerungseinheit 123 und der Bussteuerungseinheit 125 enthalten. Die Adresseneinheit 124 weist die Ausgabeadressenerzeugungseinheit 11 und die Adressensteuerungseinheit 12 auf.
  • Die Vektoreinheit 121 führt eine Vektoroperation durch und weist eine Vektorpipeline 128 auf, die ein 8KB Vektorregister (VR) 126, ein 64-Byte Maskenregister (MR) 127-1, ein 128-Byte Skalarregister (SR) 127-2, einen Addierer 91, einen Multiplizierer 92, einen Dividierer 93, einen Graphikprozessor 94, einen Maskenprozessor 95 und einen Lade/Speicher-Kommunikationskanal 96 zum Speichern und Lesen der Register umfasst, und ist durch einen internen Bus 127-3 angeschlossen. Die Vektoreinheit 121 arbeitet als der wichtige Teil der Vektorprozessoreinheit.
  • Die Zentraleinheit, das heißt der Hauptprozessor 1, der in Fig. 7 dargestellt ist, und die Vektorprozessoreinheit VPU, das heißt die Bearbeitungseinheit 16, sind durch den Bus SB verbunden und Slave-Schnittstellen (HREQ#, HACK#, GBR#, etc.). Wenn der Hauptprozessor 1 Vektoroperationen etc. durchführt, wird auf die Vektorprozessoreinheit mit der folgenden Prozedur zugegriffen.
  • Fig. 26 ist eine Ansicht zur Erläuterung des Steuerungsprozesses zwischen dem Hauptprozessor 1 und der VU. In Phase P1 führt der Hauptprozessor 1 ein Steuerungsprogramm (VU-Steuerung) durch, das in dem Speicher 4 vorgespeichert ist, und dann initialisiert er interne Register in der Vektorprozessoreinheit 81, beispielsweise ein Register für die Vektorlänge etc. Ein Host- Hauptprozessorprogrammbereich in dem Speicher 4 weist einen Operationscodebereich auf, der einen Soft-Treiber, einen Skalarprozess und Host-Hauptprozessorsteuerungsprogramme und einen Operandenbereich einschließt. Dann aktiviert der Hauptprozessor 1 die Vektorprozessoreinheit, wenn die Initialisierung abgeschlossen ist. Dies ermöglicht es der Vektorprozessoreinheit VPU einen Operationscode in dem VU- Programmbereich in Phase P2 zu lesen und ihn in den Befehlspuffer zu lesen. Das heißt, ein Befehl wird geladen. Dann, in Phase P3, codiert der Befehlspuffer P3 den geladenen Befehl und gibt die Anweisung entsprechend jeder Operation an ein internes Register 110 und das Scalarregister 87-2 aus. Dann, in Phase P4, führt die Vektorprozessoreinheit 81 Zieloperationen parallel und Zielprozesse in dem Pipelinemodus durch. Zu diesem Zeitpunkt, in dem Skalarprozess, werden die Daten des Operanden in dem VPU- Programmbereich durch das Scalarregister 87-2 geladen und das durch die Einheit 88 für arithmetische Operationen erhaltene Ergebnis wird in dem Operandenbereich gespeichert. Im Gegensatz hierzu wird es bei dem Vektorprozess durch das Vektorregister geladen und gespeichert.
  • Wenn der vorstehend beschriebene Prozess abgeschlossen ist greift der Hauptprozessor 1 auf ein Register in der Vektorprozessoreinheit 81 zu, liest den Abschlusszustand und bestimmt, ob der Prozess normal beendet wurde oder nicht.
  • Beim oben erläuterten Betrieb wird auf einen Speicher durch die Speicherzugriffsvorrichtung 10 in den Skalar- und den Vektorprozessen gemäß der Ausführungsform der vorliegenden Erfindung zugegriffen. Zu diesem Zeitpunkt, wenn ein Busbenutzungsrecht-Freigabesignal BRL#, das den aktiven Zustand anzeigt, von dem Hauptprozessor 1 etc. angelegt wird, werden die Busbenutzungsrecht- Freigabesignale BRS# etc. mit dem Zugriffsantwortsignal DC# in dem Zyklus erkannt, in dem das Zugriffsantwortsignal DC# erkannt wird, so dass die Anzahl der Speicherzugriffsadressen der der zu bearbeitenden Datenstücke gleicht. Wenn es sich um den Adressenausgabe- und Dateneingabe- /ausgabezyklus handelt, wird die Adressenausgabe unmittelbar ausgesetzt und die Steuerung wird zu dem Dateneingabe- /ausgabezyklus übertragen. Wenn das Zugriffsantwortsignal DC# für die letzten Daten D5, die den vorab abgerufenen Adressen entsprechen, erkannt wird, wird der Adressenpipelinemodus ausgesetzt und es wird veranlasst, dass das Busbenutzungsrecht-Anforderungssignal HREQ# den inaktiven Zustand anzeigt.
  • Die vorliegende Erfindung ist vorstehend unter Bezugnahme auf die Vektorprozessoreinheit detailliert beschrieben. Sie ist jedoch nicht auf eine Vektoreinheit beschränkt, sondern kann auf eine Einheit angewendet werden, die direkt auf einen Bus zugreifen kann, nachdem sie ein Busbenutzungsrecht erhalten hat, unabhängig vom Hauptprozessor 1.
  • Wie dies vorstehend beschrieben wurde, wird, wenn eine Bearbeitungseinheit bezüglich dem Systembus nach der Ausgabe eines Busbenutzungsrecht-Anforderungssignals unwirksam geworden ist, eine Anforderung für ein Busbenutzungsrecht freigegeben, nachdem die Zuweisung des Rechts zur Benutzung des Systembusses bestätigt ist. Daher kann eine Busbenutzungsrecht-Anforderung von irgendeinem der anderen Prozessoren von dem Moment an zurückgewiesen werden, zu dem eine Bearbeitungseinheit bezüglich dem Systembus unwirksam wurde, bis zu dem Moment, zu dem die Busbenutzungsrecht-Anforderung freigegeben wird.
  • Weil eine Busbenutzungsrecht-Anforderung gemäß einem Busbenutzungsrecht-Erlaubnissignal freigegeben wird, das von dem Hauptprozessor ausgegeben wird, kann die Busarbitration einfach durchgeführt werden, nur durch das Herstellen einer logischen Schaltung, die dazu in der Lage ist, eine vorherbestimmte Logik aus verschiedenen Signalen zu erzeugen.
  • Daher kann eine Fehlfunktion, die durch einen Fehler während der Busarbitration auftritt, erfolgreich vermieden werden, und die spezielle externe Schaltung, die zur Arbitration verwendet wird, kann wirksam vereinfacht werden.
  • Weiterhin wird, gemäß der vorliegenden Erfindung, wenn eine Anforderung zum Unterbrechen oder Beenden des in dem Adressenpipelinemodus gesteuerten Speicherzugriffs von einer internen oder externen Einheit zu der Speicherzugriffsvorrichtung ausgegeben wird, der Adressenpipelinemodus durch die Steuerungseinheit zwangsweise beendet oder ausgesetzt. Daher ergibt die vorliegende Erfindung eine Speicherzugriffsvorrichtung, die dazu in der Lage ist, die Gesamtleistung und die Zuverlässigkeit des Computersystems zu verbessern.
  • Weiterhin, gemäß der vorliegenden Erfindung, wenn ein Busbenutzungsrecht-Anforderungssignal von der Zentraleinheit empfangen wird wenn das Zugriffsantwortsignal den aktiven Zustand anzeigt während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, beendet die Steuerungseinheit den Eingabe-/Ausgabeprozess der Daten entsprechend der Anzahl der vorab abgerufenen Adressen. Dann wird der in dem Adressenpipelinemodus gesteuerte Speicherzugriff ausgesetzt und das Busbenutzungsrecht-Anforderungssignal zeigt der Zentraleinheit den inaktiven Zustand an. Daher setzt die Zentraleinheit zwangsweise den Adressenpipelinemodus für die Speicherzugriffsvorrichtung aus, ohne mit dem ausgegebenen Busbenutzungsrecht-Anforderungssignal zu warten, und die Steuerung wird auf den nächsten Prozess übertragen. Daher kann die Leistung des gesamten Systems deutlich verbessert werden.
  • Gemäß der vorliegenden Erfindung, wenn ein Busbenutzungsrecht-Antwortsignal von der Zentraleinheit den inaktiven Zustand aufgrund einer Fehlfunktion eines Busses anzeigt, während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, beendet die Steuerungseinheit den Eingabe-/Ausgabeprozess der Daten für die Anzahl der vorab abgerufenen Adressen. Dann wird der in dem Adressenpipelinemodus gesteuerte Speicherzugriff ausgesetzt. Daher kann die Zuverlässigkeit des Systems deutlich verbessert werden, ohne dass ein Konflikt für einen Bus mit Signalen erzeugt wird, die von anderen Einheiten auf einen Bus ausgegeben werden, während der Buszugriff fortgeführt wird. Weiterhin, gemäß der vorliegenden Erfindung, wenn ein internes Ausnahmezustandsignal empfangen wird während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, beendet die Steuerungseinheit den Dateneingabe-/ausgabeprozess für die Anzahl der vorab abgerufenen Adressen. Dann wird der in dem Adressenpipelinemodus gesteuerte Speicherzugriff ausgesetzt und das Busbenutzungsrecht-Anforderungssignal für die Zentraleinheit zeigt den inaktiven Zustand an. Daher wird ein Fehlerbehebungsprozess nicht verzögert, indem der Buszugriff mit einem Ausnahmezustand zurückgehalten wird, und die Zuverlässigkeit des Systems kann deutlich verbessert werden.
  • Auch bei der vorliegenden Erfindung, wenn ein Eintrag-Anforderungssignal empfangen wird, während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, beendet die Steuerungseinheit den Dateneingabe- /ausgabeprozess für die Anzahl der vorab abgerufenen Adressen. Dann wird der in dem Adressenpipelinemodus gesteuerte Speicherzugriff ausgesetzt. Daher kann der Adressenpipelinemodus zwangsweise ausgesetzt werden.
  • Gemäß der vorliegenden Erfindung, wenn, während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, erkannt wird, dass das Busfehlersignal von einem Bus den aktiven Zustand anzeigt, wenn das Zugriffsantwortsignal den aktiven Zustand anzeigt, beendet die Speichereinheit unmittelbar den in dem Adressenpipelinemodus gesteuerten Speicherzugriff. Daher kann der Adressenpipelinemodus zwangsweise beendet werden.

Claims (10)

1. Speicherzugriffsvorrichtung (10), die mit einer Zentraleinheit (1) und Speichermitteln (4) durch einen Bus (SB) verbunden ist, um auf einen Speicher in den Speichermitteln (4) in einem Adressenpipelinemodus zuzugreifen, in dem Adressen unabhängig von der Zentraleinheit (1) zuerst ausgegeben werden, aufweisend:
Adressenerzeugungsmittel (11) zum Erzeugen einer Adresse, die beim Zugreifen auf einen Speicher verwendet wird, wobei eine nachfolgende Adresse zum Zugreifen auf einen Speicher im Adressenpipelinemodus erzeugt wird, bevor ein Datenzyklus zum Empfangen oder Ausgeben von der aktuellen Adresse entsprechenden Daten abgeschlossen ist;
Adressensteuerungsmittel (12) zum Ausgeben einer erzeugten Adresse zu dem Bus (SB); und
Steuerungsmittel (14) zum Aussetzen oder Beenden des Speicherzugriffs, der in dem Adressenpipelinemodus gesteuert wird, aufweisend:
Mittel zum Empfangen einer Anforderung, extern von der Speicherzugriffsvorrichtung (10), um den Speicherzugriff auszusetzen oder zu beenden;
Mittel zum Empfangen einer Anforderung, intern zu der Speicherzugriffsvorrichtung (10), um den Speicherzugriff auszusetzen oder zu beenden;
gekennzeichnet durch:
Mittel zum Steuern der Adressensteuerungsmittel (12), derart, dass, wenn eine der internen oder der externe Anforderung zum Aussetzen oder Beenden des Speicherzugriffs empfangen wird, Adressenausgaben durch die Adressensteuerungsmittel (12) unmittelbar ausgesetzt oder beendet werden; und
Mittel zum Beenden der Eingabe oder der Ausgabe von Daten, wenn eine der internen oder der externen Anforderung für die Beendigung des Speicherzugriffs empfangen wird, nachdem Datenzyklen, die Adressen entsprechen, die von den Adressensteuerungsmitteln ausgegeben wurden, abgeschlossen wurden.
2. Speicherzugriffsvorrichtung nach Anspruch 1, bei der,
wenn ein Bus (SB) unmittelbar benutzt werden sollte und die Speicherzugriffsvorrichtung (10) ein Busbenutzungsrecht hat, die Zentraleinheit (1) ein Busbenutzungsrecht-Anforderungssignal (BRL#) ausgibt, das zum Zugreifen auf einen Speicher verwendet wird,
die Speichermittel (4) ein Zugriffsantwortsignal (DC#) beim Abschluss des Speicherzugriffs auf eine Adresse ausgeben,
beim Empfang des Busbenutzungsrecht- Anforderungssignals (BRL#) von der Zentraleinheit (1), wenn das Zugriffsantwortsignal (DC#) den aktiven Zustand anzeigt, während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, die Steuerungsmittel (14) einen Eingabe-/Ausgabeprozess der Daten entsprechend der Anzahl der vorab abgerufenen Adressen abschließen, den in dem Adressenpipelinemodus gesteuerten Speicherzugriff aussetzen und veranlassen, dass das Busbenutzungsrecht-Anforderungssignal (HREQ#) den inaktiven Zustand der Zentraleinheit (1) anzeigen.
3. Speicherzugriffsvorrichtung nach Anspruch 1 oder 2, bei der
die Zentraleinheit (1) ein Busbenutzungsrecht- Antwortsignal (HACK#) ausgibt, wenn sie ein Busbenutzungsrecht-Anforderungssignal (HREQ#) von der Speicherzugriffsvorrichtung (10) empfängt,
die Speichermittel (4) ein Zugriffsantwortsignal (DC#) beim Abschluss des Speicherzugriffs auf eine Adresse ausgeben,
wenn das Busbenutzungsrecht-Antwortsignal (HACK#) von der Zentraleinheit (1) den aktiven Zustand aufgrund einer Fehlfunktion eines Busses (5) während des in dem Adressenpipelinemodus gesteuerten Speicherzugriffs anzeigt, die Steuerungsmittel (14) einen Eingabe-/Ausgabeprozess der Daten entsprechend der Anzahl von vorab abgerufenen Adressen abschließen und dann den in dem Adressenpipelinemodus gesteuerten Speicherzugriff aussetzen.
4. Speicherzugriffsvorrichtung nach einem der vorhergehenden Ansprüche, bei der
die Adressenerzeugungsmittel (11) eine Konvertierungstabelle (15) zum Konvertieren einer logischen Adresse in eine physikalische Adresse aufweisen, und die Konvertierungstabelle (15) ein Eintrag-Anforderungssignal (TLBREQX) ausgibt, wenn keine entsprechende physikalische Adresse in der Tabelle vorliegt,
beim Empfang eines Eintrag-Anforderungssignals (TLBREQX) zu der Konvertierungstabelle (15) während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, die Kontrollmittel (14) einen Eingabe-/Ausgabeprozess der Daten entsprechend der Anzahl der vorab abgerufenen Adressen abschließen und dann den in dem Adressenpipelinemodus gesteuerten Speicherzugriff aussetzen.
5. Speicherzugriffsvorrichtung nach einem der vorhergehenden Ansprüche, bei der
die Speichermittel (4) ein Zugriffsantwortsignal (DC#) beim Abschluss des Speicherzugriffs auf eine Adresse ausgeben,
wenn die Steuerungsmittel (14) erkennen, dass ein Busfehlersignal (BERR#) den aktiven Zustand anzeigt, was zeigt, dass ein Fehler in einem Bus aufgetreten ist, wenn das Zugriffsantwortsignal (DC#) den aktiven Zustand anzeigt während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, der in dem Adressenpipelinemodus gesteuerte Speicherzugriff unmittelbar beendet wird.
6. Speicherzugriffsvorrichtung nach einem der vorhergehenden Ansprüche, bei der
die Hauptschaltung (17) Ausnahmezustanderkennungsmittel (13) aufweist, um ein internes Ausnahmezustandsignal (IERRX) auszugeben, wenn ein interner Ausnahmezustand erkannt wird,
beim Empfang des internen Ausnahmezustandsignals (IERRX) während der Speicherzugriff in dem Adressenpipelinemodus gesteuert wird, die Steuerungsmittel (14) einen Eingabe-/Ausgabeprozess der Daten entsprechend der Anzahl von vorab abgerufenen Adressen abschließen und dann den in dem Adressenpipelinemodus gesteuerten Speicherzugriff beenden, und veranlassen, dass das Busbenutzungsrecht- Anforderungssignal (HREQ#) den inaktiven Zustand der Zentraleinheit (1) anzeigt.
7. Speicherzugriffsvorrichtung nach Anspruch 6, bei der
die Steuerungsmittel (14) weiterhin aufweisen:
Busbenutzungsrecht-Steuerungsmittel (51) zum Ausgeben des Busbenutzungsrecht-Anforderungssignals (HREQ#) zu der Zentraleinheit (1), Empfangen des Busbenutzungsrecht-Antwortsignals (HACK#) von der Zentraleinheit, als Antwort auf das Busbenutzungsrecht-Anforderungssignal (HREQ#) und ein Busbenutzungsrecht-Anforderungssignal (BRL#) von der Zentraleinheit (1), wenn sie ein Busbenutzungsrecht reservieren, und Steuern eines Busbenutzungsrechts,
Timing-Sequenzermittel (41) zum Empfangen eines Zugriffsantwortsignals (DC#) von den Speichermitteln (4), eines Busfehlersignals BERR#, das anzeigt, dass ein Ausnahmezustand in einem Bus aufgetreten ist, eines internen Ausnahmezustandsignals IERRX, das anzeigt, dass ein Fehler in dem Hauptsystem aufgetreten ist, eines Buszugriff-Anforderungssignals IBRX, das eine Anforderung für einen Buszugriff als Folge der von dem Hauptsystem durchgeführten arithmetischen Operation anzeigt, und eines Busbenutzungsrecht-Erhaltensignals BUSGX von den Busbenutzungsrecht-Steuerungsmitteln (51), und zum Managen der Sequenz des Zugriffs auf einen Bus entsprechend den Signalen.
8. Speicherzugriffsvorrichtung nach Anspruch 6, bei der
die Speicherzugriffsvorrichtung (10) weiterhin Adressenerzeugungsmittel (62) aufweist, um eine erzeugte Adresse in eine Adresse in den Speichermitteln (4) unter Verwendung einer Tabelle (85) zu konvertieren,
der Timing-Sequenzer (41) ein Tabelleneintrag- Anforderungssignal TLBREQX empfängt, wenn keine konvertierten Adressen von der Tabelle gespeichert sind, und die Sequenz entsprechend den Signalen steuert.
9. Informationsverarbeitungssystem (10), aufweisend:
eine Zentraleinheit (1),
einen gemeinsamen Bus;
Speichermittel (4); und
eine Speicherzugriffsvorrichtung nach einem der vorhergehenden Ansprüche, um über den gemeinsamen Bus (SB), auf Speichermittel (4) in einem Adressenpipelinemodus zuzugreifen, in dem Adressen vorab abgefragt werden, unabhängig von der Zentraleinheit (1).
10. Informationsverarbeitungssystem nach Anspruch 9, bei dem
die Speicherzugriffsvorrichtung in den Bearbeitungsmitteln (16, 19) vorgesehen ist, die eine Hauptschaltung zum Durchführen einer Vektoroperation aufweisen, die mit der Adressenpipelinesteuerung in Verbindung steht, wenn durch die Speicherzugriffsvorrichtung (10) auf sie zugegriffen wird.
DE69231720T 1991-12-10 1992-12-10 Speicherzugriffsvorrichtung mit Adresspipeline Expired - Fee Related DE69231720T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP03326129A JP3103174B2 (ja) 1991-12-10 1991-12-10 メモリアクセス装置
JP01556592A JP3244746B2 (ja) 1992-01-30 1992-01-30 情報処理装置

Publications (2)

Publication Number Publication Date
DE69231720D1 DE69231720D1 (de) 2001-04-12
DE69231720T2 true DE69231720T2 (de) 2001-06-21

Family

ID=26351739

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69231720T Expired - Fee Related DE69231720T2 (de) 1991-12-10 1992-12-10 Speicherzugriffsvorrichtung mit Adresspipeline

Country Status (4)

Country Link
US (1) US5699553A (de)
EP (2) EP1071020A2 (de)
KR (1) KR960003065B1 (de)
DE (1) DE69231720T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102788B (fi) * 1995-09-14 1999-02-15 Nokia Telecommunications Oy Yhteisen levydatan hallinta kahdennetussa tietokoneyksikössä
KR100214644B1 (ko) * 1996-12-31 1999-08-02 구자홍 프로세서의 메모리 다중 액세스 회로
US6219758B1 (en) * 1998-03-24 2001-04-17 International Business Machines Corporation False exception for cancelled delayed requests
US7007181B2 (en) * 2002-04-23 2006-02-28 Oki Electric Industry Co., Ltd. Microcontroller
US20060136696A1 (en) * 2004-12-16 2006-06-22 Grayson Brian C Method and apparatus for address translation
KR101401198B1 (ko) * 2008-05-29 2014-05-28 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 교체가능한 프린터 구성요소

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5836377B2 (ja) * 1980-04-11 1983-08-09 パナフアコム株式会社 共用バスの切離し方式
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
DE3789176T2 (de) * 1986-08-12 1994-09-08 Hitachi Ltd Mikroprozessor zur Datentransferwiederholung.
DE3735828C2 (de) * 1986-10-24 1994-11-10 Hitachi Ltd Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
US5063497A (en) * 1987-07-01 1991-11-05 Digital Equipment Corporation Apparatus and method for recovering from missing page faults in vector data processing operations
US4879676A (en) * 1988-02-29 1989-11-07 Mips Computer Systems, Inc. Method and apparatus for precise floating point exceptions
US5276836A (en) * 1991-01-10 1994-01-04 Hitachi, Ltd. Data processing device with common memory connecting mechanism

Also Published As

Publication number Publication date
US5699553A (en) 1997-12-16
EP0550976A3 (en) 1993-09-22
KR930013949A (ko) 1993-07-22
DE69231720D1 (de) 2001-04-12
KR960003065B1 (ko) 1996-03-04
EP0550976A2 (de) 1993-07-14
EP1071020A2 (de) 2001-01-24
EP0550976B1 (de) 2001-03-07

Similar Documents

Publication Publication Date Title
DE69319763T2 (de) Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem
DE69028066T2 (de) Kombinierte synchrone und asynchrone Speichersteuerung
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE69128565T2 (de) Mikrorechner ausgestattet mit einer DMA-Steuerung
DE69636452T2 (de) Mehrprozessor-cachespeicherkohärenzprotokoll für einen lokalbus
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE69427421T2 (de) Speichersteuereinheit mit hohem Grade der Gleichzeitigkeit und Arbeitsteilung
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE69032611T2 (de) Anordung und Verfahren zum Verbinden eines Datenprozessors mit einem unbekannten Informationsverarbeitungssystem
DE69329904T2 (de) Echtzeitverarbeitungssystem
DE69312192T2 (de) Aufteilung des buszugriffs zwischen mehreren endlichen automaten mit minimaler wartezeit und priorisierung von ähnlichen zyklustypen
DE69627950T2 (de) Fifo-Puffer mit gesperrtem Austausch
DE69030640T2 (de) Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
DE69307717T2 (de) Priorisierung von mikroprozessoren in multiprozessorrechnersystemen
DE69132480T2 (de) Prozessor, der Speicherzugriffe parallel zu Cache-Speicherzugriffen durchführt und Verfahren dafür
DE3783370T2 (de) Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung.
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE68928519T2 (de) Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen
DE69427606T2 (de) Rechnersystem, das den Schreibschutzstatus im Systemverwaltungszustand übergeht
DE3752017T2 (de) Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE3933849A1 (de) Prozessorgesteuerte schnittstelle
DE10393727T5 (de) Prozessor-Cache-Speicher als RAM zur Ausführung von Boot-Code
DE19723065A1 (de) Halbleitereinrichtung und Computersystem
DE69228684T2 (de) Verfahren und gerät zur erweiterung eines rückwandverbindungsbusses ohne zusätzliche byte-selektionssignale

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee