DE10084835B3 - Arrangement in a multimaster bus system - Google Patents

Arrangement in a multimaster bus system Download PDF

Info

Publication number
DE10084835B3
DE10084835B3 DE10084835A DE10084835A DE10084835B3 DE 10084835 B3 DE10084835 B3 DE 10084835B3 DE 10084835 A DE10084835 A DE 10084835A DE 10084835 A DE10084835 A DE 10084835A DE 10084835 B3 DE10084835 B3 DE 10084835B3
Authority
DE
Germany
Prior art keywords
fifo memory
data
bus
fifo
subscriber
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10084835A
Other languages
German (de)
Inventor
Geir Robert Svelmoe
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE10084835B3 publication Critical patent/DE10084835B3/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Abstract

Die vorliegende Erfindung betrifft die Datenkommunikation zwischen zwei Teilnehmern in einem Multimaster-Bussystem wie einem PCI-Bus oder VME-Bus unter Verwendung eines geteilten RAM. Die Teilnehmer können zwei CPUs umfassen, zwei Softwareprozesse, die auf demselben Prozessor ausgeführt werden, oder einen Softwareprozess und eine Unterbrechungsroutine. In dem RAM ist ein FIFO-Speicher angeordnet, lokal zu jedem Teilnehmer. Jeder Teilnehmer kann nur lesen von seinem lokalen FIFO-Speicher und schreiben in den FIFO-Speicher des anderen Teils. Auf diese Weise werden nur Schreiboperationen auf dem Bus ausgeführt.The present invention relates to data communication between two subscribers in a multimaster bus system such as a PCI bus or VME bus using shared RAM. The participants may include two CPUs, two software processes running on the same processor, or one software process and one interrupt routine. A FIFO memory is located in the RAM, local to each subscriber. Each participant can only read from its local FIFO memory and write to the FIFO memory of the other part. In this way, only write operations are performed on the bus.

Description

TECHNISCHES GEBIETTECHNICAL TERRITORY

Die Erfindung ist anwendbar auf ein Multimaster-Bussystem (z.B. PCI, VME, etc.), in dem Punkt-zu-Punkt-Kommunikation zwischen zwei Mastern auszuführen ist unter Verwendung eines geteilten RAM zum Weiterleiten von Daten. Ein Spezialfall ist der Datenaustausch zwischen zwei Software-Prozessen, die auf demselben Prozessor ausgeführt werden oder zwischen einem Software-Prozess und einer Interrupt-Routine bzw. einem Unterbrechungsprogramm.The Invention is applicable to a multimaster bus system (e.g., PCI, VME, etc.), in the point-to-point communication between two masters perform is using a shared RAM to forward data. A special case is the data exchange between two software processes, which are executed on the same processor or between one Software process and an interrupt routine or an interrupt program.

TECHNISCHER HINTERGRUNDTECHNICAL BACKGROUND

Problemfeldproblem area

Wenn ein geteilter Speicher verwendet wird zum Datenaustausch zwischen zwei kommunizierenden Teilnehmen, die asynchron zueinander arbeiten, muss sichergestellt werden, dass die beiden nicht denselben Speicherbereich (dieselben Speicherbereiche) gleichzeitig aktualisieren.If a shared memory is used for data exchange between two communicating participants who work asynchronously with each other make sure that the two are not the same memory area (same memory areas) update at the same time.

In manchen Systemen wird eine Busleseoperation langsamer sein als eine Busschreiboperation (die Adressdekodierung für das Ziel wird dieselbe sein, aber zum Abschließen einer Leseoperation müssen die Daten von der Busschnittstelle geholt werden, während für eine Schreiboperation die Daten temporär in der Busschnittstellenschaltung gepuffert werden können). Folglich wäre ein "Nur-Schreib"-System effizienter.In In some systems, a read bus operation will be slower than one Bus write operation (the address decoding for the destination will be the same, but to complete need a read operation the data is fetched from the bus interface while for a write operation the data is temporary can be buffered in the bus interface circuit). consequently a "write-only" system would be more efficient.

Bekannte Lösungen und deren ProblemeKnown solutions and their problems

Um Zugriff auf eine geteilte Speicherressource zu erhalten, haben manche Prozessoren und Bussysteme einen elementaren "Test-und-Einstell"-Befehl, der zu einer einzelnen Lese-Modifikations-Schreiboperation auf dem Bus führt. Diese Befehle werden gegebenenfalls nicht von allen Prozessoren/Bussystemen unterstützt und falls doch, muss man einen plattformspezifischen Teil der Software haben (üblicherweise wird dies teilweise manuell kodiert in Assemblersprache). Wenn das Aktualisieren gemeinsamer Speicherbereiche von mehr als einem Teilnehmer vermieden werden könnte, würde man eine übertragbarere High-Level-Software erhalten.Around Some people have access to a shared storage resource Processors and bus systems an elementary "test-and-set" instruction resulting in a single read-modify-write operation on the bus leads. These commands may not be shared by all processors / bus systems supports and if you do, you have to have a platform-specific part of the software (usually this is partly manually encoded in assembly language). If that Update shared memory spaces of more than one participant could be avoided you would be a more transferable High-level software receive.

Für auf derselben CPU ausgeführte Prozesse würde es üblicherweise erforderlich sein, Unterbrechungen während der Speicheraktualisierung zu maskieren. Üblicherweise sind Prozesse auf Benutzerebene nicht berechtigt, dies zu tun und sie hätten einen Systemaufruf auszugeben zum Ausführen der Aktualisierung. Durch Eliminieren des Bedürfnisses, Speicherbereiche von mehr als einem Teilnehmer zu aktualisieren, würde es keinen Unterschied in der Software geben, wenn die beiden Prozesse auf demselben Prozessor laufen würden oder auf zwei unterschiedlichen Prozessoren, die Buszugriff auf den Speicher des jeweils anderen haben.For on the same CPU running Processes would it usually be required, interruptions during the memory update to mask. Usually User-level processes are not authorized to do so they have one System call to execute the update. By eliminating the need for storage areas from updating more than one participant, there would be no Give difference in the software when the two processes up same processor would run or on two different processors, the bus access to have the memory of each other.

Aus US-5,469,558 ist ein dynamisch rekonfigurierbares Speichersystem mit einem Controller und FIFO-gepufferten Datenkanälen bekannt. Ziel ist die Verwendung des Speichersystems mit verschiedenen Arten von Systembussen, die unterschiedlich groß und unterschiedlich getaktet sein können. Jeder Datenkanal kann auf eine Speicherbank zugreifen. Der Controller wählt den FIFO-Puffer gemäß der Datenanforderung und den Kanal gemäß der Busgröße, der Übertragungsgröße und dem Pufferstatus.Out US 5,469,558 is a dynamically reconfigurable memory system known with a controller and FIFO buffered data channels. The goal is to use the storage system with different types of system buses that are different in size and clocked differently could be. Each data channel can access a memory bank. The controller choose the FIFO buffer according to the data request and the channel according to the bus size, the transfer size and the Buffer status.

Aus DE 689 24 306 T2 ist eine Mehrprozessoranordnung mit gemeinsamem Speicher bekannt. Jeder Prozessor kann über einen Systembus Lese- und Schreibabfragen an einen Hauptspeicher richten. Die Verwaltung der Abfragen geschieht mittels einer Vielzahl von Warteschlangen.Out DE 689 24 306 T2 there is known a shared memory multiprocessor arrangement. Each processor can send read and write requests to a main memory via a system bus. The management of the queries is done by means of a plurality of queues.

Aus US-5,594,702 ist eine multi-FIFO Speicherschaltung bekannt. Die Schaltung umfasst eine Vielzahl von FIFO-Speichern, einen ersten Zeitmultiplex-Adressengenarator zur Erzeugung von Adresssignalen eines zyklisch ausgewählten FIFO-Speichers, und einen zweiten Adressengenarator zur Erzeugung von Adresssignalen folgender FIFO-Speicher.Out US-5,594,702 discloses a multi-FIFO memory circuit. The Circuit comprises a plurality of FIFO memories, a first time division address generator for generating address signals of a cyclically selected FIFO memory, and a second address generator for generating address signals following FIFO memory.

DE 693 21 498 T2 beschreibt ein System zur Aufteilung der Zugriffszeit auf einen Speicher. Ein Prozessor ist mit dem geteilten Speicher und einem Codespeicher verbunden. Die Zugriffsverwaltung geschieht mittels dreier Busse, damit eine Anwendung auf den geteilten Speicher zugreifen kann, während der Prozessor auf den Codespeicher zugreifen kann. DE 693 21 498 T2 describes a system for allocating the access time to a memory. A processor is connected to the shared memory and a code memory. The access management is done by means of three buses, so that an application can access the shared memory while the processor can access the code memory.

