[go: up one dir, main page]

DE19754466A1 - Multiprocessor system with data cell- or packet exchange, for topology-invariant communication - Google Patents

Multiprocessor system with data cell- or packet exchange, for topology-invariant communication

Info

Publication number
DE19754466A1
DE19754466A1 DE1997154466 DE19754466A DE19754466A1 DE 19754466 A1 DE19754466 A1 DE 19754466A1 DE 1997154466 DE1997154466 DE 1997154466 DE 19754466 A DE19754466 A DE 19754466A DE 19754466 A1 DE19754466 A1 DE 19754466A1
Authority
DE
Germany
Prior art keywords
cell
cell switching
switching unit
unit
functional unit
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
DE1997154466
Other languages
German (de)
Inventor
Rolf Matzner
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.)
CZECH CHRISTIAN B
Original Assignee
CZECH CHRISTIAN B
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 CZECH CHRISTIAN B filed Critical CZECH CHRISTIAN B
Priority to DE1997154466 priority Critical patent/DE19754466A1/en
Publication of DE19754466A1 publication Critical patent/DE19754466A1/en
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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The cell-switching exchange (CS), enables data packet transmission, as fixed length cells, from a functional unit (FE0) to one or more, other functional units (FE1, FE2). Each functional unit is allocated its own exchange input and output. Dedicated input and output are each coupled directly to the corresponding local processor bus of the functional unit. To send a data packet, a functional unit engages the exchange directly via the local processor bus. The exchange nominates the functional unit to receive a transmitted cell, sending out an interrupt signal. This receiver then reads the cell directly from the local processor bus. Functional unit and exchange are integrated mechanically and electrically, occupying the same board and having a common power supply. In addition, all components of the multiprocessor system are hardwired together. The cellular exchange is self-routing, with a routing header prescribed for the cells or with a self-routing header integrated into the cells.

Description

2.1 Gebiet der Technik2.1 Field of technology

Die in diesem Dokument dargestellten Techniken, Methoden und Verfahren ordnen sich einerseits in das Gebiet der Kommunikations- und Rechnernetze ein, andererseits betreffen sie den Bereich der Rechnerarchitekturen, insbesondere die in parallelen Rechensystemen eingesetzten Verfahren zur Interprozessor-Kommunikation.The techniques, methods and procedures presented in this document are organized on the one hand in the field of communication and computer networks, on the other hand they concern the area computer architectures, especially the methods used in parallel computing systems for interprocessor communication.

2.2 Klassifikationen zum Stand der Technik2.2 State of the art classifications

Die Darstellung des Standes der Technik erfordert eine vorherige detaillierte Abgrenzung von Begriffen aus der Kommunikationstechnik und der Rechnerarchitektur, wie sie nachfolgend auf­ geführt ist.The presentation of the prior art requires a prior detailed delimitation of Terms from communication technology and computer architecture as described below is led.

2.2.1 Zugriffsverfahren in der Kommunikationstechnik2.2.1 Access procedures in communication technology

Bei Datenkommunikation zwischen zwei Funktionseinheiten A und B (wie in Anspruch 1 darge­ stellt) lassen sich folgende technische Rahmenbedingungen unterscheiden:
In data communication between two functional units A and B (as presented in claim 1), the following technical framework conditions can be distinguished:

  • 1. Unmittelbare Kopplung: A und B sind direkt über eine exklusive Kommunikationslei­ tung miteinander verbunden und können so kommunizieren.1. Immediate coupling: A and B are directly through an exclusive communication line connected and can communicate in this way.
  • 2. Mittelbare Kopplung A: und B sind nur mittelbar über eine zwischengeschaltete Kom­ munikationseinheit verbunden. Kommunikationseinheiten lassen sich in ihrer Funktion nach den zugrundeliegenden Zugriffsverfahren klassifizieren. Aus Generalisierungsgründen (Das Klassifikationsschema soll auch für ≧ 2 Funktionseinheiten gelten) wer­ den an dieser Stelle lediglich Vielfachzugriffsverfahren betrachtet.2. Indirect coupling A: and B are only indirect via an interposed comm communication unit connected. Communication units can be reduced in their function classify the underlying access method. For reasons of generalization (the classification scheme should also apply to ≧ 2 functional units) who which only considers multiple access methods at this point.
  • (a) Busse: Busse stellen ein gemeinsames, von jedem Busteilnehmer (Kommunikations­ partner) anteilig genutztes Medium zur Datenkommunikation dar. Busarchitekturen nutzen i.d.R. ein Zeitmultiplexverfahren um Vielfachzugriffe zu ermöglichen. Die für einzelne Kommunikationspartner verfügbare Busbandbreite teilt sich so zeitlich durch die Anzahl der Teilnehmer am Bus.(a) Buses: Buses provide a common, shared by each bus participant (communication partner) is a medium used for data communication. Bus architectures usually use a time-division multiplex method to enable multiple accesses. The for individual communication partners available bus bandwidth is divided over time the number of participants on the bus.
  • (b) Vermittlungseinheiten: Vermittlungseinheiten sind technische Verbindungswerke, die Nachrichten über parallele, unabhängige Datenpfade (Verbindungskanäle) zwi­ schen Kommunikationspartnern vermitteln. Eine Vermittlungseinheit etabliert dafür Verbindungskanäle zwischen Knotenpaaren aus Ein-/Ausgangsendpunkten (sog. Ein-/Aus­ gangsports), einem Kommunikationspartner werden dabei also ein oder mehre­ re Ports exklusiv zugewiesen. Für Vermittlungseinheiten weiterhin charakteristisch ist die garantierte (maximale) Übertragungsbandbreite für die Schaltungsdauer eines Verbindungskanals sowie die Möglichkeit, Verbindungskanäle dynamisch zwischen ver­ schiedenen Kommunikationspartnern zu konfigurieren. Beim zugrundeliegenden Ver­ mittlungsverfahren unterscheidet man hier zwischen der sog. Durchschaltevermittlung und der Paket/Zellenvermittlung.
    • i. Durchschaltevermittlung: Für die Dauer einer Kommunikationsverbindung werden Ein- und Ausgangsports elektrisch fest miteinander verschaltet. Parallele Durchschaltevermittlungen werden durch Raummultiplex in der Vermittlungsein­ heit sichergestellt.
    • ii.) Paket- und Zellenvermittlung: Vor Beginn einer Nachrichtenvermittlung wer­ den die Nachrichten entweder vom Sender selbst oder einer Fragmentierungsstufe zwischen Sender und Vermittlungseinheit in Datenpakete unterteilt. Die Daten­ pakete ihrerseits werden indirekt und meist speicherbasiert zwischen dedizierten Ein- und Ausgangsports vermittelt. Die Vermittlungseinheit arbeitet dabei i.d.R. nach dem Raum- und Zeitmultiplexverfahren. Im weiteren lassen sich die Ver­ mittlungseinheiten nach dem eingesetzten Adressierungs- und Routingverfahren einteilen. Dabei unterscheidet man zwischen zwei Verfahren, der externen Konfi­ guration der Vermittlungsroute und dem self-routing der Datenpakete.
      • A. Externe Konfiguration der Vermittlungsroute: Die Vermittlungseinheit wird vor Etablierung eines Kommunikationskanals extern programmiert. Die­ se Konfiguration bleibt für die Dauer der Übertragung und ggf. bis zu einer Rekonfiguration der Kanäle stabil.
      • B. Selbstrouting der Datenpakete: Datenpakete werden vom Sender oder ei­ ner zwischengeschalteten Instanz mit Routing-Headern versehen und können anhand dieses vorangestellten Headers selbständig vom Eingangs- zum Aus­ gangsport gelangen. Bei diesem Verfahren differenziert man wiederum zwi­ schen Vermittlung von Datenpakten fester Länge (Zellenvermittlung) und variabler Länge (Paketvermittlung).
    (b) Switching units: Switching units are technical connection units that transmit messages via parallel, independent data paths (connection channels) between communication partners. For this purpose, a switching unit establishes connection channels between pairs of nodes from input / output end points (so-called input / output ports), so one or more ports are exclusively assigned to a communication partner. The guaranteed (maximum) transmission bandwidth for the switching duration of a connection channel and the possibility of dynamically configuring connection channels between different communication partners is further characteristic of switching units. In the underlying switching process, a distinction is made between the so-called circuit switching and the packet / cell switching.
    • i. Circuit switching: For the duration of a communication connection, input and output ports are electrically connected to each other. Parallel switching exchanges are ensured by space division multiplexing in the switching unit.
    • ii.) Packet and cell switching: Before the start of a message transfer, the messages are either divided by the sender itself or a fragmentation level between the sender and the switching unit into data packets. The data packets, in turn, are mediated indirectly and mostly memory-based between dedicated input and output ports. The switching unit usually works according to the space and time division multiplex method. Furthermore, the switching units can be divided according to the addressing and routing procedure used. A distinction is made between two methods, the external configuration of the switching route and the self-routing of the data packets.
      • A. External configuration of the switching route: The switching unit is programmed externally before establishing a communication channel. This configuration remains stable for the duration of the transmission and possibly until the channels are reconfigured.
      • B. Self-routing of the data packets: Data packets are provided with routing headers by the sender or an intermediary instance and can independently use this header to get from the input to the output port. In this method, a differentiation is again made between the switching of data packets of fixed length (cell switching) and variable length (packet switching).
2.2.2 Rechnersystemtechnik2.2.2 Computer system technology

Im Bereich der Rechnerkommunikation lassen sich grundsätzlich folgende systemtechnischen Un­ terscheidungen treffen:
Board Area Network (Board-level Kommunikation): Alle beteiligten Prozessoren (Funk­ tionseinheiten) befinden sich auf demselben Board, d. h. sie bilden eine elektrische und mechani­ sche Einheit mit galvanischer Kopplung.
In the area of computer communication, the following system-technical distinctions can be made:
Board Area Network (board-level communication): All processors involved are on the same board, i.e. they form an electrical and mechanical unit with galvanic coupling.

System Area Network: Alle beteiligten Prozessoren (Funktionseinheiten) befinden sich im selben Parallelrechnersystem. Dies kann beispielsweise durch eine Backplane-Kopplung verschie­ dener Boards in einem Baugruppenträger realisiert sein. Für die Kommunikation zwischen den Funktionseinheiten ist im Regelfall weder eine physikalische Umsetzung der Nachrichten, noch ein Routing erforderlich, da alle Kommunikationspartner a priori bekannt sind.System Area Network: All processors involved (functional units) are located in the same parallel computer system. This can be done using a backplane coupling, for example whose boards can be realized in a subrack. For communication between the Functional units are usually neither a physical implementation of the messages, nor routing is required because all communication partners are known a priori.

Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Net­ work (WAN): Die beteiligten Funktionseinheiten befinden sich in unterschiedlichen Gehäusen oder in verschiedenen Baugruppenträgern innerhalb eines Racks und kommunizieren über ein externes Netzwerk. In LANs ist dazu mindestens eine physikalische Umsetzung der Nachricht (OSI-Schicht 1), sowie die Adressierung und Segmentierung der Nachricht (OSI-Schicht 2) not­ wendig. Bei inhomogenen Netzstrukturen fallen weitere Aufgaben (z. B. Routing, Protokollum­ setzung etc.) an.Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Net work (WAN): The functional units involved are located in different housings or in different racks within a rack and communicate via one external network. There is at least one physical implementation of the message in LANs (OSI layer 1), as well as the addressing and segmentation of the message (OSI layer 2) not agile. In the case of inhomogeneous network structures, further tasks are performed (e.g. routing, protocol settlement etc.).

2.2.3 Kommunikationsverfahren in MIMD-Architekturen2.2.3 Communication procedures in MIMD architectures

Multiprozessor- und Multirechnersysteme zählen nach Flynn [5] zu den Multiple Instruction Stream, Multiple Data Stream (MIMD-) Architekturen. MIMD-Systeme lassen sich anhand einer Vielzahl von Architekturmerkmalen unterscheiden und klassifizieren (siehe dazu z. B. [6]). Be­ züglich der für die Interprozessor-Kommunikation eingesetzten Kommunikationsverfahren lassen sich grundsätzlich folgende Ansätze unterscheiden:
Kommunikation über einen gemeinsamen Speicher: Der Speicher dient als gemeinsame Basis zum mittelbaren Datenaustausch.
According to Flynn [5], multiprocessor and multicomputer systems belong to the multiple instruction stream, multiple data stream (MIMD) architectures. MIMD systems can be distinguished and classified using a variety of architectural features (see, for example, [6]). With regard to the communication methods used for interprocessor communication, the following basic approaches can be distinguished:
Communication via a common memory: The memory serves as a common basis for indirect data exchange.

Kommunikation durch Nachrichtenübermittlung: Bei den sog. Message Passing Verfah­ ren kommunizieren Funktionseinheiten durch das Adressieren und Versenden von Nachrichten auf der Grundlage eines gegebenen Kommunikations- und Vermittlungsnetzes.Communication through message transmission: With the so-called message passing procedure Ren communicate functional units by addressing and sending messages on the basis of a given communication and switching network.

2.3 Stand der Technik2.3 State of the art

In diesem Abschnitt wird zunächst auf gängige Vermittlungseinheiten einschließlich deren An­ wendungsfelder eingegangen. Anschließend wird eine Einordnung der Vermittlungseinheiten in bestehende Mehrprozessorsysteme vorgenommen.In this section, we will first look at common switching units, including their type fields of application. Then a classification of the switching units in existing multiprocessor systems made.

2.3.1 Kreuzschienenverteiler und ihre Anwendung2.3.1 Crossbar distributors and their application

Kreuzschienenverteiler zählen zu den klassischen Vertretern der Vermittlungseinheiten zum Auf­ bau von Board- und System Area Networks. Sie etablieren Kommunikationspfade über ein­ fache Schalter in einer N × N Verbindungsmatrix und eignen sich aufgrund ihrer übersichtli­ chen Architektur und der einfachen Handhabung zum Aufbau von lokalen Multiprozessor-/Multi­ rechnersystemen. Häufig werden N Prozessoren über einen N × M Crossbar mit M Spei­ chereinheiten (Speicherbänken) verbunden. Dabei etabliert der Kreuzschienenverteiler in einem zentral kontrollierten Verbindungsintervall einen physikalischen Kanal zwischen einem ausge­ wählten {Prozessor, Speicherbank} Knotenpaar. Dies erlaubt N Prozessoren parallel und mit voller Bandbreite auf maximal M Speicherbänke ohne Blockade zuzugreifen. Das in Kreuzschie­ nenverteilern eingesetzte Vermittlungsprinzip ist das der Durchschaltevermittlung (circuit switching). Ein physikalischer Verbindungskanal wird bei diesem Verfahren für die Dauer der gesamten Übertragung im Kreuzschienenverteiler festgelegt. Routing-Entscheidungen werden zu Beginn jeder Verbindung zentral getroffen und der Kreuzschienenverteiler entsprechend konfigu­ riert.Crossbar distributors are among the classic representatives of the switching units construction of board and system area networks. You establish communication paths via a fold switches in an N × N connection matrix and are suitable due to their clear structure Chen architecture and the easy handling to build local multiprocessor / multi computer systems. Often, N processors are used via an N × M crossbar with M memory Memory units (memory banks) connected. The crossbar distributor is established in one centrally controlled connection interval a physical channel between one out chose {processor, memory bank} pair of nodes. This allows N processors in parallel and with full bandwidth to access a maximum of M memory banks without blocking. That in cross shooting Switching principle used is the switching circuit (circuit switching). In this method, a physical connection channel is used for the duration of the entire transmission in the crossbar distributor. Routing decisions become too The start of each connection is made centrally and the crossbar distributor is configured accordingly riert.

Da die Anzahl der Schaltelemente in einem Kreuzschienenverteiler mit steigender Verbindungsan­ zahl überproportional wächst und die Herstellung großer Schaltmatrizen teuer ist, gelten Kreuz­ schienenverteiler als schlecht skalierbar. Dies ist auch der Grund, weshalb Kreuzschienenverteiler mit mehr als 16 × 16 Anschlußports praktisch nicht eingesetzt werden.As the number of switching elements in a crossbar distributor increases with the connection The number is growing disproportionately and the production of large switching matrices is expensive busbar trunking as poorly scalable. This is also the reason why crossbar distributors with more than 16 × 16 connection ports are practically not used.

Beispielanwendung: Ultrasound signal processing apparatus: Der Ultrasound signal processing apparatus [9] nutzt einen Kreuzschienenverteiler um 4 (6) DSPs mit 4 (6) Speicher­ bänken zu verbinden. Das System ist für die Bearbeitung von Echtzeitaufgaben, wie z. B. Bild­ verarbeitung, bestimmt. Der eingesetzte Kreuzschienenverteiler ist einstufig nicht-blockierend und verfügt über eine 6 × 6 Schaltmatrix zur Etablierung physikalischer Kanäle. Er wird zentral konfiguriert und bietet keine automatischen Routing- oder Pufferfähigkeiten.Example application: Ultrasound signal processing apparatus: The Ultrasound signal processing apparatus [9] uses a crossbar distributor around 4 (6) DSPs with 4 (6) memory banks to connect. The system is for processing real-time tasks such as B. Picture processing, determined. The crossbar distributor used is non-blocking in one stage and has a 6 × 6 switching matrix for establishing physical channels. It becomes central configured and does not offer automatic routing or buffering capabilities.

Beispielanwendung: Sun UltraSPARC Workstation: Die Firma Sun Microsystems Inc. verwendet in der neuen Workstationgeneration UltraSPARC I und II Kreuzschienenverteiler [7], um parallele Datenzugriffe von N Einheiten (einem oder mehreren SPARC-V9 Prozessoren und dem UPA-Verwaltungsbaustein für das I/O Subsystem) auf die vorhandenen DRAM Speicher­ bänke zu ermöglichen. Der eingesetzte integrierte Kreuzschienenverteiler arbeitet asynchron mit Durchschaltevermittlung und verfügt zusätzlich über einen N : 1 Multiplexer. Example application: Sun UltraSPARC Workstation: Sun Microsystems Inc. used in the new generation of UltraSPARC I and II crossbar distributors [7], for parallel data access from N units (one or more SPARC-V9 processors and the UPA management module for the I / O subsystem) on the existing DRAM memory enable benches. The integrated crossbar distributor works asynchronously Circuit switching and also has an N: 1 multiplexer.  

Anmerkung: Für die Anwendung von Kreuzschienenverteiler-basierten Lösungen im Umfeld von Mehrprozessorsystemen ist insbesondere kennzeichnend, daß Kreuz­ schienenverteiler immer nur als Verbindungswerke zwischen Prozessor und Spei­ cher/Peripherie Einheiten dienen.Note: For the use of crossbar distribution based solutions in the environment of multiprocessor systems it is particularly characteristic that cross busbar trunking always only as a connection between processor and memory cher / peripheral units serve.

2.3.2 Paket- und Zellenvermittlungseinheiten und ihre Anwendung2.3.2 Packet and cell switching units and their application

Bei den Paket- und Zellenvermittlungseinheiten handelt es sich um - meist als integrierte Bau­ steine realisierte - Switch-artige Verbindungswerke, die nach dem Prinzip der Paket- bzw. Zellenvermittlung auf der Grundlage einer Nachrichtenfragmentierung arbeiten, vgl. Abschnitt 2.2.1. Sie finden ihre Anwendung beim Aufbau mittlerer und großer Telekommunikations- und Rechnernetze, neuerdings existieren jedoch auch Einsatzfelder im Bereich von Local- und Sy­ stem Area Networks. Derartige Vermittlungseinheiten werden in der Literatur meist als crossbar switches bezeichnet.The packet and cell switching units are - mostly as an integrated construction realized stones - switch-like interconnections, which operate on the principle of packet or Cell switching work on the basis of a message fragmentation, cf. section 2.2.1. They are used in the construction of medium and large telecommunications and Computer networks, but recently there are also fields of application in the area of local and sy stem area networks. Such mediation units are mostly crossbar in the literature switches.

Beispielanwendung: Cray Y-MP 816: Der Supercomputer Cray Y-MP 816 implementiert eine Architektur, in der 8 CPUs über einen 2-stufigen Crossbar Switch auf 256 Memory Bänke zugreifen. Die Crossbar-Architektur [4] bestehend aus 2-stufigen Kaskaden aus 4 × 4 und 8 × 8 Paketvermittlungseinheiten mit 1 × 8 Demultiplexern - realisiert ein skalierbares paketorientiertes Verbindungswerk, das Datenpakete variabler Länge auf der Basis vorangestellter Steuerungsbits (self-routing Verfahren) zwischen beliebigen angeschlossenen CPUs und Memory Bänken ohne innere Blockierung vermittelt. Die Ausgänge werden dabei über FIFO-Queues gepuffert.Example application: Cray Y-MP 816: The supercomputer Cray Y-MP 816 implemented an architecture in which 8 CPUs via a 2-stage crossbar switch to 256 memory banks access. The crossbar architecture [4] consists of 2-stage cascades made of 4 × 4 and 8 × 8 Packet switching units with 1 × 8 demultiplexers - realizes a scalable packet-oriented Link mechanism, the data packets of variable length on the basis of preceding control bits (self-routing procedure) between any connected CPUs and memory banks without internal blockage mediated. The outputs are buffered via FIFO queues.

In vielen technischen Anwendungsfeldern finden sich Paket- und Zellenvermittlungseinheiten jedoch in separaten (d. h. externen) Verbindungsnetzen wieder. Optional können sie dort in mehreren Kaskaden zu komplexeren Topologien verbunden werden. Dabei entstehen Netze mit stark unterschiedlichen Vermittlungseigenschaften hinsichtlich Fehlertoleranz, Anzahl der Ver­ bindungswege, Blockierungsfreiheit, Signallaufzeiten usw. Beispiele dafür sind Omega-, Banyan-, Benes-, Clos-, Delta- und Hypercube Netze. Im Gegensatz zu Lösungen mit Kreuzschienenver­ teilern und Durchschaltevermittlung sind die so erzielten Topologien wesentlich billiger, flexibler konfigurierbar, v.a. aber beliebig skalierbar. Als Paket- und Zellenvermittlungseinheiten zur Un­ terstützung des ATM (Asynchronous Transfer Modus-) Standards kommen insbesondere ATM- Switches zur Anwendung, die wiederum verwendet werden, um größere ATM Koppelnetze (ATM switching network modules) aufzubauen (siehe z. B. [2]). Die grundlegenden Eigenschaften eines ATM-Switch Bausteins lassen sich wie folgt darstellen.
In many technical fields of application, however, packet and cell switching units can be found in separate (ie external) connection networks. Optionally, they can be connected in more cascades to form more complex topologies. This creates networks with widely differing switching properties with regard to fault tolerance, number of connection paths, freedom from blocking, signal propagation times, etc. Examples include omega, banyan, benes, clos, delta and hypercube networks. In contrast to solutions with crossbar distributors and circuit switching, the topologies achieved in this way are much cheaper, more flexibly configurable, but above all scalable as desired. In particular, ATM switches are used as packet and cell switching units to support the ATM (Asynchronous Transfer Mode) standard, which in turn are used to set up larger ATM switching networks (ATM switching network modules) (see, for example, [2] ). The basic properties of an ATM switch module can be represented as follows.

  • - Paketvermittlung (packet switching) von logischen Datenpaketen über physikalische Zellen fester Größe- Packet switching (packet switching) of logical data packets via physical cells fixed size
  • - Selbstrouting der in Zellen eingeteilten Datenpakete über blockierungsfreie variable Pfade- Self-routing of the data packets divided into cells via non-blocking variable paths
  • - Speicherbasierte Vermittlung (Paketzellenspeicher) mit FIFO-Ausgangspufferung- Memory-based switching (packet cell memory) with FIFO output buffering
  • - Physikalische (1 : 1 und 1 : M) Kanäle (chipintern), virtuelle Kanäle (extern)- Physical (1: 1 and 1: M) channels (on-chip), virtual channels (external)
  • - Variable Transferraten von logischen Paketen durch Steuerung der Zellrate.- Variable transfer rates of logical packets by controlling the cell rate.

Interface-Spezifikationen des ATM Forums definieren, beginnend bei Schicht 1 (physical layer) des OSI-Referenzmodells aufwärts, elektrische und logische Eigenschaften von Schnittstellen, um Ein-/Ausgänge von ATM-Switches über elektrische oder optische Verbindungen miteinander zu verbinden und damit Netzwerke beliebiger Größe aufzubauen.Define interface specifications of the ATM Forum, starting with layer 1 (physical layer) of the OSI reference model upwards, electrical and logical properties of interfaces to  Inputs / outputs of ATM switches via electrical or optical connections to each other connect and build networks of any size.

Anmerkung: Obwohl bereits viele Technologien zum Aufbau von Zellenvermitt­ lungseinheiten wie ATM-Switches und -Fabriken patentiert sind, werden Zellenver­ mittlungseinheiten bisher in keiner einzigen Rechnerarchitektur als Board Area Net­ work (vgl. Abschnitt 2.2.2) zur lokalen Interprozessor-Kommunikation herangezogen.Note: Although there are already many technologies for building cell switching units such as ATM switches and factories are patented averaging units in no single computer architecture as board area net work (see section 2.2.2) for local interprocessor communication.

2.3.3 Einsatz von Kommunikationseinheiten in Multiprozessor- und Multirechner­ systemen und deren Nachteile2.3.3 Use of communication units in multiprocessor and multi-computers systems and their disadvantages

An dieser Stelle werden Architekturmerkmale von Multiprozessor- und Multirechnersystemen beschrieben, die sich auf die Organisation der Einheiten zur Interprozessor-Kommunikation und -Ko­ operation beziehen. Es wird dabei insbesondere auf die in Kapitel 2.2 eingeführte Klassifikation zum Stand der Technik Bezug genommen.At this point, architectural features of multiprocessor and multicomputer systems described, which relate to the organization of the units for interprocessor communication and co refer to operation. In particular, it refers to the classification introduced in Chapter 2.2 referred to the prior art.

Shared Memory Multiprozessor (SMP-) SystemeShared memory multiprocessor (SMP) systems

