Vad är en Stack register?

Diverse Kjellvor Drakenberg Oktober 31, 2016 0 0
FONT SIZE:
fontsize_dec
fontsize_inc

 På datorer, är en stapel register en minnesplats - vanligtvis på stordator eller tillhörande utrustning - den aktuella adressen på toppen av en region separat dataminne kallas stack. Stacken Registret är viktigt eftersom, utan det skulle en dator vara skyldiga att utföra en långsammare, mer felbenägen metod för att detektera ordningen genomförandet av ett program. I de flesta systemarkitekturer, är stapeln registret ett särskilt register, så att den inte oavsiktligt öppnas när man arbetar med andra minnesregister. Mer sällan, är en stapel registret en allmänna registret, som vanligtvis är tillgängliga via ett program, men är inte avsiktligt användas eftersom dess användning bestäms av tillverkaren. Om ett datorsystem innefattar två eller flera stapel av register, så att det kan finnas fler än en bunt, arkitekturen är känd som en stapel maskin.

 På den lägsta nivån av programmerings datorer, är en stapel en region av minne - vanligen i direktåtkomstminnet - som har en väl definierad typ av beteende. Stapeln kan få information läggs till push kallas i en process, eller det kan erhållas genom de uppgifter som nämns popping. Modellen för en stapel är en först in, sist ut, vilket innebär att om flera bitar av information som skall skjutas in i stacken, då det första elementet trycks kommer att bli den sista som hoppat ur vara, medan det sista elementet skjuts in kommer att vara den första som hämtas med en pop kommando. En stack register innehåller överst i stacken, som alltid är fullsatta det sista objektet.

 När en dator exekverar varje instruktion som exekveras har en specifik minnesadress där den lagras tillfälligt för programmets löptid. Om ett program är en underrutin - eller procedur, funktion eller metod, beroende på programmering - du behöver för att köra programmet till minnesadress subrutinen koden. Adressen där programmet flödeskontroll avbryter gren till subrutinen på stacken så det är ihågkommen. När den körs subrutinen avslutar programmet vet var den skall återgå till huvudkoden som poppar koden adressen från toppen av stacken, som anger stapeln registret.

 Även om det finns andra metoder som kan användas för att uppnå samma resultat, med en stack och stack registrera en nyckelprogrammeringskoncept senare rekursion. En rekursiv funktion är en funktion inom sin egen kod, kallar sig. Denna metod används ofta i sorteringsalgoritmer och specifika matematiska funktioner. Stapeln Registret håller alla adresser där den sista avrättningen är förgrening, så en funktion kan säkert genomföra rekursion med vetskap om att, i slutändan, kommer kontrollen att återgå till ursprungsplatsen. En komplikation uppstår om hela stapeln fullständig och inget utrymme kvarstår i minnet, en dataspill inträffar, stoppa programexekvering.

  •  En stack registret är en minnesplats, vanligtvis på CPU, som innehar den aktuella adressen i stacken.
(0)
(0)