[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [fpu] FPU operations





>From: owner-fpu@opencores.org [mailto:owner-fpu@opencores.org]On Behalf
>Of Jamil Khatib
>
>
.......
>In this case the FPU has to manage more things than
>what it is supposed to do. each unit should has this
>input and also the comparator that runs in parallel
>must know how to stall
>
.......
>
>I think it is useless to have different buses for each
>operation, may be internally it will be possible. If I
>put these different interfaces the cpu will see
>different execution units
>
>
.......
>
>Sitll I do not know how can we make run in parallel if
>each execution unit has different speed.?


Guys, why are you still trying to make it soooo complex ???

Trust me ;*), it will be much simpler if all execution units
take the same amount of time to complete. Stretch out the
fastest once so they take the same amount of cycle as the
slowest one.

You will need two comparators. One that is used by a compare
instruction and delivers: zero, lt, eq, st, unordered, infinity
outputs.

The second comparator, must be very fast, and should probably
look at intermediate results of various functional units. This
comparator, will report:
- output is zero
- output is larger then zero
- output is smaller than zero
- output is unordered (any NAN)
- output is infinity

In addition to the second comparator, the following exceptions
WILL be generated:
- div_zero
- SNAN
- overflow
- underflow
- ine

I hope I got them all !

Again, I'm not certain if the first compare, that is used by the
compare instruction, should generate exception for SNAN, and
perhaps other conditions ? For now I have suggested to make it
configurable. Each exception that the first comparator can
generate should have a mask bit somewhere ...


.....
>
>Regards
>Jamil Khatib


rudi
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com