SMP-Systeme ermöglichen Interprozessor-Kommunikation ausschließlich über einen gemeinsa­ men logischen (aber u. U. physikalisch verteilten) Speicher. Dainit zählen diese Systeme nach Abschnitt 2.2.3 zur Gruppe der Funktionseinheiten mit speicherbasierter Kommunikation. Nach der in Abschnitt 2.2.2 getroffenen Unterteilung sind SMPs praktisch in allen Bereichen vertreten. Die angewandten Zugriffsverfahren (nach Abschnitt 2.2.1) wie auch die technische Realisierung des gemeinsamen logischen Speichers können in diesen sog. eng-gekoppelten Systemen sehr un­ terschiedlich sein.
SMP systems enable interprocessor communication only via a common logical (but possibly physically distributed) memory. According to section 2.2.3, these systems therefore belong to the group of functional units with memory-based communication. According to the subdivision made in section 2.2.2, SMPs are practically represented in all areas. The access procedures used (according to section 2.2.1) as well as the technical implementation of the common logical memory can be very different in these so-called tightly coupled systems.

  • - Gemeinsamer Bus (time-multiplexed bus): Hier bilden Prozessoren ggf. mit privaten Zwischenspeichern autonome Funktionseinheiten. Die dabei entstehenden Funktionseinhei­ ten kommunizieren auf der Grundlage eines Vielfachzugriffsverfahrens mit Buskopplung (siehe Abschnitt 2.2.1). Definierte Gruppen von Funktionseinheiten aus dem Gesamtsy­ stem werden zu kleinen Clustern zusammengefaßt. Ein Cluster besteht danach vereinfacht aus N Funktionseinheiten, einem gemeinsamen Bus und M lokalen, gemeinsam genutz­ ten Speicherbänken. Innerhalb eines Clusters greifen die N Funktionseinheiten über den gemeinsamen Bus auf die lokalen physikalischen Speicherbänke zu. Der Zugriff auf ent­ fernte physikalische Speicherbänke (d. h. Speicherbänke in anderen Clustern) wird durch Konstruktion einer Bus-Hierarchie (einschließlich der Übergänge zwischen den Bussen) be­ reitgestellt. Auf diese Weise kann ein gemeinsamer logischer Speicher adressiert werden. Ein Beispiel für derartige Systeme sind Futurebus + -Systeme [1].
    Nachteile: Die Einschränkungen der SMPs mit Buskopplung liegen zum einen in der durch die enge Vermaschung aller beteiligten Funktionseinheiten verursachten Synchro­ nisationsploblematik. Die Synchronisation der Zugriffe muß sowohl durch Hardware- Arbitrierung, wie auch durch Software-seitige Synchronisationsmittel sichergestellt werden. Beim Einsatz von schnellen, lokalen Zwischenspeichern (Caches) in den Funktionseinheiten treten zudem noch Speicherkohärenzprobleme auf. Weiterhin führen Engpässe in der Über­ tragungsbandbreite (in Bus-artigen Verbindungswerken teilt sich die individuell verfügbare Busbandbreite durch die Anzahl der Teilnehmer am Bus) zu massiven Skalierungsproblemen. Der Einsatz von Busübergängen zieht zudem noch hohe Laufzeitverzögerungen (memory latencies) für entfernte Zugriffe nach sich.
    - Common bus (time-multiplexed bus): Here, processors, if necessary with private buffers, form autonomous functional units. The resulting functional units communicate on the basis of a multiple access procedure with bus coupling (see section 2.2.1). Defined groups of functional units from the overall system are combined into small clusters. A cluster then consists of N functional units, a common bus and M local, shared memory banks. Within a cluster, the N functional units access the local physical memory banks via the common bus. Access to remote physical memory banks (ie, memory banks in other clusters) is provided by constructing a bus hierarchy (including the transitions between the buses). In this way, a common logical memory can be addressed. An example of such systems are Futurebus + systems [1].
    Disadvantages: The limitations of the SMPs with bus coupling lie on the one hand in the synchronization ploblematics caused by the close meshing of all the functional units involved. The synchronization of the accesses must be ensured both by hardware arbitration and by software-side synchronization means. When using fast, local buffers (caches) in the functional units, memory coherence problems also occur. Furthermore, bottlenecks in the transmission bandwidth (in bus-like interconnectors, the individually available bus bandwidth is divided by the number of participants on the bus) lead to massive scaling problems. The use of bus transitions also results in high runtime delays (memory latencies) for remote access.
  • - Kreuzschienenverteiler: In neueren Architekturen ersetzen Kreuzschienenverteiler die Busse für Zugriffe auf lokale und entfernte Speicherbänke. Bekannt sind Multiprozessoren nach dem UMA, NUMA und COMA-Modell [6]. Die so aufgebauten Systeme kommunizie­ ren auf der Grundlage eines Vielfachzugriffsverfahrens mit Durchschaltevermittlung (siehe Abschnitt 2.2.1). Der Einsatz von Kreuzschienenverteilern verhindert die bei Buskopp­ lungen charakteristische Bandbreiteneinschränkung, da jeder Prozessor (Funktionseinheit) beim Speicherzugriff einen exklusiven Kanal mit garantierter Bandbreite erhält.
    Nachteile: Kreuzschienenverteiler-basierte Lösungen ziehen für größere Topologien hohe Kosten für Konfiguration und Hardware nach sich und schränken so die Skalierbarkeit dieser Systeme ein. Weitere Nachteile, wie die betrachteten Laufzeitverzögerungen als auch die Kohärenz- und Synchronisationsprobleme bleiben auch hier erhalten.
    - Crossbar distributors: In newer architectures, crossbar distributors replace buses for access to local and remote memory banks. Multiprocessors based on the UMA, NUMA and COMA models are known [6]. The systems set up in this way communicate on the basis of a multiple access procedure with circuit switching (see section 2.2.1). The use of crossbar distributors prevents the bandwidth limitation that is characteristic of bus couplings, since each processor (functional unit) receives an exclusive channel with guaranteed bandwidth when accessing the memory.
    Disadvantages: Crossbar distributor-based solutions entail high configuration and hardware costs for larger topologies and thus limit the scalability of these systems. Further disadvantages, such as the delay delays under consideration as well as the coherence and synchronization problems, are also retained here.
  • - Ring-Topologie: Modernste SMP-Architekturen arbeiten nach dem Scalable Coherent In­ terface (SCI-) Modell. Dabei werden jeweils Cluster aus 4-6 Funktionseinheiten gebildet, die intern über einen unidirektionalen Hochgeschwindigkeitsring miteinander verbunden sind. Das SCI-Modell stellt Hardware-seitig einen logischen, globalen Adreßraum bereit, in den jeder Teilnehmer (Prozessor, Funktionseinheit) wahlweise Einsicht bekommt. SCI-basierte Systeme kommunizieren (nach der Klassifikation in Abschnitt 2.2.1) auf der Grundlage ei­ nes Vielfachzugriffsverfahrens mit Buskopplung. Die Skalierbarkeit von SCI-basierten Par­ allelrechnern wird durch den Einsatz zusätzlicher Netzübergänge zur Überbrückung von Clustergrenzen sichergestellt. Die SCI-Hardware löst weiterhin das bei derartigen Syste­ men auftretende Speicherkohärenzproblem.
    Nachteile: Eine Einschränkung dieser Architekturen liegt in den unterschiedlichen Zu­ griffszeiten bei Lese/Schreiboperationen auf entfernte Speicher. Leseoperationen sind dabei um Größenordnungen langsamer als Schreiboperationen. Weiterhin entstehen Leistungsein­ bußen bei lokalen Speicherzugriffen innerhalb der Funktionseinheiten, da nach dem SCI- Standard Nachrichten bzw. Daten, die innerhalb des globalen Adreßraums sichtbar sind, nicht im Prozessor-lokalen Cache-Speicher abgelegt werden dürfen.
    - Ring topology: The latest SMP architectures work according to the scalable coherent interface (SCI) model. Clusters are made up of 4-6 functional units, which are connected internally via a unidirectional high-speed ring. On the hardware side, the SCI model provides a logical, global address space into which each participant (processor, functional unit) can choose to view it. SCI-based systems communicate (according to the classification in Section 2.2.1) on the basis of a multiple access method with bus coupling. The scalability of SCI-based parallel computers is ensured through the use of additional gateways to bridge cluster boundaries. The SCI hardware continues to solve the memory coherency problem that occurs with such systems.
    Disadvantages: One limitation of these architectures is the different access times for read / write operations on remote memories. Read operations are orders of magnitude slower than write operations. Furthermore, there is a loss of performance in the case of local memory accesses within the functional units, since according to the SCI standard, messages or data which are visible within the global address space may not be stored in the processor-local cache memory.
Message Passing SystemeMessage passing systems

In Multiprozessor/Multirechnersystemen, die nach dem Message Passing Verfahren arbeiten (sie­ he Klassifikation in Abschnitt 2.2.3), kommunizieren Prozessoren nicht mehr über einen gemeinsa­ men Speicher, sondern durch direkten oder mittelbaren Nachrichtenaustausch über logische bzw. physikalische Verbindungskanäle. Entsprechend der in Abschnitt 2.2.2 getroffenen Unterteilung sind Message Passing Systeme praktisch auch in allen Bereichen vertreten. Die (nach Abschnitt 2.2.1) angewandten Zugriffsverfahren, wie auch die technische Bereitstellung von Nachrichten­ kanälen sind in diesen auch als lose gekoppelte Systeme bekannten Anordnungen sehr unter­ schiedlich.
In multiprocessor / multicomputer systems that work according to the message passing procedure (see classification in Section 2.2.3), processors no longer communicate via a common memory, but through direct or indirect message exchange via logical or physical connection channels. According to the subdivision made in section 2.2.2, message passing systems are practically represented in all areas. The access methods used (according to section 2.2.1), as well as the technical provision of message channels, are very different in these arrangements, which are also known as loosely coupled systems.

  • - On Chip Kommunikationslinks: Spezielle Prozessorfamilien wie die TMS320C4x- Generation [8] oder Vertreter der neuen ADSP-2106x Reihe [3] verfügen über eigene Kom­ munikationsschnittstellen (Links), die direkt zum Nachrichtenaustausch zwischen Prozes­ soren in einem Multiprozessor-Netzwerk genutzt werden können. Derartige Systeme kom­ munizieren nach der Klassifikation in Abschnitt 2.2.1 also auf der Grundlage eines Zu­ griffsverfahrens mit direkter Kopplung. Besteht hier die Notwendigkeit, daß Prozessoren miteinander kommunizieren, die nicht unmittelbar miteinander verbunden sind, so muß eine Software-basierte Lösung für das Routing der Nachricht realisiert werden. Da die An­ zahl der integrierten Links physikalisch begrenzt ist (typisch 2-6 Links pro Prozessor), sind die so erzielbaren Topologien eingeschränkt.
    Nachteile: Aufgrund der elektrisch begrenzten räumlichen Ausdehnung einer Linkver­ bindung lassen sich auf dieser Grundlage lediglich Systeme mit Board- oder System- Area Networks aufbauen. Auch die fehlende Möglichkeit einer (physikalischen) Vollver­ maschung des Netzwerks schränkt die Skalierbarkeit dieser Systeme deutlich ein. Software- Protokollschichten übernehmen in diesen Fällen die Vermittlung zwischen entfernten Pro­ zessoren ohne direkten Verbindungskanal. Damit fallen zusätzliche Aufgaben wie das Software-Switching der übertragenen Nachrichten an. Weiterhin entstehen hohe Laufzeit­ verzögerungen, die von der Topologie und der Rechenlast der Vermittlungsknoten abhängig sind.
    - On chip communication links: Special processor families such as the TMS320C4x generation [8] or representatives of the new ADSP-2106x series [3] have their own communication interfaces (links) that can be used directly for message exchange between processors in a multiprocessor network . Systems of this type communicate according to the classification in Section 2.2.1 on the basis of an access method with direct coupling. If there is a need here for processors to communicate with one another that are not directly connected to one another, then a software-based solution for the routing of the message must be implemented. Since the number of integrated links is physically limited (typically 2-6 links per processor), the topologies that can be achieved in this way are limited.
    Disadvantages: Due to the electrically limited spatial expansion of a link connection, only systems with board or system area networks can be built on this basis. The lack of a (physical) full meshing of the network also significantly limits the scalability of these systems. In these cases, software protocol layers take over the mediation between remote processors without a direct connection channel. This leads to additional tasks such as software switching of the transmitted messages. Furthermore, there are high delays, which depend on the topology and the computing load of the switching nodes.
  • - Kommunikations- und Rechnernetze: In diese Kategorie reihen sich alle (Multi) Rech­ nersysteme ein, die nach Abschnitt 2.2.2 zum Aufbau von LAN-, MAN- und WAN-artigen Strukturen herangezogen werden. Die dabei eingesetzten Kommunikationseinheiten lassen sich analog der Klassifikation in Abschnitt 2.2.1 in zwei große Kategorien einteilen. Zum einen sind dies Bus-basierte Lösungen (wie Ethernet-LANs), die nach dem Vielfachzu­ griffsverfahren auf der Basis eines gemeinsamen Mediums (shared medium) arbeiten. Zum anderen existieren zellbasierte Vermittlungseinheiten mit Paketvermittlung (z. B. ATM- Switches), die exklusive Nachrichtenkanäle aufbauen und Daten so nach dem Message Passing Verfahren vermitteln können. Es existieren auch hybride Lösungen aus beiden Kategorien (z. B. paketvermittelnde FastEthernet-Switches). Charakteristisch für alle Ver­ fahren der Nachrichtenkommunikation über derartige (Rechner-)Netze ist die strikte Hard- und Software-seitige Separation zwischen einer Funktionseinheit (Prozessor, Speicher etc.) als elektrische/physikalische Einheit auf dem Board und einer externen Kommunikations­ einheit (Switch, LAN-Segment). Bevor eine Nachricht über die Kommunikationseinheit transferiert werden kann, ist dazu zunächst ein Bus-gekoppelter Zugriff auf einen periphe­ ren Nachrichtenumsetzer (Media-Adapterkarte, Network Interface Card) notwendig, die die Nachricht (entsprechend den OSI-Schichten 1 und 2a) aufbereitet.
    Nachteile: Von der Hardware-Seite betrachtet führt dies dazu, daß angepaßte periphe­ re Adapterkarten für die jeweilige externe Kommunikationseinheit notwendig werden und Netzübergänge für die Kopplung verschiedener, inhomogener Netzstrukturen nötig sind. Dies vergrößert einerseits Materialkosten und Aufwand bei der Skalierung derartiger Sy­ steme und führt andererseits zu hohen Laufzeitverzögerungen bei der Kommunikation zwi­ schen einzelnen Knoten im System. Betrachtet man dies von der Software-Seite, so müssen die Grenzen der unterschiedlichen Komponenten (Media-Adapterkarte, Verbindungswerk, Netzübergänge) innerhalb eines logischen Nachrichtenkanals durch entsprechende Proto­ kollhierarchien überwunden werden. Dies vergrößert wiederum die Komplexität eines rea­ lisierten logischen Kanals und führt für Kanale mit unterschiedlichen Protokollrahmen zu deutlichen Laufzeitschwankungen der Nachrichten auf Nutzungsebene.
    - Communication and computer networks: This category includes all (multi) computer systems that are used in accordance with Section 2.2.2 to set up LAN, MAN and WAN-like structures. The communication units used can be divided into two broad categories in accordance with the classification in Section 2.2.1. On the one hand, there are bus-based solutions (such as Ethernet LANs) that work according to the multiple access method on the basis of a common medium (shared medium). On the other hand, there are cell-based switching units with packet switching (for example ATM switches) that set up exclusive message channels and can thus transmit data using the message passing method. There are also hybrid solutions from both categories (e.g. packet-switching FastEthernet switches). Characteristic for all processes of message communication via such (computer) networks is the strict hardware and software separation between a functional unit (processor, memory etc.) as an electrical / physical unit on the board and an external communication unit (switch, LAN segment). Before a message can be transferred via the communication unit, this first requires bus-coupled access to a peripheral message converter (media adapter card, network interface card), which processes the message (corresponding to OSI layers 1 and 2a).
    Disadvantages: Viewed from the hardware side, this leads to the fact that adapted peripheral adapter cards are necessary for the respective external communication unit and network transitions are necessary for the coupling of different, inhomogeneous network structures. On the one hand, this increases material costs and effort when scaling such systems and, on the other hand, leads to high delays in communication between individual nodes in the system. If you look at this from the software side, the boundaries of the different components (media adapter card, interconnection, network transitions) within a logical message channel must be overcome by appropriate protocol hierarchies. This in turn increases the complexity of a realized logical channel and leads to significant fluctuations in the runtime of the messages at the usage level for channels with different protocol frames.
2.4 Vorteile des neuen Ansatzes2.4 Advantages of the new approach

Der in diesem Dokument dargestellte neue Ansatz zur Interprozessor-Kommunikation bietet im Vergleich zu den beschriebenen Techniken aus Kapitel 2.3 folgende technische Vorteile:
The new approach to interprocessor communication presented in this document offers the following technical advantages compared to the techniques described in Chapter 2.3:

  • 1. Garantierte Bandbreiten: Die Übertragungsbandbreite bei einer Punkt-zu-Punkt Kom­ munikation zwischen zwei beliebigen Prozessoren im System ist konstant, unabhän­ gig von der Anzahl der Prozessoren und - durch geeignete Walil einer Standard- Zellenvermittlungseinheit - in weiten Grenzen definierbar.1. Guaranteed bandwidths: The transmission bandwidth for a point-to-point com Communication between any two processors in the system is constant, independent depending on the number of processors and - by suitable Walil a standard Cell switching unit - definable within wide limits.
  • 2. Skalierbarkeit: Die durchgängig homogene Organisation der Zellenvermittlungseinhei­ ten zur Interprozessor-Kommunikation erlaubt es, daß Prozessoren, unabhängig von ih­ rer tatsächlichen physikalischen Positionierung (auf demselben oder auf unterschiedlichen Boards), in der gleichen Weise miteinander verbunden werden können und nach dem glei­ chen (homogenen) Verfahren Nachrichtenkommunikation betreiben können. Dies ermög­ licht den einfachen Aufbau beliebig großer Systeme auf der Grundlage kleinerer Cluster (Boards). Auch bei entfernter Kommunikation (mehrere km) müssen dabei keine inhomo­ genen (d. h. technisch differenziert gestaltete) Hürden überwunden werden. Die durch die Zellen- basierte Vermittlung entstehenden Laufzeitverzögerungen bewegen sich für kleine und große Systeme in einem engen Toleranzbereich.2. Scalability: The consistently homogeneous organization of the cell switching unit for interprocessor communication allows processors, regardless of their the actual physical positioning (on the same or different Boards), can be connected in the same way and according to the same Chen (homogeneous) procedures can operate message communication. This enables illuminates the simple construction of systems of any size based on smaller clusters (Boards). Even with distant communication (several km) there is no need for inhomo genes (i.e. technically differentiated) hurdles to be overcome. The through the Cell-based switching resulting delay delays move for small and large systems in a narrow tolerance range.
  • 3. Minimaler Aufwand: Der technische (Hardware-seitige) Aufwand sowohl für die Reali­ sierung lokaler Kommunikation auf einem in diesem Dokument beispielhaft dargestellten Board als auch bei der Realisierung von Nachrichtenkommunikation über Boardgrenzen hinaus ist minimal und vergleichbar mit einer Ring- oder Bus-basierten Lösung, bei deut­ lich besseren Rahmenbedingungen in der Leistung des Systems. Der Software-seitige Auf­ wand beschränkt sich auf die initiale Konfiguration der Zellenvermittlungseinheit und die zur Realisierung virtueller Kanale notwendige dynamische Verwaltung von Pakten/Zellen. Durch die self-routing Eigenschaft des Vermittlungssystems entfällt die Notwendigkeit einer dynamischen Konfiguration der Zellenvermittlungseinheit.3. Minimal effort: The technical (hardware-side) effort for both the Reali sation of local communication on an example presented in this document Board as well as in the implementation of message communication across board boundaries is minimal and comparable to a ring or bus based solution, at deut better framework conditions in the performance of the system. The software side Auf wall is limited to the initial configuration of the cell switching unit and the Dynamic management of packets / cells necessary for realizing virtual channels. The self-routing property of the switching system eliminates the need for one dynamic configuration of the cell switching unit.
  • 4. Technische Integration: Durch Kombination der in diesem Dokument dargestellten Zell­ vermittlungstechnik mit den im ATM-Forum festgelegten Rahmenbedingungen und Stan­ dards lassen sich große verteilte Systeme entwickeln, die sich homogen in bestehende tech­ nische Systeme einbetten und aus Sicht der Nachrichtenkommunikation nahtlos integrie­ ren lassen. Damit entfallen partiell die Vermittlungseinheiten (Netzübergänge), die bei der Kopplung spezialisierter Rechensysteme an standardisierte Rechner und Kommunikations­ netze notwendig werden. Durch die Integration eines homogenen Verfahrens für das Booten und Initialisieren der Funktionseinheiten, wird die Wartbarkeit großer Systeme wesentlich vereinfacht.4. Technical integration: By combining the cells shown in this document switching technology with the framework conditions and standards specified in the ATM forum large distributed systems can be developed that can be homogeneously integrated into existing tech Embedding systems and integrating them seamlessly from the point of view of message communication leave. This partially eliminates the switching units (network transitions) that are used by Coupling of specialized computing systems to standardized computers and communication networks become necessary. By integrating a homogeneous procedure for booting and initializing the functional units, the maintainability of large systems becomes essential simplified.
2.5 Funktionsweise2.5 How it works 2.5.1 Technische Problemstellung2.5.1 Technical problem

Die dieser Erfindung zugrundeliegende Problemstellung besteht darin, ein Mehrprozessorsystem aus mehreren Funktionseinheiten so aufzubauen, daß
The problem underlying this invention is to build a multi-processor system from several functional units so that

  • 1. jede Funktionseinheit aus Prozessor, dessen zugeordnetem Arbeitsspeicher und ggf. Peripherie-Einheiten besteht,1. each functional unit consisting of the processor, its assigned working memory and, if applicable Peripheral units exist,
  • 2. die Funktionseinheiten nach dem Message Passing-Prinzip untereinander Daten austau­ schen können (lokale Kommunikation),2. The functional units exchange data with one another according to the message passing principle can (local communication),
  • 3. jeweils N ≧ 3 dieser Funktionseinheiten einen mechanisch und elektrisch gemeinsamen Aufbau besitzen (d. h. auf einer gemeinsamen Leiterplatte aufgebaut sind, gemeinsame Stromversorgung besitzen, usw.) und damit ein Board bilden,3. N ≧ 3 of these functional units each have a mechanically and electrically common one Have structure (i.e., are built on a common circuit board, common Own power supply, etc.) and thus form a board,
  • 4. beliebig viele Boards über externe Schnittstellen und ggf. Vermittlungseinheiten miteinan­ der verbunden werden können, so daß Funktionseinheiten auf verschiedenen Boards eben­ falls über Message Passing miteinander kommunizieren können (entfernte Kommunikati­ on),4. Any number of boards with each other via external interfaces and switching units which can be connected so that functional units on different boards if they can communicate with each other via message passing (remote communicati on),
  • 5. lokale und entfernte Kommunikation aus Sicht der auf den Prozessoren der Funktionsein­ heiten laufenden Software identisch gehandhabt werden, und5. Local and remote communication from the point of view of the function on the processors running software are handled identically, and
  • 6. ausgehend von einer Master-Funktionseinheit, alle Funktionseinheiten auf einem Board ihre initiale Betriebssoftware mittels der Message Passing-Funktionalität laden können, d. h. keinen eigenen Festwertspeicher benötigen.6. starting from a master functional unit, all functional units on one board can load their initial operating software using the message passing functionality, d. H. do not need their own read-only memory.
2.5.2 Begriffsdefinitionen2.5.2 Definition of terms

Funktionseinheit (FE): ist ein selbständiger Prozessor, ggf. mit lokalem RAM und zugeordne­ ten peripheren Einheiten wie Zeitgeber (Timer), Direct Memory Access (DMA) Controller usw. Im Sinne dieser Schrift ist es dabei gleichgültig, ob lokales RAM und periphere Ein­ heiten mit dem Prozessor teilweise oder vollständig auf einem Chip integriert, oder als separate Bauelemente auf einer gemeinsamen Leiterplatte angebracht sind. Kennzeichnend für eine FE ist die dedizierte elektrische und logische Zuordnung von RAM und peripheren Einheiten zum Prozessor. Ein aus mehreren Baugruppen aufgebauter Rechner ist keine FE in diesem Sinne.Functional unit (FE): is an independent processor, possibly with local RAM and assigned peripheral units such as timers, direct memory access (DMA) controllers etc. For the purposes of this document, it is immaterial whether local RAM and peripheral on units with the processor partially or completely integrated on a chip, or as separate components are attached to a common circuit board. Characteristic for a VU is the dedicated electrical and logical assignment of RAM and peripheral Units to the processor. A computer made up of several modules is not an FE in this sense.

Kommunikation: ist die Übertragung einer digitalen Nachricht von einer FE zu einer anderen. Üblicherweise wird dabei bestimmter Bereich aus dem Speicher der sendenden FE in den Speicher der empfangenden FE kopiert. Im Sinne dieser Schrift ist es dabei unerheblich, ob dieser Kopiervorgang von den Prozessoren auf den FE'en oder spezieller Peripherie- Einheiten (DMA) der jeweiligen FE'en ausgeführt wird.Communication: is the transfer of a digital message from one VU to another. Usually, certain areas are transferred from the memory of the sending VU to the Memory of the receiving VU copied. For the purposes of this document, it is irrelevant whether this copying process from the processors to the FEs or special peripherals Units (DMA) of the respective FE'en is executed.

Paket: ist die Einheit, in die Nachrichten von der sendenden FE vor dem Versenden zerlegt wer­ den. Die empfangende FE erwartet Nachrichten als eine Folge von Paketen. Die Größe der Pakete ist üblicherweise nicht festgelegt und wird z. B. vor dem Austausch von Nachrichten zwischen Sender und Empfänger durch Austausch spezieller Kontrollpakete vereinbart. Package: is the unit into which messages from the sending VU are broken down before being sent the. The receiving VU expects messages as a sequence of packets. The size of the Packages are usually not specified and are e.g. B. before exchanging messages agreed between sender and receiver by exchanging special control packages.  

Vermittlungseinheit (VE): Eine VE erlaubt N elektrisch oder optisch angeschlossenen FE'en die Kommunikation untereinander. Erlaubt die VE die gleichzeitige Kommunikation von N/2 disjunkten Paaren von FE'en mit voller Übertragungsrate (Nachrichtenfluß), heißt sie blockierungsfrei.Switching unit (VE): A VE allows N electrically or optically connected FEs communication with each other. Allows the VE to communicate from N / 2 disjoint pairs of FEs with full transmission rate (message flow), it is called non-blocking.

Zellenvermittlungseinheit (Cell-Switch CS): Ein CS ist eine VE, die Nachrichten nur in Einheiten fester Länge (z. B. 53 Oktetts), sog. Zellen, vermitteln kann. Dazu müssen Pakete, bevor sie dem CS übergeben werden, in Zellen zerlegt werden (Segmentierung). Der CS behandelt jede Zelle eines Pakets einzeln, und üblicherweise, ohne von der Zugehörigkeit der Zelle zu einem Paket Kenntnis zu haben.Cell switching unit (CS): A CS is a VE, the messages only in Units of fixed length (e.g. 53 octets), so-called cells. To do this, packages, before being passed to the CS, broken down into cells (segmentation). The CS treats each cell of a packet individually, and usually without belonging to know the cell about a package.

Ein der Zelle voran- oder nachgestellter Routing-Header, der für den CS Information über die Behandlung der Zelle (z. B. den Ausgangsport, zu dem die Zelle vermittelt werden soll) enthält, ist nicht Bestandteil der Zelle im Sinne dieser Definition; insbesondere auch dann nicht, wenn der Routing-Header selbst auch - verändert oder unverändert - zum Ausgangs- Port des CS vermittelt wird.A routing header in front of or behind the cell, which is used for the CS information about the treatment of the cell (e.g. the output port to which the cell is to be switched) contains is not part of the cell in the sense of this definition; especially then not if the routing header itself - changed or unchanged - to the initial Port of the CS is conveyed.

Zelle: ist die vermittelte Einheit eines CS. Alle Zellen in einem System haben gleiche, feste Länge. Die Länge einer Zelle (in Bytes) sei NC.Cell: is the mediated unit of a CS. All cells in a system have the same fixed length. Let the length of a cell (in bytes) be N C.

Port: ist ein Ein- und Ausgang eines CS.Port: is an input and output of a CS.

Routing: ist der Vorgang, zu einer an einem Eingangs-Port ankommenden Zelle den korrekten Ausgangs-Port zu bestimmen. Erkennt ein CS den Ausgangsport anhand eines an die Zelle angehängten Routing-Headers, heißt der CS self-routing.Routing: is the process of getting the correct one for a cell arriving at an input port Determine output port. A CS recognizes the output port from one to the cell attached routing header is called the CS self-routing.

Header: ist ein in einer Zelle vorhandenes Feld, das Informationen über die Zelle enthält, z. B. Angaben über das Ziel der Zelle, den Weg dorthin, ihre Priorität oder eine Prüfsumme. Die Länge des Headers sei NH.Header: is a field in a cell that contains information about the cell, e.g. B. Information about the destination of the cell, the way to get there, its priority or a checksum. The length of the header is N H.

Payload: ist der Nutzdatenanteil einer Zelle, also die Zelle ohne Header. Die Länge der Payload sei NU.Payload: is the user data portion of a cell, i.e. the cell without a header. Let the length of the payload be N U.

Routing-Header (RHeader): ist ein außerhalb der Zelle vorhandenes Feld, das beim Eintritt einer Zelle in einen CS den Ausgangsport des CS definiert, zu dem die Zelle vermittelt werden soll. Darüber hinaus kann der RHeader auch Information über das Handling der Zelle, z. B. ihre Priorität oder Typ, enthalten. Ein RHeader im Sinne dieser Definition ist auch ein nur temporär in einem Register enthaltener Wert mit der oben dargelegten Bedeutung, der der Zelle logisch (bedeutungsmäßig), aber nicht zwingend räumlich (im Sinne benachbarter Speicherung usw.), zugeordnet ist.Routing header (RHeader): is a field that exists outside of the cell that is used when entering of a cell in a CS defines the output port of the CS to which the cell mediates shall be. In addition, the RHeader can also provide information about the handling of the Cell, e.g. B. their priority or type. An RHeader in the sense of this definition is also a value that is only temporarily contained in a register with the value set out above Meaning that the cell logically (meaningfully), but not necessarily spatially (im Meaning of adjacent storage, etc.).

Segmentation and Reassembly (SAR): ist der Vorgang der Zerlegung eines Pakets in Zellen (segmentation), und des anschließenden Zusammenbaus einer Anzahl von Zellen zu einem Paket (reassembly). Dies kann entweder vom Prozessor einer FE durch dessen Betriebs­ software ausgeführt werden (soft-SAR), oder durch eine dedizierte periphere Einheit einer FE (hard-SAR).Segmentation and Reassembly (SAR): is the process of breaking a packet into cells (segmentation), and the subsequent assembly of a number of cells into one Package (reassembly). This can either be done by the processor of an VU through its operation software (soft SAR), or by a dedicated peripheral unit FE (hard SAR).

Lokal: heißen alle FE'en zueinander, die auf derselben Vorrichtung gemäß dieser Schrift aufge­ baut sind. FE'en auf verschiedenen Vorrichtungen heißen entfernt oder remote. Local: are all FE's called to each other, which are on the same device according to this document are building. FE'en on different devices are called remote or remote.  

2.5.3 Elementare Kommunikationsfunktionen2.5.3 Elementary communication functions

In diesem Abschnitt werden die einzelnen Funktionen beschrieben, die zur Kommunikation zweier FE'en in den FE'en selbst und in den CS erforderlich sind.This section describes the individual functions that are used to communicate two FE'en in the FE'en themselves and in the CS are required.

Segmentation, segmentieren: Zerlegung eines Pakets in Zellen und Versehen der Zellen mit einem Header.Segmentation, segmentation: breaking down a packet into cells and providing the cells with a header.

Adressierung, adressieren: Versehen einer Zelle mit einem RHeader.Addressing, addressing: Providing a cell with an RHeader.

(Cell-) Switching: Kopieren einer Zelle von einem Eingangs-Port zu einem oder mehreren, durch den RHeader der Zelle definierten Ausgangs-Port(s).(Cell) switching: copying a cell from an input port to one or more, output port (s) defined by the cell's RHeader.

Channel-Routing (CR): Ersetzen der Adreßinformation im Header einer Zelle durch die Adreßinformation des, auf dem Weg zum endgültigen Ziel, nächsten CS, unmittelbar vor oder nach einem auf dem Weg liegenden CS. Geschieht diese Ersetzung unter Kontrolle der Betriebssoftware durch den Prozessor einer FE, heißt sie soft-CR, ist sie in Hardware realisiert, heißt sie hard-CR.Channel routing (CR): Replace the address information in the header of a cell with the Address information of the next CS on the way to the final destination, immediately before or after a CS on the way. This replacement happens under control The operating software by the processor of an FE, it is called soft-CR, is in hardware realized, it is called hard CR.

Reassembly, reassemblieren: Zusammenfügen aller ursprünglich durch Segmentation eines Pakets entstandenen Zellen zu einem, dem ursprünglichen identischen, Paket. Dabei wird der Header jeder Zelle verworfen.Reassembly, reassembling: assembling all originally by segmentation one The resulting cells form a package that is identical to the original one. Doing so the header of each cell is discarded.

2.5.4 Minimalsystem2.5.4 Minimal system

Die in Abschnitt 2.5.1 definierten Aufgaben 1 bis 3 werden durch ein Minimalsystem nach An­ spruch 1 gelöst. Das Minimalsystem besteht aus N ≧ 3 FE'en und einem CS, siehe Fig. 1.The tasks 1 to 3 defined in section 2.5.1 are solved by a minimal system according to claim 1. The minimal system consists of N ≧ 3 FEs and a CS, see Fig. 1.

Im Minimalsystem sind nur die Funktionen Segmentation, Adressierung, Switching und Reas­ sembly enthalten. Ein vollständiger Kommunikationsvorgang besteht aus dem Versenden eines Pakets als Folge von Zellen durch den Sender, der Vermittlung der Zellen durch den CS, und dem Empfangen des Pakets als Folge von Zellen durch den Empfänger.In the minimal system, only the functions segmentation, addressing, switching and reas are sembly included. A complete communication process consists of sending one Packet as a result of cells by the transmitter, the switching of the cells by the CS, and the recipient receiving the packet as a result of cells.

Prinzipeller Ablauf beim Senden eines Pakets: Das Versenden eines Pakets der Länge NP aus dem Speicher der Funktionseinheit FEm (Sender) zur Funktionseinheit FEn (Empfänger) läuft in folgenden Schritten ab:
Basic procedure for sending a packet: The sending of a packet of length N P from the memory of the functional unit FEm (transmitter) to the functional unit FEn (receiver) takes place in the following steps:

  • 1. Lesen der ersten NC Bytes des Pakets im Speicher der FEm ergibt die Payload der ersten Zelle.1. Reading the first N C bytes of the packet in the memory of the FEm results in the payload of the first cell.
  • 2. Versehen der Payload mit einem Header. Es entsteht eine Zelle.2. Provide the payload with a header. A cell is created.
  • 3. Versehen der Zelle mit einem RHeader. Der RHeader enthält (ggf. in codierter Form) die Nummer n der Ziel-FE.3. Provide the cell with an RHeader. The RHeader contains (if necessary in coded form) the Number n of the target VU.
  • 4. Übergeben der um den RHeader erweiterten Zelle an den CS (setzen des Signals Daten- Schreibanforderung).4. Transfer the cell extended by the RHeader to the CS (set the signal data Write request).
  • 5. Falls das Paket noch nicht komplett übertragen ist, Übernehmen der nächsten NC Bytes des Pakets als Payload der nächsten Zelle und Fortfahren mit Schritt 2.5. If the packet has not yet been completely transferred, accept the next N C bytes of the packet as the payload of the next cell and continue with step 2.

Fig. 3 illustriert die Schritte 1 bis 3.
Prinzipeller Ablauf beim Empfangen eines Pakets: Steht eine Zelle am Ausgangsport des CS zur Verfügung, löst dieser i.a. einen Interrupt (Setzen des Unterbrechungssignals) für die empfangende FE aus. Der Empfangsvorgang läuft in folgenden Schritten ab:
Fig. 3 illustrates the steps 1 to 3.
Basic procedure for receiving a packet: If a cell is available at the output port of the CS, this generally triggers an interrupt (setting the interrupt signal) for the receiving VU. The receiving process takes place in the following steps:

  • 1. Lesen einer Zelle, ggf. zusätzlich RHeader, vom Ausgangsport des CS.1. Read a cell, possibly additional RHeader, from the output port of the CS.
  • 2. Bestimmen des zugehörigen Empfangsbereichs im Speicher der FE anhand des Headers.2. Determine the associated reception area in the VU's memory using the header.
  • 3. Kopieren der Payload in den für das Paket bestimmten Empfangsbereich des Speichers der FE.3. Copy the payload into the reception area of the memory of the package FE.
  • 4. Verwerfen von Header und (ggf.) RHeader.4. Discard header and (if applicable) RHeader.
  • 5. Wiederholen aller Schritte, bis das Paket vollständig im Empfangsbereich des Speichers vorliegt.5. Repeat all steps until the packet is completely in the receiving area of memory is present.

Wesentlich für den in Fig. 1 gezeigten Aufbau ist das Interface fs zur Verbindung des lokalen Busses der FE mit den zugeordneten Ein- und Ausgangsports des CS gemäß Fig. 2. Der Da­ tenbus des Prozessors der FE und der, der FE zugeordnete, Ein- und Ausgangsport des CS sind über ein Oktett-Register oder -FIFO für jede Richtung (Senden/Empfangen) gekoppelt.Essential for the results shown in Fig. 1 construction, the interface is fs for connecting the local bus of the FE with the associated input and output ports of the CS according to Fig. 2. As tenbus associated with the processor of the FE and the FE, inputs and the output port of the CS are coupled via an octet register or -FIFO for each direction (send / receive).

Taktsignale: Eine Ablaufsteuerung erzeugt
Clock signals: A sequence control generates

  • - die zum Zellentakt des CS synchronen Taktsignale
    • - zum Schreiben von empfangenen Daten vom CS in das Zellen/Oktett-Register (CS- Empfangstakt),
    • - zum Lesen zu versendender Daten vom CS aus dem Zellen/Oktett-Register (CS- Sendetakt),
    - The clock signals synchronized to the cell clock of the CS
    • for writing received data from the CS into the cell / octet register (CS receive clock),
    • - to read data to be sent from the CS from the cell / octet register (CS send clock),
  • - die zum Prozessortakt (FE-Takt) synchronen Taktsignale
    • - zum Lesen von empfangenen Daten vom Zellen/Oktett-Register über den Datenbus der FE (FE-Empfangstakt),
    • - zum Schreiben zu versendender Daten vom Datenbus der FE in das Zellen/Oktett- Register (FE-Sendetakt).
    - The clock signals synchronous to the processor clock (FE clock)
    • - for reading received data from the cell / octet register via the data bus of the FE (FE receive clock),
    • - For writing data to be sent from the data bus of the VU to the cell / octet register (VU transmit clock).

Der Zellentakt fCS,c des CS kennzeichnet den Beginn der Übertragung einer Zelle für alle Ports des CS. nwCS die Wortbreite der Ports des CS (in bit), Nc die Länge einer Zelle (in Oktetts), NRH die Länge des Routing-Headers, dann gilt für den CS-Empfangstakt fCS,e und CS-Sendetakt fCS,s:
The cell clock f CS, c of the CS marks the beginning of the transmission of a cell for all ports of the CS. n wCS the word length of the ports of the CS (in bit), N c the length of a cell (in octets), N RH the length of the routing header, then applies to the CS receive clock f CS , e and CS send clock f CS , s :

fCS,e = fCS,s = (Nc + NRH)fCS,c/nwCS.f CS, e = f CS, s = (N c + N RH ) f CS, c / n wCS .

CS-seitige Synchronisation: CS-Sendetakt und CS-Empfangstakt sind nur während der Übertragung einer Zelle zwischen CS und Zellen/Oktett-Register aktiv. Zur Erkennung dieses Zustands dienen folgende Signalleitungen:CS-side synchronization: CS send clock and CS receive clock are only during the Transfer of a cell between CS and cell / octet register active. To recognize this The following signal lines are used:

Zellen-bereit Anzeige: Damit signalisiert der CS der Ablaufsteuerung, daß beginnend mit dem nächsten Zellenzyklus (fCS,c) eine vollständige Zelle, ggf. mit RHeader,((Nc + NRH) Ok­ tetts) aus dem Ausgangsport des CS ausgelesen werden kann. Cell-ready display: The CS thus signals the sequential control system that, starting with the next cell cycle (f CS, c ), a complete cell, possibly with RHeader, ((N c + N RH ) octets) is read from the output port of the CS can be.

Sendeanforderung: Damit signalisiert die Ablaufsteuerung dem CS, daß beginnend mit dem nächsten Zellenzyklus (fCS,c) eine vollständige Zelle mit RHeader ((Nc + NRH) Oktetts) in den Eingangsport des CS geschrieben werden soll.Send request: With this, the sequential control signals to the CS that, starting with the next cell cycle (f CS, c ), a complete cell with RHeader ((N c + N RH ) octets) is to be written into the input port of the CS.

FE-seitige Synchronisation: Die FE kann von sich aus in das Zellen/Oktett-Register schrei­ ben und setzt dazu das Signal Daten-Schreibanforderung, oder aus dem Zellen/Oktett-Register lesen und setzt dazu das Signal Daten-Leseanforderung.
VU-side synchronization: The VU can write to the cell / octet register by itself and sets the signal data write request, or read from the cell / octet register and sets the signal data read request.

  • - Wenn in Senderichtung die FE das Signal Daten-Schreibanforderung setzt und anschließend in das Zellen/Oktett-Register schreibt, setzt die Ablaufsteuerung das Signal Sendeanforde­ rung, um dem CS das Vorhandensein einer Zelle zum Versenden anzuzeigen.- If the VU sets the data write request signal in the send direction and then writes to the cell / octet register, the sequencer sets the send request signal to indicate to the CS the presence of a cell to send.
  • - Wenn in Empfangsrichtung der CS das Signal Zellen-bereit-Anzeige setzt, setzt die Ablauf­ steuerung das Unterbrechungssignal.- If the signal sets the cell ready display in the receiving direction of the CS, the sequence sets control the interrupt signal.
  • - Wenn das Unterbrechungssignal gesetzt ist, unterbricht die CPU der FE ihren normalen Programmablauf und springt in eine Serviceroutine, die anschließend eine vollständige Zelle vom Zellen/Oktett-Register liest und in den Speicher der FE schreibt.
    Anmerkung: Im allgemeinen müssen Sender und Empfänger Kenntnis von der Länge des Pakets haben. Diese Information kann z. B. vor der Übertragung des Pakets durch Protokollzellen ausgetauscht werden.
    Anmerkung: Der Header enthält üblicherweise eine Bezeichnung der virtuellen Ver­ bindung, so daß mehrere, von der Betriebssoftware eindeutig unterscheidbare, virtuel­ le Verbindungen von einer FE ausgehen oder an einer FE ankommen können. Durch die eindeutige Kennzeichnung im RHeader kann die Betriebssoftware jede ankom­ mende Zelle der zugehörigen virtuellen Verbindung zuordnen. Der RHeader hingegen wird vom CS benutzt um an einem Eingangs-Port übernommene Zellen zum richtigen Ausgangs-Port weiterzuleiten. Diese Information ist implizit auch im Header enthal­ ten, die Verwendung eines zusätzlichen RHeaders mit der expliziten Ziel-Portnummer erlaubt jedoch eine einfachere Ausführung der Hardware des CS. Prinzipiell kann auf den RHeader auch verzichtet werden, Schritt 3 entfällt dann.
    Anmerkung: Das Übergeben der um den RHeader erweiterten Zelle an den CS kann z. B. durch in den Adreßraum der FE gemappte Register des CS oder mit Hilfe eines speziellen I/O-Adreßbereichs, unter Kontrolle der CPU oder einer auf der FE oder im CS integrierten DMA erfolgen.
    - If the interrupt signal is set, the CPU of the VU interrupts its normal program execution and jumps to a service routine which then reads a complete cell from the cell / octet register and writes it to the VU memory.
    Note: In general, the sender and recipient must know the length of the packet. This information can e.g. B. can be replaced by protocol cells before the packet is transmitted.
    Note: The header usually contains a description of the virtual connection, so that several virtual connections that can be clearly distinguished by the operating software can originate from an VU or arrive at an VU. The unique identification in the RHeader enables the operating software to assign each incoming cell to the associated virtual connection. The RHeader, on the other hand, is used by the CS to forward cells taken over at an input port to the correct output port. This information is also implicitly contained in the header, but the use of an additional RHeader with the explicit destination port number allows the hardware of the CS to be executed more easily. In principle, the RHeader can also be omitted, step 3 is then omitted.
    Note: The transfer of the cell extended by the RHeader to the CS can e.g. B. in the address space of the FE mapped registers of the CS or with the help of a special I / O address area, under the control of the CPU or a DMA integrated on the FE or in the CS.

Eine am Eingangsport m des CS ankommende Zelle wird entweder anhand der im Header ent­ haltenen impliziten Zielinformation oder anhand der im RHeader enthaltenen expliziten Zielin­ formation zum Ausgangsport n vermittelt, d. h. physisch kopiert.A cell arriving at the input port m of the CS is either identified using the header implicit target information or based on the explicit target contained in the RHeader provides information on the output port n, d. H. physically copied.

Anmerkung: Die Verzögerung zwischen ankommender Zelle am Eingangsport und Erscheinen der Zelle am entsprechenden Ausgangsport des CS ist implementierungs­ abhängig.Note: The delay between the incoming cell at the input port and Appearance of the cell at the corresponding output port of the CS is implementation dependent.

Anmerkung: Ein ggf. vorhandener RHeader kann mit der Zelle zum Ausgangsport vermittelt werden oder vom CS entfernt werden. Note: An existing RHeader can use the cell to the output port mediated or removed from the CS.  

2.5.5 Lösungsmöglichkeiten für SAR2.5.5 Possible solutions for SAR

Das Zerlegen eines, im Speicher der PE vorliegenden, logischen Pakets in Zellen gleicher Größe wird durch eine Vorrichtung nach Anspruch 4 oder Anspruch 8 vorgenommen.The decomposition of a logical packet present in the memory of the PE into cells of the same size is carried out by a device according to claim 4 or claim 8.

Das Zerlegen eines Pakets in Payload-Einheiten, Versehen mit zugehörigem (d. h. zur entspre­ chenden virtuellen Verbindung gehörendem) Header und ggf. RHeader auf der Senderseite (Seg­ mentation), und umgekehrt das Extrahieren der Payload aus ankommenden Zellen und Anein­ anderreihen dieser Payloads zu empfangenen Paketen entsprechend der Verbindungsinformation im Header (Reassembly) kann gemäß Anspruch 4 unter Kontrolle der Betriebssoftware durch die CPUs der jeweiligen FE'en erfolgen (soft-SAR), oder gemäß Anspruch 8 als Hardware-Funktion durch eine spezielle Peripherie-Einheit der FEE (hard-SAR).Breaking down a package into payload units, providing associated (i.e. to correspond to) corresponding header and possibly RHeader on the transmitter side (seg mentation), and vice versa extracting the payload from incoming cells and anein rows of these payloads to received packets according to the connection information in the header (reassembly) can be controlled by the operating software according to claim 4 CPUs of the respective FEs are made (soft SAR), or as hardware function according to claim 8 through a special peripheral unit of the FEE (hard SAR).

Soft-SAR: Eine mögliche Realisierung von soft-SAR ist in Fig. 4 dargestellt. Im Speicher der FE sind an getrennten Stellen das komplette Paket und ein Feld mit vorbereiteten Headern und RHeadern abgelegt. Zellen werden sukzessive dadurch gebildet, daß in einen Zellenpuffer zu­ nächst der nächste Header/RHeader aus dem vorbereiteten Feld, dann die nächsten Nu Oktetts aus dem Paket kopiert werden. Anschließend werden der Zeiger auf das Header/RHeader-Feld um die Größe eines Headers/RHeaders, der Zeiger auf das Paket um die Größe Nu einer Pay­ load inkrementiert. Der Zellenpuffer wird anschließend wortweise in das Zellen/Oktett-Register geschrieben.Soft SAR: A possible implementation of soft SAR is shown in Fig. 4. The complete package and a field with prepared headers and RHeaders are stored at separate locations in the VU memory. Cells are successively formed in that are copied into a cell buffer to be next to the next header / RHeader from the prepared field, the next N u octets from the package. Then the pointer to the header / RHeader field is incremented by the size of a header / RHeader, the pointer to the packet by the size N u of a payload. The cell buffer is then written word by word to the cell / octet register.

Beim Empfangen eines Paketes läuft der Vorgang umgekehrt ab. Wesentliche Unterschiede sind:
When a packet is received, the process is reversed. The main differences are:

  • - Die Adreß-Information des Headers wird benutzt, um die Speicheradresse des Pakets zu ermitteln.- The address information of the header is used to determine the storage address of the packet determine.
  • - Header und RHeader werden verworfen.- Header and RHeader are discarded.

Hard-SAR: Fig. 5 zeigt eine Lösungsmöglichkeit für hard-SAR. Bestandteil der FE ist eine SAR-Einheit, bestehend aus DMA (Direct Memory Access) Controller, Zellenregister, Header/RHeader-Register und Modifikationsregister. Es ergibt sich folgender Ablauf:
Hard SAR: FIG. 5 shows a possible solution for hard SAR. Part of the VU is a SAR unit consisting of a DMA (Direct Memory Access) controller, cell register, header / RHeader register and modification register. The sequence is as follows:

  • 1. Die CPU initialisiert die Register des DMA Controllers mit Adresse und Lange des Pakets, und das Header/RHeader Register mit dem Header/RHeader der ersten Zelle.1. The CPU initializes the registers of the DMA controller with the address and length of the packet, and the header / RHeader register with the header / RHeader of the first cell.
  • 2. Die SAR-Einheit kopiert das Header/RHeader Register in das Zellenregister, und füllt es anschließend mit Nu Oktetts aus dem Speicher der FE auf.2. The SAR unit copies the header / RHeader register into the cell register, and then fills it up with N u octets from the memory of the VU.
  • 3. Die SAR-Einheit schreibt den Inhalt des Zellenregisters auf den Eingangsport des CS.3. The SAR writes the contents of the cell register to the input port of the CS.
  • 4. Das Modifikationsregister wird zum Inhalt des Header/RHeader-Registers addiert.4. The modification register is added to the content of the header / RHeader register.
  • 5. Schritte 2 bis 4 werden wiederholt, bis das Paket vollständig übertragen ist.5. Steps 2 through 4 are repeated until the packet is completely transmitted.

Zum Empfangen eines Pakets werden entsprechend die umgekehrten Schritte durchlaufen.To receive a packet, the reverse steps are followed accordingly.

2.5.6 FIFO-Kopplung2.5.6 FIFO coupling

Durch Ausbau des Zellen/Oktett-Registers zum FIFO gemäß Anspruch 5 werden die zeitlichen Ablaufe von FE und CS entkoppelt.By expanding the cell / octet register to the FIFO according to claim 5, the temporal Processes of FE and CS decoupled.

Zusätzlich zu den bisher beschriebenen Funktionen überwacht die Ablaufsteuerung die Validität der in den FIFOs gespeicherten Daten. Sie wendet folgende Regeln an: In addition to the functions described so far, the sequence control monitors the validity of the data stored in the FIFOs. It applies the following rules:  

2.5 Funktionsweise2.5 How it works

  • - Im Empfangs-FIFO enthaltene vollständige Zellen sind immer gültig.- Complete cells contained in the receive FIFO are always valid.
  • - Falls ein Empfangs-FIFO überläuft, d. h. die empfangende FE über einen bestimmten Zeit­ raum das FIFO langsamer ausliest, als der CS es beschreibt, werden
    • - zeitlich zugeordnet zur ersten Zelle, die das Empfangs-FIFO zum Überlaufen bringt, das Unterbrechungssignal der sendenden FE gesetzt,
    • - gemäß Anspruch 7 der Sende-FIFO-Speicher der sendenden FE invalidiert, d. h. ge­ löscht,
    • - alle von der Invalidierung betroffenen Zellen im Sende-FIFO-Speicher von einer Be­ handlungsroutine der sendenden FE für das Unterbrechungssignal erneut in den Sende-FlFO-Speicher geschrieben.
    - If a receive FIFO overflows, ie the receiving VU reads the FIFO more slowly than the CS describes for a certain period of time
    • the interrupt signal of the sending VU is set at the time assigned to the first cell that causes the receive FIFO to overflow,
    • - the transmit FIFO memory of the sending VU is invalidated, ie deleted,
    • - All cells affected by the invalidation in the transmit FIFO memory are rewritten by a handling routine of the transmitting FE for the interrupt signal in the transmit FlFO memory.

Je größer der Empfangs-FIFO-Speicher gewählt wird, umso stärker ist die Entkopplung und umso länger darf die Reaktion der CPU auf ein Unterbrechungssignal dauern, ohne daß Zellen verloren gehen.The larger the receive FIFO memory chosen, the stronger the decoupling and the more the reaction of the CPU to an interrupt signal may take longer without losing cells go.

Wird gemäß Anspruch 6 der Empfangs-FIFO-Speicher (vom CS zur FE) wesentlich größer ge­ wählt als der Sende-FIFO-Speicher (von der FE zum CS), wird zum einen die Entkopplung verbessert, zum anderen die Anzahl verlorener Zellen im Falle eines Empfangs-FIFO-Überlaufs minimiert.Is according to claim 6, the receive FIFO memory (from CS to FE) much larger ge selects as the transmit FIFO memory (from the VU to the CS), on the one hand becomes the decoupling improved, on the other hand the number of lost cells in the event of a receive FIFO overflow minimized.

2.5.7 Booten der FE'en2.5.7 Booting the FEs

Unter Booten wird das erstmalige Laden der Betriebssoftware der Prozessoren der FE'en in deren lokalen Speicher oder in den internen Speicher der Prozessoren nach einem Systemstart (Reset) verstanden.Booting is the first loading of the operating software of the processors of the FE'en into their local memory or in the internal memory of the processors after a system start (reset) Understood.

Eine Bootfunktion in der fs-Schnittstelle (vgl. Fig. 1) erlaubt das Laden dieser Betriebssoftware (Booten) von einer Master-FE auf dem Board oder von einem EPort (Zur Definition eines EPorts siehe Abschnitt 2.5.8.).A boot function in the fs interface (see Fig. 1) allows this operating software (boot) to be loaded from a master VU on the board or from an EPort (for the definition of an EPort, see section 2.5.8.).

Eine Netzwerk-Boot-Fähigkeit in obigem Sinne und entsprechend der Problemstellung Nr. 6 läßt sich grundsätzlich auf folgende Arten realisieren:A network boot ability in the above sense and according to the problem No. 6 leaves can basically be implemented in the following ways:

Boot-Zellen-Modus: gemäß Anspruch 2. Hier wird die gesamte Vorrichtung einschließlich CS beim Booten in einem speziellen Boot-Modus betrieben. In diesem Boot-Modus besteht die ge­ samte Zelle aus NC Nutzdaten, d. h. NU,boot = NC. Von einer empfangenden FE können diese Boot Zellen direkt (mittels DMA) in unmittelbarer Folge in den Speicher geschrieben und an­ schließend vom Prozessor ausgeführt werden. Die fs-Schnittstelle muß dabei ggf. vom CS zum Ausgangsport kopierte RHeader von den Boot-Zellen entfernen. Nach dem Booten aller FE wech­ selt die Vorrichtung in den Betriebs-Modus mit der üblichen Aufteilung einer Zelle in Header und Payload.Boot cell mode: according to claim 2. Here, the entire device including CS is operated during booting in a special boot mode. In this boot mode, the entire cell consists of N C user data, ie N U, boot = N C. From a receiving VU, these boot cells can be written directly into memory (using DMA) and then executed by the processor. The fs interface may have to remove RHeader copied from the CS to the output port from the boot cells. After booting all VUs, the device changes to the operating mode with the usual division of a cell into header and payload.

FE-Boot-Modus: gemäß Anspruch 3. Hier wird nur die fs Schnittstelle der zu bootenden FE in einen Boot-Modus versetzt. In diesem Boot-Modus werden empfangene Zellen direkt (mittels DMA) in unmittelbarer Folge in den Speicher geschrieben und anschließend vom Prozessor ausge­ führt. Die fs-Schnittstelle muß dabei den Header der Zellen und ggf. vom CS zum Ausgangsport kopierte RHeader von den Boot-Zellen entfernen. Nach dem Booten wechselt die fs-Schnittstelle in den Betriebs-Modus, in welchem Zellen, wie in den vorangehenden Abschnitten beschrieben, behandelt werden. FE boot mode: according to claim 3. Here only the fs interface of the FE to be booted put into boot mode. In this boot mode, received cells are directly (using DMA) is written to memory in immediate succession and then output by the processor leads. The fs interface must be the header of the cells and possibly from the CS to the output port Remove copied RHeader from the boot cells. After booting, the fs interface changes in operating mode, in which cells, as described in the previous sections, be treated.  

2.5.8 Skalierbares System2.5.8 Scalable system

Die bislang beschriebene Vorrichtung im folgenden Board (B) - wird skalierbar und löst da­ mit die Problemstellungen Nr. 4 und 5, wenn - gemäß den Ansprüchen 9 und 10 - beliebig viele Boards unter Beibehaltung der Kommunikationseigenschaften (d. h. der logischen Sicht der Kommunikationsfunktionen) zu einem größeren System verbunden werden können.The device described so far in the following board (B) - is scalable and solves there with the problems No. 4 and 5, if - according to claims 9 and 10 - any many boards while maintaining the communication properties (i.e. the logical view of the Communication functions) can be connected to a larger system.

Grundsätzliche Voraussetzung ist dafür das Vorhandensein freier Ports des CS, d. h. der CS muß mehr Ports aufweisen als FE'en auf dem Board vorhanden sind. Diese Ports besitzen in Egress- Richtung (das Board verlassend) mindestens PHY-Funktionalität, in Ingress-Richtung (von au­ ßen kommend) mindestens PHY-, sinnvollerweise auch Adressierungs- und CR-Funktionalität.A basic requirement for this is the existence of free ports on the CS, i.e. H. the CS must have more ports than there are FEs on the board. These ports have in egress Direction (leaving the board) at least PHY functionality, in ingress direction (from au incoming) at least PHY, meaningfully also addressing and CR functionality.

PHY-Funktionalität: Umsetzung der Spannungspegel und des Datenformats, die auf dem Board verwendet werden, in einen elektrischen oder optischen Leitungscode, der Übertra­ gung über größere Strecken auf symmetrischen Kupferadern oder Lichtwellenleitern erlaubt, und umgekehrt.PHY functionality: implementation of voltage levels and data format based on the Board used in an electrical or optical line code, the transmission allowed over longer distances on symmetrical copper wires or optical fibers, and vice versa.

Adressierungs-Funktionalität: siehe Definition in Abschnitt 2.5.3.Addressing functionality: see definition in section 2.5.3.

CR-Funktionalität: siehe Definition in Abschnitt 2.5.3CR functionality: see definition in section 2.5.3

Insbesondere erlaubt PHY-Funktionalität die Verbindung von Boards, die nicht durch gemein­ samen elektrischen und/oder mechanischen Aufbau gekennzeichnet sind, d. h. Verbindung von Boards über größere Entfernungen, Stockwerke hinweg oder auch - falls das PHY-Interface kon­ form zu einem Telekommunikationsstandard ausgelegt ist - in weltweiten Netzen.In particular, PHY functionality allows the connection of boards that are not common all electrical and / or mechanical structures are marked, d. H. connection of Boards over longer distances, floors or even - if the PHY interface con form to a telecommunications standard - in worldwide networks.

Adressierungsfunktionalität für Ingress-Verkehr erfüllt grundsätzlich die gleiche Funktion wie bei Board-internem Verkehr: Verringerung der Hardware-Komplexität des CS durch Ergänzen einer Zelle mit einer expliziten Routing-Adresse (RHeader, Nummer des für diese Zelle bestimm­ ten Ausgangsports) anhand der im Zell-Header enthaltenen impliziten Adresse des Empfängers. Grundsätzlich könnte die Adressierungsfunktionalität auch im CS integriert sein.Addressing functionality for ingress traffic basically performs the same function as for in-board traffic: reduction of the hardware complexity of the CS by adding a cell with an explicit routing address (RHeader, number of the intended for this cell output ports) based on the implicit address of the recipient contained in the cell header. In principle, the addressing functionality could also be integrated in the CS.

