Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Fuzzy Zpět na příspěvek

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&amp;MZIX, tak prispevky jsou
<img src="BODY_IMAGES_WRAP_GIF">vitany.

Fuzzy</pre>