Rendkívüli kivitelezés

A gépi utasítások soron kívüli végrehajtása a gépi utasítások  végrehajtása nem abban a sorrendben, ahogyan azok a gépi kódban szerepelnek (mint az utasítások sorrendben történő végrehajtásakor ( eng .  in -order execution )), hanem abban a sorrendben a végrehajtásra való felkészültségről. A számítástechnikai eszközök teljesítményének javítása érdekében valósították meg.  

A jól ismert gépek közül először a Control Data CDC 6600 -as gépeiben és az IBM- től az IBM System / 360 Model 91 -ben valósult meg jelentős mértékben .

Leírás és összehasonlítás

Klasszikus szekvenálás

Az utasítások sorrendben történő végrehajtásakor ( angolul  in-order ) a következő műveletek hajtódnak végre:

  1. olvasási utasítások;
  2. állítsa le a processzort az utasítás operandusok betöltésére várakozva;
  3. végrehajtási utasítások küldése a megfelelő végrehajtási modulnak;
  4. az utasítás végrehajtása a megfelelő modul által;
  5. a modul által végrehajtott utasítások eredményének rögzítése egy regisztercellában.

Renden kívüli végrehajtás

Az utasítások soron kívüli végrehajtásakor ( angolul  out-of-order ) a következő műveletek hajtódnak végre:

  1. olvasási utasítások;
  2. utasítás elhelyezése az I. sorba (ez angol  utasítássor , utasításpuffer vagy foglalási állomások );
  3. megvárni, amíg az I sorban álló bármely utasítás operandusa elérhetővé válik;
  4. az utasítást, amelynek operandusai rendelkezésre állnak, végrehajtásra átadjuk a megfelelő végrehajtási egységnek;
  5. az utasítás végrehajtása a megfelelő modul által;
  6. a modul utasításvégrehajtásának eredményét a II. sorba írjuk;
  7. a II. sorból kivonjuk azon utasítások végrehajtásának eredményét, amelyek előtt az I. sorban nincs végrehajtatlan utasítás, és az eredményeket regiszterfájlba írjuk; az ilyen utasítások eltávolítása az I. sorból.
Jellemzők és belső működés

A rendkívüli kivitelezés jellemzői:

  • egy olyan utasítás végrehajtható korábban, mint mások, amelyek operandusai más utasítások operandusai előtt lesznek készen;
  • egy későbbi sorba állított utasítás korábban végrehajtható;
  • Az utasítás-operandusok készenlétére való várakozás okozta tétlenségi időt csökkenti (ha egy processzor sorrendben hajtja végre az utasításokat) azáltal, hogy több utasítás operandusának készenlétére vár;
  • a II. sor használata miatt az eredmények a gépi kódban található utasítások sorrendjében íródnak be a regiszterfájlba (megjelenik, hogy sorrendben végrehajtják az utasításokat).

A renden kívüli végrehajtás fő ötlete a processzor tétlenségének elkerülése, amikor a következő utasítás végrehajtásához szükséges adatok nem állnak rendelkezésre. Amint fentebb látható, a processzor elkerüli a 2. lépésben fellépő üresjárati időt az utasítások következő végrehajtása során, ha az utasítás nem hajtható végre az operandusai nem elérhetősége miatt.

A soron kívüli processzor azokat az utasításokat hajtja végre, amelyeknek operandusai készen állnak, függetlenül a programkód utasításainak sorrendjétől. Az utasítások végrehajtása nem abban a sorrendben történik, ahogyan a programkódban megjelennek, hanem abban a sorrendben, ahogyan az adatok a processzor regisztereiben elérhetők. A II. sor segítségével a processzor rögzíti az utasítások végrehajtásának eredményét, így a normál, következő végrehajtás látszata jön létre.

Teljesítményértékelés

A soron kívüli végrehajtás annál hatékonyabb, minél hosszabb a processzor csővezetéke , és minél nagyobb a különbség a memória ( RAM vagy gyorsítótár ) sebessége és a processzor sebessége között. Modernben[ mikor? ] A számítógépekben a processzorok sokkal gyorsabbak, mint a memória , így az adatok érkezésére várva a processzor számos olyan utasítást tud végrehajtani, amelyek operandusai rendelkezésre állnak.

Lásd még

Jegyzetek

Irodalom

Linkek