مدارهای منطقی چیست و چه انواع، ویژگیها و کاربردهایی دارد؟ در این مطلب بهصورت مفصل به این پرسش پاسخ دادهایم و در ضمن درس مدارهای منطقی را معرفی کردهایم که یکی از دروس اصلی رشته کامپیوتر است و هدف از آن آموزش تکنیکهای طراحی و آشنایی با روشهای پیادهسازی مدارها و سیستمهای دیجیتال است.
مدارهای منطقی چیست و چه انواع، ویژگیها و کاربردهایی دارد؟
سیستمهای دیجیتال در زندگی روزانهی ما نقش برجستهای دارند؛ بهاین دلیل است که ما دوره تکنولوژی فعلی را عصر دیجیتال میخوانیم. سیستمهای دیجیتال در مخابرات، کنترل ترافیک، اعمال جراحی، هواشناسی، اینترنت، رباتیک و دیگر زمینهها به کار میروند. ما از تلفنها و تلویزیونهای دیجیتال، دیسکهای چندمنظوره و دوربینهای دیجیتال، افزارههای دستی (Handheld Devices) و البته کامپیوترهای دیجیتال استفاده میکنیم.
ما از موسیقی بارشده به دستگاه مدیاپلیر (پخشکنندهی فیلم و موسیقی) و دیگر وسایل دستی دیجیتال که نمایشگرهای با درجهی تفکیک بالا دارند لذت میبریم. این وسایل واسطهای کاربر گرافیکی (GUIها) هستند که آنها را قادر میکند فرمانهایی را اجرا کنیم که از دید کاربر ساده به نظر میرسد، اما درحقیقت مستلزم اجرای دقیق دنبالهای از دستورهای داخلی پیچیده هستند. یک سیستم دیجیتال از بههمپیوستن ماژولهای دیجیتال به دست میآید. برای درک عمل هر ماژول، دانش و آگاهی مدارهای دیجیتال و عمل منطقی آنها لازم است. اینجاست که ما به سراغ مدارهای منطقی میرویم.
مدار منطقی چیست و چه کار میکند؟
بهتر است ابتدا پیشزمینههای لازم برای پاسخ به این پرسش را آماده کنیم:
سیگنال الکتریکی چیست؟
سیگنال الکتریکی ولتاژ یا جریانی متغیر نسبت به زمان است اطلاعات را بیان میکند. اطلاعات موجود در اطراف ما، مانند صدا، درجهی حرارت، نور و غیره، را میتوان ازطریق مبدلها (Transducer) به سیگنالهای الکتریکی تبدیل کرد. این سیگنالها میتوانند تغییر یابند یا بهشکل دلخواه پردازش شوند.
سیگنالهای الکتریکی میتوانند از نوع ولتاژ یا جریان و دیجیتال یا آنالوگ باشند. سیگنال آنالوگ سیگنالی پیوسته است که میتواند در یک بازهی مشخص هر مقداری داشته باشد و سیگنال رقمی یا دیجیتال سیگنالی است که در یک بازه زمانی مشخص میتواند تعداد مقادیر محدود و مشخصی را به خود اختصاص دهد.
بهطور کلی به مدارهایی که سیگنالهای دیجیتال را ازطریق ورودی یا ورودیهای خود دریافت میکنند و با استفاده از استانداردهای خاص و تعریفشدهای، روی آنها پردازش انجام میدهند تا خروجی یا خروجیهای مدنظر را تولید کنند مدارهای منطقی گفته میشود.
تا اواسط دههی ۱۹۶۰ مدارهای منطقی با مونتاژکردن قطعات حجیم و منفصل، مانند ترانزیستورها و مقاومتهای مجزا، ساخته میشدند. با اختراع مدارهای مجمتع (IC) امکان قراردادن تعداد زیادی ترانزیستور (و بنابراین یک مدار کامل) روی یک تراشهی نیمههادی فراهم شد.
طرز عملکرد مدارهای منطقی
عملکرد مدارهای منطقی براساس جبر بول و ریاضیات مربوط به اعداد باینری (اعداد مبنای ۲) است. جبر بولی زیرمجموعهای از جبر است که گزارههایی را توصیف میکند که نتایج آنها درست (ارزش ۱ منطقی) یا نادرست (ارزش صفر منطقی) است. بهطور کلی، در جبر بول ما دو ارزش و ۳ تابع پایه و اصلی بهاین شرح داریم:
ارزشها:
- صفر: اگر گزارهی منطقی ما نادرست باشد (اتفاق نیفتد).
- یک: اگر گزارهی منطقی ما درست باشد (اتفاق بیفتند).
توابع اصلی و پایه:
- AND: در صورتی ارزش گزارهی کلی درست است که ارزش تکتک گزارههای جزئی آن (زیرگزارههای آن) درست باشد.
- OR: درصورتی ارزش گزارهی کلی درست است که ارزش حداقل یکی گزارههای جزئی آن (زیرگزارههای آن) درست باشد.
- NOT: در صورتی ارزش گزارهی کلی درست است که ارزش تنها گزارهی جزئی آن (زیرگزارهی آن) نادرست باشد.
Input1 AND Input2 | Input2 | Input1 |
0 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
0 | 0 | 1 |
Input1 OR Input2 | Input2 | Input1 |
0 | 0 | 0 |
1 | 1 | 0 |
1 | 0 | 1 |
1 | 0 | 1 |
این توابع اصلی زمانی که با یکدیگر بهشیوههای گوناگون ترکیب میشوند میتوانند همهی توابع موردنیاز ما را برای طراحی مدار بسازند.
مدارهای منطقی دیجیتال با انجامدادن عملیات بولی روی اعداد باینری که فقط میتوانند صفر یا یک باشند عمل میکنند؛ بهاین صورت که صفر و یک منطقی که پیشتر در جبر بول برای ما ارزش نادرست و درست را داشتند با دو سطح ولتاژ (یا جریان)، یعنی ولتاژ بالا (High) و ولتاژ پایین (Low)، مجزا در مدارات منطقی بیان میشوند.
در مدارهای منطقی برای پیادهسازی توابع اصلی از مدارهایی که اصطلاحاً به آنها گیت منطقی گفته میشود، استفاده میکنند:
برای آشنایی با شبکههای کامپیوتری این مطلب را مطالعه کنید:
شبکه های کامپیوتری چیست و چه انواعی دارد؟
انواع مدارهای منطقی
بهطور کلی مدارهای منطقی را میتوان به دو دسته تقسیم کرد:
- مدارهای منطقی ترکیبی (Combinational Logic Circuits)
- مدارات منطقی ترتیبی (Sequential Logic Circuits)
مدارهای منطقی ترکیبی
مدارهای ترکیبی نوعی از مدارهای منطقی هستند که خروجی آنها در هر لحظه تابع مقادیر ورودی در همان لحظه است.
مدارهای منطقی ترکیبی مدارهایی شامل انواع مختلفی از گیتهای منطقی هستند؛ بهعبارتی مداری که در آن انواع مختلف گیتهای منطقی با هم ترکیب میشوند، بهعنوان مدار منطقی ترکیبی شناخته میشود. خروجی مدار ترکیبی بدون توجه به ورودهای قبلی، از ترکیب فعلی ورودیها تعیین میشود. متغیرهای ورودی، گیتهای منطقی و متغیرهای خروجی اجزای اصلی مدارهای منطقی ترکیبی هستند. این مدارها انواع مختلفی دارند، مانند جمعکنندهی کامل (FA)، نیمجمعکننده (HA)، تفریقکنندهی کامل (FS)، نیمتفریقکننده (HS)، رمزگشا (Decoder)، رمزگذار (Encoder)، مالتیپلکسر (Multiplexer) و دیمالتیپلکسر (De-multiplexer).
Half Adder – HA
مدارهای جمعکنندهای که دو ورودی تکبیتی خود را با هم جمع و حاصل را در دو خروجی تکبیتی خود بهعنوان حاصل جمع (S) و رقم نقلی (C) تولید میکند.
Full Adder – FA
جمعکنندهی کامل برای جمعکردن سه عدد باینری تکبیتی استفاده میشود. جمعکنندهی کامل سه ورودی و دو خروجی دارد که حاصلجمع و رقم نقلی را تولید میکند.
Half Subtractors – HS
نیمهتفریقکننده برای تفریق دو عدد باینری یکبیتی استفاده میشود. این مدار دو ورودی و دو خروجی تکبیتی، بهعنوان حاصل تفریق (D) و بیت قرضی از سیستم (B)، دارد.
Full Subtractors – FS
تفریقکنندهی کامل برای تفریق سه عدد یکبیتی استفاده میشود. این مدار سه ورودی و دو خروجی تکبیتی بهعنوان حاصل تفریق و بیت قرضی دارد.
Multiplexer
مالتی پلکسر یک مدار ترکیبی است که n2 ورودی داده، n ورودی انتخابگر و یک خروجی واحد دارد. این مدار بهعنوان انتخابگر داده نیز شناخته میشود که یک ورودی را از میان ورودیها انتخاب میکند و آن را به خروجی هدایت میکند.
De-multiplexer
یک دیمالتیپلکسر عمل معکوس یکمالتیپلکسر را انجام میدهد. دیمالتیپلکسر فقط یک ورودی دارد که با توجه به پایههای انتخابگر به یکی از پایههای خروجی هدایت میشود.
Decoder
رمزگشا یا دیکدر مداری است که n پایه ورودی و 2n خروجی دارد که بسته به ترکیب سیگنالهای ورودی، در هر لحظه فقط یکی از پایهها فعال میشود.
Encoder
رمزگذار مداری است که 2n ورودی و n خروجی دارد. مدار انکدر عکس عمل دیکدر را انجام میدهد. این مدار سیگنالهای باینری ورودی را به یک عدد کوچکتر فشرده میکند. در هر لحظه فقط یکی از ورودیها میتواند مقدار «۱» داشته باشد و باقی ورودیها باید در حالت صفر باشند. درصورتیکه چند ورودی بهصورت همزمان در حالت «۱» قرار داشته باشند، آن ورودی که اولویت بالاتری نسبت به بقیه دارد، بر مدار اثر میگذارد. به چنین مداری انکودر با اولویت گفته میشود.
مدارهای منطقی ترتیبی
مدارهای ترتیبی مدارهای منطقیای هستند که خروجیِ آنها تابع متغیرهایِ ورودی و وضعیت کنونیِ عناصرِ حافظه است (وضعیت کنونی عناصر حافظهی خود تابع حالت پیشین ورودیهاست)؛ و به دو دسته همگام (سنکرون) و ناهمگام (آسنکرون) تقسیم میشوند.
بهطور کلی، مدار ترتیبی یک سری ورودی و خروجی دارند. که این خروجیها هم به ترکیب ورودیهای فعلی و هم به خروجیهای قبلی بستگی دارند. خروجی قبلی بهعنوان وضعیت فعلی در نظر گرفته میشود؛ بنابراین مدار ترتیبی شامل مدار ترکیبی و عناصر ذخیره در حافظهی آن است.
مدارهای ترتیبی آسنکرون
مدارهای ترتیبی آسنکرون مدارهایی هستند که از پالس کلاک استفاده نمیکنند. بهعبارتی حالتهای داخلی با تغییر متغیرهای ورودی، بدون درنظرگرفتن کلاک، تغییر میکنند.
در مدارهای ترتیبی سنکرون، حالتهای داخلی با تغییرات ورودی همزمان با اعمال پالس کلاک به مدار تغییر میکنند. این همگامسازی یا با لبههای منفی سیگنال ساعت یا با لبههای مثبت انجام میشود.
کاربردهای مدارهای منطقی در کامپیوترها
در فناوریهای مدرن مدارهای منطقی در دستگاهها و قطعات مختلفی ازجمله واحدهای منطقی حسابی (ALU)، حافظهی رایانه و رجیسترها، مالتی پلکسرها و رمزگشا یا رمزگذار یافت میشوند. از این مدارها در ریزپردازندههای ارتقایافته نیز استفاده میشود که برخی از آنها میتوانند بیش از صدمیلیون گیت داشته باشند. همچنین گیتهای منطقی بلوکهای سازندهی الکترونیک دیجیتال هستند و از ترکیب ترانزیستورها بهمنظور تحققبخشی عملیات دیجیتالی تشکیل میشوند. هر محصول دیجیتال، ازجمله رایانههای شخصی، تلفنهای همراه، تبلتها، ماشینحسابها و ساعتهای دیجیتال از گیتهای منطقی استفاده میکنند.
برای آشنایی با طراحی الگوریتم کامپیوتر این مطلب را مطالعه کنید:
طراحی الگوریتم کامپیوتر و ویژگیها و کاربردهایش آشنا شوید
جمعبندی
درس مدارهای منطقی (یا سیستمهای دیجیتال ۱) از درسهای اصلی و پایه در مهندسی کامپیوتر و مهندسی برق است و همچنین اولین درسی است که دانشجویان در آن با طراحی و تحلیل سیستمها و مدارهای دیجیتال آشنا میشوند. هدف این درس آموزش تکنیکهای طراحی و آشنایی با روشهای پیادهسازی مدارها و سیستمهای دیجیتال است؛ بههمین جهت، فراگیری آن اهمیت بسیار بالایی دارد.
برای رسیدن به بهترین نتیجه در درس مدارهای منطقی در کنکور کارشناسی ارشد مهندسی کامپیوتر و IT روی این لینک کلیک کنید: