elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  [Opinión]Sobre la ineficiencia teórica de los x86
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Opinión]Sobre la ineficiencia teórica de los x86  (Leído 2,711 veces)
ukol

Desconectado Desconectado

Mensajes: 55


Ver Perfil
[Opinión]Sobre la ineficiencia teórica de los x86
« en: 21 Marzo 2013, 17:21 pm »

Hola, quería saber que opinan ustedes de esta idea.
He buscado artículos pero no encontré demasiado. Los datos están ahí pero no me apetece analizarlos de momento, quizá ustedes lo sepan.
La idea es que los procesadores x86 son muy ineficientes en general intrínsecamente por su diseño y arquitectura.
Mi argumento principal que respalda esto es su complicado juego de instrucciones.
Quizá muchos de ustedes han intentado alguna vez crear un desensamblador de x86, en C por ejemplo, y no es algo trivial ni fácil, el código que necesita es bastante y necesariamente complicado, no hay soluciones demasiado elegantes (a mi juicio).
Eso que nosotros hacemos en C o cualquier otro lenguaje, los microprocesadores tienen que hacerlo pero por medio de hardware, transistores, unidades lógicas. Ello hace que necesiten muchos más transistores que otras arquitecturas, y por tanto más consumo de potencia, o sea, eficiencia (da igual, energética o de potencia de cálculo, no diferencio).
Quizá sea por ello que en los sistemas empotrados x86 desaparece por completo, en general. Se tiende a microprocesadores ARM por ejemplo que consumen muchísimo menos y tienen gran potencia (aunque menos que los x86 que usan mucha más energía y frecuencias).
Es otra de las causas quizá por la que las GPU's, sus núcleos de procesamiento, tampoco usan x86, bueno, esto sería obvio ya que tienen otros usos más específicos, pero bueno, podrían compartir el juego básico, todo microprocesador tiene instrucciones de control, de movimiento de datos, etc.
Me consta también que Intel muchas veces "inteltó" (chiste malo) deshacerse del juego de instrucciones sustituyéndolo por otros, pero no pudo por el mercado.
Y mi atrevida sugerencia: si usáramos el mismo número de transistores y la misma frecuencia (y la misma técnica de última generación litográfica, etc), en un procesador tipo ARM, RISC o lo que sea, que un x86 actual, se superaría enormemente la potencia de cálculo.
El problema es arrastrar esa vieja compatibilidad "hacia atrás" (por la voz inglesa), que sólo obliga al diseño a estar estancado, cargando con viejas funcionalidades obsoletas que lo limitan, es una especie de evolución darwiniana de los procesadores, en que quedan miembros inútiles que antiguamente eran usados (tenía un nombre que ahora no recuerdo, si me lo pudieran recordar... :)

Otra idea que arroja esto, es que Intel debería estar realmente interesado en la pervivencia del modelo de código cerrado, ya que si pudiéramos usar sólo código abierto, no habría tanta dificultad en compilar los sistemas para cualquier máquina.

Se me olvidó mencionar también la idea, de que mucha de la lógica de los x86, se empeña en optimizar este código, de alguna manera estas unidades sobran en otra arquitectura, y habría espacio para otro tipo de lógica, o son complejas, en otra arquitectura serían más simples.

En resumen, más transistores = más potencia, es obvio, pero transitores mejor utilizados, también = a más potencia.


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Opinión]Sobre la ineficiencia teórica de los x86
« Respuesta #1 en: 21 Marzo 2013, 21:06 pm »

La única diferencia que soy capaz de ver con mi limitado conocimiento interno de las arquitecturas (al menos entre x86 y ARM) es el tamaño de las instrucciones. En x86 es variable y en ARM no.

La arquitectura que mejor conozco es MIPS, también con tamaño de instrucción fijo (32b), porque la estudiamos en la universidad. Sé que dado el tamaño fijo se puede preveer la posición de la siguiente instrucción con seguridad (salvo que haya algún branch, entonces habría que desechar lo avanzado). Con esto se pueden ir solapando acciones de lectura, reconocimiento de instrucciónes, banco de registros... Por el contrario entiendo que en x86, al tener tamaño variable de instrucción, se debe primero traducir la instrucción y añadir circuitería para variar el IP dependiendo...

Aún con estás deducciones no soy capaz de ver la problemática de la que hablas...


En línea

Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: [Opinión]Sobre la ineficiencia teórica de los x86
« Respuesta #2 en: 24 Marzo 2013, 18:36 pm »

En teoria, se supone que arm es mas eficiente porque usa el paradigma de que teniendo pocas y pequeñas instrucciones se pueden optimizar mejor que si tienes muchas instrucciones que hacen cosas complejas. Y tambien al tener pocas instrucciones es mas rapido decadificarlas.

Y no se eliminan instrucciones porque estarias cambiando de familia de procesadores. con lo cual habria muchos programas que ya no serian compatibles. eso inclulle programas normales, compiladores SO etc. Es como cuando windows cambia el modelo de sus driver que se arma un buen follon

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Opinión sobre web
Diseño Gráfico
Villamil 5 3,144 Último mensaje 10 Abril 2005, 11:17 am
por Sub_Cero
Duda teorica sobre procesos simultaneos...!!!
Java
rigoxls 2 4,774 Último mensaje 18 Julio 2009, 02:36 am
por rigoxls
¿ Opinion sobre ONO ? « 1 2 »
Foro Libre
Mr.Know 17 19,635 Último mensaje 31 Agosto 2011, 07:45 am
por Randomize
Duda teórica sobre DNS
Redes
ablalliv 2 2,006 Último mensaje 22 Febrero 2014, 03:55 am
por andavid
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines