جمع کننده-تفریق کننده
جمع کننده-تفریق کننده در مدارهای دیجیتال، مداری با توانایی جمع و تفریق اعداد (بخصوص اعداد باینری) است. شکل زیر مداری است که بنا به سیگنال کنترلکننده، بر روی اعداد عملیات جمع یا تفریق انجام میدهد. همچنین میتوان مداری ساخت که عملیات جمع و ضرب را به صورت همزمان انجام دهد.[۱]
ساختار
[ویرایش]با فرض اینکه اعداد در سیستم نمایش مکمل دو هستند، برای جمع دو عدد A و B داریم S = A + B. برای انجام عملیات تفریق B − A، تئوری سیستم مکمل دو میگوید که هر بیت از عدد A را با استفاده از گیت NOT معکوس کرده و سپس به علاوهُ یک کنیم. نتیجه این عملیات S = B + A + 1 است که انجام آن با یک جمع کننده کمی تغییر یافته آسان است.
قبل از وارد کردن هر بیت از عدد A به درون جمع کننده، آن را به یک مالتی پلکسر ۲-به-۱ متصل میکنیم به صورتی که:
- ورودی0 (i0) همان A است.
- ورودی1(i1)، A یا NOT شدهٔ A است.
این مالتی پلکسر با سیگنال کنترلی D کنترل میشود که به رقم نقلی بیت اول هم متصل است. سپس جمع کننده اصلاح شده به صورت زیر کار میکند:
- عمل جمع، وقتی که D = ۰
- عمل تفریق، وقتی که D = ۱
این اعمال برای این است که وقتی D = ۱ باشد، ورودی بخش A جمع کننده همان A است و رقم نقلی اولیه نیز برابر ۱ است. حاصل جمع B با A و ۱، همان تفریق B − A است.
یک راه برای اینکه بتوانیم عدد A را به عنوان عدد مثبت یا منفی بدون استفاده از مالتی پلکسر وارد جمع کننده کنیم، استفاده از گیت XOR قبل از هر بیت است، به این صورت که:
- ورودی اول گیت XOR، بیتهای اصلی اند
- ورودی دوم در هر XOR، سیگنال کنترلی D است
این روش، جدول صحت یکسانی با روش استفاده از مالتی پلکسر تولید میکند. علت آن این است که اگر D = ۰ باشد، خروجی گیت XOR همان بیتهای ورودی A اند و اگر D = ۱ باشد، خروجی آن معکوس A یا Ā است.
منابع
[ویرایش]- ↑ Ravi Teja (2021-04-21). "Binary Adder and Subtractor". Electronics Hub (به انگلیسی). Retrieved 2022-06-01.