Următoarea este o prezentare generală a arhitecturii procesorului HC08, cu o descriere a funcționării celor mai importante unități CPU.
CPU, așa cum se vede în figura 7, constă din două blocuri principale: unitatea de control și unitatea de execuție. Unitatea de control, la rândul său, constă într-o mașină de stat finită cu o varietate de logică de control și sincronizare. această unitate de execuție ieșiri de comandă bloc care cuprinde o unitate logică aritmetică (ALU), registre și interfață bus.
Fig. 7. Diagrama bloc a procesorului
Ceas intern
De exemplu, citește datele corespunzătoare noului program de contor valoare, generate în fazele ciclului T1 / T2 1 (A se vedea. Figura 8) nu vor fi luate în considerare până la următorul ciclu de T2 fază.
Fig. 8. Reprezentarea detaliată a ceasului intern CPU
Unitate de control
Unitatea de control conține un secvențiator, un generator de secvențe, o memorie de control și o logică arbitrară de control. Aceste blocuri constituie o mașină de stat finită care generează semnale de control pentru unitatea de execuție.
Sequencerul generează o secvență de stări pentru gestionarea memoriei de control, pe baza conținutului registrului de instrucțiuni (IR) și a stării actuale a mașinii de stat. Memoria de control este strobed (permisă), atunci când un alt stat de intrare este stabilizată, care formează ieșirea reprezintă unitatea de execuție starea decodat stării următoare (UE). Acest rezultat, folosind o anumită logică arbitrară, este utilizat pentru a genera semnale de control care configurează unitatea de execuție. Logica arbitrară selectează semnalele corespunzătoare și adaugă semnale de sincronizare în memoria de control. Unitatea de comandă funcționează o dată pentru fiecare ciclu de autobuz, dar operează aproape un ciclu întreg înainte de unitatea de execuție pentru a asigura decodificarea și generarea tuturor semnalelor de control pentru următorul ciclu. Natura secvențială a mașinii de stat finit este prezentată în Fig.
Sequencerul conține, de asemenea, și controlează funcționarea acestuia, registrul OPCODE LOOKHEAD, care este folosit pentru a prefeta următoarea comandă. Această operațiune este discutată în secțiunea Rularea unei comenzi.
CPU viteza ceasului
Fig. 9. Tactarea unității de comandă
Executarea blocurilor
Executarea comenzilor
Fiecare comandă este executată în limitele definite de numărul finit de cicluri T1-T2-T3-T4. Toate comenzile răspund, la momentul execuției, pentru preluarea următorului cod opcod din registrul OPCODE LOOKAHEAD. Conținutul registrului OPCODE LOOKAHEAD este copiat în registrul de instrucțiuni în timpul ultimului ciclu de comandă. Execuția unei noi comenzi începe cu ciclul T1 după ce a fost încărcat în registrul de instrucțiuni.
În limitele exemplul instruirii (fig.10) Lookahead OpCode și LASTBOX stabilite simultan în timpul execuției și TAX INCX, dar comanda LDA indexate, 8 biți offset, selectează următorul cod operațional înainte de ultimul ciclu. Vezi Fig.11.
Comenzile evidențiate din Fig.10 sunt ilustrate în Fig.11.
Fig. 10. Limite de comandă
Fig. 11. Cronologia executării comenzilor