In een computer bevindt zich een Arithmetic Logic Unit (ALU), die naast rekenkundige bewerkingen (b.v. optellen, aftrekken, enz.) ook logische bewerkingen kan uitvoeren (b.v. AND, OR, Ex-OR, Invert, enz.). De besturingseenheid levert de door de ALU vereiste gegevens uit het geheugen of van invoerapparaten en geeft de ALU opdracht een specifieke bewerking uit te voeren op basis van de uit het geheugen opgehaalde instructie. De ALU is het “rekenmachine”-gedeelte van de computer.
Een rekenkundige logische eenheid (ALU) is een belangrijk onderdeel van de centrale verwerkingseenheid van een computersysteem. Het voert alle rekenkundige en logische bewerkingen uit die op instructiewoorden moeten worden uitgevoerd. In sommige microprocessor-architecturen is de ALU verdeeld in de rekenkundige eenheid (AU) en de logische eenheid (LU).
Een ALU kan door ingenieurs worden ontworpen om veel verschillende bewerkingen te berekenen. Als de bewerkingen steeds complexer worden, wordt de ALU ook steeds duurder, neemt hij meer ruimte in de CPU in beslag en wordt er meer warmte geproduceerd. Daarom maken ingenieurs de ALU krachtig genoeg om ervoor te zorgen dat de CPU ook krachtig en snel is, maar niet zo complex dat hij onbetaalbaar wordt in termen van kosten en andere nadelen.
ALU staat ook bekend als een Integer Unit (IU). De arithmetic logic unit is dat deel van de CPU dat alle berekeningen uitvoert die de CPU nodig kan hebben. De meeste van deze bewerkingen zijn logisch van aard. Afhankelijk van hoe de ALU is ontworpen, kan hij de CPU krachtiger maken, maar hij verbruikt ook meer energie en veroorzaakt meer warmte. Daarom moet er een evenwicht zijn tussen hoe krachtig en complex de ALU is en hoe duur de hele eenheid wordt. Daarom zijn snellere CPU’s duurder, verbruiken ze meer energie en geven ze meer warmte af.
De verschillende bewerkingen die door ALU’s worden uitgevoerd, kunnen als volgt worden gecategoriseerd –
-
logische bewerkingen – Hieronder vallen bewerkingen als AND, OR, NOT, XOR, NOR, NAND, enz.
-
Bitverschuivingsbewerkingen – Hierbij worden de posities van de bits met een bepaald aantal plaatsen naar rechts of naar links verschoven, wat als een vermenigvuldigings- of een delingsbewerking wordt beschouwd.
-
Aritmetische bewerkingen – Hierbij gaat het om het optellen en aftrekken van bits. Hoewel vermenigvuldiging en deling soms worden gebruikt, zijn deze bewerkingen duurder om uit te voeren. Vermenigvuldiging en aftrekking kunnen ook worden gedaan door respectievelijk herhaald optellen en aftrekken.