Не відповів у публікації @ Majenko: Так, за тактовою частотою 8 МГц кожен рядок займе вдвічі більше часу. Якщо лінія не чекає чогось, що не керується годинником - наприклад, зовнішній вхід.
На додаток до відповіді @ Majenko, перед тим, як розпочати наступний крок, у процесора є годинник для забезпечення виконання інструкцій. ЦП складається з безлічі транзисторів (я знайшов посилання, яке вказувало, що AtMega знаходився в діапазоні низьких мільйонів, "подавайте чи приймайте порядок".
Під час циклу електрика протікає через мікросхему, включаючи / вимикаючи транзистори, результати яких включатимуть / вимикатимуть більше транзисторів і так далі вниз по лінії. Хоча це відбувається, деякі частини мікросхеми мають "неправильне" значення - ви можете вважати, що це на півдорозі через обчислення (ви додали свій стовпець і стовпчик 10s, і ось-ось почнете починати з Стовпець 100-х років). Ви не хочете, щоб це впливало на зовнішній світ, тому (наприклад) ваші вихідні штифти застібаються - тримаються за будь-якого значення - до тих пір, поки інструкція не буде завершена. Скільки часу потрібно, щоб виконати інструкцію, змінюється, але виробник розробляє найповільнішу інструкцію за найгірших обставин.
Для AtMega (що є мікросхемою Arduino), Atmel (який сконструював чіп) заявив, що це 1/20 000 000 секунди - це 20 МГц.
Зауважте, що не всі мікропроцесори виконують усі свої вказівки за 1 інструкцією за цикл - деякі інструкції можуть тривати 1, 2 або 10 циклів. В конвеєрному процесі все ускладнюється - процесор може виконати певну роботу (наприклад, отримати наступну інструкцію) за один цикл, виконати в наступному - але, поки він виконує інструкцію 1, він також може отримати наступну інструкцію. Для цього може знадобитися здогадуватися, яка інструкція наступна (у випадку машинного кодового еквівалента "goto" - такий використовується для циклів), і якщо він здогадається неправильно, він повинен впоратися з що; відкиньте отриману інструкцію та отримайте наступну, втрачаючи цикл.
Сторінка Вікіпедії щодо конвеєрного наведення інструкцій показує приклад конвеєра чіпа RISC на 5 етапах - отримання інструкцій, декодування інструкцій, виконання, доступ до пам'яті та повернення. Отже, ви можете мати 5 інструкцій на певному етапі виконання, що перекриваються. До етапу "списання" інструкції не мають реального ефекту. Ви можете подумати про це як складальну лінію - для складання віджета потрібно 7 хвилин, але його можна розбити на 5 етапів, найдовший етап - 2 хвилини. Раз на дві хвилини кожен частково виконаний віджет переміщується конвеєрним рядком на наступну станцію. Ви отримуєте один віджет кожні дві хвилини - "годинник" може поставити галочку лише так швидко, як і найповільніший крок. Якщо ви швидше виштовхнете віджет, "вузьке місце" буде ставати все більше і більше віджетів у черзі.