KWALIFIKACJA INF2 - CZERWIEC 2014

PYTANIE NR 5.
Dodatkowe cechy wyniku operacji wykonywanej przez jednostkę arytmetyczno - logiczną ALU zawiera
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Rejestr flagowy (rejestr stanu) przechowuje bity opisujące cechy wyniku pracy ALU, np. czy wynik jest zerowy, wystąpiło przeniesienie lub przepełnienie. Wskaźnik stosu i licznik rozkazów służą do adresowania, a akumulator przechowuje dane/wynik, ale nie zestaw flag stanu.

Pełne wyjaśnienie:

Jednostka arytmetyczno-logiczna (ALU) wykonuje operacje takie jak dodawanie, odejmowanie, AND/OR/XOR czy przesunięcia. Oprócz samego wyniku liczbowego ważne są też cechy wyniku, które CPU wykorzystuje m.in. do podejmowania decyzji (np. w instrukcjach skoku warunkowego po porównaniu).

Takie cechy są zapisywane w rejestrze flagowym (często nazywanym też rejestrem stanu). Typowe bity w tym rejestrze informują np. o tym, że wynik jest równy zero, że wystąpiło przeniesienie przy dodawaniu, że wynik ma określony znak albo że doszło do przepełnienia w arytmetyce ze znakiem. To właśnie "dodatkowe cechy wyniku operacji" wykonywanej przez ALU.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Wskaźnik stosu służy do wskazywania bieżącego wierzchołka stosu w pamięci (adresowanie danych na stosie). Nie jest miejscem zapisu flag po operacjach ALU.
  • Akumulator (jeśli występuje w danej architekturze) bywa rejestrem roboczym dla danych i może przechowywać wynik operacji, ale cechy wyniku są kodowane jako osobne bity stanu w rejestrze flagowym.
  • Licznik rozkazów przechowuje adres następnej instrukcji do wykonania. Jest kluczowy dla sterowania przepływem programu, ale nie przechowuje informacji o tym, czy ostatnie dodawanie dało przeniesienie lub czy wynik był zerowy.

Wskazówka egzaminacyjna: gdy w pytaniu pojawiają się słowa "flagi", "cechy wyniku", "warunki skoku" lub "stan po operacji", najczęściej chodzi o rejestr stanu/flag, a nie o rejestry adresowe (PC, SP).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Rejestr flagowy (rejestr stanu) to rejestr CPU przechowujący bity opisujące wynik ostatnich operacji ALU, np. czy wynik był zerowy, czy wystąpiło przeniesienie lub przepełnienie. Te bity są potem wykorzystywane przez instrukcje warunkowe i porównania.
Flagi mogą informować o cechach wyniku, takich jak: wynik równy zero, przeniesienie z najstarszego bitu, przepełnienie w arytmetyce ze znakiem, znak wyniku czy ustawienie parzystości (zależnie od architektury). To są metadane do sterowania przebiegiem programu.
Wskaźnik stosu to rejestr adresowy: wskazuje adres w pamięci, gdzie znajduje się wierzchołek stosu. Jego zadanie dotyczy organizacji wywołań funkcji i zapisu danych na stosie, a nie zapamiętywania stanu po działaniach arytmetyczno-logicznych.
Akumulator zwykle przechowuje dane lub sam wynik operacji, ale "cechy wyniku" są kodowane jako osobne bity w rejestrze stanu/flag. Dzięki temu CPU może niezależnie trzymać wartość wyniku i informację, czy np. było przeniesienie albo wynik wyszedł 0.
Licznik rozkazów (program counter) wskazuje adres następnej instrukcji do wykonania. Steruje kolejnością pobierania rozkazów, ale nie opisuje rezultatu obliczeń. Flagi dotyczą wyniku ALU, natomiast licznik rozkazów dotyczy przepływu wykonania programu.
Po instrukcji porównania lub odejmowania ALU ustawia flagi w rejestrze stanu. Skok warunkowy sprawdza te bity (np. "zero" dla równości, "znak" dla relacji < 0). Dzięki temu możliwe są instrukcje typu "jeśli równe, skocz".
Rejestry danych kojarz z przechowywaniem wartości (np. wynik, operandy), a rejestry sterujące z adresami i stanem wykonania. "Cechy wyniku", "flagi", "stan po operacji" prawie zawsze oznaczają rejestr stanu/flag, nie PC ani SP.
Flaga przeniesienia jest kluczowa przy dodawaniu wielobajtowym/wielosłowowym (np. 32-bit + 32-bit w architekturze o mniejszym słowie) oraz w arytmetyce bez znaku. Umożliwia "przeniesienie" do kolejnego etapu dodawania.
Bo oba są mocno związane z wynikami działań ALU: akumulator może przechowywać wynik liczbowy, a rejestr flagowy przechowuje opis wyniku w postaci bitów stanu. W pytaniach o "dodatkowe cechy" chodzi o opis (flagi), nie o samą wartość.
Ucz się mapowania funkcji: ALU wykonuje operacje, rejestr flagowy zapisuje stan, PC wskazuje następną instrukcję, SP obsługuje stos. Pomaga też rozwiązywanie testów i proste przykłady z porównaniem oraz skokami warunkowymi.
info

Około 65% zdających odpowiada poprawnie na to pytanie. średnie

Według specjalistów z branży: "Rejestr flagowy (rejestr stanu) przechowuje bity opisujące cechy wyniku pracy ALU, np. czy wynik jest zerowy, wystąpiło przeniesienie lub przepełnienie."

Źródła:

  • Wikipedia (PL): "Rejestr stanu" – opis funkcji rejestru flag/stanu procesora, https://pl.wikipedia.org/wiki/Rejestr_stanu (dostęp: 2026-03-02)
  • Wikipedia (PL): "Jednostka arytmetyczno-logiczna" – rola ALU w CPU, https://pl.wikipedia.org/wiki/Jednostka_arytmetyczno-logiczna (dostęp: 2026-03-02)
  • Wikipedia (PL): "Flaga procesora" – ogólne znaczenie flag (np. Z, C, O), https://pl.wikipedia.org/wiki/Flaga_procesora (dostęp: 2026-03-02)

Materiały:

  • Podręczniki/rozdziały o architekturze komputerów: ALU, rejestry, cykl rozkazowy
  • Dokumentacje architektur (np. opisy rejestru stanu/flag w wybranym ISA) – jako materiał poglądowy
  • Kursy wprowadzające do asemblera i instrukcji skoku warunkowego (porównania a flagi)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego