MC68000 BUS

Pre správnu prácu akcelerátora je nutné čo najlepšie simulovať procesor na natívnej frekvencii amigy.

MC68000 pracuje z okolím počas 4 taktov rozdelených do 8 stavov. Keďže Amiga 600 nepočíta z použitím zariadení z rodiny 6800 nemusíme riešiť !VPA, !VMA  a !E signály. Tiež to dovolilo použiť dostupnejší 68SEC000 Ktorý tieto signály nepozná.

  • S0 – procesor nastaví FC0 až FC2  a R/!W dá do stavu H
  • S1 – procesor nastaví Adresu
  • S2 – procesor nastaví !AS
    • Pri čítaní aj  !UDS !LDS
    • Pri zápise nastaví aj R/!W
  • S3 – procesor „nič nerobí“
  • S4 – procesor čaká na !DTACK prípadne !BERR od zariadenia. Ak nepríde vloží čakajúce cykli medzi S4 a S5
    • Pri zápise nastaví aj  !UDS !LDS
  • S5 – procesor „nič nerobí“
  • S6 – procesor
    • Pri čítaní prečíta dáta z pamäte
    • Pri zápise nerobí nič
  • S7 – procesor vráti !AS, !UDS a !LDS. Zariadenie !DTACK a !BERR
    • Pri zápise aj R/!W
Popis   | Citanie 16 bit                | Zápis 8 bit horné bity        |
State   S0  S1  S2  S3  S4  S5  S6  S7  S0  S1  S2  S3  S4  S5  S6   S7 S0
CLK    _----____----____----____----____----____----____----____----____----
!AS    ---------________________________--------________________________----
!UDS   ---------________________________----------------________________----
!LDS   ---------________________________------------------------------------
R/!W   -----------------------------------------________________________----
!DTACK -----------------________________----------------________________----
D15-D8 xxxxxxxxxxxxxxxxx================xxxxxxxxxxxx====================xxxx
D7-D0  xxxxxxxxxxxxxxxxx================xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Poznámky:
= Hodnota na zbernici ktorá sa aktuálne nemení
x Nieje podstatný stav
_ L stav 
- H stav

V prípade synchrónneho akcelerátora máme prácu zjednodušenú stačí vhodne vynucovať wait stavy.

Popis         | Citanie 16 bit                | Zápis 8 bit horné bity        |
State Amiga   S0  S1  S2  S3  S4  S5  S6  S7  S0  S1  S2  S3  S4  S5  S6   S7 S0
State ACC     S0S1S2S3S4SwSwSwSwSwSwSwSwS5S6S7S0S1S2S3S4SwSwSwSwSwSwSwSwS5S6S7S0S1
CLK Amiga    _----____----____----____----____----____----____----____----____----
CLK ACC      _--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__
!AS Amiga    ---------________________________--------________________________----
!AS ACC      -----____________________________----____________________________----
!UDS Amiga   ---------________________________----------------________________----
!UDS ACC     -----____________________________------------____________________----
!LDS Amiga   ---------________________________------------------------------------
!LDS ACC     -----____________________________------------------------------------
R/!W Amiga   -----------------------------------------________________________----
R/!W ACC     -------------------------------------____________________________----
!DTACK Amiga -----------------________________----------------________________----
!DTACK ACC   -------------------------________------------------------________----

Pri pohľade na priebehy napadne myslienka vôbec to ma zmysel? Ale áno Medzi Stavmy S7 a S0 nie sú ukázané takty nutné na vykonanie inštrukcie. Tam je priestor vďaka ktorému akcelerátor urýchli  Amigu. Tiež si treba uvedomiť ze aj samotná Amiga vyvoláva wait stavy, a to v prípade keď sa pristupuje co Chip RAM.

K problematike sa dá pristupovať rôzne. Napríklad fakt ze Amiga pracuje o pol taktu posunuto oproti CPU dovoľuje istú voľnosť v generovaní Niektorých signálov. Na druhú stranu môže to vyvolávať rôzne neštandardné stavy. V prípade synchrónneho akcelerátora sa asi moc prejavovať nebudú ale v prípade asynchrónneho one nieje núdza. Čo je aj dôvod prečo som prišiel k záveru že moja konštrukcia bez zmien nieje pre asynchrónny mód použiteľná

Najjednoduchší  akcelerátor navrhol Livio Plos a Joerg Richter. Tento akcelerátor len ovláda posunutie !DTACK a ostatné riadiace signály necháva nedotknuté.

Osobne si ale myslím že zarovnávanie aj ostatných signálov na stabilite len pridá.