XOR Implementierung langsam? (Intel Architektur x86)



  • Camper schrieb:

    kann ich nicht bestätigen. sehe auch keinen grund dafür: ein xor ist doch nicht schwerer als ein and oder or zu implementieren.

    Nobuo T schrieb:

    Also ich habe zumindest keine Ahnung, was euer Dozent gemeint haben koennte.
    Xor braucht heute wie der ganze restliche Fizzel-Kram auch nur einen Takt.
    Auf dem 8086 duerfte es genau so schnell wie or und and gewesen sein.

    Ich kann das nämlich auch nicht so richtig glauben.



  • Nach meinem Wissen werden elementare Operationen wie AND OR XOR durch Hardware berechnet.

    Der Laufzeitunterschied dürfte daher recht gering sein.



  • Nobuo T schrieb:

    Xor braucht heute wie der ganze restliche Fizzel-Kram auch nur einen Takt. Auf dem 8086 duerfte es genau so schnell wie or und and gewesen sein.

    Ich hab das Buch "Assembler Referenz". Wenn man da in der Referenz nachschaut kommen _genau_ die gleichen Laufzeiten für or/xor raus, wobei erst ab dem 486 und nur für Benutzung von zwei registern eine Laufzeit von einem Taktzyklus. Bei Verwendung des Speichers ergibt sich eine Laufzeit von 2-3 (Abhängig von der Art des opcodes).



  • Kann es sein, dass er darauf anspielt, dass man die alte Regel, dass man Register durch selbst-xor statt mov nullsetzen soll, heute vielleicht nicht mehr unbedingt befolgen soll?


  • Mod

    Bashar schrieb:

    Kann es sein, dass er darauf anspielt, dass man die alte Regel, dass man Register durch selbst-xor statt mov nullsetzen soll, heute vielleicht nicht mehr unbedingt befolgen soll?

    das soll man? ich glaube micht erinnern zu können, dass die prozessoren extra dafür optimiert wurden (d.h. die falsche abhängkeit vom vorhergehenden wert wird eleminiert).



  • Keine Ahnung, ich meine das mal irgendwo gelesen zu haben. Kann auch Unsinn sein.



  • imho ist das keine Frage der Implementation, sondern eine schaltungstechnische Frage. XOR wie OR Gatter sind mit 3 Transistoren realisierbar, ein AND mit 2 und ein NOT mit einem.



  • Die Schaltung *ist* die Implementation 🙂



  • Diese berechnungen werden teilweise über ein ROM gemacht.
    Was nützt der kleine Laufzeitvorteil wenn mann dan auf den Tackt warten muss.



  • Hi

    das ist das problem der Taktgetriebenen Prozessoren. Die anderen funktionieren nur im experimentierstadium.

    gruss


Anmelden zum Antworten