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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Ciclos requeridos para cada instrucción
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ciclos requeridos para cada instrucción  (Leído 4,469 veces)
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Ciclos requeridos para cada instrucción
« 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.


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: Ciclos requeridos para cada instrucción
« Respuesta #1 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.


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ciclos requeridos para cada instrucción
« Respuesta #2 en: 28 Julio 2015, 00:12 am »

Gracias  ;D
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ciclos requeridos para cada instrucción
« Respuesta #3 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.
En línea

xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: Ciclos requeridos para cada instrucción
« Respuesta #4 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.
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ciclos requeridos para cada instrucción
« Respuesta #5 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.
« Última modificación: 1 Agosto 2015, 19:46 pm por x64core » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ciclos requeridos para cada instrucción
« Respuesta #6 en: 6 Agosto 2015, 07:04 am »

¡Yep!, los contré y son 5, gracias por la info :)
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Ciclos requeridos para cada instrucción
« Respuesta #7 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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines