[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [f-cpu] FC0's RTL scheduler
hi !
Michael Riepe wrote:
> On Tue, Dec 18, 2001 at 03:31:02PM +0100, Yann Guidon wrote:
>
> > > > I see that we have most EUs going on or done
> > > > so this is the best place to work. However i still
> > > > have to figure how many output ports the IMU has.
> > > Eight -- two for each chunk size (holding the high and low parts of
> > > the double-width product). We have to reorder the result bits for the
> > > original macl/mach instructions, however.
> > can you be more precise ?
> >
> > does that mean that :
> > 8-bits -> 2 cycles
> > 16-bits -> 4 cycles
> > 32-bits -> 6 cycles
> > 64-bits -> 8 cycles
> > plus an additional cycle for mach/macl ?
>
> 8-bit low part -> 3 cycles
> 8-bit high part -> 4 cycles
> 16-bit low part -> 4 cycles
> 16-bit high part -> 5 cycles
> 32-bit low part -> 5 cycles
> 32-bit high part -> 5 cycles
> 64-bit low part -> 6 cycles
> 64-bit high part -> 6 cycles
>
> mach/macl work at the same speed, but the results don't appear at
> the bit positions that are documented in the manual. In the manual,
> there is a difference between mul and mac modes -- mul(h) places the
> high part of every result chunk in the secondary destination register,
> while mac[lh] pastes high and low parts together, doubling the chunk
> size of the result, and then selects one half of the result and puts it
> into the primary destination register (the secondary reg is never used).
> The final chunk-shuffling for mach/macl is currently not implemented
> (it can be handled by adding extra output ports for mach/macl, or by
> reordering the chunks in the Xbar, whichever is cheaper).
maybe we can "cheat" with the scheduler : swap the register number,
instead of the data, and validate one or another ? it can save one cycle
at the "cost" of missing some issue opportunities but they can be recovered
with a careful coding uideline. what do you think ?
And can you explain a bit how the output ports work ?
how many do you need ? And what about the normal operations ?
(mul) I'm currently too lazy to read all your code, i hope
you understand ;-)
> Michael "Tired" Riepe <Michael.Riepe@stud.uni-hannover.de>
WHYGEE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PS: big thank to Josh for his recent synthesis run !
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu in the body. http://f-cpu.seul.org/