ASCII R800

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

ASCII R800 a fost un microprocesor pe 16 biți fabricat de ASCII Corporation ( Japonia ) în 1990, care a fost folosit ca procesor în computerul de acasă MSX Turbo-R . A fost conceput cu 2 obiective: să creeze cel mai performant procesor posibil, păstrând în același timp compatibilitatea cu hardware-ul și software-ul computerelor MSX anterioare bazate pe Zilog Z80 . Pentru a atinge acest ultim poarta R800 folosit un superset al Z80 set de MULUB MULUW instrucțiuni : în plus față de toate opcodes de aceasta, au fost adăugate 2 instrucțiuni de multiplicare, MULUB ( 8 biți ) și MULUW ( 16 biți ), precum și toate instrucțiunile nedocumentate din Z80 au fost oficializate, inclusiv opcodurile care gestionau registrele IX și IY ca containere pe 8 biți (IXh, IXl, IYh, IYl).

Deoarece R800 nu se bazează direct pe Z80, ci derivă din familia Z800 , nu avea unele dintre caracteristicile nedocumentate ale Z80, cum ar fi, de exemplu, steagurile din biții 3 și 5 din registrul F care nu luați aceeași valoare ca și cele ale Z80 (eșuând astfel testele de compatibilitate ZEXALL ); de asemenea, codul opțional SLL nedocumentat a fost înlocuit cu un alt cod opoc nedocumentat numit TST.

Pe partea constructivă, R800 a fost radical diferit: ALU de 8 biți al Z80 a fost înlocuit cu o nouă unitate aritmetică de 16 biți. Ca urmare a acestei modificări, codurile opționale legate de operații matematice, cum ar fi ADD HL, BC , care în vechea unitate necesitau 11 cicluri pentru executarea lor, puteau fi executate în doar 1 ciclu (în anumite condiții). Ceasul era de 7,16 MHz , dublu față de Z80 al MSX-urilor anterioare (3,57 MHz). Autobuzul de date a rămas pe 8 biți din motive de compatibilitate inversă cu vechiul hardware.

Modul în care CPU a gestionat opcodurile a fost, de asemenea, schimbat. În Z80, au fost necesare 4 cicluri pentru a executa o instrucțiune simplă, cum ar fi OR A , iar în arhitectura MSX a existat, de asemenea, o stare de așteptare suplimentară. Pentru a înțelege această evoluție a mecanismului de gestionare a codurilor opționale R800 în comparație cu Z80, este necesar să se revizuiască modul în care acest management a funcționat în arhitectura MSX:

  • Z80, ciclul 1: CPU setează cei mai mari 8 biți ai adresei (partea H a registrelor)
  • Z80, ciclul 2: CPU setează cei 8 biți inferiori ai adresei (partea L a registrelor)
  • Z80, ciclul 3: așteptați
  • Z80, ciclul 4: reîmprospătare, partea 1
  • Z80, ciclul 5: reîmprospătare, partea 2

Deoarece multe implementări MSX au folosit RAM de 256 × 256 octeți , au fost necesare 2 cicluri pentru a seta adresa care trebuie gestionată. R800 a eliminat acest defect prin amintirea ultimei stări cunoscute a celor mai mari 8 biți: dacă următoarea instrucțiune a funcționat în același bloc de 256 de octeți, cei mai mari 8 biți nu au fost setați, omitând un ciclu. Cu toate acestea, a existat o altă problemă de rezolvat: ciclul de reîmprospătare, pe Z80, a distrus informațiile din partea superioară, astfel încât a trebuit studiată o metodă de eludare.

Soluția utilizată în R800 a fost să reîmprospătați un întreg bloc de RAM, mai degrabă decât o singură linie de RAM pentru fiecare instrucțiune executată. La fiecare 30 μs CPU-ul este oprit timp de 4 μs, timp în care un bloc de memorie este reîmprospătat. Deoarece nu există nicio reîmprospătare între executarea a 2 instrucțiuni și starea de așteptare este eliminată pentru a accelera răspunsurile cipurilor RAM, instrucțiunile simple pot fi executate folosind doar 1 ciclu: în exemplul anterior, această perioadă ar fi fost pe Z80 de 2 cicluri. Ciclul 1 devine opțional și se execută numai atunci când programul iese din limitele unui bloc de memorie de 256 de octeți.

Soluția descrisă s-a aplicat doar RAM-ului utilizat pe MSX TurboR: hardware-ul extern, conectat prin porturile pentru cartușe, a folosit timinguri similare cu cele ale Z80. Nici măcar ROM-ul intern al TurboR nu a fost suficient de rapid pentru a putea rezista acestui tipar de funcționare prin care cipurile TurboR suplimentare au fost reproduse pe RAM, astfel încât accesul la date să fie mai rapid.

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT