Ekstraordinær udførelse

Udelukket udførelse af maskininstruktioner  er udførelse af maskininstruktioner ikke i den rækkefølge, som de står i maskinkoden ( som det var ved udførelse af instruktioner i rækkefølge ( eng .  in - order execution )), men i rækkefølgen om klarhed til udførelse. Implementeret for at forbedre ydeevnen af ​​computerenheder.  

Blandt de velkendte maskiner blev det først implementeret i betydeligt omfang i CDC 6600 -maskinerne fra Control Data og IBM System / 360 Model 91 fra IBM .

Beskrivelse og sammenligning

Klassisk sekvensering

Når du udfører instruktioner i rækkefølge ( engelsk  in-order ), udføres følgende handlinger:

  1. læse instruktioner;
  2. stop processoren, der venter på at indlæse instruktionsoperander;
  3. sende instruktioner til udførelse til det tilsvarende udførelsesmodul;
  4. udførelse af instruktionen af ​​det tilsvarende modul;
  5. registrering af resultatet af instruktionsudførelsen af ​​modulet i en registercelle.

Udelukket udførelse

Ved udførelse af instruktioner ude af drift ( engelsk  out-of-order ), udføres følgende handlinger:

  1. læse instruktioner;
  2. placere en instruktion i kø I (kaldet den engelske  instruktionskø , instruktionsbuffer eller reservationsstationer );
  3. venter, indtil operanderne af enhver instruktion i køen jeg bliver tilgængelig;
  4. overførsel af instruktionen, hvis operander er tilgængelige, til udførelse til den tilsvarende udførelsesenhed;
  5. udførelse af instruktionen af ​​det tilsvarende modul;
  6. at skrive resultatet af instruktionsudførelsen af ​​modulet til kø II;
  7. udtræk fra kø II resultaterne af udførelsen af ​​de instruktioner, før hvilke der ikke er nogen ikke-udførte instruktioner i kø I, og skrivning af resultaterne til en registerfil; fjernelse af sådanne instruktioner fra kø I.
Funktioner og indre funktioner

Funktioner ved ekstraordinær udførelse:

  • en instruktion kan udføres tidligere end andre, hvis operander vil være klar før operanderne af andre instruktioner;
  • en instruktion i kø I senere kan udføres tidligere;
  • ledig tid forårsaget af at vente på, at instruktionsoperander er klar, reduceres (sammenlignet med en processor, der udfører instruktioner i rækkefølge) ved at vente på, at operanderne af flere instruktioner er klar;
  • på grund af brugen af ​​kø II, skrives resultaterne til registerfilen i rækkefølgen af ​​instruktioner i maskinkoden (der er et udseende af at udføre instruktioner i rækkefølge).

Hovedidéen med udelukket udførelse er evnen til at undgå processorens inaktive tid, når de data, der kræves for at udføre den næste instruktion, ikke er tilgængelige. Som det kan ses ovenfor, undgår processoren den inaktive tid, der forekommer i trin 2, for den næste udførelse af instruktioner i det tilfælde, hvor instruktionen ikke kan udføres på grund af utilgængeligheden af ​​dens operander.

Den ude af drift processor udfører de instruktioner, hvis operander er klar, uanset rækkefølgen af ​​instruktionerne i programkoden. Instruktioner udføres ikke i den rækkefølge, de optræder i programkoden, men i den rækkefølge, som data er tilgængelige i processorregistrene. Ved hjælp af kø II registrerer processoren resultaterne af udførelsen af ​​instruktioner, således at udseendet af normal, næste udførelse skabes.

Præstationsvurdering

Eksekvering uden for orden er mere effektiv, jo længere processorpipeline er, og jo større forskel er der mellem hukommelseshastigheden ( RAM eller cache ) og processorens hastighed. I moderne[ hvornår? ] I computere er processorer meget hurtigere end hukommelse , så mens de venter på, at data kommer frem, kan processoren udføre mange instruktioner, hvis operander er tilgængelige.

Se også

Noter

Litteratur

Links