Hola invitado | [ Registrate | Entrar ]  
Menú principal

Usuarios On-Line
Bienvenido Invitado

El registro es completamente gratuito y podrás acceder a todas las partes de la web
Puedes registrarte aquí
Usuario:


Contraseña:


Recuérdame

Miembros:  Admins
No Conectado  krixer  
No Conectado  IVAJ  
No Conectado  JimmyJazz  
Miembros:  Colaboradores
No Conectado  Bel  
No Conectado  Tonajo  
Miembros:  Conectados 13
Invitados:  Invitados: 13
Miembros:  Miembros Online 0
No hay miembros conectados

Foros M-E
 Foro Modding-Espanol.com
Hardware ::  Placas base y Procesadores
Procesadores VLIW [Optimización de procesadores]

Moderado por: krixer, JimmyJazz

JimmyJazz Enviado: 17.01.2008, 14:26
Admin
Admin
JimmyJazz

Karma: 9

Total: 8
Registrado: jun. 2007
Mensajes: 88

Estado: Desconectado
Ultima visita: 06.08.08
INTRODUCCIÓN

Esto es un pequeño anexo que deriva de los procesadores superescalares.

Si recordais, un procesador superescalar era un procesador con varias unidades de ejecución de manera que se podía ejecutar varías instrucciones simultáneamente y hablé de una unidad de Dispatch que es un chip integrado en el procesador que se encarga de administrar las "colas" de instrucciones que se forman en las unidades de ejecución, es decir, se encarga de ir direccionando las instrucciones hacia las unidades de ejecución que vayan quedando libres. Este chip también se encarga de ver posibles dependencias en la ejecución de un programa y genera instrucciones de espera para evitar un malfuncionamiento del programa.

Por ejemplo observad este programa

1 Multiplicar R1 por R2 y guardarlo en R3
2 Sumar R3 con R4 y guardarlo en R5
3 Restar R1 de R4 y guardarlo en R6

Suponiendo que tenemos un procesador con tres unidades de ejecución, la unidad de Dispatch en principio se encargaría de que cada una de las instrucciones se ejecutara en una unidad de ejecución para terminar con las tres a la vez, pero si os fijais la segunda instrucción depende de la primera y de esto se da cuenta la unidad de Dispatch de manera que hará ejecutar las instrucciones 1 y 3 dejando la 2 en espera de que termine la 1.

Aunque todo esto nos parezca muy simple, diseñar un chip que haga todo esto es muy complejo, hoy en día no hay problema por el número de transistores que se necesitan para fabricar esta unidad, la verdad que hoy en día el problema es utilizar todos los transistores de un procesador pero si que es un chip de diseño muy complicado y esto encarece un procesador. A los diseñadores de procesadores como siempre esto no les gusta (básicamente su trabajo consiste en que no les guste el tiempo perdido y las cosas caras y hacer lo posible por evitar esto) y deciden investigar un nuevo tipo de procesador.


PROCESADORES VLIW

Las siglas de VLIW significan Very Long Instruction Word. Estos procesadores manejan instrucciones de una gran longitud. Pero no os penseis que se tratan de nuevas instrucciones distintas a las que ejecutan los procesadores normales, se trata de que en cada palabra que recibe el procesador como si fuera una instrucción contenga varias instrucciones. Poniendo el ejemplo anterior, el procesador en vez de recibir las 3 instrucciones en tres "palabras":

MUL R3,R1,R2
SUM R5,R3,R4
DEC R6,R1,R4

recibiría una palabra conteniendo las tres instrucciones:

MUL R3,R1,R2 SUM R5,R3,R4 DEC R6,R1,R4

de esta manera no es necesaria la unidad Dispatch a la hora de distribuir cada instrucción por una unidad de ejecución. La primera parte de la palabra va a una unidad de ejecución, la segunda parte a otra unidad y la tercera a la unidad restante. Pero si os fijais la unidad Dispatch también se encargaba de preveer que la instrucción 2 depende de la uno, ahora no hay unidad Dispatch que se encargue de esto, de manera que para estos procesadores se han de crear compiladores que hagan la faena de la unidad Dispatch en lo relativo a solucionar las dependencias. Una vez compilado el programa anterior, nuestro compilador detectaría la dependencia y enviaría al procesador algo parecido a esto:

MUL R3,R1,R2 ---------------- DEC R6,R1,R4
---------------- SUM R5,R3,R4 ---------------

Se intentaron diseñar procesadores de uso genérico de este tipo pero pronto se dieron cuenta de que lo que se habían ahorrado ellos en el diseño del procesador por no tener unidad de Dispatch lo pagaban los pobres programadores que tenían que crear compiladores que detectaran dependencias y se encargaran de reordenar las instrucciones de forma adecuada. Total que fue un fracaso en rendimiento y ahorrarse no se ahorraban nada, les salía más caro así que se abandonó el proyecto como procesadores de uso genérico pero aún así hoy en día todos tenemos en casa procesadores VLIW. Entonces voi a terminar este tutorial con una pregunta para vosotros aver si se os ocurre, es muy fácil eh?
Pensad que cosas de vuestra casa tienen un procesador VLIW, pensad algún proceso informático que no genere dependencias de manera que se pueden ejecutar siempre varias instrucciones simultáneamente sin preocuparse por que del resultado de una instrucción pueda variar el resultado de otra.
Seguramente acerteis, pensadlo con calma, ya pondré la respuesta. Saludos!!

Bueno explico la respuesta. Es muy sencillo-> Los iPod, reproductores MP4, DVDs, tarjetas gráficas o puente norte contienen procesadores VLIW, si os fijais, las tareas que realizan estos aparatos son siempre de decodificar video o sonido e ir refrescando la pantalla. El ir actualizando cada píxel de la pantalla es una instrucción para cada píxel y entre sí, estas instrucciones son independientes, el actualizar el píxel 23x56 no interfiere para nada en que se actualize después el píxel 300x24 ni ningún otro.

Un procesador VLIW es ideal para estas tareas de refrescar y decodificar ya que permite decodificar y actualizar varios píxeles en cada ciclo de reloj y lo que nos interesa a la hora de reproducir un vídeo o cancion es precisamente eso, una gran velocidad de actualización de la pantalla.

PD. Podeis copiar el texto a otras webs si lo deseais, pero siempre, haciendo referencia al Autor y a la web de donde lo habeis sacado, en este caso, JimmyJazz y Modding-Espanol.com. Gracias




Ve lo que yo veo, siente como siento, salva como salvo, juzga como juzgo.
Top  Perfil del usuario Enviar MP WwW
JimmyJazz Enviado: 20.01.2008, 18:42
Admin
Admin
JimmyJazz

Karma: 9

Total: 8
Registrado: jun. 2007
Mensajes: 88

Estado: Desconectado
Ultima visita: 06.08.08
PARTICIPAD!! xD




Ve lo que yo veo, siente como siento, salva como salvo, juzga como juzgo.
Top  Perfil del usuario Enviar MP WwW
IVAJ Enviado: 24.01.2008, 23:42
Admin
Admin
IVAJ

Karma: 10

Total: 10
Registrado: mar. 2007
Mensajes: 47

Estado: Desconectado
Ultima visita: 05.05.08
Que quieres que participemos xD si amí por lo menos me suena a ^_^...




Saludos IVAJ icon_wink icon_wink
Top  Perfil del usuario Enviar MP
JimmyJazz Enviado: 25.01.2008, 00:03
Admin
Admin
JimmyJazz

Karma: 9

Total: 8
Registrado: jun. 2007
Mensajes: 88

Estado: Desconectado
Ultima visita: 06.08.08
Weno es que para este apartado hacer falta aver leido el de Pipeline y Superescalares.
Weno pondré la respuesta mañana que ara me da palo xD




Ve lo que yo veo, siente como siento, salva como salvo, juzga como juzgo.
Top  Perfil del usuario Enviar MP WwW




Temas: 99, Mensajes: 403
Usuarios registrados | & | 0 invitado

Dadas para los 10 últimos minutos.
Powered by pnForum Version 2.6
 



Todos los logos y marcas registradas en este sitio son propiedad de sus respectivos dueños. Los comentarios son propiedad de sus autores, el resto es de Modding-Espanol.com © 2003 - 2008,

Puedes sindicar nuestras noticias usando el archivo backend.php