So after more discussion with Timothy, I have done some more work on the
program to convert a text screen for the card.
Here are the bounds I was working in for this program:
Load/Store architecture
Each non memory access takes 5 100MHz clocks
Existence of a load block that take 20 + n clocks where n is the number
of 32bit words.
Existence of a store block that takes 5 + n clocks where n is the number
of 32bit words.
Indirect register access
No load immediate instruction
Given those parameters, here is what I got:
136 instructions
73 registers - this includes some "constant" registers needed due to the
missing load immediate and scratch space used for the character blit
----------
209 words - still under half the available space
Now for the performance:
I unrolled part of the blit loop since it is by far the most executed
section. The end result is 13.1Hz screen update for 80x50 and 13.8Hz
screen update for 80x25. The lack in refresh increase between 50 line
and 25 line is due to the fact that 25 line text uses and 8x16 font
where 80x50 uses 8x8 so the blit code does almost the same amount of work.
Without a block store instruction, and assuming that writes are buffered
and only take 5 clocks, then screen updates drop to around 11.8Hz for
80x50. I haven't finished the analysis of removing the block read
instruction, but I think the effect is negligible though slower.
Patrick M
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)