DIE ERFINDUNGTHE INVENTION

Kurzzusammenfassung der ErfindungQuick Facts the invention

Die Ziele der vorliegenden Erfindung sind, eine Anordnung für eine Punkt-zu-Punkt-Kommunikation zwischen zwei Mastern oder Prozessen über ein Multimaster-Bussystem bereitzustellen, welches ein asynchrones und gleichzeitiges Ausführen von Kommunikation ermöglicht, die Hardware-unabhängig ist, eine schnellere Übertragung von Daten zwischen den Mastern oder Prozessen ermöglicht und die Belastung des Busses und der CPU (s) verringert.The Objects of the present invention are an arrangement for a point-to-point communication between two masters or processes via a multimaster bus system providing an asynchronous and concurrent communication allows the hardware independent is, a faster transfer data between the masters or processes and the Load on the bus and the CPU (s) reduced.

Weitere Ziele der Erfindung sind das Vermeiden der Verwendung gemeinsamer Speicherbereiche, die von mehr als einem Teilnehmer aktualisiert werden und das Vermeiden von Leseoperationen auf dem Bus.Other objects of the invention are the Vermei the use of shared memory areas that are updated by more than one subscriber and the avoidance of read operations on the bus.

Diese Ziele werden durch eine Anordnung gemäß der Erfindung erreicht, die FIFO-Speicher umfasst zum Übertragen von Daten zwischen den beiden CPUs/Kommunikationssteilnehmern, wobei ein FIFO jeder CPU/jedem Teilnehmer zugeordnet ist, wobei jeder Teilnehmer allein berechtigt ist, von seinem zugeordneten FIFO zu lesen und nur berechtigt ist, in den FIFO des anderen Teilnehmers zu schreiben.These Targets are achieved by an arrangement according to the invention, which FIFO memory includes for transmission Data between the two CPUs / communication participants, where a FIFO is assigned to each CPU / participant, each participant is alone entitled to read from its associated FIFO and is only entitled to write to the FIFO of the other participant.

Der genaue Schutzbereich der vorliegenden Erfindung ist in den beiliegenden Patentansprüchen definiert.Of the The exact scope of the present invention is disclosed in the accompanying drawings Claims defined.

Zeichnungendrawings

Die Erfindung wird nun beschrieben unter Bezugnahme auf die beiliegenden Zeichnungen, in denen zeigt:The The invention will now be described with reference to the accompanying drawings Drawings showing:

1 zwei FIFO-Speicher, angeordnet zum Übertragen von Daten zwischen zwei CPUs/Teilnehmern A und B; 1 two FIFO memories arranged to transfer data between two CPUs / subscribers A and B;

2 prinzipiell, wie ein FIFO angeordnet ist, um Daten nur von der CPU/dem Teilnehmer B zu empfangen und wie die Lese-/Schreibindices aktualisiert werden; 2 in principle, how a FIFO is arranged to receive data only from the CPU / subscriber B and how the read / write indices are updated;

3 die Gesamtanordnung von FIFOs gemäß der Erfindung; 3 the overall arrangement of FIFOs according to the invention;

4 eine vereinfachte Übersicht eines Systems, auf das die Erfindung anwendbar ist. 4 a simplified overview of a system to which the invention is applicable.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION THE INVENTION

Die Erfindung schlägt eine Hardware-unabhängige Lösung für einen Kommunikationsmechanismus mit geteiltem Speicher vor. Die zwei kommunizierenden Teilnehmer können auf demselben Prozessor oder auf unterschiedlichen Prozessoren in einem Multimaster-Bussystem angeordnet sein.The Invention proposes a hardware independent solution for one Communication mechanism with shared memory. The two communicating Participants can on the same processor or on different processors in be arranged a multimaster bus system.

Die Kommunikation zwischen den beiden CPUs/kommunizierenden Teilnehmern wird ausgeführt durch ein paar Software-FIFOs, eines für jede Datenflussrichtung. Das besondere an diesen FIFOs ist die physikalische Anordnung ihrer Komponenten.The Communication between the two CPUs / communicating participants is running through a few software FIFOs, one for each data flow direction. The special thing about these FIFOs is the physical arrangement of their Components.

