Skok (informatika): Porovnání verzí

Smazaný obsah Přidaný obsah
m přesun kapitoly Autorství podmíněného skoku
Hkmaly (diskuse | příspěvky)
→‎Implementace skoku v [[procesor]]ech: Ano, Bruceova verze zní lépe, ale obávám se že není tak přesná ...
Řádek 21:
** '''dlouhý relativní skok''' (long jump) - do registru se přičítá rozsahem stejná hodnota, jako je rozsah čítače instrukcí
 
U moderních procesorů je podmíněný skok velice "drahá" operace z hlediska času zpracování - procesor provádí instrukce na přeskáčku (instruction scheduling) a zároveň provádí více instrukcí současně, takže procesor by pro zrychlení výpočtu potřeboval vědět, která instrukce bude za skokem následovat ještě dříve než je možné vyhodnotit splnění podmínky skoku. Některé [[RISC]]ové procesory (např. [[SPARC]]) majíto navícřeší pravidlapravidly typu "ještě dvě instrukce za skokem se provedou bez ohledu na výsledek podmínky skoku", obvyklejším řešením je odhadnout (s využití informací o předchozích průchodech kritickoudanou částí programu), která varianta skoku nastane a v případě omylu zahodit rozpracované instrukce ze špatné větve, a začít znova načítat instrukce dovyprázdnit [[instrukční fronta|instrukční frontyfrontu]] a načíst do ní instrukce ze správné větve.
 
===Specifika architektury x86===
Řádek 29:
* '''dlouhé skoky''' (long jump, far jump) - Cílová adresa leží v jiném segmentu paměti, obvykle nepodmíněný skok na podprogram.
 
Jako zvláštní případ skoku (či spíše volání podprogramu) lze chápat i [[programové přerušení]] (interrupt). Od procesoru [[Intel 80286|80286]] přibývá možnost instrukcí skoku změnit úlohu (přepnout [[počítačový program|proces]]), což lze označit jako skok ještě delší než dlouhý a v procesoru [[Intel 80386|80386]] přibývá možnost změnit [[stránkování]] tak, že zpracování procesu zůstává na stejné [[virtuální adresa|virtuální adrese]], ale dochází k změně [[fyzická adresa|fyzické adresy]] (častotato jetechnika tétopatrně technikynemá využitojiné pouzevyužití než jako úmyslná snaha znesnadnit [[debugování]] programu - viz [[zpětné inženýrství]]).
 
==Autorství podmíněného skoku==