BEREITSTELLEN EINER NATIVEN UNTERSTÜTZUNG FÜR GENERISCHE ZEIGER IN EINER GRAFIKVERARBEITUNGSEINHEIT

Ausführungsformen betreffen Systeme und Verfahren zum Unterstützen generischer Zeiger in Hardware einer GPU. Gemäß einer Ausführungsform beinhaltet eine GPU mehrere Unterkerne, die jeweils eine Verarbeitungsressource und eine Lade/Speicher-Pipeline aufweisen. Die Verarbeitungsressource ist betreibba...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Chen, Wei-Yu, Shah, Ankur N, Ray, Joydeep, Shinde, Prathamesh Raghunath, Ranganathan, Vasanth, Ashbaugh, Ben J, Babokin, Dmitry Yurievich, Appu, Abhishek R
Format: Patent
Sprache:ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Ausführungsformen betreffen Systeme und Verfahren zum Unterstützen generischer Zeiger in Hardware einer GPU. Gemäß einer Ausführungsform beinhaltet eine GPU mehrere Unterkerne, die jeweils eine Verarbeitungsressource und eine Lade/Speicher-Pipeline aufweisen. Die Verarbeitungsressource ist betreibbar, um eine Speicherzugriffsnachricht zu empfangen, die einen Zeiger und eine Speichertypkennung beinhaltet, die angibt, dass der Zeiger einen generischen Zeiger repräsentiert. Die Verarbeitungsressource ist ferner betreibbar zum Ausgeben einer Lade- oder Speicheroperation zu der Lade/Speicher-Pipeline basierend auf der Speicherzugriffsnachricht, einschließlich Berechnen einer Adresse für die Lade- oder Speicheroperation durch Hinzufügen einer Basisadresse eines benannten Speichertyps mehrerer benannter Speichertypen, die durch den generischen Zeiger referenziert werden, zu einem Offset in einen Speicher des benannten Speichertyps. Die Lade/Speicher-Pipeline ist dazu betreibbar, als Reaktion auf den Empfang der Lade- oder Speicheroperation auf den Speicher an der Adresse zuzugreifen. Embodiments are directed to systems and methods for supporting generic pointers in hardware of a GPU. According to one embodiment, a GPU includes multiple sub-cores each having a processing resource and a load/store pipeline. The processing resource is operable to receive a memory access message including a pointer and a memory type identifier indicative of the pointer representing a generic pointer. The processing resource is further operable to output a load or store operation to the load/store pipeline based on the memory access message, including computing an address for the load or store operation by adding a base address of a named memory type of a plurality of named memory types referenced by the generic pointer to an offset into a memory of the named memory type. The load/store pipeline is operable to, responsive to receipt of the load or store operation, access the memory at the address.