Test z Procesor i cykl rozkazowy

Procesor i Cykl Rozkazowy: Jak działa CPU? Opracowanie dla studentów

Pytanie 1 z 50%

Licznik Programu (PC) wskazuje na aktualnie wykonywaną instrukcję, aby procesor wiedział, którą operację właśnie realizuje.

Test: Architektura procesora, Cykl rozkazowy, Błędy procesora, Symulacja procesora

20 pytań

Pytanie 1: Licznik Programu (PC) wskazuje na aktualnie wykonywaną instrukcję, aby procesor wiedział, którą operację właśnie realizuje.

A. Tak

B. Nie

Wyjaśnienie: Licznik Programu (PC) zawsze wskazuje na *następną* instrukcję do pobrania, a nie na aktualnie wykonywaną. Jego wartość jest automatycznie zwiększana po pobraniu każdej instrukcji, chyba że instrukcja skoku celowo zmieni jego wartość.

Pytanie 2: Które z poniższych stwierdzeń prawidłowo opisuje zmiany stanu rejestrów procesora podczas ETAPU WYKONANIA (Execute) instrukcji `LOAD A, 100`, zgodnie z przedstawionym przykładem, zakładając początkową zawartość komórki pamięci 100 jako 5?

A. Wartość Licznika Programu (PC) zostaje zwiększona o 1.

B. Do Rejestru Adresu Pamięci (MAR) zostaje zapisany adres 100.

C. Zawartość komórki pamięci o adresie 100 (czyli wartość 5) zostaje przeniesiona do Rejestru Danych Pamięci (MDR).

D. Wartość z Rejestru Danych Pamięci (MDR) zostaje zapisana do Akumulatora (ACC).

Wyjaśnienie: Zgodnie z sekcją 'Śledzenie Cyklu Rozkazowego dla Przykładu: Instrukcja 1: LOAD A, 100', w etapie 'Wykonanie' następuje: - 'MAR ← 100' (adres operandu), co jest zgodne z opcją 1. - 'Pamięć[100] (wartość 5) jest pobierana do MDR', co jest zgodne z opcją 2. - 'ACC ← MDR' (ACC = 5), co jest zgodne z opcją 3. Opcja 0 jest niepoprawna, ponieważ zwiększenie Licznika Programu (PC) następuje w etapie 'Pobranie' (PC ← PC + 1), a nie w 'Wykonanie'.

Pytanie 3: Podczas etapu pobrania instrukcji `LOAD A, 100`, Rejestr Danych Pamięci (MDR) zawiera wartość 100 przed skopiowaniem jej do Rejestru Instrukcji (IR).

A. Tak

B. Nie

Wyjaśnienie: Podczas etapu pobrania instrukcji `LOAD A, 100`, Pamięć[0] (czyli `LOAD A, 100`) jest pobierana do MDR. Zatem MDR zawiera treść instrukcji, a nie adres operandu (100). Adres 100 trafia do MAR dopiero na etapie wykonania.

Pytanie 4: Które z poniższych zdarzeń zachodzą podczas etapu WYKONANIA instrukcji `ADD A, 101`, zgodnie z przedstawionym cyklem rozkazowym?

A. Wartość z Licznika Programu (PC) jest kopiowana do Rejestru Adresu Pamięci (MAR).

B. Jednostka Sterująca (CU) interpretuje instrukcję `ADD A, 101`.

C. Wartość z komórki pamięci o adresie 101 jest pobierana do Rejestru Danych Pamięci (MDR).

D. ALU wykonuje operację dodawania, a wynik jest zapisywany do Akumulatora (ACC).

Wyjaśnienie: Zgodnie z materiałem, podczas etapu WYKONANIA instrukcji `ADD A, 101`: 'MAR ← 101 (adres operandu)', 'Pamięć[101] (wartość 3) jest pobierana do MDR' oraz 'ALU wykonuje ACC + MDR' i 'ACC ← 8'. Opcja 0 ('Wartość z Licznika Programu (PC) jest kopiowana do Rejestru Adresu Pamięci (MAR)') opisuje działanie z etapu POBRANIA. Opcja 1 ('Jednostka Sterująca (CU) interpretuje instrukcję `ADD A, 101`') opisuje działanie z etapu DEKODOWANIA.

Pytanie 5: Dane i instrukcje są przechowywane w oddzielnych obszarach pamięci operacyjnej, aby procesor mógł je łatwiej rozróżnić.

A. Tak

B. Nie

Wyjaśnienie: Zgodnie z architekturą von Neumanna, zarówno dane, jak i instrukcje programu są przechowywane w tej samej pamięci. To Jednostka Sterująca w procesorze decyduje o interpretacji pobranego ciągu bitów.