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 prioritaet

Info

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
Application number
DE19873732798
Other languages
English (en)
Inventor
Michael Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Burr Brown Ltd
Original Assignee
Burr Brown Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burr Brown Ltd filed Critical Burr Brown Ltd
Publication of DE3732798A1 publication Critical patent/DE3732798A1/de
Ceased legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • 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.
DE19873732798 1986-10-27 1987-09-29 Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet Ceased DE3732798A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 複合プロセツサ・システムのアクセス制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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