مدار ALU یا واحد محاسبه و منطق Arithmetic Logic Unit چیست ؟
مدار ALU که به آن واحد محاسبه و منطق نیز گفته می شود ، مداری دیجیتالی می باشد که وظیفه حساب و منطق را بر عهده دارد. این مدار دیجیتالی در پردازنده ها یک بخش جداگانه و حساس است که در همه پردازنده های قدیمی و جدید یافت می شود.
واحد محاسبه و منطق Arithmetic Logic Unit یا مدار ALU یکی از مهم ترین بخش های پردازنده های گرافیکی و سی پی یو های حال حاضر می باشد . با ادامه مقاله در سایت تک تیپ همراه باشید تا به صورت کامل با این مدار های ویژه آشنا شوید.
طراحی این مدار بسیار پیچیده است و طراحی آن برای مبتدی ها شاید کمی دشوار باشد. با این حال در این مقاله به صورت کامل در مورد واحد محاسبه و منطق توضیح می دهیم. اگر نتوانستید به صورت کامل با این موضوع ارتباط برقرار کنید بهتر است قبل از مطالعه این مطلب آموزش طراحی مدار الکتریکی را مشاهده نمایید تا درک بهتری از این موضوع پیدا کنید.
منابع زیادی برای آموزش دیدن انواع مدار ها وجود دارد که بهترین آن ها در سایت فرادرس موجود می باشد و با هزینه های بسیار کم به نسبت سایر سایت ها می توانید از آن ها استفاده کنید.
مدار ALU چیست ؟
مدار Alu به معنی واحد محاسبه و منطق بوده و مخفف عبارت Arithmetic Logic Unit می باشد. این مدار دیجیتالی و الکترونیکی توانایی انجام اعمال منطقی و حسابی روی اعداد صحیح باینری را دارد.
واحد محاسبه و منطق در بسیاری از قطعات سیستم های رایانه ای همچون سی پی یو CPU و گرافیک یافت می شود و جزو بخش اساسی این قطعات به شمار می رود.
این مدار جزو مدار های ترکیبی بوده به شکل که خروجی مدار نتیجه ورودی به مدار در همان لحظه می باشد و به همین دلیل در پردازنده واحد پردازش و محاسبه منطقی نامیده می شود و وظیفه واحد ALU انجام عملیات حسابی و منطقی روی پردازنده است.
واحد منطق حسابی بخشی از یک واحد پردازش مرکزی است که عملیات حساب و منطق را در عملوندها انجام می دهد.
واحد محاسبه و منطق در برخی از پردازنده ها ، به دو واحد تقسیم می شود: واحد حسابی (AU) و واحد منطقی (LU). برخی از پردازنده ها دارای بیش از یک AU هستند-به عنوان مثال ، یکی برای عملیات نقطه ثابت و دیگری برای عملیات نقطه شناور.
مدار ALU هم در پردازنده های اینتل و هم ای ام دی وجود دارد که بسته به قدرت سی پی یو از پهنای باندی بیشتری برخوردار هستند. مدار های شرکت اینتل کمی از مدار های ای ام دی پیچیده تر طراحی شده اند و ویژگی های مخصوص خود را دارند.
نحوه عملکرد مدار ALU
معمولا ، مدار ALU دارای دسترسی مستقیم ورودی و خروجی به کنترل کننده پردازنده ، حافظه اصلی (حافظه دسترسی تصادفی یا RAM در کامپیوتر) و دستگاههای ورودی/خروجی است که ورودی ها و خروجی ها در امتداد یک مسیر الکترونیکی که گذر نامیده می شود ، جریان دارند.
ورودی شامل یک کلمه دستورالعمل است ، گاهی اوقات یک کلمه دستورالعمل ماشین نامیده می شود که شامل یک کد عملیات و در برخی دیگر یک یا چند عملوند و گاهی یک کد قالب است. و این کد عملیات به مدار ALU می گوید که چه عملیاتی را باید انجام دهد.
بخش های مختلف Alu
به طور کلی ، ALU شامل مکانهای ذخیره عملوندهای ورودی ، عملوندهای اضافه شده ، نتیجه انباشته (ذخیره شده در یک جمع کننده) و نتایج تغییر یافته است. جریان بیت ها و عملیات انجام شده بر روی آنها در زیر واحدهای ALU توسط مدارهای دروازه ای کنترل می شود.
دروازه های این مدارها توسط یک واحد منطقی توالی کنترل می شوند که از الگوریتم یا توالی خاصی برای هر کد عملیات استفاده می کند. با این حال طراحی مدار ALU بخش مهمی از پردازنده است و رویکردهای جدیدی برای افزایش سرعت پردازنده ها با طراحی دقیق آن می توان متصور بود.
این مباحث شاید کمی پیچیده به نظر برسد اما کسانی که رشته مهندسی کامپیوتر را مخصوصا در زیر شاخه سخت افزار سپری می کنند باید به این مفاهیم آشنایی داشته باشند.
برای اینکه دانش خود را در رشته مهندسی کامپیوتر بالا ببرید می توانید از آموزش های حرفه ای سایت فرادرس که توسط اساتید خبره کامپیوتر تهیه شده است استفاده نمایید. اساتید حرفه ای ایرانی در این سایت جدید ترین و حرفه ای ترین مباحث را به صورت کاملا اصولی و مورد محور آموزش می دهند تا دانشجویان با هزینه کم بتوانند از این منابع ویژه استفاده کنند و علم و تجربه خود را افزایش دهند.
مدار ALU در سی پی یو
طراحی و ایجاد مدارهای محاسبه و منطقی در CPU عمدتا به عنوان بخشی از پردازشگر برای انجام محاسبات بر روی داده های منطقی (مانند اعداد صحیح یا اعداد حقیقی ) استفاده می شود. این واحد تنها واحدی است که محاسبه جمع و تفریق در پردازنده را بر عهده دارد.
همچنین این مدار در پردازنده هایی که دارای گرافیک داخلی هستند وظیفه پردازش و محاسبات گرافیکی را بر عهده دارند.
مزایای ALU
ALU دارای مزایای مختلفی است که به شرح زیر است:
- از معماری موازی و برنامه های کاربردی با کارایی بالا پشتیبانی می کند.
- این قابلیت را دارد که خروجی مورد نظر را به طور همزمان بدست آورد و متغیرهای صحیح و نقطه شناور را با هم ترکیب کند.
- دارای قابلیت اجرای دستورالعمل ها بر روی مجموعه ای بسیار بزرگ است و از دقت بسیار بالایی برخوردار است.
- دو عمل حسابی در یک کد مانند جمع و ضرب یا جمع و تفریق ، یا هر دو عملوند را می توان با ALU ترکیب کرد.
- به طور کلی ، بسیار سریع است ؛ بنابراین ، سرعت پردازش را افزایش می دهد
- هیچ مشکل خاصی هدر رفتن حافظه با استفاده از مدار ALU بوجود نخواهد آمد.
- ارزان هستند و الزامات دروازه منطقی را به حداقل می رسانند.
معایب ALU
اگرچه این مدار ها دارای ویژگی ها و مزایای جذابی دارند که استفاده از آن ها را در پردازنده ها حیاتی کرده است ممکن است چند عیب نیز داشته باشد که در ادامه آن ها را بر می شماریم.
- سرعت پایین در درک متغییر ها شناور و تاخیر در محاسبه آن ها
- مدار کاملا پیچیده است و در آن برای مبتدی ها بسیار سخت است.
- از حافظه های موقت فقط می تواند استفاده کند
- احتمال خطا و بی نظمی در زمان های پر فشار
وظیفه واحد محاسبه و منطق چیست ؟
به طور کلی مدار ALU وظیفه انجام عملیات ریاضی را در پردازش گر ها بر عهده دارد. این مدار در CPU آخرین جزء برای محاسبه و پردازش بوده و برای انجام محاسبات خود از کد و عملوندها بهره می گیرد. پس از انجام این وظیفه واحد ALU ، اطلاعات را در RAM بارگذاری می کند.
برای بارگذاری این اطلاعات در RAM و پروسس کنترل ، به واحد محاسبه و منطق دسترسی کامل داده شده است تا بتواند اطلاعات ورودی و خروجی را کنترل نماید.
برای درک بهتر این مطالب باید آموزش مدار منطقی را پشت سر گذاشته باشید . در غیر این صورت شاید این مباحث کمی برای شما گنگ به نظر برسد.
انواع خروجی های مدار ALU
قبل از هر چیز بهتر است بدانید پهنای باند مدار تاثیر مستقیمی بر تعداد عمل های حداکثری انجام شده خواهد گذاشت. به طور مثال اگر گذرگاه مدار ALU برابر با ۸ بیت باشد حداکثر عملی که این مدار توانایی انجام آن را در لحظه دارد به ۶۴ ( یعنی ۲ به توان ۸ ) خواهد رسید و برای انجام تعداد عمل های بیشتر باید سی پی یو را ارتقاء داد و پهنای باند اختصاص داده مدار را بیشتر نمود.
خروجی های این مدار که جزء اصلی سی پی یو می باشد به سه شکل زیر خواهد بود:
- بیت سرریز : شیفت باینری باعث Overflow یا بیت سرریز خواهد شد
- رقم قرضی : عمل تفریق این رقم را بوجود می آورد.
- رقم نقلی : عمل جمع باعث خروجی به شکل خواهد شد.
مدار ALU تنها قسمتی از یک پردازنده محسوب می شود که کار های واقعی و محاسباتی انجام می دهد. این واحد در پردازنده های رایانه های سری Intel و AMD یافت می شود.
البته باید توجه داشت که واحد محاسبه و منطق در پردازنده های سری اینتل پیچیده تر است. لازم به ذکر است که پردازنده ها الزاماً دارای یک ALU واحد نیستند و ممکن است مدلهای پردازنده یا سریهای پیشرفته از چندین مدار واحد محاسبه و منطق در آنها استفاده شده باشد.
بسته به نوع محاسبه و نوع پردازنده در حال اجرا ، واحد خروجی محاسبه و منطق را می توان در بخش های مختلف کامپیوتر ذخیره کرد با این حال RAM بخش اصلی ذخیره اطلاعات مدار ALu محسوب می شود.
ساختار ALU به چه صورت است ؟
مطابل شکل بالا به صورت شماتیک می توان ساختار مدار Alu را به صورت تصویر نمایش داد. همانطور که در تصویر مشاهده می کنید.
عبارات A و B به ترتیب عملوند اول و عملوند دوم می باشند و در نهات نتیجه Y را حاصل خروجی می توان نامید.
Status ها همان ورودیها و خروجیهای وضعیت به شمار می روند که در بیشتر مدار های Alu وجود دارند.
و در نهایت Opcode نوع عمل را مشخص می کند و پس از انجام کار ، نتیجه را به RAM ارسال می کند.
در این معماری ، یک عملوند از رجیستر و دیگری از حافظه خارجی می آید زیرا یکی از پیچیده ترین معماری ها است. دلیل آن این است که هر برنامه ممکن است بسیار طولانی باشد تا زمانی که لازم است در فضای کامل حافظه نگهداری شود.
واحد محاسبه و منطق
مدار Arithmetic Logic Unit به دو واحد زیر تقسیم بندی می شود که هر کدام وظیفه خاصی را دنبال می کنند.
- AU : مخفف Arithmetic Unit است و بخش محاسبات ریاضی را انجام می دهد.
- LU : مخفف Logic Unit است و بر روی داده ها عملیات منطقی انجام می دهد.
در پردازنده های قدیمی معمولا این دو کاملا جدای از هم عمل می کردند و تعداد هر کدام هم بستگی به نیاز سیستم داشت ، اما جدیدا این دو را در یک سیتم کاملا منسجم به نام مدار Alu قرار داده اند و هر دو وظیفه را این مدار به خوبی انجام می دهد.
مدار ALU در کجا قرار دارد ؟
درون تمام پردازنده ها چه رایانه چه موبایل و … مدار ALU وجود دارد و تفاوتی بین پردازنده رایانه ای چند هسته ای ، یک پردازنده بزرگ و فوق حرفه ای یا یک ریزتراشه ساده در برد های معمولی باشد ، واحد حساب و منطق در همه پردازنده ها ثابت است. البته ممکن است تعداد پهنای باند آن در پردازنده های مختلف متفاوت باشد ، اما همه پردازنده ها حداقل یک واحد از این مدار را درون خود دارند.
هر دستگاهی که دارای پردازنده مرکزی باشد باید این مدار را در خود قرار دهد زیرا بدون این مدار قادر نخواهد بود اعمال محسبه و منطقی را انجام دهد.
ALU مخفف چه عبارتی است ؟
همانطور که در ابتدای مطلب خدمت شما عرض کردیم این عبارت مخفف Arithmetic Logic Unit است که به زبان فارسی به صورت ” واحد محاسبه و منطق ” ترجمه می گردد و وظیفه اصلی آن انجام محاسبات و عملیات های منطقی درون پردازنده ها می باشد.
بهترین روش یادگیری مدار های واحد محاسبه و منطق
برای اینکه به صورت کامل این مدار و نحوه پیاده سازی آن را بیاموزید می توانید از آموزش های آنلاین سایت فرادرس استفاده کنید. در این سایت آموزش طراحی مدار ها را از مبتدی تا پیشرفته قرار داده است تا آماتور ها نیز بتوانند به صورت حرفه ای طراحی مدار را در یک دوره کوتاه بیاموزند.
سایت فرادرس مجموعه ای از آموزش های حرفه ای تحلیل مدار ها را نیز برای دانشجویان علاقه مند فراهم نموده است که با مراجعه به سایت فرادرس می توانید چندین آموزش در این رابطه بیابید.