асинхронні процесори
Використовувані нині процесори, як відомо зі шкільних та вузівських курсів інформатики, являють собою кінцеві автомати, які використовують булевскому (двійкову) логіку. Проблема в тому, що визначити стан такого автомата при реальному фізичному його втіленні можна не в будь-який момент, оскільки його осередки мають ненульовий час перемикання з одного бінарного стану в інше (іншими словами, в момент перемикання стан осередків і відповідно автомата в цілому виявляється невизначеним) . Синхросигнали якраз і потрібні для того, щоб зафіксувати дискретні стану автомата. У сучасних комп'ютерах для цього використовується системний тактовий генератор (окрема спеціалізована мікросхема), сигнали від якого надходять в усі мікросхеми, встановлені на системній (материнській) платі. Всі перемикання всередині мікросхем прив'язуються до переднього або задньому фронтах тактового сигналу, завдяки чому вузли комп'ютера працюють синхронно.
Спочатку все процесори були синхронними. Так тривало понад півстоліття, електронщики і програмісти вважали, що це природно і само собою зрозуміло. Тому тактова частота є однією з основних характеристик сучасних процесорів, хоча їх продуктивність визначається не тільки нею, але також архітектурою і набором команд. Головний конструктор бортових систем (БЦВМ) для ВМФ Ярослав Опанасович Хетагуров на одному із засідань Ради Віртуального комп'ютерного музею () розповідав, що його одного разу викликали в ЦК КПРС і попросили пояснити, чому швидкодія його БЦВМ в десять разів нижче, ніж у використовує схожу елементну базу американського військового комп'ютера. З'ясувалося, що американці застосували в своїй машині дуже короткі команди і "в папуг" вона виявилася набагато продуктивніше, хоча на реальних бойових завданнях обидві машини були приблизно рівні.
Для початку визначимо, що таке самотактіруемий процесор, самотактіруемая логіка і т. П. Терміни "асинхронний процесор" (asynchronous processor) і "самотактіруемий процесор" (self-timed processor, clockless processor) - синоніми, т. Е. Позначають одне і те ж: процесор, який має один або кілька внутрішніх тактових генераторів і тому не вимагає центрального генератора тактової частоти і схем, що підтримують поширення загального зовнішнього тактового сигналу. Такі процесори випромінюють набагато менше радіохвиль і витрачають менше енергії в порівнянні з синхронними процесорами. При проектуванні внутрішніх блоків асинхронних процесорів не розглядаються питання їх синхронізації з іншими блоками. Для зв'язку між блоками використовується єдиний протокол: запит - відповідь з квотуванням. Коли обчислення не виробляються, блоки не споживають майже нічого, перебуваючи сплячому режимі, але тим не менш миттєво реагують на запити. Ми бачимо тут, що процесом обчислень управляють дані: немає даних - немає обчислювальної активності. Зрозуміло, що такі блоки легше інтегрувати в так звані системи на кристалі (SOC), і в результаті їх загальна продуктивність вище, ніж у синхронних процесорів. Підвищення продуктивності досягається за рахунок того, що блоку немає необхідності чекати приходу зовнішнього тактового сигналу, щоб виконати свою роботу.
Асинхронна система виходить більш надійною, оскільки її підсистеми працюють в більш широких діапазонах змін напруги живлення і температури. Важливо, щоб самотактіруемим був не тільки процесор, але і інші мікросхеми: чіпсет, ОЗУ, контролери і т. Д. Весь набір таких мікросхем і іменується самотактіруемой логікою (clockless logic). Американський термін clockless logic (дослівно - "нетактіруемая логіка") може ввести в оману, тому підкреслимо, що для роботи асинхронних мікросхем тактові сигнали, як правило, потрібні, але їх джерело локальне.
Зазначу, що у кожного органу людського тіла, у кожної клітини є так звані водії ритму, Пейсмекер, що задають тактові частоти, ритми, відповідно до яких в них відбуваються ті чи інші процеси. Тут ми також спостерігаємо асинхронну схему тактирования, до якої прийшли сьогодні і розробники елементної бази.
Цікаво, що якщо спочатку багато ідей прийшли в ВТ і програмування з машинобудування і конструювання радіоелектронних пристроїв, то тут зворотний рух: самотактіруемие схеми чимось нагадують ООП.
Згаданий вище спільний продукт ARM-Handshake вважається першим комерційно доступним асинхронним процесором загального призначення. Колишні конструкції страждали такими недоліками, як невисока продуктивність, складність програмування і проблема взаємодії з існуючими мікросхемами пам'яті і периферійними шинами, розрахованими на тактірованние процесори. В даному продукті для вирішення даної проблеми підтримується сумісність з синхронними мікросхемами.
Для широкого впровадження асинхронних процесорів необхідно ніяк не менше п'яти років, оскільки вони поки погано підтримані інструментальними засобами, а головне, зажадають радикальних змін в проектуванні як апаратних засобів, так і програмного забезпечення.