Нижче слід огляд архітектури CPU HC08 з описом роботи найважливіших блоків CPU.
CPU, як це видно з Рис.7, складається з двох основних блоків: блоку управління і блоку виконання. Блок управління, в свою чергу, складається з кінцевого автомата з різноманітною логікою управління і синхронізації. Виходи цього блоку керують блоком виконання, що містить арифметико-логічний пристрій (ALU), регістри і шинний інтерфейс.
Мал. 7. Блок-схема CPU
внутрішнє тактирование
Наприклад, читання даних, що відповідають новому значенням лічильника команд, що генерується в фазах T1 / T2 циклу 1 (Див. Рис.8), нічого очікувати лічено до настання фази T2 наступного циклу.
Мал. 8. Детальний уявлення внутрішнього тактирования CPU
Блок керування
Блок управління містить секвенсер - формувач послідовності станів, пам'ять управління і логіку довільного управління. Ці блоки складають кінцевий автомат, що генерує сигнали управління блоком виконання.
Секвенсер формує послідовність станів для управління керуючої пам'яттю, що базується на вмісті регістру команд (IR) і поточний стан кінцевого автомата. Керуюча пам'ять стробіруется (дозволяється) коли чергове стан входу стабілізується, формуючи вихід, який представляє декодувати умова наступного стану блоку виконання (EU). Цей результат, за допомогою деякої довільної логіки, використовується для генерації сигналів управління, які конфігурують блок виконання. Довільна логіка вибирає відповідні сигнали і додає сигнали синхронізації керуючої пам'яті. Блок управління спрацьовує один раз на кожен цикл шини але спрацьовує майже на цілий цикл раніше блоку виконання для забезпечення декодування і генерації всіх керуючих сигналів для наступного циклу. Послідовна природа кінцевого автомата показана на Рис.9.
Сeквенсер містить також, і управляє його роботою, регістр OPCODE LOOKAHEAD, який використовується для попередньої вибірки наступної команди. Тактирование цієї операції обговорюється в підрозділі Виконання команди.
Тактова частота CPU
Мал. 9. Тактирование блоку управління
блок виконання
виконання команд
Кожна команда виконується в межах, визначених кінцевим кількістю циклів T1-T2-T3-T4. Всі команди відповідають, під час їх виконання, за вибірку наступного операційного коду (опкода) з регістра OPCODE LOOKAHEAD. Вміст регістра OPCODE LOOKAHEAD копіюється в регістр команд під час останнього циклу команди. Виконання нової команди починається з циклу T1 після того як вона буде завантажена в регістр команд.
У прикладі кордонів команд (Рис.10) OPCODE LOOKAHEAD і LASTBOX встановлюються одночасно під час виконання TAX і INCX, але індексована команда LDA, з 8-розрядних зміщенням, вибирає наступного операційного код перед останнім циклом. Див. Рис.11.
Виділені команди Рис.10 ілюструються на Рис.11.
Мал. 10. Межі команд
Мал. 11. Тимчасова діаграма виконання команд