SPUR(ID:127/spu001)Floating point packagefor Single Precision Unpacked Rounded Floating Point Package Fast floating point package developed by Barnet at Convair, San Diego January 1956, ported to the IBM 650 by Boeing Wichita, August 1956 Hardware:
Related languages
References: SPUR Detailed Specifications This is an unpacked floating point package Including card input and output, addition, subtraction, multiplication, division, two index registers and normalization; all with rounding. The floating point number representation is defined in the 1103 storage as follows; N = M + 2^{e} where 1/2<= m < l and 0 <= e <2^{35} M is scaled 35, e is scaled 0, where M is in the first of two consecutive cells and e in the second. Examples: 1 = 200000000000 00000000000l or 377777777777 000000000000 1 = 577777777777 000000000001 16 = 314631463146 777777777776 The card input and output will only handle a maximum decimal exponent of 99. The number should be normalized at all times to gain the maximum accuracy because 35 bits are used in a normalized mantissa. However, the addition, subtraction, and multiplication operations will handle floating numbers not normalised and give normalised answers which are correct to a lesser number of places. The division operation requires a normalized divisor or will go to the alarm exit, where it will alarm print the divisor and halt with a 56 stop. A restart will then finish the current instruction using an incorrect answer. No fault will be caused by a nonnormalized dividend which will give a nonnormalized quotient correct to a lesser number of places. The number whose mantissa is in the accumulator scaled 35 and whose exponent is in 01775 will be normalized by the return jump 37 01741 01712. The mantissa of the answer will be duplicated in 01774 and the accumulator, with the exponent in 01775, i.e. the normalized number will be left in R as for arithmetic operation answers. To attempt greater convenience of programming subroutines and simpler explanation of operation; a core package, to operate from 01500 to 01777 inclusive, is independent of any subroutines used. The intention is that any subroutine may be easily assembled to use with it. It includes rounded operations for accuracy and the fundamental arithmetic operations. These last arithmetic operations can be used with interpretive instructions for normal programs or with return jump instructions for greater speed in loops and especially for construction of subroutines. The package starts with a self contained arithmetic unit from 01633 to 01775 inclusive which will perform addition, subtraction, multi plication, division, and normalization operation on specified registers by return jump instructions. From 01500 to 01632 inclusive is an interpretive system which uses the smaller arithmetic package. From 77400 to 77751 on the drum is a card input, self contained and operated either by return jump instructions or by the interpretive system. From 76760 to 77357 is a similar card output. To attempt greater convenience of programming subroutines and simpler explanation of operation; a core package, to operate from 01500 to 01777 Inclusive, is independent of any subroutines used. Let me elaborate these points with examples. UNICODE is expected to require about fifteen manyears. Most modern assembly systems must take from six to ten manyears. SCAT expects to absorb twelve people for most of a year. The initial writing of the 704 FORTRAN required about twentyfive manyears. Split among many different machines, IBM's Applied Programming Department has over a hundred and twenty programmers. Sperry Rand probably has more than this, and for utility and automatic coding systems only! Add to these the number of customer programmers also engaged in writing similar systems, and you will see that the total is overwhelming. Perhaps five to six manyears are being expended to write the Alodel 2 FORTRAN for the 704, trimming bugs and getting better documentation for incorporation into the even larger supervisory systems of various installations. If available, more could undoubtedly be expended to bring the original system up to the limit of what we can now conceive. Maintenance is a very sizable portion of the entire effort going into a system. Certainly, all of us have a few skeletons in the closet when it comes to adapting old systems to new machines. Hardly anything more than the flow charts is reusable in writing 709 FORTRAN; changes in the characteristics of instructions, and tricky coding, have done for the rest. This is true of every effort I am familiar with, not just IBM's. What am I leading up to? Simply that the day of diverse development of automatic coding systems is either out or, if not, should be. The list of systems collected here illustrates a vast amount of duplication and incomplete conception. A computer manufacturer should produce both the product and the means to use the product, but this should be done with the full cooperation of responsible users. There is a gratifying trend toward such unification in such organizations as SHARE, USE, GUIDE, DUO, etc. The PACT group was a shining example in its day. Many other coding systems, such as FLAIR, PRINT, FORTRAN, and USE, have been done as the result of partial cooperation. FORTRAN for the 705 seems to me to be an ideally balanced project, the burden being carried equally by IBM and its customers. Finally, let me make a recommendation to all computer installations. There seems to be a reasonably sharp distinction between people who program and use computers as a tool and those who are programmers and live to make things easy for the other people. If you have the latter at your installation, do not waste them on production and do not waste them on a private effort in automatic coding in a day when that type of project is so complex. Offer them in a cooperative venture with your manufacturer (they still remain your employees) and give him the benefit of the practical experience in your problems. You will get your investment back many times over in ease of programming and the guarantee that your problems have been considered. Extract: IT, FORTRANSIT, SAP, SOAP, SOHIO The IT language is also showing up in future plans for many different computers. Case Institute, having just completed an intermediate symbolic assembly to accept IT output, is starting to write an IT processor for UNIVAC. This is expected to be working by late summer of 1958. One of the original programmers at Carnegie Tech spent the last summer at RamoWooldridge to write IT for the 1103A. This project is complete except for inputoutput and may be expected to be operational by December, 1957. IT is also being done for the IBM 7051, 2 by Standard Oil of Ohio, with no expected completion date known yet. It is interesting to note that Sohio is also participating in the 705 FORTRAN effort and will undoubtedly serve as the basic source of FORTRANto ITtoFORTRAN translational information. A graduate student at the University of Michigan is producing SAP output for IT (rather than SOAP) so that IT will run on the 704; this, however, is only for experience; it would be much more profitable to write a preprocessor from IT to FORTRAN (the reverse of FOR TRANSIT) and utilize the power of FORTRAN for free. in "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957 view details in "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957 view details Bob Bemer states that this table (which appeared sporadically in CACM) was partly used as a space filler. The last version was enshrined in Sammet (1969) and the attribution there is normally misquoted. in [ACM] CACM 2(05) May 1959 view details in E. M. Crabbe, S. Ramo, and D. E. Wooldridge (eds.) "Handbook of Automation, Computation, and Control," John Wiley & Sons, Inc., New York, 1959. view details in [ACM] CACM 6(03) (Mar 1963) view details Resources
