KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2012

PYTANIE NR 25.
Którego działania nie wykonuje jednostka arytmetyczno-logiczna (ALU)?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
ALU realizuje sprzętowo operacje arytmetyczne i logiczne na danych, takie jak dodawanie, odejmowanie czy mnożenie (w zależności od architektury i instrukcji). Enkapsulacja to pojęcie z programowania obiektowego, dotyczące ukrywania danych i interfejsu klasy, a nie działania jednostki ALU.

Pełne wyjaśnienie:

Jednostka arytmetyczno-logiczna (ALU) jest częścią procesora odpowiedzialną za wykonywanie podstawowych operacji na liczbach i bitach. W praktyce ALU obsługuje przede wszystkim:

  • operacje arytmetyczne (np. dodawanie, odejmowanie; często także mnożenie lub wsparcie dla mnożenia poprzez zestaw instrukcji i odpowiednie bloki wykonawcze),
  • operacje logiczne (np. AND, OR, XOR, NOT),
  • porównania realizowane na poziomie bitowym/arytmetycznym (np. ustalanie flag: zero, przeniesienie, znak).

Odpowiedź "Enkapsulacji." jest poprawna, ponieważ enkapsulacja nie jest operacją sprzętową na liczbach ani bitach. To pojęcie z programowania obiektowego, oznaczające ukrywanie stanu obiektu oraz udostępnianie dostępu do niego przez zdefiniowany interfejs (np. metody). Jest to mechanizm projektowania oprogramowania, a nie funkcja realizowana przez ALU.

Dlaczego pozostałe propozycje są błędne jako odpowiedzi na pytanie "czego ALU nie wykonuje"?

  • "Mnożenia." – mnożenie jest operacją arytmetyczną. W wielu architekturach jest realizowane jako instrukcja sprzętowa (czasem przez wyspecjalizowane jednostki wykonawcze), ale nadal należy do klasy operacji arytmetycznych wykonywanych przez procesor.
  • "Odejmowania." – odejmowanie jest podstawową operacją arytmetyczną; w logice procesora często bywa realizowane przez dodawanie liczby w kodzie uzupełnień do dwóch, co nadal mieści się w zadaniach ALU.
  • "Dodawania." – to najczęstszy przykład operacji wykonywanej przez ALU i fundament wielu innych obliczeń (np. adresowania, inkrementacji liczników).

Wskazówka egzaminacyjna: gdy w pytaniu o element sprzętowy pojawia się termin typowy dla paradygmatów programowania (np. enkapsulacja, dziedziczenie, polimorfizm), zwykle jest to dystraktor sprawdzający, czy nie mieszasz poziomu sprzętu z poziomem abstrakcji języków programowania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
ALU (jednostka arytmetyczno-logiczna) to część CPU, która wykonuje operacje na danych: arytmetyczne (np. dodawanie, odejmowanie) oraz logiczne (np. AND, OR, XOR). Wyniki takich operacji wpływają też na flagi stanu używane przy skokach i porównaniach.
Typowo ALU realizuje operacje takie jak dodawanie i odejmowanie, a w zależności od architektury także wsparcie dla mnożenia, przesunięć i porównań. W egzaminowych ujęciach najważniejsze jest, że są to działania na liczbach i bitach, a nie pojęcia z OOP.
Enkapsulacja dotyczy projektowania kodu w programowaniu obiektowym: ukrywania pól i udostępniania metod dostępu. ALU jest elementem sprzętowym CPU i wykonuje obliczenia na bitach/liczbach, więc nie "realizuje" abstrakcyjnych mechanizmów tworzenia klas czy obiektów.
Tak. Nazwa "arytmetyczno-logiczna" oznacza, że ALU realizuje zarówno działania arytmetyczne, jak i logiczne (np. AND/OR/XOR) oraz operacje pokrewne, jak porównania czy ustawianie flag. To kluczowe przy instrukcjach warunkowych i testowaniu bitów.
Pomaga pytanie: "czy to jest operacja na liczbach/bitach wykonywana w CPU?" Jeśli tak, to zwykle sprzęt (ALU, rejestry). Jeśli termin dotyczy klas, obiektów, interfejsów lub cech OOP (np. enkapsulacja), to jest to pojęcie z programowania, a nie z architektury procesora.
Jednostka sterująca organizuje wykonanie instrukcji (pobranie, dekodowanie, sterowanie sygnałami), a ALU wykonuje same obliczenia i operacje logiczne na danych. W uproszczeniu: sterowanie mówi "co i kiedy", a ALU wykonuje "konkretne działanie" na wartościach.
W wielu procesorach mnożenie jest realizowane sprzętowo jako część jednostek wykonawczych CPU (czasem jako wyspecjalizowany blok). W ujęciu egzaminowym mnożenie traktuje się jako operację arytmetyczną wykonywaną przez procesor, więc nie pasuje do pojęć typu enkapsulacja.
Częsty błąd to mieszanie poziomów: wybieranie pojęć z programowania obiektowego lub z sieci komputerowych, gdy pytanie dotyczy elementu CPU. Drugi błąd to kierowanie się "dziwniejszym" słowem zamiast sprawdzenia, czy odpowiedź opisuje operację na liczbach/bitach.
Najczęściej pośrednio: przy doborze sprzętu (wydajność CPU), analizie obciążenia systemu, zrozumieniu działania instrukcji i procesów oraz podczas nauki podstaw architektury komputerów. Wiedza o ALU pomaga rozumieć, skąd biorą się różnice w wykonaniu obliczeń.
Powtórz role podstawowych bloków CPU: ALU, rejestrów, jednostki sterującej, pamięci podręcznej i magistral. Ucz się na przykładach: jakie instrukcje to arytmetyka/logika, a jakie dotyczą sterowania przepływem. Zwracaj uwagę na "haczyki" z terminami programistycznymi.
info

To pytanie poprawnie rozwiązuje 80% zdających egzamin. średnio łatwe

Specjaliści zwracają uwagę: "ALU realizuje sprzętowo operacje arytmetyczne i logiczne na danych, takie jak dodawanie, odejmowanie czy mnożenie (w zależności od architektury i instrukcji)."

Źródła:

  • David A. Patterson, John L. Hennessy, "Computer Organization and Design: The Hardware/Software Interface", rozdziały o datapath/ALU, wydanie zależne od wersji podręcznika
  • William Stallings, "Computer Organization and Architecture", część dotycząca jednostki arytmetyczno-logicznej i wykonania instrukcji, wydanie zależne od wersji podręcznika
  • Intel, "Intel® 64 and IA-32 Architectures Software Developer’s Manual", tomy opisujące instrukcje arytmetyczne i logiczne oraz model wykonania (manuale producenta, aktualna wersja zależna od publikacji)

Materiały:

  • Podręczniki z podstaw architektury komputerów (ALU, jednostka sterująca, rejestry)
  • Materiały kursowe z systemów komputerowych i organizacji procesora
  • Dokumentacje/opracowania dydaktyczne omawiające cykl rozkazowy i wykonanie instrukcji

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego