-
(1) Sachgebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Speicher-Steuervorrichtung
zum Steuern eines Speicherzugriffs, und, insbesondere, auf eine
Speicher-Steuervorrichtung,
die in einer LSI (Large Scale Integrated Circuit) installiert ist,
zum Steuern eines Zugriffs von einer Mehrzahl von Schaltungen innerhalb
der LSI auf einen externen Speicher, der mit der LSI verbunden ist.
-
(2) Beschreibung des in
Bezug stehenden Stands der Technik
-
In
den vergangenen Jahren sind Multimedia-Informationen zunehmend üblich geworden.
Vor diesem Hintergrund zusammen mit anderen Faktoren sind die Entwicklungen
von LSIs, umfassend eine oder mehrere DSPs (Digital Signal Processors)
und MPUs (Micro Processing Units), fortgeführt worden.
-
Weitere
Entwicklungen von komplexen LSIs mit hoher Leistung, die, zusammen
mit MPUs, unabhängige
Schaltungen, wie beispielsweise AV-(Audio Visual)-Decodierer und Festplattensteuereinheiten umfassen,
sind fortgeführt
worden.
-
Schaltungen,
die innerhalb solcher komplexer LSIs enthalten sind, sind unabhängige Schaltungen,
die dazu geeignet sind, arithmetische Operationen und andere Operationen
durchzuführen,
um deren jeweiligen Funktionen auszuführen, und zwar unter Verwendung
von unabhängigen,
lokalen Speichern. Hierbei werden, durch Aufbauen einer LSI so, dass
diese Schaltungen gemeinsam denselben Speicher teilen, um arithmetische
Operationen und andere Operationen durchzuführen, um deren jeweiligen Funktionen
auszuführen,
eine Verringerung der Kosten für
die Komponenten und andere Effekte realisiert.
-
Um
dies zu erfüllen
ist es erforderlich, dass eine Speicher-Steuervorrichtung innerhalb
einer LSI vorgesehen wird, um die Konkurrenzsituation für einen
Zugriff auf den gemeinsam geteilten Speicher unter den Schaltungen
zu arbitrieren.
-
Speicher-Steuervorrichtungen
vermitteln Zugriffsanforderungen von einer Mehrzahl von Schaltungen,
wie beispielsweise DSPs und MPUs (nachfolgend be zeichnet als „Busmaster"), d. h. Bus-Anforderungen
für die
Benutzung eines Speicherbusses, um zu ermöglichen, dass nur ein Busmaster
zu einem Zeitpunkt auf den gemeinsam geteilten Speicher zugreift.
Das bedeutet, dass die Speicher-Steuervorrichtung
ein Recht für
die Benutzung des Speicherbusses nur einem Busmaster zu einem Zeitpunkt
erteilt.
-
Andererseits
gibt jeder Busmaster eine Bus-Anforderung zu der Speicher-Steuervorrichtung aus,
wenn auf einen Zugriff auf den Speicher gewartet wird, und führt eine
Datenübertragung
zu oder von dem Speicher unter Verwendung des Speicherbusses durch,
wenn das Recht zur Benutzung des Busses erteilt ist.
-
Wenn
Daten vorhanden sind, die kontinuierlich verarbeitet werden sollen,
um, zum Beispiel, ein Bild und/oder einen Klang in einer Realzeit
abzuspielen, wird von einigen Busmastern gefordert, die Daten unter
einer festgelegten Übertragungsrate
zu übertragen.
-
Ein
solcher Busmaster, der dazu erforderlich ist, Daten unter einer
festgelegten Übertragungsrate zu übertragen,
besitzt eine ihm eigene Anforderung für Zeitintervalle, innerhalb
denen die Übertragungsrate
beibehalten werden muss. Die Zeitintervalle werden in Abhängigkeit
von der Größe des Eingangs-Ausgangs-Puffers,
der enthalten ist, dem Typ einer Datenverarbeitung, der eingesetzt
wird, und von anderen Faktoren bestimmt. Zum Beispiel wird von einigen
Busmastern gefordert, dass die Übertragungsrate
500 Kilo-Bytes pro Millisekunde (KB/ms) in Bezug auf alle zwei Millisekunden
(ms) beibehalten wird. Von einigen anderen Busmastern wird gefordert,
dass die Übertragungsrate
von 500 KB/ms in Bezug auf alle 1 ms beibehalten wird, was eine
kürzere
Zeitgrenze ermöglicht,
um die Übertragungsrate sicherzustellen.
-
Vorausgesetzt,
dass der Speicher ausschließlich
verwendet wird, gibt ein Busmaster grundsätzlich eine Bus-Anforderung
wiederholt unter den Zeitintervallen aus, innerhalb denen die Übertragungsrate
beibehalten werden sollte. Nachfolgend werden solche Zeitintervalle,
innerhalb denen die Übertragungsrate
beibehalten werden sollte, als Bus-Anforderungs-Zyklen bezeichnet.
-
Um
eine LSI auszulegen, die eine Mehrzahl von Busmastern umfasst, die
eine Datenübertragung unter
einer festgelegten Übertragungsrate,
und eine Speichervorrichtung, erfordern, ist es notwendig, einen
Arbitrierer-Mechanismus in der Speicher- Steuervorrichtung unter Berücksichtigung
einer Übertragungsrate
und eines Bus-Anforderungszyklus aufzubauen, die für jeden
Busmaster erforderlich sind.
-
Unter
einer geeigneten Arbitrierung bzw. Vermittlung wird jedem Busmaster
ermöglicht,
Daten unter einer angeforderten Übertragungsrate
zu übertragen.
Allerdings kann, in dem Fall, bei dem eine Vermittelung nicht geeignet
ist, ein Problem dahingehend vorhanden sein, dass einer oder mehrere
der Busmaster dahingehend fehlschlagen, Daten unter deren geforderten Übertragungsraten
innerhalb deren Bus-Anforderungszyklen
zu übertragen.
-
Herkömmliche
Speicher-Steuervorrichtungen umfassen typischerweise einen Arbitrierer-Mechanismus,
der ein Prioritätsschema,
in dem eine Priorität
gegeben wird auf einer Basis „zuerst
angekommen, zuerst bedient",
oder ein Prioritätsschema,
in dem jeder Busmaster entsprechend seinen zugeordneten Prioritäten vermittelt
wird, einsetzt.
-
Nachfolgend
wird eine Beschreibung der Probleme, die solchen herkömmlichen
Speicher-Steuervorrichtungen zugeordnet sind, vorgenommen.
-
Hier
wird dem Fall Beachtung geschenkt, bei dem die Bandbreite eines
Speicherbusses ungefähr 800
KB/ms beträgt
und eine LSI zwei Busmaster A und B umfasst. Wenn dabei Daten vorhanden
sind, die kontinuierlich verarbeitet werden müssen, wird von dem Bus A gefordert,
1000 KB an Daten innerhalb eines Bus-Anforderungs-Zyklus von 2 ms zu übertragen,
während
von dem Busmaster B gefordert wird, 100 KB an Daten innerhalb eines
Bus-Anforderungs-Zyklus von 1 ms zu übertragen, was nur die Hälfte des
Zeitrahmens zulässt,
verglichen mit dem Bus-Anforderungs-Zyklus
des Busmasters A. Weiterhin wird angenommen, dass ein Prioritätsschema
auf der Basis zuerst angekommen, zuerst behandelt, eingesetzt wird,
und dass der Busmaster A eine Bus-Anforderung zuerst ausgibt. Alternativ
wird angenommen, dass eine Arbitrierung bzw. Vermittlung basierend
auf deren Prioritäten
durchgeführt
wird, und dass der Busmaster A eine höhere Priorität besitzt.
-
In
beiden Fällen
erteilt, wenn der Busmaster A eine Bus-Anforderung zu einer herkömmlichen Speicher-Steuervorrichtung
ausgibt, die Speicher-Steuervorrichtung ein Busnutzungsrecht zu dem
Busmaster A, um eine Datenübertragung
zuzulassen. Daraufhin überträgt der Busmaster
A 1000 KB an Daten, was 1 ms oder länger benötigt. Als eine Folge ist die
Speicher-Steuervorrichtung nicht in der Lage, unmittelbar auf eine
Bus-Anforderung von dem Busmaster B anzusprechen, der alle 1 ms
ausgegeben ist.
-
Unter
diesen Umständen
muss der Busmaster B mit einer Latenzzeit länger als 1 ms, um auf einen
Speicher zuzugreifen, eingestellt werden. Demzufolge schlägt der Busmaster
B fehl, gleichförmig 100
KB an Daten zu oder von dem Speicher in jedem Zyklus von 1 ms zu übertragen,
was zu einer nicht konsistenten Datenübertragung führt. Mit
anderen Worten wird die Übertragungsrate,
die für
den Busmaster B erforderlich ist, nicht innerhalb jedes Bus-Anforderungszyklus
beibehalten.
-
Wie
vorstehend beschrieben ist, kann die herkömmliche Speicher-Steuervorrichtung,
die einen Arbitrierungsmechanismus besitzt, basierend auf einer
Basis zuerst angekommen, zuerst behandelt, oder auf einer Basis
einer zugeordneten Priorität, eine
Verwaltung vornehmen, um die Übertragungsrate,
erforderlich für
jeden Busmaster, auf einer Langzeitbasis sicherzustellen. Allerdings
ist eine solche herkömmliche
Speicher-Steuervorrichtung nicht in der Lage, die Übertragungsraten
auf einer Kurzzeitbasis sicherzustellen, was ein Problem ist.
-
Um
sich dem vorstehenden Problem zuzuwenden, muss eine Speicher-Steuervorrichtung
unter Berücksichtigung
einer Vorgabe im voraus der Übertragungsrate,
erforderlich für
jeden Busmaster, und der Zeitintervalle, innerhalb denen die Übertragungsrate
sichergestellt werden muss, ausgelegt werden.
-
Allerdings
unterscheidet sich ein Vorgang, der erforderlich ist, dass ihn jeder
Busmaster durchführt,
in Abhängigkeit
von einer Vorrichtung, in der eine LSI eingesetzt ist. Demzufolge
unterscheiden sich die Übertragungsrate
und der Bus-Anforderungs-Zyklus,
erforderlich für
jeden Busmaster. Unter diesen Umständen ist es sehr schwierig,
eine Speicher-Steuervorrichtung unter Berücksichtigung von im voraus
gegebenen, spezifischen Abläufen,
die erforderlich sind, dass sie jeder Busmaster später durchführte, auszulegen.
-
Weiterhin
sind LSIs Jahr für
Jahr verbessert worden. Im Hinblick auf eine Kostenverringerung,
die für
eine zukünftige
Entwicklung eines Einsetzens einer neuen Schaltung in LSIs erforderlich
ist, ist ein Erfordernis nach einem Entwickeln und Auslegen einer
Mehrzweck- bzw. Versatile-Speicher-Steuervorrichtung vorhanden,
die dazu geeignet ist, Datenübertragungsraten
sicherzustellen, welche Schaltungen auch immer in der LSI eingesetzt
sind. Eine solche Mehrzweck-Speicher-Steuervorrichtung wird die Verwendung
der dazu ausgelegten Ressourcen über eine
lange Zeitdauer realisieren.
-
Die
US 5784569 offenbart einen
Arbitrierungsvorgang, bei dem jede Vorrichtung einem bestimmten
Umfang einer Bandbreite zugeordnet werden kann, die dahingehend
garantiert ist, dass sie für diese
Vorrichtung innerhalb eines gegebenen Zeitintervalls verfügbar ist.
Eine überschüssige Bandbreite,
die nicht durch die erteilten Zuordnungen verbraucht ist, kann als
Restbandbreite (z. B. verfügbar, allerdings
nicht zugeteilt) durch die Vorrichtungen verwendet werden.
-
Die
US 6138200 offenbart einen
Arbitrierungsvorgang, bei dem ein Bus-Frame berechnet wird und eine
Vielzahl von Bus-Dauer-Zeitschlitzen innerhalb des Bus-Frames bestimmt wird.
Der Bus-Frame gleicht dem kleinsten Anwendungs-Frame, d. h. dem
minimalen Zeitraum, während
dem eine Anwendung einen Datenübertragungsvorgang durchführen muss.
Bus-Dauer-Zeitschlitze während des
Bus-Frames werden für
jede Anwendung berechnet. Eine Busmaster-Steuereinheit ordnet dann eine
Steuerung während
jedes Bus-Dauer-Zeitschlitzes zu.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung ist im Hinblick auf ein solches Erfordernis,
wie vorstehend, gemacht worden, und zielt darauf, eine Mehrzweck-Speicher-Steuervorrichtung
zu schaffen, die eine Konkurrenzsituation für einen Speicherzugriff arbitriert
bzw. vermittelt, während
die Übertragungsrate,
erforderlich für
jeden Busmaster, innerhalb des Zeitraums, erforderlich für jeden
Busmaster, sichergestellt wird. Die vorliegende Erfindung zielt
auch darauf, eine LSI zu schaffen, die eine solche Speicher-Steuervorrichtung
und Busmaster umfasst.
-
Um
die vorstehenden Aufgaben zu lösen, wird
eine Speicher-Steuervorrichtung der vorliegenden Erfindung so vorgeschlagen,
wie sie in den beigefügten
Ansprüchen
definiert ist.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Diese
und andere Aufgaben, Vorteile und Merkmale der Erfindung werden
aus der nachfolgenden Beschreibung ersichtlich werden, die in Verbindung
mit den beigefügten
Zeichnungen vorgenommen wird, die eine spezifische Ausführungsform
der Erfindung darstellen.
-
In
den Zeichnungen:
-
1 zeigt
ein Blockdiagramm der LSI 100, umfassend eine Speicher-Steuervorrichtung,
die mit der Ausführungsform
1 der vorliegenden Erfindung übereinstimmt;
-
2 zeigt
eine Ansicht, die die Datenstruktur und ein Beispiel eines Inhalts
von Übertragungsraten-Informationen,
gegeben von einer externen Vorrichtung, und gespeichert in der Übertragungsraten-Informations-Speichereinheit 111,
darstellt;
-
3 zeigt
eine Ansicht, die die Datenstruktur und ein Beispiel eines Inhalts
von Zeitpunkt-Informationen, erzeugt durch die Zeitpunkt-Informations-Generatoreinheit 112,
und gespeichert und in der Zeitpunkt-Informations-Speichereinheit 113,
darstellt;
-
4 zeigt
ein Flussdiagramm, das die Operationen der Zeitpunkt-Informations-Generatoreinheit 112 darstellt;
-
5 zeigt
ein Flussdiagramm, das den Arbitrierungsvorgang darstellt, den die
Arbitrierereinheit 114 durchführt;
-
6 zeigt
ein Zeitabstimmungsdiagramm, das Änderungen mit der Zeit in Bus-Anforderungen, herausgegeben
von den Busmastern A–C,
und das Busnutzungsrecht, erteilt durch die Speicher-Steuereinheit 110,
darstellt;
-
7 zeigt
eine Ansicht, die den Aufbau der LSI 500, umfassend eine
Speicher-Steuervorrichtung, die mit der Ausführungsform 2 der vorliegenden Erfindung übereinstimmt,
darstellt;
-
8 zeigt
ein Flussdiagramm, das einen Arbitrierungsvorgang darstellt, den
die Arbitrierereinheit 514 durchführt;
-
9 zeigt
ein Zeitabstimmungsdiagramm, das Änderungen mit der Zeit in Bus-Anforderungen von
den Busmastern A–D
und das Busnutzungsrecht, erteilt durch die Speicher-Steuereinheit 510, darstellt;
-
10 zeigt
ein Flussdiagramm, das ein Modifikationsbeispiel des Arbitrierungsvorgangs
darstellt, den die Arbitrierereinheit 514 durchführt; und
-
11 zeigt
ein Zeitabstimmungsdiagramm, das Änderungen mit der Zeit in Bus-Anforderungen, herausgegeben
durch die Busmaster A–D,
und das Busnutzungsrecht, erteilt durch die Speicher-Steuereinheit 510,
unter dem Zustand darstellt, bei dem die Arbitrierereinheit 514 den
modifizierten Arbitrierungsvorgang durchführt.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Nachfolgend
wird eine Beschreibung einer LSI angegeben, die eine Mehrzahl von
Busmastern und eine Speicher-Steuervorrichtung, die übereinstimmend
mit bevorzugten Ausführungsformen
der vorliegenden Erfindung ist, umfasst.
-
AUSFÜHRUNGSFORM 1
-
Aufbau
-
1 zeigt
eine Ansicht, die den Aufbau einer LSI 100, umfassend eine
Speicher-Steuervorrichtung, die mit einer Ausführungsform 1 der vorliegenden
Erfindung übereinstimmt,
darstellt. Es ist anzumerken, dass, zusammen mit der LSI 100,
ein vereinheitlichter Speicher 200 in 1 dargestellt
ist.
-
Die
LSI 100 ist eine LSI, die in Heim-Informationsgeräten oder
anderen Vorrichtungen eingesetzt werden soll, und umfasst eine Speicher-Steuereinheit 110,
einen Busmaster A 121, einen Busmaster B 122,
einen Busmaster C 123 und einen Taktgenerator 190.
Die LSI 100 ist mit dem vereinheitlichten Speicher 200 ebenso
wie mit anderen, externen Vorrichtungen verbunden, obwohl solche
externen Vorrichtungen nicht in 1 dargestellt
sind.
-
Hierbei
ist der Taktgenerator 190 eine Schaltung, die Taktsignale
zu der Speicher-Steuereinheit 110, den Busmastern A–C und dem
vereinheitlichten Speicher 200 zuführt.
-
Die
Busmaster A 121, B 122, und C 123 sind, zum
Beispiel, MPUs, die den vereinheitlichten Speicher 200 als
einen Hauptspeicher verwenden, oder DSPs zum Speichern von Daten,
wie beispielsweise Bilddaten, in dem vereinheitlichten Speicher 200,
und unabhängig
auf den vereinheitlichten Speicher 200 zugreifen, um eine
Datenübertragung
durchzuführen. Das
bedeutet, dass dann, wenn darauf gewartet wird, eine Datenübertragung
durchzuführen,
jeder der Busmaster A–C
getrennt eine Bus-Anforderung
zu der Speicher-Steuereinheit 110 über eine entsprechende REQ
Signalleitung ausgibt, und ein Busnutzungsrecht von der Speicher-Steuereinheit 110 über eine
entsprechende GNT Signalleitung erhält. Innerhalb des Zeitraums,
für die
das Busnutzungsrecht erteilt wird, führt der Busmaster eine Datenübertragung synchron
zu der Arbitrierereinheit 114, umfasst in der Speicher-Steuereinheit 110,
basierend auf der Zeitabstimmung, die durch Taktsignale von dem
Taktgenerator 190 geliefert werden, durch.
-
In 1 sind
Bus-Anforderungen von den Busmastern als REQ-A, REQ-B und REQ-C,
jeweils, bezeichnet, während
eine Erteilung der Busnutzungsrechte an die Busmaster mit GNT-A,
GNT-B und GNT-C, jeweils, bezeichnet sind.
-
Es
ist anzumerken, dass eine Datenübertragung
durch (1) eine Speicheradressierung und (2) ein Datenschreiben zu
oder Datenlesen von dem vereinheitlichten Datenspeicher durchgeführt wird,
was dazu führt,
dass die Adresse und die Daten über
den Speicherbus übertragen
werden. Daten, die jeder Busmaster zu und von dem vereinheitlichten
Speicher 200 überträgt, können Bilddaten
sein, die der Busmaster basierend auf Daten, eingegeben von einer
externen Vorrichtung, erzeugt hat, und die nicht zu einer Anzeigevorrichtung
ausgegeben werden sollen.
-
Jeder
Busmaster führt
eine Datenübertragung
unabhängig
durch und es ist erforderlich, Daten zu oder von dem vereinheitlichten
Speicher unter einer festgelegten Übertragungsrate so zu übertragen, dass,
zum Beispiel, ein Bild zu einer Anzeigevorrichtung ohne Unterbrechung
ausgegeben wird. Es sollte angemerkt werden, dass allerdings die
Busmaster nicht immer eine Datenübertragung
zu oder von dem vereinheitlichten Speicher kontinuierlich durchführen können. Zum
Beispiel führt,
während
der Zeit, für
die eine externe Vorrichtung kontinuierlich Daten zu einem Busmaster
eingibt, und darauffolgend diese Daten, die gesendet werden sollen,
erzeugt und innerhalb des Busmasters akkumuliert werden, der Busmaster
kontinuierlich eine Datenübertragung
zu dem vereinheitlichten Speicher hin durch. Andererseits führt, während der
Zeit, für
die keine Daten, die übertragen
werden sollen, akkumuliert werden sollen, der Busmaster keine Datenübertragung
zu dem vereinheitlichten Speicher durch.
-
Weiterhin
vermittelt die Speicher-Steuereinheit 110 einen Zugriff
von den Busmastern zu dem vereinheitlichten Speicher 200 basierend
auf Übertragungsraten-Informationen, die
von einer externen Vorrichtung ausgegeben sind, und umfasst eine Speichereinheit 111 für Übertragungsraten-Informationen,
eine Zeitpunkt-Informations-Generatoreinheit 112,
eine Zeitpunkt-Informations-Speichereinheit 113 und eine
Arbitrierereinheit 114.
-
Hierbei
ist die Übertragungsraten-Informations-Speichereinheit 111 ein
Speicherbereich zum Speichern der Übertragungsraten-Informationen,
die von der exter nen Vorrichtung ausgegeben sind. Es ist anzumerken,
dass die Übertragungsraten-Informationen später im Detail
beschrieben werden.
-
Die
Zeitpunkt-Informations-Generatoreinheit 112 besitzt eine
Funktion zum Erzeugen von Zeitpunkt-Informationen in Bezug auf die Übertragungsraten-Informationen, gespeichert
in der Übertragungsraten-Informations-Speichereinheit 111,
und zum Speichern der so erzeugten Zeitpunkt-Informationen in der
Zeitpunkt-Informations-Speichereinheit 113.
Es ist anzumerken, dass die Zeitpunkt-Informationen später im Detail beschrieben werden.
-
Die
Zeitpunkt-Informations-Speichereinheit 113 ist ein Speicherbereich
zum Speichern der Zeitpunkt-Informationen.
-
Die
Arbitriereinheit 114 besitzt eine Funktion, Bezug auf die
Zeitpunkt-Informationen
zu nehmen, die in der Zeitpunkt-Informations-Speichereinheit 113 gespeichert
sind, unter einer vorbestimmten Zeitabstimmung, geliefert durch
Taktsignale von dem Taktgenerator 190, um zu prüfen, ob
eine Bus-Anforderung, ausgegeben von irgendeinem der Busmaster, vorhanden
ist, und unter Erteilen des Busnutzungsrechts sequenziell und selektiv
zu den Busmastern, die eine Bus-Anforderung herausgeben. Jeder Busmaster
gibt eine Bus-Anforderung zu der Arbitrierereinheit 114 durch
Versetzen der REQ-Signalleitung in einen aktiven Zustand aus, während die
Arbitrierereinheit 114 das Busnutzungsrecht zu einem der
Busmaster durch Versetzen einer entsprechenden GNT-Signalleitung
in einen aktiven Zustand erteilt. Es ist anzumerken, dass jeder
Busmaster die REQ-Signalleitung in einem aktiven Zustand hält, so lange
wie eine Datenübertragung
durchgeführt
werden muss.
-
Daten
-
2 zeigt
eine Ansicht, die die Datenstruktur und ein Beispiel eines Inhalts
von Übertragungsraten-Informationen,
gegeben von einer externen Vorrichtung aus, und dann gespeichert
in der Übertragungsraten-Informations-Speichereinheit 111, darstellt.
-
Wie
in der Figur dargestellt ist, sind die Übertragungsraten-Informationen 300 Informationen,
die aus Paaren von Informationselementen zusammengesetzt sind, die
einen Anforderungszyklus 302 und eine Datenmenge 303 pro Übertragung
sind, und zwar in Bezug auf jeden der Busmaster A–C. Die Übertragungsraten-Informationen
werden eingestellt, bevor jeder Busmaster in der LSI eine Verarbeitung
beginnt, was einen Zugriff auf den vereinheitlichten Speicher 200,
und demzufolge eine Datenübertragung
durch, zum Beispiel, eine externe Vorrichtung, die extern zu der
LSI angeordnet ist, einen Speicher und eine CPU besitzt, und die
LSI 100 steuert, mit sich bringt.
-
Hier
ist der Anforderungszyklus 302 ein Zeitintervall, innerhalb
dem die Übertragungsrate,
erforderlich für
jeden Busmaster, beibehalten werden soll, wenn Daten kontinuierlich
verarbeitet werden sollen. Es ist anzumerken, dass dann, wenn Daten
vorhanden sind, die kontinuierlich verarbeitet werden sollen, jeder
Busmaster grundsätzlich
eine Bus-Anforderung in einem entsprechenden Anforderungszyklus 302 oder
einem kürzeren
Zyklus ausgibt.
-
Weiterhin
ist die Datenmenge 303 pro Übertragung eine Menge an Daten,
die jeder Busmaster innerhalb eines entsprechenden Anforderungszyklus 302 übertragen
muss.
-
Das
Beispiel, das in der Figur dargestellt ist, zeigt an, dass dort
Daten vorhanden sind, die kontinuierlich übertragen werden sollen, der
Busmaster A 1000 Kilo-Bites
(KB) an Daten pro 2000 Mikrosekunden (μs) übertragen muss, der Busmaster
B 140 KB an Daten pro 1000 μs übertragen
muss und der Busmaster C 400 KB an Daten pro 4000 μs übertragen muss.
-
Mit
anderen Worten zeigen die Übertragungsraten-Informationen 300 in
der Figur das Folgende an. Von dem Busmaster A wird gefordert, eine Datenübertragung
unter der Übertragungsrate
von 500 KB/ms innerhalb des Zeitraums von 2000 μs durchzuführen, von dem Busmaster B wird
gefordert, eine Datenübertragung
unter der Übertragungsrate von
100 KB/ms innerhalb des Zeitraums von 1000 μs durchzuführen, und von dem Busmater
C wird gefordert, eine Datenübertragung
unter der Übertragungsrate
von 100 KB/ms innerhalb des Zeitraums von 4000 μs durchzuführen. In Bezug auf die Busmaster A–C besitzt
der Busmaster B die kleinste Zeitvorgabe, die zugelassen wird, um
die Übertragungsrate
sicherzustellen, und der Busmaster C besitzt die größte Zeitvorgabe,
die zugelassen wird, um die Übertragungsrate
sicherzustellen.
-
Es
ist anzumerken, dass der externen Vorrichtung, die eine CPU, und
dergleichen, umfasst, ermöglicht
wird, zu der Speicher-Steuereinheit 100 die Übertragungsraten-Informationen 300 in
Abhängigkeit
von den Spezifikationen jedes Busmasters einzugeben. Als solche
ist die Speicher-Steuereinheit 100 so aufgebaut, um eine
ex terne Eingabe von Übertragungsraten-Informationen 300 zu
ermöglichen,
die bestimmt, welche Steuerungen ausgeführt werden können. Dieser
Aufbau stattet die Speicher-Steuereinheit 100 mit einer
Vielseitigkeit aus.
-
3 zeigt
eine Ansicht, die die Datenstruktur und ein Beispiel eines Inhalts
der Zeitpunkt-Informationen, erzeugt durch die Zeitpunkt-Informations-Generatoreinheit 112,
und gespeichert in der Zeitpunkt-Informations-Speichereinheit 113,
darstellt.
-
Wie
in der Figur dargestellt ist, sind die Zeitpunkt-Informationen 400 aus
einem Anforderungserfassungszyklus 401 und einem In-Zyklus-Busnutzungszulassungs-Zeitraum 402 zusammengesetzt. Hierbei
ist der Anforderungserfassungszyklus 401 eine Information,
die einen Zeitraum anzeigt, den die Zeitpunkt-lnformations-Generatoreinheit 112 als
ein Intervall für
die Arbitrierereinheit 114 bestimmt, um eine Bus-Anforderung
von den Busmastern A–C
zu erfassen.
-
Weiterhin
ist der In-Zyklus-Busnutzungszulassungs-Zeitraum 402 eine
Information, die einen Zeitraum anzeigt, während dem jedem Busmaster ermöglicht wird,
den Speicherbus zu verwenden, um eine Datenübertragung, erforderlich innerhalb
des Anforderungserfassungszyklus 401, durchzuführen, d.
h. ein Zeitraum, während
dem das Busnutzungsrecht erteilt wird. Es ist anzumerken, dass der
vereinheitlichte Speicher 200 in dieser Ausführungsform den
Speicherbus besitzt, dessen Bandbreite 800 KB/ms beträgt.
-
Es
ist anzumerken, dass jeder Zeitraum in den Zeitpunkt-Informationen
tatsächlich,
zum Beispiel, durch die Zählung
von Taktsignalen, die der Taktgenerator 190 erzeugt, dargestellt
ist.
-
Operationen
-
Nun
wird eine Beschreibung der Operationen bzw. Betriebsweisen der Speicher-Steuereinheit 110,
die den vorstehenden Aufbau besitzt, angegeben.
-
In
dem Zustand, in dem die Übertragungsraten-Informations-Speichereinheit 111 Übertragungsraten-Informationen
speichert, die von einer externen Vorrichtung aus gegeben sind,
führt die
Zeitpunkt-Informations-Generatoreinheit 112 Operationen
durch, die in 4 dargestellt sind.
-
4 zeigt
ein Flussdiagramm, das die Betriebsweisen der Zeitpunkt-Informations-Generatoreinheit 112 darstellt.
-
Unter
Bezugnahme auf die Anforderungszyklen jedes Busmasters, der die Übertragungsraten-Informationen
anzeigt, bestimmt die Zeitpunkt-Informations-Generatoreinheit 112 den kürzesten,
angeforderten Zyklus als den Anforderungserfassungszyklus, um in
die Zeitpunkt-Informationen eingeschlossen zu werden (Schritt S11).
-
Dann
erhält,
unter Verwendung der Übertragungsraten-Informationen
und des Anforderungserfassungszyklus, bestimmt in dem Schritt S11,
die Zeitpunkt-Informations-Generatoreinheit 112,
in Bezug auf jeden Busmaster, eine Datenübertragungsmenge, die jeder
Busmaster innerhalb jedes angeforderten Erfassungszyklus überträgt (Schritt
S12). Die Zeitpunkt-Informations-Generatoreinheit 112 teilt dann
die so erhaltene Datenübertragungsmenge durch
die Busbandbreite des Speicherbusses, um dadurch, in Bezug auf jeden
Busmaster, den In-Zyklus-Busnutzungszulassungs-Zeitraum zu erhalten, der in den Zeitinformationen
eingeschlossen werden soll (Schritt S13). Es ist anzumerken, dass
die Zeitpunkt-Informations-Generatoreinheit 112 Daten,
die sich auf die Bandbreite des Speicherbusses, zum Beispiel, beziehen,
in dem internen Speicher der LSI speichert und die arithmetischen
Operationen in dem Schritt S13 unter Verwendung der gespeicherten Bandbreitendaten
ausführt.
-
Die
Zeitpunkt-Informations-Generatoreinheit 112 speichert die
Zeitpunkt-Informationen,
erhalten in der vorstehenden Art und Weise, in die Zeitpunkt-Informations-Speichereinheit 113.
Es wird angenommen, dass solche Operationen der Zeitpunkt-Informations-Generatoreinheit 112 innerhalb eines
relativ kurzen Zeitraums durchgeführt werden, nachdem eine Zufuhr
elektrischer Energie zu der LSI begonnen hat.
-
Es
ist anzumerken, dass dann, wenn, zum Beispiel, die Zeitpunkt-Informations-Generatoreinheit 112 Zeitpunkt-Informationen
basierend auf den Übertragungsraten-Informationen 300,
dargestellt so, wie in einem Beispiel in 2, erzeugt,
die sich ergebenden Zeitpunkt-Informationen so sind, wie dies in 3 dargestellt
ist.
-
Als
nächstes
wird eine Beschreibung eines Arbitrierungsvorgangs angegeben, den
die Arbitrierereinheit 114 durchführt, nachdem die Zeitpunkt-Informationen
erzeugt worden sind.
-
5 zeigt
ein Flussdiagramm, das den Arbitrierungsvorgang darstellt, den die
Arbitrierereinheit 114 durchführt.
-
Unter
Bezugnahme auf die Zeitpunkt-Informationen ebenso wie auf Taktsignale,
geliefert durch den Taktgenerator 190 unter festgelegten
Zeitintervallen, wartet die Arbitrierereinheit 114 auf
den Zeitpunkt, zu dem jeder angeforderte Erfassungszyklus ankommt
(nachfolgend wird der Zeitpunkt als „Anforderungserfassungszeitpunkt" bezeichnet). Wenn
der Anforderungserfassungszeitpunkt kommt, prüft die Arbitrierereinheit 114,
ob dort eine Bus-Anforderung vorhanden ist, die von irgendeinem
der Busmaster ausgegeben ist (Schritt S21).
-
Die
Arbitrierereinheit 114 beurteilt, ob eine Bus-Anforderung
von irgendeinem der Busmaster zu dem Zeitpunkt einer Prüfung in
dem Schritt S21 erfasst worden ist (Schritt S22). Wenn keine Bus-Anforderung
von irgendeinem der Busmaster erfasst worden ist, geht die Arbitrierereinheit 114 zurück zu dem Schritt
S21 und wartet darauf, dass der nächste Anforderungserfassungszeitpunkt
kommt.
-
Wenn
die Beurteilung in dem Schritt S22 ergibt, dass eine Bus-Anforderung
erfasst worden ist, erteilt die Arbitrierereinheit 114 das
Busnutzungsrecht zu einem der Busmaster, der eine Bus-Anforderung
ausgegeben hat (Schritt S23).
-
Nach
Erteilen des Busnutzungsrechts zu dem Busmaster zählt die
Arbitrierereinheit 114 Taktsignale, um das erteilte Busnutzungsrecht
unter Ablauf des In-Zyklus-Busnutzungszulassungs-Zeitraums
entsprechend zu diesem Busmaster zu beenden (Schritt S24). Das bedeutet,
dass, in den Schritten S23 und S24, die GNT-Signalleitung einer der Busmaster in
einen aktiven Zustand für
die Dauer eines entsprechenden In-Zyklus-Busnutzungszulassungs-Zeitraums
versetzt wird und dann zurück
in einen inaktiven Zustand versetzt wird.
-
Dem
Schritt S24 folgend beurteilt die Arbitrierereinheit 114,
ob dort in dem am kürzesten
vorher durchgeführten
Schritt S21 eine andere Bus-Anforderung von einem Busmaster, ein
anderer als derjenige, dem bereits das Busnutzungsrecht erteilt
worden ist, vorhanden ist (Schritt S25). Wenn keine solche Anforderung
erfasst worden ist, geht die Arbitrierereinheit 114 zurück zu dem
Schritt S21 und wartet, dass der nächste Anforderungserfassungszeitpunkt kommt.
-
Die
Beurteilung in dem Schritt S25 führt
dazu, dass eine andere Bus-Anforderung
von einem Busmaster, ein anderer als der eine, dem bereits ein Busnutzungsrecht
erteilt worden ist, erfasst ist, wobei die Arbitrierereinheit 114 zurück zu dem
Vorgang des Schritts S23 geht.
-
Demzufolge
erteilt, wenn das Ablaufen der Zeit als eine Reihe von Anforderungserfassungszyklen
ausgedrückt
ist, die Arbitrierereinheit 114 das Busnutzungsrecht, und
zwar innerhalb jedes Anforderungserfassungszyklus, zu jedem Busmaster,
der einen Bus-Anforderungs-Zeitraum zu dem momentanen Anforderungserfassungszyklus
für die
Dauer eines entsprechenden In-Zyklus-Busnutzungszulassungs-Zeitraums ausgegeben
hat.
-
6 zeigt
ein Zeitdiagramm, das Änderungen über die
Zeit in Bus-Anforderungen,
ausgegeben von den Busmastern A–C,
und das Busnutzungsrecht, erteilt durch die Speicher-Steuereinheit 110, darstellt.
-
Das
Zeitdiagramm zeigt ein Ergebnis, dass die Speicher-Steuereinheit 110 eine
Konkurrenzsituation unter den Busmastern für einen Speicherzugriff, basierend
auf den Übertragungsraten-Informationen 300,
dargestellt als ein Beispiel in 2, vermittelt.
-
Wie
anhand der Figur ersichtlich ist, wird der Anforderungserfassungszyklus
so eingestellt, dass er 1000 μs
beträgt,
um so mit dem Busmaster B übereinzustimmen,
der den kürzesten
Anforderungserfassungszyklus hat, und das Busnutzungsrecht wird sequenziell
zu den Busmastern A, B und C für
den Zeitraum von 625 μs,
125 μs und
125 μs,
jeweils, erteilt. Da die Bandbreite des Speicherbusses 800 KB/ms
beträgt, übertragen
der Busmaster A, der Busmaster B und der Busmaster C 500 KB, 100
KB und 100 KB an Daten, jeweils, innerhalb eines Anforderungserfassungszyklus.
-
Dementsprechend überträgt der Busmaster A
1000 KB an Daten in einem Zeitraum von 2000 ms, der Busmaster B überträgt 100 KB
an Daten in einem Zeitraum von 1000 ms und der Busmaster C überträgt 400 KB
an Daten in einem Zeitraum von 4000 ms. Dies bedeutet, dass jeder
Busmaster erfolgreich Daten unter deren erforderlichen Übertragungsraten innerhalb
jeder der erforderlichen Zeitvorgaben überträgt.
-
AUSFÜHRUNGSFORM 2
-
Nachfolgend
wird eine Beschreibung einer Speicher-Steuervorrichtung, die mit
einer bevorzugten Ausführungsform
2 der vorliegenden Erfindung übereinstimmt,
angegeben. Die Speicher-Steuereinheit 110, die in der Ausführungsform
1 beschrieben ist, besitzt eine Funktion, eine Konkurrenzsituation für einen
Speicherzugriff unter den Busmastern A–C zu vermitteln, wobei von
jedem gefordert ist, eine Datenübertragung zu
oder von dem Speicher unter einer festgelegten Rate durchzuführen. Eine
Speicher-Steuervorrichtung, die mit der Ausführungsform 2 übereinstimmt,
besitzt eine Funktion, eine Konkurrenzsituation für einen
Speicherzugriff unter den Busmastern A–D zu vermitteln. Es ist anzumerken,
dass von dem Busmaster D nicht gefordert ist, die Übertragungsrate
unter der festgelegten Übertragungsrate durchzuführen, und
demzufolge führt
er eine Datenübertragung
nicht regulär
durch.
-
Aufbau
-
7 zeigt
eine Ansicht, die den Aufbau einer LSI 500, die eine Speicher-Steuervorrichtung umfasst,
die mit der Ausführungsform
2 der vorliegenden Erfindung übereinstimmt,
darstellt. Es ist anzumerken, dass, zusammen mit der LSI 500,
der vereinheitlichte Speicher 200 auch in 7 dargestellt ist.
-
Die
LSI 500 umfasst eine Speicher-Steuereinheit 510,
den Busmaster A 121, den Busmaster B 122, den
Busmaster C 123, den Busmaster D 124 und den Taktgenerator 190.
Die LSI 500 ist mit dem vereinheitlichten Speicher 200 ebenso
wie mit anderen, externen Vorrichtungen verbunden, obwohl solche
externen Vorrichtungen nicht in 7 dargestellt sind.
-
Es
ist anzumerken, dass, unter den Komponenten, die die LSI 500 bilden,
die Komponenten, die grundsätzlich
identisch zu solchen sind, die die LSI 100 bilden, beschrieben
in der Ausführungsform
1, in 7 mit denselben Bezugszeichen wie in 1 bezeichnet
sind, und eine detaillierte Beschreibung davon wird hier weggelassen.
-
Hier
ist der Taktgenerator 190 eine Schaltung, die Taktsignale
zu der Speicher-Steuereinheit 510,
den Busmastern A–D
und dem vereinheitlichten Speicher 200 zuführt.
-
Der
Busmaster D 124 greift auf den vereinheitlichten Speicher 200 zu,
um eine Datenübertragung
unabhängig
von den Busmastern A–C
durchzuführen.
Das bedeutet, dass der Busmaster D eine Bus-Anforderung zu der Speicher-Steuereinheit 510 dann
ausgibt, wenn darauf gewartet wird, eine Datenübertragung durchzuführen, und
erhält
das Busnutzungsrecht von der Speicher-Steuereinheit 510.
Innerhalb des Zeitraums, in dem das Busnutzungsrecht erteilt wird,
führt der
Busmaster D eine Datenübertragung
synchron zu einer Arbitrierereinheit 114, enthalten in
der Speicher- Steuereinheit 510,
basierend auf der Zeitabstimmung, die durch Taktsignale von dem
Taktgenerator 190 geliefert werden, durch.
-
Es
ist anzumerken, dass, im Gegensatz zu den Busmastern A–C, von
denen gefordert ist, eine Datenübertragung
unter der festgelegten Übertragungsrate
durchzuführen,
d. h. wo eine Bus-Anforderung regulär ausgegeben wird (dieser Typ
von Busmastern wird nachfolgend als „regulärer Typ" bezeichnet), der Busmaster D ein Typ
ist, der eine Bus-Anforderung unregelmäßig ausgibt (dieser Typ von
Busmastern wird nachfolgend als „irregulärer Typ" bezeichnet). Beispiele von Busmastern
eines irregulären
Typs umfassen MPUs, die eine Verarbeitung dann durchführen, wenn
eine externe Unterbrechung empfangen wird, die in Abhängigkeit
einer Benutzereingabe, vorgenommen zu einer in der LSI installierten
Vorrichtung, auftritt.
-
In 7 sind
Bus-Anforderungen von den Busmastern als REQ-A, REQ-B, REQ-C und
REQ-D, jeweils, bezeichnet, während
eine Erteilung der Busnutzungsrechte zu den Busmastern als GNT-A, GNT-B,
GNT-C und GNT-D, jeweils, bezeichnet sind.
-
Weiterhin
vermittelt bzw. arbitriert die Speicher-Steuereinheit 510 einen
Zugriff von den Busmastern A–D
auf dem vereinheitlichten Speicher 200, basierend auf den Übertragungsraten-Informationen, die
von einer externen Vorrichtung ausgegeben sind, und umfasst die Übertragungsraten-Informations-Speichereinheit 111,
die Zeitpunkt-Informations-Generatoreinheit 112, die Zeitpunkt-Informations-Speichereinheit 113,
die Arbitrierereinheit 514 und die Informationsspeichereinheit 515 für den irregulären Master.
-
Die
Informationsspeichereinheit 515 für den irregulären Master
ist ein Speicherbereich, der vorbereitend irreguläre Masterinformationen
speichert, die den Busmaster des irregulären Typs anzeigen. Die Informationen
für den
irregulären
Master sind notwendige Informationen für die Arbitrierereinheit 514, um
zu erkennen, welcher der Busmaster von dem irregulären Typ
ist.
-
Unter
Bezugnahme auf die Informationen für den irregulären Master,
gespeichert in der Informationsspeichereinheit 515 für den irregulären Master, und
den Zeitpunkt-Informationen, gespeichert in der Zeitpunkt-Informations-Speichereinheit 113,
prüft die Arbitrierereinheit 514,
ob eine Bus-Anforderung von irgendeinem der Busmaster, ein anderer
als der Busmaster vom irregulären
Typ, d. h. von irgendeinem der Busmaster A–C des regulären Typs,
vorliegt, und zwar unter einer vorbestimmten Zeitabstimmung, geliefert
durch Taktsignale von dem Taktgenerator 190. Die Arbitrierereinheit 114 erteilt
dann sequenziell und selektiv das Busnutzungsrecht zu den Busmastern, die
eine Bus-Anforderung herausgeben. Wenn ein Zeitraum vorhanden ist,
der innerhalb des momentanen Anforderungserfassungszyklus verbleibt,
in dem kein Busnutzungsrecht zu irgendeinem der Busmaster A–C des regulären Typs
erteilt ist, erteilt die Arbitrierereinheit 514 das Busnutzungsrecht
zu dem Busmaster D des irregulären
Typs, so lange wie der Busmaster D des irregulären Typs eine Bus-Anforderung ausgibt.
-
Operationen
-
Als
nächstes
wird eine Beschreibung von Operationen bzw. Betriebsweisen der Speicher-Steuereinheit 510,
die den vorstehenden Aufbau besitzt, angegeben.
-
Die
Zeitpunkt-Informations-Generatoreinheit 112 führt ähnliche
Operationen zu den Operationen, die in Ausführungsform 1 beschrieben sind,
durch (siehe 4).
-
8 zeigt
ein Flussdiagramm, das den Arbitrierungsvorgang darstellt, den die
Arbitrierereinheit 514 durchführt.
-
Unter
Bezugnahme auf die Zeitpunkt-Informationen und die Taktsignale,
geliefert unter in der Zeit festgelegten Intervallen von dem Taktgenerator 190,
wartet die Arbitrierereinheit 514 darauf, dass der Anforderungserfassungszeitpunkt
kommt. Wenn der Anforderungserfassungszeitpunkt kommt, prüft die Arbitrierereinheit 514,
ob eine Bus-Anforderung vorhanden ist, ausgegeben von irgendeinem
der Busmaster, einem anderen als der Busmaster vom irregulären Typ,
d. h. irgendeinem der Busmaster von regulären Typ (Schritt S31).
-
Die
Arbitrierereinheit 514 beurteilt, ob zu dem Zeitpunkt einer
Prüfung
im Schritt S31 eine Bus-Anforderung von irgendeinem der Busmaster des
regulären
Typs erfasst ist (Schritt S32).
-
Wenn
die Beurteilung in dem Schritt S32 dazu führt, dass eine Bus-Anforderung erfasst
worden ist, erteilt die Arbitrierereinheit 514 das Busnutzungsrecht
zu einem der Busmaster vom regulären Typ,
der eine Bus-Anforderung herausgab (Schritt S33). Die Arbitrierereinheit 514 zählt dann
Taktsignale, um das erteilte Busnutzungsrecht unter Ablauf des In-Zyklus-Busnutzungszulassungs-Zeitraums
entsprechend zu demjenigen des Busmasters zu beenden (Schritt S34).
Das bedeutet, dass, in den Schritten S33 und S34, die GNT-Signalleitung
eines der Busmaster vom regulären
Typ in einen aktiven Zustand für
die Dauer eines entsprechenden In-Zyklus-Busnutzungszulassungs-Zeitraums versetzt wird
und dann zurück
in einen inaktiven Zustand versetzt wird.
-
Dem
Schritt S34 folgend beurteilt die Arbitrierereinheit 514,
ob in dem Schritt S31 eine andere Bus-Anforderung von einem Busmaster
eines regulären
Typs, ein anderer als der eine, dem das Busnutzungsrecht erteilt
worden ist, erfasst worden ist (Schritt S35).
-
Wenn
die Beurteilung in dem Schritt S32 dazu führt, dass eine andere Bus-Anforderung von einem
Busmaster eines regulären
Typs, ein anderer als der eine, dem das Busnutzungsrecht erteilt
worden ist, erfasst worden ist, geht die Arbitrierereinheit 514 zurück zu dem
Vorgang in dem Schritt S33. Ansonsten beurteilt die Arbitrierereinheit 514,
ob der nächste
Anforderungserfassungszeitpunkt gekommen ist (Schritt S36). Wenn
beurteilt ist, dass der nächste
Anforderungserfassungszeitpunkt gekommen ist, führt die Arbitrierereinheit 514 den
Vorgang in dem Schritt S31 durch.
-
Weiterhin überspringt,
wenn keine Bus-Anforderung von irgendeinem der Busmaster in dem Schritt
S32 erfasst worden ist, die Arbitrierereinheit 514 den
Vorgang in den Schritten S33–S35,
und führt den
Beurteilungsvorgang in dem Schritt S36 durch.
-
In
dem Schritt S36 prüft,
wenn beurteilt ist, dass der nächste
Anforderungserfassungszeitpunkt bis jetzt nicht gekommen ist, die
Arbitrierereinheit 514, ob eine Bus-Anforderung, herausgegeben von dem Busmaster
D des irregulären
Typs, vorhanden ist (Schritt S37). Wenn eine solche Bus-Anforderung erfasst
ist, erteilt die Arbitrierereinheit 514 das Busnutzungsrecht
zu dem Busmaster D des irregulären Typs
(Schritt S38), und beendet das erteilte Busnutzungsrecht zu dem
Zeitpunkt, zu dem die Bus-Anforderung von dem Busmaster des irregulären Typs
beendet ist, oder wenn der nächste
Anforderungserfassungszeitpunkt gekommen ist (Schritt S39), und
geht dann zurück
zu dem Beurteilungsvorgang in dem Schritt S36.
-
Es
ist anzumerken, dass dann, wenn keine Bus-Anforderung von dem Busmaster
des irregulären
Typs in dem Schritt S37 erfasst worden ist, die Arbitrierereinheit 514 auch
zurück
zu dem Beurteilungsvorgang in dem Schritt S36 geht.
-
Darauf
folgend erteilt, wenn der Ablauf der Zeit als eine Reihe von Anforderungserfassungszyklen
ausgedrückt
ist, die Arbitrierereinheit 514 zuerst das Busnut zungsrecht,
und zwar innerhalb jedes Anforderungserfassungszyklus, zu jedem
der Busmaster des regulären
Typs, der eine Bus-Anforderung einen Zyklus vor dem momentanen Anforderungserfassungszyklus
herausgegeben hat, und zwar für
die Dauer eines entsprechenden In-Zyklus-Busnutzungszulassungs-Zeitraums.
Als nächstes
erteilt die Arbitrierereinheit 514 das Busnutzungsrecht
innerhalb des Zeitraums, der in jedem Anforderungserfassungszyklus
verbleibt, zu dem Busmaster D des irregulären Typs, vorausgesetzt, dass
der Busmaster D eine Bus-Anforderung herausgab.
-
9 zeigt
ein Zeitdiagramm, das Änderungen über die
Zeit in Bus-Anforderungen
von den Busmastern A–D
und das Busnutzungsrecht, erteilt durch die Speicher-Steuereinheit 510,
darstellt.
-
Wie
in der Figur dargestellt ist, erteilt die Arbitrierereinheit 514 das
Busnutzungsrecht innerhalb des Zeitraums, der in jedem Anforderungserfassungszyklus
nach Erteilen des Busnutzungsrechts zu den Busmastern A–C des regulären Typs
verbleibt, an den Busmaster vom irregulären Typ, vorausgesetzt, dass
der irreguläre
Busmaster eine Bus-Anforderung herausgegeben hat.
-
Es
ist anzumerken, dass dann, wenn dem Busmaster D das Busnutzungsrecht
innerhalb eines Anforderungserfassungszyklus, beginnend von dem unmittelbar
vorhergehenden Anforderungserfassungszeitpunkt, erteilt ist, und
wenn der nächste
Anforderungszeitpunkt gekommen ist, bevor der Busmaster D eine Herausgabe
einer Bus-Anforderung beendet, das Busnutzungsrecht, erteilt zu
dem Busmaster D, beendet wird. Weiterhin wird, wenn dabei ein Busmaster
vom regulären
Typ vorhanden ist, der keine Bus-Anforderung zu der Zeit des Bus-Anforderungszeitpunkts
herausgegeben hat, der Zeitraum, innerhalb dem dem Busmaster vom
irregulären
Typ das Busnutzungsrecht erteilt werden kann, länger.
-
Modifikations-Beispiele
des Arbitrierungsvorgangs
-
Nachfolgend
wird eine Beschreibung eines modifizierten Beispiels des vorstehend
beschriebenen Arbitrierungsvorgangs, durchgeführt durch die Arbitrierereinheit 514,
angegeben. Gemäß dieser Modifikation
wird einem Busmaster vom irregulären Typ
das Busnutzungsrecht an einer früheren
Stufe erteilt.
-
10 zeigt
ein Flussdiagramm, das ein modifiziertes Beispiel des Arbitrierungsvorgangs
darstellt, das die Arbitrierereinheit 514 durchführt.
-
Zuerst
prüft,
zu der Zeit, wenn der Anforderungserfassungszeitpunkt kommt, die
Arbitrierereinheit 514, ob eine Bus-Anforderung von irgendeinem der
Busmaster des regulären
Typs ausgegeben ist, und berechnet den gesamten Umfang aller In-Zyklus-Busnutzungszulassungs-Zeiträume, entsprechend
zu den Busmastern, die die erfassten Bus-Anforderungen herausgaben.
Die Arbitrierereinheit 514 subtrahiert dann die Gesamtmenge
von dem Anforderungserfassungszyklus, um so eine zusätzliche Zeit
zu erhalten (Schritt S51). Hierbei ist die zusätzliche Zeit ein Zeitraum innerhalb
eines Anforderungserfassungszyklus, in dem das Busnutzungsrecht
zu Busmastern vom irregulären
Typ erteilt werden kann.
-
Dann
beurteilt die Arbitrierereinheit 514, ob eine Bus-Anforderung
von irgendeinem der Busmaster des regulären Typs zu der Zeit der Prüfung in
dem Schritt S31 erfasst worden ist (Schritt S52).
-
Wenn
die Beurteilung in dem Schritt S52 ergibt, dass eine solche Bus-Anforderung erfasst
worden ist, erteilt die Arbitrierereinheit 514 das Busnutzungsrecht
zu einem der Busmaster des regulären Typs,
der eine Bus-Anforderung herausgegeben hat (Schritt S53). Die Arbitrierereinheit 514 zählt dann Taktsignale,
um die Erteilung des Busnutzungsrechts unter Ablauf des In-Zyklus-Busnutzungszulassungs-Zeitraums entsprechend
zu dem Busmaster zu beenden (Schritt S54). Das bedeutet, dass, in
den Schritten S53 und S54, die GNT-Signalleitung einer der Busmaster
vom regulären
Typ in einen aktiven Zustand für
die Dauer des In-Zyklus-Busnutzungszulassungs-Zeitraums
versetzt wird und dann zurück
in einen inaktiven Zustand versetzt wird.
-
Weiterhin überspringt,
wenn in dem Schritt S52 beurteilt ist, dass keine Bus-Anforderung erfasst worden
ist, die Arbitrierereinheit 514 die Abläufe in den Schritten S53 und
S54, und führt
den Beurteilungsvorgang in dem Schritt S55 durch.
-
Dem
Schritt S54 folgend beurteilt die Arbitrierereinheit 514,
ob der nächste
Erfassungszeitpunkt gekommen ist (Schritt S55). Wenn beurteilt ist,
dass der nächste
Anforderungserfassungszeitpunkt gekommen ist, geht die Arbitrierereinheit 514 zurück zu dem
Vorgang in dem Schritt S51, und beurteilt ansonsten, ob die zusätzliche
Zeit gleich zu Null ist (Schritt S56).
-
Wenn
die Beurteilung in dem Schritt S56 dazu führt, dass die zusätzliche
Zeit nicht gleich zu Null ist, was bedeutet, dass die zusätzliche
Zeit verbleibt, prüft
die Ar bitrierereinheit 514, ob eine Bus-Anforderung, herausgegeben
von dem Busmaster D des irregulären
Typs, vorhanden ist (Schritt S57). Wenn eine solche Bus-Anforderung
erfasst ist, erteilt die Arbitrierereinheit 514 das Busnutzungsrecht
zu dem Busmaster D vom irregulären
Typ und zählt
die zusätzliche
Zeit während
der Zeit herunter, für
die das Busnutzungsrecht erteilt ist (Schritt S58). Wenn die Bus-Anforderung
von dem Busmaster des irregulären
Typs beendet ist, oder wenn die zusätzliche Zeit Null erreicht,
beendet die Arbitrierereinheit 514 das erteilte Busnutzungsrecht
(Schritt S59), und geht wieder zurück zu dem Beurteilungsvorgang
in dem Schritt S56.
-
Es
ist anzumerken, dass die zusätzliche
Zeit, bestimmt in dem Schritt S51, durch einen Betrag entsprechend
zu dem Zeitraum heruntergezählt
wird, während
dem das Busnutzungsrecht zu dem Busmaster des irregulären Typs
im Schritt S58 erteilt ist. Dennoch wird das Herunterzählen der
zusätzlichen Zeit
angehalten, wenn die zusätzliche
Zeit Null erreicht.
-
Wenn
im Schritt S56 beurteilt ist, dass die zusätzliche Zeit gleich zu Null
ist, oder wenn im Schritt S57 keine Bus-Anforderung von irgendeinem
Busmaster des irregulären
Typs erfasst ist, beurteilt die Arbitrierereinheit 514,
ob in dem Schritt S51 eine andere Bus-Anforderung von einem Busmaster
des regulären
Typs, ein anderer als derjenige, dem bereits das Busnutzungsrecht
erteilt worden ist, erfasst worden ist (Schritt S60). Wenn keine
solche Anforderung erfasst worden ist, geht die Arbitrierereinheit 514 zurück zu dem
Ablauf in dem Schritt S55, und geht ansonsten zurück zu dem
Ablauf in dem Schritt S53.
-
Weiterhin
geht, wenn die Beurteilung in dem Schritt S55 ergibt, dass der nächste Anforderungserfassungszeitpunkt
gekommen ist, die Arbitrierereinheit 514 zurück zu dem
Vorgang in dem Schritt S51 zum Prüfen einer Bus-Anforderung von
irgendeinem der Busmaster des regulären Typs.
-
Durch
den Arbitrierungsvorgang, modifiziert so, wie vorstehend, erteilt,
in dem Fall, dass ein Busmaster des irregulären Typs eine Bus-Anforderung, ausgegeben
während
der Zeit, zu der ein Busmaster des regulären Typs eine Datenübertragung
durchführt,
ausgibt, die Arbitrierereinheit 514 das Busnutzungsrecht
zu diesem Busmaster des irregulären Typs,
sobald das Nutzungsrecht, erteilt zu dem Busmaster des regulären Typs,
beendet ist, und zwar aufgrund des Ablaufs des In-Zyklus-Busnutzungszulassungs-Zeitraums.
Dies bedeutet, dass den Busmastern des irregu lären Typs ermöglicht wird,
eine Datenübertragung,
beginnend unmittelbar nachdem das Erfordernis für eine Datenübertragung
entsteht, zu starten. Mit anderen Worten arbeitet, durch den Arbitrierungsvorgang,
der so modifiziert ist, wie vorstehend, die Arbitrierereinheit so,
um die Zugriffslatenzzeit für
Busmaster des irregulären
Typs, um auf einen Speicher zuzugreifen, zu verringern.
-
11 zeigt
ein Zeitdiagramm, das Änderungen über die
Zeit in Bus-Anforderungen,
herausgegeben von den Busmastern A–D, und das Busnutzungsrecht,
erteilt durch die Speicher-Steuereinheit 510, darstellt.
-
Wie
in der Figur dargestellt ist, erteilt, wenn eine Bus-Anforderung
von dem Busmaster D des irregulären
Typs während
der Zeit ausgegeben ist, für die
dem Busmaster A des regulären
Typs das Busnutzungsrecht erteilt ist, die Arbitrierereinheit 514 das Busnutzungsrecht
zu dem Busmaster D, dem Busmaster A folgend, und dann zu den Busmastern
B und D des regulären
Typs, sequenziell. In dem nächsten
Anforderungserfassungszyklus erteilt die Arbitrierereinheit 514 das
Busnutzungsrecht zu den Busmastern A und B des regulären Typs
sequenziell. Wenn eine Bus-Anforderung
von dem Busmaster D des irregulären
Typs während
der Zeit ausgegeben ist, für
die dem Busmaster B das Busnutzungsrecht erteilt ist, erteilt die
Arbitrierereinheit 514 das Busnutzungsrecht an den Busmaster
D, dem Busmaster B folgend, und erteilt dann das Busnutzungsrecht
an den Busmaster C des regulären
Typs.
-
Zusatz
-
Bis
zu diesem Punkt ist eine Beschreibung der Speicher-Steuervorrichtungen,
entsprechend der vorliegenden Erfindung, anhand der Ausführungsformen
1 und 2, angegeben worden. Allerdings muss nicht gesagt werden,
dass die vorliegende Erfindung nicht auf diese spezifischen Ausführungsformen
beschränkt
ist. Genauer gesagt:
-
(1)
Es kann irgendeine Anzahl von Busmastern vorhanden sein, eingesetzt
in den zwei Ausführungsformen,
so lange wie eine Mehrzahl davon vorhanden ist. Weiterhin ist die
Zahl der Busmaster vom irregulären
Typ nicht auf eins beschränkt,
und irgendeine Anzahl von Busmastern des irregulären Typs kann eingesetzt werden.
Dennoch ist es notwendig, dass die LSI mit einer Eingabe über die Übertragungsraten-Informationen,
die sich auf alle Busmaster des regulären Typs beziehen, versorgt wird,
die Übertragungsrate
und das Zeitintervall anzeigend, innerhalb dem die Übertragungsrate
beibehalten werden sollte. Weiterhin ist es, wenn einer oder mehrere Busmaster
vom irregulären
Typ eingesetzt werden, notwendig, dass die Informationsspeichereinheit 515 für den irregulären Master
Informationen über
den irregulären
Master speichert, die dazu verwendet werden, alle Busmaster des
irregulären Typs
zu identifizieren.
-
Es
ist anzumerken, dass die LSI mit einer Vielzahl von vereinheitlichten
Speichern verbunden sein kann. In diesem Fall kann die Speicher-Steuereinheit
so aufgebaut werden, um eine Zugriffskonkurrenzsituation getrennt
für jeden
vereinheitlichten Speicher entsprechend in der Art und Weise, die
in der Ausführungsform
1 oder 2 dargestellt ist, zu vermitteln.
-
(2)
Die Speicher-Steuereinheit 110, dargestellt in der Ausführungsform
1, und die Speicher-Steuereinheit 510, dargestellt in der
Ausführungsform
2, können
insgesamt als eine Hardware-Schaltung aufgebaut sein, oder, alternativ,
können
sie aus einer MPU und einem Speicher aufgebaut sein, um so die Arbitrierungsfunktion
durch die MPU, die ein Programm ausführt, gespeichert in dem Speicher,
umzusetzen.
-
(3)
In beiden Ausführungsformen
vorstehend sind die Übertragungsraten-Informationen aus
Paaren von Informationselementen aufgebaut, wobei sich eines auf
einen Anforderungszyklus und das andere auf den Umfang von Daten
pro Übertragung
beziehen. Dennoch können
die Übertragungsraten-Informationen
aus irgendeiner Kombination von Informationselementen zusammengesetzt
sein, so lange wie die Übertragungsraten-Informationen
die Übertragungsrate
und das minimale Zeitintervall, innerhalb dem die Übertragungsrate
beibehalten werden sollte, anzeigen.
-
(4)
Die Übertragungsraten-Informationen, die
in beiden Ausführungsformen
beschrieben sind, werden von einer externen Vorrichtung aus eingegeben.
Dennoch können
deren Anfangswerte zuvor gespeichert werden.
-
Weiterhin
können
die Übertragungsinformationen
zu irgendeinem Zeitpunkt eingegeben werden. Zu jedem Zeitpunkt,
zu dem die Übertragungsinformationen
eingegeben sind, kann die Zeitpunkt-Informations-Speichereinheit 112 Zeitpunkt-Informationen basierend
auf den neu eingegebenen Übertragungsraten-Informationen
erzeugen und kann die so erzeugten Zeitpunkt-Informationen zu der
Zeitpunkt-Informations-Speichereinheit 113 speichern. Da
die Arbitrierereinheit 114 und die Arbitrierereinheit 514 einen
Zeitraum zum Erteilen des Busnutzungsrechts, basierend auf den Zeitpunkt-Informationen, bestimmen,
wird entsprechend eine dynamische Arbitrierungssteuerung realisiert.
-
Es
ist anzumerken, dass in der Ausführungsform
2 die Busmaster in einen regulären
Typ und einen irregulären
Typ klassifiziert sind. Diese Klassifizierung basiert darauf, ob
eine festgelegte Übertragungsrate
für jeden
Busmaster zu der Zeit, zu der eine Datenübertragung durchgeführt wird,
erforderlich ist. Demzufolge kann, in Abhängigkeit von den Übertragungsraten-Informationen,
eingegeben von einer externen Quelle aus zu der LSI, derselbe Busmaster
ein regulärer
Typ in einigen Fällen
und ein irregulärer
Typ in einigen anderen Fällen
sein.
-
(5)
Beide Ausführungsformen
beschreiben die Busbandbreite des Speicherbusses, auf den sich die
Zeitpunkt-Informations-Erzeugungseinheit 112 bezieht. Dies
ist anwendbar, um eine Anordnung so zu erreichen, dass diese Busbandbreite
von einer externen Quelle aus zu der LSI eingegeben werden kann.
-
(6)
Die Speicher-Steuereinheit 110, beschrieben in der Ausführungsform
1, und die Speicher-Steuereinheit 510, beschrieben in der
Ausführungsform
2, können
so aufgebaut sein, um jedem Busmaster Informationen, wie beispielsweise
einen Anforderungserfassungszyklus, zum Spezifizieren eines Anforderungszeitpunkts,
zu geben. Hierbei kann jeder Busmaster so aufgebaut sein, um die
Informationen zu empfangen und eine Bus-Anforderung entsprechend
dem spezifizierten Anforderungserfassungszeitpunkt auszugeben.
-
(7)
In beiden Ausführungsformen
wird das Busnutzungsrecht einem Busmaster erteilt, indem die GNT-Signalleitung
in einen aktiven Zustand versetzt wird, und das erteilte Busnutzungsrecht
wird beendet, indem die GNT-Signalleitung in einen inaktiven Zustand
versetzt wird. Dennoch ist die vorliegende Erfindung nicht auf diese
spezifischen Arten und Weisen beschränkt, und ein Erteilen und ein
Beenden des Busnutzungsrechts können
in irgendeiner Weise realisiert werden, so lange wie das Zulassen und
Verbieten für
die Busnutzung zu jedem Busmaster hin geführt wird.
-
Zum
Beispiel ist es möglich,
einen Busmaster über
die Erteilung des Busnutzungsrechts über die augenblickliche Aktivierung
einer Signalleitung und über
die Beendigung des Busnutzungsrechts über die augenblickliche Aktivierung
einer anderen Signalleitung hinzuweisen.
-
Weiterhin
ist, in den Ausführungsformen,
jeder Busmaster des regulären
Typs so beschrieben, dass er kontinuierlich die REQ-Signalleitung
in einem aktiven Zustand hält,
so lange wie eine Datenübertragung
durchgeführt
werden muss. Dennoch ist eine Abgabe einer Bus-Anforderung nicht
auf diese Art und Weise beschränkt.
Zum Beispiel können,
basierend auf den Übertragungsraten-Informationen,
die Speicher-Steuereinheit 110 und
die Speicher-Steuereinheit 510 jeweils den Busmaster über die
Datenmenge, die innerhalb eines Anforderungserfassungszyklus übertragen
werden kann, hinweisen. Hierbei kann jeder Busmaster augenblicklich
die REQ-Signalleitung aktivieren, wenn darauf gewartet wird, die angegebene
Menge an Daten zu übertragen.
-
(8)
Der vereinheitlichte Speicher 200, der in beiden Ausführungsformen
beschrieben ist, ist nicht auf einen Speicher beschränkt, der
eine spezifische Speicherarchitektur besitzt, und irgendein Speicher kann
anwendbar sein.
-
Weiterhin
kann jeder Speicherbus, der jeden Busmaster und den vereinheitlichten
Speicher verbindet, aus separaten Signalleitungen eines Adressenbusses
und eines Datenbusses, oder aus einer gemeinsamen Signalleitung,
aufgebaut sein. Wenn jeder Busmaster aus einer gemeinsamen Signalleitung
aufgebaut ist, werden Adresseninformationen und Daten zwischen dem
Busmaster und dem vereinheitlichten Speicher mittels eines Time-Sharing übertragen.
Weiterhin kann der Bus, der den Busmaster und den vereinheitlichten
Speicher verbindet, über
eine Schnittstelleneinheit verbunden werden, die in der Speicher-Steuereinheit
umfasst ist, so dass eine Verarbeitung, wie beispielsweise ein Adressendecodieren,
durch die Schnittstelleneinheit durchgeführt werden kann.
-
(9)
In dem Fall der LSI, die in jeder Ausführungsform beschrieben ist,
greift jeder Busmaster grundsätzlich
auf separate Speicherbereiche innerhalb eines vereinheitlichten
Speichers zu. Dennoch kann jeder Busmaster auf einen Speicherbereich
zugreifen, auf den gemeinsam durch einen unterschiedlichen Busmaster
zugegriffen wird.
-
(10)
In der Ausführungsform
2 bestimmt die Zeitpunkt-Informations-Generatoreinheit 112 den kürzesten,
angeforderten Zyklus unter den Anforderungszyklen der Busmaster
des regulären
Typs basierend auf den Übertragungsraten-Informationen, und
das Busnutzungsrecht wird bei jedem Anforderungserfassungszy klus
zu jedem Busmaster des regulären
Typs erteilt, der eine Bus-Anforderung ausgibt. Dieser Anforderungserfassungszyklus
kann gleich zu dem oder kürzer
als der kürzeste
Anforderungszyklus unter den Anforderungszyklen der Busmaster des
regulären
Typs sein.
-
Zum
Beispiel kann eine Hälfte
des kürzesten Anforderungszyklus
unter den Anforderungszyklen aller Busmaster des regulären Typs
als der Anforderungserfassungszyklus bestimmt werden. Der kürzeste Anforderungserfassungszyklus
erfordert eine kürzere
Zeit für
die Speicher-Steuervorrichtung, um das Busnutzungsrecht zu einem
Busmaster eines irregulären
Typs nach Empfang einer Bus-Anforderung von dem Busmaster zu erteilen.
-
Es
ist anzumerken, dass es auch möglich
ist, eine Anordnung zu erstellen, um eine externe Eingabe von Informationen
darüber,
welches Verhältnis des
kürzesten
Anforderungszyklus unter den Anforderungszyklen für alle Busmaster
des regulären
Typs als die Anforderungserfassungszeit bestimmt werden soll, zu
ermöglichen.
Hierbei kann die Anforderungserfassungszeit entsprechend den Informationen
bestimmt werden.
-
Obwohl
die vorliegende Erfindung vollständig
anhand von Beispielen unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben worden ist, sollte angemerkt werden, dass verschiedene Änderungen
und Modifikationen für
Fachleute auf dem betreffenden Fachgebiet ersichtlich werden. Deshalb sollten,
ohne dass solche Änderungen
und Modifikationen außerhalb
des Schutzumfangs der vorliegenden Erfindung liegen, sie dahingehend
ausgelegt werden, dass sie darin umfasst sind.