[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Recode to Play MP3?
mdj wrote:
On May 28, 5:26 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:
Since you move the data back and forth, the page last written is
the page next read--perfect. Moving from page 0 to a page 0 mod 8K
away conflicts perfectly, so if data were *repeatedly* moved from
page 0, but not back and forth, every load would be a cache miss!
Doing that experiment, with the second copy loop changed to re-copy
page 0 to $20xx, results in a time of 8.1sec--almost twice as long.
In this case, the cache only benefits code fetching, not data access.
But since most 6502 activity is code fetching, it's still pretty fast!
8.1 sec is a big drop. It makes no difference at all to the Transwarp
(except for the aforementioned speed drop writing to video areas).
It simply corresponds to causing every LDA instruction to miss
on its data reference, resulting in a bus cycle penalty per
iteration, or the equivalent of 8 Zip cycles.
I would suppose that this would take considerably longer at 4Mhz, so
my feeling that the Transwarp is slightly faster for block copies than
the Zip 4Mhz probably holds.
At 4MHz the penalty would be only 4 Zip cycles, so it would actually
perform better than linear extrapolation would predict--about halfway
between the cache hit number and the cache miss number, times two.
I'd estimate about 12.4sec., a little bit slower than the TW at
3.58MHz.
Cache missing on every data reference is, however, quite a worst-case
scenario, almost never seen in real programs.
Usually, the Zip Chip provides a speedup of about 5x.
One thing is for sure, any delusions I had about a double-speed
Transwarp being the ideal accelerator performance wise have well and
truly evaporated :-)
;-)
-michael
NadaNet file server for Apple II computers!
Home page: http://members.aol.com/MJMahon/
"The wastebasket is our most important design
tool--and it's seriously underused."