Memory Sizes: Difference between revisions

From COMP15212 Wiki
gravatar Yuron [userbureaucratinterface-adminsysopPHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+YnVyZWF1Y3JhdDxiciAvPmludGVyZmFjZS1hZG1pbjxiciAvPnN5c29wPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+] (talk | contribs)
m (1 revision imported)
pc>Yuron
No edit summary
Line 2: Line 2:
-->{{Path|Memory|3}}<!--
-->{{Path|Memory|3}}<!--
-->{{#invoke:Dependencies|add|Memory,3}}
-->{{#invoke:Dependencies|add|Memory,3}}
The size of the virtual address space of a particular computer
The size of the virtual address space of a particular computer processor is fixed by the architecture of that processor.
processor is fixed by the architecture of that processor.


Because artificial computers are almost all digital, binary systems,
Because artificial computers are almost all digital, binary systems, the size is a typically a power of two – and most likely a power of (a power of 2).  Thus we see:
the size is a typically a power of two – and most likely a power of (a
power of 2).  Thus we see:


*16-bit spaces with 2^16 = 64Ki = 65,536 locations
*16-bit spaces with 2^16 = 64Ki = 65,536 locations
Line 14: Line 11:


<blockquote>
<blockquote>
Although it has varied in the past – and still does in a few
Although it has varied in the past – and still does in a few circumstances – it’s fairly safe to assume “locations”
circumstances – it’s fairly safe to assume “locations”
are (8-bit) bytes in most cases.
are (8-bit) bytes in most cases.
</blockquote>
</blockquote>
The physical address space tends to follow this trend although not all
The physical address space tends to follow this trend although not all the address bits are necessarily used in a particular era.
the address bits are necessarily used in a particular era.


The physical <strong>memory</strong> size is governed by technology and economics.
The physical <strong>memory</strong> size is governed by technology and economics. As technology progresses the price-per-bit of memory falls, thus feasible memory sizes have expanded, loosely in line with Moore’s Law. Personal economics depend (of course) on what the buyer can afford at the time.
As technology progresses the price-per-bit of memory falls, thus
feasible memory sizes have expanded, loosely in line with Moore’s Law.
Personal economics depend (of course) on what the buyer can afford at
the time.


The result has been that a particular machine architecture will appear
The result has been that a particular machine architecture will appear where the address space is ‘much larger’ that most users can populate with physical memory, and thus is mostly empty whilst the physical RAM is in short supply.
where the address space is ‘much larger’ that most users can populate
with physical memory, and thus is mostly empty whilst the physical RAM
is in short supply.


[[Image:VM_small.png|link=|alt=VM_small]]
[[Image:VM_small.png|link=|alt=VM_small]]


As time goes by, memory becomes more affordable and the address space
As time goes by, memory becomes more affordable and the address space ‘looks’ smaller.  Somewhat later there may be mechanisms to allow mapping of a physical address space which is <strong>larger</strong> that the virtual space visible to any single process.  This is still useful as the memory can hold data from several processes concurrently.
‘looks’ smaller.  Somewhat later there may be mechanisms to allow
mapping of a physical address space which is <strong>larger</strong> that the
virtual space visible to any single process.  This is still useful as
the memory can hold data from several processes concurrently.


[[Image:VM_large.png|link=|alt=VM_large]]
[[Image:VM_large.png|link=|alt=VM_large]]
Line 44: Line 28:
(Alice and Bob seem to be traditional example users!)
(Alice and Bob seem to be traditional example users!)


Finally, new machine architectures appear with bigger address spaces
Finally, new machine architectures appear with bigger address spaces and the cycle starts again.
and the cycle starts again.
----
----
{{PageGraph}}
{{PageGraph}}
{{Category|Memory}}
{{Category|Memory}}

Revision as of 15:07, 2 August 2019

On path: Memory 1: Memory • 2: Memory Management • 3: Memory Sizes • 4: Memory Mapping • 5: Memory Segmentation • 6: Memory Protection • 7: Virtual Memory • 8: Paging • 9: Memory Management Unit (MMU) • 10: Caching • 11: Cache • 12: Translation Look-aside Buffer (TLB)
Depends on Memory

The size of the virtual address space of a particular computer processor is fixed by the architecture of that processor.

Because artificial computers are almost all digital, binary systems, the size is a typically a power of two – and most likely a power of (a power of 2). Thus we see:

  • 16-bit spaces with 2^16 = 64Ki = 65,536 locations
  • 32-bit spaces with 2^32 = 4Gi = 4,294,967,296 locations
  • 64-bit spaces with 2^64 = 16Ei = 18,446,744,073,709,551,616 locations

Although it has varied in the past – and still does in a few circumstances – it’s fairly safe to assume “locations” are (8-bit) bytes in most cases.

The physical address space tends to follow this trend although not all the address bits are necessarily used in a particular era.

The physical memory size is governed by technology and economics. As technology progresses the price-per-bit of memory falls, thus feasible memory sizes have expanded, loosely in line with Moore’s Law. Personal economics depend (of course) on what the buyer can afford at the time.

The result has been that a particular machine architecture will appear where the address space is ‘much larger’ that most users can populate with physical memory, and thus is mostly empty whilst the physical RAM is in short supply.

VM_small

As time goes by, memory becomes more affordable and the address space ‘looks’ smaller. Somewhat later there may be mechanisms to allow mapping of a physical address space which is larger that the virtual space visible to any single process. This is still useful as the memory can hold data from several processes concurrently.

VM_large

(Alice and Bob seem to be traditional example users!)

Finally, new machine architectures appear with bigger address spaces and the cycle starts again.