Diskussion:Symmetrisches Multiprozessorsystem — Änderungen 4397 → 4398

Zeile 2: Zeile 2:
  
 
Ich hatte auch gedacht, dass xchg implizit einen Lock ausführt. Allerdings führen "xchg" und "lock xchg" zu verschiedenen opcodes (habs ausprobiert). Außerdem habe ich versucht, Mutexe ohne das "lock" zu implementieren und es hat nur funktioniert, als ich den lock-Präfix benutzt habe. Wäre mir recht, wenn das jemand klarstellen könnte, denn genau weiß ich es leider auch nicht. --[[Benutzer:AndiDog|AndiDog]] 15:00, 23. Mai 2009 (CEST)
 
Ich hatte auch gedacht, dass xchg implizit einen Lock ausführt. Allerdings führen "xchg" und "lock xchg" zu verschiedenen opcodes (habs ausprobiert). Außerdem habe ich versucht, Mutexe ohne das "lock" zu implementieren und es hat nur funktioniert, als ich den lock-Präfix benutzt habe. Wäre mir recht, wenn das jemand klarstellen könnte, denn genau weiß ich es leider auch nicht. --[[Benutzer:AndiDog|AndiDog]] 15:00, 23. Mai 2009 (CEST)
 +
 +
:Also die Opcodes sind nicht unterschiedlich, aber lock ist ein Prefix. Das heißt der Unterschied zwischen xchg und lock xchg wäre ein zusätzliches davorgestelltes Byte. Also wenn xchg z.B. den Opcode "87" hat, und lock "f0", dann wäre lock xchg "f0 87". Dass es da trotzdem Unterschiede bei der Ausführung gibt, ist allerdings interessant. Ich hab davon zu wenig Ahnung, um das zu erklären. --[[Benutzer:Jidder|Jidder]] 17:31, 23. Mai 2009 (CEST)