CR-Funktionalität für Ingress-Verkehr ermöglicht das Erneuern bzw. Austauschen der im Zellen- Header enthaltenen impliziten Zielinformation für Zellen, die nicht für einen Empfänger auf dem Board bestimmt sind. Dabei wird anhand der Adreßinformation ankommender Zellen die neue Adreßinformation bis zur nächsten Vermittlungseinheit auf dem Weg zum endgültigen Ziel er­ mittelt und die alte durch die neue Adreßinformation ersetzt. Diese Verfahren setzt vor der eigentlichen Übertragung von Paketen den Aufbau einer Verbindung durch Besetzen entspre­ chender Routing-Tabellen in den Vermittlungseinheiten voraus. In der Konfiguration von Fig. 7 ermöglicht CR-Funktionalität z. B. das Versenden von Zellen von einer FE auf B0 über den CS von B1 zu einer empfangenden FE auf B2.CR functionality for ingress traffic enables the renewal or exchange of the implicit target information contained in the cell header for cells that are not intended for a receiver on the board. The address information of incoming cells is used to determine the new address information up to the next switching unit on the way to the final destination and to replace the old address information with the new one. Before the actual transmission of packets, this method requires the establishment of a connection by occupying corresponding routing tables in the switching units. In the configuration of FIG. 7, CR functionality enables e.g. B. sending cells from a VU to B0 via the CS from B1 to a receiving VU on B2.

Der Aufbau größerer Netze von Boards mit guten Skalierungseigenschaften, d. h. mit der Anzahl der Boards im System wachsender Summen-Kommunikationsbandbreite, erfordert einen Aufbau gemäß Fig. 8. Hier werden mehrere Boards durch Vermittlungseinheiten verbunden, die aus einem CS mit, einer mindestens der Zahl der angeschlossenen Boards entsprechenden, Anzahl von EPorts ausgestattet sind. Für die Funktionalität der EPorts gilt das oben gesagte.The construction of larger networks of boards with good scaling properties, ie with the number of boards in the system increasing total communication bandwidth, requires a construction as shown in FIG. 8. Here, several boards are connected by switching units which consist of a CS with, at least the number of connected boards corresponding number of EPorts. The above applies to the functionality of the EPorts.

Darüber hinaus können zwei dieser Vermittlungseinheiten über EPorts direkt miteinander verbun­ den werden, was den Aufbau gleichsam beliebig großer Netze ermöglicht. In addition, two of these switching units can be connected directly to one another via EPorts become what enables the construction of networks of any size.  

2.5.9 Ausführungsbeispiel2.5.9 Embodiment

Fig. 9 zeigt ein Ausführungsbeispiel einer Vorrichtung gemäß dieser Schrift mit folgenden Ei­ genschaften:
Fig. 9 shows an embodiment of a device according to this document with the following egg properties:

  • - 6 FE'en mit jeweils einem Digitalen Signalprozessor (DSP) auf einem Board.- 6 FEs with one digital signal processor (DSP) on each board.
  • - Integrierter ATM Switch als CS.- Integrated ATM switch as CS.
  • - Soft-SAR.- Soft SAR.
  • - Gesamtes Board bootfähig von der Master-FE.- Entire board bootable from the master FE.
  • - Skalierbar durch Eports.- Scalable through reports.

Im folgenden werden die wesentlichen Bestandteile des Ausführungsbeispiels erläutert.The essential components of the exemplary embodiment are explained below.

DSP master unit: Diese FE enthält einen Signalprozessor (DSP), lokalen Arbeitsspeicher (RAM), Festwertspeicher für den Bootvorgang (EPROM), einige hier nicht weiter be­ schriebene Peripherie-Einheiten (VMEC - VME-Bus-Controller, JTAGC - JTAG Test Bus Controller) und eine Schnittstelle dsm zum CS (SWITCH).DSP master unit: This VU contains a signal processor (DSP), local working memory (RAM), read-only memory for the boot process (EPROM), some not further here written peripheral units (VMEC - VME bus controller, JTAGC - JTAG test bus Controller) and an interface dsm to the CS (SWITCH).

DSP slave unit: Diese FE ist insgesamt fünf Mal auf dem Board vorhanden und unterschei­ det sich von der DSP master unit insbesondere durch das Fehlen eines Festwertspeichers (EPROM) zum Booten. Die Schnittstelle dss zum Switch ist bis auf die Boot-Funktionalität und fehlende Steuerfunktionen identisch zur Schnittstelle dsm.DSP slave unit: This FE is available five times on the board and differs differs from the DSP master unit in particular due to the lack of a read-only memory (EPROM) for booting. The interface dss to the switch is except for the boot functionality and missing control functions identical to the dsm interface.

SWITCH: Dies ist der CS mit insgesamt acht 16-bit-breiten Ein-/Ausgangsports. Der gesamte SWITCH ist ein einziger integrierter Schaltkreis. Zwei der acht Ports werden für EPort- Funktionalität verwendet.SWITCH: This is the CS with a total of eight 16-bit wide input / output ports. The whole SWITCH is a single integrated circuit. Two of the eight ports are used for EPort Functionality used.

BNI: Das BNI enthält PHY-Funktionalität in Egress-Richtung und PHY-, Adressierungs- und CR-Funktionalität in Ingress-Richtung. An der bb-Schnittstelle zwischen BNI und den Steckverbindern für die Verbindung mit anderen Boards und/oder dedizierten Vermitt­ lungseinheiten (ATM-Switches) werden alle relevanten ATM-Spezifikationen erfüllt. Die sb-Schnittstelle ist im wesentlichen UTOPIA-1/2 konform.BNI: The BNI contains PHY functionality in the egress direction and PHY, addressing and CR functionality in the ingress direction. At the bb interface between BNI and the Connectors for connecting to other boards and / or dedicated intermediaries All relevant ATM specifications are met. The sb interface is essentially UTOPIA-1/2 compliant.

dss-Schnittstelle: Die dss-Schnittstelle besteht aus zwei FIFO-Speichern (jeweils einer für Sen­ den und Empfangen), wobei der FIFO-Speicher für Senden signifikant weniger Einträge umfaßt als der für Empfangen, und einer als Finite State Machine (FSM) realisierten Ab­ laufsteuerung. Die FSM sorgt für die Synchronisation des DSP Busses mit den Zellen- Zyklen des SWITCH, für die korrekte Behandlung von FIFO-Überläufen (Backpressure zum SWITCH, Interrupt zum DSP), sowie für das Entfernen der RHeader beim Booten (Boot-Zellen-Modus).dss interface: The dss interface consists of two FIFO memories (one for Sen and receive), the FIFO memory for sending significantly fewer entries includes as the one for receiving, and one implemented as a finite state machine (FSM) running control. The FSM ensures the synchronization of the DSP bus with the cell Cycles of the SWITCH, for the correct handling of FIFO overflows (backpressure to SWITCH, interrupt to DSP), and for removing the RHeader at boot (Boot cell mode).

dsm Schnittstelle: Die dsm-Schnittstelle besteht aus einer dss-Schnittstelle ohne Boot-Zellen- Unterstützung, sowie einer zusätzlichen bitseriellen Schnittstelle zur Programmierung der Steuerregister des SWITCH und Abfrage von dessen Status-Information.dsm interface: The dsm interface consists of a dss interface without boot cell Support, as well as an additional bit serial interface for programming the SWITCH control register and query of its status information.

sb-Schnittstelle: Die sb-Schnittstelle setzt das elektrische und logische Port-Format des SWITCH auf ein ATM-UTOPIA-2 konformes Format um. sb interface: The sb interface sets the electrical and logical port format of the SWITCH to an ATM-UTOPIA-2 compliant format.  

bb-Schnittstelle: Die bb-Schnittstelle ist ATM-UTOPIA-1/2 konform und erlaubt den direkten Anschluß ATM-konformer Übertragungsmodule für den physikalischen Layer, z. B. OC-3 (optisch, Glasfaser, 155 Mbit/s). bb interface: The bb interface is ATM-UTOPIA-1/2 compliant and allows direct Connection of ATM-compliant transmission modules for the physical layer, e.g. B. OC-3 (optical, glass fiber, 155 Mbit / s).  

Literaturliterature

[1] Futurebus+. IEEE Standard 896.1-1991.
[2] ALCATEL N.V. AMSTERDAM: Switching network and switching network module for an ATM system. US-Patent # 5091903.
[3] ANALOG DEVICES: ADSP-2106x SHARC User's Manual, 1. Auflage, März 1995.
[4] CRAY RESEARCH INC.: Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits. US-Patent # 5623698.
[5] FLYNN, M. J.: Some Computer Organizations and Their Effectiveness. IEEE Transactions on Computers, 21(9), 1972.
[6] HWANG, KAI: Advanced Computer Architecture - Parallelism, Scalability, Programmability. McGraw-Hill Series in Computer Science, 1993.
[7] SPARC TECHNOLOGY BUSINESS INC.: STP2230SOP Crossbar Switch (XB1) User's Guide. 1995.
[8] TEXAS INSTRUMENTS INC.: TMS320C4x User's Guide. 1991.
[9] UNIVERSITY OF WASHINGTON: Ultrasound Signal Processing Apparatus. US-Patent # 5492125.
[1] Futurebus +. IEEE standard 896.1-1991.
[2] ALCATEL NV AMSTERDAM: Switching network and switching network module for an ATM system. US Patent # 5091903.
[3] ANALOG DEVICES: ADSP-2106x SHARC User's Manual, 1st edition, March 1995.
[4] CRAY RESEARCH INC .: Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits. U.S. Patent # 5623698.
[5] FLYNN, MJ: Some Computer Organizations and Their Effectiveness. IEEE Transactions on Computers, 21 (9), 1972.
[6] HWANG, KAI: Advanced Computer Architecture - Parallelism, Scalability, Programmability. McGraw-Hill Series in Computer Science, 1993.
[7] SPARC TECHNOLOGY BUSINESS INC .: STP2230SOP Crossbar Switch (XB1) User's Guide. 1995.
[8] TEXAS INSTRUMENTS INC .: TMS320C4x User's Guide. 1991.
[9] UNIVERSITY OF WASHINGTON: Ultrasound Signal Processing Apparatus. U.S. Patent # 5492125.

BezugszeichenlisteReference list 3 Zeichnungen3 drawings 3.1 Bezugszeichenliste3.1 List of reference symbols 3.1.1 Bezugszeichen zur Fig. 13.1.1 Reference numerals for FIG. 1

11

Prozessor
processor

22nd

lokales RAM
CS Cell Switch, Zellenvermittlungseinheit
FE0 Funktionseinheit Nr. 0
FE1 Funktionseinheit Nr. 1
FE2 Funktionseinheit Nr. 2
fs Schaltwerk zur Verbindung des Prozessorbusses der FE mit einem Eingangs- und einem Aus­ gangsport des Cell-Switch
local RAM
CS Cell Switch
FE0 functional unit No. 0
FE1 functional unit No. 1
FE2 functional unit no.2
fs switchgear for connecting the processor bus of the VU with an input and an output port of the cell switch

3.1.2 Bezugszeichen zur Fig. 23.1.2 Reference numerals for FIG. 2

11

Prozessor
processor

22nd

lokales RAM
local RAM

33rd

Interface fs
Interface fs

44th

Ablaufsteuerung
flow control

55

Cell Switch, Zellenvermittlungseinheit
Cell switch

66

Eingangsport des CS (Senderichtung)
CS input port (sending direction)

77

Ausgangsport des CS (Empfangsrichtung)
CS output port (receive direction)

88th

Zellentakt des CS
Cell clock of the CS

99

Zelle-bereit-Anzeige
Cell ready display

1010th

CS-Empfangstakt
CS receive clock

1111

CS-Sendetakt
CS send clock

1212th

FE-Empfangstakt
FE receive clock

1313

FE-Sendetakt
FE transmit clock

1414

Zellen/Oktett-Register/FIFO
Cells / octet register / FIFO

1515

FE-Datenbus
FE data bus

1616

Unterbrechungssignal
Interrupt signal

1717th

Daten-Leseanforderung
Data read request

1818th

Daten-Schreibanforderung
Data write request

1616

Unterbrechungssignal
Interrupt signal

1919th

Funktionseinheit
Functional unit

2020th

Sendeanforderung
Send request

3.1.3 Bezugszeichen zur Fig. 33.1.3 Reference numerals for FIG. 3

11

Paket
package

22nd

Payload 3. Zelle
Payload 3rd cell

33rd

Header 3. Zelle
3rd cell header

44th

RHeader 3. Zelle
RHeader 3rd cell

3.1.4 Bezugszeichen zur Fig. 43.1.4 Reference symbols for FIG. 4

11

Funktionseinheit
Functional unit

22nd

Header (RHeader)
Header (RHeader)

33rd

lokaler Speicher
local memory

44th

Paket
package

55

Payload
Payload

66

Zellenpuffer
Cell buffer

77

Eingangsport des CS
CS input port

88th

Header/RHeader-Feld
Header / RHeader field

99

Zeiger auf Paket
Pointer to package

1010th

Zeiger auf Header/RHeader-Feld
Pointer to header / RHeader field

3.1.5 Bezugszeichen zur Fig. 53.1.5 Reference numerals for FIG. 5

11

Funktionseinheit
Functional unit

22nd

lokaler Speicher
local memory

33rd

SAR-Einheit
SAR unit

44th

Paket
package

55

Header-(RHeader-)Register
Header (RHeader) register

66

Zellenregister
Cell register

77

Eingangsport
Input port

88th

Modifikationsregister/Zellenzähler
Modification register / cell counter

3.1.6 Bezugszeichen zur Fig. 63.1.6 Reference numerals for FIG. 6

11

EPort0
EPort0

22nd

Eport1
Eport1

33rd

Board
board

3.1.7 Bezugszeichen zur Fig. 73.1.7 Reference symbols for FIG. 7

11

EPort
EPort

22nd

Board
board

33rd

externe Kupfer- oder Lichtwellenleiter-Verbindung
external copper or fiber optic connection

3.1.8 Bezugszeichen zur Fig. 83.1.8 Reference numerals for FIG. 8

11

EPort
EPort

22nd

Board
board

33rd

externe Kupfer- oder Lichtwellenleiter-Verbindung
external copper or fiber optic connection

3.1.9 Bezugszeichen zur Fig. 93.1.9 Reference numerals for FIG. 9

11

DSP master unit
DSP master unit

22nd

DSP slave unit
DSP slave unit

33rd

JTAG port
JTAG port

44th

VME port
VME port

55

ATM network interface port
ATM network interface port

Claims (10)

