Arithmetic logic unit

Ang arithmetic logic unit (ALU) (o yunit na lohika at pang-aritmetika) ay isang digital circuit na nagsasagawa ng mga operasyong pang-aritmetika at lohika. Ito ay isang combinational logic block, kung saan ang palalabas ng resulta ay hindi nakadepende sa clock. Ang ALU ay isang mahalagang bahagi ng central processing unit (CPU) ng mga kompyuter, gayundin ng mga microprocessors.

Upang makakuha ng tamang resulta sa pagsasagawa ng mga operasyong lohika ang pang-aritmetika, ang ALU block ay mayroong adder, mga logic gate gaya ng AND gate, OR gate, XOR gate at inverter at multiplexer.

Ang adder ay siyang namamahala sa pagsasagawa ng pang-aritmetikang operasyon tulad ng pagdagdag at pagbabawas. Mayroong iba't ibang uri ng adder na maaring gamitin tulad ng full-adder, carry-lookahead adder, at iba pa.  Ang mga ito ay nagkakaiba sa bilis ng pagsasagawa ng pagdagdag at sa dami ng bahagi na nakapaloob dito. Samantala, ang mga operasyong pang-lohika naman gaya ng AND, OR, XOR at INVERT ay isinasagawa ng mga nabanggit na mga logic gate.  Ang sukat ng mga nasabing block ay batay sa sukat o dami ng bits na pumapasok sa ALU. Halimbawa, kung gagawa ng isang 32-bit ALU, kailangang ang adder at mga logic gate ay 32-bit din.

Ang mga operando na pumapasok sa ALU ay nanggagaling sa isang input register, samantalang, ang resulta naman ay inilalagay sa isang output register. Mayroon ding control unit na siya namang naglalabas ng mga hudyat na nagsasabi kung ano ang operasyon na dapat gawin ng ALU. Bukod sa resulta ng opearasyon, ang ALU ay maari ding maglabas ng mga hudyat na 1-bit gaya ng N-negative, Z-zero, O-overflow, at C-carry. Ang mga hudyat na ito ay mga flagbits na karaniwang ipinapasok sa Current Program Status Register (CPSR).

Agham pangkompyuter