منطق ترتیبی

از ویکی‌پدیا، دانشنامهٔ آزاد

در نظریه اتوماتا ، منطق ترتیبی نوعی مدار منطقی است که خروجی آن نه تنها به مقدار فعلی سیگنال‌های ورودی آن بلکه به توالی ورودی‌های قبلی و تاریخ ورودی نیز بستگی دارد. این در تضاد با منطق ترکیبی است که خروجی آن تنها تابعی از ورودی فعلی است. یعنی منطق ترتیبی حالت ( حافظه ) دارد در حالی که منطق ترکیبی ندارد.

از منطق ترتیبی برای ساخت ماشین‌های حالت متناهی به عنوان یک بلوک اساسی در تمام مدارهای دیجیتال استفاده می‌شود . تقریباً تمام مدارهای موجود در دستگاه‌های دیجیتال عملی ترکیبی از منطق ترکیبی و ترتیبی هستند.

یک نمونه آشنا از یک دستگاه با منطق ترتیبی ، یک تلویزیون با دکمه‌های "کانال بالا" و "کانال پایین" است. فشار دادن دکمه "بالا" به تلویزیون ورودی می دهد که می گوید به کانال بعدی بالاتر از کانالی که در حال حاضر دریافت می کند تغییر کند. اگر تلویزیون در کانال 5 باشد ، فشار دادن "بالا" آن را برای دریافت کانال 6 تغییر می دهد. با این حال ، اگر تلویزیون در کانال 8 باشد، فشار دادن "بالا" آن را به کانال "9" تغییر می‌دهد. برای اینکه انتخاب کانال به درستی کار کند، تلویزیون باید بداند که در حال حاضر کدام کانال را دریافت می‌کند، که با انتخاب کانال‌های قبلی مشخص شده است. تلویزیون کانال فعلی را به عنوان بخشی از حالت خود ذخیره می‌کند. وقتی ورودی "کانال بالا" یا "کانال پایین" به آن داده می شود، منطق ترتیبی مدار انتخاب کانال، کانال جدید را با استفاده از ورودی و کانال فعلی محاسبه می‌کند.

مدارهای منطقی ترتیبی دیجیتال به دو نوع همزمان(سنکرون) و غیرهمزمان(آسنکرون) تقسیم می‌شوند. در مدارهای ترتیبی همزمان، حالت دستگاه فقط در زمان های گسسته در پاسخ به سیگنال ساعت تغییر می‌کند. در مدارهای آسنکرون حالت دستگاه می تواند در هر زمان در پاسخ به تغییر ورودی‌ها تغییر کند.

منطق ترتیبی همزمان(سنکرون)

تقریباً تمام منطق ترتیبی امروز منطق همزمان است. در یک مدار همزمان ، یک نوسانگر الکترونیکی به نام ساعت (یا مولد ساعت ) پالس های تکراری متوالی به نام سیگنال ساعت را تولید می‌کند که به تمام عناصر حافظه در مدار توزیع می شود. عنصر اصلی حافظه در منطق ترتیبی، فلیپ‌فلاپ است. خروجی هر فلیپ فلاپ فقط در صورت تحریک توسط پالس ساعت تغییر می‌کند، بنابراین تغییرات در سیگنال‌های منطقی در سراسر مدار همه در یک زمان و در فواصل منظم و همزمان با ساعت شروع می‌شوند.

خروجی تمام عناصر ذخیره‌سازی (فلیپ فلاپ‌ها) در مدار در هر زمانی، داده های باینری موجود در آنها، حالت مدار نامیده می شود. حالت مدار سنکرون فقط با پالس‌های ساعت تغییر می‌کند. در هر چرخه، حالت بعدی با حالت فعلی و مقدار سیگنال‌های ورودی هنگام وقوع پالس ساعت تعیین می‌شود.

مزیت اصلی منطق همزمان سادگی آن است. دروازه‌های(گیت‌های) منطقی که عملیات مربوط به داده ها را انجام می دهند به زمان محدودی برای پاسخ به تغییرات ورودی‌هایشان نیاز دارند. این مطلب تاخیر انتشار نامیده می‌شود. فاصله بین پالس‌های ساعت باید به اندازه‌ای طولانی باشد تا تمام دروازه های منطقی وقت داشته باشند تا به تغییرات پاسخ دهند و خروجی‌های آن‌ها قبل از وقوع پالس ساعت بعدی روی مقادیر منطقی ثابتی قرار گیرند. تا زمانی که این شرط برقرار باشد (با صرف نظر از برخی جزئیات دیگر) مدار پایدار و قابل اطمینان است. این حداکثر سرعت کار مدار سنکرون را تعیین می‌کند.

منطق همزمان دو عیب اصلی دارد:

  • حداکثر سرعت ممکن کلاک توسط کندترین مسیر منطقی مدار تعیین می شود، در غیر این صورت به عنوان مسیر بحرانی شناخته می شود. هر محاسبه منطقی، از ساده‌ترین تا پیچیده‌ترین، باید تنها در یک چرخه ساعت انجام شود. بنابراین مسیرهای منطقی که محاسبات خود را به سرعت انجام می دهند بیشتر اوقات بیکار و منتظر پالس ساعت بعدی هستند. بنابراین، منطق همزمان می تواند کندتر از منطق غیرهمزمان باشد. یکی از راه‌های سرعت بخشیدن به مدارهای همزمان تقسیم عملیات پیچیده به چندین عملیات ساده است که می تواند در چرخه های ساعت پی‌درپی انجام شود، که این روش به خط لوله معروف است. این تکنیک به طور گسترده در طراحی ریزپردازنده استفاده می شود و به بهبود عملکرد پردازنده های مدرن کمک می کند.
  • سیگنال ساعت باید به هر فلیپ‌فلاپ در مدار توزیع شود. از آنجا که ساعت معمولاً یک سیگنال با فرکانس بالا است، این توزیع مقدار نسبتاً زیادی انرژی را مصرف می‌کند و گرمای زیادی را پراکنده می‌کند. حتی فلیپ‌فلاپ هایی که هیچ کاری انجام نمی‌دهند، مقدار کمی انرژی مصرف می‌کنند و در نتیجه باعث تولید گرمای زاید در تراشه می‌شوند. در دستگاه های قابل حمل که توان باتری آنها محدود است، سیگنال ساعت حتی در صورت استفاده نکردن دستگاه با مصرف برق روشن می شود.

منطق ترتیبی غیرهمزمان(آسنکرون)

منطق ترتیبی آسنکرون توسط یک سیگنال ساعت همزمان نمی‌شود. خروجی‌های مدار مستقیماً در پاسخ به تغییرات ورودی تغییر می کنند. مزیت منطق آسنکرون این است که می تواند سریعتر از منطق سنکرون باشد، زیرا مدار برای پردازش ورودی ها لازم نیست منتظر یک سیگنال ساعت باشد. سرعت دستگاه فقط با تاخیر انتشار دروازه های منطقی مورد استفاده محدود می‌شود.

با این حال، طراحی منطق آسنکرون دشوارتر است که این مشکلی است که در طراحی همزمان با آن مواجه نمی‌شویم. مشکل اصلی این است که عناصر حافظه دیجیتال به ترتیبی که سیگنال‌های ورودی آن‌ها می رسند حساس هستند. اگر دو سیگنال تقریباً همزمان به یک فلیپ‌فلاپ یا لچ برسند، حالتی که مدار به آن می رود می تواند بستگی به این داشته باشد که کدام سیگنال ابتدا به گیت می رسد. بنابراین، مدار بسته به تفاوت های کمی در تأخیر انتشار دروازه های منطقی، می تواند به حالت نادرستی برود. به این وضعیت رقابتی می‌گویند. این مشکل در مدارهای همزمان چندان شدید نیست زیرا خروجی عناصر حافظه فقط در هر پالس ساعت تغییر می کند. فاصله بین سیگنالهای ساعت به اندازه کافی طولانی طراحی شده است که اجازه می دهد تا خروجی عناصر حافظه پایدار شوند تا با رسیدن کلاک بعدی تغییر نکنند. بنابراین، تنها مشکلات زمان‌بندی به دلیل "ورودی های غیرهمزمان" است (ورودی های مدار از سیستم های دیگر که با سیگنال ساعت هماهنگ نیستند).

مدارهای ترتیبی آسنکرون معمولاً فقط در چند قسمت اصلی سیستم‌های همزمان که در غیر این صورت سرعت در آن بسیار بالا است مانند بخش هایی از ریزپردازنده ها و مدارهای پردازش سیگنال دیجیتال استفاده می‌شوند.

طراحی منطق آسنکرون از مدل ها و تکنیک های مختلف ریاضی منطق سنکرون استفاده می کند و یک زمینه فعال در تحقیقات است.

جستارهای وابسته

منابع