Odpověď na názor

Odpovídáte na názor k článku Čtyřicet let existence architektury 386: revoluce přinesla Doom a Linux. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 7. 10. 2025 15:20

    cc

    Rozlišovat to na load/store je sice zajímavé, ale taky to nemá moc smysl.

    V případě x86 se jedná v podstatě jen o "kompresi" - store s nějakou operací jsou jen legacy instrukce (ADD, SUB, atd...), které se používají s lock prefixem pro atomické operace, a ostatní instrukce jsou operace + volicelný load - v případě x86 je to nutnost kvůli tomu, že počet registrů byl historicky hodně omezený, i v případě x86_64.

    Atomické operace jsou v tomto kontextu zajímavé, protože rozbíjí ten koncept "load/store" architektury - jedná se vždicky o load, op, a store, a pokud architektura umožňuje implementaci lock/free algoritmů, tak potřebuje i pair operace popř něco jako cmpxchg16b, což tu architekturu dál komplikuje.

    No a teď pojďme třeba na aarch64 a MOPS rozšíření, které v podstatě implementuje něco podobného jako REP MOVSB v x86 - prostě primitiva pro memcpy a memset, atd...

    Takže, můj názor zůstává - toto rozdělování architektur dnes už nedává smysl. Moderní architektury konvergujou k nějakému designu a to jak jsou věci zakódované je hlavně problém frontendu. AArch64 je třeba značně omezený, ale jen proto, protože ty instrukce mají omezenou velikost. Ale taky umí třeba komplexní adresování [base + index * N] kvůli tomu, aby to byla praktická ISA.