1. Vorrichtung, im folgenden Mehrprozessorsystem genannt, bestehend aus mehreren, min­ destens jedoch drei, jeweils aus einem Prozessor, mindestens einem lokalen Prozessorbus, evtl. externem Speicher, evtl. weiteren Peripherie-Einheiten gebildeten, Funktionseinheiten und einer zugeordneten Zellenvermittlungseinheit, dadurch gekennzeichnet, daß
  • - die Zellenvermittlungseinheit die Übertragung von Datenpaketen in Form von Zellen fester Länge von einer Funktionseinheit zu einer, oder einer oder mehreren, anderen Funktionseinheiten ermöglicht,
  • - jeder Funktionseinheit ein eigener Ein- und Ausgang der Zellenvermittlungseinheit zu­ geordnet ist, wobei dedizierte Ein- und Ausgänge jeweils direkt an den entsprechenden lokalen Prozessorbus der zugehörigen Funktionseinheit angekoppelt sind,
  • - eine Funktionseinheit zum Versenden eines Datenpaketes direkt über den lokalen Pro­ zessorbus auf die Zellenvermittlungseinheit zugreifen kann,
  • - die Notifikation der als Empfänger einer übertragenen Zelle adressierten Funktions­ einheit von der Zellenvermittlungseinheit über Auslösen eines Unterbrechungssignal durchgeführt wird,
  • - die notifizierte Funktionseinheit die an sie adressierte Zelle direkt über den lokalen Prozessorbus aus der Zellenvermittlungseinheit ausliest,
  • - die Funktionseinheiten und die Zellenvermittlungseinheit eine mechanische und elek­ trische Einheit (Aufbau auf einem gemeinsamen Board, gemeinsame Stromversorgung) bilden, damit einhergehend, daß alle Komponenten des Mehrprozessorsystems galva­ nisch miteinander verbunden sind,
  • - die Zellenvermittlungseinheit anhand eines den Zellen vorangestellten Routing- Headers oder anhand eines in den Zellen integrierten Headers self-routing ist.
1. A device, hereinafter called a multiprocessor system, consisting of a plurality, at least three, each of a processor, at least one local processor bus, possibly external memory, possibly further peripheral units, functional units and an assigned cell switching unit, characterized in that that
  • the cell switching unit enables the transmission of data packets in the form of cells of fixed length from one functional unit to one or one or more other functional units,
  • each function unit is assigned its own input and output of the cell switching unit, with dedicated inputs and outputs each being coupled directly to the corresponding local processor bus of the associated function unit,
  • a functional unit for sending a data packet can access the cell switching unit directly via the local processor bus,
  • the notification of the functional unit addressed as the receiver of a transmitted cell is carried out by the cell switching unit by triggering an interrupt signal,
  • the notified functional unit reads the cell addressed to it directly from the cell switching unit via the local processor bus,
  • - The functional units and the cell switching unit form a mechanical and electrical unit (build on a common board, common power supply), with the result that all components of the multiprocessor system are galvanically connected to one another,
  • - The cell switching unit is self-routing using a routing header preceding the cells or using a header integrated in the cells.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - das Mehrprozessorsystem in zwei Betriebsarten betrieben werden kann, in deren ei­ ner Zellen aus einem Adreß-, Fehlerschutz-, Betriebsarten- oder sonstige Betriebs- Informationen beinhaltendem Header und einem Nutzdaten enthaltenden Datenfeld bestehen, in deren anderer Zellen ausschließlich aus Nutzdaten bestehen und somit, in unmittelbarer Folge in den Arbeitsspeicher einer Funktionseinheit geschrieben, als initiale Betriebssoftware dieser Funktionseinheit dienen können.
2. Device according to claim 1, characterized in that
  • - The multiprocessor system can be operated in two operating modes, in the one of whose cells consist of a header containing address, error protection, operating mode or other operating information and a data field containing user data, in the other cells of which exclusively consist of user data and thus, written directly into the working memory of a functional unit, can serve as the initial operating software for this functional unit.
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - zwischen Zellenvermittlungseinheit und einer oder mehreren Funktionseinheiten eine Schaltung in einer Betriebsart alle Oktetts einer von der Zellenvermittlungseinheit zur Punktionseinheit fließenden Zelle, die nicht Nutzdaten, sondern Adreß-, Fehlerschutz-, Betriebsarten- oder sonstige Betriebs-Informationen beinhalten, verwirft und nur die Nutzdaten enthaltenden Oktetts an die Funktionseinheit übergibt, und so das Füllen eines Teils des Speichers der Funktionseinheit mit initialer Betriebssoftware für den Prozessor ermöglicht, in einer anderen Betriebsart jedoch die Adreß-, Fehlerschutz-, Betriebsarten- oder sonstige Betriebs-Informationen beinhaltenden Oktetts zusammen mit den Nutzdaten unverändert an die Funktionseinheit übergibt.
3. Device according to claim 1, characterized in that
  • - between the cell switching unit and one or more functional units, a circuit in one operating mode rejects all octets of a cell flowing from the cell switching unit to the puncture unit, which does not contain useful data, but rather address, error protection, operating mode or other operating information, and only contains the useful data Transfers octets to the functional unit, thus filling part of the memory of the functional unit with initial operating software for the processor, but in another operating mode the address, error protection, operating mode or other operating information together with the useful data remains unchanged passes to the functional unit.
4. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - die Segmentierung logischer, zu versendender Datenpakete beliebiger Länge im Adreß­ raum des Prozessors der sendenden Funktionseinheit in physikalische, durch die Zel­ lenvermittlungseinheit übertragene, Zellen fester Länge, und die Reassemblierung von, empfangsseitig von der Zellenvermittlungseinheit übernommenen, Zellen zu logischen Datenpaketen im Adreßraum des Prozessors der empfangenden Funktionseinheit, im Speicher des jeweiligen Prozessors durch Betriebssoftware des Prozessors vorgenom­ men wird.
4. The device according to claim 1, characterized in that
  • - The segmentation of logical, to be sent data packets of any length in the address space of the processor of the sending functional unit into physical, transmitted by the cell switching unit, fixed length cells, and the reassembly of cells received by the cell switching unit, to logical data packets in the address space of the processor the receiving functional unit, is carried out in the memory of the respective processor by operating software of the processor.
5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - zwischen der Funktionseinheit und der Zellenvermittlungseinheit eine oder mehrere Zellen in Empfangs- und/oder Senderichtung mittels je eines FIFO-Speichers, der direkt am lokalen Prozessorbus angekoppelt ist, für jede Übertragungsrichtung zwi­ schengespeichert werden.
5. The device according to claim 1, characterized in that
  • - Between the functional unit and the cell switching unit one or more cells in the receive and / or transmit direction by means of a FIFO memory, which is directly coupled to the local processor bus, temporarily stored for each transmission direction.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß
  • - der Empfangs-FIFO-Speicher (von der Zellenvermittlungseinheit zur Funktionsein­ heit) größere Speicherkapazität aufweist als der Sende-FIFO-Speicher (von der Funk­ tionseinheit zur Zellenvermittlungseinheit).
6. The device according to claim 5, characterized in that
  • - The receive FIFO memory (from the cell switching unit to the functional unit) has greater storage capacity than the transmit FIFO memory (from the functional unit to the cell switching unit).
7. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß
  • - der Sende-FIFO-Speicher bei Überlauf oder einem Fehlerzustand des Empfangs-FIFO- Speichers oder der Zellenvermittlungseinheit durch ein Benachrichtigungssignal auto­ matisch zurückgesetzt wird.
7. The device according to claim 5, characterized in that
  • - The transmit FIFO memory is automatically reset in the event of an overflow or an error state of the receive FIFO memory or the cell switching unit by a notification signal.
8. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - die Segmentierung logischer, zu versendender Datenpakete beliebiger Länge im Adreß­ raum des Prozessors der sendenden Funktionseinheit in physikalische, durch die Zel­ lenvermittlungseinheit übertragene, Zellen fester Länge, und die Reassemblierung von, empfangsseitig von der Zellenvermittlungseinheit übernommenen, Zellen zu logi­ schen Datenpaketen im Adreßraum des Prozessors der empfangenden Funktionsein­ heit durch jeweils eine, zwischen Prozessor und Zellenvermittlungseinheit liegende, Segmentierungs- und Reassemblierungs-Einrichtung vorgenommen wird.
8. The device according to claim 1, characterized in that
  • - The segmentation of logical, to be sent data packets of any length in the address space of the processor of the sending functional unit in physical, transmitted by the cell switching unit, fixed length cells, and the reassembling of, received by the cell switching unit, cells to logical data packets in the address space of the Processor of the receiving functional unit is carried out by a segmentation and reassembly device located between the processor and the cell switching unit.
9. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - die Zellenvermittlungseinheit zusätzlich zu den Ein-/Ausgängen für jede Funktions­ einheit freie Ein-/Ausgangspaare (externe Ports) vorsieht, so daß zwei oder mehrere Vorrichtungen nach Anspruch 1 direkt durch elektrische oder optische Verbindungen miteinander verbunden werden können.
9. The device according to claim 1, characterized in that
  • - The cell switching unit in addition to the inputs / outputs for each functional unit provides free input / output pairs (external ports), so that two or more devices according to claim 1 can be connected directly by electrical or optical connections.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß
  • - die externen Ports nach Anspruch 9 zweier oder mehrerer Mehrprozessorsysteme nach Anspruch 9 mit einer externen Zellenvermittlungseinheit, deren Funktionsweise im wesentlichen der Zellenvermittlungseinheit auf der Vorrichtung gleicht, oder einem aus solchen Zellenvermittlungseinheiten durch Verschaltung untereinander aufgebauten Netz, transparent miteinander verbunden werden können.
10. The device according to claim 9, characterized in that
  • - The external ports according to claim 9 of two or more multiprocessor systems according to claim 9 with an external cell switching unit, the functioning of which is essentially the same as the cell switching unit on the device, or a network constructed from such cell switching units by interconnection with one another, can be transparently connected to one another.
DE1997154466 1997-12-08 1997-12-08 Multiprocessor system with data cell- or packet exchange, for topology-invariant communication Withdrawn DE19754466A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1997154466 DE19754466A1 (en) 1997-12-08 1997-12-08 Multiprocessor system with data cell- or packet exchange, for topology-invariant communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997154466 DE19754466A1 (en) 1997-12-08 1997-12-08 Multiprocessor system with data cell- or packet exchange, for topology-invariant communication

Publications (1)

Publication Number Publication Date
DE19754466A1 true DE19754466A1 (en) 1999-06-10

Family

ID=7851162

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997154466 Withdrawn DE19754466A1 (en) 1997-12-08 1997-12-08 Multiprocessor system with data cell- or packet exchange, for topology-invariant communication

Country Status (1)

Country Link
DE (1) DE19754466A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910863A1 (en) * 1999-03-11 2000-09-21 Siemens Ag Device and method for processing orders

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0324662A2 (en) * 1988-01-15 1989-07-19 EVANS & SUTHERLAND COMPUTER CORPORATION Crossbar system for controlled data transfer
US4852021A (en) * 1984-06-29 1989-07-25 Fujitsu Limited Centralized command transfer control system for connecting processors which independently send and receive commands
WO1989007796A1 (en) * 1988-02-17 1989-08-24 Valtion Teknillinen Tutkimuskeskus Distributed switching system
US5091903A (en) * 1989-08-09 1992-02-25 Alcatel N.V. Switching network and switching-network module for an atm system
US5492125A (en) * 1995-02-10 1996-02-20 University Of Washington Ultrasound signal processing apparatus
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852021A (en) * 1984-06-29 1989-07-25 Fujitsu Limited Centralized command transfer control system for connecting processors which independently send and receive commands
EP0324662A2 (en) * 1988-01-15 1989-07-19 EVANS & SUTHERLAND COMPUTER CORPORATION Crossbar system for controlled data transfer
WO1989007796A1 (en) * 1988-02-17 1989-08-24 Valtion Teknillinen Tutkimuskeskus Distributed switching system
US5091903A (en) * 1989-08-09 1992-02-25 Alcatel N.V. Switching network and switching-network module for an atm system
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits
US5492125A (en) * 1995-02-10 1996-02-20 University Of Washington Ultrasound signal processing apparatus

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ANALOG DEVICES: ADSP-2106x SHARC User`s Manual, 1. Aufl., März 1995 *
BOND, John:"Crossbar switch, unigre packaging driveperformance of DEC 9000", In: ComputerDesign 12/89, S. 18-22 *
FLYNN, M.J.: Some Computer Organizations and theirEffectiveness, IEEE Transactions on Computers, 21,9, 1972 *
Futurebus +, IEEE Standard 896.1-1991 *
HWANG, KAI: Advanced Computer Architecture- Parallelism, Scalability, Programmability, McGraw-Hill Series in Computer Science, 1993 *
SPARC TECHNOLOGY BUSINESS INC.: STP2230SOP Crossbar Switch (XB1) User`s Guide, 1995 *
TEXAS INSTRUMENTS INC.: TMS 320C4x User`s Guide, 1991 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910863A1 (en) * 1999-03-11 2000-09-21 Siemens Ag Device and method for processing orders

Similar Documents

Publication Publication Date Title
DE60033529T2 (en) NETWORK PROCESSOR, STORAGE ORGANIZATION AND METHOD
DE60006842T2 (en) Multiprocessor node controller circuit and method
DE60317890T2 (en) METHOD AND ARRANGEMENT FOR LOCAL SYNCHRONIZATION IN DISTRIBUTED MASTER SLAVE COMMUNICATION SYSTEMS
DE68926650T2 (en) High speed packet switching node design
DE69133257T2 (en) DEVICE AND METHOD FOR QUICK PACKAGE DELIVERY
DE60314205T2 (en) Arbiter for a switching system with input buffer
DE69631055T2 (en) STORAGE INTERFACE UNIT, SWITCHING SYSTEM WITH COMMON STORAGE AND METHOD THEREFOR
DE3685599T2 (en) MEDIATION SYSTEM FOR DATA TRANSFER.
DE69619843T2 (en) ATM SWITCHING WITH HIGH PERFORMANCE
DE68922581T2 (en) Reusable hierarchical network.
DE69533230T2 (en) METHOD AND DEVICE FOR IMPROVING THE ERROR TOLERANCE OF A NETWORK
DE69032699T2 (en) Packet switching system with a bus matrix-like switching system
EP1540507B1 (en) Device for processing data with an array of reconfigurable elements
DE60313780T2 (en) MULTIPORT SERIAL HIGH-SPEED TRANSMISSION CONNECTOR SCHIP IN A MASTER CONFIGURATION
DE60212626T2 (en) FINAL NODE DISTRIBUTION BY LOCAL IDENTIFIERS
DE69605319T2 (en) VIRTUAL MONITORING NETWORK IN A MULTIPROCESSOR SYSTEM
DE112013003733B4 (en) Adaptive packet rerouting to achieve reasonable, low-cost, and/or power-efficient network quality of service on chip devices
DE60203469T2 (en) System with interfaces and a switch for the separation of coherent and non-coherent data packet traffic
DE69330904T2 (en) Packet network interface
DE3689087T2 (en) Modular multi-port data node.
DE60030737T2 (en) High performance switching element and switching system
DE69637462T2 (en) ATM switch with input and output ports
DE69729853T2 (en) MODULAR ASSEMBLY ARRANGEMENT
DE4020775A1 (en) COUPLING NETWORK AND COUPLING NETWORK MODULE FOR AN ATM SYSTEM
DE69621513T2 (en) ATM switch using a synchronous group switching method

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee