واحد محاسبه و منطق Arithmetic Logic Unit – ALU
واحد محاسبه و منطق یا Arithmetic Logic Unit چیست؟
واحد محاسبه و منطق (Arithmetic Logic Unit به اختصار ALU) یک مدار الکترونیک دیجیتال ترکیبی است که قادر به انجام اعمال منطقی و حسابی روی اعداد صحیح باینری میباشد. این واحد به عنوان یکی از اجزای اساسی در بسیاری از مدارات رایانه ای (از جمله واحد پردازش مرکزی یا CPU و واحد پردازش گرافیکی یا GPU) به شمار میرود.
ساختار واحد محاسبه و منطق
همانطور که گفته شد واحد محاسبه و منطق نوعی مدار ترکیبی به شمار میرود به این معنا که خروجی آن صرفا وابسته به ورودی مدار در همان زمان است. ورودیهای واحد محاسبه و منطق عبارتند از عملوندها (که قرار است عمل منطقی یا حسابی روی آنها انجام شود) و همچنین کدی (Opcode) که نوع عمل را مشخص میکند. حاصل این واحد نیز نتیجه انجام عمل مشخص شده روی عملوندهاست. ممکن است ALU ها دارای ورودیها و خروجیهای وضعیت (Status) نیز باشند که به ترتیب حاوی اطلاعاتی راجع به عمل پیشین و کنونی خواهند بود.
عملوندها و حاصل که در تصویر زیر به ترتیب با A و B و Y نمایش داده شدهاند در واقع هرکدام مجموعهای از سیگنال ها هستند که یک عدد صحیح را در فرم باینری نشان میدهند. طبیعتا تعداد ارقام این اعداد (پهنای گذرگاه آنها) متناسب با مدارهای خارجی هستند که برای ALU این ورودیها را ارسال و از خروجی آن استفاده میکنند.
بسته به پهنای گذرگاه مربوط به Opcode، بیشینه تعداد اعمالی که ALU قادر به انجام آنست مشخص میشود. برای مثال واحد محاسبه و منطقی با گذرگاه Opcode چهار بیتی میتواند حداکثر از 16 (دو به توان 4) عمل مختلف پشتیبانی کند.
مهمترین خروجیهای وضعیت در ALU ها، رقم نقلی (که در عمل جمع رخ میدهد)، رقم قرضی (که در عمل تفریق رخ میدهد) و بیت سرریز (یا Overflow که در اثر عمل شیفت باینری رخ میدهد) میباشد. ورودیهای وضعیت در یک ALU که اطلاعات بیشتری برای انجام عمل در اختیار این واحد قرار میدهند در واقع همان خروجیهای وضعیتی هستند که از انجام عملی در ALU پیشین به دست آمده است.
از جمله اعمال اصلی که در اغلب واحدهای محاسبه و منطق امروزی پشتیبانی میشود میتوان به اعمال حسابی (از جمله عمل جمع، جمع با رقم نقلی، تفریق، تفریق با رقم قرضی، محاسبه مکمل دوم یک عملوند، افزایش و کاهش یک واحدی یکی از عملوندها)، اعمال منطقی بیتی (از جمله محاسبه AND و OR و XOR میان عملوندها و محاسبه مکمل اول یک عملوند) و اعمال شیفت بیتی (که در آن یک عملوند به سمت چپ یا راست شیفت داده میشود و شامل شیفت منطقی، شیفت حسابی و چرخش میباشد) اشاره نمود.
پیوندهای پیشنهادی تک دیک