[go: up one dir, main page]

DE10128475A1 - Mehrprozessorsystem mit geteiltem Arbeitsspeicher - Google Patents

Mehrprozessorsystem mit geteiltem Arbeitsspeicher

Info

Publication number
DE10128475A1
DE10128475A1 DE10128475A DE10128475A DE10128475A1 DE 10128475 A1 DE10128475 A1 DE 10128475A1 DE 10128475 A DE10128475 A DE 10128475A DE 10128475 A DE10128475 A DE 10128475A DE 10128475 A1 DE10128475 A1 DE 10128475A1
Authority
DE
Germany
Prior art keywords
pci
processor
memory
cpu2
bus
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.)
Withdrawn
Application number
DE10128475A
Other languages
English (en)
Inventor
Gerhard Otte
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.)
Siemens Corp
Original Assignee
Siemens Corp
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 Siemens Corp filed Critical Siemens Corp
Priority to DE10128475A priority Critical patent/DE10128475A1/de
Priority to US10/166,033 priority patent/US20030009532A1/en
Priority to CN02123024.2A priority patent/CN1391178A/zh
Publication of DE10128475A1 publication Critical patent/DE10128475A1/de
Withdrawn 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Mehrprozessorsystem mit mehreren Prozessoreinheiten CPU1, CPU2, CPUn zum Bearbeiten von Daten eines gemeinsamen Prozesses in einem geteilten Arbeitsspeicher SM. Jede Prozessoreinheit hat einen lokalen Arbeitsspeicher RAM1, RAM2, RAMn. Die Prozessoreinheiten greifen über ein Peripheriehubsystem, vorzugsweise ein PCI-Bussystem PCI, auf den durch den lokalen Arbeitsspeicher RAM2 einer priorisierten Prozessoreinheit CPU2 realisierten geteilten Arbeitsspeicher SM zu.