Um diese FIFO-Organisation zu beschreiben, beginnen wir beim Zeichnen zweier regulärer Software-FIFOs in einem gemeinsamen physikalischen Speicher – 1 – und gehen Schritt für Schritt über zu der Software-FIFO-Organisation, die in der Erfindung vorgeschlagen wird.To describe this FIFO organization, we start by drawing two regular software FIFOs in a common physical memory, 1 And go step by step to the software FIFO organization proposed in the invention.

Der Leseindex readIdx (A), readIdx (B) bzw. Der Schreibindex writeIdx (A), writeIdx (B) zeigen jeweils auf den nächsten Bereich, der zu lesen bzw. zu beschreiben ist. Die Datenmengen in den FIFOs ist zu berechnen anhand der Werte der Lese- und Schreibindices zusammen mit der FIFO-Größe, die in diesem Fall N ist. Die kommunizierenden Prozesse/Prozessoren werden ausgeführt bzw. arbeiten gleichzeitig und asynchron. Die Verwendung eines Zählers zum Erhalten der Anzahl von Dateneinträgen in einem FIFO würde das Bedürfnis eines Gemeinsam-Ausschluss-Mechanismus mit sich bringen zum Aktualisieren dieses Zählers.Of the Read index readIdx (A), readIdx (B) or The write index writeIdx (A), writeIdx (B) each point to the next area to read or to be described. The data volumes in the FIFOs must be calculated based on the values of the read and write indices together with the FIFO size, the in this case N is. The communicating processes / processors will be executed or work simultaneously and asynchronously. The use of a counter for Getting the number of data entries in a FIFO would be desire of a common exclusion mechanism to update this counter.

Wenn der Leseindex readIdx (A), readIdx (B) gleich dem Schreibindex writeIdx (A), bzw. writeIdx (B) wird, ist das FIFO leer. Das FIFO kann maximal N-1 Einträge enthalten. Wenn das FIFO N Einträge enthalten würde, würde der Leseindex writeIdx (A), writeIdx (B) gleich dem Schreibindex writeIdx (A) bzw. writeIdx (B) und es wäre unmöglich, zwischen einem vollen und einen leeren Datenbereich zu unterscheiden.If the read index readIdx (A), readIdx (B) equal to the write index writeIdx (A), or writeIdx (B), the FIFO is empty. The FIFO can be at most N-1 Posts contain. If the FIFO contains N entries would, would the Read index writeIdx (A), writeIdx (B) equal to the write index writeIdx (A) or writeIdx (B) and it would be impossible, to distinguish between a full and an empty data area.

Der Prozess B, der Daten zum Prozess A durch deren Einfügen in das FIFO A sendet, ist der einzige Prozess, der in dem Datenbereich des FIFO (A) und von writeIdx (A) schreiben darf. Bevor irgendwelche Daten geschrieben werden, muss der Prozess B die Menge verfügbaren Platzes im FIFO A berechnen. Der Prozess A liest den Schreibindex writeIdx (A), berechnet die Datenmenge in dem FIFO, liest die Daten und aktualisiert den Leseindex readIdx (A) (der nur von dem Prozess A aktualisiert werden kann). Für Daten in der anderen Richtung sind die Rollen vertauscht. Da die zwei Prozesse asynchron zueinander sind, ist es wichtig, dass der jeweilige Index aktualisiert wird nachdem die Lese- oder Schreiboperation abgeschlossen ist.Of the Process B, which adds data to process A by inserting it into the FIFO A sends is the only process in the data area FIFO (A) and writeIdx (A). Before any Data is written, the process B must be the amount of available space calculate in FIFO A. Process A reads the write index writeIdx (A), calculates the amount of data in the FIFO, reads the data and updates the read index readIdx (A) (which only updates from process A.) can be). For Data in the other direction, the roles are reversed. Because the two processes are asynchronous to each other, it is important that the respective index is updated after the read or write operation is completed.

