DE3924759A1 - Multiprocessor system for graphic data processing - performs display processing in all processors using associated image memory regions - Google Patents

Multiprocessor system for graphic data processing - performs display processing in all processors using associated image memory regions

Info

Publication number
DE3924759A1
DE3924759A1 DE19893924759 DE3924759A DE3924759A1 DE 3924759 A1 DE3924759 A1 DE 3924759A1 DE 19893924759 DE19893924759 DE 19893924759 DE 3924759 A DE3924759 A DE 3924759A DE 3924759 A1 DE3924759 A1 DE 3924759A1
Authority
DE
Germany
Prior art keywords
processors
processing
multiprocessor system
rendering
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19893924759
Other languages
German (de)
Other versions
DE3924759C2 (en
Inventor
Harald Dipl Ing Selzer
Thomas Dipl Ing Haaker
Hans Joseph
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE19893924759 priority Critical patent/DE3924759A1/en
Publication of DE3924759A1 publication Critical patent/DE3924759A1/en
Application granted granted Critical
Publication of DE3924759C2 publication Critical patent/DE3924759C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

A multiprocessor system for graphical processing performs geometric processing of geometric objects in several processors and forms image point data values in an output region from transformed coordinate values. The data values are placed in an image memory. The processors perform the display processing whereby all processors simultaneously contain the results of the geometric object for image processing and the image point data associated with each processor are placed in an associated memory region. ADVANTAGE - The multiprocessor system eliminates data sensitivity and dynamically allocates processing power to ensure no processing capacity is wasted.

Description

1. Technisches Anwendungsgebiet1. Technical field of application

Die Erfindung betrifft ein Multiprozessorsystem für die graphi­ sche Datenverarbeitung gemäß dem Oberbegriff des Anspruchs 1 und beschreibt ein technisches System, das im Bereich der Generie­ rung graphischer Ausgabe eines Computers mit verteiltem Bild­ speicher Neuerungen bringt in Bezug auf die Lastverteilung in einem solchen System, die Art der Lastverteilung und die Aus­ nutzung der physikalisch gegebenen Leistung der Komponenten eines solchen Systems.The invention relates to a multiprocessor system for the graphi cal data processing according to the preamble of claim 1 and describes a technical system in the field of genius graphic output of a computer with a distributed image memory brings innovations in terms of load distribution such a system, the type of load distribution and the off utilization of the physically given performance of the components of such a system.

Die technischen Anwendungsgebiete dieser Neuerungen sind alle Bereiche, in denen direkt oder indirekt mit Computern graphi­ sche Ausgabe erzeugt wird. Technische Anwendungsgebiete sind u.a.: Computergraphik, Computer bzw. Workstations mit graphi­ scher Ausgabe, Dokumentengraphik, Computeranimation, Visuali­ sierung von Supercomputerdaten, graphische Subsysteme, Raster­ graphiksysteme.The technical fields of application of these innovations are all Areas in which graphi output is generated. Technical areas of application are including: computer graphics, computers or workstations with graphi output, document graphics, computer animation, visuali sation of supercomputer data, graphic subsystems, grids graphics systems.

2. Stand der Technik2. State of the art

Die erforderlichen Rechenleistungen zur Generierung graphischer Ausgabe werden nach dem Stand der Technik mit Systemen reali­ siert, die eine oder mehrere Formen der Parallelität beinhal­ ten. Unter den derzeit realisierten und entwickelten graphi­ schen Sytemen gibt es einige beispielhafte Typen, die den Stand der technischen Entwicklung charakteristisch repräsentieren.The computing power required to generate graphic Output are reali with the state of the art with systems based on one or more forms of parallelism ten. Among the currently realized and developed graphi systems there are some exemplary types that represent the state represent the technical development.

In der Bild-Generierung (Skizze 1) lassen sich zwei Aufgaben­ bereiche mit unterschiedlichen Anforderungen identifizieren. Dies sind zum einen die Aufgaben, die die Geometrie und die Darstellung einer Szene beeinflussen (Plazierung der Objekte innerhalb der Szene, Perspektive) und auf den darzustellenden Objekten arbeiten (Größe und Form der Objekte) wie Trans­ formationen, Clipping. Diese Aufgaben zählen zum Geometrie- Bereich. Zum anderen sind die Aufgaben Scan-Konvertierung (Umwandlung der Objektkoordinaten in einzelne Bildpunkte zur Darstellung auf dem Ausgabegerät) und Schattierungsberechnung zu bewältigen (Berücksichtigung von Lichtquellen und Licht­ effekten in der Szene), die für jedes einzelne Pixel aus-zu­ führen sind. Diese fallen in den Rendering-Bereich.In the image generation (sketch 1) there are two tasks Identify areas with different requirements. On the one hand there are the tasks, the geometry and the  Influence the representation of a scene (placement of the objects within the scene, perspective) and on those to be depicted Objects work (size and shape of objects) like Trans formations, clipping. These tasks are part of the geometry Area. On the other hand, the tasks are scan conversion (Conversion of the object coordinates into individual pixels for Representation on the output device) and shading calculation to cope with (consideration of light sources and light effects in the scene) that are made for each individual pixel are lead. These fall into the rendering area.

Üblicherweise werden die Oberflächen darzustellender Objekte in Dreiecke oder Vierecke zerlegt, weil diese als graphische Ele­ mente einfach zu bearbeiten sind. Ein solches Dreieck kann dar­ gestellt werden durch die Koordinaten seiner drei Eckpunkte, eine Flächennormale (für die Schattierungsberechnung) und die Grundfarbe des Dreiecks.The surfaces of objects to be displayed are usually shown in Triangles or quadrilaterals disassembled because these as graphic ele elements are easy to edit. Such a triangle can represent are set by the coordinates of its three corner points, an area normal (for the shading calculation) and the Basic color of the triangle.

Im Geometrie-Bereich werden die Eckpunkte und die Normale des Dreiecks mit Hilfe von Matrizenoperationen transformiert, um das Dreieck als Oberflächenelement des darzustellenden Objek­ tes an die vorgesehene Position zu bringen.In the geometry area, the corner points and the normal of the Triangle transformed with the help of matrix operations the triangle as a surface element of the object to be displayed tes to the intended position.

Im Rendering-Bereich werden die transformierten und geclippten Koordinaten des Dreiecks in Bildpunkte umgerechnet und in den Bildspeicher eingetragen. Für die Berechnung des Farbwertes eines jeden Bildpunktes existieren verschiedene Algorithmen, die Bilder unterschiedlicher Qualität (Realitätsnähe) erzeugen, aber auch erhebliche Unterschiede im Berechnungsaufwand beinhalten.In the rendering area, the transformed and clipped are Coordinates of the triangle converted into pixels and in the Image memory entered. For the calculation of the color value Different algorithms exist for each pixel, produce images of different quality (realism), but also considerable differences in the calculation effort include.

Beim Übergang vom Objekt- in den Rendering-Bereich steigt die zu verarbeitende Datenmenge drastisch an. Ein dreidimensio­ nales Dreieck, durch drei Eckpunkte und die Farbe an den Eckpunkten beschrieben, kann aber mehrere hundert Pixel auf dem Bildschirm überdecken, die alle berechnet und in den Bild­ wiederholspeicher eingetragen werden müssen.The transition increases from the object to the rendering area amount of data to be processed drastically. A three-dimensional nales triangle, by three corner points and the color on the Vertices described, but can be several hundred pixels on the Cover screen, all calculated and in the picture repeat memory must be entered.

Es ist deshalb naheliegend, die Aufgaben des Rendering-Berei­ ches durch eine Multiprozessor-Architektur zu realisieren, um die Prozessor-Last zwischen beiden Bereichen anzugleichen und damit einen schnellen Bildaufbau zu erzielen. Damit die Schnittstelle zwischen Rendering-Moduln und Bildspeicher jedoch nicht zum Flaschenhals des Systems wird - wie dies bei einer einfachen Multiprozessor-Bus-Ankopplung (z.B. VME- oder Multi- Bus) der Fall wäre -, wird jedem Prozessor ein Teil des Bild­ speichers zugeordnet, den er exklusiv, d.h. ohne mit anderen Prozessoren um den Zugriff konkurrieren zu müssen, bearbeiten kann.It is therefore obvious to do the tasks of the rendering area ches by a multiprocessor architecture to  equalize the processor load between the two areas and to achieve a quick image construction. So that Interface between rendering modules and image storage, however does not become the bottleneck of the system - as is the case with one simple multiprocessor bus connection (e.g. VME or multi Bus) would be the case - each processor becomes part of the picture allocated memory, which he exclusive, i.e. without with others Processors to compete for access can.

Gleichzeitig wird versucht, die Rechenleistung im Geometrie- Bereich durch Verteilung der Last auf mehrere Moduln zu erhöhen (Parallelisierung).At the same time, an attempt is made to To increase the area by distributing the load to several modules (Parallelization).

2.1. Homogene Systeme2.1. Homogeneous systems

Die Parallelität homogener Systeme entsteht durch das Zusam­ menschalten mehrerer logisch, funktional oder physikalisch gleicher Einheiten, die in Form von Subsystemen, einzelnen Bau­ teilen oder integriert auf einem Chip realisiert sein können.The parallelism of homogeneous systems results from the combination several logically, functionally or physically same units, in the form of subsystems, individual construction share or can be integrated on a chip.

2.2. Inhomogene Systeme2.2. Inhomogeneous systems

Sind die Komponenten eines Systems logisch, funktional oder physikalisch ungleiche Einheiten, so bezeichnet man das System als inhomogen. Die meisten Systeme stellen Mischformen homo­ gener und inhomogener Systeme auf verschiedenen Ebenen dar.Are the components of a system logical, functional or The system is called physically unequal units as inhomogeneous. Most systems are mixed forms homo gener and inhomogeneous systems on different levels.

2.3 Realisierungsbeispiele2.3 Realization examples

Zur Generierung eines Bildes durchlaufen die Objektdaten den Geometrie-Bereich zum Transformieren und Klippen, den Ren­ dering-Bereich für die Berechnung des Beleuchtungsmodells und der Raster-Scan-Konvertierung. Sowohl der Geometrie-Bereich als auch der Rendering-Bereich können mehrere Verarbeitungsmoduln umfassen, wobei ein Modul jeweils aus einem Prozessor mit zugehörigem Arbeitsspeicher besteht. The object data run through the to generate an image Geometry area for transforming and clipping, the reindeer dering area for the calculation of the lighting model and the raster scan conversion. Both the geometry area and The rendering area can also have multiple processing modules comprise, with a module each consisting of a processor associated memory exists.  

2.3.1 Geometrie- und Rendering-Pipeline2.3.1 Geometry and rendering pipeline

Die sequentielle Folge von Verarbeitungsschritten in der Geometrieverarbeitung führte bei der Geometry Engine (Clark82) zur Realisierung in Form einer Pipeline (s. Skizze 2).The sequential sequence of processing steps in the Geometry processing led at the Geometry Engine (Clark82) for implementation in the form of a pipeline (see sketch 2).

Die Geometrieverarbeitung wird in Teilschritte zerlegt und in mehreren, als Pipeline organisierten Einheiten ausgeführt.The geometry processing is broken down into sub-steps and into several units organized as a pipeline.

Eine Fortführung dieses Ansatzes ist es, die Rendering Einheit ebenfalls als Pipeline zu organisieren (Akely88).A continuation of this approach is the rendering unit can also be organized as a pipeline (Akely88).

Die Pipelinestruktur dieser Architekturen enthält einen hohen Parallelitätsgrad mit fester Zuordnung der Algorithmen zu den einzelnen Moduln. Beide Systeme gehören sowohl algorithmisch als auch physikalisch zu den inhomogenen Systemen.The pipeline structure of these architectures contains a high one Degree of parallelism with fixed assignment of the algorithms to the individual modules. Both systems belong to both algorithmic as well as physically to the inhomogeneous systems.

2.3.2 Geometrie-Parallelstruktur2.3.2 Geometry parallel structure

Eine homogene Parallelarchitektur für die Geometrieverarbeitung beschreibt Torborg in einem System, in dem n gleichartige Moduln im Geometrie-Bereich mit gleichen Algorithmen verschie­ dene graphiche Elemente parallel bearbeiten (s. Skizze 3). Dieses System ermöglicht die Erweiterung im Geometriebereich durch Hinzufügen weiterer gleichartiger Moduln.A homogeneous parallel architecture for geometry processing describes Torborg in a system in which n are similar Different modules in the geometry area with the same algorithms Edit the graphical elements in parallel (see sketch 3). This system enables expansion in the geometry area by adding more similar modules.

3. Nachteile des Standes der Technik3. Disadvantages of the prior art

Derzeit realisierte Systeme haben folgende Nachteile:Currently implemented systems have the following disadvantages:

  • - Die Berechnungen des Geometrie- und Rendering-Bereiches werden generell in physikalisch getrennten Einheiten durch­ geführt. Ist anwendungsbedingt ein Bereich überlastet, kann die freie Rechenkapazität der Moduln des anderen Bereiches nicht genutzt werden. Eine Fläche von z.B. 1000 Bildpunkten auf dem Bildschirm kann anwendungsbedingt einmal durch ein Dreieck, ein anderes mal durch 200 Dreiecke approximiert werden. In beiden Fällen werden im Rendering-Bereich 1000 Bildpunkte berechnet und in den Bildspeicher eingetragen. Für den Geometrie-Bereich kann es bedeuten, daß die Moduln im ersten Fall warten müssen, bis der Rendering-Bereich die Berechnungen für die 1000 Bild­ punkte durchgeführt hat, bevor das nächste Dreieck bearbeitet werden kann. Im zweiten Fall ist es möglich, daß die Moduln des Rendering-Bereiches warten, weil der Geometrie-Bereich über­ lastet ist.- The calculations of the geometry and rendering area are generally carried out in physically separate units guided. If an area is overloaded due to the application, the not free computing capacity of the modules of the other area be used. An area of e.g. 1000 pixels on the Depending on the application, the screen can be represented by a triangle another time be approximated by 200 triangles. In both  Cases are calculated in the rendering area 1000 pixels and entered in the image memory. For the geometry area it can mean that the modules have to wait in the first case, until the rendering area does the calculations for the 1000 image points before the next triangle is processed can be. In the second case it is possible that the modules of the Rendering area is waiting because the geometry area is over is burdensome.
  • - Mangelnde Flexiblität bezüglich verschiedener Algorithmen tritt bei Systemen mit Spezialhardware bzw. mit Spezial­ prozessoren auf. Spezialhardware ist auf einem bestimmten Algorithmus ausgelegt und erfordert bei algorithmischen Änderungen auch die Änderung der Hardware. Bei Spezial­ prozessoren, die mikroprogrammierbar sind, ist der Aufwand für Änderungen beträchtlich. Wird von der Anwendung im Rendering- Bereich statt einer einfachen Gouraud-Schattierung eine qualitativ bessere Phong-Schattierung erwartet, so können bei programmierbaren Moduln im Rendering-Bereich diese umpro­ grammiert und der Phong-Algorithmus bearbeitet werden. Da der Berechnungsaufwand für die Phong-Schattierung aber wesentlich zeitintensiver ist, wird die ursprüngliche Lastverteilung zwischen Geometrie- und Rendering-Bereich geändert und ergibt Wartezeiten im Geometrie-Bereich.- Lack of flexibility regarding different algorithms occurs in systems with special hardware or with special processors on. Special hardware is on a specific one Algorithm designed and requires algorithmic Changes also change the hardware. With special processors that are micro-programmable is the effort for Changes significant. Is the application in the rendering Area instead of a simple Gouraud shade better quality Phong shading expected, so at programmable modules in the rendering area grammed and edited the Phong algorithm. Since the Calculation effort for the Phong shading is essential is more time-consuming, the original load distribution changed between geometry and rendering area and results Waiting times in the geometry area.
  • - Systeme mit physikalisch inhomogener Struktur sind nur schwer erweiterbar.- Systems with a physically inhomogeneous structure are only difficult to expand.
  • - Die Balancierung der Rechenlast zwischen Geometrie- und Rendering-Bereich der Systeme ist statisch. Anwendungsbedingte Schwankungen in der Lastverteilung können dynamisch nicht ausgeglichen werden.- Balancing the computing load between geometry and The rendering area of the systems is static. Application related Fluctuations in the load distribution cannot be dynamic be balanced.
4. Mit der Erfindung gelöste Aufgaben4. Problems solved with the invention

Die Aufgabe der Erfindung ist der Aufbau eines Multiprozessor­ systems, in dem keine Verarbeitungskapazität verschwendet wird. Diese Aufgabe wird erfindungsgemäß durch ein Multiprozessor­ system nach Anspruch 1 gelöst. Vorteilhafte Ausgestaltungen des Multiprozessorsystems sind in den Unteransprüchen gekenn­ zeichnet.The object of the invention is the construction of a multiprocessor systems in which no processing capacity is wasted. This object is achieved by a multiprocessor System solved according to claim 1. Advantageous embodiments of the  Multiprocessor systems are known in the subclaims draws.

Da die Bearbeitung von Geometrie- und Rendering-Aufgaben nicht mehr in exklusiv zugeteilten Prozessoren durchgeführt wird, paßt sich das System selbständig und dynamisch an anwendungs­ bedingte Schwankungen der Lastverteilung an. Das bedeutet, daß auch bei wechselnden Lastverhältnissen immer mit voller System­ leistung gearbeitet wird.Because the editing of geometry and rendering tasks is not more is done in exclusively allocated processors, the system adapts itself dynamically to the application conditional fluctuations in load distribution. It means that even with changing load conditions, always with a full system performance is worked.

5. Erreichte Verbesserungen und Vorteile gegenüber dem Stand der Technik5. Improvements and advantages achieved compared to the stand of the technique

Die Vorzüge der Neuerung liegen in der Verminderung der Daten­ sensitivität (unterschiedliche Anzahlen graphischer Elemente für die Darstellung gleich großen Anzahl von Bildpunkten haben keinen Einfluß mehr auf die Auslastung der einzelnen Moduln) und in der Fähigkeit, die Bereitstellung von Rechenleistung für die einzelnen Aufgaben innerhalb des Systems selbstständig und dynamisch entsprechend den jeweiligen Anforderungen zu ändern. Das bedeutet, daß sich das System Änderungen in der Lastverteilung automatisch anpaßt. Bezogen auf das Beispiel der 1000 Bildpunkte, die einmal aus einem, das andere mal aus 200 Dreiecken berechnet werden, heißt das, daß im ersten Fall nach der Berechnung im Geometrie-Bereich alle Moduln an der Bearbei­ tung der Rendering-Aufgaben beteiligt sind, während im zweiten Fall auch alle Moduln an der Bearbeitung der Aufgaben des Geometrie-Bereiches beteiligt sein können. Zusätzlich versorgen sich die Moduln selbsttätig nach Bedarf mit graphischen Elementen zur Verarbeitung. (Anspruch 2)The advantages of the innovation lie in the reduction of the data sensitivity (different numbers of graphic elements have the same number of pixels for the display no longer influence the utilization of the individual modules) and in the ability to provide computing power for the individual tasks within the system independently and to change dynamically according to the respective requirements. This means that the system changes in the Automatically adjusts load distribution. Based on the example of 1000 pixels, one from one, the other from 200 Triangles are calculated, this means that in the first case after the calculation in the geometry area all modules on the machining rendering tasks are involved while in the second If all modules are involved in processing the tasks of the Geometry area can be involved. Supply additionally the modules automatically with graphic Processing elements. (Claim 2)

Mit der Erfindung realisierte Systeme arbeiten innerhalb ihrer Leistungsgrenzen lastadaptiv und vermeiden jegliche Redundanz von Prozessor bzw. Verarbeitungsleistung, d.h., die Rechen­ leistung aller Moduln ist immer zu 100% ausgelastet. Die Erweiterung des Systems ist durch einfaches Hinzufügen gleich­ artiger Moduln möglich.Systems realized with the invention work within their Performance limits are load-adaptive and avoid any redundancy of processor or processing power, i.e. the computing performance of all modules is always 100% full. The Extending the system is the same by simply adding it like modules possible.

Vorteilhafterweise sind die Prozessoren für die Datenübermitt­ lung über zwei Bussysteme miteinander verbunden. (Anspruch 4) Dabei erfolgt der Datentransfer für die geometrische Bearbei­ tung über einen eigenen Bus. (Anspruch 5) The processors are advantageously for the data transmission connected via two bus systems. (Claim 4) The data transfer for the geometric processing takes place via its own bus. (Claim 5)  

6. Beschreibung des Lösungswegs6. Description of the solution

Die Erfindung wird nunmehr an Hand der Skizzen 4 und 5 erläu­ tert. Der Kern der Erfindung besteht darin, daß in einer homo­ genen Multiprozessor-Architektur jeder Modul sowohl Algorith­ men des Geometrie- als auch des Rendering-Bereiches ausführen kann (s. Skizze 4). Jeder GR-Modul besteht aus einem Prozessor mit zugehörigem Arbeitsspeicher. Es besteht keine Hierarchie innerhalb dieser Moduln. Jeder der n Moduln hat Zugriff auf 1:n-tel eines verteilten Bildspeichers. Über den Geometrie-Bus greifen die Moduln aktiv auf die graphischen Elemente zur Geometrie-Verarbeitung zu. Jedes graphische Element gelangt über diesen Bus in genau einen Prozessor. Hier werden sämtliche Algorithmen des Geometrie-Bereiches ausgeführt. D.h. alle diese Aufgaben werden für ein graphisches Element genau einmal berechnet.The invention will now be explained with reference to the sketches 4 and 5 tert. The essence of the invention is that in a homo gen multiprocessor architecture each module both algorithm the geometry as well as the rendering area can (see sketch 4). Each GR module consists of a processor with associated RAM. There is no hierarchy within these modules. Each of the n modules has access to 1: nth of a distributed image memory. Via the geometry bus the modules actively access the graphic elements Geometry processing too. Every graphic element arrives over this bus into exactly one processor. Here are all Geometry domain algorithms executed. I.e. all these Tasks become exactly once for a graphic element calculated.

Anschließend gelangen die resultierenden Daten über den Ren­ dering-Bus, der als Broadcast-Bus realisiert wird, gleichzeitig zu allen Moduln des Systems. Jeder Modul berechnet die Bild­ punkte des graphischen Elementes, die in dem Teil des verteil­ ten Bildspeichers abgelegt werden, der dem jeweiligen Modul zugeordnet ist. Alle Moduln sind an dieser Berechnung betei­ ligt, aber nur mit einem n-tel der gesamten Bildpunkt-Menge.The resulting data is then sent to the reindeer dering bus, which is implemented as a broadcast bus, simultaneously to all modules of the system. Each module calculates the picture points of the graphic element that are in the part of the distribution th image memory are stored, the respective module assigned. All modules are involved in this calculation lig, but only with an nth of the total amount of pixels.

Ist die Oberfläche eines graphischen Objektes in Dreiecke zer­ legt, holt sich jeder der n GR-Moduln über den Geometrie-Bus ein Dreieck zur Geometrie-Verarbeitung. Hat der erste GR-Modul die Geometrie-Berechnungen seines Dreiecks durchgeführt, sendet es die transformierten und geclippten Koordinaten über den Ren­ dering-Bus gleichzeitig an alle Moduln, einschließlich an sich selbst. Dann führen alle Moduln die Rendering-Berechnungen für dieses Dreieck für ihren Teil des Bildspeichers durch und tragen die Bildpunkte in den ihnen zugeordneten Teil des Bild­ speichers ein. Der erste GR-Modul holt sich jetzt ein neues Dreieck über den Geometrie-Bus, während die übrigen GR-Moduln die Geometrie-Berechnungen ihrer Dreiecke fortsetzen, bis der nächste GR-Modul sein Dreieck geometrisch verarbeitet hat und die transformierten und geclippten Daten über den Rendering-Bus gleichzeitig an alle GR-Moduln einschließlich sich selbst schickt. Erneut berechnen alle GR-Moduln die für ihren Teil des Bildspeichers relevanten Bildpunkte. Dieser Verarbeitungsablauf wiederholt sich zyklisch.The surface of a graphic object is broken up into triangles each of the n GR modules gets on the geometry bus a triangle for geometry processing. Has the first GR module sent the geometry calculations of its triangle it the transformed and clipped coordinates over the reindeer dering bus simultaneously to all modules, including themselves itself. Then all modules do the rendering calculations for this triangle for its part of the image memory through and carry the pixels into the part of the image assigned to them store. The first GR module is now getting a new one Triangle over the geometry bus while the rest of the GR modules continue the geometry calculations of your triangles until the next GR module has geometrically processed its triangle and the transformed and clipped data over the rendering bus to all GR modules including yourself at the same time  sends. Again, all GR modules calculate for their part of the Image memory relevant pixels. This processing flow repeats itself cyclically.

Da jeder Modul im Geometrie- und im Rendering-Bereich graphi­ sche Elemente bearbeitet, wird jederzeit die volle Systemlei­ stung genutzt.Since each module in the geometry and rendering area graphi full elements are processed at all times used.

7. Ausführungsbeispiel7th embodiment

Skizze 5 zeigt ein Ausführungsbeispiel der in 6. beschriebenen Erfindung. Die GR-Moduln bestehen jeweils aus einem schnellen digitalen Signalprozessor (DSP) und dem zugehörigen Arbeits­ speicher (PROG-MEM), in dem auch die Programme, die von dem DSP abgearbeitet werden, abgelegt sind. Die DSPs der GR-Moduln greifen über den Geometrie-Bus und über die Systemschnittstelle auf die graphischen Elemente zu, wobei in jedem Modul die geometrischen Berechnungen für ein graphisches Element durchgeführt werden. Ist ein DSP mit der Geometrie-Berechnung für sein Dreieck fertig, transferiert er die transformierten und geclippten Koordinaten dieses Dreiecks über den Rendering- Bus gleichzeitig in die FIFOs aller GR-Moduln, einschließlich seinem eigenen. Die FIFO-Speicher dienen zur Entkopplung der DSPs vom Rendering-Bus. Die DSPs arbeiten jetzt alle die Rendering-Daten aus ihren FIFOs ab. Jeder DSP berechnet die Bildpunkte für seinen Teil des Bildspeichers und trägt die in dem ihm zugeordneten Teil des Bildspeichers ein. Danach nehmen die GR-Moduln die Geometrie-Verarbeitung ihrer Dreiecke wieder auf bzw. der GR-Modul ohne Dreieck holt sich über den Geome­ trie-Bus von der System-Schnittstelle ein neues Dreieck zur Geometrie-Verarbeitung.Sketch 5 shows an embodiment of the one described in 6 Invention. The GR modules consist of a fast one digital signal processor (DSP) and related work memory (PROG-MEM), in which also the programs, by the DSP are processed, are filed. The DSPs of the GR modules access via the geometry bus and the system interface towards the graphic elements, with the geometric calculations for a graphic element be performed. Is a DSP with the geometry calculation finished for his triangle, he transfers the transformed ones and clipped coordinates of this triangle over the rendering Bus simultaneously in the FIFOs of all GR modules, including his own. The FIFO memories are used to decouple the DSPs from the rendering bus. The DSPs are all working now Rendering data from their FIFOs. Each DSP calculates the Pixels for its part of the image memory and carries the in the part of the image memory assigned to it. Then take the GR modules the geometry processing of their triangles again or the GR module without a triangle gets over the geome trie bus from the system interface to a new triangle Geometry processing.

Claims (7)

1. Multiprozessorsystem für graphische Datenverarbeitung, wobei mittels mehrerer Prozessoren (Mikroprozessoren oder Signalprozessoren) die geometrische Verarbeitung geometrische Objekte durchgeführt wird, und danach die transformierten und geklippten Koordinatenwerte (Ergeb­ nisse) in einem Renderingbereich in eine Menge von Bildpunkten (Datenmenge) abgebildet wird und diese Menge in einem Bildspeicher abgelegt wird, dadurch gekennzeichnet, daß die Prozessoren auch die Renderingaufgabe durch­ führen, wobei alle Prozessoren gleichzeitig die Er­ gebnisse des zu bearbeitenden geometrischen Objektes zur Renderingbearbeitung erhalten und die Menge der­ jeweils in den einzelnen Prozessoren ermittelten Bild­ punkte in den jedem Prozessor zugeordneten Teil des verteilten Bildspeichers abgelegt wird. 1. Multiprocessor system for graphic data processing, whereby the geometric processing of geometric objects is carried out by means of several processors (microprocessors or signal processors), and then the transformed and clipped coordinate values (results) are mapped in a rendering area into a set of pixels (amount of data) and these Amount is stored in an image memory, characterized in that the processors also perform the rendering task, with all processors simultaneously receiving the results of the geometric object to be processed for rendering processing and the amount of pixels determined in the individual processors in each processor assigned part of the distributed image memory is stored. 2. Multiprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, daß die Prozessoren, die bei der Renderingbearbeitung keine Bildpunkte errechnen müssen, bzw. ihre Rendering­ aufgabe beendet haben, für die weitere Bearbeitung geo­ metrischer Objekte zur Verfügung stehen.2. Multiprocessor system according to claim 1, characterized, that the processors involved in rendering processing no pixels have to calculate, or their rendering finished task, for further editing geo metric objects are available. 3. Multiprozessorsystem nach Anspruch 1-2, dadurch gekennzeichnet, daß die Aufgabenverteilung zur Bearbeitung graphischer Objekte durch Freiwerden von Bearbeitungskapazität in den Prozessoren erfolgt.3. Multiprocessor system according to claims 1-2, characterized, that the distribution of tasks for editing graphic Objects by freeing up processing capacity in the processors. 4. Multiprozessorsystem nach Anspruch 1-3, dadurch gekennzeichnet, daß die Datenübermittlung an die Prozessoren über zwei Bussysteme erfolgt, die von den Prozessoren selbständig nach Bedarf durchgeführt wird. 4. Multiprocessor system according to claims 1-3, characterized, that the data transfer to the processors over two Bus systems are carried out independently by the processors is carried out as required.   5. Multiprozessorsystem nach Anspruch 4, dadurch gekennzeichnet, daß der Datentransfer für die geometrische Bearbeitung an die Prozessoren über einen Geometriebus (G-Bus) erfolgt.5. Multiprocessor system according to claim 4, characterized, that data transfer for geometric editing to the processors via a geometry bus (G-bus) he follows. 6. Multiprozessorsystem nach Anspruch 4, dadurch gekennzeichnet, daß der Prozessor, der mit der geometrischen Bear­ beitung fertig ist, das Ergebnis an die FIFOs aller Prozessoren über einen Renderingbus (R-Bus) weiterlei­ tet.6. Multiprocessor system according to claim 4, characterized, that the processor that works with the geometric Bear processing is finished, the result to everyone's FIFOs Forward processors via a rendering bus (R-Bus) tet. 7. Multiprozessorsystem nach Anspruch 6, dadurch gekennzeichnet, daß die Renderingaufgabe aus den jeweiligen FIFOs gleichzeitig von allen Prozessoren begonnen wird.7. Multiprocessor system according to claim 6, characterized, that the rendering task from the respective FIFOs all processors start simultaneously.
DE19893924759 1989-07-26 1989-07-26 Multiprocessor system for graphic data processing - performs display processing in all processors using associated image memory regions Granted DE3924759A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19893924759 DE3924759A1 (en) 1989-07-26 1989-07-26 Multiprocessor system for graphic data processing - performs display processing in all processors using associated image memory regions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19893924759 DE3924759A1 (en) 1989-07-26 1989-07-26 Multiprocessor system for graphic data processing - performs display processing in all processors using associated image memory regions

Publications (2)

Publication Number Publication Date
DE3924759A1 true DE3924759A1 (en) 1991-02-07
DE3924759C2 DE3924759C2 (en) 1992-10-15

Family

ID=6385899

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19893924759 Granted DE3924759A1 (en) 1989-07-26 1989-07-26 Multiprocessor system for graphic data processing - performs display processing in all processors using associated image memory regions

Country Status (1)

Country Link
DE (1) DE3924759A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0631252A2 (en) * 1993-06-23 1994-12-28 Sun Microsystems, Inc. Draw processor for a high performance three dimensional graphics accelerator
US5440682A (en) * 1993-06-04 1995-08-08 Sun Microsystems, Inc. Draw processor for a high performance three dimensional graphic accelerator
EP0817009A2 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Proceedings of the 6th International Conference on Pattern Recognition, München, 1982, S. 368-379 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440682A (en) * 1993-06-04 1995-08-08 Sun Microsystems, Inc. Draw processor for a high performance three dimensional graphic accelerator
EP0631252A2 (en) * 1993-06-23 1994-12-28 Sun Microsystems, Inc. Draw processor for a high performance three dimensional graphics accelerator
EP0631252A3 (en) * 1993-06-23 1995-03-15 Sun Microsystems Inc Draw processor for a high performance three dimensional graphics accelerator.
EP0817009A2 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels
EP0817009A3 (en) * 1996-07-01 2001-09-05 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels

Also Published As

Publication number Publication date
DE3924759C2 (en) 1992-10-15

Similar Documents

Publication Publication Date Title
DE3853336T2 (en) Computer graphics device for processing lighting model information.
DE112006003473B4 (en) Parallel array architecture for a graphics processor
DE69908966T2 (en) SHADING 3-DIMENSIONAL COMPUTER-GENERATED IMAGES
DE60019516T2 (en) Programmable setup for the visualization of sample data and geometric data
DE102008026431B4 (en) Extrapolation of non-resident mipmap data using resident mipmap data
DE3689654T2 (en) COMPUTER GRAPHICS, PROCESSOR FOR PARALLEL SUBDIVISION.
DE3854543T2 (en) Priority management of a depth data buffer for real-time computer systems for image generation.
DE69127915T2 (en) Priority color mapping system and method
DE3855234T2 (en) HIGH-PERFORMANCE GRAPHIC TERMINAL AND OPERATING METHOD THEREFOR
DE3750803T2 (en) Shading circuit for shading multiple polygons using a solid-state model and shading method therefor.
DE68919024T2 (en) Method and processor for scan conversion.
DE69725057T2 (en) Floating point processor for a three-dimensional graphic accelerator
DE69122557T2 (en) Imaging
DE68927471T2 (en) Process for shading a graphic image
DE60033250T2 (en) System and method for imaging with ray tracing
DE60217122T2 (en) THREE-DIMENSIONAL GRAPHIC SYSTEM
DE102019103340A1 (en) SIMULTANEOUS COMPUTING AND GRAPHICS SCHEDULING
DE69631718T2 (en) Method and device for efficient graphic representation of three-dimensional scenes
DE69914355T2 (en) IMAGE PROCESSING UNIT
DE102018121282A1 (en) DIFFERENTIAL RENDERING PIPELINE FOR INVERSE GRAPHICS
DE19782086B4 (en) Multiplier for performing 3D graphics interpolations
DE102013022257A1 (en) Programmable mixing in multi-strand processing units
DE69122147T2 (en) Method and device for clipping pixels from source and target windows in a graphic system
DE102013020614A1 (en) Consistent grid division with multi-resolution
DE2703021A1 (en) DATA PROCESSOR FOR PROVIDING INTENSITY CONTROL SIGNALS FOR USE IN A GRID DISPLAY

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8320 Willingness to grant licenses declared (paragraph 23)
8339 Ceased/non-payment of the annual fee