domingo, 21 de abril de 2013

RISC VS PROCESADOR VECTORIAL

PROCESADOR VECTORIAL
La mayoría de las máquinas vectoriales permiten que los vectores sean tratados como números en punto flotante (FP), como enteros, o como datos lógicos, aunque nos centraremos en el punto flotante. La unidad escalar no es básicamente diferente del tipo de CPU segmentada.
Hay dos tipos principales de arquitecturas vectoriales: máquinas vectoriales con registros y máquinas vectoriales memoria-memoria. En una máquina vectorial con registros, todas las operaciones vectoriales -excepto las de carga y almacenamiento- operan con vectores almacenados en los registros. Estas máquinas son el equivalente vectorial de una arquitectura escalar de carga/almacenamiento. Todas las máquinas vectoriales importantes construidas en 1990 utilizan una arquitectura vectorial con registros; éstas incluyen las máquinas de Cray Research (CRAY-1, CRAY-2, X-MP e Y-MP), los supercomputadores japoneses (NEC SX/2, Fujitsu VP200 y el Hitachi S820) y los minisupercomputadores (Convex C- 1 y C-2). En una máquina vectorial memoriamemoria todas las operaciones vectoriales son de memoria a memoria. Las primeras máquinas vectoriales fueron de este tipo, como por ejemplo las máquinas de CDC. A partir de este punto nos centraremos sólo en arquitecturas vectoriales con registros; volveremos brevemente a las arquitecturas vectoriales memoria-memoria. Comenzamos con una máquina vectorial con registros que consta de los componentes principales mostrados en la Figura 1.
 Esta máquina, que está aproximadamente basada en el CRAY- 1; la llamaremos DLXV; su parte entera es DLX, y su parte vectorial es la extensión vectorial lógica de DLX.
Figura 1  Estructura básica de una arquitectura con registros vectoriales.
FUENTE: David Patterson (2000)
Operaciones Vectoriales
·         Todas las operaciones vectoriales están segmentadas. En el DLXV, la suma tiene un tiempo de inicio de 6 ciclos, y la multiplicación de 7. Las operaciones aritméticas tienen latencia 1.
·         Las cargas y almacenamientos en memoria también están segmentadas, con un tiempo de inicio de 12 ciclos. Pueden realizarse operaciones en paralelo, siempre que existan múltiples puertos de lectura y escritura en la memoria.
·         Grupo: Conjunto de instrucciones vectoriales que pueden ejecutarse en paralelo. No pueden tener ningún tipo de riesgo entre ellas.
·         Tiempo de grupo: Tiempo aproximado de ejecución de una instrucción vectorial. Es independiente del número de elementos del vector.
·         m grupos con una longitud de vector de n, tardarían m · n ciclos. Esto no es exacto, ya que falta el tiempo de iniciación de las operaciones.
Ventajas de los procesadores vectoriales:

Proporcionan operaciones para trabajar con vectores. Una sola instrucción trabajo sobre todos los elementos de un vector:
·         El cálculo sobre los elementos de un vector suele ser independiente. Menos riesgos de datos.
·         El número de instrucciones es bajo. Se mitiga el cuello de botella de Flynn.
·         Los accesos a memoria siguen un patrón fijo. Los elementos de los vectores están ordenados.
·         Se eliminan bucles y dependencia de control.


PROCESADORES RISC
RISC se basaba en la idea de que los procesadores eran más eficientes si las tareas que le eran entregadas eran muy sencillas. Esto se reflejaba en gran parte al momento de decodificar las instrucciones. Aunque el tener instrucciones más sencillas implica un número más grande de las mismas, los procesadores tienden a ser más eficientes al ejecutar este tipo de instrucciones que menos pero más complejas.

Algunas personas tienden a confundirse al pensar que RISC significa un set de instrucciones más pequeño. Al contrario, las instrucciones crecieron considerablemente, solo se hicieron más específicas en lo que tenían que hacer, por ejemplo, existen instrucciones que se dedican únicamente al acceso a memoria, pero por lo mismo, son más eficientes en lo que hacen.
Esto también facilitó el desarrollo de lo que se conoce como pipelines, que es dividir las tareas en instrucciones sencillas que se puedan ir encolando para su ejecución “en paralelo”. Esto se dio en gran parte a que se buscó que las instrucciones tardaran solo un ciclo de reloj para ser ejecutadas (obviamente si era una búsqueda en memoria y los datos no estaban disponibles, pues se perdía el propósito).
Características:
  •  Incrementar el tamaño del conjunto de registros.
  • Mayor velocidad en la ejecución de instrucciones.
  • Implementar medidas para aumentar el paralelismo interno.
  • Añadir cachés enormes.
  • Añadir otras funcionalidades, como E/S y relojes para minicontroladores.
  • Construir los chips en líneas de producción antiguas que de otra manera no serían utilizables.
  • No ampliar las funcionalidades, y por lo tanto ofrecer el chip para aplicaciones de bajo consumo de energía o de tamaño limitado.
  • Codificación uniforme de instrucciones (ejemplo: el código de operación se encuentra siempre en la misma posición en cada instrucción, la cual es siempre una palabra), lo que permite una decodificación más rápida.
  • Un conjunto de registros homogéneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y así simplificar el diseño del compilador (aunque existen muchas formas de separar los ficheros de registro de entero y coma flotante).
  • Modos de direccionamiento simple con modos más complejos reemplazados por secuencias de instrucciones aritméticas simples.
  • Los tipos de datos soportados en el hardware (por ejemplo, algunas máquinas CISC tiene instrucciones para tratar con tipos byte, cadena) no se encuentran en una máquina RISC.
BIBLIOGRAFÍA
http://www.nebrija.es/~jmaestro/AT5118/Vectorial.pdf, procesadores vectoriales, recuperado 21/04/2013  
David Patterson (2000), Arquitectura De Computadores Un Enfoque Cuantitativo, Madrid: España, editorial Reverte
http://es.wikipedia.org/wiki/Reduced_instruction_set_computing, Arquitectura Risc, recuperado 21/04/2013
http://quierobits.com/tecnologia/risc-explicando-la-arquitectura-de-los-procesadores/, Explicación de la arquitectura Risc, recuperado 21/04/2013

No hay comentarios:

Publicar un comentario