Vector gather buffer for multiple address vector loads

    公开(公告)号:GB2499966A

    公开(公告)日:2013-09-04

    申请号:GB201311810

    申请日:2011-12-01

    Applicant: IBM

    Abstract: A dedicated vector gather buffer (VGB) that stores multiple cache lines read from a memory hierarchy in one or more Logical Units (LUs) each having multiple buffer entries and performs parallel operations on vector registers. Once loaded with data, an LU is read using a single port. The VGB initiates prefetch events that keep it full in response to the demand created by 'gather' instructions. The VGB includes one or more write ports for receiving data from the memory hierarchy and a read port capable of reading data from the columns of the LU to be loaded into a vector register. Data is extracted from the VGB by (1) using a separate port for each item read, (2) implementing each VGB entry as a shift register and shifting an appropriate amount until all entries are aligned, or (3) enforcing a uniform offset for all items.

    Vector Gather Buffer für mehrere Adressen-Vektor-Ladevorgänge

    公开(公告)号:DE112011103559T5

    公开(公告)日:2013-08-01

    申请号:DE112011103559

    申请日:2011-12-01

    Applicant: IBM

    Abstract: Ein dedizierter Vector Gather Buffer (VGB) speichert mehrere Cachespeicher-Zeilen, die von einer Speicherhierarchie gelesen werden, in einer oder mehreren logischen Einheiten (Logical Units, LUs), die jeweils mehrere Puffereinträge aufweisen und führt parallele Operationen an Vektorregistern aus. Sind die Daten in die LU geladen, werden sie unter Verwendung eines einzelnen Port gelesen. Der VGB initiiert Vorabrufsereignisse, mit denen er befüllt wird, in Reaktion auf die Anforderung, die durch die „Gather”(Erfassungs-)Anweisungen erzeugt wird. Der VGB weist einen oder mehrere Schreibports zum Empfangen von Daten aus der Speicherhierarchie und einen Leseport auf, der in der Lage ist, Daten aus den Spalten der LU zu lesen, die in ein Vektorregister geladen werden sollen. Daten werden aus dem VGB extrahiert durch (1) Verwenden eines separaten Port für jedes gelesene Datenelement, (2) Implementieren jedes VGB-Eintrags als Schieberegister und Verschieben um einen geeigneten Betrag, so lange, bis alle Einträge ausgerichtet sind, oder (3) Durchsetzen einer einheitlichen relativen Adresse für alle Datenelemente.

Patent Agency Ranking