Description

  • Die Erfindung betrifft ein Mehrprozessorsystem zum gemeinsamen Bearbeiten eines Prozesses durch mehrere Prozessoreinheiten, wobei die Daten dieses gemeinsamen Prozesses in einem geteilten Arbeitsspeicher (englisch: SHARED MEMORY) abgearbeitet werden, auf den alle am Prozeß beteiligten Prozessoreinheiten zugreifen.
  • In einem Mehrprozessorsystem (englisch: MULTI PROCESSOR SYSTEM) arbeiten mehrere Prozessoren zusammen. Auf diese Weise kann die Rechenleistung des Systems erhöht werden, weil durch gemeinsamen Einsatz mehrerer parallel arbeitender Prozessoren ein höherer Datendurchsatz erreicht werden kann, als mit einem einzigen Prozessor des gleichen Typs. Die meisten von Digitalcomputern bearbeiteten Algorithmen und Prozesse können auch parallel bearbeitet werden. Da die von der Taktfrequenz und der Anzahl der gleichzeitig bearbeiteten Bits abhängige Prozessorgeschwindigkeit oberhalb eines bestimmten Wertes nur noch mit erheblichem finanziellem Aufwand gesteigert werden kann, ist es wirtschaftlich interessanter, Prozesse durch mehrere parallel arbeitende langsamere Prozessoren abarbeiten zu lassen. Einige der aufgrund des parallelen Einsatzes mehrerer Prozessoren erzielten Vorteile werden jedoch auf Kosten von Nachteilen wie geringerer Systemzuverlässigkeit oder größerem Programmieraufwand erkauft. Solche Nachteile sind meist zurückzuführen auf die hierarchische Organisation der einzelnen Prozessoren.
  • Üblicherweise sind Mehrprozessorsysteme auf eine von zwei Arten gekoppelt, nämlich lose gekoppelt oder eng gekoppelt
  • Bei lose gekoppelten Mehrprozessorsystemen (englisch: LOSELY COUPLED MULTIPROCESSORSYSTEMS) verfügt jeder Prozessor über einen eigenen, ihm zugeordneten Arbeitsspeicher, eigene Ein- /Ausgabeeinheiten und ein separates Betriebssystem. Die Prozessoren kommunizieren über geteilte Verbindungen in Form lokaler Netze oder Clusternetze. Beispielsweise die US 5,036,459 beschreibt ein solches Mehrprozessorsystem mit verteiltem Speicher. In solchen Systemen sind Flexibilität und Leistungsfähigkeit durch die Geschwindigkeit des Koppelnetzes beschränkt. Außerdem können nicht ohne die Übertragung enormer Datenmengen und Informationsmengen mehrere Prozessoren effizient denselben Task bearbeiten.
  • In eng gekoppelten Mehrprozessorsystemen (englisch: TIGHTLY COUPLED MULTIPROCESSORSYSTEMS) greifen wenige Prozessoren auf einen geteilten großen Arbeitsspeicher zu. Diese Prozessoren sind räumlich nahe zueinander angeordnet und verwenden einen gemeinsamen Speicherbus, gemeinsame Ein-/Ausgabeeinrichtungen und ein gemeinsames Betriebssystem. Alle Prozessoren und Prozesse teilen sich den Zugriff auf den gemeinsamen Hauptspeicher, die Netzschnittstellen, Ein-/Ausgabeeinrichtungen und den Massenspeicher. In einem solchen System kann jeder Prozessor jederzeit für jeden Prozeß verwendet werden. Solche Mehrprozessorsysteme benötigen einen sehr schnellen Speicherbus und eine zuverlässige Arbitrierungseinrichtung, um durch gerechtes Arbitrieren des Speicherzugriffs sicherzustellen, daß keiner Prozessoreinheit dauerhaft der Zugriff verweigert wird.
  • Aus US 5,067,071 ist ein Mehrprozessorsystem bekannt, bei dem eine Vielzahl von Prozessoreinheiten, jeweils bestehend aus zwei Prozessoren und einem CACHE-Speicher zum Zwischenspeichern häufig lokal benötigter Daten, über einen gemeinsame Systembus auf einen geteilten großen Arbeitsspeicher zugreifen. Der einen Datenbus, einen Vektorbus, einen Adreßbus und einen Steuerbus beinhaltende Systembus wird über eine Systemsteuerung mit Busarbiter gesteuert.
  • Die US 4,214,305 beschreibt ein Mehrprozessorsystem, bei dem mehrere Prozessoren jeweils einen Arbeitsspeicher zugeordnet haben, und diese Prozessoren jeweils über einen Busarbiter und einen gemeinsamen Systembus auf einen geteilten Arbeitsspeicher zugreifen können. Der Busarbiter stellt hierbei sicher, daß zu jedem Zeitpunkt immer nur ein Prozessor auf den gemeinsamen Systembus zugreifen kann.
  • Die US 4,414,624 beschreibt ebenfalls ein solches System, wobei jedem Prozessor ein Taskmanager für den gemeinsamen Prozeß zugeordnet ist und der gemeinsame Prozeß von einem System-Zustands-Steuercomputer gesteuert wird. Dieser System- Zustands-Steuercomputer greift wie die übrigen Prozessoren von einem Arbitermodul gesteuert über den Systembus auf den geteilten Speicher zu.
  • Ein Busarbiter und dessen Arbeitsweise sind beispielsweise in der US 4,229,791 beschrieben.
  • Die US 5,884,027 beschreibt ein eng gekoppeltes Mehrprozessorsystem mit einem PCI-Bus und mit PCI/PCI-Bridge genannter Übergangseinrichtungen zum Verbinden mehrerer PCI- Bussegmente. Der Begriff Bridge wird üblicherweise verwendet für eine Einheit zum Ermöglichen von Datenverkehr zwischen Netzeinheiten auf der Grundlage von DLL-Informationen. DLL steht für Data Link Layer und entspricht der Schicht 2 des OSI-7-Schichtenmodells. Diese Schicht 2 ist aufgeteilt in eine obere Teilschicht Logical Link Control LLC und eine untere Teilschicht Media Access Control MAC.
  • Eine PCI/PCI-Bridge teilt ein PCI-Bussystem auf in ein dem Host-Prozessor und Host-Speicher zugewandtes primärer PCI-Bus genanntes Segment, und ein PCI-Peripherieeinheiten zugewandtes, sekundärer PCI-Bus genanntes Segment.
  • PCI ist eine Abkürzung des englischsprachigen Ausdruckes Peripheral Component Interconnect und ein PCI-Bus ist ein standardisierter lokaler Bus zum Verbinden von Peripherieeinheiten an einen Personalcomputer. Aus technischer Sicht ist ein PCI-Bus kein Bus, sondern eine Bridge-Funktion mit Pufferspeichern zum Entkoppeln der "schnellen" Prozessorseite von einer "langsameren" Peripheriegeräteseite. Der PCI-Bus ermöglicht somit den asynchronen Betrieb von Peripherieeinheiten und Prozessor mit Arbeitsspeicher. Mit Peripherieeinheiten (englisch: PERIPHERAL DEVICE oder DEVICE) wird hierbei jeder Teil eines Computers außer dem Prozessor und dem Arbeitsspeicher bezeichnet, beispielsweise Diskettenlaufwerk, Tastatureinheit, Maus, Monitor, Drucker, Scanner, Mikrofon, Lautsprecher, Kamera, Videokarte, Modem oder Netzwerkkarte.
  • Ein PCI-Bus oder PCI-System besteht aus drei wesentlichen Komponentengruppen;
    dem Leitungssystem mit den PCI-Steckplätzen zum Ankoppeln von PCI-Peripheriekomponenten;
    dem Hauptkartenchipsatz zur Realisierung der Koppelkomponenten North-Bridge und South-Bridge; und
    PCI-Bridges zum Regeln eines Zusammenspiels zwischen dem Betriebssystem und PCI-Komponenten. PCI-Bridges können z. B. PCI/EISA-Bridges zum Anschließen eines EISA-Busses, PCI/SCSI- Bridges zum Anschließen von SCSI-Komponenten oder PCI/PCI- Bridges zum Erweitern des PCI-Systems sein.
  • Die North-Bridge ist üblicherweise eine integrierte Schaltung, die eine Prozessoreinheit und ihren Systemspeicher über einen Host-Bus mit PCI-Bussen und optional mit einem Graphikport (englisch: ACCELLERATED GRAPHIC PORT AGP) verbindet. Die South-Bridge ist üblicherweise eine integrierte Schaltung zum Steuern von IDE-Bus, universellem seriellem Bus USB, PLUG- and-PLAY-Funktionalität, PCI/EISA-Bridge, Tastatur/Maus- Steuereinheit, Energieverwaltung und vielen anderen Leistungsmerkmalen.
  • Eine vorzugsweise Ausgestaltung einer Erweiterung eines PCI- Bussystems durch PCI/PCI-Bridges ist beispielsweise in der US 6,189,063 B1 beschrieben.
  • Die Funktionsweise der PCI-Informationsflußsteuerung in PCI- Bussystemen mit mehreren PCI/PCI-Bridges wird in US 5,878,237 insbesondere im Zusammenhang mit den Fig. 4, 4A, 5, 5A und 5B und der zugehörigen Beschreibung in den Spalten 17 bis 20 beschrieben. Die dort beschriebene PCI- Informationsflußsteuerung besteht aus den Einheiten PCI- ADDRESS-Komparator, PCI-Target-Flow-Controller und PCI- Arbiter und dient dem Vermeiden von Zugriffskollisionen sowie zur Steuerung eines geordneten PCI-Buszugriffs für alle angeschlossenen Komponenten.
  • Die US 5,828,865 beschreibt insbesondere unter Bezugnahme auf die Fig. 2 und 3 in den Spalten 4 und 5 ein eng gekoppeltes Mehrprozessorsystem, bei dem eine Vielzahl von eine Prozessoreinheit bildenden Prozessoren miteinander verbunden sind und auf einen Host-Bus zugreifen, der unter Verwendung einer Cluster-Steuereinheit "Cluster Attachement" mit weiteren Prozessoreinheiten verbindbar ist. Dieser Host-Bus ist über ein spezielles PCI/Host-Bridgesystem mit bis zu vier PCI-Bussegmenten verbunden. Hierbei übernehmen eine Bridge- Steuereinheit und zwei Expansionseinheiten die Funktion einer speziellen South-Bridge.
  • Den vorstehend beschriebenen lose gekoppelten Mehrprozessorsystemen ist gemeinsam, daß der Zugriff auf einen geteilten Speicher für die Prozessoren länger dauert als der Zugriff auf ihren lokal zugeordneten Arbeitsspeicher oder CACHE- Speicher. Solche Systeme sind folglich eher geeignet, wenn zwischen den einzelnen Prozessoreinheiten und dem geteilten Speicher größere Datenmengen nicht allzu häufig übertragen werden sollen. Für die Ankopplung einer Prozessoreinheit mit hoher Zugriffshäufigkeit auf den geteilten Speicher, also einer Prozessoreinheit, die viele einzelne Operationen im geteilten Speicher ausführt, ist ein bekanntes lose gekoppeltes Mehrprozessorsystem weniger geeignet.
  • Aufgabe der Erfindung ist es, ein Mehrprozessorsystem der eingangs genannten Art anzugeben, das der Anbindung eines Prozessorsystems mit hoher Zugriffshäufigkeit an einen geteilten Speicher und auch der Anbindung eines Prozessorsystems mit großem Datenmengenübertragungsbedarf an diesen geteilten Speicher Rechnung trägt.
  • Diese Aufgabe wird gelöst durch ein Mehrprozessorsystem, bei dem mindestens eine Prozessoreinheit derart priorisiert ist, daß der geteilte Speicher in ihrem lokal zugeordneten Arbeitsspeicher realisiert ist. Hierbei ist der lokale Arbeitsspeicher dieser priorisierten Prozessoreinheit vorzugsweise derart konfiguriert, daß die übrigen Prozessoreinheiten nur auf einen Teil dieses Arbeitsspeichers zugreifen können. Erfindungsgemäß sind alle beteiligten Prozessorsysteme über ein Peripheriebussystem verbunden, um den Zugriff der nicht priorisierten Prozessoreinheiten auf den geteilten Speicher im Arbeitsspeicher der priorisierten Prozessoreinheit zu ermöglichen.
  • Durch die Realisierung des geteilten Speichers im Arbeitsspeicher einer der Prozessoreinheiten kann diese priorisierte Prozessoreinheit mit hoher Geschwindigkeit auf diesen geteilten Speicher zugreifen. Der Zugriff dieser Prozessoreinheit auf den geteilten Speicher erfolgt nämlich über den Speicherbus des Prozessors, beispielsweise einen Front-Side-Bus mit 133 MHz Taktfrequenz. Somit ist die Anbindung des geteilten Speichers an diese priorisierte Prozessoreinheit optimiert für hohe Zugriffshäufigkeit und Zugriffe mit geringen Datenmengen.
  • Die nichtpriorisierten Prozessoreinheiten greifen über ein Peripheriebussystem auf den geteilten Speicher zu und sind somit eher bezüglich seltenerer Speicherzugriffe mit größeren Datenmengen optimiert.
  • In einer besonders günstigen Ausgestaltungsform eines erfindungsgemäßen Mehrprozessorsystems sind die Prozessoreinheiten unmittelbar über ein PCI-Bussystem miteinander verbunden. Ein solches PCI-Bussystem ist sehr einfach und kostengünstig zu realisieren. Neuere PCI-Busse mit bis zu 64 Bit Busbreite und bis zu 66 MHz Taktfrequenz sind auch ausreichend schnell, um größere Datenmengen zu übertragen. Darüber hinaus übernehmen standardisierte Massenbauelemente die Funktionen des Bussystems, wie z. B. North-Bridge, South-Bridge, PCI-Steckplätze, PCI/PCI-Bridge etc.. Ein PCI-Bussystem ist sehr einfach zu konfigurieren und seine Initialisierung erfolgt beim Starten des Betriebssystems automatisch. Im Gegensatz zu den bekannten, eingangs beschriebenen Mehrprozessorsystemen, die einen PCI-Bus nur zum Anschließen von Peripherieeinrichtungen verwenden oder als zwischengeschaltete Buseinheit zwischen einer Prozessoreinheit und einem Ethernet-Bus, werden hier die Prozessoreinheiten unmittelbar über ein PCI-Bussystem verbunden.
  • In einer Weiterbildung eines erfindungsgemäßen Prozessorsystems greift eine nicht priorisierte Prozessoreinheit vorzugsweise über eine PCI/PCI-Bridge, den primären PCI-Bus der priorisierten Prozessoreinheit und eine PCI-North-Bridge dieser priorisierten Prozessoreinheit auf den geteilten Speicher zu. Dadurch kann beispielsweise jede PCI/PCI-Bridge als Pufferspeicher für die jeweils angeschlossene Prozessoreinheit dienen. Gegebenenfalls können außerdem die PCI/PCI-Bridges, wie in der eingangs erwähnten US 6,189,063 B1 beschrieben, von der priorisierten Prozessoreinheit konfiguriert werden. Durch das Anschließen der übrigen Prozessoreinheiten an den primären PCI-Bus der priorisierten Prozessoreinheit, kann diese priorisierte Prozessoreinheit bzw. deren primärer PCI- Bus die Zugriffsverwaltung auf den geteilten Speicher übernehmen.
  • Eine Prozessoreinheit im Sinne der vorliegenden Erfindung kann sowohl ein einzelner Prozessor sein, aber auch eine Anordnung mehrerer eng gekoppelter Prozessoren, die einen einzigen Arbeitsspeicher und ein einziges Betriebssystem haben. Ein auf einen Anwendungsfall optimiertes System kann hierbei bedarfsweise als priorisierte Prozessoreinheit oder aber auch bedarfsweise als eine oder mehrere der nichtpriorisierten Prozessoreinheiten eine eng gekoppelte Mehrprozessoranordnung verwenden.
  • Sofern es für das gemeinsame Abarbeiten eines Prozesse sinnvoll ist, mehrere Prozessoreinheiten mit hohe Zugriffshäufigkeit auf den geteilten Speicher vorzusehen, kann in einer Weiterbildung der Erfindung der geteilte Speicher auch auf zwei oder ggf. mehrere Arbeitsspeicher einzelner Prozessoreinheiten verteilt werden. Das kann erreicht werden durch die Zugriffsmöglichkeit aller an einem Prozeß beteiligten Prozessoreinheiten über das PCI-Bussystem auf die lokalen Arbeitsspeicher mindestens zweier Prozessoreinheiten. Hierzu müssen die Bridges (PCI/PCI-Bridge bzw. Northbridge) zu den Arbeitsspeichern, auf die ein allgemeiner Zugriff möglich sein soll, sowohl als "Master" als auch als "Target" konfiguriert sein. Falls der gemeinsame Arbeitsspeicher in dieser Weise verteilt angeordnet ist, sollten die selben Daten nicht gleichzeitig an mehreren Stellen im gemeinsamen Speicher abgelegt sein, um aufwendige Synchronisationen der einzelner Teile des gemeinsamen Speichers zu vermeiden.
  • Nachstehend wird die Erfindung unter Bezugnahme auf die Figur der Zeichnung anhand eines Ausführungsbeispiels näher erläutert.
  • Die Figur zeigt in schematischer Blockdarstellung ein Ausführungsbeispiel eines Mehrprozessorsystems gemäß der Erfindung.
  • Das in der Figur dargestellte Mehrprozessorsystem hat drei Prozessoreinheiten CPU1, CPU2, CPUn, die über ein PCI- Bussystem PCI gekoppelt sind. Jede der Prozessoreinheiten CPU1, CPU2, CPUn hat einen lokal zugeordneten Cache-Speicher SC1, SC2, SCn und einen lokal zugeordneten Arbeitsspeicher RAM1, RAM2, RAMn. Jede Prozessoreinheit CPU1, CPU2, CPUn ist mit ihrem Arbeitsspeicher RAM1, RAM2, RAMn, ihrem Cache- Speicher SC1, SC2, SCn und einer ihr zugeordneten PCI-North- Bridge PCINB1, PCINB2, PCINBn jeweils über einen lokalen Speicherbus FSB1, FSB2, FSBn verbunden. Ein solcher lokaler Speicherbus kann beispielsweise ein standardisierter Front- Side-Bus mit 133 MHz Taktfrequenz sein.
  • Die erwähnten PCI-North-Bridges PCINB1, PCINB2, PCINBn bilden jeweils mit Leiteranordnungen und PCI-Steckplätzen und gegebenenfalls mit einer nicht dargestellten South-Bridge für die angeschlossene Prozessoreinheit CPU1, CPU2, CPUn einen primären PCI-Bus PCI1, PCI2, PCIn.
  • Im in der Figur dargestellten Ausführungsbeispiel ist im Arbeitsspeicher RAM2 ein geteilter Speicherbereich SM vorgesehen, auf den alle Prozessoreinheiten CPU1, CPU2, CPUn zugreifen können. Die Prozessoreinheit CPU2 ist demnach gemäß der Erfindung eine priorisierte Prozessoreinheit.
  • Der primäre PCI-Bus PCI2 der priorisierten Prozessoreinheit CPU2 ist über eine erste PCI/PCI-Bridge PCIB1 mit dem primären PCI-Bus PCI1 der ersten Prozessoreinheit CPU1 verbunden und über eine weitere PCI/PCI-Bridge PCIBn mit dem primären PCI-Bus der weiteren Prozessoreinheit CPUn verbunden.
  • Demgemäß bilden die primären PCI-Busse PCI1, PCI2 und PCIn der einzelnen Prozessoreinheiten CPU1, CPU2, CPUn mit den PCI-Bridges PCIB1, PCIBn ein PCI-Bussystem PCI, wobei jeweils der primäre PCI-Bus PCI1, PCIn der ersten Prozessoreinheit CPU1 und der weiteren Prozessoreinheit CPUn aus der Sicht der priorisierten Prozessoreinheit CPU2 sekundäre PCI-Bussegmente sind.
  • Um einen Lesezugriff und Schreibzugriff der ersten Prozessoreinheit CPU1 und der weiteren Prozessoreinheit CPUn auf den geteilten Speicher SM zu gewährleisten, ist im dargestellten Ausführungsbeispiel die North-Bridge PCINB2 der priorisierten Prozessoreinheit CPU2 sowohl als "Master" als auch als "Target" konfiguriert. Da ein Zugriff auf den Arbeitsspeicher RAM1 der ersten Prozessoreinheit CPU1 oder auf den Arbeitsspeicher RAMn der weiteren Prozessoreinheit CPUn von anderen Prozessoreinheiten nicht vorgesehen ist, genügt es, die PCI/PCI-Bridge PCIB1 und auch die PCI/PCI-Bridge PCIBn als "Master" und nicht als "Target" zu konfigurieren.
  • Wenn das in der Figur gezeigte und vorstehend beschriebene Mehrprozessorsystem zum gemeinsamen Abarbeiten eines Prozesses vorgesehen ist, dessen Prozeßdaten im geteilten Speicher SM verwaltet werden, wird durch die PCI-Target-Funktionalität der North-Bridge PCINB2 ein Speicherzugriff auf den geteilten Speicher SM durch die externen Busteilnehmer CPU1 und CPUn ermöglicht. Der in jedem PCI-Bus vorgesehene PCI-Busarbiter übernimmt die Arbitrierungsfunktion für den geteilten Speicher SM. Außerdem muß als geteilter Speicher kein separater Speicher physikalisch vorgesehen werden.
  • Wenn in einem abzuarbeitenden Prozeß die priorisierte Prozessoreinheit CPU2 die Aufgabe hat, viele Bitoperationen, also Speicherzugriff auf kleine Datenblöcke, auszuführen, kommt dieser Prozessoreinheit CPU2 der direkte Zugriff auf den geteilten Speicher im eigenen Arbeitsspeicher RAM2 zugute. Außerdem kann die priorisierte Prozessoreinheit CPU2 ihren Cache-Speicher SC2 in einem solchen Prozeß optimal nutzen, da auch der Cache-Speicher SC2 die priorisierte Anbindung über den Speicherbus FSB2 an den geteilten Speicher SM hat. Für Prozeßabläufe mit großer Speicherzugriffshäufigkeit kann diese Anordnung folglich optimal genutzt werden.
  • Für die übrigen am Prozeß beteiligten Prozessoreinheiten CPU1, CPUn ist die beschriebene Konstellation für Speicherzugriffe auf den geteilten Speicher SM mit großen Datenmengen optimiert. Die Verwendung eines Peripheriebussystems mit hoher Übertragungskapazität, wie z. B. eines PCI-Busses zur Anbindung dieser nicht priorisierten Prozessoreinheiten CPU1, CPUn an den geteilten Speicher SM ermöglicht die Übertragung großer Datenmenge bei wenigen Einzelzugriffen. Bezugszeichenliste CPU1 erste Prozessoreinheit
    CPU2 priorisierte Prozessoreinheit
    CPUn weitere Prozessoreinheit
    PCI PCI-Bussystem, Peripheriebussystem
    SC1, SC2, SCn lokal zugeordneter Cache-Speicher
    RAM1, RAM2, RAMn lokal zugeordneter Arbeitsspeicher
    PCINB1, PCINB2, PCINBn PCI-North-Bridge
    FSB1, FSB2, FSBn lokaler Speicherbus
    PCI1, PCI2, PCIn primärer PCI-Bus
    SM geteilter Speicherbereich
    PCIB1 erste PCI/PCI-Bridge
    PCIBn weitere PCI/PCI-Bridge

