Mikä on haarapöytä?

Haarataulukko on tapa siirtää ohjelman ohjaus tehokkaasti ohjelman osasta toiseen tai toiseen dynaamisesti ladattuun ohjelmaan lähettämällä ohjehaara tai toteuttamalla kytkentälauseke. Tämä menetelmä, jota joskus kutsutaan hyppytaulukkoksi, perustuu joukkoon olosuhteita tai ehtoja suorittaakseen hyppyn toteuttaakseen menettelyn C+ -kääntäjän kytkentälausekkeen mukaisesti. Haarataulukoiden tärkeimpiä etuja ovat niiden kompakti koodirakenne ja vähennys tarve testata palautuskoodeja erikseen määritettäessä ohjelman kulkua.

1980 -luvulla haarataulukoita käytettiin laajalti kokoonpanokielen ohjelmoinnissa. Niitä käytetään edelleen sulautettujen järjestelmien kokoonpano -ohjelmoinnissa ja käyttöjärjestelmien kehittämisessä. 1990 -luvulta lähtien kääntäjien ohjelmointikielet ovat myös käyttäneet haarataulukon toimintaa.

Haarataulukot koostuvat luettelosta ehdottomista ohjeista, jotka syötetään ja jotka haarautuvat muihin kohteisiin. Useimmat tietokonelaitteet voivat suorittaa nämä ohjeet tehokkaasti. Toisinaan siirtymä – lähinnä etäisyys määränpäähän – voidaan lisätä ohjelmalaskurirekisteriin, joka voi sitten osoittaa haarautumisohjeiden sarjoihin tai hypätä haarakäskyjoukkojen välillä. Haarataulukon toteuttamiseen tarvitaan vain syöttökoodin validointi, tietojen muuttaminen offsetiksi ja tietojen kertominen tietylle käskypituudelle.

Sulautettu ohjelmointi käyttää haarataulukoita, koska ne ovat muistia tehokkaampia kuin konekoodin tai matriisiohjeiden käyttö. Sisäänrakennetut ohjausjärjestelmät tarvitsevat muistisäästöjä, ja vaikka se voi maksaa pienen määrän suorituskykyä haarataulukon käytön aikana, mikä tahansa virtuaalimenetelmätoiminnon kutsu maksaisi saman määrän suorituskykyä vakaalle toiminnalle. Sulautettujen järjestelmien rajallinen suorittimen käyttö ja muistisäästöt tarvitsevat haarataulukon staattisille toimintojoukoille.

Kääntäjien ohjelmointikielet luovat tarvittaessa omat haarautaulukkonsa käyttämällä kääntäjien optimoinnissa hakunäppäimiä. Jotkut ohjelmoijat päättävät avustaa kääntäjää manuaalisesti asiayhteyteen perustuvan haarataulukon luomisessa antamalla kääntäjälle kaksivaiheiset ehdolliset parametrit, joista etsiä avaimia. Aiempina ohjelmien kokoamisvuosina haarataulukko toteutettiin aiemmin GoTo -komentoina Fortran -kääntäjäkielillä. Haarataulukoita käytetään edelleen ohjelmavirran muutosten toteuttamiseen kääntäjäkielillä tai lähtökohtana toistuville käskysarjoille.