Чому не повністю асинхронні схеми є більш поширеними? [зачинено]


19

Наскільки я розумію, більшість сучасних споживчих процесорів базуються на синхронній логіці. Деякі високошвидкісні програми (обробка сигналів тощо) використовують логіку асинхронізації для її більшої швидкості.

Однак на сучасному ринку швидкість споживчих товарів є однією з головних точок продажу (див. AMD проти Intel.) Чи є розробка більш складної літографії швидшою, ніж прийняття повністю асинхронної логіки? Або логіка Ansync занадто складна / недоцільна для програм VLSI?


4
Я думаю, що дуже важко програмувати їх у процедурному порядку.
mehmet.ali.anil

16
Нинішні архітектури гібридні. Синхронні блоки з'єднані між собою асинхронним способом. І так, асинхронна логіка набагато складніша.
Євген Ш.

5
Тому що у нас поки немає хороших інструментів для асинхронного закриття часу.
Oldfart

2
Системи стають все більш асинхронними. У сучасних процесорах такі речі, як оперативна пам’ять, кеш-пам'ять та процесорні ядра, працюють з незалежними тактовими годинниками. Нові процесори Intel HEDT роблять це на крок далі і дозволяють кожному з безлічі ядер мікросхем працювати в тактових часах, незалежних один від одного та від оперативної пам'яті, кешу та зовнішніх шин тощо.
J ...

