مدار آسنکرون
یک مدار آسنکرون یا خود زمان یک مدار منطقی دیجیتال ترتیبی است که به وسیلهٔ یک مدار کلاک یا کلاک مرجع کنترل نمی‌شود و به جای آن از سیگنال‌هایی استفاده می‌کند که بیان کننده اتمام دستورالعمل‌ها و عملیات هاست که به وسیلهٔ پروتکل‌های انتقال ساده داده مشخص می‌شوند. این نوع مدار در تضاد با مدارهای سنکرون است که درآن‌ها تغییر در مقادیر سیگنال در مدار به وسیلهٔ پالس‌های تکرار شونده که سیگنال کلاک نامیده می‌شوند، انجام می‌شود. امروزه بیش تر تجهیزات دیجیتالی از مدارهای سنکرون استفاده می‌کنند اگر چه مدارهای آسنکرون پتانسیل سریع تر بودن را دارند و ممکن است دارای مزایای مصرف انرژی کم‌تر، تداخل الکترومغناطیسی کم‌تر و ماژولار بهتر در سیستم‌های بزرگ باشند. مدارهای آسنکرون یک حوزهٔ فعال تحقیق در طراحی مدارهای منطقی هستند.
مدارهای منطقی می‌توانند به دو دستهٔ مدارهای منطقی ترکیبی (در آن‌ها سیگنال خروجی فقط به سیگنال ورودی فعلی وابسته است) ومنطق ترتیبی (در آن‌ها خروجی هم به ورودی فعلی و هم به ورودی پیشین وابسته است) تقسیم می‌شوند.
در مدارهای منطقی سنکرون یک اسیلاتور الکترونیکی یک سری تکرارشونده از پالس‌های هم اندازه را تولید می‌کنند که سیگنال کلاک نامیده می‌شود. سیگنال کلاک یاد شده به تمام المان‌های حافظه موجود در مدار که فلیپ-فلاپ نامیده می‌شود اعمال می‌شود. خروجی فلیپ-فلاپ‌ها فقط زمانی تغییر می‌کند که لبهٔ پالس کلاک ایجاد شود؛ بنابراین تغییرات در سیگنال‌های منطقی مدار همگی به صورت همزمان و در فاصلهٔ منظم همگام با کلاک انجام می‌شود. خروجی تمام اجزای مدار حالت مدار نامیده می‌شود.
حالت یک مدار سنکرون فقط با پالس کلاک تغییر می‌کند. تغییر در سیگنال نیز به مقدار مشخصی از زمان برای انتشار از طریق گیت‌های منطق ترکیبی مدار دارد که تأخیر انتشار نامیده می‌شود. دوره تناوب سیگنال کلاک به اندازهٔ کافی طول می‌کشد بنابراین خروجی تمام گیت‌های منطقی زمان کافی برای پایدار شدن مقادیرشان پیش از پالس کلاک بعدی را دارند. تا زمانی که این شرایط برآورده شود، مدارهای سنکرون به صورت پایدار عمل می‌کنند بنابراین طراحی این مدارها ساده است.
هرچند یک نقص مدارهای سنکرون این است که آهسته هستند. حداکثر سرعت کلاک ممکن به وسیلهٔ سیر منطقی با طولانی‌ترین تأخیر انتشار تعیین می‌شود که مسیر بحرانی نامیده می‌شود؛ بنابراین مسیرهای منطقی که سریعاً عملیات خود را به پایان می‌رسانند اغلب بیکار هستند. مشکل دیگر این است که سیگنال کلاکی که به‌طور گسترده توزیع شده‌است توان زیادی مصرف می‌کند و این عمل پیوسته انجام می‌شود خواه مدار ورودی بگیرد یا نگیرد. در مدارهای آسنکرون سیگنال کلاک وجود ندارد و حالت مدار به محض تغییر ورودی تغییر می‌کند. از آن جا که مدارهای آسنکرون برای پردازش ورودی مجبور به انتظار برای یک پالس کلاک نیستند، می‌توانند از مدارهای سنکرون سریع تر باشند و سرعت آن‌ها از نظر تئوری فقط با تأخیر انتشار گیت‌های منطقی محدود می‌شود. با این حال طراحی مدارهای آسنکرون مشکل‌تر است و این مسئله ای است که در مدارهای سنکرون وجود ندارد. این موضوع به این دلیل است که حالت حاصل از یک مدار آسنکرون می‌تواند حساس به زمان رسیدن نسبی ورودی‌ها در گیت‌ها باشد. اگر انتقال دو ورودی در یک زمان تقریباً یکسان باشد، مدار ممکن است به حالت اشتباه وابسته به اختلاف ناشی از تأخیر انتشار گیت‌ها برود که به آن وضعیت رقابت می‌گویند. این وضعیت در مدارهای سنکرون بسیار کم‌تر است چرا که وضعیت رقابت فقط هنگامی می‌تواند رخ دهد که ورودی‌ها از خارج سیستم سنکرون باشند که ورودی‌های آسنکرون نامیده می‌شوند. اگر چه بعضی از سیستم‌های دیجیتال به صورت تماماً آسنکرون ساخته شده‌اند، امروزه مدارهای آسنکرون معمولاً در بخش‌های بحرانی مدارهای سنکرون استفاده می‌شوند و سرعت آن‌ها در مقیاس بالاتری است همچون مدارهای پردازش سیگنال.
لفظ منطق آسنکرون برای توصیف مدل‌های مختلف طراحی استفاده می‌شود که از فرضیات مختلف در مورد ویژگی‌های مدار استفاده می‌کند.این مدل‌ها با مدل تأخیر همراه متفاوت است که از المان‌های پردازش داده متعارف با اتمام نشان داده شده توسط یک مدل تأخیر محلی تولید شده-برای طراحی تأخیر غیر حساس-جایی که تاخیرهای دلخواه درون المان‌های مدار می‌توانند تطبیق داده شوند.
مدل بعدی تمایل دارد به مداری دست یابد که بزرگ‌تر از پیاده‌سازی داده‌های همراه اند اما نسبت به طرح بندی و دگرگونی‌های پارامتریک غیر حساس اند و بنابراین به وسیلهٔ طراحی اصلاح می‌شوند.
شبکه‌های پتری شبکه ای جذاب و قدرتمند برای استدلال در مورد مدارهای آسنکرون هستند. با این حال شبکه‌های پتری برای فقدان واقع گرایی فیزیکی مورد انتقاد قرار گرفته‌اند. (نگاه کنید به شبکه پتری:مدل‌های بعدی همزمان). بعد از شبکه پتری مدل‌های همگرایی دیگری توسعه داده شدند که می‌توانند مدارات آسنکرون را مدل‌سازی کنند که شامل مدل‌های اکتر و محاسبات فرایندی است.
انواع مختلفی از مزایا توسط مدارهای آسنکرون نشان داده شده است شامل هر دو مدار شبه تأخیر-غیر حساس (QRD) (به‌طور کلی موافقت کردند که "خالص ترین" شکل منطق آسنکرون است که جهانی بودن محاسباتی را حفظ می کند) و اشکال کمتر خالص مدارهای آسنکرون که از محدودیت های زمان‌بندی برای عملکرد بالاتر و قدرت و سطح پایین‌تر استفاده می کنند.
روش های مختلفی برای ایجاد کانال های ارتباطی آسنکرون وجود دارد که می توانند توسط پروتکل و رمزگذاری داده ها طبقه‌بندی شوند. پروتکل ها
دو نوع پروتکل بسیار پرکاربرد وجود دارد که در نحوه رمزگذاری ارتباطات متفاوت هستند:تنظیم مجدد نشان داده می شوند. یک توالی انتقال از 0 به 1 و بازگشت به 0 به عنوان یک ارتباط واحد محسوب می شود. مدارهایی که پروتکل های چهار فاز را اجرا می کنند ، علی‌رغم انتقال بیشتر در هر ارتباط ، معمولاً سریعتر و ساده‌تر از پروتکل های دو فاز هستند زیرا خطوط سیگنال با پایان هر ارتباط به حالت اولیه خود برمی گردند. در پروتکل های دو فاز ، پیاده‌سازی مدار باید وضعیت خط سیگنال را به صورت داخلی ذخیره کند.
توجه داشته باشید که این تمایزات اساسی طیف گسترده ای از پروتکل ها را در بر نمی گیرد. این پروتکل ها ممکن است فقط درخواست ها و تأییدها را رمزگذاری کنند یا داده ها را نیز رمزگذاری کنند ، که منجر به رمزگذاری دلخواه داده های چند سیمه می شود. بسیاری از پروتکل های دیگری که کمتر متداول هستند از جمله استفاده از یک سیم برای درخواست و تأیید ، استفاده از چندین ولتاژ قابل توجه ، استفاده از پالس ها به تنهایی یا زمان‌بندی تعادل برای حذف قفل ها ارائه شده است. رمزگذاری داده ها
دو رمزگذاری داده به‌طور گسترده در مدارهای آسنکرون وجود دارد: رمزگذاری داده همراه و رمزگذاری چند ریل.
روش متداول دیگر برای رمزگذاری داده ها ، استفاده از چندین سیم برای رمزگذاری یک رقم است: مقدار آن توسط سیمی که رویداد روی آن رخ می دهد تعیین می شود. این امر از برخی فرضیات تأخیر لازم با رمزگذاری داده های دسته ای جلوگیری می کند ، زیرا درخواست و داده ها دیگر از هم تفکیک نشده اند. رمزگذاری داده همراه
رمزگذاری داده های همراه از یک سیم در هر بیت داده با درخواست و سیگنال تأیید استفاده می کند. این همان رمزگذاری است که در مدارهای سنکرون بدون محدودیت انتقال در لبه ساعت استفاده می شود. درخواست و تأیید بر روی سیم های جداگانه با یکی از پروتکل های فوق ارسال می شود. این مدارها معمولاً یک مدل تأخیر محدود را در نظر می گیرند که سیگنال های تمام کننده به اندازه کافی برای انجام محاسبات تأخیر دارند.
در عمل ، فرستنده با ارسال درخواست ، از در دسترس بودن و اعتبار داده ها خبر می دهد. سپس گیرنده با یک تأیید نشان می دهد که قادر به پردازش درخواست های جدید است. به این خاطر که درخواست همراه با داده می باشد ، از این رو نام "داده ی همراه" را دارد.
از مدارهای همراه داده اغلب به عنوان خط لوله های میکرو نام برده می شود ، خواه از یک پروتکل دو فاز یا چهار فاز استفاده کنند ، حتی اگر این اصطلاح در ابتدا برای داده های همراه دو فازی معرفی شده باشد. رمزگذاری چند ریل
رمزگذاری چند ریل از چندین سیم بدون رابطه یک به یک بین بیت ها و سیم ها و سیگنال تأیید جداگانه استفاده می کند. در دسترس بودن داده ها توسط انتقال در یک یا چند سیم داده نشان داده می شود (بسته به نوع رمزگذاری چند ریل) به جای اینکه با یک سیگنال درخواست مانند رمزگذاری داده های همراه باشد. ین مزیت را فراهم می کند که ارتباط داده نسبت به تأخیر حساس نیست. دو رمزگذار چند ریل متداول, ریل یک گرم (داغ) و دو ریل هستند. رمزگذاری یک داغ (معروف به 1 عدد n) عددی را در پایه n با ارتباطات روی یکی از n سیم ها نشان می دهد. رمزگذاری دو ریل از یک جفت سیم برای نشان دادن هر بیت از داده استفاده می کند ، از این رو نام آن "دو ریل" است. یک سیم در این جفت نشان دهنده مقدار بیت 0 و دیگری نشان دهنده مقدار بیت 1. به عنوان مثال ، یک عدد دو بیتی رمز شده با دو ریل با دو جفت سیم و در مجموع با چهار سیم نشان داده می شود. در طی یک ارتباط داده ای ، ارتباطات روی هر یک از جفت سیم ها رخ می دهد تا بیت های داده را نشان دهد.
رمزگذاری دو ریل با پروتکل چهار فاز رایج ترین نوع رمزگذاری است و به آن رمزگذاری سه حالته نیز گفته می شود ، زیرا دارای دو حالت معتبر (10 و 01 ، پس از انتقال) و حالت تنظیم مجدد (00) است. رمزگذاری متداول دیگر که منجر به اجرای ساده‌تری نسبت به ریل یک داغ می شود ، دو فاز دو ریل رمزگذاری چهار حالته است و از یک بیت داده و یک بیت برابری برای دستیابی به یک پروتکل دو فازی استفاده می کند.
پردازنده های آسنکرون یکی از چندین ایده برای تغییر اساسی طراحی پردازنده است. بر خلاف پردازنده معمولی ، یک پردازنده بدون ساعت (پردازنده آسنکرون) هیچ ساعت مرکزی برای هماهنگی هماهنگ داده ها از طریق خط لوله ندارد. در عوض ، مراحل پردازنده با استفاده از دستگاه های منطقی به نام "کنترل خط لوله" یا "توالی دهنده های FIFO" هماهنگ می شوند. اساساً ، کنترل‌کننده خط لوله با اتمام مرحله موجود مرحله بعدی منطق را مشاهده می کند. به این ترتیب ، یک ساعت مرکزی ضروری نیست. در واقع حتی ممکن است اجرای دستگاه های با کارایی بالا به صورت آسنکرون ، بر خلاف منطق ساعت دار ، حتی آسان‌تر باشد:
طرفداران منطق آسنکرون معتقدند این قابلیت ها دارای این مزایا هستند:
بزرگترین عیب پردازنده بدون ساعت این است که بیشتر ابزارهای طراحی پردازنده یک پردازنده با سنجش زمان را فرض می کنند (به عنوان مثال یک مدار سنکرون). بسیاری از ابزارها شیوه های طراحی سنکرون را اجرا می کنند. ساخت یک پردازنده بدون ساعت (طراحی یک مدار آسنکرون) شامل اصلاح ابزار طراحی برای کنترل منطق بدون ساعت و انجام آزمایش های اضافی برای اطمینان از جلوگیری از مشکلات قابل جابجایی در طراحی است. به عنوان مثال گروهی که AMULET را طراحی کردند ابزاری به نام LARD برای مقابله با طراحی پیچیده AMULET3 تولید کردند.
با وجود دشواری انجام این کار ، CPU های آسنکرون زیادی ساخته شده است ، از جمله: • the ORDVAC and the (identical) ILLIAC I (1951)
• the Johnniac (1953)
• the WEIZAC (1955)
• the ILLIAC II (1962)
• The Victoria University of Manchester built Atlas (1964)
• The ICL 1906A and 1906S mainframe computers, part of the 1900 series and sold from 1964 for over a decade by ICL
• The Honeywell CPUs 6180 (1972)and Series 60 Level 68 (1981)upon which Multics ran asynchronously
• Soviet bit-slice microprocessor modules (late 1970s)produced as К587,К588and К1883 (U83x in East Germany)
• The Caltech Asynchronous Microprocessor, the world-first asynchronous microprocessor (1988);
• the ARM-implementing AMULET (1993 and 2000);
• the asynchronous implementation of MIPS R3000, dubbed MiniMIPS (1998);
• several versions of the XAP processor experimented with different asynchronous design styles: a bundled data XAP, a 1-of-4 XAP, and a 1-of-2 (dual-rail) XAP (2003?);
• an ARM-compatible processor (2003?) designed by Z. C. Yu, S. B. Furber, and L. A. Plana; "designed specifically to explore the benefits of asynchronous design for security sensitive applications";
• the "Network-based Asynchronous Architecture" processor (2005) that executes a subset of the MIPS architecture instruction set;
• the ARM996HS processor (2006) from Handshake Solutions
• the HT80C51 processor (2007?) from Handshake Solutions
• the SEAforth multi-core processor (2008) from Charles H. Moore.
• the GA144 multi-core processor (2010) from Charles H. Moore.
• TAM16: 16-bit asynchronous microcontroller IP core (Tiempo)
• the Aspida asyncronous DLX core The asynchronous open-source DLX processor (ASPIDA) has been successfully implemented both in ASIC and FPGA versions.
ILLIAC II اولین طراحی پردازنده کاملاً آسنکرون و سریع و مستقل است که تاکنون ساخته شده است. این قدرتمندترین کامپیوتر در آن زمان بود.
DEC PDP-16 نمونه های انتقال ثبات (حدود سال 1973) به آزمایشگر اجازه ساخت عناصر پردازش آسنکرون 16 بیتی را داد. تاخیرهای مربوط به هر نمنه برطرف شده و بر اساس زمان‌بندی بدترین نمونه انجام شده است.
ریزپردازنده آسنکرون Caltech (1988) اولین ریز پردازنده آسنکرون (1988) بود. Caltech اولین پردازنده کاملاً شبه تأخیری غیر حساس جهان را طراحی و تولید کرد. [نیاز به منبع] در طی نمایش ها ، محققان یک برنامه ساده را بارگذاری کردند که در یک حلقه فشرده اجرا می شد و پس از هر دستورالعمل ، یکی از خطوط خروجی را پالس می کرد. این خط خروجی به نوسان سنج متصل است. هنگامی که یک فنجان قهوه داغ روی تراشه قرار گرفت ، سرعت پالش (سرعت مؤثر ساعت) به‌طور طبیعی کاهش می یابد تا با عملکرد بدتر ترانزیستورهای گرم شده سازگار شود. وقتی نیتروژن مایع روی تراشه ریخته شد ، سرعت دستورالعمل بدون هیچ گونه مداخله دیگری افزایش می یابد. بعلاوه ، در دماهای پایین می توان ولتاژ وارد شده به تراشه را با خیال راحت افزایش داد ، که همچنین باعث افزایش سرعت دستورالعمل می شود به صورت مجدد و بدون هیچگونه تنظیمات اضافی.
در سال 2004 ، اپسون اولین ریزپردازنده انعطاف‌پذیر جهان را با نام ACT11 که یک تراشه آسنکرون 8 بیتی است تولید کرد. پردازنده های انعطاف‌پذیر سنکرون سرعت کمتری دارند ، زیرا خم شدن موادی که تراشه بر روی آن ساخته شده است باعث تغییرات زیاد و غیرقابل پیش‌بینی در تأخیر ترانزیستورهای مختلف می شود که برای این موارد باید سناریوهای بدترین حالت را در همه جا فرض کرد و همه چیز را باید در بدترین حالت زمان سنجش کرد. این پردازنده برای استفاده در کارت های هوشمند در نظر گرفته شده است که اندازه تراشه های آنها در حال حاضر به اندازه کافی کوچک است که می تواند کاملاً سفت و سخت باقی بماند.
در سال 2014 ، IBM تراشه توسعه یافته SyNAPSE را اعلام کرد که به روش آسنکرون اجرا می شود و دارای یکی از بالاترین تعداد ترانزیستور از هر تراشه ی تولید شده می باشد. تراشه IBM نسبت به سیستم های محاسباتی سنتی در معیارهای تشخیص الگو ، برق کمتری را مصرف می کند.