<< BACK | NEXT >>

What is Side Ways RAM/ROM and Paged ROM?

[23rd April 2014]

For the moment let's forget about RAM or ROM, but concentrate on the sideways and paged part of the subject - because it's essentially the same thing. It's more commonly known as memory paging and involves swapping RAM or ROM chips into and out of a computers memory map.

A computers memory map is all of the RAM and ROM that a computer can see in one go and is limited based upon the architecture of its processor. Generally speaking, the more modern the processor the more RAM and ROM that it can "see" at once.

Here's a small list of processors and the maximum combination of RAM & ROM that they can see:

Processor Maximum memory Example computer
Rockwell 6502 64KB BBC Micro, Commodore 64
Intel 8088 64KB  
Motorola 68000 16MB Commodore Amiga, Atari ST
Intel 80486DX2 4GB 486DX2 base PC
AMD Athlon 64 3GHz 4 PB (petabytes, i.e. 4000 terrabytes) AMD based PC

Ok, so how does this fit with memory paging? Well, what happens if you want your computer to "see" more memory than its maximum? Well, you can swap bits of physical memory (RAM or ROM) in and out of the map and many computers have used this to good effect. These include the BBC Micro and the Intel '386.

Here's a good visual way of looking at this from a BBC Micro perspective:

The BBC model B+ has 64KB of memory space that it can see. Apart from some I/O addresses at the top of the memory map, this is normally divided up into 32KB of RAM from 0 to &7FFF (the & means a hexadecimal number), 16KB of paging area and 16KB of ROM (give or take) for a grand total of 64KB.
Now, to see more than 64KB, the OS (operating system) pages 16KB modules of RAM or ROM into the paging area. When this happens, the processor can access that memory module. It can then page that module out (losing access to that module) in favour of another. All of these paging modules are still all powered and, in the case f RAM memory modules, do not lose information. This (crude!) diagram may help:



<< BACK | NEXT >>

Site Map | CSS Hover Menus by Css3Menu.com