Claims (5)

1. Mehrprozessorsystem zum gemeinsamen Bearbeiten eines Prozesses durch mindestens zwei Prozessoreinheiten (CPU1, CPU2, CPUn), wobei die Daten dieses gemeinsamen Prozesses in einem geteilten Arbeitsspeicher (SM) abgearbeitet werden, auf den alle am Prozeß beteiligten Prozessoreinheiten (CPU1, CPU2, CPUn) Zugriff haben, wobei jede Prozessoreinheit einen lokalen Arbeitsspeicher (RAM1, RAM2, RAMn) hat und die Prozessoreinheiten über ein gemeinsames Bussystem auf den geteilten Arbeitsspeicher (SM) zugreifen, dadurch gekennzeichnet, daß der geteilte Arbeitsspeicher (SM) durch den lokalen Arbeitsspeicher (RAM2) einer priorisierten Prozessoreinheit (CPU2) realisiert ist, und daß alle Prozessoreinheiten (CPU1, CPU2, CPUn) über ein Peripheriebussystem (PCI) verbunden sind, um den Zugriff der nicht priorisierten Prozessoreinheiten (CPU1, CPU2, CPUn) auf den geteilten Speicher (SM) im Arbeitsspeicher (RAM2) der priorisierten Prozessoreinheit (CPU2) zu ermöglichen.
2. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, dass das Peripheriebussystem (PCI) ein PCI-Bussystem ist.
3. Mehrprozessorsystem nach Anspruch 2, gekennzeichnet durch die Zugriffsmöglichkeit einer nicht priorisierten Prozessoreinheit (CPU1) auf den geteilten Speicher (SM) über eine PCI-Bridge (PCIB1), den primären PCI-Bus (PCI2) der priorisierten Prozessoreinheit (CPU2) und eine PCI-North-Bridge (PCINB2) dieser priorisierten Prozessoreinheit (CPU2).
4. Mehrprozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mindestens eine Prozessoreinheit (CPU1, CPU2, CPUn) durch mehrere eng gekoppelte Prozessoren realisiert ist.
5. Mehrprozessorsystem nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Zugriffsmöglichkeit aller an einem Prozeß beteiligten Prozessoreinheiten (CPU1, CPU2, CPUn) über das Peripheriebussystem (PCI) auf die lokalen Arbeitsspeicher (RAM2, RAMn) mindestens zweier Prozessoreinheiten (CPU2, CPUn).
DE10128475A 2001-06-12 2001-06-12 Mehrprozessorsystem mit geteiltem Arbeitsspeicher Withdrawn DE10128475A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10128475A DE10128475A1 (de) 2001-06-12 2001-06-12 Mehrprozessorsystem mit geteiltem Arbeitsspeicher
US10/166,033 US20030009532A1 (en) 2001-06-12 2002-06-11 Multiprocessor system having a shared main memory
CN02123024.2A CN1391178A (zh) 2001-06-12 2002-06-12 具有共享工作存储器的多处理器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10128475A DE10128475A1 (de) 2001-06-12 2001-06-12 Mehrprozessorsystem mit geteiltem Arbeitsspeicher

