46
Setup & Installation / Re: Target 64Tb of memory, not one less.
« on: June 25, 2024, 07:56:00 am »
Roberto,
I think what you are describing is a segmented memory model - with each segment (floor in your description) being 4GB in size; memory addressed with pointer (register) to the segment and a pointer (register) to the offset within the segment.
To quote a Redbook
Like the 80286 processor, the 80386 processor also supports a segmented memory model, except that in the case of the 80386 the maximum segment size is 4GB. ... OS/2 version 2 implements the flat memory model by mapping the 4GB address space as a single code segment and a single data segment, each of which has a base address of zero and a size of 4GB.
End quote
So you can, theoretically, address much more than 4GB with a 32 bit processor and its 32 bit registers. The advantage 64 bit processors have in addressing large memory is in not having to use segments and the performance hit that comes with switching segment registers, because their registers are 64 bits wide.
But OS/2 is designed around a 32 bit flat memory model, meaning a single segment, and that single segment being a 4GB in size.
I think what you are describing is a segmented memory model - with each segment (floor in your description) being 4GB in size; memory addressed with pointer (register) to the segment and a pointer (register) to the offset within the segment.
To quote a Redbook
Like the 80286 processor, the 80386 processor also supports a segmented memory model, except that in the case of the 80386 the maximum segment size is 4GB. ... OS/2 version 2 implements the flat memory model by mapping the 4GB address space as a single code segment and a single data segment, each of which has a base address of zero and a size of 4GB.
End quote
So you can, theoretically, address much more than 4GB with a 32 bit processor and its 32 bit registers. The advantage 64 bit processors have in addressing large memory is in not having to use segments and the performance hit that comes with switching segment registers, because their registers are 64 bits wide.
But OS/2 is designed around a 32 bit flat memory model, meaning a single segment, and that single segment being a 4GB in size.