Autor Wątek: Cycles a States  (Przeczytany 2358 razy)

Frodo

  • *
  • Wiadomości: 18
Cycles a States
« dnia: 2015.12.23, 01:55:31 »
Podawane są dwa rodzaje ticków, State to 3.5 Mhz a Cycle to 1 MHz, co oznacza to drugie?

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Cycles a States
« Odpowiedź #1 dnia: 2015.12.23, 09:44:08 »
Nie wiem gdzie znalazłeś ten 1MHz...

Zegar liczy się w t-state'ach i jeden t-state to jeden pełen cykl zegara (np 3.5MHz) oraz w "machine cycle'ach", które zależnie od instrukcji mają od 4 do 6 cykli. Każda instrukcja składa się z przynajmniej jednego cyklu (M1 - op-code fetch - pobieranie rozkazu z pamięci) a instrukcje z dodatkowymi parametrami i operujące na pamięci mają dodatkowo cykle M2 - odczyt pamięci i/lub M2 - zapis do pamięci. Do tego oczywiście dochodzi stan magistrali - urządzenia zewnętrzne mogą wystawiać sygnały IOREQ/BUSREQ, które wstrzymują procesor w odpowiednim cyklu. No i oczywiście w wypadku Spectrum jest jeszcze to, że zegar generuje ULA, i tam też może nastąpić wstrzymanie pracy.

Gdyby przeliczyć cykle na t-state'y i jakoś to uśrednić pewnie można uznać, że poszczególne cykle zmieniają się średnio z częstotliwością 1MHz, ale nijak się to będzie miało do rzeczywistości ;)