aca tocaste mi tema, y dejame decirte que andas totalmente equivocado ya mx te hizo referencia respecto a lo ridiculo que tiene lo que dijiste pero por si acaso no te quedo claro o para evitar que otras personas puedan a llegar a creer que algo de lo que dijiste pueda ser verdad
los graficos y TODO lo que ves en una computadora esta en unos y ceros te recomiendo que busques el articulo que escribi de profundidad de color en las imagenes eso probablemente te ayude a darte cuenta de tu error.
Abonando a la conversación. Creo que aquí el muchacho Clive esta un poco confundido de como se procesan los datos en un GPU.
Realmente TODOS los datos en una computadora se guardan como 1s y 0s, esto será así hasta que se desarrolle la computación cuantica. Pero actualmente desde la calculadora de bolsillo más sencilla hasta la ultima máquina Top-End guarda dentro de si los datos en forma de 1s y 0s.
Las tarjetas gráficas poseen funciones que permiten guardar y procesar fácilmente información acerca de geometrias, texturas y fuentes de luz, además implementan en hardware funciones "comunes" utilizadas para la codificacion/decodificación de audio y video. Esto sumado a una interface de programación adecuada (OpenGL o DirectX) te permite "trabajar" con datos que reprentan figuras geométricas e imágenes en 2D o 3D (como dice Clive). Sin embargo, estos datos siguen siendo 1s y 0s... que "estrategias" de almacenamiento y procesamiento se ocupe para procesar rápida y eficientemente estas representaciones de datos es los que diferencia a cada fabricante.
Muchas de las funciones matemáticas que son generalmente utilizadas para trabajar imágenes en 3D implican operaciones de matrices que trabajan con una gran cantidad de datos a la vez, las GPU están diseñadas realizar este tipo de trabajos.
Ahora... alguien pensó.. Bueno ¿Que tal si utilizo este gran poder de procesamiento... para trabajar por ejemplo... con una base de datos enoorme? O que tal si ocupo esta rapidez para trabajar grandes cantidades de datos para realizar calculos físicos. Y ahí es donde nace el termino acuñado como GPGPU (General-Purpose computation on GPU).
Obviamente para aplicaciones que trabajan con grandes cantidades de datos y/o son altamente paralelizables puede que sea más eficiente que el CPU delegue la tarea al GPU. Por ejemplo... la decodificación de un archivo de video.
¿Por qué entonces mejor no usamos un GPU en vez de un CPU? Simple... porque la mayoría de tareas que ejecuta la computadora no trabajan con grandes cantidades de datos, ni son demasiado paralelizables. La mayoría de procesos que controlan dispositivos de E/S trabajan en base a estimulos y el estado de la aplicación depende de los datos que se vayan leyendo ingresando. Los microprocesadores actuales son especiales ya que estan diseñados para trabajar con muchos saltos en el codigo y decisiones (o branchs). Los procesadores actuales incluso cuentan con prediccion de saltos que los que hacen es intentar de "adivinar" (dicho rapido y mal) cual sera la siguiente condicion de un programa para permitir a los procesos ejecutarse más rápido.
Mi opinión personal es que los micros del futuro incluiran varios nucleos para procesamiento general e igualmente poseeran nucleos para el procesamiento gráfico y multimedia. Intel ya ha sacado un par de estos micros para las laptops.
No falta mucho para que AMD saque algo así como un CPU Gamer que ya incluya un nucleo GPU dentro de sí. Esto ha de tener preocupadísima a la gente de Nvidia porque como dije reduciria considerablemente la latencia entre GPU-CPU y si tienes en el mismo chip el controlador de RAM, tenes un poder de procesamiento y gráficos muchísimo más potente que teniendo a la GPU separada del CPU por el bus de datos.
Como les dije antes.... El problema actual con el GPGPU es el cuello de botella causado por enviar los datos desde la memoria hasta el GPU via bus de sistema.