assembly - out-of-order execution dependancy and jump -


i have difficulties understand how "out-of-order" work on cpu.

let me take 1 example :

cpuid mov %rax,(%rbx) 

is possible mov instruction executed before cpuid instruction? think not possible because of dependency(cpuid write inside rax) i'm not sure. or maybe possible , there make correction reordering? how cpu detects dependency? during decode stage?

what happen if there instruction depending on other 1 , these 2 instructions separated lot of independant instructions example below:

cpuid ;a lot of instruction here doesn't affect rax register mov %rax,(%rbx) 

let me take other example :

jmp 1 jmp 2 one:     instructions here    jmp 0 two:     other instructions there can depends of instructions inside label called 'one' 

can jmp two executed before jmp one?


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -