Expanded Memory - Overview

Overview

The 8088 processor of the IBM PC and IBM PC/XT could address one mebibyte (MiB) of memory. It inherited this limit from the 20-bit external address bus of the Intel 8086. Twenty bits can encode 1,048,576 (220) different addresses - with each address pointing to a byte, that allowed for one megabyte of addressable RAM. The designers allocated the lower 640 KiB of address space for read-write program memory (RAM), called "conventional memory", and the remaining 384 KiB of memory space was reserved for uses such as the system BIOS, video memory, and memory on expansion peripheral boards.

To fit potentially much more memory than the 384 KiB of free address space would allow, a bank switching scheme was devised, where only selected parts of the additional memory would be accessible at the same time. Originally, a single 64 KiB window of memory, called a page frame, was possible; later this was made more flexible. Programs had to be written in a specific way to access expanded memory. The 'window' between lower RAM and expanded RAM could be moved around to different locations within the Expanded RAM.

Read more about this topic:  Expanded Memory