CPU en architectuur

Welk geheugengebied wordt gewoonlijk gebruikt om bij het aanroepen van een subroutine (functie) tijdelijk onder meer het terugkeeradres op te slaan?

  1. ADe stack
  2. BDe tag van de cache
  3. CEen vast gebied in ROM
Antwoord en toelichting tonen

Antwoord: A. De stack

Bij het aanroepen van een subroutine worden het terugkeeradres, te bewaren registerwaarden en lokale variabelen op de stack geplaatst. De stack is een structuur waarbij het laatst opgeslagene als eerste wordt teruggehaald (LIFO), zodat ook bij geneste of recursieve aanroepen in de juiste volgorde wordt teruggekeerd. De bovenkant wordt aangegeven door de stackpointer. Bij te diepe recursie raakt het gebied op en ontstaat een stack overflow, en er bestaan ook aanvallen die het terugkeeradres overschrijven door een array te overschrijden.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over CPU en architectuur

  1. Welke combinatie hoort bij de indeling van cachemissers in de "drie C's"?
  2. Welk mechanisme legt in een out-of-order CPU de resultaten van in andere volgorde uitgevoerde instructies vast (retire) in de oorspronkelijke programmavolgorde?
  3. Wat is het belangrijkste doel van registerhernoeming (register renaming) in out-of-order CPU's?
  4. Welke opbouw rangschikt in AI-versnellers en dergelijke veel vermenigvuldig-optelelementen in een raster en berekent een matrixproduct terwijl gegevens achtereenvolgens naar de naburige rekeneenheid stromen?
  5. Welk model toont met de rekenintensiteit (aantal bewerkingen per byte) op de horizontale as of de prestaties van een programma worden begrensd door rekenprestaties of door geheugenbandbreedte?

Vergelijkingen bij dit onderwerp