dlindsle@afit.af.mil (David T. Lindsley) (06/14/91)
tholen@hale.ifa.hawaii.edu (Dave Tholen) writes: >Microsoft recently announced version 5.1 of their FORTRAN compiler, with >extensive Windows support, including the use of extended memory. To quote >from their brochure: > "Access all virtual memory on a PC with an 80386 or higher processor, > up to 64 megabytes. > Access all extended memory on a PC with an 80286 processor." I read about that too in one of the PC journals. They even had a 800 number you could call. I did. What I got was "The number you have reached -- xxx-xxxx -- has been disconnected." Using virtual paging to access extended memory is one thing. What I want to know is, what's the page size? Like I said, I'm interested in using large arrays. An array reference A(i,j) into an n by m matrix usually is computed as <value at (address of array + offset)> = <value at (address of A(1,1) + ((j-1)*n) + i)>. (This assumes column-major storage, but for row-major storage you'd just swap i and j in the formula.) Note that the address formula will consist of two far (20-bit) pointers (on a 286 or less, or in code generated by a non-386 compiler). So -- and this is the million-dollar question -- what happens if and when an array is bigger than (min(page_size, 640K))? When, in other words, the offset may be larger than 1MB, and therefore cannot be stored as a 20-bit pointer? Does the VM scheme allow for segmenting data across page/1M boundaries? That, incidentally, is what I called Microsoft's 800 number to find out. I think this is a legitimate question -- FORTRAN is, after all, the standard language for numerical work, and matrices with (say) 500 rows and columns are not all that unusual. (Whether that sort of work ought to be done on a PC is another question, but you can't argue too loudly about the customer's equipment when you're a mere consultant.) Anybody had experience with this sort of thing? Am I missing something obvious here? Please note that I have directed followups to comp.sys.ibm.pc.programmer. This thread has strayed away from FORTRAN proper, and that group is more appropriate. -- Dave Lindsley #24601# OPINIONS. MINE. (Nobody tells me dlindsle@blackbird.afit.af.mil anything anyway, so I can't possibly ?? lamroN eb yhW ?? be anybody's mouthpiece...)