Method and apparatus for transferring vector data between memory and a register file

   
   

A compiler and vector data transfer instructions for use in a vector transfer unit for handling transfers of vector data between a memory and a data processor in a computer system. The compiler identifies the use of vector data in an application program and implements one or more vector instructions for transferring the vector data between memory and registers used to perform calculations on the vector data. A vector is partitioned by the compiler into variable-sized streams which are transferred into and out of the processor as burst transactions. The compiler schedules transfers of vector streams required in a calculation so that calculations on a portion of the vector data are performed while a subsequent portion of the vector data is transferred. A vector buffer pool is partitioned into one or more vector buffers and each vector buffer is used at a specific time. The compiler partitions a vector buffer into the variable-sized streams depending on the number of vectors buffers required by an application program and the size required for each stream. Each vector buffer is allocated for exclusive use by an application program that is executing in the data processor. A synchronization instruction is used to allow all VTU instructions issued prior to the synchronization instruction to finish before any VTU instructions issued after the synchronization instruction may begin. Instructions for controlling access to the vector buffer pool are also included.

Een compiler en vectorinstructies van de gegevensoverdracht voor gebruik in een vectoroverdrachteenheid voor de behandeling van overdrachten van vectorgegevens tussen een geheugen en een gegevensbewerker in een computersysteem. De compiler identificeert het gebruik van vectorgegevens in een toepassingsprogramma en voert één of meerdere vectorinstructies voor het overbrengen van de vectorgegevens tussen geheugen en registers uit die wordt gebruikt om berekeningen op de vectorgegevens uit te voeren. Een vector wordt verdeeld door de compiler in veranderlijk-gerangschikte stromen die in en uit de bewerker zoals uitbarstingstransacties worden overgebracht. De compiler plant overdrachten van vectorstromen die in een berekening worden vereist zodat de berekeningen op een gedeelte vectorgegevens worden uitgevoerd terwijl een verder gedeelte vectorgegevens wordt overgebracht. Een vectorbufferpool wordt verdeeld in één of meerdere vectorbuffers en elke vectorbuffer wordt gebruikt in een specifieke tijd. De compiler verdeelt een vectorbuffer in de veranderlijk-gerangschikte stromen afhankelijk van het aantal vectorenbuffers die door een toepassingsprogramma en de grootte worden vereist die voor elke stroom wordt vereist. Elke vectorbuffer wordt toegewezen voor exclusief gebruik door een toepassingsprogramma dat in de gegevensbewerker uitvoert. Een synchronisatieinstructie wordt gebruikt om alle instructies toe te staan VTU die voorafgaand aan de synchronisatieinstructie worden uitgegeven om vóór om het even welke uitgegeven instructies te eindigen VTU nadat de synchronisatieinstructie kan beginnen. De instructies voor het controleren van toegang tot de vectorbufferpool zijn ook inbegrepen.

 
Web www.patentalert.com

< Multi-processing financial transaction processing system

< Method and apparatus for a mortgage loan originator compliance engine

> Active watermarks and watermark agents

> Methods of characterizing drug activities using consensus profiles

~ 00142