Expanded memory is a system that lets programs use more memory than most early-day computers had. When personal computers (PCs) were introduced in the mid-1980s, they only had 640 kilobytes (KB) of usable random access memory (RAM).
The memory limitation was challenging for many applications, pushing Lotus Development Corporation, Intel Corporation, and Microsoft to develop the Expanded Memory Specification (EMS) standard.
Read More about Expanded Memory
What Is Bank Switching?
Before diving into the nitty-gritty of expanded memory, it’s important to understand bank switching since it is the fundamental method that makes memory expansion possible. Bank switching is a technique in computer design that increases a processor’s usable memory by switching between different memory banks.
How Does Expanded Memory Work?
The bank switching technique divides the total computer memory into equal-sized “banks” or “pages” to expand its memory. A software is often used to switch between these banks so one bank becomes accessible for reading and writing while the others remain inactive.
In the early IBM PC that had a 640KB memory limit, the expanded memory would be divided into several 16KB banks. The Expanded Memory Manager (EMM), a software that controls access to the expanded memory, would then switch between these banks.
Here is how expanded memory works in detail.
- Memory division: The total available memory is divided into banks of 16KB each. This division includes the regular memory (below 1MB) and the additional expanded memory.
- Page frame: A 64KB region in the upper memory area (the area between 640KB and 1MB) is designated as the page frame that acts as a “window” into the expanded memory.
- Bank switching: At any given time, four banks of expanded memory can be “mapped” into the page frame, making them accessible to the processor. The specific pages that are mapped can be changed or “switched on” by the EMM.
- Software access: Software designed to access data in the expanded memory would ask the EMM to switch on the required pages as needed. For example, a software may use a bank of expanded memory to store data that it doesn’t need to access immediately, switching it to the page frame only when needed.
The image below shows a simplified version of how expanded memory works.
Is the Concept of Expanded Memory Obsolete?
With the invention of modern computers with higher base memory capacities around the 1990s, the use of expanded memory started to decline. However, the underlying principles continue to influence memory management systems and strategies today.
An example is Memory Management Units (MMUs)—hardware that allow modern computers to implement virtual memory systems. Virtual memory systems enable computers to use a portion of their hard drive as if it were RAM. Therefore, MMUs work like expanded memory but are more efficient.
What Were the Real-Life Applications of Expanded Memory?
Expanded memory played a vital role in improving the computing capabilities of systems in the 1980s. Below are some examples of how it was used back in the day.
- Lotus 1-2-3: This was a popular spreadsheet software developed by IBM that required high memory. It was one of the primary reasons for the invention of expanded memory.
- Disk operating system (DOS) Shell: As a file manager, DOS Shell provided PC users with a user interface (UI) to navigate menus instead of using the command line. The program was memory-intensive, so it used expanded memory for its advanced features.
- Games: Most DOS-based games use expanded memory to store sound files, graphics, and level data. Well-known examples of such games include SimCity, Wing Commander, and Doom.
- Early versions of Microsoft Windows: Early versions of Windows, including Windows 3.0 and 3.1, used expanded memory to improve performance and support more complex operations.
Expanded memory enhanced the capabilities of software in the 1980s, including Lotus 1-2-3, DOS Shell, DOS-based games, and early versions of Microsoft Windows. While it can be considered an obsolete technology, expanded memory benefited many people, including modern Internet users, as we continue using memory management strategies based on it.
- Expanded memory is a system devised by Lotus Development Corporation, Intel Corporation, and Microsoft to overcome the memory limitations of early PCs, specifically the 640KB RAM limit.
- The technology utilizes bank switching, a method that increases the usable memory of a processor by alternating between different memory banks.
- To implement expanded memory, memory is divided into 16KB banks or pages. The EMM software manages access to these banks.
- Modern computers with larger base memory capacities have rendered expanded memory largely obsolete, although its principles continue to influence modern memory management strategies, such as in MMUs.