„Ortogonális utasításkészlet” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
Syp (vitalap | szerkesztései) |
|||
27. sor:
===A 8080 és az azt követő designok===
A 8 bites [[Intel 8080]] mikroprocesszor (továbbá a 8085 és a 8051 mikrovezérlő)
A [[binárisan kompatibilis]] Z80-as később prefix kódokkal bővítette az opkódokat, hogy az egy bájtos korlátot kikerülve további képességeket építhessen az utasításkészletbe. Ugyanezt az alapötletet alkalmazták az [[Intel 8086]]-nál is, itt azonban nem törekedtek a bináris kompatibilitásra, ami radikálisabb kiterjesztést tett lehetővé. A 8086-ost ehelyett szabályos 16 bites processzornak tervezték, ami forráskód szinten volt kompatibilis a 8008, 8080 és 8085 processzorokkal. A magas kódsűrűség kedvéért valamennyire meghagyták a kódot nem ortogonálisnak (amit a kortárs számítógéptudósok „barokkosnak” csúfoltak). Az architektúra 32 bites kiterjesztése a [[80386]]-tal érkezett meg, az eredeti 8086 utasítások (és bővítéseik) megtartása ellenére valamivel ortogonálisabb megközelítést követtek. Az opkódban alkalmazott kódolási stratégia azonban továbbra is az eredeti 8008 és 8080 (valamint a Z80) örökségeit mutatta; például egyes gyakori utasítások, mint a regiszterek vagy konstansok '''push''' és '''pop''' utasítása egy bájtos opkódot kaptak, az elsődleges akkumulátor, az '''eax''' bizonyos művelettípusokban rövidebb kódot kapott; ezeket a megfigyeléseket a kézi és a fordítóprogram által végzett [[kódoptimalizálás]] során egyaránt kihasználják.
|