[En-Nut-Discussion] network throughput gain (nicrtl output)
Waschk,Kolja
enut at ixo.de
Sun Nov 30 22:54:46 CET 2003
> If I'm not wrong, this is even 1 cycle faster.
> .L94:
> ld r24,Z+
> sts -16376,r24
> subi r22,lo8(-(-1))
> sbci r23,hi8(-(-1))
> brne .L94
4+4+1+1+2 = 12 cycles per byte, whereas
>> .L94:
>> ld r24,X+
>> std Y+16,r24
>> subi r18,1
>> brcc .L94
>> subi r19,1
>> brcc .L94
4+4+1+2 = 11 cycles most of the time,
4+4+1+1+1+2 = 13 cycles only at 8 bit boundary
For 536 bytes that's about 9% gain
To push throughput even more, I'm currently playing with the idea of
implementing an operating mode where m128 issues a read from RAM and some logic
(CPLD) translates this into a write access to the MAC at the same time (RAM
outputs data, MAC reads it). Thus no explicit write instruction would be
needed, and the inner loop would shrink to 7 cycles. Anyone tried something
similar before?
Kolja
--
mr. kolja waschk - haubach-39 - 22765 hh - ger
phone +49 40 889130-34 - fax -35 - e-mail s.a.
More information about the En-Nut-Discussion
mailing list