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.