Publications (1)

Publication Number Publication Date
DE10128475A1 true DE10128475A1 (de) 2003-01-02

Family

ID=7688029

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10128475A Withdrawn DE10128475A1 (de) 2001-06-12 2001-06-12 Mehrprozessorsystem mit geteiltem Arbeitsspeicher

Country Status (3)

Country Link
US (1) US20030009532A1 (de)
CN (1) CN1391178A (de)
DE (1) DE10128475A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139881B2 (en) * 2003-09-25 2006-11-21 International Business Machines Corporation Semiconductor device comprising a plurality of memory structures
US7496917B2 (en) * 2003-09-25 2009-02-24 International Business Machines Corporation Virtual devices using a pluarlity of processors
DE102004009497B3 (de) * 2004-02-27 2005-06-30 Infineon Technologies Ag Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
US7290112B2 (en) * 2004-09-30 2007-10-30 International Business Machines Corporation System and method for virtualization of processor resources
US8316439B2 (en) * 2006-05-19 2012-11-20 Iyuko Services L.L.C. Anti-virus and firewall system
CN102207852A (zh) * 2011-05-27 2011-10-05 清华大学 动态可重构处理器内子单元间进行数据交互的系统和方法
FR3078176B1 (fr) * 2018-02-19 2020-02-28 IFP Energies Nouvelles Systeme et procede de prediction d'un phenomene physique et/ou chimique au moyen d'un segment de memoire partage
CN111049566B (zh) * 2019-11-20 2022-03-08 中国航空工业集团公司西安航空计算技术研究所 信息传递方法和机载lrm模块

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998022874A1 (en) * 1996-11-22 1998-05-28 Mangosoft Corporation Shared memory computer networks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
US4229791A (en) * 1978-10-25 1980-10-21 Digital Equipment Corporation Distributed arbitration circuitry for data processing system
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US5036459A (en) * 1989-03-09 1991-07-30 U.S. Philips Corporation Multi-processor computer system with distributed memory and an interprocessor communication mechanism, and method for operating such mechanism
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US5961623A (en) * 1996-08-29 1999-10-05 Apple Computer, Inc. Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system
US5924122A (en) * 1997-03-14 1999-07-13 Compaq Computer Corp. Method for error recovery spinlock in asymmetrically accessed multiprocessor shared memory
US6115761A (en) * 1997-05-30 2000-09-05 Lsi Logic Corporation First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US5878237A (en) * 1997-07-11 1999-03-02 Compaq Computer Corp. Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses
US6189063B1 (en) * 1997-09-30 2001-02-13 Texas Instruments Incorporated Method and apparatus for intelligent configuration register access on a PCI to PCI bridge

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998022874A1 (en) * 1996-11-22 1998-05-28 Mangosoft Corporation Shared memory computer networks

Also Published As

Publication number Publication date
CN1391178A (zh) 2003-01-15
US20030009532A1 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
DE69423056T2 (de) Arbitrierungslogik für Mehrfachbus-Rechnersystem
DE69610157T2 (de) Ein Ein-/Ausgabeprozessor der gemeinsame Betriebsmittel einem Ein-/Ausgabebus in einem Rechner zur Verfügung stellt
DE68913914T2 (de) Multiprozessorsystem mit Vervielfältigung von globalen Daten.
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE3586389T2 (de) Dynamisch zugeordnete lokale/globale speicheranordnung.
DE69722117T2 (de) Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung
DE69030640T2 (de) Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
DE3885780T2 (de) Adressierung in einer Computer-Anordnung.
DE112007000862T5 (de) Multiplexieren einer Parallelbus-Schnittstelle und einer Flash Memory-Schnittstelle
DE69422221T2 (de) Genaue und komplette Übertragung zwischen verschiedenen Busarchitekturen
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE69607887T2 (de) Hauptspeichersegmentierung, um Datenpfade in einem Rechnersystem leistungsfähiger zu machen
DE112008002273T5 (de) Optimale Lösung zur Steuerung von Datenkanälen
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
DE69030636T2 (de) Doppeldomänenspeichersteuerung
DE60029118T2 (de) Asynchrone zentralisierte multikanal-dma-steuerung
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE69124043T2 (de) Arbeitsplatzrechner mit Schnittstellenmitteln zur Datenübertragung zwischen zwei Bussen
DE10128475A1 (de) Mehrprozessorsystem mit geteiltem Arbeitsspeicher
EP2825968B1 (de) Modulares serversystem, i/o-modul und switching-verfahren
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal