Zokormazo escribió:altivec, una gpu y 387, las tres son coprocesadores por hardware. Como es eso de coprocesador por software? Y eso de mezclar coprocesadores con coprocesadores? Ahi ya me he perdido xD
Yo no niego que hayan podido hacer mejoras en este aspecto. Pero el uso de coprocesadores per se no es tan revolucionario como lo pintan.
Pero bueno, todo esto venia porque no entendia a que venian las mejoras en los servidores de bing con la consola, pero ya me ha explicado papatuelo que es microsoft misma la que mezcla todo xD
EDIT: lo revolucionario en todo caso seria el uso de coprocesadores reprogramables (como si reprogramaramos la microcode?) y hacer uso de un coprocesador generico para procesamientos especificos.
Pues no es tan difícil.
Tú puedes tener
un coprocesador como la FPU, con algunas unidades que ejecutan por hardware operaciones en punto flotante. Pero para ejecutar algo necesitas: cargar dato en registro, cargar dato en registro, cargar operación en la unidad de control microprogramada (que es más versátil pero más lenta,
http://es.wikipedia.org/wiki/Unidad_de_control), mover datos entre sus ALUs...compara eso por ejemplo con una mini-FPU que sólo hiciera sumas en punto flotante,
serí
a poner los 2 datos
a sumar,
y del tirón te sacarí
a el resultado.
En sonido, antes se poní
a un generador de sonido acompañado de
un Z80, eso es
un coprocesador, sin embargo el Z80 puede hacer muchas otras cosas, pero para la tarea única de controlar el sonido es menos eficiente que lo que se ha hecho después, que son dedicados
a sonido exclusivamente, pero que no puede hacer otras cosas que el Z80 sí puede.
Te lo resumo,
un coprocesador para hacer lo mismo puede necesitar más o menos ciclos respecto a otro, cuanto más global (cercano
a software) menos eficiente
y viceversa. Así cuanto más cerrado
y específico, más directo podrá
ser todo porque habrá muchas cosas que podrás obviarlas
y "cablear" en lugar de tener que ejecutar toda la parafernalia que tiene que hacer, por ejemplo, una FPU integrada en una CPU, que al fin
y al cabo tiene que ejecutar todos los pasos solo que
a la hora de hacer la operación te la hace en menos tiempo por tener el hardware para dicha operación.