My Assistant
question about how JPL handled double precision on IBM 7094 in the 60 |
Apr 20 2019, 06:37 PM
Post
#1
|
|
|
Junior Member ![]() ![]() Group: Members Posts: 91 Joined: 21-August 06 Member No.: 1063 |
Hello,
I have a question about they handled double precision floating point numbers at JPL in the 60s on the IBM 7094. First I give you a quote then ask the question. John Strand: Author of the book Memoirs of an Astrophyscist Path to the Planets who worked at JPL in the 60s said the following on page 63 "The IBM 7040-7094 Direct Couple was the joing of two main frames. One computer handled I/O and the other was principally for number crunching. The operating system was batch mode. Double precision used two single precision floating-point words each with seperate characteristics and mantissas. I will never for forget this single precision augmentation because of the work necessary to unpack both words from the octal dump in order to find the decimal number. True double precsion with a single characteristic and mantissa would have to wait"....etc Later in the book it says: "The IBM 360 had a single characteristic and mantissa for its double precision word." IBM 360 came right after the IBM 7094. My question is if anyone knows about this method of combining 2 single precision words in order to make 1 double precision word? I am trying to read a binary file that may have used this method since the data was created on a IMB 7094 computer which came before the IBM 360. Nasa archives people say they dont have access anymore to orginal fortran programs that might give me some clues about my problem or the format and I have no way to get in touch with the books author so I am curious if anyone knows about this method? this link here: https://nssdc.gsfc.nasa.gov/nssdc/formats/I...4_7090_7094.htm refers to 2 words that would make up a double precision floating point but it doesnt look like the "Second 36-bit Word" has its own characteristic AND mantissa or does it? I am trying to reconsile what the auther said about his "I will never forget" comment about how he handled double precision and what my link says about how nasa handled double precision on the IBM 7094. Any opinions, insights or info on this subject would be helpfull. thanks |
|
|
|
![]() |
Apr 21 2019, 03:54 PM
Post
#2
|
|
![]() Senior Member ![]() ![]() ![]() ![]() Group: Members Posts: 1009 Joined: 15-June 09 From: Lisbon, Portugal Member No.: 4824 |
I worked a lot with FORTRAN IV on an IBM 360 Model 44. The architecture seems to be quite different from the 7094 (which I never worked with). As mcaplinger says the compiler would handle these subtleties.
If the need to peek inside a floating-point number word or double word would arise, in FORTRAN IV, we would set up overlapping COMMON areas in different program modules (for instance main and a subroutine) one with real numbers defined and the other with an overlapping string. Using the string we could manipulate any byte (character) - this was devil-daring code! Looks like the 7094 mantissa for floating-point numbers was in binary (base 2) but the 360 one was in base 16. So 6 hexadecimal numbers (or 14 in the double precision case) allowed representation of numbers between 16−65 to 1663 (approx. 5.39761 × 10−79 to 7.237005 × 1075). The 360 exponent had a bias of 64, while the 7094 seems to have had biases of 128 (short precision) and 1024 (double precision). In the 360 the hardware would operate directly on the single or double word and those would have to start on a "word boundary" - a byte with an address multiple of four - or "double word boundary". The compiler would allocate the areas according to the variable's type definition. Post here or PM me if I can be of further assistance. Cheers Fernando |
|
|
|
Apr 21 2019, 05:24 PM
Post
#3
|
|
|
Senior Member ![]() ![]() ![]() ![]() Group: Members Posts: 2559 Joined: 13-September 05 Member No.: 497 |
If the need to peek inside a floating-point number word or double word would arise, in FORTRAN IV, we would set up overlapping COMMON areas in different program modules (for instance main and a subroutine) one with real numbers defined and the other with an overlapping string. Standard Fortran didn't have anything like a character type until Fortran 77, though IIRC there might have been non-standard extensions in some compilers before then. https://en.wikipedia.org/wiki/Hollerith_constant I guess you could COMMON a floating-point value with an integer and extract the bytes with divisions; I certainly hope this was uncommon in code. -------------------- Disclaimer: This post is based on public information only. Any opinions are my own.
|
|
|
|
ncc1701d question about how JPL handled double precision on IBM 7094 in the 60 Apr 20 2019, 06:37 PM
HSchirmer QUOTE (ncc1701d @ Apr 20 2019, 06:37 PM) ... Apr 20 2019, 07:07 PM
ncc1701d Hi thanks. I have some manuals and an emulator.
Fr... Apr 20 2019, 10:22 PM
mcaplinger QUOTE (ncc1701d @ Apr 20 2019, 02:22 PM) ... Apr 20 2019, 11:04 PM
mcaplinger It's worth noting that I doubt if JPL was usin... Apr 21 2019, 05:00 PM
nogal In the early 1970s I used the FORTRAN IV level F c... Apr 21 2019, 06:18 PM
JRehling This page, not specific to JPL, might be informati... Apr 22 2019, 12:25 AM
mcaplinger QUOTE (JRehling @ Apr 21 2019, 04:25 PM) ... Apr 22 2019, 01:04 AM![]() ![]() |
|
Lo-Fi Version | Time is now: 17th December 2024 - 05:13 AM |
|
RULES AND GUIDELINES Please read the Forum Rules and Guidelines before posting. IMAGE COPYRIGHT |
OPINIONS AND MODERATION Opinions expressed on UnmannedSpaceflight.com are those of the individual posters and do not necessarily reflect the opinions of UnmannedSpaceflight.com or The Planetary Society. The all-volunteer UnmannedSpaceflight.com moderation team is wholly independent of The Planetary Society. The Planetary Society has no influence over decisions made by the UnmannedSpaceflight.com moderators. |
SUPPORT THE FORUM Unmannedspaceflight.com is funded by the Planetary Society. Please consider supporting our work and many other projects by donating to the Society or becoming a member. |
|