Wenn die FIFO-Komponenten derart angeordnet sind, dass nur Schreibzugriffe auszuführen sind auf dem Bus, der zwei Prozessoren verbindet, hätte man nur den Nettobetrag der Buszugriffe zur Übertragung der Daten (d.h. man würde niemals auf den Bus zugreifen, um einen Index zu lesen, der nicht aktualisiert ist). Durch Organisieren der FIFOs auf diese Weise, würde man Information zu der anderen CPU auf den Bus schreiben und alle ankommende Information in dem lokalen Speicher lesen (was auch schneller wäre).If the FIFO components are arranged such that only write accesses are to be executed on the bus connecting two processors, one would only have the net amount the bus accesses for transmission of the data (i.e., one would never access the bus to read an index that does not update is). By organizing the FIFOs in this way, one would Write information to the other CPU on the bus and all incoming information read in the local memory (which would be faster).

2 zeigt die vorgeschlagene Platzierung der Komponenten für das FIFO, das für Daten von einer CPU(B) zu einer anderen CPU(A) verwendet wird. 2 Figure 12 shows the proposed placement of the components for the FIFO that uses data from one CPU (B) to another CPU (A) becomes.

Wenn B Daten zu A zu senden wünscht, prüft es in seinem lokalen Speicher den Wert des Leseindex readIdx(A). Da A nicht berechtigt ist, den Schreibindex writeIdx(A) zu aktualisieren in seinem lokalen Speicher, kann B den verbleibenden Platz im FIFO (A) auf der Grundlage des Leseindex readIdx(A) berechnen und des erinnerten Wertes des Schreibindex writeIdx(B) (den B zuvor in den Speicher A geschrieben hat). B schreibt dann die Daten in den Speicher von A, denen ein neuer Schreibindex writeIdx(A) folgt.If B wants to send data to A check it in its local memory the value of the read index readIdx (A). There A is not authorized to update the write index writeIdx (A) in its local memory, B can leave the remaining space in the FIFO (A) Calculate on the basis of the read index readIdx (A) and remembered Value of the write index writeIdx (B) (previously the B into memory A has written). B then writes the data into memory A followed by a new write index writeIdx (A).

Das vollständige Bild der Ortsanordnung der Komponenten der beiden FIFOs wird in 3 gezeigt.The complete picture of the location of the components of the two FIFOs is shown in 3 shown.

Die gesamte Information (Daten und Indices), die von dem fernen System gelesen werden soll, muss in den Speicher dieses Systems geschrieben werden, aber sicherlich muss auch eine lokale Kopie der Indices behalten werden.The All information (data and indexes) provided by the remote system must be read into the memory of this system but certainly also needs a local copy of the indices to be kept.

Da ein FIFO-Paar nur ein Punkt-zu-Punkt-Kommunikationsmechanismus ist, muss es ein Paar für jedes Kommunikationsteilnehmerpaar geben.There a FIFO pair is just a point-to-point communication mechanism it a couple for give each communication subscriber pair.

4 zeigt einen vereinfachten Überblick eines Systems, auf das die Erfindung anwendbar ist. 4 shows a simplified overview of a system to which the invention is applicable.

Vorteileadvantages

Übertragbarkeit: Es kann implementiert werden in problemorientierter Sprache ohne irgendwelche plattformspezifischen Assemblerbefehle oder Betriebssystem-Systemaufrufe.Transferability: It can be implemented in problem-oriented language without any platform-specific assembler commands or operating system system calls.

Die beiden Kommunikationsteilnehmer können auf demselben Prozessor ausgeführt werden oder auf zwei unterschiedlichen Prozessoren mit demselben High-Level-Code zum Beachten der Kommunikation.The Both communication parties can work on the same processor accomplished or on two different processors with the same High-level code for observing communication.

Busbelastung: Der Bus zwischen den beiden CPUs wird für kürzere Zeit beschäftigt sein, da es nur Schreibtransaktionen geben wird und nur der Nettobetrag der benötigten Daten auf den Bus gegeben werden wird. Je kleiner die Datenbursts, desto effektiver wird das "Nur-Schreiben" sein verglichen mit einem Lese-Schreib-System.bus load: The bus between the two CPUs will be busy for a shorter time, since there will only be typing transactions and only the net amount the needed Data will be given to the bus. The smaller the data bursts, the more effective the "write-only" will be compared with a read-write system.

CPU Belastung. Da Daten an allen Busschnittstellen gepuffert werden können entlang des Transaktionspfades, wird die Operation in kürzerer Zeit abgeschlossen sein und folglich mehr Zeit für andere Verarbeitungsabläufe lassen.CPU Burden. Because data is buffered at all bus interfaces can along the transaction path, the operation will be in less time be completed and thus leave more time for other processing operations.

