Co je to pobočková tabulka?
Tabulka větví je metoda pro efektivní přenos řízení programu z jedné části programu do druhé nebo do druhého programu, který byl načten dynamicky, odesláním větve instrukcí nebo implementací příkazu switch. Tato metoda, někdy nazývaná skoková tabulka, se spoléhá na řadu okolností nebo podmínek pro provedení skoku k implementaci procedury podle příkazu switch z kompilátoru C +. Mezi hlavní výhody pobočkových tabulek patří jejich kompaktní struktura kódů a snížení potřeby testovat návratové kódy jednotlivě při určování programového toku.
V osmdesátých létech byly pobočkové tabulky široce používány při programování sestavovacího jazyka. Stále se používají při programování sestav pro vývoj vestavěných systémů a operačních systémů. Od 90. let minulého století využívaly programovací jazyky kompilátoru také funkci tabulky větví.
Odvětvové tabulky se skládají ze seznamu nepodmíněných pokynů, které se při zadávání odbočují do jiných cílů. Většina počítačového hardwaru dokáže tyto pokyny efektivně provádět. Občas lze offset - v podstatě vzdálenost k cíli - přidat do registru čítačů programů, které pak mohou ukazovat na sady instrukcí větví nebo přeskakovat mezi sadami instrukcí větví. Vše, co je nezbytné pro implementaci větvové tabulky, je ověření vstupního kódu, transformace dat do offsetu a vynásobení dat na danou délku instrukce.
Vestavěné programování používá tabulky větví, protože jsou efektivnější z paměti než pomocí strojového kódu nebo uspořádaných ukazatelů. Vestavěné řídicí systémy potřebují tuto paměťovou úsporu, a ačkoli to může stát cenu malého množství výkonu během přístupu k tabulce větví, jakékoli volání funkce virtuální metody by stálo stejné množství výkonu pro stabilní fungování. Omezený přístup k CPU a úspory paměti ve vestavěných systémech vyžadují tabulku větví pro sady statických funkcí.
Programovací jazyky kompilátoru generují v případě potřeby své vlastní větvové tabulky pomocí vyhledávacích klíčů pro optimalizaci kompilátorů. Někteří programátoři se rozhodnou manuálně asistovat kompilátoru s generováním kontextové tabulky větví tím, že kompilátoru dají dvoukrokové podmíněné parametry, od kterých budou vyhledávány klíče. V dřívějších letech kompilace programů byla implementace větvové tabulky příkazy „GoTo“ v jazycích kompilátoru Fortran. Odvětvové tabulky se stále používají k implementaci změn v programovém toku v jazycích kompilátoru nebo jako výchozí bod pro opakované instrukční sekvence.