Przejdź do głównej treści

Kwalifikacja: INF.02 - Administracja i eksploatacja systemów komputerowych, urządzeń peryferyjnych i lokalnych sieci komputerowych

Zawód: Technik informatyk

Kategorie: Sprzęt komputerowy Pomiary i diagnostyka Podstawy informatyki

Brak informacji o parzystości liczby lub o znaku wyniku wykonywanej operacji w ALU może świadczyć o problemach w działaniu

A. tablicy rozkazów.
B. wskaźnika stosu.
C. rejestru flagowego.
D. pamięci cache.

Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.12-X-18.01).

Informacje o parzystości liczby, znaku wyniku, przeniesieniu, przepełnieniu czy wyniku równym zero są zapisywane w rejestrze flagowym procesora, często nazywanym też rejestrem stanu. Dlatego brak takich informacji po operacji wykonanej w ALU wskazuje właśnie na problem związany z rejestrem flagowym albo z mechanizmem ustawiania flag przez jednostkę arytmetyczno-logiczną. ALU wykonuje działania, na przykład dodawanie, odejmowanie, operacje AND, OR, XOR, a po nich procesor aktualizuje odpowiednie bity stanu. Flaga znaku mówi, czy wynik jest ujemny w zapisie uzupełnień do dwóch, flaga parzystości może informować o parzystej liczbie jedynek w bajcie wyniku, a flaga zera przydaje się przy instrukcjach warunkowych. W praktyce jest to bardzo ważne, bo instrukcje skoku, porównania i obsługa błędów często opierają się właśnie na flagach. Moim zdaniem to jeden z tych tematów, które dobrze pokazują, że procesor nie tylko liczy, ale też stale opisuje stan wyniku. W diagnostyce niskopoziomowej, emulatorach CPU, asemblerze i analizie błędów sprzętowych sprawdzenie rejestru flagowego jest normalną, dobrą praktyką. Cache, stos czy tablica rozkazów mogą wpływać na działanie programu, ale nie są miejscem przechowywania informacji typu wynik dodatni, wynik ujemny albo parzystość.
Jeżeli po operacji w ALU brakuje informacji o parzystości, znaku wyniku albo innych cechach rezultatu, to nie należy tego wiązać przede wszystkim z pamięcią cache. Cache odpowiada za przyspieszanie dostępu do danych i instrukcji przez przechowywanie często używanych bloków pamięci bliżej procesora. Uszkodzona lub źle działająca pamięć cache może powodować zawieszanie systemu, błędne dane, losowe restarty czy problemy z wydajnością, ale sama z siebie nie przechowuje flag procesora takich jak znak, zero czy parzystość. To częsty skrót myślowy: skoro problem dzieje się w procesorze, to ktoś od razu myśli o cache, a tutaj chodzi o zupełnie inny element logiczny. Wskaźnik stosu też nie pasuje do tego przypadku. Rejestr SP, ESP albo RSP, zależnie od architektury, wskazuje aktualne położenie stosu w pamięci. Jest używany przy wywołaniach funkcji, odkładaniu adresów powrotu, obsłudze przerwań i zapisie lokalnych danych. Jeśli wskaźnik stosu działa źle, program może wracać pod zły adres albo nadpisywać dane, ale nie tłumaczy to braku informacji o znaku wyniku z ALU. Tablica rozkazów również jest myląca, bo kojarzy się z zestawem instrukcji procesora albo dekodowaniem poleceń, a nie z bieżącym stanem po wykonaniu działania. Standardowe podejście w architekturze komputerów jest takie, że wynik operacji trafia do rejestru lub pamięci, a jego cechy są odnotowywane w rejestrze flagowym. Z mojego doświadczenia uczniowie często mieszają rejestry ogólnego przeznaczenia, stos i flagi, bo wszystkie są blisko procesora. Warto zapamiętać prosto: dane są w rejestrach i pamięci, adres stosu w rejestrze stosu, a opis wyniku operacji arytmetyczno-logicznej w rejestrze flagowym.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.