Názor k článku Specifika instrukční sady mikroprocesorů Intel 8086/8088 od Marvin - Koprocesor pracoval asynchronně k CPU. FWAIT "za" by zbytečně...

  • 14. 9. 2024 12:43

    Marvin

    Koprocesor pracoval asynchronně k CPU.

    FWAIT "za" by zbytečně vynucoval plnou serializaci instrukcí, FWAIT "před" umožňoval maximální paralelizaci FPU s CPU.

    Většina instrukcí měla WAIT implicitní, u pár výjimek byla volba.

    Dalším efektem WAITu bylo vynucení volání handlerů FP výjimek (když byly povoleny), v tomto místě byla zaručena přerušitelnost + pokračovatelnost, předchozí FP instrukce byly již dokončeny a další ještě nezahájeny.

    Koprocesor škudlil čekající výjimky ve stavovém registru a bez WAITu byly doručeny až na další FP instrukci.

    FWAIT na 387 byl potřeba jen když koprocesor zapisoval výsledek/status do paměti odkud si jej vyzvedával CPU jinou než FPU instrukcí.