Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).
<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"><B>MZIX-proveditelnost-rychlost MZ-800:</B></td><td align=right valign="middle"></td></tr></table><BR><pre>Paralelne bych si dovolil otevrit dalsi thread:
proveditelnost z hlediska rychlosti MZ-800
==============================
Mame k dispozici Z80 na (zhruba) 3.5 MHz. S tim asi nic neudelame,
budeme nuceni s tim vystacit. Vzhledem k tomu, ze na stejnem procesoru
jedou podobne OS, tak neni duvod se domnivat, ze by se to nemelo povest,
ale k tomu se jeste jiste vratime pozdeji.
Dle meho skromneho nazoru bude nejuzsi misto v rychlosti odswapovavani
RAM na periferni zarizeni. Dovolil bych si tedy trochu zanalyzovat, jak na tom
<img src="BODY_IMAGES_WRAP_GIF"> jsme:
RD: zde je potreba orientacne spocitat, jakou rychlosti jsme schopni
prenaset data z/do RD:
Rychlost RD asi bude limitovana rychlosti CPU pri nacitani dat.
Standardni Sharp RD - telo cyklu, neoptimalizovane:
pred cyklem: hl - cilova adresa RAM, bl - pocet bytu ke cteni
loop:
in a, (0eah) ; nacteni dalsiho byte z RD: 11T
ld (hl),a ; ulozeni do RAM: 7 T
inc hl ; dalsi adresa v RAM: 4T
dec bc ; dekrementuj pocet bytu k preneseni 6T
ld a,b 4T
or c ; konec prenosu? 4T
jr nz, loop 12 T
-------------------------
to dela 48T /byte
pri 3.5 MHz taktu to je rychlost prenosu zhruba 71 kB/s.
Po jemne optimalizaci (cteni po 16 bytech naraz v loopu) jsem to napocital na
<img src="BODY_IMAGES_WRAP_GIF">144 kB/s.
Jiste by se dalo optimalizovat dale, ale pocitejme s touhle hodnotou.
Takze napr. naswapovani 32kB bloku bysme meli zhruba za 0.23 s.
Jestli se nemylim, tak zapis do RD je uplne to samy.
Co vy na to - je to dobry odhad? Nebo je to uplne jinak? Udelal jsem nekde
<img src="BODY_IMAGES_WRAP_GIF">chybu?
Jak je to s ostatnimi typy RD (SRAM, Pezik), je to stejne?
HD: Zde bych se obratil na vas, strujce IDE8/IDE16 rozhrani: jak to u nich
vypada s rychlosti? Muj laicky odhad je, ze slabe misto je zde asi procesor,
nikoliv rozhrani nebo HD - takze rychlost teoreticky stejna jako RD?
Nebo to bude znatelne pomalejsi - je treba kvuli slozitejsim rutinam
pro cteni dat z IDE?
=====
Pozadavky na rychlost by jiste snizila Romanem zminovana implementace
pridavne strankovatelne RAM, ale 1) ta zatim neni a pokud vim, nikdo na
tom nedela, a 2) vynucovali bysme si dalsi pridavny HW, coz je proti
zadani projektu: pridavneho HW co nejmene. Ale jestli tahle RAM bude
k dispozici, jiste ji radi vyuzijeme (optional). Na druhe strane bych
rozhodne nechtel, aby tu RAM nekdo delal JEN pro projekt MZIX; kdovi,
jestli ho vubec nekam dotahneme, ze...
Otazku rychlosti celkove a jejiho dopadu na proveditelnost projektu bych v
<img src="BODY_IMAGES_WRAP_GIF">tuhle
chvili nechal otevrenou, zalezi jak se vykrystalizuji pozadavky na rychlost z
ostatnich aspektu projektu.
Jestli nekoho napada cokoliv co se tyka rychlosti&MZIX, tak prispevky jsou
<img src="BODY_IMAGES_WRAP_GIF">vitany.
Fuzzy</pre>