W technice mikroprocesorowej stos (stack) to obszar pamięci przeznaczony do tymczasowego przechowywania danych w sposób uporządkowany regułą LIFO (Last In, First Out – ostatni włożony element jest zdejmowany jako pierwszy). Dostęp do stosu jest zwykle realizowany przez specjalny rejestr – wskaźnik stosu – oraz instrukcje odkładania i zdejmowania danych.
Dlaczego poprawna jest odpowiedź mówiąca o "obszarze pamięci … wykorzystywanym np. w czasie obsługi przerwania"? Ponieważ w praktyce stos służy do zapisu informacji potrzebnych do powrotu do przerwanego miejsca programu lub do kontynuowania wykonania po zakończeniu procedury. Typowo na stos trafiają m.in.:
- adres powrotu po wywołaniu podprogramu,
- rejestry odkładane na czas wykonania procedury,
- fragment kontekstu procesora przy obsłudze przerwania (zależnie od architektury).
Pozostałe odpowiedzi są błędne, bo opisują inne mechanizmy:
- "lista ostatnio wykonanych rozkazów" kojarzy się z historią/śledzeniem wykonania (debug/trace) albo buforami potokowania, a nie z definicją stosu jako struktury LIFO w pamięci,
- "licznik wewnętrznych impulsów zegarowych" odnosi się do taktowania i liczników czasu (timery), co jest inną funkcją niż przechowywanie danych na potrzeby wywołań i przerwań,
- "słowo sterujące … układem czasowo-licznikowym" dotyczy rejestrów sterujących peryferiami (konfiguracja), a nie obszaru pamięci działającego jak LIFO.
Wskazówka egzaminacyjna: jeśli w treści pojawiają się skojarzenia z przerwaniami, CALL/RET lub "zapisem kontekstu", to niemal zawsze chodzi o stos jako obszar pamięci, a nie o liczniki czasu czy rejestry sterujące.