[comp.arch] more about division

ok@quintus (11/04/88)

Just another little data point on the RISC/division/COBOL topic.
I mentioned that one of the things you need for COBOL is fast text->binary
and fast binary->text conversion, and hinted that I have some ideas about
how to do them fast without multiply/divide/remainder.  (No big deal; all
it takes is tables and a twisted mind.)  I haven't done the 32-bit version
yet, but I have done a 20-bit one (generates 7 digits).
		Fast	Slow	Slow/Fast
MC68020		15.6	76	 4.9	
Whizzbang	 3.4	51	15.2
(times in microseconds per conversion)  The Whizzbang is a RISC which has
no hardware support for division, not even a divide step.  The Fast and
Slow times include subroutine call, but the Fast version is small enough
to do in-line.  It uses bit-field extraction, adds, word loads, and byte
stores.

What's really interesting about the example is that the Slow version takes
41% of the total program time on the 68020, 44% on the Whizzbang.  The rest
of the time was going in I/O.  So although the Whizzbang is about 4.6 times
as fast on RISCy instructions, it ended up running the program only 1.6 times
faster.  Oddly enough, C compilation times on the two machines also exhibit
about a 1.6 ratio.  Perhaps the next generation of workstations should have
more effort put into speeding up I/O than into speeding up the CPU?

yuval@taux02.UUCP (Gideon Yuval) (11/05/88)

In article <628@quintus.UUCP> ok@quintus () writes:
>I mentioned that one of the things you need for COBOL is fast text->binary
>and fast binary->text conversion ... (No big deal; all
>it takes is tables and a twisted mind.)  I haven't done the 32-bit version
>yet, but I have done a 20-bit one (generates 7 digits).
>		Fast	Slow	Slow/Fast
>MC68020		15.6	76	 4.9	

Could the source-code for  these  conversions  be  posted?  if  the  job  can
really  be  done  to  Cobol specifications, it would affect quite a few CISC/
RISC arguments running around. The size of the  tables  required  may  affect
the  argument;  the  twistedness of mind will not -- the end-user doesn't get
to see it.




-- 
Gideon Yuval, yuval@taux01.nsc.com, +972-2-690992 (home) ,-52-522255(work)
 Paper-mail: National Semiconductor, 6 Maskit St., Herzliyah, Israel
                                                TWX: 33691, fax: +972-52-558322

yuval@taux02.DdCl (Gideon Yuval) (11/05/88)

Referene
: <628@quintus.DdCPo
Reply-To: yuval@taux02.Dderl (Gideon Yuval)
Organization: National Semiconductor (IC) Ltd, Israel
Lines: 21

In articleDe62amesaquintus.Dderl@ ok@quintus () writes:
>I mentioned that one of the things you need for COBOL is fast text->binary
>and fast binary->text conversion ... (No big deal; all
>it takes is tables and a twisted mind.)  I haven't done the 32-bit version
>yet, but I have done a 20-bit one (generates 7 digits).
>		Fast	Slow	Slow/Fast
@MC68020		15.6	76	 4.9	

Could the source-code for  these  conversions  be  posted?  if  the  job  can
really  be  done  to  Cobol specifications, it would affect quite a few CISC/
RISC arguments running around. The size of the  tables  required  may  affect
the  argument;  the  twistedness of mind will not -- the end-user doesn't get
to see it.




-- 
Gideon Yuval, yuval@taux01.nsc.com, +972-2-690992 (home) ,-52-522255(work)
 Paper-mail: National Semiconductor, 6 Maskit St., Herzliyah, Israel
                                                TWX: 33691, fax: +972-52-55