Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: 0xFer en 27 Julio 2015, 23:11 pm



Título: Ciclos requeridos para cada instrucción
Publicado por: 0xFer en 27 Julio 2015, 23:11 pm
Quisiera saber si hay alguna manera de saber cuántos ciclos de cpu requieren todas y cada una de las instrucciones de intel ASM.
Es más que nada para saber cuál instrucción usar, porque casi siempre hay varias formas de hacer lo mismo.

Gracias.


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: xv0 en 27 Julio 2015, 23:23 pm
Hay una aplicacion creada por un admin de Masm32, si me acuerdo como se llama te la paso, de mientras puedes mirar un paper de Agner Fog.

Lo encuentras facil, hay bastantes Arch.

Un saludo.


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: 0xFer en 28 Julio 2015, 00:12 am
Gracias  ;D


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: x64core en 31 Julio 2015, 18:48 pm
Diria que la mejor informacion podes encontrarle en los volumenes de Intel o AMD:
Código:
http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html
Alfinal en los apendices.

cpu2, Yo no recuerdo/ví que Hutch haya escrito tal código o aplicación porque no creo que se pueda escribir tal cosa, a menos que estemos hablando de calcular el tiempo requerido por unas instrucciones.


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: xv0 en 1 Agosto 2015, 14:54 pm
Diria que la mejor informacion podes encontrarle en los volumenes de Intel o AMD:
Código:
http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html
Alfinal en los apendices.

cpu2, Yo no recuerdo/ví que Hutch haya escrito tal código o aplicación porque no creo que se pueda escribir tal cosa, a menos que estemos hablando de calcular el tiempo requerido por unas instrucciones.


Si me acuerdo de ese tema, tu me diste el enlace de mas32 era de un admin del foro que tenia el soft para calcular los tiempos, supongo que le ayudara en algo, pero perdí el link...

Un saludo.

P.D: @0xFer supongo que en contraste el pdf de Agner no ? Esta muy bien bastante trabajado.


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: x64core en 1 Agosto 2015, 19:41 pm
Sí, el código de MichaelW era para calcular el tiempo requerido para una especifica pieza de código, ya que el problema es especifico de architectura lo único que se me ocurre que podria contener la informacion de cada instruccion es alguna manera indocumentada usando CPUID aunque lo dudo, ya se ha hecho ingenieria inversa en el Microcode del 386 y hasta donde sé no hay tal informacion.


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: 0xFer en 6 Agosto 2015, 07:04 am
¡Yep!, los contré y son 5, gracias por la info :)


Título: Re: Ciclos requeridos para cada instrucción
Publicado por: _Enko en 11 Septiembre 2015, 16:17 pm
Hasta donde tengo entendido Intel y AMD tambien cuando mejoran los procesadores no solo les agregan mas núcleos o mas Ghz.  Tambien optimizan la cantidad de ciclos reloj que necesitan algunas instrucciones.
De manera que un ADD en un pentium core 2 duo  va tomar mas ciclos de reloj que digamos un i3 moderno.

Asi que  si bien se puede hacer una tabla relativa de que instruccion toma mas ciclos que otra, es dificil contarlos ya que dependera de la arquitectura del procesador.

Saludos.