Hola a todos, bueno tengo una pequeña duda que no es nada sobre codigos ni algo por el estilo
quiza es mas teorico o quiza no :P bueno estaba estudiando los Calls y se me vino a la mente
si los "saltos" de los calls afectan en algo la velocidad con que se ejecuta un codigo...?
digamos que estoy en la direccion 0000 0010 y hay un call a la direccion FFFF 0090 por decir algo, hay alguna diferencia en velocidad si cambia esa direccion de destino? osea que entre la direccion desde donde se "salta" a la direccion a "saltar" afecta
la distancia entre ellas en velocidad?
bueno quiza esto puede o no afectar pero es simple dudilla jeje
Gracias de ante mano! :-*
Respuesta: http://en.wikipedia.org/wiki/CAS_latency (http://en.wikipedia.org/wiki/CAS_latency)
Saludos!
no entendi :xD pero me imagino que es tan poca la diferencia que ní se nota :P Gracias
No tengo nada que ver el link que te dejaron antes quizás lo entiendas mejor traducido. http://es.wikipedia.org/wiki/Latencia_CAS
Si, pero en ingles esta la tablita "Memory timing examples". En esa tabla, las importantes en esta pregunta son las 3 ultimas columnas.
Donde muestra la diferencia de tiempo al acceder a posiciones mas "lejanas" de la RAM...
Cita de: RHL en 20 Febrero 2012, 07:36 AM
Hola a todos, bueno tengo una pequeña duda que no es nada sobre codigos ni algo por el estilo
quiza es mas teorico o quiza no :P bueno estaba estudiando los Calls y se me vino a la mente
si los "saltos" de los calls afectan en algo la velocidad con que se ejecuta un codigo...?
digamos que estoy en la direccion 0000 0010 y hay un call a la direccion FFFF 0090 por decir algo, hay alguna diferencia en velocidad si cambia esa direccion de destino? osea que entre la direccion desde donde se "salta" a la direccion a "saltar" afecta
la distancia entre ellas en velocidad?
bueno quiza esto puede o no afectar pero es simple dudilla jeje
Gracias de ante mano! :-*
Efectivamente, hay saltos largos y cortos y se codifican en la llamada, por ejemplo:
Call short Call far. Normalmente el compilador decide si utilizas solamente Call, lo ideal es forzarlo utilizando short or Far.
Además, JP son saltos de corta distancia y JMP también se puede forzar a short o far.
Como dice cierto usuario la diferencia es mínima pero cuando se programa en assembler es para utilizar los ciclos eficientemente. De lo contrario sigan utilizando alto nivel al programar.
La forma de programar en assembler es codificar lo requerido y luego optimizar el código en base a los ciclos utilizados por instrucción, mientras menos mejor. Tambien, hay que tener en cuenta que ciertas instrucciones solo permiten la ejecución de una sola instrucción por el procesador; otras instrucciones permiten que el procesador ejecute varias por ciclo.
Saludos