POrque una tarjeta grafica?
-
Me pica la curiosidad. Como todos sabemos todo lo que vemos en la pantalla son el resultado de millones de calculos de nuestro ordenador. Mi pregunta es, para aue hace falta una tarjeta grafica? Ponemos por ejemplo un I7 K con oc a 4,6 GHz. Digo yo, este pepino no tiene suficiente potencia para correr por ejemplo el BF3?
O aun mas interesante, una tarjeta grafica ya cuenta con un procesador, memoria y ventilador; porque no se usan mas tarjetas graficas en vez de un cpu si en el fondo hacen los mismo, hacer operaciones? -
-
Pone "coprocesador dedicado al procesamiento de gráficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones"
O sea que ayuda, y no se puede prescindir de esa ayuda? Un CPU potente no puede hacer todo el trabajo?Y la segunda pregunta que hacia es porque la tarjeta grafica tiene un procesador, no podriamos utilizarlo como si fuera una CPU?
-
En un principio, todo era una amalgama que se integraba en el mismo circuito.
A medida que se desarrollaban aplicaciones más potentes, se fue llegando a la conclusión de que lo óptimo serían componentes dedicados para cada tarea.
Es verdad, y de hecho hasta hace unas décadas era así. que el procesador era el que hacía todo el trabajo, de hecho, podría ejecutarse prácticamente cualquier aplicación de hoy día sin necesidad de una aceleradora si dichas aplicaciones así lo permitieran (renderizado por software, que no lo hacen ¿Te imaginas jugar al Skyrim o al BF3 a trompicones, con resolución de garbanzo, sin sombras y a colores planos?).De lo que se trata, en definitiva, es de "descargar" al procesador de trabajo, y en ése aspecto es la mejor forma de hacerlo.;D
Edito: También, y de hecho en las integradas pasa eso, que la parte correspondiente de la CPU la dedica a eso.
Como ya digo, la cuestión está en que cada componente se encarge de lo suyo de manera más o menos autónoma, y en éste particular y simplificando muuucho, la CPU se encarga de la gestión de rutinas y comandos relacionadas con la arquitectura "base" de la aplicación, y la GPU de las funciones necesarias para su representación en la pantalla. -
Vale, o sea segun tu el problema es que el software no esta preparado para funcionar solo con la cpu no?
-
Según yo, no, según la industria. Ya apenas hay aplicaciones que ofrezcan como alternativa la aceleración por software.
Se ha ido desde aplicaciones sin aceleración, (el 2D de toda la vida), aplicaciones aceleradas con opción a ejecución por software (las primeras aceleradoras 3D que trabajaban junto con las VGA, que luego pasaron a fusionarse), hasta lo que tenemos hoy que son aplicaciones 3D que por requisitos de hardware obligan a disponer de una aceleradora.
Un ejemplo de cada etapa en juegos, que es algo que todos medio dominamos: Wolfstein (apariencia 3D desarrollado en 2D), Quake (podías jugar con renderizado de software ayudado por las extensiones 3D de los P2 / K6-2 o con aquellas aceleradoras pre-T&L) Skyrim (donde la aceleración por software solo se aplica al puntero del ratón).
Realmente siento no poder explicarme mejor; hacer que todo el trabajo gráfico actual recaiga en la CPU, por muchos núcleos que ésta tenga, sería volver a la época de los primeros Pentium con gráficas S3 Trio. -
Jajaj ok gracias,
Y si se hiciera viceversa?Utilizar un Procesador de una gpu como cpu? No son mas eficientes? -
Imagínate, por poner una analogía, una oficina.
Existen varios departamentos que se encargan de segmentos específicos de un proyecto común, uno diseña el producto, otro planea el merchandising, otro se encarga del tema de homologaciones, etc.
Ahora imagina que despiden a todos y te dejan a tí a cargo de todo: al final ese producto saldrá a la calle, pero tal vez cuando lo haga ya esté obsoleto.
Pues lo mismo pasa con nuestras máquinas: en el momento en que una tiene sobrecarga de trabajo, se ralentiza. Como ya dije, antes la CPU era la que se encargaba de todo, y aunque con el tiempo se fue aumentando su potencia y capacidad de procesamiento, también aumentaban los recursos que necesitaban las aplicaciones, por lo que siempre ha existido cierto "equilibrio".
Ciertamente, el apartado gráfico ha sido de los más exigentes según evolucionaba, requiriendo cada vez más y más cilcos de la CPU para éste fin. La solución fue diseñar una arquitectura que permitiese liberar a la CPU de todo ese trabajo, creando una unidad exclusiva para todo lo relacionado con la representación en pantalla de las escenas en 3D más elaboradas.
Ésto ha desembocado en (que es lo que creo que te confunde) pequeños "sub-ordenadores", con placa base, procesador, memoria, que únicamente tienen como función el que en la pantalla aparezcan las escenas más espectaculares que la programación y la propia tecnología permitan.
Sin embargo, hay que tener en cuenta que también ésto fue aplicado a las tarjetas de sonido (yo aún tengo una SB32 PnP para puerto ISA que prácticamente funcionaba sola), y de hecho hasta hace poco, su adquisición era algo obligado. Pero al no necesitar tanta energía ni producir tanto calor, su integración en las placas base ha acabado por normalizarse.Aquí hay una pequeña guía que tal vez te acabe de sacar de dudas, a muchos nos produce nostalgia.:sisi:
-
OK ahora pillo mas lo que quieres decir.
Lo del Wiki, me he leido los primeros parrafos pero hay mucho mas texto xDGracias
-
Lo que dices es como preguntar si puedes usar un F1 como camión de gran tonelaje o viceversa ya que al fin y al cabo ambos llevan motor, ruedas y muchos caballos.
Un GPU es un tipo de procesador dedicado a resolver muchas tareas simples por segundo de forma paralela, mientras que un CPU x86 actual es un procesador dedicado a resolver tareas grandes y más complejas. Si bien es cierto que ambos podrían realizar el trabajo del otro, teóricamente, sin contar de que el software (que para el ejemplo sería el conductor) esté preparado o no para ello; lógicamente no las desempeñarán de forma optima o aceptable igual que un F1 puede tirar un poco de una carga de toneladas, pero no podría substituir a un camión.
Igual que un motor se fabrica para un determinado trabajo un procesador igualmente, no puedes hablar de esto como si hablásemos de una bombilla que tanto le tiene alumbrar un rocho que un comedor. Un chip de procesador consta de muchas partes que se diseñan para procesar ciertas tareas, ahora incluso es común que en el mismo encapsulado esté incluido el GPU que usa la RAM para hacer de tarjeta gráfica, pero cuando se trata de usar a conciencia una tarjeta gráfica usamos una aparte que lleva un CPU y memoria diseñadas para ese trabajo concreto y por lo tanto de mucho mayor rendimiento Cuanto más? un i7 4770 da unos 100 GFlops mientras que una 780 da casi 4000 GFlops (miles de operaciones por segundo), es decir 40 veces más, y eso es solo el trabajo del CPU/GPU sin contar la diferencia de rendimiento de la memoria de una tarjeta gráfica (igual que un camión y un F1 no llevan los mismos neumáticos).
Entonces un GPU puede hacer de CPU ya que tiene tanta potencia de cálculo, pues igual que un camión puede hacer de F1, si el piloto (o el software) sabe controlarlo puede que complete el circuito, pero no irá muy rápido. Los GPUs usan muchas unidades de procesamiento paralelas para lograr la potencia de cálculo pero cada una de ellas tiene muy poca por si sola, así si tuviera que procesar una sola tarea que no se pueda partir entre todas esas unidades iría tremendamente lento (que es lo que habitualmente se dedica a hacer el CPU).
De ahí que la pregunta no sea muy inteligente, deberías interesarte primero por comprender que es un CPU. Te animo a que leas en la wikipedia (en ingles si te es posible), los artículos relacionados con: CPU, GPU, paralelismo, microarquitectura, coprocesador, CUDA, OpenCL y los referidos en ellos.
PD. Si finalmente veremos una fusión entre CPU y GPU como pasó con los coprocesadores matemáticos? (esa sí sería una buena pregunta) Muy posiblemente, es más ya la estamos viendo para las gamas bajas, y parece que seguirá aumentando a la gama media, pero de alto rendimiento lo veo complicado porque esto solo lo usa un publico determinado: juegos y renderizados; cada cual con su vertiente, así que es lógico que sean componentes que se pongan por separado.
-
Mejor explicado imposible xD
Muchas gracias