Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
:-O O-: | Log in/Crear cuenta | Top | 3 comentarios | Buscar hilo
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por faragon (17575) el Lunes, 10 Noviembre de 2008, 22:22h (#1098535)
    ( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )
    En la emulación/simulación de CPUs hay dos grupos de técnicas, la clásica, que consiste en emular el comportamiento (carga y ejecucion de instrucciones), y la avanzada, consistente en recompilar el código de una CPU para ejecutarse en otra (reemplazando las instrucciones privilegiadas o de E/S por instrucciones especiales, etc.). En el primer caso de la "emulación clásica", se desaprovecha la cache de instrucciones, pues el "fetch" de las instrucciones de la CPU simulada se hace mediante la cache de datos de la CPU host, perdiendo rendimiento por ese motivo. En el segundo caso, una vez traducido el código, la cache de instrucciones y de datos es efectiva, siendo el resultado muy bueno.

    Dada la potencia de las CPUs actuales, con una capacidad de cálculo por ciclo tremenda, no veo el inconveniente de un JIT por software incluso más eficiente que el hecho por "hardware" (por el tiempo de inicialización/programación del FPGA). En el caso del JIT por software, la cache de instrucciones y la predicción de saltos es muy eficaz sobre el código traducido, si bien la propia estructura de la máquina virtual puede suponer un uso pobre de los registros.

    Puntos de inicio:    1  punto
    Modificador por Bonus-Karma   +1  

    Total marcador:   2