[zxspectrum] test velocita' 6510
- From: Alfonso Martone <a.martone@xxxxxxxxxxx>
- To: zxspectrum@xxxxxxxxxxxxx
- Date: Thu, 28 Oct 2004 20:14:07 +0200
> http://www.alfonsomartone.itb.it/rqftcg.html
> Aspetta... questi hanno fatto un piccolo errore nel programma in
> assembler per testare la velocità del 6510...
Ricordavo bene i risultati ("due minuti e mezzo" contro "meno di due
minuti") e lo schema della routine del C64; il resto della faccenda
l'ho ricostruito a mano, ho visto che quadrava e che andava bene anche
nei rispettivi emulatori (155 secondi e 111 secondi); di mio ci ho
aggiunto la considerazione sulla variante JP al posto di JR (che fa
scendere il tempo dello Spectrum a 101 secondi). Le routine erano
state fortunatamente fatte girare con interrupts disabilitati e in una
pagina di memoria che per puro caso non era "contesa" su nessuno dei
due (all'epoca importava di metterla "al centro", a 32k).
Ora, per pura curiosita', sei in grado di correggere il listatino in
questione (quello del C64) aggiungendo le istruzioni per spegnere il
VIC-II all'inizio e riaccenderlo alla fine? Si potrebbe poi provare su
un emulatore o una macchina vera (faccio lo spavaldo perche' sono gia'
convinto che la performance del C64 non migliorera' di tantissimo).
Lo Z80 e' un processore "all-purpose" con una discreta carretta di
istruzioni (non meraviglia che sia stato inventato da un italiano,
fondamentalmente "creativo") mentre il 6502 e' ridotto al minimo
indispensabile ed ha come filosofia di fondo quella che piace ai
programmatori di piccoli firmware.
Piccola parentesi: ho lavorato per anni in un'azienda che si creava in
casa il firmware per le proprie apparecchiature, ma hanno sempre
preferito gli Z80 perche' quando le cose si facevano complesse, era
bello avere quella ricca quantita' di feature. Ricordo i cicli piu'
infami ottimizzati a mano per fare "tutto nei registri"... una volta
chiedevo al collega: "a Paoli', ma non e' che avanza un registro, pure
piccolo?", e lui, ridendo sotto i baffi: "avanza solo R". Poi sudavo
per ore e trovavo un buco dove infilare quel che mi serviva, e lui
ammirato: "Aho', ma a te te chiamavano jimmi er fenomeno!". Bei tempi,
quando dovevi quotidianamente combattere con i limiti dell'hardware...
Per i lavori in "filosofia 6502" si usava invece l'8051 (che, a
distanza di tempo, riconosco che scelsero perche' aveva quel
qualcosina in piu' che ordinariamente c'era solo sullo Z80). Fra
parentesi, l'8051 aveva 12 cicli di clock per istruzione, e quindi uno
di quelli spinto a 12MHz performava quanto uno Z80 a 4 MHz...
--
alf
- Follow-Ups:
- [zxspectrum] Re: test velocita' 6510
- From: spottedkat
- References:
- [zxspectrum] (no subject)
- From: spottedkat
Other related posts:
- » [zxspectrum] test velocita' 6510
- » [zxspectrum] Re: test velocita' 6510
- [zxspectrum] Re: test velocita' 6510
- From: spottedkat
- [zxspectrum] (no subject)
- From: spottedkat