radford@calgary.UUCP (Radford Neal) (09/30/87)
In article <8668@utzoo.UUCP>, henry@utzoo.UUCP (Henry Spencer) writes: > ... I wasn't saying "the 68881 > is more accurate than carefully-implemented double-precision software such > as one would expect from e.g. MIPSco"; I was saying "the 68881 is more > accurate than the sloppy first-cut software that one confidently expects > XYZ Vaporboxes Inc. to ship as its `production' release". The point is not > that the 68881 has inherent advantages over software, but that it represents > a *cheap* *prepackaged* high-quality solution. In principle one could find > the same thing in software, but commercial realities make this unlikely > unless it comes from a university: the 68881 can be cheaply and widely > sold at a profit because *it cannot be pirated easily*. Maybe I'm naive, but I don't understand why the vendor of the main processor chip doesn't write low-level software like FP libraries. If Motorola wrote good transcendental functions for the 68020, or for the 68881, if it hadn't had them in microcode, wouldn't that increase sales of their product enough to justify their effort? Anyone want to clue me in to reality here? Radford Neal
henry@utzoo.UUCP (Henry Spencer) (10/12/87)
> If Motorola wrote good transcendental functions for the 68020, or for > the 68881, if it hadn't had them in microcode, wouldn't that increase > sales of their product enough to justify their effort? Perhaps... but it's a substantial investment. Given a standard format for the floating-point, what's to stop other manufacturers using it to boost sales of their chips too? Motorola has in fact done roughly this, but has put the functions inside the 68881. Not only is it very difficult to read the internal microcode to reverse-engineer it, the code is very 68881-specific and difficult to adapt to other peoples' products. This gives them the same sales boost while keeping it all for them. -- "Mir" means "peace", as in | Henry Spencer @ U of Toronto Zoology "the war is over; we've won". | {allegra,ihnp4,decvax,utai}!utzoo!henry
jimv@radix (Jim Valerio) (10/12/87)
In article <1080@vaxb.calgary.UUCP> radford@calgary.UUCP (Radford Neal) writes: >I don't understand why the vendor of the main processor chip doesn't write >low-level software like FP libraries. In another article, Larry Yang <lyang%scherzo@Sun.COM> asks: >How much more time would Motorola buy if they didn't do transcendentals >in micro/nanocode and had software engineers write libraries that they >could sell to customers? Could the 881 be fit onto a smaller die (i.e., >easier layout, better yield)? and Michael Galassi <nerd@percival.UUCP> replies: >The bigest advantage I see in using microcode to do the FP is that you >save the memory references while the computation is being done [...]. At the risk of repeating myself, there are good technical reasons to put the transcendental functions in microcode. See my article <8@omepd> entitled "Transcendental functions and microcoded instructions" for more detail. In my experience, it is difficult for a component manufacturer to supply significant functions in software for its customers. In this particular case, there are a lot of assumptions that need to be made about the language and operating system environment, not to mention naming and calling conventions for the routines themselves. Not every customer runs C code on a Unix system. (Before you respond, note that I said "difficult" here, not impossible.) Also, in my experience hardware engineers are not often good programmers. Component companies seem to largely hire hardware engineers. One's expertise and available resources tend to color one's solution to a problem. And last, so what? I suspect that the extra area in the 68881 to support the transcendental functions (microcode, ROMs, etc) is no more than 10% of its total area. Although this adversely affects yields, you should keep in mind that the silicon area in such a coprocessor is probably no greater than that for the main processor. Yet, if you look at the prices, you'll see that the floating-point part has and will keep a much higher price than the CPU. What does this mean? Floating-point coprocessors are lucratic, high-margin parts. -- Jim Valerio {verdix,intelca!mipos3,intel-iwarp.arpa}!omepd!radix!jimv