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

Re: [f-cpu] Re: Floating-Point?



Hi. This is my first post to this list. My background is as a hardware 
technician, not a chip designer so bear with me.

On Thursday 16 August 2001 03:41, you wrote:
> Michael Riepe a écrit :
> 
> In sparc, there is no 80 bits float but 128 bits (2 registers used in
> the same time). We don't need 1 cycle multiplication so it could be done
> for the fcpu.
  
I am thinking that taking the two-register approach might be 
over-complicating matters. Since F-CPU is intended to later be scaled above 
64 bits, if someone wanted 128-bit floats in the future they would impliment 
a 128-bit F-CPU. Especially for the FC-0 and probably for the FC-1, KISS 
(Keep It Simple for us Stupid people).

BTW: I am wondering about the reasons for having endian-ness encoded in the 
instruction. How often do you need to change endinianness. I am thinking a SR 
for endinian would free up that bit as well as allowing other endiniannesses 
as well as big and little (Not in popular usage at present but I can think of 
several other bizaar ways to re-arrange the bits in a word that may be useful 
in some obscure application).

I'd be inclined to use that bit to extend the addressing size from 4 
addressing widths to eight as follows:
000 - 1 bit
001 - 2 bits
010 - 4 bits
011 - 8 bits (mandatory)
100 - 16 bits (mandatory)
101 - 32 bits (mandatory)
110 - 64 bits (mandatory)
111 - maxWidth (the maximum avaliable width)

I'm not sure about the merits of the first three widths but they are nice and 
neat. Since you don't want a bank select line for every bit, sub-byte writes 
would have to be implimented as a read-alter-write, wasting at least one 
memory bus cycle. I make no claims as to whether this is worth it. You would 
also need to address each bit instead of each byte, chopping 3 effective bits 
off your maximum memory size. Crazy idea, I know.

An alternative might be:
000 - 8 bits (mandatory)
001 - 16 bits (mandatory)
010 - 32 bits (mandatory)
011 - 64 bits (mandatory)
100 - 128 bits
101 - 256 bits
110 - application defined
111 - maxWidth (the maximum avaliable width)

256-bit floats anyone?

--------------------------------------------------------
Glenn Alexander - The man with no surname and a silly hat.
(B.Teach, B.Ed Major IT Education, University of Wollongong Australia)
(Now avaliable in China!)

http://members.ozemail.com.au/~glenalec (last update: 2001.07.29)

I use GNU/Linux: http://www.linux.org
from Debian: http://www.debian.org
and   KDE  : http://www.kde.org
--------------------------------------------------------
Fight software piracy: Use GNU ( www.gnu.org )
--------------------------------------------------------
The above message was bought to you by 'sigrot'
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/