La denominación que se le atribuye a esta arquitectura obedece al hecho de disponer una micro arquitectura
orientada al procesamiento de vectores, (sumas de vectores, productos escalares de vectores, etc.).
Las características que pueden ser aprovechadas con respecto a una arquitectura escalar son:
En una operación vectorial, el cálculo de cada una de las componentes del vector es independiente
del cálculo de los restantes. Es decir, puede realizar “n” operaciones entre las que no hay ningún tipo
de dependencia.
Una única instrucción vectorial codifica una gran cantidad de cálculos, de esta forma se reduce el
número de instrucciones de los programas vectoriales con respecto a los programas que ejecutan los
procesadores escalares.
Los Datos que luego se van a utilizar conjuntamente como componentes de un operador vectorial se
podrían ubicar en posiciones contiguas de memoria. De esta forma se puede aprovechar la localidad
espacial de los accesos que generará el procesador para realizar un diseño adecuado de los
recursos a acceso de memoria, utilizando eficientemente el entrelazado de memoria.
Las aplicaciones que demandan el uso de este tipo de arquitectura son las aplicaciones de cálculo científico,
que exigen velocidades de cómputo elevadas, y tales características son proporcionadas por esta arquitectura
por brindar un paralelismo SIMD.
También conocida como arquitectura registro-registro es decir los accesos a memoria se realizan mediante
instrucciones de carga (LOAD) y almacenamiento (STORE), y las operaciones se realizan con operandos
fuente y resultado en registros.
La presencia de un banco de registros vectoriales, en el que cada registro vectorial dispone de espacio para
almacenar los componentes de un operando vectorial. Además existe una serie de unidades segmentadas
donde se ejecutan operaciones vectoriales.
Por el banco de registros vectoriales y las unidades funcionales segmentadas que utilizan los registros
vectoriales como operandos.
Cuenta le numero de unos del vector mascara VM y pone el resultado en el registro ri.
13. ¿EN QUE SE BASA EL DISEÑO DEL SISTEMA DE MEMORIA DE LOS PROCESADORES
VECTORIALES?
El entrelazado consiste en distribuir el espacio de memoria del procesador entre distintos módulos de
memoria
Si los bits más significativos son los que indican el módulo de memoria, el entrelazado es de orden superior.
Si el campo de bits que indica el módulo corresponde a los bits menos significativos se dice que el
entrelazado es de orden inferior.
El acceso de tipo S y el acceso de tipo C, que permiten (en el caso en que alcancen la máxima eficiencia)
tener un tiempo medio de acceso a cada componente que se acerca a T, tanto más cuanto mayor es el
tamaño del vector.
Para escritura, en primer lugar se almacenarían los datos que se van a escribir en los buffers
correspondientes a cada uno de los módulos. Estos datos se pueden escribir con un retardo t entre escrituras
consecutivas. Una vez que los buffers tienen los datos, se inicia el acceso simultáneo a los módulos de
memoria.
En este tipo de organización existe un puerto de lectura/escritura para cada módulo, de forma que el
controlador de memoria puede enviar al registro de dirección de cada módulo los n-m bits que indican la
ubicación de la posición de memoria a la que se va a acceder es ese módulo. Los m bits que indican el
módulo se utilizan, precisamente, para seleccionar el módulo en cuyo registro de dirección se van a poner los
n-m bits para iniciar el acceso. En este caso, el controlador debe retrasar los accesos consecutivos de forma
que exista un retardo t entre dos accesos consecutivos.
19. ¿CÓMO PODRÍA ENTENDERSE EL PARÁMETRO TPC DEL TIEMPO DE EJECUCIÓN DE UNA
OPERACIÓN VECTORIAL?
* Es el tiempo que tarda en completarse la ejecución de la operación vectorial de cada componente de los
registros vectoriales que intervienen, una vez que a culminado la operación con el primero de ellos.
* También es el retardo con que el cauce puede aceptar nuevos componentes provenientes de los registros
vectoriales que intervienen en la operación.
Los Procesadores vectoriales disponen de varias unidades funcionales vectoriales que trabajan
simultáneamente , la velocidad entonces no solo depende de la segmentación de cauce del que dispone ,
aprovechando el paralelismo de datos , SINO en el uso de estas Unidades Funcionales para ejecutar
operaciones vectoriales distintas .
Mediante 2 métodos
El Solapamiento de Cauce
El Encadenamiento de Cauce
Es la Posibilidad de iniciar operaciones vectoriales en cauces distintos a medida que las instrucciones
vectoriales correspondientes se van decodificando.
Un cauce puede empezar a procesar los resultados que otro cauce produce a medida que este ultimo va
terminando de procesar sus componentes, así no se tiene que esperar a que el primer cauce termine
completamente de ejecutarse.
25.¿cuales son las los principales problemas que hacen que un procesador vectorial tenga
problemas en cuanto a la eficiencia debido a que no se ajustan a sus caracteristicas de la
microarquitectura vectorial?
-cuando el numero de componentes que constituyen los vectores es mayor que el tamaño de los registros
vectoriales ( k > MVL)
-cuando se necesita acceder a posiciones de memoria que no están situados con la regularidad que el
sistema de memoria requiere para funcionar eficientemente
26. ¿QUÉ SUCEDE CUANDO EL NUMERO DE COMPONENTES QUE CONSTITUYEN LOS VECTORES
ES MAYOR QUE EL TAMAÑO DE LOS REGISTROS VECTORIALES, (k>MVL)?
Cuando el número componentes que constituyen los vectores es mayor al número de registros vectoriales,
existen problemas para crear las instrucciones vectoriales ,como por ejemplo vectorizar un bucle que
contenga mas componentes (o iteraciones ) que el numero máximo de registros (MVL), así que se utiliza la
técnica de Strip Mining para solucionar el problema.
Esta técnica consiste en convertir un bucle(que tenga un numero de iteraciones mayor al numero de
componentes de los registros)en dos bucles uno interno con K mod MVL iteraciones , es decir ,el resto de
dividir K entre MVL; y otro bucle externo de K/MVL(solo parte entera) iteraciones .concretamente estos bucles
formaran un vector con [k mod MVL] elementos y otro con [k/MVL] elementos; para luego convertirlos en
instrucciones vectoriales.
28. ¿QUE ES EL TIEMPO POR ELEMENTO?
El tiempo de elemento es dividir el tiempo de procesamiento del bucle con K interacciones entre en el número
de elementos K, es decir Tk/k.
El tiempo de sobrecarga es la parte del tiempo por elemento que se consume para que al final se pueda
generar datos cada tiempo TPC, es decir:
Ok/k=Tk/k – TPC
30.¿diferencia entre Rk y R ?
32. ¿QUÉ INSTRUCCIONES SE USAN PARA GENERAR CÓDIGO CON SENTENCIAS CONDICIONALES
EN LOS BUCLES?
Para abordar estas situaciones, los repertorios de instrucciones vectoriales suelen disponer de instrucciones
especificas, así existen instrucciones que permiten hacer referencia a direcciones de memoria utilizando como
índices elementos componentes de registros vectoriales como LVI,SVI y CVI.
Para gestionar el registro de mascara VM se usa las instrucciones POP y CMV cuyos bits se modifican
mediante instrucciones de comparación como SxxV y SxxSV.
el registro de mascara VM es un registro que se utiliza para crear algún tipo de exclusión de algunos
elementos, como ya se vio se puede modificar este registro es decir que puede poner a 1 si se verifica la
condición y 0 si es que es falso, cuando se realiza operaciones los elementos cuya mascara sea 1 entonces
es procesada si es 0 entonces e salta la siguiente elemento así hasta el final del vector.
37. ¿CUÁLES SON LAS UNIDADES POR LAS QUE ESTA CONSTITUIDO CADA PROCESADOR
VECTORIAL DEL EARTH SIMULATOR?
UNIDAD SUPERESCALAR
UNIDAD VECTORIAL
Constituida de 72 registros vectoriales cada una constituida por MVL=256 elementos en cada unidad vectorial
hay 8 conjuntos de cauces cada uno de los cuales dispone de seis cauces vectoriales, para
suma/desplazamiento, multiplicación, división, operaciones lógicas, enmascaramiento y
carga/almacenamiento.
39. ¿CUÁLES SON LAS DIFERENCIAS DEL CRAY-1 CON EL EARTH SIMULATOR?
En flops el cray-1 alcanza de 100 a 160 MFLOPS en cambio el earth simulator es de 41 TFLOPS
En frecuencia el el cray-1 alcanza los 80 Mhz en cambio el earth simulator alcanza de 500 Mhz a 1 Ghz