DE3732798A1 - Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet - Google Patents
Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaetInfo
- Publication number
- DE3732798A1 DE3732798A1 DE19873732798 DE3732798A DE3732798A1 DE 3732798 A1 DE3732798 A1 DE 3732798A1 DE 19873732798 DE19873732798 DE 19873732798 DE 3732798 A DE3732798 A DE 3732798A DE 3732798 A1 DE3732798 A1 DE 3732798A1
- Authority
- DE
- Germany
- Prior art keywords
- bus
- processor
- signal
- global
- address
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling 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)
- Bus Control (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Description
Die Erfindung betrifft Vorrichtungen und Verfahren zur
Bewertung (Arbitration) von Busgewährungsbedingungen,
die in einem System entstehen, bei dem eine erste Quelle
absolute Priorität im Zugriff auf ein globales RAM
(Schreib/Lese-Speicher) hat und andere Prozessoren Zugriff
mit niedrigerer Priorität auf das globale RAM
haben.
Digitale Signalverarbeitungseinrichtungen, wie z. B. die
gegenwärtig auf dem Markt befindliche SPV100 "anpaßbare
Signalverarbeitungskarte" der Anmelderin, gewähren
programmierbare Funktionen, die eine extrem schnelle
Verarbeitung erlauben, um verschiedene Funktionen, wie
z. B. Spektralanalyse, digitale Filterung, Korrelation,
Faltung und Matrizeninvertierung, zu erreichen. Die
digitale Signalverarbeitungskarte ist direkt kompatibel
mit dem populären "VME-Bus". Solche Produkte müssen bei
extrem hoher Geschwindigkeit arbeiten und so billig und
so klein wie möglich sein. Dazu sollten diese Produkte
eine optimierte Arbitration der Busgewährungsbedingungen
zwischen dem VME-Bus, einem internen Mikroprozessor
der digitalen Datenverarbeitungskarte und einer Eingabe/
Ausgabe-Schnittstellensteuerung, die im wesentlichen
eine DMA(direkter Speicherzugriff)-Steuerung ist, besitzen,
um dadurch einen Betrieb mit hoher Geschwindigkeit
bei relativ geringen Kosten zu erlauben. Die
SPV100 digitale Signalverarbeitungskarte erfordert einen
Datenspeicher und einen separaten I/O(Eingabe/Ausgabe)-
Speicher. Diese Anforderung erhöht die Kosten und
die Komplexität über das hinaus, was wünschenswert wäre
für die Anwendung dieses Produkts. Weiterhin ist es für
den VME-Bus nicht möglich, den Datenspeicher auf einfache
Weise zu überwachen, und der Eingabe/Ausgabe-Speicher
kann nicht auf einfache Weise von dem internen Mikroprozessor
(einem TMS32010) der SPV100-digitalen Datenverarbeitungskarte
überwacht, gelesen oder beschrieben
werden.
Obwohl es üblich ist, Systeme vorzusehen, bei denen ein
gemeinsamer oder globaler Speicher von einer Vielzahl
getrennter Prozessoren erreicht werden kann, haben solche
Systeme im allgemeinen entweder die Technik eines
gleichverteilten Zugriffs auf den globalen Speicher verwendet,
wobei, in dem Fall, daß ein Prozessor auf den
globalen Speicher zugreift, die anderen nicht zugreifen
können, oder es wurden sehr komplizierte Prioritätsunterbrechungssysteme
verwendet, die einen Prozessor
mit niedriger Priorität, der gerade auf den globalen
Speicher zugreift, unterbrechen und ihn veranlassen,
eine interrupt subroutine (Unterbrechungs-Unterprogramm)
auszuführen und den Zugriff auf den globalen Speicher
dem anfordernden Prozessor mit höherer Priorität zu
gewähren. Diese Techniken und die damit verbundenen
Schaltungen sind so kompliziert, daß sie nicht geeignet
sind, um das Ziel einer billigen, für hohe Geschwindigkeiten
geeigneten, digitalen Signalverarbeitungskarte
zu erreichen, die in einen VME-Bus eingesteckt werden
kann und eine schnelle Eingabe und Ausgabe von Daten in
und aus der digitalen Signalverarbeitungskarte erlaubt.
Somit ist es eine Aufgabe der Erfindung, eine wirkungsvolle
Vorrichtung und ein wirkungsvolles Verfahren für
den Zugriff eines Prozessors oder einer Datenquelle mit
hoher Priorität auf ein globales RAM, auf das auch von
einer Mehrzahl von Prozessoren oder Quellen mit niedrigerer
Priorität zugegriffen werden kann, zu schaffen.
Es ist eine weitere Aufgabe der Erfindung, ein System
zu schaffen, das ein globales RAM umfaßt, auf das von
einer Vielzahl von verschiedenen Quellen zugegiffen
werden kann, von denen jeweils eine auf das globale RAM
zugreifen kann, ohne daß die Verwendung eines komplexen
Prioritätsbewertungssystems erforderlich ist.
Es ist eine weitere Aufgabe der Erfindung, ein digitales
Signalverarbeitungssystem zu schaffen, das die Notwendigkeit
getrennter I/O(Eingabe/Ausgabe)-Speicher und
Datenspeicher vermeidet und trotzdem mit hohen Geschwindigkeiten
arbeitet, wenn es an einen VME-Bus und an eine
Schnittstelle für Ein- und Ausgabe mit hoher Geschwindigkeit
angeschlossen wird.
Kurz gefaßt sieht die Erfindung in Übereinstimmung mit
einer Ausführungsform eine digitale Datenverarbeitungsschaltung
vor, die einen Mikroprozessor umfaßt, der mit
einem Mikroprozessor-Adreßbus und einem Mikroprozessor-
Datenbus gekoppelt ist, sowie eine Eingabe/Ausgabe-
Steuerung, die mit einem Eingabe/Ausgabe-Bus gekoppelt
ist, einen globalen Speicher, der mit einem globalen
Adreßbus und einem globalen Datenbus verbunden ist,
sowie einen externen Datenbus und einen externen Adreßbus,
der mit einem externen Prozessor verbunden ist, und
eine erste, eine zweite und eine dritte einzeln auswählbare
Übertragungsschaltung, die den Mikroprozessorbus,
den Eingabe/Ausgabe-Bus und den externen Datenbus jeweils
einzeln selektiv mit dem globalen Datenbus koppeln,
sowie eine erste, eine zweite und eine dritte Adreßpufferschaltung,
die den Mikroprozessor-Adreßbus, den Eingabe/
Ausgabe-Bus und den externen Adressenbus jeweils
einzeln selektiv mit dem globalen Adreßbus verbinden.
Der Mikroprozessor erzeugt ein erstes Busanforderungssignal,
um einen Zugriff auf den globalen Speicher zu versuchen.
Das erste Busanforderungssignal wird in ein Bewertungsnetzwerk
(Arbitrationsnetzwerk) eingegeben. Das
Arbitrationsnetzwerk erzeugt ein erstes Busgewährungssignal,
wenn auf den globalen Speicher nicht von der Eingabe/
Ausgabe-Steuerung zugegriffen wird. Eine globale
Zugriffsteuerschaltung erzeugt ein erstes Bereitschaftssignal,
das auf einer ersten Leitung zu dem Mikroprozessor
geleitet wird, der dann ein erstes Freigabesignal
und ein erstes Schreibsignal erzeugt, um damit
den Zugriff auf den globalen Speicher durch den ersten
Prozessor zu bewirken. Die Eingabe/Ausgabe-Steuerung erzeugt
ein zweites Busanforderungssignal, wenn sie einen
Zugriff auf den globalen Speicher wünscht. Das Arbitrationsnetzwerk
antwortet auf die zweite Busanforderung
durch Erzeugung eines zweiten Busgewährungssignals, sofern
der Mikroprozessor gerade nicht auf den globalen
Speicher zugreift. Die globale Zugriffsteuerschaltung
erzeugt ein zweites Bereitschaftssignal auf einer zweiten
Leitung und leitet es zu der Eingabe/Ausgabe-Steuerung,
die ein zweites Freigabesignal und ein zweites
Schreibsignal erzeugt, um den Zugriff auf den globalen
Speicher durch die Eingabe/Ausgabe-Steuerung zu bewirken.
Wenn der externe Bus einen Zugriff auf den globalen
Speicher anfordert, wird eine Adresse, die von dem externen
Bus erzeugt wird, decodiert, um ein drittes Busanforderungssignal
synchron mit jedem gerade laufenden
Zugriff auf den globalen Speicher durch den Mikroprozessor
oder die I/O-Steuerung zu erzeugen. Wenn der
Mikroprozessor auf den globalen Speicher zugreift, veranlaßt
das dritte Busanforderungssignal die globale
Zugriffsteuerschaltung dazu, ein erstes Wartesignal auf
der ersten Leitung synchron mit dem Zugriff des Mikroprozessors
auf den globalen Speicher zu erzeugen. Dadurch
wird der Mikroprozessor veranlaßt, die Erzeugung
des ersten Freigabesignals und des ersten Schreibsignals
zu beenden. Dann wird veranlaßt, daß ein drittes
Freigabesignal und ein drittes Schreibsignal erzeugt
werden, um ein Überlappen der Zugriffszyklen des externen
Prozessors auf den globalen Speicher mit dem Zugriff
auf den globalen Speicher durch den Mikroprozessor
zu bewirken. Die globale Zugriffsteuerschaltung erzeugt
ein zweites Wartesignal auf der zweiten Leitung synchron
mit dem Zugriff auf den globalen Speicher durch die Eingabe/
Ausgabe-Steuerung. Dadurch wird die Eingabe/Ausgabe-
Steuerung veranlaßt, die Erzeugung des zweiten
Freigabesignals und des zweiten Schreibsignals zu unterbrechen.
Die globale Zugriffsteuerschaltung erzeugt
dann das dritte Freigabesignal und das dritte Schreibsignal.
Damit wird ein Überlappen der Zugriffszyklen
des externen Prozessors auf den globalen Speicher mit
dem Zugriff auf den globalen Speicher durch die Eingabe/
Ausgabe-Steuerung bewirkt.
Die Erfindung soll nun anhand der beigefügten Zeichnungen
näher erläutert werden; es zeigt:
Fig. 1 ein Blockschaltbild einer digitalen Signalverarbeitungsanlage
gemäß der Erfindung,
Fig. 2 ein Blockschaltbild der Arbitrationsschaltung,
die den überlappenden Zugriff auf das globale RAM
der Fig. 1 durch den darin dargestellten VME-Bus bewirkt;
Fig. 3 ein Blockschaltbild zur Erklärung des
globalen RAM-Zeitsteuerungs-PAL der Fig. 2;
Fig. 4 ein Blockschaltbild zur Erklärung des
Global-RAM-Zugriffs-PAL der Fig. 2;
Fig. 5 ein detailliertes Blockschaltbild des
Arbitrationsnetzwerkblocks der Fig. 2;
Fig. 6 ein Zeitdiagramm eines Schreibzyklus des
VME-Busses auf den globalen Speicher für das System der
Fig. 1;
Fig. 7 ein Zeitdiagramm eines Lesezugriffs des
VME-Busses auf den globalen Speicher für das System der
Fig. 1;
Fig. 8 ein Zeitdiagramm zur Erläuterung der Überlappung
der Zugriffszyklen des VME-Busses auf den globalen
Speicher mit den Zugriffszyklen des TMS32020-Prozessors
der Fig. 1 auf den globalen Speicher,
Fig. 9 ein Zeitdiagramm zur Erläuterung der Überlappung
der Zugriffszyklen des VME-Busses auf den globalen
Speicher mit den Zugriffszyklen der Eingabe/Ausgabe-
Schnittstellensteuerung der Fig. 1 auf den globalen
Speicher.
Entsprechend den Zeichnungen, insbesondere Fig. 1, umfaßt
die digitale Signalverarbeitungsanlage 1 einen
VME-Bus 2. Dem Fachmann ist bekannt, daß die VME-Busstruktur
weit verbreitet ist. Sie umfaßt 16 Datenbusleitungen,
23 Adreßbusleitungen und verschiedene Abtastsignale.
Der VME-Bus 2 ist mit einem externen Prozessor
(nicht dargestellt) verbunden.
In Übereinstimmung mit der vorliegenden Erfindung ist
die digitale Signalverarbeitungsanlage der Fig. 1 mittels
der VME-Datenbus-Übertragungseinrichtung 4, die
die Datenleitungen des VME-Busses 2 mit einem "lokalen
VME-Datenbus" 5 verbindet, mit dem VME-Bus 2 selektiv
gekoppelt. Die VME-Datenbus-Übertragungseinrichtung 4
kann verschiedene Standardpuffer-ICs umfassen, wie
SN74F245, hergestellt von Fairchild für die D 0-D 15 VME-
Datenbusleitungen. Die Leitungen des lokalen VME-Datenbusses
5 werden durch die Übertragungseinrichtung 6
(die aus einem Paar von 74HCT245-ICs, hergestellt von
RCA, bestehen kann) und die Leitungen 7 mit entsprechenden
Datenbusleitungen des Datenbusses 8 des Mikroprozessors
selektiv gekoppelt. Die Leitungen des lokalen
VME-Datenbusses 5 werden ebenfalls durch die Übertragungseinrichtung
21 (die aus einem Paar von RCA
74HCT245-ICs bestehen kann) an den globalen Datenbus 19
selektiv angekoppelt. Die 16 Leitungen des globalen Datenbusses
19 werden durch die Übertragungseinrichtung 18
selektiv mit den 16 Leitungen des Mikroprozessor-Datenbusses
8 verbunden.
Die 16 Leitungen des globalen Datenbusses 19 sind ebenfalls
durch die Übertragungseinrichtung 22 (die aus einem
Paar 74HCT245-ICs bestehen kann) mit dem I/O-Steuerbus
23 selektiv verbunden. Der I/O-Steuerbus 23 umfaßt
16 Daten/Adreß-Leitungen und drei Steuerleitungen, nämlich
DS (data strobe = Daten Abtasten), AS (adress
strobe = Adresse Abtasten) und R/W⁺ (read-write =
Lese-Schreibe). (Es sollte hier beachtet werden, daß
Variablennamen, die von einem "+" gefolgt sind, logische
Komplemente darstellen, da der von der Anmelderin
benutzte Drucker nicht in der Lage ist, Überstreichungen
darzustellen.)
Die globalen Datenbus-Leitungen 19 sind mit den Datenanschlüssen
des globalen RAM (random access memory =
Schreib-Lese-Speicher) 20 verbunden. Dieser kann
32 768 (d. h. 32K) Worte zu je 16 Bit umfassen. Das
globale RAM 20 umfaßt acht NEC 4362 16Kx4 statische
RAM-ICs.
Die Adreßeingänge des globalen RAM 20 sind mit den 14 Leitungen
des globalen Adreßbusses 37 verbunden. Der
globale Adreßbus 37 wird mittels des Puffers 36 (der
einen 74F244 IC-Puffer und einen AM29827-20 Bit-Puffer,
hergestellt von AMD (Advanced Micro Devices) umfassen
kann) selektiv mit dem Mikroprozessor-Adreßbus 34, der
16 Adreßleitungen umfaßt, verbunden. Der globale Adreßbus
37 ist ebenfalls selektiv verbunden durch Puffer
39 (der zwei 74HCT374-ICs umfassen kann) mit den 14 Leitungen
des I/O-Steuerbusses 23. Die Leitungen des
globalen Adreßbusses 37 sind außerdem selektiv durch
den Puffer 38 (der ein AM29827-IC und ein 74HCT244-IC
umfassen kann) mit dem "lokalen" VME-Adreßbus 32 gekoppelt.
Der lokale VME-Adreßbus 32 ist mittels Puffer
33 (der einen AM29827-IC-Puffer und ein HCT244-IC umfassen
kann) mit dem Mikroprozessor-Adreßbus 34 selektiv
gekoppelt. Der lokale VME-Adreßbus 32 ist ebenfalls
durch die VME-Adreßdecoder- und -Steuerschaltung
30 (die verschiedene Standardpuffer umfaßt einschließlich
eines AM29821 und eines 74ALS244 und eines
74LS682) mit den 16 Adreßleitungen des VME-Busses 2
verbunden.
Ein Teil der Steuerschaltungen in Block 30 erzeugt eine
Vielzahl von verschiedenen Steuersignalen, die allgemein
durch das Bezugszeichen 16 bezeichnet werden. Sie
umfassen verschiedene Takt-, Auswahl- und Zeitsignale,
die vom Fachmann routinemäßig vorgesehen werden können.
Einige von ihnen sind im folgenden im Hinblick auf
Fig. 2 beschrieben.
Der VME-Bus 2 ist ebenfalls mit der Interrupt-Schaltung
29 verbunden, die nicht Gegenstand der vorliegenden Erfindung
ist, aber trotzdem der Vollständigkeit halber
in Fig. 1 aufgenommen wurde.
Der digitale Prozessor 1 umfaßt einen 16 Bit-Mikroprozessor
9 für hohe Geschwindigkeiten. Das kann ein
Texas Instruments TMS32020 "limited instruction set"-
Mikroprozessor (Mikroprozessor mit beschränktem Befehlssatz)
sein. Die 16 Adreßausgänge A 0-A 15 des Mikroprozessors
9 sind mit dem Mikroprozessor-Adreßbus 34
verbunden. Die Datenanschlüsse D 0-D 15 des Mikroprozessors
9 sind mit den entsprechenden Leitungen des Mikroprozessor-
Datenbusses 8 verbunden.
Die Funktion des TMS32020-Mikroprozessors 9 wird durch
seinen Befehlssatz bestimmt. Dieser ist in seinem Programmspeicher
gespeichert. Der TMS32020 ist in der Lage,
Steueranweisungen von dem EPROM-Monitor 11, dem bipolaren,
programmierbaren Festwertspeicher 12 oder einem
externen Programm-RAM 13 auszuführen. Programme, die
von dem Mikroprozessor 9 ausgeführt werden sollen, können
von dem VME-Bus 2 zur Ausführung durch den Mikroprozessor
9 geladen werden. Der Mikroprozessor 9 umfaßt
ein internes Daten-RAM, auf das der Mikroprozessor 9
intern jederzeit zugreifen kann.
Der Mikroprozessor 9 wird auf ein "READY"-Signal warten,
bevor er irgendeinen Zugriff auf das globale RAM 20
durchführt, wie im folgenden erläutert. Der Mikroprozessor
9 führt eine SXF(set external flag = Setze externes
Zeichen)-Instruktion aus, um Zugriff auf das globale
RAM 20 zu verlangen. Wenn er den angeforderten Zugriff
vollendet hat, gibt er die globalen Daten und Adreßbusse
durch Ausführung eines RXF(release external flag =
Gib externes Zeichen frei)-Befehls frei.
Das "lokale" RAM 10 (das acht NEC 4362 statische RAM-
ICs umfassen kann) ist zwischen dem Mikroprozessor-
Adreßbus 34 und dem Mikroprozessor-Datenbus 8 angeschlossen.
Der elektrisch programmierbare Festwert-
Speicher (EPROM), 11, der ebenfalls zwischen dem Mikroprozessor-
Adreßbus 34 und dem Mikroprozessor-Datenbus 8
angeschlossen ist, enthält ein Monitorprogramm (vereinfachtes
Betriebssystem-Programm), auf das sich die
gleichzeitig eingereichte Patentanmeldung mit dem Titel
"Verfahren und Vorrichtung zur Einführung und Handhabung
von Unterbrechungspunkten in einem Monitorprogramm"
von Iain Haswell-Smith richtet. Auch diese Anmeldung
ist an die Anmelderin abgetreten und am gleichen Tag
hiermit eingereicht; sie soll durch diesen Hinweis
mit eingeschlossen werden, um die Vollständigkeit der
Offenbarung sicherzustellen. (P 37 32 808.5)
Ein bipolarer, programmierbarer Festwert-Speicher (PROM)
12 (der ein Paar MB7144/2 PROMs, hergestellt von
Fujitsu, umfassen kann) ist ebenfalls zwischen dem
Mikroprozessor-Adreßbus 34 und dem Mikroprozessor-
Datenbus 8 angeschlossen. Zusätzliche Programmspeicher
13 auf einer eigenen Schaltungskarte können ebenfalls
zwischen den Mikroprozessor-Adreßbus 34 und den Mikroprozessor-
Datenbus 8 angeschlossen werden. Ein Zugang
zu der digitalen Signalverarbeitungsanlage 1 über ein
externes Terminal kann durch eine RS232C-Terminalschnittstelle 15 erhalten werden. Ein Host-Rechner
kann Zugang zu der digitalen Signalverarbeitungsanlage
1 über eine RS232C-Host-Schnittstelle 14 erhalten. Die
Auswahl der Schnittstellen kann durch Block 35 erfolgen.
Er decodiert bestimmte Leitungen des Mikroprozessor-
Adreßbusses 34.
Die Ausgabe von Datenblöcken mit hoher Geschwindigkeit
aus der digitalen Signalverarbeitungsanlage 1 kann
durch eine Ausgangsschnittstelle mit FIFO (first in,
first out = zuerst Eingelesenes wird zuerst ausgegeben)-
Puffer 27 bewirkt werden. Dieser ist mit dem I/O-
Steuerbus 23 verbunden. Der FIFO-Puffer 27 kann ein
Paar IDT7201-ICs von Integrated Device Technology umfassen.
Eine Hochgeschwindigkeits-Eingangsschnittstelle
28 ist ebenfalls an den I/O-Steuerbus 23 angeschlossen.
Die Eingangsschnittstellen-Schaltung 28 kann ein
Paar 74F374-IC-Latches umfassen, die von Fairchild hergestellt
werden. Eine I/O-Schnittstellensteuerung 26,
die ein UDC9516-DMA-Steuer-IC, hergestellt von AMD, sein
kann, ist mit dem I/O-Steuerbus 23 verbunden. Eine Übertragungseinrichtung
25 koppelt den Mikroprozessor-
Datenbus 8 selektiv mit den Datenleitungen des I/O-
Steuerbusses 23. Die Aufgabe der I/O-Schnittstellensteuerung
26 ist es, Datenblocks zwischen dem globalen
RAM 20 und den Hochgeschwindigkeits-Eingangs- und -Ausgangsschnittstellen
27 und 28 zu übertragen. Diese Datenübertragung
kann unabhängig von dem Mikroprozessor
9 durchgeführt werden, wenn dieser arbeitet oder seinen
internen, lokalen Datenspeicher benutzt.
Die I/O-Schnittstellensteuerungsschaltung 26 wird mittels
einer Serie von internen Registern programmiert.
Nur zwei von ihnen müssen durch den Mikroprozessor 9
über seine Anschlüsse D und E programmiert werden,
nämlich sein master mode register (MMR) (= Hauptbetriebsartregister)
und das chain address register (CAR)
(= Kanaladreßregister) für einen jeden Kanal. In dem
globalen RAM 20 werden für jeden Steuerkanal eine Tabelle
aufgesetzt und von dem globalen RAM 20 in die
I/O-Schnittstellensteuerschaltung 26 geladen, wenn diese
von dem Mikroprozessor 9 dazu angewiesen worden ist.
In Übereinstimmung mit der vorliegenden Erfindung kann
der VME-Bus 2 jederzeit auf den globalen Datenspeicher
20 zugreifen. Dies wird dadurch erreicht, daß Wartezustände
in jeden ablaufenden Zugriff auf das globale
RAM 20 durch den Mikroprozessor 9 oder die I/O-Schnittstellensteuerschaltung
26 eingefügt werden, um den
VME-Bus-Zugriff auf das globale RAM 20 mit solchen ablaufenden
Zugriffen darauf durch den Mikroprozessor 9
oder die I/O-Schnittstellensteuerschaltung 26 zu "überlappen".
Sowohl der Mikroprozessor 9 als auch die I/O-
Schnittstellensteuerschaltung 26 besitzen Hardware-
Anforderungseingänge, die es ihnen erlauben, auf den
globalen Speicher 20 zuzugreifen, wenn dieser zugeteilt
ist. Wenn ein solcher Zugriff durch das Arbitrationsnetzwerk
53 (Bewertungsnetzwerk) der Fig. 2 dem Mikroprozessor
9 oder der I/O-Schnittstellensteuerschaltung
26 gewährt worden ist, erfolgen alle sich daraus ergebenden
Zugriffe auf den globalen Speicher 20 mit "Null"-
Wartezuständen, es sei den, es treten Wartezustände
als Ergebnis eines Zugriffs des VME-Busses 2 auf den
globalen Speicher auf.
Als nächstes wird auf Fig. 2 Bezug genommen. Dort bezeichnet
das Bezugszeichen 29 Steuer- und Bus-Arbitrationsschaltungen,
die in dem System der Fig. 1 enthalten
sind (aber nicht in dem Blockschaltbild davon
gezeigt sind). Diese dienen dazu, den "überlappenden"
Zugriff auf das globale RAM 20 durch den VME-Bus 2 zu
bewirken, wenn der Mikroprozessor 9 oder die I/O-Bussteuerung
26 auf das globale RAM zugreift. Die Schaltung
der Fig. 2 bewirkt ebenfalls den Zugriff auf das
globale RAM 20 durch den Mikroprozessor 9 oder die I/O-
Bussteuerung 26, wenn der VME-Bus 2 nicht auf das globale
RAM 20 zugreift.
Die Bus-Arbitrations- und -Steuerschaltung 29 umfaßt
eine VME-Interfaceschaltung 43, die in dem Block 30
der Fig. 1 enthalten ist. Diese verbindet die BS (board
select = Kartenauswahl), DS (data select = Datenauswahl),
A 16, A 17 und WRITE-Leitungen des VME-Busses 2
über die Leitungen 44 mit dem VME/Global-RAM-Zeitsteuerungs-
PAL (programmierte Arraylogik = programmierbare
Gatteranordnung)-Schaltung 45. Die Leitungen 44
tragen das BS⁺, A 16, A 17 und DS⁺-Signal, die eine Anforderung
vom VME-Bus 2 zum Zugriff auf das globale
RAM 20 anzeigen. Der VME-Bus hat absolute Priorität
zum Zugriff auf das globale RAM 20. Einige der Leitungen
des VME-Adreßbusses, nämlich BS⁺, A 16, A 17 und
DS⁺, werden decodiert, um das Busanforderungssignal zu
erzeugen.
Das Global-RAM-Zeitsteuerungs-PAL 45, im folgenden als
"Zeitsteuerungs-PAL 45" bezeichnet, kann ein PAL-168R8A-
IC mit programmierbaren Gatteranordnungen von Monolithic
Memories sein. Seine Ein- und Ausgänge sind in
Fig. 3 genauer dargestellt. Anhang A, der hier beigefügt
ist, zeigt, wie das Global-RAM-Zeitsteuerungs-PAL 45
programmiert ist, um die Funktion der vorliegenden
Erfindung auszuführen. Ein Signal, das DTACK⁺ (data
acknowledge = Datenquittung) genannt wird, wird von dem
Zeitsteuerungs-PAL 45 zu dem VME-Bus 2 über die Leitungen
44 übertragen. Wenn DTACK⁺ aktiv ist, bedeutet das,
daß die Daten in die digitale Signalkarte geschrieben
wurden oder daß Daten bereitstehen, um von dem VME-Bus
gelesen zu werden.
Das Global-RAM-Zeitsteuerungs-PAL 45 erzeugt ein GMEM⁺
(global memory = Globalspeicher)-Signal auf Leitung 46.
GMEM⁺ wird aufgrund der oben erwähnten VME-Bus-Anforderung,
die von den Leitungen 44 übertragen wird, erzeugt.
Es dient als Eingangssignal für das Global-RAM-Zugriff-
PAL 47. Dies kann ein PAL-20R4A-IC für programmierbare
Gatteranordnungen der Firma Monolithic Memories
sein. Anhang B zeigt, wie das Global-RAM-Zugriff-PAL 47
in Übereinstimmung mit der vorliegenden Erfindung
programmiert werden muß.
Das von dem Global-Zugriffs-PAL 47 empfangene GMEM⁺-
Signal erzeugt Wartezustände, die entweder auf die READY-
Leitung 47 A oder die WAIT-Leitung 48 während eines jeden
Speicherzyklus gegeben werden. Sie sind in den Zeitdiagrammen
der Fig. 8 und 9 dargestellt.
Ein aktives READY-Signal wird auf Leitung 47 A von dem
globalen Zugriffs-PAL 47 erzeugt, wenn ein PGB(processor
granted bus = Bus an Prozessor gegeben)-Signal auf Leitung
54 aktiv ist, das bedeutet, daß der Mikroprozessor
9 auf das globale RAM 20 zugreift. Ein inaktives WAIT-
Signal wird auf Leitung 48 von dem Global-RAM-Zugriffs-
PAL 47 erzeugt, wenn ein BACK(I/O port controller bus
acknowledge = Busquittung von I/O-Schnittstellensteuerung)-
Signal auf Leitung 60 aktiv ist. Dies zeigt an,
daß die I/O-Schnittstellensteuerung 26 gegenwärtig auf
das globale RAM 20 zugreift. Ein aktives READY-Signal
veranlaßt den Mikroprozessor 9, die Arbeit während des
laufenden Zyklus einzustellen, und ein inaktives WAIT-
Signal veranlaßt die I/O-Schnittstellensteuerung 26,
ihren Betrieb während des laufenden Zyklus zu unterbrechen.
Das Bus-Arbitrations(= Bewertungs)- und -Steuernetzwerk
der Fig. 2 gewährt eine Zugriffsanforderung für das
globale RAM vom Mikroprozessor 9 oder von der I/O-
Schnittstellensteuerschaltung 26 demjenigen, der
als erster eine solche Anforderung abgibt. Nur wenn eine
gewährte Zugriffsanforderung auf das globale RAM inaktiv
wird, kann der andere der beiden die Steuerung des globalen
Adreß- und Datenbusses übernehmen.
Wenn der Mikroprozessor 9 Zugriff auf das globale RAM 20
anfordern will, setzt er das XF-Flagsignal auf einen
aktiven Zustand, indem er den Befehl SXF "set external
flag" ausführt. Diese Busanforderung führt dazu, daß
das Arbitrationsnetzwerk 53 der Fig. 2 dem Mikroprozessor
9 den Zugriff gewährt, wenn der globale Adreß- und
Datenbus nicht von der I/O-Steuerschaltung 26 benutzt
wird. In diesem Fall ist das Signal PGB aktiv und liegt
als Eingangswert an dem Global-RAM-Zugriffs-PAL 47. Dadurch
wird das READY-Signal auf Leitung 47 A in seinen
aktiven Zustand versetzt. Dies führt dazu, daß die richtigen
Pegel von PGE⁺ und PGW⁺ erzeugt werden, um den
Puffer 36 und die Übertragungsschaltung 18 freizugeben,
so daß der Mikroprozessor-Adreßbus 34 mit dem globalen
Adreßbus 37 und der Mikroprozessor-Datenbus 8 mit dem
globalen Datenbus 19 verbunden wird. PGE⁺ und PGW⁺ werden
gepuffert in das globale RAM übertragen. Wenn ein
"micro wait"-Zustand abläuft, schalten die Puffer die
PGE⁺- und PGW⁺-Signale weg, so daß der Zugriff vom VME-
Bus aus erfolgt.
Das globale Zugriffs-PAL 47 ist so programmiert, daß es
die Anzahl von Wartezuständen steuert, die auf diese
Weise in den Programmspeicher des Mikroprozessors 9 eingefügt
werden. Die Einfügung eines Wartezustandes in
den TMS32020 hält den Mikroprozessor einfach an, d. h.
beendet sofort die gesamte interne Aktivität des Mikroprozessors
9. Die PGE⁺- und PGW⁺-Signale bleiben an den
Puffereingängen. Das READY-Signal wird ein Mal während
eines jeden Arbeitszyklus von dem Mikroprozessor 9 abgefragt.
Wenn das READY-Signal noch auf "low" ist, dann
wird es im nächsten Zyklus wieder von dem Mikroprozessor
9 abgefragt.
Auf diese Weise stoppt das READY-Signal und der eingefügte
Wartezustand nur den Mikroprozessor 9, wenn der
VME-Bus auf das globale RAM 20 zugreifen will.
Genauso erzeugt die I/O-Schnittstellensteuerschaltung
26 das BREQ-Signal auf Leitung 58, wenn sie Zugriff
auf das globale RAM 20 anfordern will. Diese Busanforderung
führt in dem Arbitrationsnetzwerk 53 der Fig. 2
dazu, daß der I/O-Schnittstellensteuerschaltung Zugriff
gewährt wird, wenn die globalen Adreß- und Datenbusse
nicht von dem Mikroprozessor 9 benutzt werden.
In diesem Fall wird das BACK(bus acknowledge = Busquittung)-
Signal aktiv gesetzt und wird als Eingangssignal
an das globale Zugriffs-PAL 47 angelegt. Das führt
dazu, daß das WAIT-Signal auf Leitung 48 einen inaktiven
Zustand annimmt, und dies führt wiederum dazu, daß
die I/O-Schnittstellensteuerschaltung 26 die UGE⁺- und
UGW⁺-Signale erzeugt, die den Puffer 39 und die Übertragungsschaltung
22 veranlassen, den I/O-Steuerbus 23
mit dem globalen Adreßbus 37 und dem globalen Datenbus
19 zu verbinden.
Wenn der VME-Bus 2 einen Zugriff auf das globale RAM 20
anfordert, veranlaßt das Zeitsteuerungs-PAL 45, daß
GMEM⁺ aktiv wird. Das stellt ein Eingangssignal mit
der Bedeutung, daß der VME-Bus Zugriff auf das globale
RAM anfordert für das Speicherzugriffs-PAL 47, dar.
Wenn das VME-Anforderungssignal GMEM⁺ mit dem Mikroprozessor
9 oder dem Prozessor der I/O-Bussteuerung 26,
die bereits auf das Global-RAM zugreifen, synchronisiert
wurde, wird das Beginne-Zugriffsignal STRTACS
aktiv, wie es in den Zeitdiagrammen der Fig. 6 und 7
erläutert ist. Dieses Signal steuert direkt den Puffer
38 und die Übertragungseinrichtung 21, die die lokalen
VME-Adreß- und Datenbusse mit dem globalen Adreßbus und
dem globalen Datenbus verbinden.
Wartezustände werden von dem Global-RAM-Zugriffs-PAL 47
nur dann in den Mikroprozessor 9 oder die I/O-Bussteuerung
26 eingefügt, wenn eine von ihnen versucht,
auf das globale RAM 20 zuzugreifen, während der VME-Bus
2 darauf zugreift. Jede Änderung der Zugriffserlaubnis,
die dem Mikroprozessor 9 oder der I/O-Schnittstellensteuerung
26 von dem Arbitrationsnetzwerk 53 gewährt
wird, während ein bestimmter VME-Zugriff abläuft, wird
so lange aufgehalten, bis dieser VME-Zugriff beendet
ist.
Das Global-RAM-Zugriffs-PAL 47 wird so programmiert,
daß es die oben beschriebenen Wartezustände auf der
READY-Leitung 47 A oder der WAIT-Leitung 48 erzeugt und
dann einen aktiven Pegel des STRTACS(Beginne-Zugriff)-
Signals auf Leitung 61 erzeugt. Das STRTACS-Signal auf
Leitung 61 wird als Eingangswert an das Global-RAM-
Zeitsteuerungs-PAL 45 angelegt. Dadurch wird dieses veranlaßt,
ein Freigabesignal VGE⁺ auf Leitung 62 und ein
Schreibsignal VGW⁺ auf Leitung 63 zu erzeugen. Dies ist
in den Zeitdiagrammen der Fig. 6 und 7 dargestellt. Dadurch
wird die Übertragungseinrichtung 21 und der Puffer
38 selektiv freigegeben, so daß der VME-Bus auf das
Global-RAM 20 zugreifen kann und dort Lese- oder
Schreibvorgänge über den globalen Adreßbus 37 und den
globalen Datenbus 19 durchführen kann.
Außerdem werden die Übertragungseinrichtung 6 und der
Puffer 33 gleichzeitig gesperrt, so daß der Prozessor-
Datenbus 8 und der Prozessor-Adreßbus 34 von dem VME-
Bus 2 isoliert sind.
Die Einzelheiten des Arbitrationsnetzwerks 53 der Fig. 2
sind in dem Schaltplan der Fig. 5 dargestellt. Er umfaßt
ein UND-Gatter 80 mit zwei Eingängen, das das
STRTACS⁺-Signal am Eingang 61 und das GMEM⁺-Signal auf
Leitung 46 empfängt. Ein dritter Eingang, der nicht
dargestellt ist, führt ein 5 MHz-Taktsignal, das von
dem TMS32020 erzeugt wird. Der Ausgang des UND-Gatters
80 ist mit den Takteingängen von zwei D-Flip-Flops 81
und 82 verbunden (diese können HCT72-Flip-Flops sein).
Das Flip-Flop 81 empfängt das BREQ(I/O-
Schnittstellensteuerung-
Busanforderung)-Signal auf Leitung 58 an seinem
D-Eingang und erzeugt sein Q-Ausgangssignal. Dieses
wird an den B-Eingang eines Decoders 83 angelegt. Bei
diesem handelt es sich um einen 2 auf vier Decoder.
Der D-Eingang des Flip-Flops 82 empfängt das XF(Mikroprozessor-
Busanforderung)-Signal auf Leitung 51 und erzeugt
ein Q-Ausgangssignal, das an den A-Eingang des
Decoders 83 angelegt wird. Der YO⁺-Ausgang des Decoders
83 wird durch den Inverter 85 invertiert und an den
Freigabeeingang eines anderen Decoders 86 angelegt. Der
A-Eingang des Decoders 86 ist mit dem Ausgang eines
NICHT-UND-Gatters 84 mit zwei Eingängen verbunden. Dieses
empfängt das Y1⁺- und Y3⁺-Ausgangssignal des Decoders
83. Der Y2⁺-Ausgang des Decoders 83 ist mit
dem Lösch-Eingang des Flip-Flops 82 verbunden.
Der Y0⁺-Ausgang des Decoders 86 wird durch den Inverter
87 invertiert und an einen Eingang des UND-Gatters 88
mit zwei Eingängen angelegt. Der andere Eingang dieses
Gatters empfängt das BREQ-Signal auf Leitung 58. Das
UND-Gatter 88 mit zwei Eingängen erzeugt das BACK(Busquittungs)-
Signal auf Leitung 60. Der Y1⁺-Ausgang des
Decoders 86 wird vom Inverter 89 invertiert. Dieser erzeugt
das PGB-Signal auf Leitung 54.
Es soll bemerkt werden, daß die BACK- und PBG-Signale
als "Betriebsmittel-verfügbar"-Zeichen betrachtet werden
können. Typischerweise wird nur ein solches Betriebsmittel-
verfügbar-Zeichen von einem Betriebsmittel (wie dem
globalen RAM 20) erzeugt, wenn auf dieses Betriebsmittel
von einer Vielzahl verschiedener Schaltungen zugegriffen
werden kann, die möglicherweise dieses Betriebsmittel
anfordern, wie den Mikroprozessor 9 und der I/O-
Schnittstellensteuerschaltung 26. Wenn es nur ein Zeichen
für die Verfügbarkeit des Betriebsmittels gibt, muß
jedes anfordernde Gerät auf das einzelne Betriebsmittel-
verfügbar-Zeichen schauen, Zugriff auf das Betriebsmittel
verlangen und dann erneut auf das einzelne Betriebsmittel-
verfügbar-Zeichen schauen, um zu überprüfen, ob die anfordernde
Schaltung erfolgreich Zugriff auf das Betriebsmittel
erhalten hat. Das Arbitrationssystem der Fig. 5 erzeugt
jedoch zwei Betriebsmittel-verfügbar-Zeichen, nämlich
BACK und PGB. Daher muß sowohl der Mikroprozessor
9 als auch die I/O-Schnittstellensteuerung 26 jeweils nur
Zugriff auf das Global-RAM 20 anfordern und auf ein
eigenes Betriebsmittel-verfügbar-Zeichen, nämlich BACK
oder PGB, antworten. Dies vermindert die Anforderungen
an die Programmierung des Mikroprozessors 9 und der I/O-
Schnittstellensteuerung 26 und erhöht dadurch die Arbeitsgeschwindigkeit
des Systems.
Auf diese Weise wird der Zugriff zu dem globalen RAM 20
zwischen den Eingangs- und Ausgangstoren des I/O-Steuerbusses
und dem Mikroprozessor 9 aufgeteilt. Wenn einmal
einem davon Zugriff auf die globalen Adreß- und Datenbusse
gewährt wurde, läuft diese Datenübertragung mit
voller Geschwindigkeit ab, bis die Anforderung des globalen
Busses zurückgenommen wird. Die Anforderung des Busses
durch den Mikroprozessor wird durch einen Programmbefehl
gesetzt und die Anforderung des Busses durch die I/O-
Schnittstellensteuerung wird durch einen Befehl vom
Mikroprozessor 9 sowie durch ein Programm, das in der
I/O-Bussteuerungsschaltung 26 enthalten ist, gesetzt.
Der Mikroprozessor 9 kann den Status der Eingänge der
I/O-Schnittstellensteuerung 26 lesen und entscheiden,
wann Daten auf eine Übertragung warten. Der Mikroprozessor
9 kann dann die Übertragungen einleiten und
danach mit seinen eigenen internen Aufgaben fortfahren,
bis er eine Unterbrechungsanforderung von der I/O-
Schnittstellensteuerung 26 erhält. Diese Unterbrechungsanforderung
teilt dem Mikroprozessor 9 mit, daß eine bestimmte
Anzahl von Worten an das globale RAM 20 übertragen
worden ist, und auf ihre Verarbeitung wartet. Auf
diese Weise hat der Mikroprozessor 9 eine vollständige
Kontrolle über den globalen Speicher und Zugriff darauf
entsprechend seiner Programme.
Der VME-Bus 2 kann auf das globale RAM 20 jederzeit zugreifen,
indem er die oben beschriebene Zugriffstechnik
benutzt. Dabei wird die Anforderung des Busses des globalen
RAMs mit jedem anderen Gerät (Mikroprozessor 9 oder
I/O-Schnittstellensteuerung 26) synchronisiert, welches
gleichzeitig in diesem bestimmten Augenblick auf das
globale RAM 20 zugreift. Dadurch "überlappt" der Zugriff
des VME-Busses mit seinen Schreib- oder Lesezyklen durch
Einfügung der synchronisierten Wartezustände.
In einigen Anwendungsfällen wird ein Großteil der verfügbaren
Zeit vom Mikroprozessor 9 verwendet, um Daten zu
verarbeiten. Während dieser Zeit steht das globale RAM 20
für Zugriff durch die I/O-Schnittstellensteuerung 26
oder den VME-Bus 2 zur Verfügung. Daher kann der gesamte
oder nahezu der gesamte gewünschte Datenverkehr durchgeführt
werden, während der Mikroprozessor 9 seine eigenen
internen Programme ausführt, wie die Berechnung einer
schnellen Fourier-Transformation oder dergl.
Fig. 6 stellt ein detailliertes Zeitdiagramm der digitalen
Signalverarbeitungsanlage 1 für einen Schreibzyklus
des Mikroprozessors dar; Fig. 7 stellt ein ähnliches
Zeitdiagramm für einen Lesezyklus des Mikroprozessors
dar. In den Fig. 6 und 7 bedeutet CLK das 20 MHz-Taktsignal,
das als Eingangswert an den TMS32020-Mikroprozessor
9 angelegt wird. BS⁺ ist ein Kartenauswahlsignal,
das von dem VME-Interface PAL 43 erzeugt wird.
BS⁺ zeigt an, wenn die digitale Signalprozessorkarte 1
für eine Lese/Schreib-Operation von einem Systemmaster
(nicht dargestellt), der mit dem VME-Bus verbunden ist,
ausgewählt worden ist, d. h. wenn irgendein anderes Gerät,
das an den VME-Bus angeschlossen ist, versucht, auf den
digitalen Signalprozessor 1 zuzugreifen.
Die Adressenbits der Kurvenzüge A 16 und A 17 werden von
dem VME-Bus 2 gepuffert. Wenn A 16 und A 17 beide im High-
Zustand sind, bedeutet das, daß ein Zugriff auf das globale
RAM 20 von dem VME-Bus 2 gewünscht wird. Das Signal
DS (Datenabtastung) ist ein gepuffertes Datenabtastsignal.
Das WRITE⁺-Signal ist low, wenn eine Schreiboperation
abläuft oder eingeleitet wird, und ist high, wenn
eine Leseoperation abläuft oder eingeleitet wird.
Das Signal VGTXEN⁺ ist ein Ausgangswert, der von dem
Zeitsteuerungs-PAL 45 erzeugt wird, das die Übertragungseinrichtungen
18, 21 und 22 freigibt, die den Zugriff
auf das globale RAM 20 bewirken. VGADEN⁺ ist ein Ausgangssignal
des Zeitsteuerungs-PAL 45, das die globalen
Adreßpuffer 36, 38 und 39 freigibt. Ebenso gibt es die
VGE⁺- und VGW⁺-Signale an das globale RAM 20 frei.
VGE⁺ ist ein Ausgangssignal des Zeitsteuerungs-PAL 45,
das als Freigabe des globalen RAM aufgrund einer Anforderung
durch den VME-Bus wirkt. VGW⁺ ist ein globales
Schreibfreigabesignal für das globale RAM für den VME-
Bus zur Durchführung eines Schreibzyklus. GMEM⁺ ist ein
Busanforderungs-Ausgangssignal des Zeitsteuerungs-PAL 45
an das Global-RAM-Zugriffs-PAL 47, wie vorstehend erläutert.
STRTACS⁺ ist das Gewährungssignal vom globalen Zugriffs-
PAL 47 und es erlaubt dem Zeitsteuerungs-PAL 45,
den VME-Zugriff auf das globale RAM fortzusetzen, wie
vorstehend erläutert. Die DTACK⁺-Signale teilen dem
VME-Bus mit, daß Daten in das globale RAM geschrieben
worden sind oder daß Daten für einen Lesezugriff von dem
globalen RAM bereitgestellt sind.
Der Zeitabstand, der durch die Pfeile 92 in den Fig. 6
und 7 bezeichnet ist, stellt die Verzögerungen dar, die
zulässig sein müssen zwischen den Taktzuständen S 2 und
S 11, um den Zugriff auf das globale RAM 20 durch den
VME-Bus 2 mit jedem anderen gegenwärtig laufenden Zugriff
auf das globale RAM 20 durch den Mikroprozessor 9
oder die Eingang/Ausgangs-Schnittsstellensteuerung 26
zu synchronisieren.
Wenn weder der Mikroprozessor 9 noch die I/O-Schnittstellensteuerung
26 gegenwärtig auf das globale RAM 20
zugreift, soll der Zeitverzug 92 50 nsec betragen. Die
Zeitverzögerung 92 ist der Betrag von Zeit, der zulässig
ist, bevor STRTACS aktiv wird, damit der überlappende
Zugriff durch den VME-Bus 2 richtig überlappt wird mit
gerade laufendem Zugriff durch den Mikroprozessor 9
oder die I/O-Bussteuerung 26 in Übereinstimmung mit der
vorliegenden Erfindung.
Wenn der Mikroprozessor 9 gerade auf das globale RAM 20
zugreift, soll die Verzögerung 92 200 nsec betragen, und
wenn die I/O-Schnittstellensteuerung 26 gerade auf das
globale RAM 20 zugreift, soll die Verzögerung 92
500 nsec betragen.
Das Zeitdiagramm der Fig. 8 erläutert den Zeitverlauf
des Vorgangs, wenn ein Zugriff des VME-Busses 2 mit
einem laufenden Zugriff des Mikroprozessors 9 auf das
globale RAM 20 überlappt. Die Kurvenform CLKOUT2 ist
das oben erwähnte Taktsignal für den TMS32020. Die Tatsache,
daß der Mikroprozessor 9 den globalen Adreßbus
37 und den globalen Datenbus 19 steuert, wird dadurch
angezeigt, daß die PGB-Kurve auf hohem Zustand ist. Wie
vorstehend erläutert, ist das erste, was passiert, um
einen Zugriff auf das globale RAM 20 aufgrund einer Anforderung
durch den VME-Bus durchzuführen, daß GMEM⁺
low wird, wie durch Bezugszeichen 94 angegeben. Dies
veranlaßt die Kurve QP, die im wesentlichen eine auf
CLKOUT2 synchronisierte Version des GMEM⁺-Signals ist,
nach low zu gehen, gleichzeitig mit der Flanke 95 des
CLKOUT2-Signals, wie durch Bezugszeichen 96 angegeben.
Das heißt, die nächste fallende Flanke von CLKOUT2 nach
dem Übergang 94 von GMEM⁺ erzeugt den Übergang 96 der
QP-Kurve. Das Auftreten des Übergangs 96 von QP bedeutet,
daß die Synchronisation mit jedem ablaufenden Zugriff
auf das globale RAM durch den Mikroprozessor 9 erreicht
worden ist. Daher kann der angeforderte VME-Zugriff beginnen.
Das STRTACS⁺-Signal wird daher veranlaßt, einen
Übergang 97 aufgrund des Übergangs 96 der QP-Kurve auszuführen.
Man beachte bei der Signalfolge der Fig. 8, daß BR⁺ ein
Busanforderungssignal vom Mikroprozessor 9 ist. Wenn
dieses nach low geht, bedeutet das, daß der Mikroprozessor
9 versucht, Zugriff auf das globale RAM 20
zu erhalten. Das Bezugszeichen 98 bezeichnet einen solchen
Versuch des Mikroprozessors 9, Zugriff auf das
globale RAM 20 zu erhalten, während der VME-Bus auf
das globale RAM 20 zugreift. Wenn das Signal PGB high
ist, ist es dem Mikroprozessor 9 gestattet, einen Zugriff
auf das globale RAM 20 zu versuchen. In Übereinstimmung
mit der vorliegenden Erfindung ist der angeforderte
Zugriff des Mikroprozessors 9 auf das globale
RAM, der durch den Übergang 98 des BR⁺-Signals dargestellt
wird, nicht erlaubt. Statt dessen unterliegt die
READY-Kurve sofort einem negativen Übergang 99. Dadurch
wird ein Wartezustand in den Mikroprozessor 9
eingefügt.
Inzwischen läuft der VME-Zugriff auf das globale RAM 20
in der Zeitperiode ab, in der STRTACS⁺ low ist. Dies
ist durch das Bezugszeichen 100 gekennzeichnet. Wenn
der VME-Zugriff beendet ist, wie durch den Übergang
101 von GMEM⁺ angezeigt, unterliegt READY dem Übergang
103 und STRTACS⁺ dem Übergang 102. Die nächste fallende
Flanke 104 von CLKOUT2 veranlaßt dann einen entsprechenden
synchronisierten Übergang 105 von QP. Dadurch wird
der vom Mikroprozessor 9 angeforderte Zugriff auf das
globale RAM freigegeben (die Zugriffsanforderung wurde
durch den Übergang 98 von BR⁺ angezeigt). Der Zugriff
des Mikroprozessors 9 auf das globale RAM 20 geht dann
weiter, bis er beendet wird, wie durch den Übergang 106
angezeigt (natürlich abgesehen davon, daß es noch eine
weitere Zugriffsanforderung des VME-Busses auf das
globale RAM 20 gibt).
Fig. 9 erläutert den Zeitverlauf der wichtigsten Signale,
die benutzt werden, um eine Zugriffsanforderung des
VME-Busses auf das globale RAM mit einem Zugriff auf
das globale RAM 20 durch die I/O-Steuerschaltung 26 zu
überlappen. Das 6-MHz-CLK-Signal ist ein Taktsignal,
welches von der I/O-Schnittstellensteuerschaltung 26
erzeugt wird. Die Kurven GMEM⁺, Q 1, Q 2 und Q 3 sind Zeitsignale,
die von einem Zähler aufgrund einer Anforderung
des globalen RAM durch den VME-Bus erzeugt werden, wie
vorstehend erläutert. Aufgrund der anfänglichen Zugriffsanforderung
des VME-Busses für das globale RAM 20 erhält
GMEM⁺ eine fallende Flanke 109. Etwa zwei weitere 6-MHz-
Taktsignalzyklen müssen ablaufen können, bevor das WAIT-
Signal erzeugt wird. Der Zähler, der Q 1, Q 2 und Q 3 erzeugt,
stellt die notwendigen Zeitsignale her, durch
die sichergestellt wird, daß STRTACS nicht eine fallende
Flanke zu kurz nach der fallenden Flanke 110 von WAIT
aufweist, da die I/O-Schnittstellensteuerung 26 das
WAIT-Signal nicht bei jedem 6 MHz-Zyklus abfragt. Dadurch,
daß die fallende Flanke 111 von Q 3 abgewartet
wird und erst dann der Übergang 112 von STRTACS freigegeben
wird, kann sichergestellt werden, daß der angeforderte
Zugriff des VME-Busses auf das globale RAM 20
nicht zu bald beginnt und wirksam mit einem jeden gerade
ablaufenden Zugriff der I/O-Schnittstellensteuerung 26
auf das globale RAM 20 synchronisiert ist.
Der Betriebsablauf von Fig. 9 kann folgendermaßen zusammengefaßt
werden: Der Übergang 109 von GMEM⁺ startet
den Zähler Q 1, Q 2 und Q 3. Der Übergang 111 von Q 3 ereignet
sich drei 6 MHz-CLK-Zyklen nach dem Übergang 113
der Kurve Q 1. Der Zugriff des VME-Busses auf das
globale RAM 20 läuft ab, während STRTACS sich auf dem
niedrigen Pegel, der durch das Bezugszeichen 114 bezeichnet
wird, befindet. Wenn GMEM⁺ eine steigende Flanke
115 aufweist, ist der angeforderte Zugriff des VME-
Busses 2 auf das globale RAM 20 beendet. Dies startet
den Zähler erneut. Dadurch wird ein mit der Flanke 117
des 6 MHz-CLK-Signals synchronisierter Übergang 116 von
Q 1 bewirkt. Die Übergänge 118 von Q 2 und 119 von Q 3 folgen.
Der Übergang 120 von WAIT ist mit dem Übergang 118
von Q 2 synchronisiert. Der Übergang 121 von STRTACS ist
mit dem Übergang 119 von Q 3 synchronisiert. Die DMA-
Steuerung, die zur Implementierung der I/O-Schnittstellensteuerung
26 verwendet wird, setzt ihren Zugriff auf
das globale RAM 20 synchron mit dem Übergang 120 von
WAIT fort.
Das oben beschriebene System löst einige der Nachteile
des bisherigen SPV100-Digitalverarbeitungssystems, indem
es nur die halbe Menge an RAM benötigt, da das globale
RAM 20 sowohl als Datenspeicher als auch als Ausgabespeicher
benutzt werden kann. Weiterhin führt die Tatsache,
daß das globale RAM 20 sowohl vom VME-Bus 2 als
auch vom Mikroprozessor 9 aus zugänglich ist, zu einer
zusätzlichen Flexibilität und einer Erhöhung der Arbeitsgeschwindigkeit.
Die Erfindung macht es sehr einfach und
leicht, Programme zu schreiben, die eine effektive Informationsübertragung
zwischen dem VME-Bus 2 und dem Mikroprozessor
9 unter Benutzung des globalen RAM 20 bewirken.
Die Tatsache, daß drei verschiedene Prozessoren, nämlich
der TMS32020, jeder Prozessor, der mit dem VME-Bus verbunden
ist, und die Eingabe/Ausgabe-Steuerung, nicht einzeln
drei verschiedene Speicherbereiche bewachen müssen,
um drei verschiedene Prozesse durchzuführen, sondern daß
es statt dessen genügt, wenn alle ein und dasselbe globale
RAM überwachen und darauf zugreifen, verringert die
Schwierigkeit der erforderlichen Programme zur Ausführung
der drei verschiedenen Prozesse oder Programme wesentlich.
Kurz gesagt, bewirkt die Erfindung eine erheblich
größere Flexibilität für den Programmierer, der gezwungen
ist, verschiedene Prozessoren verschiedener Prozesse
in dem gleichen System durchführen zu lassen.
Claims (22)
1. Digitale Datenverarbeitungsschaltung, gekennzeichnet
durch
- (a) einen Prozessor (9), der mit einem ersten Adreßbus (34) und einem ersten Datenbus (8) verbunden ist;
- (b) eine Eingabe/Ausgabe-Steuerschaltung (26), die mit einem Eingabe/Ausgabe-Bus (23) verbunden ist;
- (c) einen zweiten Datenbus (5) und einen zweiten Adreßbus (32);
- (d) einen globalen Speicher (20), der mit einem globalen Adreßbus (37) und einem globalen Datenbus (19) verbunden ist;
- (e) eine erste Übertragungseinrichtung (19) zur selektiven Kopplung des ersten Datenbusses (8) mit dem globalen Datenbus (19) und eine erste Adreßpuffervorrichtung (36) zur selektiven Kopplung des globalen Adreßbusses (37) mit dem ersten Adreßbus (34);
- (f) eine zweite Übertragungseinrichtung (21) zur selektiven Kopplung des globalen Datenbusses (19) mit dem zweiten Datenbus (5) und eine zweite Adreßpuffervorrichtung (38) zur selektiven Kopplung des globalen Adreßbusses (37) mit dem zweiten Adreßbus (32);
- (g) eine dritte Übertragungseinrichtung (22) zur selektiven Kopplung des globalen Datenbusses (19) mit dem Eingabe/Ausgabe-Bus (23) und eine dritte Adreßpuffervorrichtung (39) zur selektiven Kopplung des globalen Adreßbusses (37) mit dem Eingabe/Ausgabe-Bus (23);
- (h) eine Vorrichtung (53), die aufgrund eines ersten Busanforderungssignals (XF), das von dem Prozessor (9) erzeugt wird, ein erstes Bewährungssignal (PGB) erzeugt;
- (i) eine Vorrichtung (47), die aufgrund des ersten Busgewährungssignals (PGB) die erste Adreßpuffervorrichtung (36) und die erste Übertragungseinrichtung (18) freigibt, um einen Zugriff des Prozessors (9) auf den globalen Speicher (20) zu bewirken;
- (j) eine Vorrichtung (53), die aufgrund eines zweiten Busanforderungssignals (BREQ), das von der Eingabe/ Ausgabe-Steuerschaltung (26) erzeugt wird, ein zweites Busgewährungssignal (BACK) erzeugt;
- (k) eine Vorrichtung (47), die aufgrund des zweiten Busgewährungssignals (BACK) die dritte Adreßpuffervorrichtung (39) und die dritte Übertragungseinrichtung (22) freigibt, um einen Zugriff der Eingabe/ Ausgabe-Steuerung (26) auf den globalen Speicher (20) zu bewirken:
- (l) eine Vorrichtung, die aufgrund eines dritten Busanforderungssignals (GMEM⁺), das von dem zweiten Adreßbus (32) erzeugt wird, Wartezustände in den Prozessor (9) einfügt, wenn der Prozessor (9) auf den globalen Speicher (20) zugreift, und Wartezustände in die Eingabe/Ausgabe-Steuerung (26) einfügt, wenn die Eingabe/ Ausgabe-Steuerung (26) auf den globalen Speicher (20) zugreift, und eine Vorrichtung zur Freigabe des zweiten Adreßpuffers (38) zur Kopplung des zweiten Adreßbusses (32) mit dem globalen Adreßbus (37), während die Wartezustände eingefügt werden, und eine Vorrichtung zur Freigabe der zweiten Übertragungseinrichtung (21) zur Kopplung des globalen Datenbusses (19) mit dem zweiten Datenbus (5), während die Wartezustände eingefügt werden, wodurch ein Zugriff auf den globalen Speicher (20) durch ein externes Gerät, das mit dem zweiten Datenbus (5) und dem zweiten Adreßbus (32) gekoppelt ist, bewirkt wird.
2. Digitale Datenverarbeitungsschaltung nach Anspruch 1,
gekennzeichnet durch einen externen Bus (2),
der Adreßleitungen und Datenleitungen umfaßt, und eine
vierte Übertragungseinrichtung (4) zur selektiven Kopplung
der Datenleitungen mit dem zweiten Datenbus (5)
sowie eine vierte Adreßpuffervorrichtung (30) zur selektiven
Kopplung der Adreßleitungen mit dem zweiten Adreßbus
(32).
3. Digitale Datenverarbeitungsschaltung nach Anspruch 2,
gekennzeichnet durch eine fünfte Übertragungseinrichtung
(6) zur selektiven Kopplung des ersten Datenbusses
(8) mit dem zweiten Datenbus (5) und eine
fünfte Adreßpuffervorrichtung (33) zur selektiven Kopplung
des ersten Adreßbusses (34) mit dem zweiten Adreßbus
(32).
4. Digitale Datenverarbeitungsschaltung nach Anspruch 3,
gekennzeichnet durch eine sechste Übertragungseinrichtung
(25) zur selektiven Kopplung des ersten Datenbusses
(8) mit dem Eingabe/Ausgabe-Bus (23).
5. Digitale Datenverarbeitungsschaltung nach Anspruch 4,
gekennzeichnet durch eine Decodierungsvorrichtung
(30) zur Decodierung einer Adresse im externen Bus
(2) zur Erzeugung des dritten Busanforderungssignals
(GMEM⁺).
6. Digitale Datenverarbeitungsschaltung nach Anspruch 4,
dadurch gekennzeichnet, daß die Vorrichtung
(47) zur Einfügung der Wartezustände eine Zeitschaltungsvorrichtung
zur Synchronisation der eingefügten
Wartezustände mit dem Zugriff auf den globalen Speicher
(20) durch den Prozessor (9) oder die Eingabe/Ausgabe-
Steuerung
(26), in die die Wartezustände eingefügt wurden,
umfaßt.
7. Digitale Datenverarbeitungsschaltung nach Anspruch 6,
dadurch gekennzeichnet, daß der Prozessor (9)
einen ersten Eingang zum Empfang eines Wartesignals umfaßt
und die Ausführung eines laufenden Befehls aufgrund
des empfangenen Wartesignals anhält, wobei die
Vorrichtung zur Einfügung der Wartezustände Wartezustände
in den Prozessor (9) einfügt durch Erzeugung der
Wartesignale an dem ersten Eingang synchron mit dem Zugriff
auf den globalen Speicher (20) durch den Prozessor
(9), und wobei die Eingabe/Ausgabe-Steuerung (26) einen
zweiten Eingang zum Empfang eines Wartesignals umfaßt
und die Ausführung eines laufenden Steuervorgangs des
Eingabe/Ausgabe-Busses (23) anhält aufgrund eines
empfangenen Wartesignals, wobei die Vorrichtung zur Einfügung
von Wartezuständen Wartezustände in die Eingabe/
Ausgabe-Steuerung (26) durch Erzeugung der Wartesignale
von dem zweiten Eingang synchron mit dem Zugriff auf
den globalen Speicher (20) durch die Eingabe/Ausgabe-
Steuerung (36) einfügt.
8. Digitale Datenverarbeitungsschaltung nach Anspruch 7,
dadurch gekennzeichnet, daß der Prozessor (9)
eine Vorrichtung umfaßt, die aufgrund eines Wartesignals,
das sie empfangen hat, die erste Adreßpuffervorrichtung
(36) und die erste Übertragungseinrichtung (18) sperrt,
um den ersten Adreßbus (34) und den ersten Datenbus (8)
von dem globalen Speicher (20) zu isolieren.
9. Digitale Datenverarbeitungsschaltung nach Anspruch 8,
dadurch gekennzeichnet, daß die Eingabe/Ausgabe-
Steuerung (26) eine Vorrichtung umfaßt, die aufgrund
eines empfangenen Wartesignals die dritte Adreßpuffervorrichtung
(39) und die dritte Übertragungseinrichtung
(22) von dem Eingabe/Ausgabe-Bus (23) sperrt,
um den Eingabe/Ausgabe-Bus (23) von dem globalen Speicher
(20) zu isolieren.
10. Digitale Datenverarbeitungsschaltung nach Anspruch 9,
dadurch gekennzeichnet, daß der Prozessor (9)
einen internen, lokalen Speicher (10) umfaßt und auf
den internen, lokalen Speicher zugreifen kann, während
Wartezustände an dem ersten Eingang empfangen werden.
11. Digitale Datenverarbeitungsschaltung nach Anspruch 10,
gekennzeichnet durch einen Schreib/Lese-
Speicher (13), der mit dem ersten Adreßbus (34) und dem
ersten Datenbus (8) verbunden ist, um das Herunterladen
von Programmen von dem externen Bus (2) und/oder dem
Eingabe/Ausgabe-Bus (23) in den Schreib/Lese-Speicher
(13) zu erlauben.
12. Digitale Datenverarbeitungsschaltung nach Anspruch 11,
gekennzeichnet durch eine Vorrichtung, die
aufgrund der Einfügung von Wartezuständen und eines
Schreibsignals, das von der externen Busvorrichtung
(2) getragen wird, ein Schreibsignal erzeugt, während
die Wartesignale an den ersten und zweiten Eingängen
liegen, um einen Zugriff des externen Busses (2) auf den
globalen Speicher (20) zu bewirken.
13. Verfahren zur Überlappung von Zugriffsanforderungen
mit hoher Priorität auf einen globalen Speicher
durch einen ersten Prozessor mit Zugriffen auf den globalen
Speicher durch einen zweiten und dritten Prozessor
mit niedrigerer Priorität, gekennzeichnet durch
die folgenden Schritte:
- (a) Betreiben des zweiten Prozessors (9) zur Erzeugung eines ersten Busanforderungssignals (XF);
- (b) sofern auf den globalen Speicher (20) gerade
nicht zugegriffen wird,
- (1) Erzeugung eines ersten Busgewährungssignals (PGB);
- (2) Erzeugung eines ersten Bereitschaftssignals (READY) auf einer ersten Leitung (47 A) aufgrund des ersten Busgewährungssignals (PGB) und Zuleitung des ersten Bereitschaftssignals (READY) auf der ersten Leitung (47 A) zu dem zweiten Prozessor (9);
- (3) Erzeugung eines ersten Freigabesignals (PGE⁺) und eines ersten Schreibsignals (PGW⁺) zur Bewirkung eine Zugriffs auf den globalen Speicher (20) durch den zweiten Prozessor (9);
- (c) Betreiben des dritten Prozessors (26) zur Erzeugung eines zweiten Busanforderungssignals (BREQ);
- (d) sofern auf den globalen Speicher (20) gerade
nicht zugegriffen wird,
- (1) Erzeugung eines zweiten Busgewährungssignals (BACK);
- (2) Erzeugung eines zweiten Bereitschaftssignals (WAIT) auf einer zweiten Leitung (48) aufgrund des zweiten Busgewährungssignals (BACK) und Zuleitung des zweiten Bereitschaftssignals (WAIT) auf der zweiten Leitung (48) an den dritten Prozessor (26);
- (3) Erzeugung eines zweiten Freigabesignals (UGE⁺) und eines zweiten Schreibsignals (UGW⁺), um einen Zugriff des dritten Prozessors (26) auf den globalen Speicher (20) zu bewirken;
- (e) Betreiben des ersten Prozessors zur Erzeugung einer ersten Adresse zum Zugriff auf den globalen Speicher (20);
- (f) Decodierung der ersten Adresse zur Erzeugung eines dritten Busanforderungssignals (GMEM⁺) und Synchronisierung des dritten Busanforderungssignals (GMEM⁺) mit jedem gerade ablaufenden Zugriff auf den globalen Speicher (20) durch den zweiten Prozessor (9) oder den dritten Prozessor (26);
- (g) Erzeugung eines ersten Wartesignals auf der ersten Leitung (47 A) synchron mit dem Zugriff auf den globalen Speicher (20) durch den zweiten Prozessor (9), sofern sich das erste Bereitschaftssignal (READY) auf der ersten Leitung (47 A) befindet, und Erzeugung eines zweiten Wartesignals auf der zweiten Leitung (48) synchron mit dem Zugriff auf den globalen Speicher (20) durch den dritten Prozessor (26), sofern das zweite Bereitschaftssignal auf der zweiten Leitung (48) anliegt;
- (h) Erzeugung eines dritten Freigabesignals (VGE⁺) und eines dritten Schreibsignals (VGW⁺), um den ersten Prozessor mit dem globalen Speicher (20) zu koppeln, so daß dieser darauf Lese- und Schreiboperationen ausführen kann.
14. Verfahren nach Anspruch 13, gekennzeichnet durch
Erzeugung des dritten Freigabesignals (VGE⁺) und des
dritten Schreibsignals (VGW⁺), wenn weder der zweite
Prozessor (9) noch der dritte Prozessor (26) auf den
globalen Speicher (20) zugreift.
15. Verfahren nach Anspruch 14, gekennzeichnet durch
Benutzung des ersten Freigabesignals (PGE⁺) sowohl zur
Freigabe des ersten Adreßpuffers (36) zur Kopplung eines
Adreßbusses (34) des zweiten Prozessors (9) an einen
Adreßbus (37) des globalen Speichers (20) als auch zur
Freigabe einer ersten Übertragungsschaltung (18) zur
Kopplung eines Datenbusses (8) des zweiten Prozessors
(9) an einen Datenbus (19) des globalen Speichers (20)
während des ersten Bereitschaftssignals und zur Sperrung
des ersten Adreßpuffers (36) und der ersten Übertragungsschaltung
(18) zur Abkopplung des zweiten Prozessors (9)
von dem globalen Speicher (20) während des ersten Wartesignals.
16. Verfahren nach Anspruch 15, gekennzeichnet durch
Benutzung des zweiten Freigabesignals (UGE⁺) sowohl zur
Freigabe eines zweiten Adreßpuffers (39) zur Kopplung
eines Adreßbusses (23) des dritten Prozessors (26) an
den Adreßbus (37) des globalen Speichers (20) und zur
Freigabe einer zweiten Übertragungsschaltung (22) zur
Kopplung eines Datenbusses (23) des dritten Prozessors
(26) mit dem Datenbus (19) des globalen Speichers (20)
während des zweiten Bereitschaftssignals als auch zur
Sperrung des zweiten Adreßpuffers (39) und der zweiten
Übertragungsschaltung (22) zur Trennung des Prozessors
(26) von dem globalen Speicher (20) während des zweiten
Wartesignals.
17. Verfahren nach Anspruch 16, gekennzeichnet durch
Benutzung des dritten Freigabesignals (VGE⁺) sowohl
zur Freigabe eines dritten Adreßpuffers (38) zur Kopplung
eines Adreßbusses (32) des ersten Prozessors an
den Adreßbus (37) des globalen Speichers (20) und zur
Freigabe einer dritten Übertragungsschaltung (21) zur
Kopplung eines Datenbusses (5) des ersten Prozessors mit
dem Datenbus (19) des globalen Speichers (20) während des
ersten und zweiten Wartesignals als auch zur Sperrung
des dritten Adreßpuffers (38) und der dritten Übertragungsschaltung
(21) zur Trennung des ersten Prozessors
von dem globalen Speicher (20) während der übrigen Zeit.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet,
daß der zweite Prozessor (9) einen internen, lokalen
Speicher (10) umfaßt, wobei das Verfahren den Betrieb
des zweiten Prozessors (9) zum Zugriff auf den internen,
lokalen Speicher (10) zur Ausführung eines Programms
und gleichzeitig den Betrieb des ersten Prozessors
oder des dritten Prozessors (26) zum Zugriff auf
den globalen Speicher (20) umfaßt.
19. Verfahren nach Anspruch 18, gekennzeichnet durch
Betrieb des zweiten Prozessors (9) zum Zugriff sowohl
auf den lokalen, internen Speicher (10) als auch den
globalen Speicher (20) zur Übertragung von Daten zwischen
dem lokalen, internen Speicher (10) und dem globalen
Speicher (20).
20. System zur Überlappung von Zugriffsanforderungen
hoher Priorität auf einen globalen Speicher durch einen
ersten Prozessor mit Zugriffen auf den globalen Speicher
durch einen zweiten und einen dritten Prozessor
niedrigerer Priorität, gekennzeichnet durch
- (a) eine Vorrichtung zum Betrieb des ersten Prozessors (9) zur Erzeugung eines ersten Busanforderungssignals (XF);
- (b) Vorrichtung zur
- (1) Erzeugung eines ersten Busgewährungssignals (PGB),
- (2) Erzeugung eines ersten Bereitschaftssignals (READY) auf einer ersten Leitung (47 A) aufgrund des ersten Busgewährungssignals (PGB) und Zuleitung des ersten Bereitschaftssignals (READY) auf der ersten Leitung (47 A) an den zweiten Prozessor (9),
- (3) Erzeugung eines ersten Freigabesignals (PGE⁺) und eines ersten Schreibsignals (PGW⁺), um einen Zugriff auf den globalen Speicher (20) durch den zweiten Prozessor (9) zu bewirken, sofern auf den globalen Speicher (20) gerade nicht zugegriffen wird;
- (c) eine Vorrichtung zum Betrieb des dritten Prozessors (26) zur Erzeugung eines zweiten Busanforderungssignals (BREQ);
- (d) Vorrichtungen zur
- (1) Erzeugung eines zweiten Busgewährungssignals (BACK),
- (2) Erzeugung eines zweiten Bereitschaftssignals (WAIT) auf einer zweiten Leitung (48) aufgrund des zweiten Busgewährungssignals (BACK) und Zuleitung des zweiten Bereitschaftssignals (WAIT) auf der zweiten Leitung (48) an den dritten Prozessor (26),
- (3) Erzeugung eines zweiten Freigabesignals (UGE⁺) und eines zweiten Schreibsignals (UGW⁺), um dadurch einen Zugriff des dritten Prozessors (26) auf den globalen Speicher (20) zu bewirken, sofern nicht gerade auf den globalen Speicher (20) zugegriffen wird;
- (e) eine Vorrichtung zum Betrieb des ersten Prozessors zur Erzeugung einer ersten Adresse zum Zugriff auf den globalen Speicher (20);
- (f) eine Vorrichtung zur Decodierung der ersten Adresse zur Erzeugung eines dritten Busanforderungssignals (GMEM⁺) und eine Vorrichtung zur Synchronisation des dritten Busanforderungssignals (GMEM⁺) mit einem jeden gerade ablaufenden Zugriff auf den globalen Speicher (20) durch den zweiten Prozessor (9) oder den dritten Prozessor (26);
- (g) eine Vorrichtung zur Erzeugung eines ersten Wartesignals auf der ersten Leitung synchron mit dem Zugriff des zweiten Prozessors (9) auf den globalen Speicher, sofern das erste Bereitschaftssignal auf der ersten Leitung (47 A) anliegt, und eine Vorrichtung zur Erzeugung eines zweiten Wartesignals auf der zweiten Leitung (48) synchron mit dem Zugriff des dritten Prozessors (26) auf den globalen Speicher (20), sofern das zweite Bereitschaftssignal auf der zweiten Leitung (48) anliegt;
- (h) eine Vorrichtung zur Erzeugung eines dritten Freigabesignals (VGE⁺) und eines dritten Schreibsignals (VGW⁺), um damit die Kopplung des ersten Prozessors mit dem globalen Speicher (20) und einen Lese- und Schreibzugriff darauf zu bewirken.
21. System nach Anspruch 20, gekennzeichnet durch
eine Vorrichtung zur Erzeugung des dritten Freigabesignals
(VGE⁺) und des dritten Schreibsignals (VGW⁺), wenn
weder der zweite Prozessor (9) noch der dritte Prozessor
(26) auf den globalen Speicher (20) zugreift.
22. Digitale Datenverarbeitungsschaltung, gekennzeichnet
durch
- (a) eine Prozessor (9), der mit einem ersten Adreßbus (34) und einem ersten Datenbus (8) verbunden ist;
- (b) eine Eingabe/Ausgabe-Steuerschaltung (26), die mit einem Eingabe/Ausgabe-Bus (23) verbunden ist;
- (c) einen zweiten Datenbus (5) und einen zweiten Adreßbus (32);
- (d) ein Betriebsmittel (20), das mit einem globalen Adreßbus (37) und einem globalen Datenbus (19) verbunden ist;
- (e) eine erste Übertragungseinrichtung (19) zur selektiven Kopplung des ersten Datenbusses (8) mit dem globalen Datenbus (19) und eine erste Adreßpuffervorrichtung (36) zur selektiven Kopplung des globalen Adreßbusses (37) mit dem ersten Adreßbus (34);
- (f) eine zweite Übertragungsvorrichtung (21) zur selektiven Kopplung des globalen Datenbusses (19) mit dem zweiten Datenbus (5) und eine zweite Adreßpuffervorrichtung (38) zur selektiven Kopplung des globalen Adreßbusses (37) mit dem zweiten Adreßbus (32);
- (g) eine dritte Übertragungseinrichtung (22) zur selektiven Kopplung des globalen Datenbusses (19) mit dem Eingabe/Ausgabe-Bus (23) und eine dritte Adreßpuffervorrichtung (39) zur selektiven Kopplung des globalen Adreßbusses (37) mit dem Eingabe/Ausgabe-Bus (23);
- (h) eine Vorrichtung (53), die aufgrund eines ersten Busanforderungssignals (XF), das von dem Prozessor (9) erzeugt wird, ein erstes Busgewährungssignal (PGB) erzeugt;
- (i) eine Vorrichtung (47), die aufgrund des ersten Busgewährungssignals (PGB) die erste Adreßpuffervorrichtung (36) und die erste Übertragungseinrichtung (18) freigibt, um einen Zugriff des Prozessors (9) auf das Betriebsmittel (20) zu bewirken;
- (j) eine Vorrichtung (53), die aufgrund eines zweiten Busanforderungssignals (BREQ), das von der Eingabe/ Ausgabe-Steuerschaltung (26) erzeugt wird, ein zweites Busgewährungssignal (BACK) erzeugt;
- (k) eine Vorrichtung (47), die aufgrund des zweiten Busgewährungssignals (BACK) die dritte Adreßpuffervorrichtung (39) und die dritte Übertragungseinrichtung (22) freigibt, um einen Zugriff der Eingabe/Ausgabe- Steuerung (26) auf das Betriebsmittel (20) zu bewirken;
- (l) eine Vorrichtung, die aufgrund eines dritten Busanforderungssignals (GMEM⁺), das von dem zweiten Adreßbus (32) erzeugt wird, Wartezustände in den Prozessor (9) einfügt, wenn der Prozessor (9) auf das Betriebsmittel (20) zugreift, und Wartezustände in die Eingabe/Ausgabe-Steuerung (26) einfügt, wenn die Eingabe/ Ausgabe-Steuerung (26) auf das Betriebsmittel (20) zugreift, und eine Vorrichtung zur Freigabe des zweiten Adreßpuffers (38) zur Kopplung des zweiten Adreßbusses (32) mit dem globalen Adreßbus (37), während die Wartezustände eingefügt werden, und eine Vorrichtung zur Freigabe der zweiten Übertragungseinrichtung (21) zur Kopplung des globalen Datenbusses (19) mit dem zweiten Datenbus (5), während die Wartezustände eingefügt werden, wodurch ein Zugriff auf das Betriebsmittel (20) durch ein externes Gerät, das mit dem zweiten Datenbus (5) und dem zweiten Adreßbus (32) gekoppelt ist, bewirkt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB8625666A GB2196762B (en) | 1986-10-27 | 1986-10-27 | Interleaved access to global memory by high priority source |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3732798A1 true DE3732798A1 (de) | 1988-05-05 |
Family
ID=10606375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873732798 Ceased DE3732798A1 (de) | 1986-10-27 | 1987-09-29 | Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet |
Country Status (5)
Country | Link |
---|---|
US (1) | US4847757A (de) |
JP (1) | JPS63115260A (de) |
DE (1) | DE3732798A1 (de) |
FR (1) | FR2606906A1 (de) |
GB (1) | GB2196762B (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5062043A (en) * | 1986-12-16 | 1991-10-29 | The Tokyo Electric Power Co., Inc. | Information collecting and distributing system providing plural sources and destinations with synchronous alternating access to common storage |
JPS63243989A (ja) * | 1987-03-31 | 1988-10-11 | 株式会社東芝 | メモリ制御装置 |
US5029111A (en) * | 1987-04-29 | 1991-07-02 | Prime Computer, Inc. | Shared bit-plane display system |
US5155812A (en) * | 1989-05-04 | 1992-10-13 | Texas Instruments Incorporated | Devices and method for generating and using systems, software waitstates on address boundaries in data processing |
US5003461A (en) * | 1988-02-01 | 1991-03-26 | Motorola, Inc. | Cluster controller memory arbiter |
JPH01303543A (ja) * | 1988-05-31 | 1989-12-07 | Fujitsu Ltd | メモリアクセス制御装置 |
US5590349A (en) * | 1988-07-11 | 1996-12-31 | Logic Devices, Inc. | Real time programmable signal processor architecture |
US5109497A (en) * | 1989-01-27 | 1992-04-28 | Hughes Aircraft Company | Arithmetic element controller for controlling data, control and micro store memories |
US5072420A (en) * | 1989-03-16 | 1991-12-10 | Western Digital Corporation | FIFO control architecture and method for buffer memory access arbitration |
US5617574A (en) | 1989-05-04 | 1997-04-01 | Texas Instruments Incorporated | Devices, systems and methods for conditional instructions |
US5220651A (en) * | 1989-10-11 | 1993-06-15 | Micral, Inc. | Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus |
US5367678A (en) * | 1990-12-06 | 1994-11-22 | The Regents Of The University Of California | Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically |
GB9101227D0 (en) * | 1991-01-19 | 1991-02-27 | Lucas Ind Plc | Method of and apparatus for arbitrating between a plurality of controllers,and control system |
JPH07122864B2 (ja) * | 1991-07-22 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理システム、データ処理システムに使用するインターフエース回路及びデータ・プロセツサ間の通信方法 |
US5386532A (en) * | 1991-12-30 | 1995-01-31 | Sun Microsystems, Inc. | Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels |
US5388237A (en) * | 1991-12-30 | 1995-02-07 | Sun Microsystems, Inc. | Method of and apparatus for interleaving multiple-channel DMA operations |
US5463739A (en) * | 1992-12-22 | 1995-10-31 | International Business Machines Corporation | Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold |
US5574951A (en) * | 1993-03-17 | 1996-11-12 | Unisys Corporation | System for providing a time division random access including a high speed unidirectional bus and a plurality of function cards connected in a daisy chain |
US5448717A (en) * | 1993-07-06 | 1995-09-05 | Intel Corporation | Transparently inserting wait states into memory accesses when microprocessor in performing in-circuit emulation |
US6161162A (en) * | 1993-12-08 | 2000-12-12 | Nec Corporation | Multiprocessor system for enabling shared access to a memory |
US5983327A (en) * | 1995-12-01 | 1999-11-09 | Nortel Networks Corporation | Data path architecture and arbitration scheme for providing access to a shared system resource |
US5970510A (en) * | 1996-04-10 | 1999-10-19 | Northrop Grumman Corporation | Distributed memory addressing system |
US6119188A (en) * | 1997-05-27 | 2000-09-12 | Fusion Micromedia Corp. | Priority allocation in a bus interconnected discrete and/or integrated digital multi-module system |
US6473813B1 (en) * | 1999-08-17 | 2002-10-29 | Sitera, Inc. | Module based address translation arrangement and transaction offloading in a digital system |
US7137118B2 (en) * | 2002-09-27 | 2006-11-14 | Texas Instruments Incorporated | Data synchronization hardware primitive in an embedded symmetrical multiprocessor computer |
JP4633334B2 (ja) * | 2003-01-27 | 2011-02-16 | パナソニック株式会社 | 情報処理装置およびメモリアクセス調停方法 |
KR20100020220A (ko) * | 2008-08-12 | 2010-02-22 | 한국전자통신연구원 | 메모리 공유 제어장치 및 메모리 공유 제어방법, 그리고 공유 메모리 접근방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3500248A1 (de) * | 1985-01-05 | 1986-07-10 | Intel Corp., Santa Clara, Calif. | Hochgeschwindigkeits-mehrfachbusstruktur und verfahren zur datenuebertragung |
EP0187518A2 (de) * | 1984-12-24 | 1986-07-16 | Sony Corporation | Datenverarbeitungssystem und -verfahren |
GB2170624A (en) * | 1982-06-05 | 1986-08-06 | British Aerospace | Communication between computers |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4028663A (en) * | 1974-06-05 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Digital computer arrangement for high speed memory access |
JPS5837585B2 (ja) * | 1975-09-30 | 1983-08-17 | 株式会社東芝 | ケイサンキソウチ |
JPS5812611B2 (ja) * | 1975-10-15 | 1983-03-09 | 株式会社東芝 | デ−タテンソウセイギヨホウシキ |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4096571A (en) * | 1976-09-08 | 1978-06-20 | Codex Corporation | System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking |
US4130864A (en) * | 1976-10-29 | 1978-12-19 | Westinghouse Electric Corp. | Priority selection circuit for multiported central functional unit with automatic priority reduction on excessive port request |
JPS53146550A (en) * | 1977-05-27 | 1978-12-20 | Nippon Telegr & Teleph Corp <Ntt> | Conflict circuit |
JPS547252A (en) * | 1977-06-20 | 1979-01-19 | Hitachi Ltd | Program control system |
FR2428284A1 (fr) * | 1978-06-07 | 1980-01-04 | Ibm France | Systeme de selection de circuit d'interface prioritaire |
US4257095A (en) * | 1978-06-30 | 1981-03-17 | Intel Corporation | System bus arbitration, circuitry and methodology |
US4558412A (en) * | 1978-12-26 | 1985-12-10 | Honeywell Information Systems Inc. | Direct memory access revolving priority apparatus |
FR2482331B1 (fr) * | 1980-05-06 | 1986-03-21 | Thomson Csf Mat Tel | Procede d'arbitration centralisee, et arbitreur centralise pour systeme multiprocesseur |
US4426679A (en) * | 1980-09-29 | 1984-01-17 | Honeywell Information Systems Inc. | Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor |
US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
US4495570A (en) * | 1981-01-14 | 1985-01-22 | Hitachi, Ltd. | Processing request allocator for assignment of loads in a distributed processing system |
FR2503898B1 (fr) * | 1981-04-08 | 1986-02-28 | Thomson Csf | Procede et dispositif d'allocation d'une ressource dans un systeme comportant des unites de traitement de donnees autonomes |
US4453214A (en) * | 1981-09-08 | 1984-06-05 | Sperry Corporation | Bus arbitrating circuit |
FR2513407B1 (fr) * | 1981-09-24 | 1987-01-16 | Finger Ulrich | Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun |
US4536839A (en) * | 1982-03-30 | 1985-08-20 | Mai Basic Four, Inc. | Memory request arbitrator |
JPS59111561A (ja) * | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
-
1986
- 1986-10-27 GB GB8625666A patent/GB2196762B/en not_active Expired - Fee Related
-
1987
- 1987-04-01 US US07/033,581 patent/US4847757A/en not_active Expired - Fee Related
- 1987-06-26 FR FR8709054A patent/FR2606906A1/fr not_active Withdrawn
- 1987-07-24 JP JP62185317A patent/JPS63115260A/ja active Pending
- 1987-09-29 DE DE19873732798 patent/DE3732798A1/de not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2170624A (en) * | 1982-06-05 | 1986-08-06 | British Aerospace | Communication between computers |
EP0187518A2 (de) * | 1984-12-24 | 1986-07-16 | Sony Corporation | Datenverarbeitungssystem und -verfahren |
DE3500248A1 (de) * | 1985-01-05 | 1986-07-10 | Intel Corp., Santa Clara, Calif. | Hochgeschwindigkeits-mehrfachbusstruktur und verfahren zur datenuebertragung |
Non-Patent Citations (1)
Title |
---|
IBM Tech. Dis. Bull., Vol. 28, No. 12, 1986, S. 5329-5333 * |
Also Published As
Publication number | Publication date |
---|---|
GB2196762A (en) | 1988-05-05 |
FR2606906A1 (fr) | 1988-05-20 |
JPS63115260A (ja) | 1988-05-19 |
US4847757A (en) | 1989-07-11 |
GB8625666D0 (en) | 1986-11-26 |
GB2196762B (en) | 1990-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3732798A1 (de) | Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet | |
DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
DE69305049T2 (de) | Hochfrequenz- cmos-schaltung mit geringen verbrauch | |
DE69229162T2 (de) | Synchronisiergerät und Verfahren | |
DE68923834T2 (de) | Leistungsfähiges Protokoll für die Übertragung zwischen asynchronen Vorrichtungen. | |
DE68923944T2 (de) | RAM mit doppelten Ein/Ausgängen. | |
DE3110196A1 (de) | Datenverarbeitungssystem | |
DE69509932T2 (de) | Vorrichtung und Verfahren um Chips mit grösserer Geschwindigkeit als die des Buses synchron zu betreiben | |
DE3783072T2 (de) | Zusatzprozessorarchitektur. | |
DE2856483C2 (de) | ||
DE69233510T2 (de) | Ausgangspuffer für Mikroprozessor | |
DE69021594T2 (de) | Hochgeschwindigkeitsdatenübertragung auf einem Rechnersystembus. | |
DE68928772T2 (de) | Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit | |
DE3704056A1 (de) | Peripherer dma-controller fuer datenerfassungssysteme | |
DE69515355T2 (de) | Mehrfacharbitrierungsschema | |
DE69214702T2 (de) | Speicherzugriff für die Datenübertragung in einer Ein-Ausgabevorrichtung | |
DE69033482T2 (de) | Steuerungssystem für Systembus | |
DE4018481C2 (de) | ||
DE69318348T2 (de) | Schnittstelle für asynchronen Bus zur Minimisierung von Übertragungszeiten | |
DE69030636T2 (de) | Doppeldomänenspeichersteuerung | |
DE3236302A1 (de) | Speicherprogrammierbare steuerung | |
DE19828620A1 (de) | Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen | |
DE69225095T2 (de) | Wirksamer Arbiter | |
DE69119147T2 (de) | Erweiterungskarte mit mehreren Geschwindigkeiten | |
DE69322356T2 (de) | Synchrone/asynchrone Aufteilung einer asynchronen Busschnittstelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |