Skip to main content

Wat is een vertakkingstabel?

Een vertakkingstabel is een methode om de besturing van het programma efficiënt over te dragen van het ene deel van een programma naar het andere, of naar een tweede programma dat dynamisch is geladen, door een instructietak te verzenden of door een schakelverklaring te implementeren.Deze methode, soms een springtabel genoemd, vertrouwt op een reeks omstandigheden of voorwaarden om een sprong uit te voeren om een procedure te implementeren volgens een schakelverklaring van een C+ -compiler.Enkele van de belangrijkste voordelen van vertakkingstabellen zijn hun compacte codestructuur en een vermindering van de noodzaak om retourcodes afzonderlijk te testen bij het bepalen van de programmastroom.

In de jaren tachtig werden vertakkingstabellen veel gebruikt in de programmering van de assemblagetaal.Ze worden nog steeds gebruikt in assemblageprogrammering voor ingebedde systemen en ontwikkeling van besturingssystemen.Sinds de jaren negentig hebben compilerprogrammeertalen ook gebruik gemaakt van het functioneren van de vertakkingstabel.

Branchetabellen bestaan uit een lijst met onvoorwaardelijke instructies die, gegeven input, zich aftakken naar andere bestemmingen.De meeste computerhardware kan deze instructies efficiënt uitvoeren.Soms de offset mdash;In wezen de afstand tot de bestemming mdash;Kan worden toegevoegd aan een programmagrogramma dat vervolgens kan wijzen op sets van filiaalinstructies of tussen sets van filialen instructies kan springen.Het enige dat nodig is om een filiaaltabel te implementeren, is de validatie van de invoercode, het omzetten van de gegevens in een offset en het vermenigvuldigen van de gegevens met een bepaalde instructlengte.

ingebed programmering maakt gebruik van vertakkingstabellen omdat ze meer geheugenefficiënter zijn dan het gebruik van machinecodeof opgesteld aanwijzingen.Ingebedde besturingssystemen hebben die geheugenbesparingen nodig, en hoewel het een kleine hoeveelheid prestaties kan kosten tijdens de toegang tot de vertakkingstabel, zou elke virtuele methode -functieaanroep dezelfde hoeveelheid prestaties kosten voor stabiel functioneren.De beperkte CPU -toegang en geheugenbesparingen in ingebedde systemen hebben een vertakkingstabel nodig voor statische functiesets.

Compilerprogrammeertalen genereren hun eigen vertakkingstabellen indien nodig door gebruik van zoektoetsen op het optimaliseren van compilers.Sommige programmeurs kiezen ervoor om de compiler handmatig te helpen met context-tak-tabel generatie door de compiler tweestappen voorwaardelijke parameters te geven om te zoeken.In de eerdere jaren van compileringsprogramma's waren de implementatie van de filiaaltabel vroeger de GOTO -opdrachten in Fortran Compiler -talen.Branchetabellen worden nog steeds gebruikt om wijzigingen in de programmastroom in compileertalen te implementeren of om een startpunt te zijn voor herhaalde instructiesequenties.