Rodzaje cykli - zegarowy i maszynowy
Sygnał zegarowy powoduje, że procesor realizuje jakiekolwiek instrukcje. Często jednak zdarza się, że sygnał zegarowy doprowadzany z zewnątrz ma inną częstotliwość niż wewnętrzny, sterujący pobieraniem i realizacją przez CPU procesora poleceń. W związku z tym wprowadzono dwa pojęcia: cykl zegarowy i cykl maszynowy.
Ten pierwszy jest po prostu odwrotnością częstotliwości generatora zegarowego. Ten drugi uzyskuje się w wyniku uwzględnienia ewentualnych wewnętrznych podziałów sygnału zegarowego. Bardzo dobrym przykładem jest popularny mikrokontroler 8051, który w podstawowym wykonaniu ma cykl maszynowy 12-tokrotnie dłuższy, niż cykl zegarowy. Również, chociaż nastawa domyślna jest inna, procesor AVR może mieć cykl maszynowy różny od zegarowego.
Pojęcia cyklu maszynowego nie należy utożsamiać z czasem realizacji instrukcji. W pewnych przypadkach może tak być, jednak większości popularnych mikrokontrolerów, realizacja pojedynczej instrukcji zajmuje od dwóch do kilku cykli maszynowych i od 8 do kilkudziesięciu cykli zegarowych. Mikrokontroler AVR, został zastosowany w sterowniku SU 1.2 oraz sterowniku SU 1.5, większość instrukcji wykonuje w czasie pojedynczego cyklu zegarowego.
Jego nowoczesna konstrukcja jest jednym z przykładów, gdy cykl zegarowy jest równy cyklowi maszynowemu. Jak łatwo wywnioskować, im szybszy jest zegar procesora, tym więcej instrukcji jest on w stanie wykonać w jednostce czasu. Jest to twierdzenie prawdziwe, jeśli porównuje się procesory o identycznych lub bardzo zbliżonych architekturach. Dla różnych architektur wynik porównania może być diametralnie różny.
|
Cykl zegarowy to okres wytwarzanego na bazie rezonatora kwarcowego, elementów RC itp. sygnału zegarowego. Można go obliczyć jako odwrotność częstotliwości generatora zegarowego. cykl zegarowy = 1/FGEN |
Cykl maszynowy to okres wewnętrznego sygnału zegarowego. Oblicza się go po uwzględnieniu wewnętrznych podziałów częstotliwości sygnału zegarowego. W mikrokontrolerze AVR cykl maszynowy = cyklowi zegarowemu. cykl maszynowy = wewnętrzny podział x 1/FGEN |
Dla uproszczenia porównań różnych procesorów wprowadzono pojęcie mocy obliczeniowej, dla której zwykło się używać jednostki zwanej MIPS. 1 MIPS to nic innego, jak 1 milion operacji na sekundę. W związku z tym, że w mikrokontrolerze AVR cykl maszynowy jest równy cyklowi zegarowemu, AVR taktowany sygnałem o częstotliwości 8 MHz ma moc obliczeniową w przybliżeniu równą 8 MIPS. Standardowy 8051 ma przy takich samych parametrach sygnału zegarowego, ma moc obliczeniową około 0,667 MIPS. |