1
Варто пам’ятати, що синхронні годинники запроваджують стандартизовану частоту серцебиття для системи, тоді як якщо ви працюєте з чистою асинхронною конструкцією, інакше тривіальні відмінності в часі, такі як затримка розповсюдження, можливо, доведеться враховувати за допомогою інших засобів. Крім того, відносно ефективно реалізовувати чисті функції в асинхронних конструкціях, але стані функції (або складніші операції, такі як квадратний корінь) можуть ускладнитися. Сигнали маршрутизації також можуть бути важкими (немає автобусів, ви можете застрягти, що з'єднує все до всього).
jrh

Відповіді:


45

Я кілька років провів стартап, комерціалізуючи технологію дизайну async, тому я знайомий з причинами:

  • async не є власне швидшим. Найгірша затримка шляху залишається тією ж. Просто інколи ви можете скористатися швидшим виконанням шляху.

  • async також має накладні витрати на виявлення завершення.

  • Інструменти дизайну. Це дійсно велике: насправді не існує повного "асинхронного" потоку інструментів, доступних такої ж якості, як і синхронний дизайн.

  • Навчання. Вам фактично доведеться перекваліфікувати всіх своїх дизайнерів на нову парадигму та інструменти.

  • Ризик і консерватизм. Тож значна частина галузі "виробляє щось подібне до останнього, але трохи інше". Це має дуже високий шанс працювати. Компанії набагато більше неохоче будують щось зовсім інше, оскільки у нього набагато більше шансів на повне списання, що коштує десятки мільйонів доларів.


Це може бути по суті дешевше, але повільніше.
Тоні Стюарт Сунніскігуй EE75

3
Я пам’ятаю, що думав про це колись, а також зрозумів: синхронізований чіп є тривіально заниженим (для батареї / темп / тощо), тоді як асинхронізований чіп, мабуть, менш?
Mooing Duck

З точки зору інструментів дизайну / парадигми, синхронна логіка здатна повністю ігнорувати глюки у виведенні комбінаторної логіки, і лише вимагати, щоб синхронізовані сигнали були без глюків. Також асинхронні схеми, швидше за все, потребують додавання додаткової затримки для деяких сигналів, щоб гарантувати, що готовий сигнал не може надходити до наступного блоку до надходження даних тощо. У синхронних схемах штучна затримка рідко потрібна. Одним з небагатьох випадків, який слід запам'ятати, є задоволення потреб утримувати час, який часто може бути задоволений природним затримкою. Також деякі ситуації між доменними годинниками можуть потребувати затримки.
Кевін Каткарт

Я думаю, що у багатьох ситуаціях використання двофазних годин, що не перекриваються, може запропонувати багато переваг перед одним годинником. При використанні одного годинника будь-які імпульси запуску можуть спричиняти стрибки рейки системи, але при використанні двофазних годин, що генеруються подачею тактового вводу через два компаратори, імпульси рунта на тактовій фазі були б нешкідливими, якщо б передували їм або супроводжувались тактовий імпульс дійсної довжини без втручається імпульсу на протилежній тактовій фазі.
supercat

3
@MooingDuck Це залежить від логічної парадигми. Я працював над деякою логікою Null Convention, і вона працюватиме так швидко, як дозволяли б умови (процес, напруга, температура). Вам не потрібно було б цілодобово працювати через ці умови, це зробить це автоматично .
W5VO

3

Дуже спокусливо спроектувати асинхронні інтегральні схеми. Інші відповіді охоплюють багато причин подумати двічі, перш ніж це зробити. Ось ще один:

Розробка ІС не закінчена дизайном. Перевірка та тестування однаково важливі. Не тільки інструменти проектування дуже вдосконалені для синхронних схем, але це те саме з інструментами моделювання та тестовим обладнанням.

Перевірка

Недостатньо, щоб ланцюги працювали в лабораторних умовах. Вони повинні бути надійними щодо діапазону робочої напруги (V), діапазону робочої температури (T) та зміни внаслідок виробничого процесу (P). Для синхронної логіки це можна гарантувати за допомогою статичного аналізу часу. Схема розбита на всі тимчасові контури, від фліп-флопу до фліп-флопу. Часи налаштування та утримування перевіряються для кожного окремого таймінгового шляху та для різних комбінацій P, T і V. Ці комбінації PTV - це так звані куточки моделювання.

Аналогічна перевірка може бути здійснена для асинхронних схем, але це набагато складніше і набагато менше підтримується інструментами проектування. Він також обмежує дизайнера асинхронними конструкціями, які насправді можуть бути перевірені. Немає надійної перевірки для довільних асинхронних схем.

Тест

Аналогічні труднощі виникають і при тестуванні обладнання. Синхронна логіка тестування повністю підтримується тестуванням стандартів та обладнання. Тестування асинхронних схем не тільки складніше, але через відсутність абстракції хронометражу навіть недостатньо довести, що схема буде працювати для всіх кутів PTV. Схема може вийти з ладу через умови перегонів у деяких комбінаціях PTV, тобто не охоплених кутами.

Підсумок

Дизайнери ІС не відмовилися від асинхронної парадигми, але асинхронна логіка має великі недоліки під час перевірки та перевірки. У промисловому контексті асинхронна конструкція ІМС повинна бути обмежена конструкцією, яка може бути доведена, що працює над усім простором параметрів варіації процесу, а також робочими діапазонами температури та напруги.

Так званий "локально синхронний глобально асинхронний" дизайн - це один із способів отримати більше переваг та менших недоліків обох парадигм часу.


0

Бінарні лічильники асинхронізації простіші, оскільки вони використовують лише одну комірку пам'яті або T фліп-флоп на поділ на два. Отже, старі CD та 74HC4020 та 4040 пропонують багато бінарних етапів дешево. Затримка опори на кожному етапі означає, що його не можна використовувати без перегонових умов або глюків з декодуванням затвора бінарних адрес, якщо затримка опори не менша за 1/2 вхідного тактового циклу, використовуючи кінцевий край для фіксації результату. Потім вихідна затримка множиться на N етапів.

Синхронні двійкові лічильники використовують додаткову комірку пам'яті для D FF для затримки, але мінімізують значення затримки до 1 для будь-якої довжини лічильників, щоб вона зайняла більше площі.

Отже, всі додаткові процесори використовують додаткові годинники для оптимізації очікуваної затримки в адресі та пам'яті для читання / запису, щоб максимально підвищити потужність, але не перевищувати затримку, налаштування та час утримування.

Тепер пам'ять використовує багато фаз, таких як DDR, 3DR, 4DR, 5DR, особливо для графічної пам'яті, але з тактовою частотою процесора йде набагато швидше, ніж швидкість оперативної пам’яті одного циклу, так що затримки зчитування та запису можуть бути приурочені до одиничного чи кратного або половинного підрахунку суперчасовий час (наприклад, 100 МГц xN), позначений дробовими або цілими числами для кожного параметра. Ці затримки опори збільшуються з темп. Для CMOS і зменшуйте з підвищеною напругою Vram, яка при правильному охолодженні може зменшити затримку або інше збільшення Pd і темп підйому і погіршити його (повільніше). Тому охолодження, V, f, T є критично важливими для оптимальної затримки, незалежно від того, використовується вона для операцій Async або Sync.


-1

Ранні логічні конструкції були асинхронними. Часто їх теж змішували з аналоговими схемами. Однак із часом прогресуючі проекти ускладнювалися, тому вимагаючи більше інженерів працювати над однією конструкцією. Часові діаграми асинхронізації. логіка може бути громіздкою, коли існує багато станів. Тепер додайте команду інженерів, які намагаються поєднати різні блоки логіки разом, але часу між ними не дуже вирівняні. Конструкції стають крихкими до змін непередбачуваними способами.

Введіть синхронну логічну конструкцію. Тепер усі потоки стану вирівняні під тактовим сигналом, що дозволяє інтерфейси бути чітко визначеними та більш надійними щодо змін дизайну. Так, він може використовувати більше воріт, але він (як правило) стійкий за конструкцією; на відміну від стабільного до тих пір, поки ніхто його не торкнеться!


1
Існують також асинхронні методології проектування, які гарантують "правильність дизайну" та "чітко визначені інтерфейси". Вони просто відрізняються від спрощених припущень, зроблених для синхронних конструкцій.
Едгар Браун
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.