Ein wichtiger Vorteil der Erfindung ist, dass sie in reiner Software implementiert werden kann, d.h. ohne Veränderung der Hardware des involvierten Systems.One important advantage of the invention is that they are pure software can be implemented, i. without changing the hardware of the involved System.

Claims (8)

Anordnung in einem Multimaster-Bussystem zum Bereitstellen von Punkt-zu-Punkt-Kommunikation zwischen einem ersten Teilnehmer und einem zweiten Teilnehmer unter Verwendung eines geteilten RAM zum Weitergeben von Daten, dadurch gekennzeichnet, dass die Anordnung einen ersten und einen zweiten FIFO-Speicher hat, die in diesem RAM angeordnet sind, der erste FIFO-Speicher räumlich zu dem ersten Teilnehmer angeordnet ist und der zweite FIFO-Speicher räumlich zu dem zweiten Teilnehmer angeordnet ist, der erste Teilnehmer berechtigt ist, Daten nur von einem Datenfeld des ersten FIFO-Speichers zu lesen und Daten nur in einem Datenfeld des zweiten FIFO-Speichers zu schreiben, und der zweite Teilnehmer berechtigt ist, Daten nur von einem Datenfeld des zweiten FIFO-Speichers zu lesen und Daten nur in ein Datenfeld des ersten FIFO-Speichers zu schreiben.Arrangement in a multimaster bus system for providing point-to-point communication between a first subscriber and a second subscriber using a shared RAM for passing on data, characterized in that the arrangement has a first and a second FIFO memory, which are arranged in this RAM, the first FIFO memory is arranged spatially to the first subscriber and the second FIFO memory is arranged spatially to the second subscriber, the first subscriber is entitled to data from only one data field of the first FIFO memory read and write data only in a data field of the second FIFO memory, and the second subscriber is authorized to read data from only one data field of the second FIFO memory and write data only in a data field of the first FIFO memory. Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass jeder FIFO-Speicher einen Schreibindex enthält für sein eigenes Datenfeld und einen Leseindex für das Datenfeld des anderen FIFO-Speichers, und die Indices des ersten FIFO-Speichers nur aktualisiert werden von dem zweiten Teilnehmer und die Indices des zweiten FIFO-Speichers nur aktualisiert werden von dem ersten Teilnehmer.Arrangement according to claim 1, characterized each FIFO memory contains a write index for its own data field and a reading index for the data field of the other FIFO memory, and the indices of the first one FIFO memory only to be updated by the second participant and the indexes of the second FIFO memory are only updated from the first participant. Anordnung nach Anspruch 2, dadurch gekennzeichnet, dass jeder FIFO-Speicher eine lokale Kopie der Indices des anderen FIFO-Speichers enthält.Arrangement according to claim 2, characterized that each FIFO memory has a local copy of the other's indices Contains FIFO memory. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Kommunikationsteilnehmer Busmaster sind.Arrangement according to one of claims 1 to 3, characterized that the communication participants are bus masters. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Kommunikationsteilnehmer Softwareprozesse sind.Arrangement according to one of claims 1 to 3, characterized that the communication participants are software processes. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Kommunikationsteilnehmer einen Prozess umfassen und eine Unterbrechungsroutine.Arrangement according to one of claims 1 to 3, characterized that the communication participants comprise a process and a Interrupt routine. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Bussystem ein PCI-Bus ist.Arrangement according to one of the preceding claims, characterized characterized in that the bus system is a PCI bus. Anordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Bussystem ein VME-Bus ist.Arrangement according to one of claims 1 to 6, characterized that the bus system is a VME bus.
DE10084835A 1999-07-20 2000-07-19 Arrangement in a multimaster bus system Expired - Fee Related DE10084835B3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NO19993558 1999-07-20
NO19993558A NO312926B1 (en) 1999-07-20 1999-07-20 Communication over multimaster bus
PCT/NO2000/000242 WO2001006382A1 (en) 1999-07-20 2000-07-19 Software fifos in a multimaster bus system

Publications (1)

Publication Number Publication Date
DE10084835B3 true DE10084835B3 (en) 2005-12-22

Family

ID=19903600

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10084835A Expired - Fee Related DE10084835B3 (en) 1999-07-20 2000-07-19 Arrangement in a multimaster bus system

Country Status (5)

Country Link
AU (1) AU6324000A (en)
DE (1) DE10084835B3 (en)
GB (1) GB2367671B (en)
NO (1) NO312926B1 (en)
WO (1) WO2001006382A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469558A (en) * 1991-08-16 1995-11-21 Multichip Technology Dynamically reconfigurable memory system with programmable controller and FIFO buffered data channels
DE68924306T2 (en) * 1988-06-27 1996-05-09 Digital Equipment Corp Multi-processor computer arrays with shared memory and private caches.
US5594702A (en) * 1995-06-28 1997-01-14 National Semiconductor Corporation Multi-first-in-first-out memory circuit
DE69321498T2 (en) * 1992-02-19 1999-04-01 Cit Alcatel Access time sharing system to memory shared by a processor and other applications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276806A (en) * 1988-09-19 1994-01-04 Princeton University Oblivious memory computer networking
US5267191A (en) * 1989-04-03 1993-11-30 Ncr Corporation FIFO memory system
JPH02310664A (en) * 1989-05-26 1990-12-26 Hitachi Ltd Communication system using shared memory
JPH07122864B2 (en) * 1991-07-22 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション Data processing system, interface circuit used in data processing system, and communication method between data processors
JPH0619785A (en) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd Distributed shared virtual memory and its constitution method
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68924306T2 (en) * 1988-06-27 1996-05-09 Digital Equipment Corp Multi-processor computer arrays with shared memory and private caches.
US5469558A (en) * 1991-08-16 1995-11-21 Multichip Technology Dynamically reconfigurable memory system with programmable controller and FIFO buffered data channels
DE69321498T2 (en) * 1992-02-19 1999-04-01 Cit Alcatel Access time sharing system to memory shared by a processor and other applications
US5594702A (en) * 1995-06-28 1997-01-14 National Semiconductor Corporation Multi-first-in-first-out memory circuit

Also Published As

Publication number Publication date
GB2367671A (en) 2002-04-10
NO993558L (en) 2001-01-22
NO312926B1 (en) 2002-07-15
GB2367671B (en) 2003-10-15
WO2001006382A1 (en) 2001-01-25
NO993558D0 (en) 1999-07-20
GB0200399D0 (en) 2002-02-27
AU6324000A (en) 2001-02-05

Similar Documents

Publication Publication Date Title
DE69628127T2 (en) Method and device for displaying the coherence in a multiprocessor system
DE69132652T2 (en) Rechnerdatenleitweglenkungssystem
DE69531933T2 (en) BUS ARCHITECTURE IN HIGH GRADE PIPELINE VERSION
DE69733384T2 (en) Processor subsystem for use with a universal computer architecture
DE3248215C2 (en)
EP0764899B1 (en) Method for converting data formats
DE69725687T2 (en) Transaction transfer between data buses in a computer system
DE60010907T2 (en) SRAM CONTROL DEVICE FOR PARALLEL PROCESSOR ARCHITECTURE WITH ADDRESS AND COMMAND QUEUE AND ARBITER
DE60011797T2 (en) EXECUTION OF SEVERAL THREADS IN A PARALLEL PROCESSOR
DE2523372B2 (en) Input-output port controller
DE4018481C2 (en)
EP0179936A1 (en) Method and apparatus for global bus control
DE3642324A1 (en) MULTIPROCESSOR SYSTEM WITH PROCESSOR ACCESS CONTROL
DE3914265A1 (en) CONTROLLING FLOW RIBBON OPERATION IN A DYNAMIC BUS ADAPTATION USING THE MICROCOMPUTER SYSTEM
DE112011104329T5 (en) Multi-core system and method for reading the core data
DE3137627C1 (en) Arrangement for fast message transfer between computers
EP0882267B1 (en) Multi-processor central processing unit
DE2625113C2 (en) Memory protection device
EP0477595A2 (en) Cache memory device with m bus connections
DE3009530A1 (en) DATA PROCESSING SYSTEM
DE10084835B3 (en) Arrangement in a multimaster bus system
DE102006009034B3 (en) Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter
DE19819569B4 (en) Electronic circuit for the conversion of data
DE2749884C2 (en)
DE60211874T2 (en) Arrangement of two devices connected by a crossover switch

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee