Схема, подібна до арифметичної логічної одиниці, буде приймати пару чисел як вхідні дані і видавати число як вихід. Це може гарантувати, що протягом певного проміжку часу всі біти виводу досягли правильних кінцевих станів, але фактична кількість часу, коли вихідні біти стануть дійсними, може значно змінюватися залежно від різноманітних факторів.
Можна було б сконструювати АЛУ з "дійсним" входом і "дійсним" висновком і вказати, що за умови, що "дійсний" вхід є низьким протягом достатньої кількості часу до того, як буде проведено обчислення, і введення даних містять бажані значення до того, як "допустимий" вхід вийде високим, "дійсний" вихід не підніметься до тих пір, поки вихідні біти насправді не будуть правильними. Така конструкція, ймовірно, потребує приблизно вдвічі більшої схеми, ніж звичайна АЛУ [в основному, вона повинна буде відслідковувати, чи був кожен біт «відомим» нульовим або «відомим», щоб бути одним; його "дійсний" вихід стане істинним, як тільки стане відомим стан кожного вихідного біта].
Що ще гірше, дозволити ті частини процесора, які були б здатні працювати швидше, буде корисним лише у тому випадку, якщо вони не будуть чекати весь час, щоб повільніші частини відтворили наздоганяючі. Для того, щоб це сталося, повинна бути логікою, щоб вирішити, яка частина машини «попереду» в даний момент часу, і вибрати спосіб дії, виходячи з цього. На жаль, таке рішення є одним із найважчих для електроніки надійно прийняти. Надійно вирішити, яка з двох подій відбулася спочатку, як правило, просто, якщо можна гарантувати, що ніколи не буде "закритих дзвінків". Припустимо, що секвенсор пам'яті обробляє запит від блоку №1 обробки, а блок №1 має ще один запит, який очікує після цього. Якщо блок №2 подає запит до завершення першого запиту від №1, блок пам'яті повинен це впоратися; в іншому випадку він повинен обробляти наступний запит від підрозділу №1. Це могло б здатися розумним дизайном, але це, зрештою, напрочуд проблематично. Проблема полягає в тому, що якщо є такий момент часу, що запит, отриманий до цього моменту, який буде негайно оброблений, і запит, отриманий після цього, доведеться почекати, кількість часу, необхідного для визначення, чи буде запит перевищувати граничний термін приблизно обернено пропорційна різниці між часом отримання запиту та кінцевим терміном. Час, необхідний для того, щоб блок пам'яті визначив, що запит №2 перевищує термін на одну фемптосекунду, може значно перевищити кількість часу, необхідного для обслуговування другого запиту від блоку №1, але пристрій не може обслуговувати або запит, поки не вирішить, який з них спочатку надати.
Після того, як все закінчилося загальним годинником, це не тільки усуває потребу в схемі визначати, коли результат обчислення є дійсним, але також дозволяє усунути "закриті дзвінки" в часі. Якщо все в системі працює з тактовою частотою 100 МГц, сигнал не змінюється у відповідь на годинник до 1 секунди після краю годинника, і все, що відбудеться у відповідь на край годинника, відбувається протягом 7 секунд, тоді все, що відбудеться перед конкретний край годинника "виграє" щонайменше за 3 секунди, і все, що не відбудеться, поки після того, як край годинника не "втратить" щонайменше на 1нс. Визначити, чи є шанс сигналу до або після годинника, коли гарантується, що він не буде "близьким", набагато простіше, ніж визначити, який із двох сигналів з довільною синхронізацією відбувається спочатку.