Skip to main content

Cos'è una tavola di filiale?

Una tabella delle filiali è un metodo per trasferire in modo efficiente il controllo del programma da una parte di un programma all'altra, o a un secondo programma che è stato caricato in modo dinamico, inviando una filiale di istruzioni o implementando un'istruzione switch.Questo metodo, a volte chiamato tabella di salto, si basa su una serie di circostanze o condizioni per eseguire un salto per implementare una procedura in base a un'istruzione switch di un compilatore C+.Alcuni dei principali vantaggi delle tabelle delle filiali sono la loro struttura di codice compatta e una riduzione della necessità di testare i codici di restituzione individualmente quando si determinano il flusso del programma.

Negli anni '80, le tabelle delle filiali sono state ampiamente utilizzate nella programmazione del linguaggio di assemblaggio.Sono ancora utilizzati nella programmazione dell'assemblaggio per sistemi incorporati e sviluppo dei sistemi operativi.Dagli anni '90, anche i linguaggi di programmazione del compilatore hanno utilizzato il funzionamento della tabella delle filiali.

Le tabelle delle filiali sono costituite da un elenco di istruzioni incondizionate che, in input, si dirattano ad altre destinazioni.La maggior parte dell'hardware del computer può eseguire queste istruzioni in modo efficiente.A volte, l'offset mdash;In sostanza, la distanza dalla destinazione mdash;Può essere aggiunto a un registro contatore del programma che può quindi puntare a insiemi di istruzioni di filiale o saltare tra le serie di istruzioni di filiale.Tutto ciò che è necessario per implementare una tabella delle filiali è la convalida del codice di input, trasformare i dati in un offset e moltiplicare i dati in una determinata lunghezza dell'istruzione.

La programmazione incorporata utilizza le tabelle di filiale in quanto sono più efficienti dalla memoria rispetto all'utilizzo del codice macchina macchinao puntatori di array.I sistemi di controllo incorporati richiedono che il risparmio di memoria e sebbene possano costare una piccola quantità di prestazioni durante l'accesso alla tabella delle filiali, qualsiasi chiamata di funzione del metodo virtuale costerebbe la stessa quantità di prestazioni per il funzionamento stabile.L'accesso CPU limitato e il risparmio di memoria nei sistemi incorporati necessitano di una tabella di filiale per set di funzioni statiche.

I linguaggi di programmazione del compilatore generano le proprie tabelle di filiale quando necessario dall'uso dei tasti di ricerca su ottimizzare i compilatori.Alcuni programmatori scelgono di assistere manualmente il compilatore con la generazione di tabella di filiale contestuata dando al compilatore parametri condizionali in due fasi da cui cercare le chiavi.Negli anni precedenti della compilazione dei programmi, l'implementazione della tabella delle filiali era il comando GOTO nei linguaggi del compilatore FORTRAN.Le tabelle delle filiali sono ancora utilizzate per implementare le modifiche al flusso del programma nei linguaggi del compilatore o per essere un punto di partenza per le sequenze di istruzioni ripetute.