|
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2393 Location: Yateley, Hants, UK
|
Posted: Mon Sep 07, 2015 12:27 pm Post subject: |
|
|
John,
The 64-bit compiler addresses memory with 64 bit addresses, and thus is able to exceed the 4Gb limitation of 32-bit addressing (although in practice the limit is smaller anyway due to some addresses being reserved.
This is nothing to do with the precision/range of floating point values (or even the range of integer values).
Way, way, back in the days of the 8086/8088 processors one could add a further chip numbered 8087 to a system (assuming it had the �coprocessor� socket), which would accelerate the floating point calculations. This chip had a stack of very large registers (80 bit actually). There were companion chips 80187, 80287, 80387 and indeed 80487 although the latter was a 486/487 combo and disabled the original 486; and there were also replacement �7�s from other manufacturers, plus some that weren�t the same architecture like those from Weitek.
In a very simple nutshell, a floating point value would be promoted from REAL*8 to REAL*10 as it entered the coprocessor, various activities would take place, and it would be demoted from *10 to *8 when the results were posted back to memory, thus at a stroke largely eliminating roundoff. Of course, floating point numbers could be kept in REAL*10 (80 bit) in RAM because it is just bytes. Hence, the 64-bit and 80-bit references in the KB.
Since those heady days of the 8087 things have moved on, the 8087 registers have been used for other purposes, and the origins of all this have been forgotten.
As it stands, FTN95 uses 32 bit addressing, but 32, 64 and sometimes 80 bit floating point, with 8, 16, 32 and sometimes 64 bit integers. 64 bit FTN95 will use 64 bit addressing.
Agree about the KB though, although it is the only source for info on some topics ( http://forums.silverfrost.com/viewtopic.php?t=1329 )
Eddie |
|
Back to top |
|
|
JohnCampbell
Joined: 16 Feb 2006 Posts: 2593 Location: Sydney
|
Posted: Thu Sep 10, 2015 5:34 am Post subject: |
|
|
For a long time I resented loosing real*10 precision. Moving from x87 to MMX(?) then SSE instructions reduced the precision of the calculations, making the new program versions appear a lesser quality. It certainly created problems for validating updates from old run results.
When did x87 hardware stop being supported ? |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2393 Location: Yateley, Hants, UK
|
Posted: Thu Sep 10, 2015 10:25 pm Post subject: |
|
|
JC: I lost interest in ASM a long while ago, and since then have forgotten a lot about it, and so it would take a current specialist to tell us if FTN95 uses x87 codes. My post wasn't to claim expertise, just to explain how 64 bit means either precision/range OR addressing. Perhaps Paul will enlighten us with what FTN95 really does.
JS:FTN95.CHM and CWPLUS.ENH have latterly been updated to be far better on %bb that when the KB was the only real resource. See it in the 'format code reference'. Sometimes, you only get to understand the limitations when you try something. I've made toolbars with bb, ib (all variants), tb and tt, and they all have limitations, but I get best results with %tb. %bb is great for a thin horizontal toolbar with only a half-dozen or so buttons, and is one of the things actually improved visually in Win 10.
Eddie |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|