A vector transfer unit for handling transfers of vector data between a
memory and a data processor by one or more application programs in a
computer system. A compiler identifies the use of vector data in the
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. The compiler also schedules transfers of
portions of the vector data 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 based on configuration information
including the number of vectors buffers required by an application program
and the size required for each vector buffer. The vector buffers are
allocated for exclusive use by an application program that is executing in
the data processor. During a context switch between application programs,
a synchronization instruction is used to allow the instructions issued by
one application program to finish before any transfer instructions issued
by the second application program may begin. Instructions for indicating
whether the vector buffer pool is available for use are also included.
Una unidad de la transferencia del vector para manejar transferencias de los datos del vector entre una memoria y un informático por unos o más programas de uso en un sistema informático. Un recopilador identifica el uso de los datos del vector en el programa de uso y pone unas o más instrucciones del vector en ejecucio'n para transferir los datos del vector entre la memoria y los registros usados para realizar cálculos sobre los datos del vector. El recopilador también programar transferencias de las porciones de los datos del vector requeridos en un cálculo para realizar cálculos sobre una porción de los datos del vector mientras que una porción subsecuente de los datos del vector se transfiere. Una piscina de almacenador intermediario del vector se reparte en unos o más almacenadores intermediarios del vector basados en la información de la configuración incluyendo el número de los almacenadores intermediarios de los vectores requeridos por un programa de uso y el tamaño requeridos para cada almacenador intermediario del vector. Los almacenadores intermediarios del vector son asignados para el uso exclusivo por un programa de uso que se esté ejecutando en el informático. Durante un interruptor del contexto entre los programas de uso, se utiliza una instrucción de la sincronización de permitir las instrucciones publicadas por un programa de uso para acabar antes de cualquier instrucción de la transferencia publicada por el segundo programa de uso puede comenzar. Las instrucciones para indicar si la piscina de almacenador intermediario del vector está disponible para el uso también se incluyen.