در سلسله آموزش های مدارهای منطقی، قسمت دهم به مدار تمام جمع کننده می پردازیم. در قسمت پیشین مدار نیم جمع کننده را مورد بررسی قرار دادیم. همانطور که از قسمت پیشین به خاطر داریم؛ مدار نیم جمع کننده یک مدار پایه ای جهت اجرای عمل جمع در سیستم های کامپیوتری است. اما مدا رنیم جمع کننده دارای ضعف هایی بوده که در این آموزش به کمک مدار تمام جمع کننده، این ضعف بر طرف می شود. در ادامه با مرجع تخصصی الکترونیک به زبان فارسی، دیجی اسپارک همراه باشید.
تعریف مدار تمام جمع کننده
مدار تمام جمع کننده (Full Adder) یک نوع مدار منطقی است که برای انجام عملیات جمع دو عدد باینری یک بیتی استفاده میشود. این مدار سه ورودی دو بیتی را به عنوان ورودی میگیرد که عبارتند از دو بیت عددی که قرار است جمع شوند (A و B) و یک بیت سهم جمع قبلی (Carry In). خروجی مدار شامل دو بیت خروجی جمع شده (Sum و Carry Out) است.وظیفه مدار تمام جمع کننده، جمع دو بیت عددی و بیت سهم جمع قبلی را انجام داده و خروجی را تولید میکند. بیت Sum، جمع دو بیت A و B و بیت Carry In را نشان میدهد، در حالی که بیت Carry Out، سهم جمع بعدی را نشان میدهد که در صورتی که جمع اعشاری از محدوده یک بیت بیشتر شود، به بیت بعدی اضافه میشود.مدار تمام جمع کننده میتواند با استفاده از مدارهای منطقی ساده مانند دروازههای AND، OR و XOR پیادهسازی شود. یک مدار تمام جمع کننده به طور کلی شامل دو مدار نیمهجمع کننده (Half Adder) و یک مدار OR جمع کننده (OR Gate) است.مدار نیمهجمع کننده وظیفه جمع دو بیت A و B را انجام میدهد و خروجی Sum و Carry را تولید میکند. در حالتی که مدار نیمهجمع کننده فقط جمع دو بیت را انجام دهد و در نظر نگیرد که جمع قبلی (Carry In) نیز وجود دارد، به خروجی بیت Carry عبور میدهد که به عنوان Carry In برای مدار بعدی استفاده میشود.
مدار OR جمع کننده وظیفه اضافه کردن بیت Carry Out به خروجی Sum را دارد. به این ترتیب، با استفاده از ترکیب یک مدار نیمهجمع کننده و یک مدار OR جمع کننده، میتوان مدار تمام جمع کننده را پیادهسازی کرد.مدار نیمهجمع کننده دو ورودی A و B را میگیرد و خروجیهایی به نام Sum و Carry را تولید میکند. خروجی Sum برابر با جمع بیت A و B است و خروجی Carry نشاندهنده سهم جمع برای بیت بعدی است.مدار OR جمع کننده دو ورودی را میگیرد که یکی از آنها بیت Sum و دیگری بیت Carry In است و خروجی را به عنوان Carry Out تولید میکند. خروجی Carry Out نشاندهنده سهم جمع برای بیت بعدی است.در مدار تمام جمع کننده، ورودیهای A و B به مدار نیمهجمع کننده داده میشوند و خروجیهای Sum و Carry این مدار به مدار OR جمع کننده وارد میشوند. در نهایت، خروجی Sum از مدار OR جمع کننده گرفته میشود و خروجی Carry Out نیز به مدار تمام جمع کننده برگردانده میشود.
مدار تمام جمع کننده به عنوان قسمتی از مدارهای بزرگتر مانند آرایههای جمع کننده (Adder Arrays) استفاده میشود، که برای جمع اعداد بیشتر از یک بیت به کار میروند. با ترکیب چندین مدار تمام جمع کننده، میتوان عملیات جمع اعداد باینری بیشتر را انجام داد.در قسمت قبلی راجع به مدار نیم جممع کننده صحبت کردیم. این مدار تنها قادر به جمع دو عدد تک بیتی بوده و درست در زمانیکه اعداد با تعداد بیت های بیشتر بخواهیم جمع کنیم؛ این مدار از عمل جمع باز می ماند. به همین منظور مدار تمام جمع کننده می تواند این ضعف را پوشش داده و اعداد با ۲ بیت را نیز با هم جمع کند. اما ساز و کار کلی مدار تمام جمع کننده بسیار ساده است. این مدار در حقیقت از دو نیم جمع کننده تشکیل می شود. مدار تمام جمع کننده علاوه بر دو بیت ورودی، یک ورودی اضافه نیز دارد. این ورودی در حقیقت رقم نقلی مرحله قبل است. بدین ترتیب یک مدار جمع کننده دارای سه ورودی، دو وردی مربوط به بیت های ورودی و ورودی سوم رقم نقلی از مرحله قبلی است. برای روشن تر شدن موضوع، لطفا به تصویر زیر دقت کنید.
مطابق تصویر فوق، دو نیم جمع کننده تشکیل یک تمام جمع کننده داده اند. در نیم جمع کننده نخست، دو ورودی دریافت می گردد. سپس این نیم جمع کننده حاصل جمع را به همراه رقم نقلی، به مدار نیم جمع کننده بعدی انتقال می دهد. بدین ترتیب مدار تمام جمع کننده از سه ورودی که یکی از ورودی ها رقم نقلی مرحله قبل است، تشکیل می شود. در قسمت بعدی به جدول صحت و مدار منطقی تمام جمع کننده می پردازیم.
جدول صحت و مدار منطقی تمام جمع کننده
مدار تمام جمع کننده، یک مدار منطقی است که برای انجام عملیات جمع دو عدد باینری یک بیتی استفاده میشود. این مدار سه ورودی دو بیتی را به عنوان ورودی میگیرد، که شامل دو بیت عددی که قرار است جمع شوند (A و B) و یک بیت سهم جمع قبلی (Carry In) است. خروجی مدار نیز دو بیت است و شامل بیت جمع شده (Sum) و بیت سهم جمع بعدی (Carry Out) میباشد.مدار منطقی تمام جمع کننده میتواند با استفاده از مدارهای نیمهجمع کننده (Half Adder) و مدارهای OR جمع کننده (OR Gate) پیادهسازی شود.مدار نیمهجمع کننده وظیفه جمع دو بیت A و B را انجام میدهد و خروجیهایی به نام Sum و Carry تولید میکند. خروجی Sum برابر با جمع بیت A و B است، و خروجی Carry نشاندهنده سهم جمع برای بیت بعدی است.مدار OR جمع کننده وظیفه اضافه کردن بیت Carry به خروجی Sum را دارد. با این کار، اگر سهم جمع برای بیت بعدی وجود داشته باشد، در خروجی نمایش داده میشود.برای پیادهسازی مدار تمام جمع کننده، ورودیهای A و B به مدار نیمهجمع کننده وارد میشوند. خروجیهای Sum و Carry این مدار به مدار OR جمع کننده میروند. در نهایت، خروجی Sum از مدار OR جمع کننده گرفته میشود و خروجی Carry Out نیز به مدار تمام جمع کننده برگردانده میشود.با ترکیب چندین مدار تمام جمع کننده، میتوان عملیات جمع اعداد باینری بیشتر را انجام داد.پس از بررسی تعریف و کاربرد تمام جمع کننده، نوبت به بررسی جدول صحت آن می رسد. ابتدا به جدول زیر دقت کنید.
COUT | SUM | CIN | B | A |
۰ | ۰ | ۰ | ۰ | ۰ |
۰ | ۱ | ۱ | ۰ | ۰ |
۰ | ۱ | ۰ | ۱ | ۰ |
۱ | ۰ | ۱ | ۱ | ۰ |
۰ | ۱ | ۰ | ۰ | ۱ |
۱ | ۰ | ۱ | ۰ | ۱ |
۱ | ۰ | ۰ | ۱ | ۱ |
۱ | ۱ | ۱ | ۱ | ۱ |
جدول فوق، جدول صحت مدار تمام جمع کننده را نمایش می دهد. جدول فوق بر مبنای تعریف نیم جمع کننده پیش می رود. در جمع فوق، حاصل جمع دو عدد ۱ و ۱، خروجی جمع ۱ با رقم نقلی ۱ تولید می کند. در آخرین سطر جدول، حاصل سه ۱ و ۱ و ۱، برابر با ۱ به همراه رقم نقلی ۱ شده است. برای حاصل جمع این سه عدد، ابتدا دو عدد A و B با هم جمع می شوند. سپس حاصل این دو عدد با CIN جمع خواهد شد. حاصل جمع دو عدد ۱ و ۱، خروجی با رقم نقلی ۱ و حاصل ۰ به صورت ۱۰ تولید می کند. حال حاصل جمع ۱۰ با ۱، برابر با ۱۱ می شود. به همین دلیل مقدار SUM در این جمع ۱ و مقدار CARRY، ۱ خواهد بود. تصویر زیر هم مدار منطقی یک تمام جمع کننده را نمایش می دهد.
همانطور که گفته شد، مدار تمام جمع کننده یک ورودی رقم نقلی از مرحله قبلی می پذیرد. به تصویر زیر که از یک مقاله از سایت sciencedirect برداشته شده دقت کنید. برای مطالعه این مقاله می توانید روی این لینک کلیک کنید.
در تصویر فوق، دو عدد ۴ بیتی با هم جمع می شوند. همانطور که در جمع دو عدد چند رقمی، از سمت راست رقم به رقم جمع اعداد را انجام داده و رقم نقلی هر دو عدد به قسمت بعد منتقل می شود، در تصویر فوق اعداد از سمت راست شروع به جمع شدن و انتقال رقم نقلی به واحد بعدی می نمایند. مطابق تصویر فوق، A0 و B0 کم ارزش ترین بیت ها بوده و ارزش بیت ها به سمت چپ، افزایش می یابد. معادله زیر نیز معادله یک بلوک(واحد) تمام جمع کننده را نمایش می دهد.
SUM=A⊕B⊕C
CARRY=AB+BC+CA
آی سی تمام جمع کننده ۷۴LS83
پس از بررسی مدار منطقی، تعریف و معادله مدار تمام جمع کننده، نوبت به بررسی آی سی تمام جمع کننده می رسد. آی سی ۷۴LS83 یک آی سی ۴ بیتی جهت جمع دو عدد ۴ بیت است. این آی سی دارای پایه ورودی رقم نقلی جهت دریافت رقم نقلی از واحد قبلی و رقم نقلی خروجی برای انتقال به مرحله بعدی است.
تصویر فوق آی سی تمام جمع کننده را نمایش می دهد. این آی سی یک جمع کننده ۴ بیتی بوده که دو عدد ۴ بیتی را با هم جمع می کند. در این آی سی ورودی های A1 الی A3 بیت های عدد A و ورودی های B1 الی B3 بیت های عدد B را تعیین می کند. همچنین پایه های مشخص شده با نماد سیگما حاصل جمع را به صورت ۴ بیتی روی پایه های سیگما ۱ الی ۴ نمایش می دهد. همچنین در این آی سی پایه C0 مربوط به رقم نقلی ورودی بوده و پایه C4 مربوط به رقم نقلی خروجی است. با توجه به این مورد، شما می توانید در ورودی و خروجی این آی سی، آی سی های دیگر هم قرار داده و تعداد بیت های جمع را افزایش دهید. این آی سی دارای ولتاژ کاری ۵ بوده و برای ورودی های ۱ منطقی، ۵ ولت و برای صفر منطقی، ۰ ولت باید به آن اعمال نمایید.
لوازم مورد نیاز
لینک آی سی ۷۴LS83 تمام جمع کننده، کلیک کنید
جمع بندی
در سلسله آموزش های مدارهای منطقی، قسمت دهم و پایانی به مدار تمام جمع کننده پرداختیم. در این سلسله آموزش ها، ساختار و اصول مدارهای منطقی را مورد بررسی قرار دادیم. مدارهای منطقی پایه و اساس سیستم های دیجیتال و میکروکنترلرها را تشکیل می دهند. این مدارها نقشی اصلی در محاسبات کامپیوتری بازی می کنند. در سلسله آموزش های مدارهای منطقی، از قسمت نخست تا قسمت آخر، به تحلیل و بررسی مفاهیم و قطعات کاربردی در علم الکترونیک دیجیتال پرداختیم. این سلسله آموزش را در قسمت دهم، با معرفی تمام جمع کننده، یک مدار اصلی در محاسبات ریاضی، به پایان رساندیم.
چنانچه مطالب این آموزش را گنک یافتید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مطالب درج شده وجود دارد میتوانید از همین طریق اطلاع رسانی کنید.