У той час, коли цей чіп був розроблений, люди використовували якомога менше транзисторів на процесорі, щоб зробити їх досить маленькими, щоб вміститись у наявні мікросхеми.
Я підозрюю, що практично кожен «реєстр» (як видимі програмісту регістри наборів інструкцій, так і внутрішні фіксатори мікроархітектури) в ЦПУ тієї епохи зберігав дані в прозорій засувці D або в чомусь подібному. На сьогоднішній день на мікросхемі є багато транзисторів, тому простіше використовувати повноцінні джентльмени D-master, хоча вони використовують вдвічі більше транзисторів.
Багато інструкцій беруть дані з якогось регістра A, поєднують його з деякими іншими даними з ALU і зберігають результат назад в регістрі А. Це досить легко зробити, якщо реєстр A реалізований з повним F-flop флот-ведучого.
Але якщо регістр A - це прозора засувка D з прозорим закриттям, вам потрібні годинники, що не перекриваються. Ви використовуєте імпульс на одному годиннику, щоб десь зберігати проміжний результат (тоді як регістр A утримує свою вихідну константу), а потім імпульс на іншому годиннику, щоб завантажити регістр A з новим значенням (тоді як проміжний регістр утримує свою вихідну константу).
Для цього потрібен 2-фазний годинник. Найпростіший спосіб зробити 2-фазний тактовий годинник, що не перекривається (у ті часи, коли транзистори були дефіцитними), був невеликий зовнішній ланцюг, який приймає вхідний такт і ділить його на два.
З плином часу люди зрозуміли, як упакувати все більше транзисторів на ІС. Тож люди, що проектують процесори, інтегрували все більше речей навколо процесора у повну комп’ютерну систему на чіп процесора.
Читаючи між рядками статті про сигнал годинника Wikipedia , у мене складається враження, що люди, які сконструювали 8085 та 6502 та інші мікросхеми тієї епохи, мали лише трохи більше місця, ніж попередні покоління інтегрованих процесорів, і вони вирішили найкраще використання цієї кімнати полягало в тому, щоб поставити цю маленьку зовнішню схему на мікросхему. Але вони зберігали всі регістри в тій самій засувці, що закрилася, як і раніше.
Тож тому тактова частота ділиться на два. Ви можете придумати перший зовнішній тактовий імпульс, що генерує імпульс на внутрішньому тактовому сигналі фазового_оновлення для оновлення цього проміжного реєстру результатів, і другий імпульс від зовнішнього тактового сигналу, що генерує імпульс на внутрішньому тактовому сигналі фаза_двох, щоб оновити регістр, видимий програмісту.