DE3751391T2 - Verfahren und Vorrichtung zur Speichersteuerung. - Google Patents

Verfahren und Vorrichtung zur Speichersteuerung.

Info

Publication number
DE3751391T2
DE3751391T2 DE3751391T DE3751391T DE3751391T2 DE 3751391 T2 DE3751391 T2 DE 3751391T2 DE 3751391 T DE3751391 T DE 3751391T DE 3751391 T DE3751391 T DE 3751391T DE 3751391 T2 DE3751391 T2 DE 3751391T2
Authority
DE
Germany
Prior art keywords
access request
access
access requests
units
identification
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
DE3751391T
Other languages
English (en)
Other versions
DE3751391D1 (de
Inventor
Tadaaki Isobe
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.)
Hitachi Ltd
Original Assignee
Hitachi 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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3751391D1 publication Critical patent/DE3751391D1/de
Application granted granted Critical
Publication of DE3751391T2 publication Critical patent/DE3751391T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

  • Diese Erfindung bezieht sich auf eine Speichersteuerungsvorrichtung sowie Verfahren für ein Computersystem, das insbesondere für das synchrone und parallele Bearbeiten einer Vielzahl von Zugriffsanfragesteuerungseinheiten und für die Sicherstellung der Sequenz oder Reihenfolge zwischen Zugriffsanfragen geeignet ist, welche sequentiell an einen Speicher ausgegeben werden.
  • Bei der konventionellen Speichersteuerung werden Zugriffsanfragen von einer Vielzahl von Zugriffsanfragesteuerungseinheiten an einen Speicher ausgegeben, der aus einer Vielzahl von unabhängig ansprechbaren Speichereinheiten (Speicherbänken) besteht, wie unten mit Bezug auf Fig. 1 beschrieben werden wird.
  • In Fig. 1 sind Zugriffsanfragesteuerungseinheiten 20A bis 20D Quellen für die Ausgabe von Zugriffsanfragen. Zugriffsanfragestapeleinheiten 21A bis 21D stapeln jeweils Zugriffsanfragen, die von jeder der Zugriffsanfragesteuerungseinheit 20A bis 20D ausgegeben wurden. Jede der Stapeleinheiten sendet eine gestapelte Zugriffsanfrage in der Reihenfolge der Stapelung an einen der Zugriffsanfrageprioritätsentscheider 22A bis 22D je nach Adresseninformation, die in der Zugriffsanfrage enthalten ist. Ein Speicher 23 besteht aus Speicherbänken 23A bis 23D.
  • Wenn man z.B. die Zugriffsanfragesteuerungseinheit 20A nimmt, so werden Zugriffsanfragen von der Einheit 20A in einem Stapelschaltkreis 211 der Zugriffsanfragestapeleinheit 21A unter der Anleitung einer Steuerschaltung 210 gespeichert, eine gespeicherte Zugriffsanfrage wird an einen der Zugriffsanfrageprioritätsentscheider 22A bis 22D entsprechend einer Speicherbank, die durch eine Adresse in der Zugriffsanfrage bezeichnet wurde, abgesendet. Jeder Zugriffsanfrageprioritätsentscheider 22A, 22B, 22C oder 22D wählt eine der Zugriffsanfragen aus, die von den Zugriffsanfragestapeleinheiten 21A bis 21D abgesendet wurden, und sendet eine ausgewählte Zugriffsanfrage an den Speicher 23. Die Auswahl kann aufgrund des Prioritätsgrades erfolgen, welcher unter den Zugriffsanfragen vorgegeben ist. Der Prioritätsgrad kann auf Wunsch geändert werden, um die Zugriffsanfragen von den Zugriffsanfragestapeleinheiten so gleichmäßig wie möglich zu behandeln. Zum Beispiel können die Zugriffsanfragestapeleinheiten 21A bis 21D hierarchisch in der Ordnung 21A, 21B, 21C und 21D beim ersten konkurrierenden Zugriffszyklus, in der Reihenfolge 21B, 21C, 21D und 21A im nächsten konkurrierenden Zugriffszyklus und in der Reihenfolge 21C, 21D, 21A und 21B für den darauffolgenden konkurrierenden Zugriffszyklus angeordnet sein.
  • In einem weiteren Beispiel kann die Reihenfolge 21A, 21B, 21C und 21D und die Reihenfolge 21D, 21C, 21B und 21A abwechselnd wiederholt werden, um eine gleichmäßige Behandlung zu erreichen.
  • Es läßt sich damit regulieren, daß eine Vielzahl von Zugriffsanfragen an einem Entscheider, z.B. 22A pro Zeitintervall anliegen kann und Zugriffsanfragen seriell eine nach der anderen von dem Entscheider an eine Speicherbank, z.B. 23A, abgesendet werden können.
  • Wenn man z.B. Zugriffsanfrageprioritätsentscheider 22A nimmt, dann prüft und entscheidet eine Prioritätsentscheidungslogik 220 über die Zugriffsanfragen, die von den Zugriffsanfragestapeleinheiten 21A bis 21D an den Entscheider 22A geschickt wurden, in bezug auf ihre Priorität und überträgt eine unter den Zugriffsanfragen ausgewählte an die Speicherbank 23A des Speichers 23. Die anderen nicht ausgewählten Zugriffsanfragen werden für diese Zeit am Eingang der Prioritätsentscheidungslogik 220 angehalten.
  • Die Zugriffsanfragen werden von der Zugriffsanfragesteuerungseinheit 20A übertragen bis der Stapel 211 der Zugriffsanfragestapeleinheit 21A aufgefüllt ist. Wenn eine Steuerschaltung 221 z.B. des Entscheiders 22A ein Signal 213 überträgt, das anzeigt, daß eine Zugriffsanfrage 212 während des vorangehenden Maschinenzyklus ausgegeben wurde (ein periodisch vorgegebenes Zeitintervall, während dessen eine Gruppe von sequentiellen Schaltkreisen, die das System bilden, synchron arbeitet) und durch die Logik 220 ausgewählt wurde und daß die Stapeleinheit 21A das Signal 213 empfängt, dann wird die nachfolgende Zugriffsanfrage 212 von der Stapeleinheit 21A abgesendet. Dies garantiert, daß in der Reihenfolge der Zugriffsanfragen, die von der Zugriffsanfragesteuerungseinheit 20A ausgegeben werden, Datenelemente, auf die zugegriffen wurde, aus dem Speicher 23 ausgelesen werden können.
  • Zusätzlich zu dem Speichersteuerungsgerät nach Stand der Technik, wie er oben beschrieben wurde, wurde ein anderes Speichersteuerungsgerät in JP-A-60-136849 vorgeschlagen, gemäß dem in Hinblick auf Verbesserung der Leistungsfähigkeit des gesamten Systems Zugriffsanfragen, die von einer Zugriffsanfragesteuerungse inheit ausgegeben werden sollen, je nach Reihenfolge in Gruppen mit a Zugriffsanfragen (a ist eine ganze Zahl) in einer Einheit unterteilt werden, wobei die Zugriffsanfragen einer Gruppe jeweils eine Zugriffsanfrageidentifizierung zwischen 0 und (a - 1) haben und dann von der Zugriffsanfragesteuerungseinheit ausgegeben werden, und ein Zugriffsanfrageprioritätsentscheider, der direkt an eine Speichereinheit gekoppelt ist, eine Zugriffsanfrage auswählt und eine Zugriffsanfrageidentifizierung für die ausgewählte Zugriffsanfrage an die Zugriffsanfragesteuerungseinheit zurückschickt, von welcher sie kommt.
  • Nebenbei bemerkt enthält ein Vektorprozessor für die schnelle Verarbeitung von wissenschaftlichen Berechnungen eine Vielzahl von Vektorregistern für das Zwischenspeichern von Vektordaten, eine Vielzahl von Arithmetikeinheiten für die Bearbeitung der Daten und eine Vielzahl von Zugriffsanfragesteuerungseinheiten für den Datentransfer zwischen Speicher und jedem der Vektorregister, wodurch Vektorelemente in einer Vektorinstruktion konkurrierend einer Vielzahl von Quellen zugeordnet werden, wie z.B. Vektorregistern, Arithmetikeinheiten oder Zugriffsanfragesteuerungseinheiten, und parallel arbeiten. Solch eine Parallelverarbeitung ist ein sog. paralleler Elementverarbeitungsmodus und wird häufig bei Vektorprozessoren verwendet.
  • Allgemein ausgedrückt ist es wünschenswert, daß die Quellen von demselben Typ, die konkurrierend in dem parallelen Elementverarbeitungsmodus arbeiten, untereinander vollständig synchronisiert sind, um die zugeordneten Elemente zu verarbeiten. Bei der vollständigen Synchronisation kann eine Steuerschaltung gemeinsam für eine Vielzahl von Quellen vom selben Typ, die parallel arbeiten, verwendet werden, wodurch sich die Steuerungslogik vereinfacht. Bei diesem Ansatz ergibt sich jedoch das Problem, daß sich aufgrund der Konkurrenz beim Zugriff auf die Speicherbänke, die den Speicher bilden, Wartezeiten ergeben. Dementsprechend ist bei einer Vielzahl von Quellen desselben Typs, die synchron miteinander arbeiten sollen, die Schaffung einer Speichersteuerungsvorrichtung erwünscht, welche den asynchronen Lauf vermeidet, wie er zwischen den Quellen wegen der Wartezeit auftritt, so daß sich eine vollständige Synchronisation beim Speicherzugriff ergibt.
  • Wenn man den Stand der Technik in Form des Speichersteuerungsgerätes nach der oben erwähnten JP-A-60-136849 betrachtet, wird deutlich, daß diese Vorrichtung nach Stand der Technik vorschlägt, daß eine Zugriffsinstruktion dadurch verarbeitet wird, daß sie einer einzelnen Zugriffsanfragesteuerungseinheit zugeordnet wird, wobei aber nicht eine Verarbeitung genannt wird, bei welcher Datenelemente, die durch eine Vektorzugriffsinstruktion bearbeitet werden, für die Zuordnung zu einer Vielzahl von Zugriffsanfragesteuerungseinheiten unterteilt werden, um parallel verarbeitet zu werden, wodurch das Problem umgangen wird, daß eine Vielzahl von Zugriffsanfragesteuerungseinheiten, die parallel betrieben werden sollen, nicht miteinander synchronisiert werden können, um Zugriffsanfragen verarbeiten zu können.
  • ZUSANMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung ist es, eine Speichersteuerung anzugeben, mit der die Synchronisation einer Vielzahl von Zugriffsanfragesteuerungseinheiten untereinander möglich ist, um die vielen Zugriffsanfragesteuerungseinheiten bei jedem Taktimpuls Zugriffsanfragen ausgeben zu lassen, und zwar bei einem Vektorprozessor od. dgl., bei dem Vektordatenelemente durch eine Vektorzugriffsinstruktion unterteilt werden für die Zuordnung zu einer Vielzahl von Zugriffsanfrageeinheiten, und die dann verarbeitet werden.
  • Ein weiteres Ziel der Erfindung ist es, eine parallele Elementverarbeitung anzugeben, die sich dazu eignet, innerhalb einer Speichersteuerung einen asynchronen Lauf bei der Zugriffsanfragenverarbeitung aufgrund des Speicherzugriffs vollständig zu unterdrücken, welche hauptsächlich Störungen des Synchronbetriebes für Datenelemente bewirkt.
  • Ein weiteres Ziel dieser Erfindung ist es, ein Speichersteuerungsgerät und Verfahren anzugeben, wodurch der Empfang von Zugriffsanfragen möglich wird, die konkurrierend von einer Vielzahl von Zugriffsanfragesteuerungseinheiten mit jedem Taktimpuls ausgegeben werden, um so sehr stark die Fähigkeit zur Verarbeitung der Zugriffsanfragen durch Synchronisation untereinander zu verbessern.
  • Noch ein weiteres Ziel dieser Erfindung ist es, eine Speichersteuerungsvorrichtung und Verfahren anzugeben, basierend auf einem parallelen Elementverarbeitungsmodus, bei welchem Vektorelemente, die durch eine Vektorzugriffsinstruktion abgearbeitet werden und für die Zuordnung zu einer Vielzahl von Zugriffsanfragesteuerungseinheiten unterteilt werden mit dem Ziel, daß sie zur gleichen Zeit verarbeitet werden, welche Zugriffsanfragen, die von einer Vielzahl von Zugriffsanfragesteuerungseinheiten ausgegeben wurden, in Gruppen unterteilen kann, von denen jede a Zugriffsanfragen in einer Einheit hat, und welche die Reihenfolge der Ausgabe der a Zugriffsanfragen in der Einheit an einen Speicher ändern kann, während die Reihenfolge der ausgelesenen Vektordatenelemente garantiert ist.
  • Um die obengenannten Aufgaben zu lösen ist erfindungsgemäß eine Speichersteuerungsvorrichtung und Verfahren nach Anspruch 1 und 10 vorgesehen. Zugriffsanfrageidentifizierungen werden verknüpft mit Zugriffsanfragen, die von einer Vielzahl von Zugriffsanfragesteuerungseinheiten ausgegeben werden, Signale werden erzeugt, wenn erkannt wird, daß Zugriffsanfragen mit derselben Zugriffsanfrageidentifizierung von einer Vielzahl von Zugriffssteuerungseinheiten ausgegeben werden, die dazu dienen, eine Zugriffsinstruktion zu verarbeiten, sie werden alle durch eine Vielzahl von Zugriffsanfrageprioritätsentscheidern ausgewählt und die Erkennungssignale werden verwendet, um die Ausgabe der nachfolgenden Zugriffsanfragen mit derselben Zugriffsanfrageidentifizierung zu ermöglichen, während eine Vielzahl von ausgelesenen Datenelementen, die den Identifizierungen entsprechen, konkurrierend an die Quellen der Zugriffsanfragen nach Ablauf einer festen Zeit, die für Erkennungssignale zum Zugriff eines Speichers erforderlich ist, übertragen werden.
  • Insbesondere wenn der Zugriff auf eine Serie von Elementen vektorähnlicher Daten durch die Unterteilung der Vektordatenelemente für die Zuordnung zu einer Vielzahl von Zugriffsanfragesteuerungseinheiten bearbeitet wird, dann werden Zugriffsanfragen, die von den jeweiligen Zugriffsanfragesteuerungseinheiten ausgegeben werden sollen, in der Reihenfolge der Anfragenausgabe in Gruppen mit jeweils a Zugriffsanfragen pro Einheit unterteilt, und eine Zugriffsanfrageidentifizierung zwischen 0 und (a - 1) wird den a Zugriffsanfragen in jeder Gruppe jeweils zugeteilt und Zugriffsanfrageidentifizierungen 0 bis (a - 1) hinzugefügt, während eine Vielzahl von Zugriffsanfrageprioritätsentscheidern jeweils mit Speichereinheiten gekoppelt alle Zugriffsanfragen mit derselben Zugriffsanfrageidentifizierung, die von der Vielzahl von Zugriffsanfragesteuerungseinheiten ausgegeben wurden, die zur Unterteilung einer Zugriffsinstruktion dienen, auswählt und die Zugriffsidentifizierungen für die ausgewählten Zugriffsanfragen an die Vielzahl von Zugriffsanfragesteuerungseinheiten zurückschickt, von denen sie stammen. Hierdurch ist sichergestellt, daß jede unter der Vielzahl von Zugriffsanfragesteuerungseinheiten für die Unterteilung einer Instruktion sequentiell die Ausgabe von wenigstens a Zugriffsanfragen durchführen kann, unabhängig davon, ob die a Zugriffsanfragen durch die Zugriffsanfrageprioritätsentscheider ausgewählt wurden. Wenn außerdem Zugriffsanfragen (mit den Identifizierungen "0" während des ersten Ausgabezyklus von der Vielzahl von Zugriffsanfragesteuerungseinheiten ausgegeben wurden, die dazu dienen, eine Instruktion zu unterteilen, so werden alle durch die Entscheider ausgewählt, und die Signale werden hierfür an die Zugriffsanfragesteuerungseinheiten zurückgesendet, die Zugriffsanfragesteuerungseinheiten werden in die Lage versetzt, Zugriffsanfragen mit den Identifizierungen "0" für den zweiten Ausgabezyklus nach der Ausgabe von Zugriffsanfragen mit den vorangehenden Identifizierungen "a - 1" für den ersten Ausgabezyklus auszugeben. Die nachfolgenden Ausgabezyklen werden in ähnlicher Weise berücksichtigt, so daß die Zugriffsanfragesteuerungseinheiten für die Unterteilung einer Instruktion miteinander synchronisiert werden können, um sequentiell Zugriffsanfragen auszugeben.
  • In einer Lesedatensteuerung für die Übertragung gelesener Datenelemente entsprechend den Zugriffsanfragen an die entsprechenden Zugriffsanfrageabsender werden begleitende Identifizierungen an den gelesenen Datenelementen erkannt und Datenelemente werden in Pufferpositionen gespeichert, die den Identifizierungen entsprechen. Nach Ablauf einer bestimmten Zeit (Zugriffszeit auf den Speicher), nachdem erkannt wurde, daß alle Zugriffsanfragen mit derselben Identifizierung, die von einer Vielzahl von Zugriffsanfragesteuerungseinheiten ausgegeben wurden, die dazu dienen, eine Instruktion zu unterteilen, an den Speicher übertragen wurden, d.h., zu der Zeit, zu der Datenelemente mit derselben Identifizierung alle in den Auslesedatenpuffern gespeichert sind, werden die in den Puffern gespeicherten Datenelemente synchron parallel in den Identifizierungen entsprechender Reihenfolge an die Datenquellen übertragen. Dadurch ist sichergestellt, daß eine Vielzahl von gelesenen Datenelementen, die den Zugriffsanfragen entsprechen, die von der Vielzahl von Zugriffsanfragesteuerungseinheiten ausgegeben wurden, die der Unterteilung einer Instruktion dienen, übertragen werden können, während gleichzeitig die Reihenfolge der gelesenen Datenelemente gewahrt bleibt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 ist ein Blockdiagramm, das ein Speichersteuerungsgerät nach Stand der Technik zeigt.
  • Figur 2 ist ein Blockdiagramm, das den wesentlichen Teil eines Computersystems zeigt, bei dem eine erfindungsgemäße Speichersteuerung eingesetzt wird.
  • Figur 3 ist ein Schaltungsdiagramm, das eine Speichersteuerung zeigt, die einer Ausführungsform der Erfindung entspricht.
  • Figur 4 ist ein Schaltungsdiagramm, das eine Ausführungsform einer Zugriffsanfrageidentifizierungssteuerungsschaltung in Fig. 3 zeigt.
  • Figur 5 ist ein Schaltungsdiagramm, das einer Ausführungsform einer Übertragungssteuerungsschaltung für gelesene Daten in Fig. 3 entspricht.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜRRUNGSFORMEN
  • Die Erfindung soll nun in Form von Beispielen erläutert werden, wobei Bezug genommen wird auf die beigefügten Zeichnungen.
  • Fig. 2 zeigt in Form eines Blockdiagramms einen exemplarischen Aufbau eines wesentlichen Teils eines Computersystems, bei dem eine Ausführungsform der Erfindung eingebaut ist. Das Computersystem umfaßt eine Arithmetiksektion 30, die eine Vielzahl von (vier bei dieser Ausführungsform) Arithmetikeinheiten 30A bis 30D, einen Vektorregisterabschnitt 31, der Vektorregister 31A bis 31D umfaßt und der dazu dient, als Datenpuffer zwischen dem Arithmetikabschnitt 30 und einem Speicher 15 zu wirken, eine Zugriffsanfragesteuerung 32 mit Zugriffsanfragesteuerungseinheiten 32A bis 32D sowie eine Speichersteuerung 10 umfaßt. Der Speicher 15 umfaßt eine Vielzahl von (vier bei dieser Ausführungsform) Speicherbänken 15A bis 15D, auf die unabhängig voneinander zugegriffen werden kann. Adresseninformation, die an einer Zugriffsanfrage hängt, wird dekodiert, um festzustellen, auf welche Speicherbank zugegriffen werden soll. Die Speichersteuerung 10 umfaßt Zugriffsanfragestapelschaltungen 10A bis 10D in Verbindung mit den Zugriffsanfragesteuerungseinheiten 32A bis 32D, Lesedatenpufferschaltungen 14A bis 14D und Zugriffsanfrageprioritätsentscheidern 11A bis 11D in Verbindung mit den Speicherbänken 15A bis 15D.
  • Der Betrieb des in Fig. 2 gezeigten Computersystems wird im folgenden mit Bezug auf eine Speicherleseoperation als Beispiel beschrieben, die auf dem parallelen Elementverarbeitungsmodus basiert.
  • Zunächst, wenn ein Stück von den Vektordaten aus dem Speicher gelesen wird und die Vektordaten in der Vektorregistereinheit 31 gespeichert werden, so werden Vektorelemente den Zugriffsanfragesteuerungseinheiten 32A bis 32D auffolgende Art zugeordnet, und Zugriffsanfragen werden erzeugt.
  • Zugriffsanfrage
  • Steuereinheiten
  • 32A ... 0te, 4te, 8te, ... 4nte Elemente
  • 328 ... 1te, 5te, 9te, ... (4n + 1)te Elemente
  • 32C ... 2te, 6te, 10te, ... (4n + 2)te Elemente
  • 32D ... 3te, 7te, 11te, ... (4n + 3)te Elemente
  • (n ist eine positive ganze Zahl)
  • Für vier Elemente (z.B. das 0te, 1te, 2te und 3te Element) konkurrierend erzeugte Zugriffsanfragen werden jeweils an die entsprechenden Zugriffsanfragestapelschaltungen 10A bis 10D abgesendet. Je nach der in der Zugriffsanfrage enthaltenen Adresse sendet jede Stapelschaltung diese Zugriffsanfrage an einen der Prioritätsentscheider 11A bis 11D, für den sie bestimmt ist.
  • Wenn eine Vielzahl von Zugriffsanfragen miteinander in jedem der Prioritätsentscheider konkurrieren, dann wählt der Prioritätsentscheider eine Zugriffsanfrage je nach vorgegebenem Prioritätsgrad aus und sendet dann die ausgewählte Zugriffsanfrage an die entsprechende der Speicherbänke 15A bis 15D. Die ausgelesenen Daten, die den an die Speicherbänke abgeschickten Zugriffsanfragen entsprechen, werden gelesen und an die Speichersteuerung 10 nach Ablauf einer bestimmten Zeit (entsprechend einer Zugriffszeit) übertragen, so daß Elemente der gelesenen Daten, die Vektorelementen entsprechen, auf die Pufferschaltungen für die gelesenen Daten 14A bis 14D entsprechend den Zugriffsanfragesteuerungsschaltungen 32A bis 32D gesetzt werden. Wenn alle Datenelemente, die den vier von den Zugriffsanfragesteuerungsschaltungen 32A bis 32D konkurrierend ausgegebenen Zugriffsanfragen aus dem Speicher 15 entsprechen, ausgelesen wurden, werden diese gelesenen Datenelemente an die Zugriffsanfragesteuerungseinheiten abgesendet. Diese Datengruppe wird in der Reihenfolge der konkurrierenden Ausgabe abgesendet und dann konkurrierend in den Vektorregistern 31A und 31D abgespeichert. Zuordnung der Vektorelemente zu der Vektorregistereinheit 31 ist wie folgt.
  • Vektorregister
  • 31A ... 0te, 4te, 8te, ... 4nte Elemente
  • 31B ... 1te, 5te, 9te, ... (4n + 1)te Elemente
  • 31C ... 2te, 6te, 10te, ... (4n + 2)te Elemente
  • 31d ... 3te, 7te, 11te, ... (4n + 3)te Elemente
  • Für Arithmetikoperationen mit den in den Vektorregistern 31A bis 31D abgespeicherten Daten werden die Vektorelemente den Arithmetikeinheiten 30A bis 30D in der folgenden Art zugeordnet, und die Rechenergebnisse werden wieder in den Vektorregistern gespeichert.
  • Arithmetikeinheiten
  • 30A ... 0te, 4te, Bte, ... 4nte Elemente
  • 30B ... 1te, 5te, 9te, ... (4n + 1)te Elemente
  • 30C ... 2te, 6te, 10te, ... (4n + 2)te Elemente
  • 30D ... 3te, 7te, 11te, ... (4n + 3)te Elemente
  • Bei der obigen Arithmetikoperation sind die vier Arithmetikeinheiten 30A bis 30D beim Betrieb vollständig miteinander synchronisiert. Beispielsweise ergeben sich die Ergebnisse für das 0te, 1te, 2te und 3te Element gleichzeitig und werden in den Vektorregistern 31A bis 31D gespeichert.
  • Wenn die in den Vektorregistern 31A bis 31D gespeicherten Daten in den Speicher 15 geschrieben werden, werden die Vektorelemente den Zugriffsanfragesteuerungseinheiten 32A bis 32D wie in dem vorher beschriebenen Fall der ausgelesenen Daten zugeordnet, und vier Elemente z.B. das 0te, 1te, 2te und 3te Element werden an die entsprechenden Zugriffsanfragestapelschaltungen 10A bis 10D abgeschickt. Danach werden Zugriffsanfragen ähnlich wie bei der Leseoperation an den Speicher 15 abgesendet.
  • Wie oben beschrieben werden die vier Arithmetikeinheiten 30A bis 30D miteinander synchronisiert, die vier Vektorregister 31A bis 31D werden miteinander synchronisiert und die vier Zugriffsanfragesteuerungseinheiten 32A bis 32D werden miteinander synchronisiert, so daß die Vektorelemente verarbeitet werden können. Dementsprechend kann die auf synchronisiertem Betrieb basierende parallele Elementverarbeitung eine logische Konstruktion erhalten, bei welcher eine einzelne Steuerungssystemlogik zur Steuerung eines Satzes von vier Arithmetikeinheiten 30A bis 30D, eines Satzes von vier Vektorregistern 31A bis 31D und eines Satzes von vier Zugriffsanfragesteuerungseinheiten 32A bis 32D verwendet wird.
  • Innerhalb der Speichersteuerung 10 jedoch werden die vier Zugriffsanfragen, die konkurrierend von den synchron arbeitenden Zugriffsanfragesteuerungseinheiten 32A bis 32D ausgegeben werden, nicht immer konkurrierend verarbeitet, und zwar aufgrund des Zustandes einer Speicherbank, auf die zugegriffen wird (z.B. ist die Speicherbank durch die vorangehende Zugriffsanfrage blockiert), und wegen der Konkurrenz mit einem anderen Zugriff, und folglich werden die Zugriffsanfragen an die Speicherbänke zu unterschiedlichen Zeiten abgesendet. Dementsprechend wird ein Steuerungssystem benötigt, bei dem die Lesedatenpufferschaltungen 14A bis 14D der Speichersteuerung 10 warten, bis die Lesedatenelemente, die den Zugriffsanfragen entsprechen, die konkurrierend von den Zugriffsanfragesteuerungseinheiten 32A bis 32D abgesendet wurden, alle in den Puffern 14A bis 14D gespeichert sind, und wenn alle Datenelemente gespeichert sind, dann werden die Datenelemente an die vier Lesedatenzugriffsanfragesteuereinheiten 32A bis 32D zur gleichen Zeit abgeschickt.
  • Ein synchroner Steuerungsmodus in der Speichersteuerung wird nun genauer mit Bezug auf Fig. 3 beschrieben.
  • Der Aufbau der Speichersteuerung 10 in Fig. 2 ist exemplarisch in Fig. 3 zusammen mit den Speicherbänken 15A bis 15D dargestellt. Zusätzlich zu den Zugriffsanfragestapelschaltungen 10A bis 10D enthält die Speichersteuerung 10 Prioritätsentscheider 11A bis 11D und Lesedatenpufferschaltungen 14A bis 14D sowie Lesedatenübertragungssteuerungsschaltungen 12A bis 12D und eine Zugriffsanfrageidentifizierungssteuerungsschaltung 13.
  • Vier Zugriffsanfragen, z.B. das 0te, 1te, 2te und 3te Element, konkurrierend von den Zugriffsanfragesteuerungseinheiten 32A bis 32D ausgegeben, erreichen jeweils die Zugriffsanfragestapelschaltungen 10A bis 10D. Die Zugriffsanfrage, die die Zugriffsanfragestapelschaltung 10A z.B. erreicht, wird in einen der Stapel S0 (100A), S1 (100B), S2 (100C) und S3 (100D), z.B. den Stapel S0 (100A) gesetzt, welcher durch eine Eingangssteuerschaltung 104 bezeichnet wird. Die Eingangssteuerschaltung 104 bezeichnet einen der Stapel durch Absenden eines Signals 104a an ihn, das eine der Stapelpositionen "0" bis "3" (entsprechend den Stapeln S0 bis S3) anzeigt, in welchem eine Zugriffsanfrage gespeichert werden soll. Die Anzeige des Signals 104a ändert sich jedesmal rotationsmäßig "0" T "1" T "2" T "3" T "0" ..., wenn eine Zugriffsanfrage in einem Stapel gespeichert wird, wodurch eine folgende Speicherstapelposition bezeichnet wird.
  • Jede Zugriffsanfrage, die in einem der Stapeln S0 bis S3 von jedem der Zugriffsanfragestapelschaltungen 10A bis 10D gespeichert ist, wird an die Prioritätsentscheider 11A bis 11d durch eine Auswahlschaltung 103 unter der Steuerung einer Ausgangssteuerschaltung 105 abgeschickt. Wenn z.B. die Ausgangssteuerschaltung 105 die Stapelposition oder Zahl "0" bezeichnet, die den Stapel S0 (100A) darstellt, dann wird eine Zugriffsanfrage ausgegeben, die in dem Stapel S0 (100A) gespeichert ist. Wie die Eingangssteuerschaltung 104 bezeichnet die Ausgangssteuerschaltung 105 einen der Stapel durch Absenden eines Signals 105a an die Auswahlschaltung 103, das eine der Stapelpositionen "0" bis "3" anzeigt, von welcher eine Zugriffsanfrage ausgegeben werden soll. Die Anzeige des Signals 105a ändert sich jedesmal rotationsmäßig "0" T "1" T "2" T "3" T "0" ..., wenn eine Zugriffsanfrage an die Auswahlschaltung 103 ausgegeben wurde. Jedoch unterscheidet sich die Ausgangssteuerschaltung 105 von der Eingangssteuerschaltung 104 dadurch, daß sie die Auslieferung der Zugriffsanfrage von dem bezeichneten Stapel in Abhängigkeit von dem Inhalt der Zugriffsanfrageübertragungssteuerungsflipflops 101A bis 101D überwacht, die mit den Stapeln S0 bis S3 jeweils assoziiert sind.
  • Im einzelnen bedeutet dies, wenn die Ausgangssteuerungsschaltung 105 z.B. auf das Zugriffsanfrageübertragungssteuerflipflop 101A zugreift, das mit dem Stapel S0 (100A) assoziiert ist, und der Inhalt des Flipflops 101A "1" ist, so wird eine in dem Stapel S0 (100A) gespeicherte Zugriffsanfrage an die Prioritätsentscheider 11A bis 11D ausgegeben. Wenn demgegenüber der Inhalt des Flipflops 101A "0" ist, so wird die Ausgabe der Zugriffsanfrage aus dem Stapel S0 (100A) solange verboten, bis das Flipflop 101A durch ein Signal 13a von der Zugriffsanfrageidentifizierungssteuerschaltung 13 auf "1" gesetzt wird, und zur selben Zeit wird die Stapelzahl "0", angezeigt durch das Signal 105a, ausgegeben von der Ausgangssteuerschaltung 105, beibehalten.
  • Wo der Inhalt des Flipflops 101A "1" ist, nachdem die in dem assoziierten Stapel S0 (100A) gespeicherte Zugriffsanf rage geholt worden ist und an die Prioritätsentscheider 11A bis 11D ausgeliefert worden ist, wird das Flipflop 101A durch die Ausgangssteuerschaltung 105 auf "0" gesetzt, indem an es ein Signal 105b abgeschickt wird, das Information über die Vollendung der Auslieferung enthält. Dann ist die Ausgangssteuerschaltung 105 fertig für den Zugriff auf den nachfolgenden Stapel S1.
  • Wenn man beispielsweise die Zugriffsanfragestapelschaltung 10A nimmt, so enthält eine Zugriffsanfrage 103a, die von der Auswahlschaltung 103 an die Prioritätsentscheider 11A bis 11D abgeschickt wurde, zusätzlich zur Adresseninformation, die z.B. im Stapel S0 (100A) gespeichert ist, eine von mehreren Zugriffsanfrageidentifizierungen aus zwei Zahlen "00", "01", "02" und "03", die von Zugriffsanfrageidentifizierungsgeneratoren 102A bis 102D ausgegeben wurden, wobei die erste Zahl "0" bei der Zugriffsanfrageidentifizierung die fragliche Zugriffsanfragestapelschaltung 10A anzeigt und die zweite Zahl "0", "1", "2" oder "3" die Stapelnummer ist, die den Stapel S0, S1, S2 oder S3 bezeichnet. Bei diesem Beispiel ist die Zugriffsanfrageidentifizierung "00" bezeichnet.
  • Obgleich die Zugriffsanfragestapelschaltung 10A als Beispiel beschrieben wurde, arbeitet jede der verbliebenen Stapelschaltungen 10B bis 10D ähnlich wie die Stapelschaltung 10A. Somit werden vier konkurrierend von den vier Zugriffsanfragesteuereinheiten ausgegebene Zugriffsanf ragen gespeichert und in den entsprechenden Stapeln derselben Zahl von jeweiligen Stapelschaltungen verarbeitet.
  • Die Zugriffsanfrage 103a, die von der Zugriffsanfragestapelschaltung 10A abgesendet wurde, kann einen der Prioritätsentscheider 11A bis 11D in Zusammenhang mit den Speicherbänken erreichen, z.B. den Entscheider 11A entsprechend einer durch die Zugriffsanfrage angegebenen Zugriffsadresse. Die Zugriffsanfrage 103a, die den Prioritätsentscheider 11a erreicht, wird auf ihre Priorität in bezug auf andere Zugriffsanfragen überprüft, die von den verbliebenen Zugriffsanfragestapelschaltungen 10B, 10C oder 10D abgeschickt wurden, und wenn sie ausgewählt wird, so wird eine Zugriffsanfrage 11Aa an die entsprechende Speicherbank 15A zusammen mit Information abgeschickt, die entweder den Lese- oder Schreibmodus, eine Adresse des Speichers und im Fall des Schreibmodus Daten angibt.
  • a Konkurrierend mit der Ausgabe der Zugriffsanfrage 11Aa wird eine Zugriffsanfrageidentifizierung 11Ab an die Zugriffsanfrageidentifizierungssteuerschaltung 13 abgesendet. Details der Zugriffsanfrageidentifizierungssteuerschaltung 13 sind in Fig. 4 dargestellt. In Fig. 4 wird die Zugriffsanfrageidentifizierung 11Ab an eine Dekodierschaltung 40A angelegt, welche einen Dekoder 41 für die Entschlüsselung einer Zahl, die die Zugriffsanfragestapelschaltung 10A, 10B, 10C oder 10D angibt, sowie Dekoder 42A bis 42D für die Entschlüsselung einer Stapelnummer in jeder Schaltung 10A, 10B, 10C oder 10D enthält und welche zur Spezifizierung der Zugriffsanfragestapelschaltung und der Stapelzahl dient. Signale von der Dekodierschaltung 40A werden durch ODER-Gatter 430 bis 43F geschleust, um eines der Flipflops 440 bis 44F, welche die Gültigkeit der Zugriffsanfrageidentifizierungen bei jeder Zugriffsanfragestapelschaltung anzeigen, die durch die Dekodierschaltung spezifiziert wurde, auf "1" zu setzen. Auf ähnliche Weise werden Zugriffsanfrageidentifizierungen 11Bb bis 11Db durch die Dekodierschaltungen 40B bis 40D dekodiert und verwendet, um spezifizierte Flipflops für die Anzeige der Gültigkeit der Zugriffsanfrageidentifizierungen zu setzen.
  • Wenn die Flipflops, die den Stapeln derselben Zahl in den jeweiligen Zugriffsanfragestapelschaltungen 10A bis 10D entsprechen, z.B. die Flipflops 440, 444, 448 und 44C, alle auf "1" gesetzt sind, wodurch angezeigt wird, daß die vier Zugriffsanfragen, die die Zugriffsanfragestapelschaltungen 10A bis 10D zur gleichen Zeit erreicht haben und in den Stapeln S0 in den jeweiligen Stapelschaltungen gesetzt sind, alle an den Speicher 15 gesendet worden sind, so werden alle der "1"-Signale durch ein UND-Gatter 45A (ähnliche UND-Gatter 45B bis 45D sind vorgesehen) erfaßt, um das Signal 13a zu erzeugen, welches den Inhalt der Zugriffsanfrageübertragungssteuerflipflops 101a auf "1" setzt, die mit den Stapeln S0 in den jeweiligen Zugriffsanfragestapelschaltungen 10A bis 10D assoziiert sind. Dadurch wird sichergestellt, daß die nachfolgenden Zugriffsanfragen, die in den Stapeln S0 in den jeweiligen Zugriffsanfragestapelschaltungen 10A bis 10D gespeichert sind, fertig für die Übertragung an die Prioritätsentscheider 11A bis 11D sind. Zu der Zeit, zu der das Signal 13a an die Zugriffsanfragestapelschaltungen 10A bis 10D abgeschickt wird, werden die Gültigkeitsanzeigeflipflops "0" zurückgesetzt.
  • Nebenbei bemerkt, werden die Lesedatenelemente 15Aa bis 15Da, die den an die Speicherbänke 15A bis 15D abgesendeten Zugriffsanfragen 11Aa bis 11Da entsprechen, in die Lesedatenpufferschaltungen 14A bis 14D zusammen mit Zugriffsanfrageidentifizierungen 12Aa bis 12Da übertragen, die in den Lesedatentransfersteuerschaltungen 12A bis 12D um die Zugriffszeit der Speicherbänke und der Stapelnummern retardiert werden. Aufgrund einer Stapelnummer und einer Zugriffsanfragestapelschaltungsnummer, die durch die Zugriffsanfrageidentifizierung bezeichnet wurde, speichert jede der Lesedatenpufferschaltungen 14A bis 14D unter der Leitung eines Auswahlschaltkreises 140 eines der Lesedatenelemente in einen der Datenpuffer B0 (141A) bis B3 (141D) von jedem der Lesedatenpufferschaltkreise 14A bis 14D je nach Zugriffsanfragestapelschaltung 10A bis 10D, wobei die Datenpuffer entsprechend den Stapeln S0 bis S3 von jedem der Zugriffsanfragestapelschaltungen 10A bis 10D vorgesehen sind. Beispielsweise dient die Identifizierung 12Aa mit "00" dazu, das Lesedatenelement lsaa in den Datenpuffer B0 (141A) der Lesedatenpufferschaltung 14A zu speichern. Für den Fall, daß die Zahl der Zugriffsanfragen, die durch eine Zugriffsinstruktion bezeichnet sind, zu klein ist, um alle Speicherbänke zu besetzen, werden einige der an unbesetzte Speicherbänke abgeschickten Zugriffsanfragen 11Aa bis 11Da mit Nonoperation-Codes versehen, um damit die Zugriffsinstruktion zu vervollständigen.
  • Nebenbei bemerkt, eine Lesedatenübertragungssteuerschaltung 16 arbeitet unabhängig von der Speicherung der Lesedatenelemente in den Datenpufferschaltkreisen, um die vier Lesedatenelemente, die in den Lesedatenpufferschaltkreisen 14A bis 14D gespeichert sind, konkurrierend an die Zugriffsanfragesteuerschaltungen 32A bis 32D abzuschicken. Fig. 5 zeigt Details der Lesedatenübertragungssteuerschaltung 16.
  • An die Lesedatenübertragungssteuerschaltung 16 werden die Signale 13a bis 13d von der Zugriffsanfrageidentifizierungssteuerschaltung 13 abgeschickt, jeweils anzeigend, daß Zugriffsanfragen in den Stapeln derselben Zahl in den jeweiligen vier Zugriffsanfragestapelschaltungen 10A bis 10D alle an die Speicherbänke übertragen wurden. Jedes der Signale 13a bis 13d zeigt an, daß mit anderen Worten Lesedatenelemente alle in einem entsprechenden der vier Datenpuffer B0 (141A) bis B3 (141D) in den jeweiligen vier Lesedatenpufferschaltungen 14A bis 14D nach Ablauf einer bestimmten Zeit gespeichert sind (entsprechend der Zugriffszeit auf jede Speicherbank). Dementsprechend kann die Gültigkeit der Lesedatenelemente in einem entsprechenden der Puffer B0 (141A) bis B3 (141D) in den jeweiligen Lesedatenpufferschaltungen 14A bis 14D durch Durchreichen der Signale 13a bis 13d durch die Puffer 54A bis 54D angezeigt werden, welche diese Signale verzögern, um in Übereinstimmung mit dem Zugriff auf die Speicherbank zu kommen, um so die Flipflops 50A bis 50D zu setzen.
  • Die Lesedatenübertragungssteuerschaltung 16 dient dazu, an die Lesedatenpufferschaltungen 14A bis 14D ein Steuersignal 16a zu senden, welches die sequentielle Ausgabe von gültigen Datenelementen von den Lesedatenpuffern überwacht, beginnend mit dem Datenpuffer B0 (141A), gefolgt von den Datenpuffern B1 (141B), B2 (141C) und B3 (141D). Aber wenn der Inhalt eines Flipflops für die Anzeige der Lesedatengültigkeit 50A, 50B, 50C oder 50D entsprechend einem Datenpuffer, der durch den Inhalt des Lesedatenaufnehmezeigers 54 bezeichnet ist, welcher durch einen Dekoder 55 dekodiert wird, "0" ist, d.h., wenn ein Lesedatenelement entsprechend wenigstens einem von vier Zugriffsanfragen, welche in einem Stapel innerhalb der Zugriffsanfragestapelschaltungen 10A bis 10D gespeichert sind, wobei die Position von dem Stapel durch den Zeiger 54 bezeichnet ist, noch nicht den Lesedatenpuffer erreicht hat, so wird die Auslieferung des Lesesteuersignals 16a durch die UND-Gatter 51A bis 51d unterbunden, und der Inhalt des Zeigers 54 bleibt ebenso unverändert, bis die Flipflops 50A bis 50B, 50C und 50D auf "1" gesetzt werden. Wenn danach der Inhalt des Flipflops für die Anzeige der Lesedatengültigkeit entsprechend dem durch den Zeiger 54 bezeichneten Datenpuffer sich auf "1" ändert, wird diese Anderung erfaßt durch die UND-Gatter 51A bis 51D und ein ODER-Gatter 52, wodurch das Lesesteuersignal 16a durch ein Flipflop 53A übertragen werden kann. Konkurrierend hiermit setzt ein Signal 52a das Lesedatengültigkeitsanzeigeflipflop, bezeichnet durch den Zeiger 54, auf "0", und der Inhalt des Zeigers 54 wird erneuert durch Hinzuzählen von "+1" durch eine +1-Schaltung 56.
  • Die vier Lesedatenpufferschaltungen 14A bis 14D empfangen das Lesesteuersignal 16a simultan, so daß das Lesesteuersignal 16a an eine Ausgangssteuerschaltung 143 angelegt wird, die in jeder Schaltung 14A, 14B, 14C oder 14D vorgesehen ist. Die Ausgangssteuerschaltung 143 gibt dann ein Signal 143a aus, welches eine Auswahlschaltung 142 steuert, so daß ein Lesedatenelement in einem Datenpuffer, dessen Zahl oder Position durch das Lesesteuersignal 16a bezeichnet ist, aufgenommen werden kann.
  • Durch den oben beschriebenen Betrieb können vier Lesedatenelemente parallel von den vier Lesedatenpufferschaltungen 14A bis 14D an die Zugriffsanfragesteuereinheiten 32A bis 32D synchron übertragen werden.
  • Wie beschrieben worden ist, kann erfindungsgemäß bei vier Zugriffsanfragen, die konkurrierend und synchron von den vier Zugriffsanfragesteuereinheiten 32A bis 32D ausgegeben wurden, ein Maximum von drei Zugriffsanfragen innerhalb der Speichersteuerung 10 überschrieben werden, so daß vier Zugriffsanfragen bei jedem Taktimpuls verarbeitet werden können, und nebenbei können Lesedatenelemente entsprechend den vier Zugriffsanfragen, die zur Zeit empfangen wurden, an die Zugriffsanfragesteuereinheiten 32A bis 32D in der Reihenfolge des synchronen parallelen Empfangs der Zugriffsanfragen abgeschickt werden.

Claims (10)

1. Speichersteuerungsvorrichtung (10), die zwischen eine Speichervorrichtung (15), wobei die Speichervorrichtung (15) eine Vielzahl von unabhängig voneinander zugreifbaren Speichereinheiten (15A bis 15D) umfaßt, und eine Vielzahl von Zugriffsanfragesteuerungseinheiten (32A bis 32D) geschaltet ist, wobei jede der Vielzahl der Zugriffsanfragesteuerungseinheiten (32A bis 32D) dazu dient, an die besagte Speichervorrichtung (15) Zugriffsanfragen auszugeben, die Datenelementen entsprechen, wobei die besagte Speichersteuerungsvorrichtung (10) ausgewählte unter den besagten Zugriffsanfragen, die von der besagten Vielzahl von Zugriffsanfragesteuerungseinheiten (21A bis 32D) an entsprechende durch die besagten Zugriffsanfragen bezeichnete Speichereinheiten (15A bis 15D) ausgegeben wurden sequentiell überträgt, wobei die besagte Speichersteuerungsvorrichtung (10) umfaßt:
eine Vielzahl von Identifizierungsübertragungsvorrichtungen (10A bis 10D), von denen jede mit einer der besagten Zugriffsanfrageeinheiten (32A bis 32D) assoziiert ist und eine Vielzahl von besagten Zugriffsanfragen von der besagten assoziierten Zugriffsanfrageneinheit überträgt und jeder Zugriffsanfrage von der besagten Vielzahl von Zugriffsanfragen eine Zugriffsanfragenidentifizierung zuordnet, wobei diese Identifizierungen der Reihenfolge der Ausgabe der Zugriffsanfragen von den Zugriffsanfragesteuerungseinheiten (32A bis 32D) entsprechen, identisch bei gleichzeitig ausgegebenen Zugriffsanfragen und auf eine vorgegebene Anzahl von unterschiedlichen Identifizierungen beschränkt sind, und wobei jede Identifizierungsübertragungsvorrichtung (10A bis 10D) außerdem die besagte Vielzahl von Zugriffsanfragen mit diesen zugeordneten Zugriffsanfrageidentifizierungen überträgt;
eine Vielzahl von Zugriffsanfrageentscheidungsvorrichtungen (11A bis 11D), von denen jede mit einer der besagten Speichereinheiten (15A bis 15D) assoziiert ist, für den Empfang der Vielzahl von Zugriffsanfragen mit Zugriffsanfrageidentifizierungen, abgesendet von besagten Identifizierungsübertragungsvorrichtungen (10A bis 10D), und um die entsprechenden Speichereinheiten (15A bis 15D) seriell mit den empfangenen Zugriffsanfragen nach und nach zu versorgen;
gekennzeichnet durch
Erfassungsvorrichtungen (13), verbunden mit der besagten Vielzahl von Zugriffsanfrageentscheidungsvorrichtungen (11A bis 11D), um zu erfassen, ob alle Zugriffsanfragen mit derselben Zugriffsanfragenidentifizierung von der besagten Vielzahl von Zugriffsanfrageentscheidungsvorrichtungen (11A bis 11D) an die entsprechenden Speichereinheiten (15A bis 15D) übertragen worden sind, wobei die besagte Erfassungsvorrichtung (13) außerdem an alle der besagten Identifizierungsübertragungsvorrichtungen (10A bis 10D) Informationen schickt, die anzeigen, daß alle Zugriffsanfragen mit derselben Zugriffsanfragenidentifizierung von der besagten Vielzahl von Zugriffsanfrageentscheidungsvorrichtungen (11A bis 11D) an die besagten entsprechenden Speichereinheiten (15A bis 15D) übertragen worden sind, wodurch dieselbe Zugriffsanfrageidentifizierung für neue Zugriffsanfragen verwendet werden kann.
2. Speichersteuerungsvorrichtung nach Anspruch 1, die außerdem umfaßt: Puffervorrichtungen (14A bis 14D) für die Zwischenspeicherung jeweiliger Datenelemente, die aus entsprechenden Speichereinheiten ausgelesen worden sind; und
Informationsvorrichtungen (16, 142, 143), die von der besagten übertragungserfassungsvorrichtung (13) Signale empfangen, die anzeigen, daß alle Zugriffsanfragen erfaßt worden sind, um die besagten Puffervorrichtungen (14A bis 14D) von den besagten erfassungsanzeigenden Signalen zu informieren, um zu ermöglichen, daß die besagten ausgelesenen Datenelemente, die in den besagten Speichervorrichtungen zwischengespeichert werden, an die besagte Vielzahl von Zugriffsanfragesteuerungseinheiten (32A bis 32D) übertragen werden.
3. Speichersteuerungsvorrichtung nach Anspruch 2, wobei die besagten Identifizierungsübertragungsvorrichtungen jeweils Stapel (100A bis 100D) besitzen, die den Zugriffsanfragen für die besagten Datenelemente entsprechen, und Flipflops (101A bis 101D) zur Steuerung, ob die Zugriffsanfragen, die in den besagten Stapeln zwischengespeichert werden, zur Übertragung an die besagten Zugriffsanfrageentscheidungsvorrichtungen zugelassen werden, und die besagte Puffervorrichtung jeweils Pufferpositionen (B0 bis B3) für die Zwischenspeicherung der besagten Datenelemente hat, wobei die besagten Stapel, Flipflops und Pufferpositionen entsprechend der besagten Identifizierungen unterteilt sind.
4. Speichersteuerungsvorrichtung nach Anspruch 1, wobei die besagten Zugriffsanfrageentscheidungsvorrichtungen jeweils Prioritätsvorrichtungen für die serielle Ausgabe einer Vielzahl von miteinander konkurrierenden Zugriffsanfragen an die besagte Idenfizierungsübertragungsvorrichtung entsprechend einem vorgegebenen Prioritätswert haben.
5. Speichersteuerungsvorrichtung nach Anspruch 4, wobei die besagte Prioritätsvorrichtung Vorrichtungen für die sequentielle Änderung des Prioritätswerts mit der Rate einer vorgegebenen Zahl von Datenzugriffsoperationen hat.
6. Speichersteuerungsvorrichtung nach Anspruch 2, die außerdem Vorrichtungen (12A bis 12D) für das Absenden einer Zugriffsanfrageidentifizierung und einer Identifizierungszahl für die Identifizierung der Individualität von der besagten Identifizierungsübertragungsvorrichtung zusammen mit einem Datenelement, das aus den jeweiligen Speichereinheiten ausgelesen werden soll, von einer jeweiligen Zugriffsanfrageentscheidungsvorrichtung an eine jeweilige Puffervorrichtung enthält.
7. Speichersteuerungsvorrichtung nach Anspruch 2, wobei die besagte Informationsvorrichtung Vorrichtungen (54A bis 54D) zur Erzeugung einer Verzögerungszeit umfaßt, die einem Zeitintervall entspricht, innerhalb dessen Datenelemente aus den jeweiligen Speichereinheiten ausgelesen werden und dann an jeweilige Puffervorrichtungen übertragen werden.
8. Speichersteuerungsvorrichtung nach Anspruch 1, wobei die besagte Erfassungsvorrichtung (13) Gattervorrichtungen (440 bis 44F), die zahlenmäßig dem Produkt der Zahl der besagten Identifizierungsübertragungsvorrichtungen und der Zahl der Zugriffsanfrageidentifizierungen in jeder Gruppe entsprechen, mit den besagten Gattervorrichtungen verbundene Decoder (41) für die Prüfung der Individualität der besagten Identifizierungsübertragungsvorichtungen, und Decoder (42A bis 42D) für die Prüfung der Individualität der besagten Identifizierungen umfaßt.
9. Computersystem, das umfaßt:
eine Speichervorrichtung (15) mit einer Vielzahl von unabhängig voneinander zugreifbaren Speichereinheiten (15A bis 15D);
eine Vielzahl von Zugriffsanfragesteuerungseinheiten (32A bis 32D), die dazu dienen, an die besagte Speichervorrichtung (15) Zugriffsanfragen auszugeben, die Elementen von Vektordaten entsprechen; und
eine Speichersteuerungsvorrichtung nach einem der vorangehenden Ansprüche.
10. Speichersteuerungsverfahren für die Steuerung einer Zugriffssequenz auf jeweilige Elemente von Vektordaten in einem Computersystem mit einer Steuerungsvorrichtung (15), das eine Vielzahl von unabhängig voneinander zugreifbaren Speichereinheiten (15A bis 15D) und eine Vielzahl von Zugriffsanfragesteuerungseinheiten (32 bis 32D) für die Ausgabe von Zugriffsanfragen an die besagte Speichervorrichtung (15) umfaßt, wobei die besagten Zugriffsanfragen Vektordatenelementen entsprechen, wobei das Verfahren die Schritte umfaßt:
Zuordnung von Zugriffsanfragenidentifizierungen zu den Zugriffsanfragen, die den Vektordatenelementen entsprechen, wobei die besagten Identifizierungen der Reihenfolge der Ausgabe der Zugriffsanfragen entsprechen, identisch bei gleichzeitig ausgegebenen Zugriffsanfragen sind und auf eine bestimmte Anzahl von unterschiedlichen Identifizierungen beshränkt sind;
gekennzeichnet durch
Absenden von Zugriffsanfragen mit derselben Identifizierung an die entsprechenden Speichereinheiten (15A bis 15D),
Entscheidung, ob alle der Zugriffsanfragen mit derselben Identifizierung an die jeweiligen Speichereinheiten abgesendet worden sind; und
Zulassung derselben Identifizierung für neue Vektordatenelemente, wenn die Zugriffsanfragen mit derselben Identifizierung an die jeweiligen Speichereinheiten abgesendet worden sind.
DE3751391T 1986-04-25 1987-04-23 Verfahren und Vorrichtung zur Speichersteuerung. Expired - Fee Related DE3751391T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61096560A JPH0628051B2 (ja) 1986-04-25 1986-04-25 記憶制御方式

Publications (2)

Publication Number Publication Date
DE3751391D1 DE3751391D1 (de) 1995-08-10
DE3751391T2 true DE3751391T2 (de) 1996-01-25

Family

ID=14168429

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3751391T Expired - Fee Related DE3751391T2 (de) 1986-04-25 1987-04-23 Verfahren und Vorrichtung zur Speichersteuerung.

Country Status (4)

Country Link
US (1) US4843543A (de)
EP (1) EP0242882B1 (de)
JP (1) JPH0628051B2 (de)
DE (1) DE3751391T2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63225837A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 距離付きベクトルアクセス方式
US5168573A (en) * 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
JPS6467680A (en) * 1987-09-09 1989-03-14 Hitachi Ltd Vector processor
CA1310429C (en) * 1987-09-19 1992-11-17 Nobuo Uchida Access priority control system for main storage for computer
US4991084A (en) * 1988-02-05 1991-02-05 International Business Machines Corporation N×M round robin order arbitrating switching matrix system
US5367654A (en) * 1988-04-13 1994-11-22 Hitachi Ltd. Method and apparatus for controlling storage in computer system utilizing forecasted access requests and priority decision circuitry
JP2761506B2 (ja) * 1988-07-08 1998-06-04 株式会社日立製作所 主記憶制御装置
DE68924876T2 (de) * 1988-07-12 1996-04-25 Sony Corp Integrierte Halbleiterschaltungen.
JPH0291747A (ja) * 1988-09-29 1990-03-30 Hitachi Ltd 情報処理装置
US5276902A (en) * 1988-11-07 1994-01-04 Fujitsu Limited Memory access system for vector data processed or to be processed by a vector processor
JPH0769896B2 (ja) * 1988-11-07 1995-07-31 富士通株式会社 ベクトル処理システム
JPH0719221B2 (ja) * 1988-12-27 1995-03-06 日本電気株式会社 記憶制御方式
FR2642195B1 (fr) * 1989-01-20 1991-04-26 Centre Nat Rech Scient Dispositif et procede d'arbitrage des requetes et de resolution des conflits lies a l'acces aux memoires a bancs independants pour les machines informatiques
US5432920A (en) * 1990-04-13 1995-07-11 Hitachi, Ltd. Store control method with hierarchic priority scheme for computer system
US5450564A (en) * 1990-05-04 1995-09-12 Unisys Corporation Method and apparatus for cache memory access with separate fetch and store queues
US5392443A (en) * 1991-03-19 1995-02-21 Hitachi, Ltd. Vector processor with a memory assigned with skewed addresses adapted for concurrent fetching of a number of vector elements belonging to the same vector data
GB2284494B (en) * 1993-11-26 1998-09-09 Hitachi Ltd Distributed shared memory management system
JP3639319B2 (ja) * 1994-01-25 2005-04-20 富士通株式会社 並列計算機システム,データ転送制御方法および送受信制御装置
US5701434A (en) * 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
US5822772A (en) * 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US6055607A (en) * 1996-12-23 2000-04-25 Unisys Corporation Interface queue with bypassing capability for main storage unit
JP3244053B2 (ja) * 1998-06-12 2002-01-07 日本電気株式会社 情報処理システム、装置、二次記憶装置及び記録媒体
GB2341699A (en) * 1998-09-18 2000-03-22 Pixelfusion Ltd Inter-module data transfer
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
CN100350401C (zh) * 2002-05-24 2007-11-21 皇家飞利浦电子股份有限公司 计算机存储器设备和计算机设备
US7146462B2 (en) * 2003-05-20 2006-12-05 Hitachi, Ltd. Storage management method
US8209366B2 (en) * 2005-02-28 2012-06-26 Hitachi Global Storage Technologies Netherlands B.V. Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations
US8601150B1 (en) * 2010-10-01 2013-12-03 The Boeing Company Cross-channel data link
CN110196824B (zh) * 2018-05-31 2022-12-09 腾讯科技(深圳)有限公司 实现数据传输的方法及装置、电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3626427A (en) * 1967-01-13 1971-12-07 Ibm Large-scale data processing system
US3699530A (en) * 1970-12-30 1972-10-17 Ibm Input/output system with dedicated channel buffering
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
JPS59148952A (ja) * 1983-02-14 1984-08-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 優先順位回路
DE3485635D1 (de) * 1983-04-25 1992-05-14 Cray Research Inc Mehrprozessorsteuerung fuer vektorrechner.
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers
JPS60136849A (ja) * 1983-12-26 1985-07-20 Hitachi Ltd 記憶制御方式
EP0167061A3 (de) * 1984-06-20 1988-07-27 Convex Computer Corporation Vektorverarbeitungsrechenmaschine

Also Published As

Publication number Publication date
JPH0628051B2 (ja) 1994-04-13
EP0242882A2 (de) 1987-10-28
DE3751391D1 (de) 1995-08-10
EP0242882A3 (en) 1990-01-10
EP0242882B1 (de) 1995-07-05
US4843543A (en) 1989-06-27
JPS62251956A (ja) 1987-11-02

Similar Documents

Publication Publication Date Title
DE3751391T2 (de) Verfahren und Vorrichtung zur Speichersteuerung.
DE69028017T2 (de) Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen
DE3248215C2 (de)
DE3300261C2 (de)
DE3300260C2 (de)
DE3687257T2 (de) Arbitrierungsvorrichtung zur bestimmung der zugriffsprioritaet auf einen gemeinsamen bus.
DE3224034C2 (de)
DE3587439T2 (de) Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher.
DE3688363T2 (de) Unterbrechungsabwicklung in einem Multiprozessorrechnersystem.
DE68928530T2 (de) Modulare Kreuzschienenzwischenverbindungen in einem digitalen Rechner
DE3783072T2 (de) Zusatzprozessorarchitektur.
DE4129614C2 (de) System und Verfahren zur Datenverarbeitung
DE4121446C2 (de) Terminal-Server-Architektur
DE102008034500B4 (de) Arbitrierung
DE2354521C2 (de) Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE68917317T2 (de) Befehlsausgabesteuerung mit vorausschau für einen rechner.
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3851554T2 (de) Steuerungsanordnung für gemeinschaftlichen Speicher.
DE10110504A1 (de) Controller für Prozessoren mit mehreren Befehlsthreads
DE2162806A1 (de) Digitales Eingabe-Ausgabe-Steuersystem mit Kanalpufferung
DE2045052A1 (de) System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE68924435T2 (de) Nichtblockierender NxM-Arbitrierungsschalter mit grosser Bandbreite.
DE2912073C2 (de)

Legal Events

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