RV64X, eine Open-Source-GPU, die auf RISC-V-Technologien basiert

Eine Gruppe von Enthusiasten (mit Beiträgen von Pixilica) entwickelt das Projekt RV64X, dass zielt darauf ab zu schaffen eine Reihe von ergänzenden 3D-Grafiken und Multimedia-Verarbeitungsanweisungen, mit denen die Funktionalität des GPU auf RISC-V-Prozessoren.

Das Projekt ist als frei positioniert, Es sind keine Lizenzgebühren und Nutzungsbedingungen erforderlich, sodass Sie vollständig geöffnete RV64X-basierte GPUs erstellen können.

Pixilica arbeitet mit RV64X zusammen, um einen neuen Satz von Grafikanweisungen für die 3D-Grafik- und Medienverarbeitung vorzuschlagen. Möglicherweise handelt es sich um eine verschmolzene ISA-CPU-GPU. 

Diese neuen Befehle basieren auf dem RISC-V-Basisvektor-Befehlssatz. Sie werden Unterstützung für neue Datentypen hinzufügen, die im Sinne des RISC-V ISA-Kernels als geschichtete Erweiterungen grafisch spezifisch sind.

Über RV64X

RV64X basiert auf RISC-V ISA-Vektoranweisungen, die durch die Unterstützung neuer Datentypen und diagrammspezifischer Erweiterungen erweitert werden.

Beispielsweise werden zusätzliche Operationen zum Verarbeiten von Pixeln (RGBA), Punkten (xyzw), Texturelementen (UVW-Texels), Vektoren (Operationen mit 2 bis 4 Elementen), Materialparametern, Beleuchtungsberechnungen, transzendentaler Mathematik und Tiefenpuffern (Z) vorgeschlagen - Puffer) und Bildpuffer (Bildpuffer).

Der erste Prototyp Die RV64X-basierte GPU wurde für den Einsatz in Mikrocontrollern und entwickelt wird auf die Unterstützung der Vulkan-Grafik-API beschränkt sein. Obwohl sie im Laufe der Zeit versprechen, Unterstützung für OpenGL und DirectX hinzuzufügen.

Die Hauptmotivation zur Entwicklung ist die Notwendigkeit einer flexiblen Architektur, die ermöglicht Anschließen von Erweiterungen zur effizienten Lösung spezifischer Probleme, z. B. zweiphasiges Abschneiden von Kegeln, Verwendung schneller Fourier-Transformationen für beliebige Farbtiefen und Implementierung von SLAM-Hardware.

Zum Beispiel RV64X ermöglicht die Implementierung eigener Stufen für die Rechenpipeline, geometrische Puffer, Pixel- und Rahmenpuffer sowie die Erstellung eigener Tessellatoren.

Es wird auch erwähnt, dass Chiphersteller mit RV64X in der Lage sein werden, die benötigten Lösungen basierend auf dem vorhandenen Backbone vorzubereiten, wobei sie sich auf erweiterte Funktionen konzentrieren müssen, ohne Zeit mit allgemeinen Dingen verschwenden zu müssen.

RV64X entwickelt sich zu einer Hybrid-CPU-GPU-ISA. Ermöglicht die Erstellung spezieller Grafik-Mikrocontroller und Multicore-Prozessoren, die Rechenkerne mit Blöcken kombinieren, um grafische Operationen auszuführen.

Ein Prozessor, der einen RISC-V-Kern mit einem GPU-Block kombiniert, sieht aus wie eine einzelne Einheit (keine explizite GPU-Zuordnung) und wird unter Verwendung eines einheitlichen 64-Bit-Befehlssatzes und eines SIMD-Modells für die Parallelität der Datenschicht programmiert. Die RV64X-Architektur entwickelt sich zu einer kompakten und effizienten Implementierung, die auf der Basis von FPGAs und ASICs implementiert werden kann.

Die Open-Source-Bewegung, die die Softwareentwicklung verändert hat, gewinnt unter Hardwareentwicklern an Bedeutung. Frühe Bemühungen, die sich auf die RISC-V-Architektur konzentrieren, sind wegweisend. In unserem nächsten Open Source-Spezialprojekt untersuchen wir die Versprechen und Fallstricke der Open-Hardware-Entwicklung.

Unter den Funktionen der RV64X-Architektur Die Verwendung eines einzelnen Speichermodells findet sich auf der CPU und der GPUDadurch entfallen zusätzliche RPC / IPC-Mechanismen zur Übersetzung von Aufrufen zwischen dem GPU-Speicher und der CPU bei der Verarbeitung von 3D-API-Vorgängen.

Standardgrafikoperationen können auf Mikrocode-Ebene implementiert werden. Das Erstellen von benutzerdefinierten Shadern, Rasterisierern und Raytracing-Erweiterungen wird unterstützt. Zusätzlich können Vektoroperationen auf Mikrocode-Ebene implementiert werden, um Simulations-, Bildverarbeitungs- und maschinelle Lernprobleme zu lösen.

Die Referenzimplementierung RV64X enthält 1 KB L32-Cache für Anweisungen und Daten, 8 KB SRAM für Mikrocode, Befehlsdecoder, Hardware-Implementierung von RV32V- und RV64X-Befehlssätzen, Mikrocode-definierter erweiterter Befehlsdecoder, Vektorarithmetik-Logikeinheit (ALU), 136-Bit-Registerdatei mit 1024 Elementen, eine Sonderfunktionseinheit (SFU), eine Textureinheit und a konfigurierbarer lokaler Framebuffer.

Schließlich wenn Sie mehr darüber wissen wollen Sie können die Details im Originalbeitrag überprüfen. Der Link ist dies.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.