FACTOID # 97: Got a parking ticket in Finland? Better just pay up - it is the least corrupt nation in the world.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Conventional memory

Conventional memory is the first 640 kibibytes of an IBM PC's memory. A kibibyte (a contraction of kilo binary byte) is a unit of information or computer storage, commonly abbreviated KiB (never kiB). 1 kibibyte = 210 bytes = 1,024 bytes The kibibyte is closely related to the kilobyte, which can be used either as a synonym for kibibyte or to refer to... IBM PC (IBM 5150) with keyboard and green screen monochrome monitor (IBM 5151), running MS-DOS 5. ...

Contents

640 KiB barrier

The 640 KiB barrier is an aspect of the IBM PC and compatibles when running under MS-DOS, which could only address up to 640 KiB of memory for running applications. This is due to an architectural limitation of the Intel 8088 CPU, used in the original IBM PC. The 8088 and 8086 were only capable of addressing 1024 KiB of memory (220 bytes), since the chip offered only 20 address lines; of these 1024 KiB, IBM reserved the upper 384 KiB for system purposes — the Upper Memory Area. This left only the lower 640 KiB for user programs and data. An Intel 8088 microprocessor The Intel 8088 is an Intel microprocessor based on the 8086, with 16-bit registers and an 8-bit external data bus. ... The intels 8086 was the first one launched in 1978. ... The Upper Memory Area (UMA) is a feature of the design of IBM PC-compatible x86 computers. ...


At the time of the PCs release in 1981, 640 KiB would have seemed more than plenty for the typical user, and it took a few years until most new PCs had even that much memory installed. The most popular existing microcomputer when the PC appeared, the Apple II+, had only 64 KiB in the most common configuration and could not be easily expanded beyond this; the value of compatibility of succeeding generations of microcomputers was not yet perceived as clearly back then as it was in the mid-1980s, so that probably few people at IBM or elsewhere expected the IBM PC architecture to last more than a few years in the market. Year 1981 (MCMLXXXI) was a common year starting on Thursday (link displays the 1981 Gregorian calendar). ... The Apple II was one of the most popular personal computers of the 1980s. ... The term compatibility has the following meanings: In telecommunication, the capability of two or more items or components of equipment or material to exist or function in the same system or environment without mutual interference. ... Architecture (from Latin, architectura and ultimately from Greek, a master builder, from αρχι- chiefs, leader , builder, carpenter)[1] is the art and science of designing buildings and structures. ...


To maintain compatibility with older OSes, the 640 KiB barrier remained part of the PC design even after the 8088 had been replaced with the Intel 286 processor, which could address up to 16 MiB of memory. It is still present in IBM PC compatibles today if they are running MS-DOS, and even in the most modern Windows-based PCs the RAM still has a "hole" in the area between 640 and 1024 kibibytes, which however is invisible to application programs thanks to paging and virtual memory[citation needed]. The Intel 80286 is an x86-family 16-bit microprocessor that was introduced by Intel on February 1, 1982. ... In computer operating systems, paging memory allocation, paging refers to the process of managing program access to virtual memory pages that do not currently reside in RAM. It is implemented as a task that resides in the kernel of the operating system and gains control when a page fault takes... How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ...


Additional memory

One technique used on early IBM XT computers with Monochrome Display Adapter (MDA) or Color Graphics Adapter (CGA) displays was to add more memory to the motherboard and use a custom address decoder programmable read-only memory (PROM) chip to make it appear at 640 KiB; this moved the barrier to 704 KiB[1]. IBM PC (IBM 5150) with keyboard and green screen monochrome monitor (IBM 5151), running MS-DOS 5. ... Green screen driven by a Monochrome Display Adapter The Monochrome Display Adapter (MDA, also MDA card, Monochrome Display and Printer Adapter, MDPA) introduced in 1981 was IBMs standard video display card and computer display standard for the PC. The MDA did not have any graphics mode of any kind... The Color Graphics Adapter (CGA), introduced in 1981, was IBMs first color graphics card, and the first color computer display standard for the IBM PC. The standard IBM CGA graphics card was equipped with 16 kilobytes of video memory. ... D23128C PROM on the board of ZX Spectrum A programmable read-only memory (PROM) or field programmable read-only memory (FPROM) is a form of digital memory where the setting of each byte is locked by a fuse or antifuse. ...


Memory managers on 386-based systems (such as QEMM or MemoryMax in DR-DOS) could achieve the same effect, adding conventional memory at 640 KiB and moving the barrier to 704 kiB or 736 KiB. Only CGA could be used in this situation, because Enhanced Graphics Adapter (EGA) used this memory for itself. A memory manager is a part of a computer program which accepts requests from the program to allocate and deallocate chunks of memory. ... QEMM (sometimes pronounced IPA: , though not by those who developed it), the Quarterdeck Expanded Memory Manager by Quarterdeck, was the most popular third party memory manager for the DOS operating system. ... DR-DOS is a PC DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildalls Digital Research and derived from CP/M-86. ... The Enhanced Graphics Adapter (EGA) is the IBM PC computer display standard specification located between CGA and VGA in terms of graphics performance (that is, colour and space resolution). ...


The AllCard, an add-on memory management unit (MMU) for XT-class computers, allowed normal memory to be mapped into the A0000-EFFFF (hex) address range, giving up to 952 KiB for DOS programs. Programs such as Lotus 1-2-3, which accessed video memory directly, needed to be patched to handle this memory layout. Therefore, the 640 KiB barrier was removed at the cost of hardware compatibility. This 68451 MMU could be used with the Motorola 68010 MMU, short for memory management unit or sometimes called paged memory management unit as PMMU, is a class of computer hardware components responsible for handling memory accesses requested by the CPU. Among the functions of such devices are the translation... In mathematics and computer science, hexadecimal, base-16, or simply hex, is a numeral system with a radix, or base, of 16, usually written using the symbols 0–9 and A–F, or a–f. ... Lotus 1-2-3 is a spreadsheet program from Lotus Software (now part of IBM). ... A software release is to create a new version of the system or program and release it to the user community. ...


Memory optimisation

As DOS applications grew larger and more complex in the late 1980s, it became common practice to free up conventional memory, by moving device drivers and Terminate and Stay Resident programs into Upper Memory Blocks in the Upper Memory Area at boot, in order to maximize the conventional memory available for applications. This had the advantage of not requiring hardware changes, and preserved application compatibility. This article cites very few or no references or sources. ... Terminate and Stay Resident (TSR) is a system call in DOS operating systems that returned control to the system as if the program had quit, but kept the program in memory. ... The Upper Memory Area (UMA) is a feature of the design of IBM PC-compatible x86 computers. ... The Upper Memory Area (UMA) is a feature of the design of IBM PC-compatible x86 computers. ...


Most users used the free emm386 driver provided in DOS 5 by Microsoft, but third party products from companies such as QEMM, also proved popular. The process of optimisation was eccentric, in the sense that because the sizes of the UMBs would vary, getting best results required moving equivalent sized drivers, into equivalent sized blocks. To this end, manual tuning of the process typically produced best results, in the sense of greatest free conventional memory.


In DOS 6 Microsoft introduced memmaker, which automated this process of block matching, matching the functionality third party memory managers offered.


DOS extenders

The barrier was only overcome with the arrival of DOS extenders, which allowed DOS applications to run in Extended Memory, but these were not very widely used outside the computer game area. The first PC operating systems to integrate such technology were Compaq DOS 3.31 (via CEMM) and Windows/386 2.1, both released in 1988. Windows applications did not suffer from the 640 KiB barrier. DOS extender is the name invented in the 1980s for a technology to allow programs started from MS-DOS, which ran in Real mode, to actually run in protected mode. ... Extended memory refers to memory above the first megabyte of address space in an IBM PC with an 80286 or later processor. ... A computer game is a game composed of a computer-controlled virtual universe that players interact with in order to achieve a defined goal or set of goals. ... An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ... CEMM, for Compaq Expanded Memory Manager was probably the first so-called PC memory manager for Intel 80386 CPUs, able to transform extended memory into EMS expanded memory by using the virtual memory features and the virtual 8086 mode of the CPU. It was present in Compaq DOS 3. ... Windows 2. ... Year 1988 (MCMLXXXVIII) was a leap year starting on Friday (link displays 1988 Gregorian calendar). ...


Prior to DOS extenders, if a user installed additional memory and wished to use it under DOS, they would first have to install and configure drivers to support either Expanded Memory Specification (EMS) or Extended Memory Specification (XMS) random access memory (RAM), and in most cases applications could only move data into and out of the additional space, but not use it in-place; this made memory beyond the 640 KiB barrier slow and cumbersome to use. EMS or Expanded Memory Specification is an IBM PC memory paging scheme enabling access to memory other than conventional memory in real mode, through the use of an add-on peripheral holding the additional memory. ... XMS or Extended Memory Specification is the specification describing the use of IBM PC extended memory in real mode for storing data (but not executable code). ... Random access memory (usually known by its acronym, RAM) is a type of data storage used in computers. ...


Windows

With modern operating systems and 32-bit machines the distinction between conventional and extended memory is rarely relevant, since all memory can be accessed uniformly in protected mode. Most users are therefore unaware of the special significance the first 640 KiB of PC memory has in the history of the development personal computers. An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ... Protected mode is an operational mode of x86-compatible CPUs of the 80286 series or later. ...


See also

The Upper Memory Area (UMA) is a feature of the design of IBM PC-compatible x86 computers. ... EMS or Expanded Memory Specification is an IBM PC memory paging scheme enabling access to memory other than conventional memory in real mode, through the use of an add-on peripheral holding the additional memory. ... XMS or Extended Memory Specification is the specification describing the use of IBM PC extended memory in real mode for storing data (but not executable code). ... The High Memory Area (HMA) is the RAM area consisting of the first 64 kilobytes (KB), minus 16 bytes, of the extended memory on an IBM PC or compatible microcomputer. ... For efficiency reasons, the 80286 and later X86 processors use the base address stored in their internal descriptor cache whenever accessing memory, regardless if they are operating in real or protected mode. ... Real mode (also called real address mode in Intels manuals) is an operating mode of 80286 and later x86-compatible CPUs. ... Protected mode is an operational mode of x86-compatible CPUs of the 80286 series or later. ...

References

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL. Personal Computer World; new look issue from November 2005 Personal Computer World (usually referred to as PCW) is a long-running British Computer magazine, which was launched in 1978. ... The Free On-line Dictionary of Computing (FOLDOC) is an online, searchable encyclopedic dictionary of computing subjects. ... Bold text // “GFDL” redirects here. ...


  Results from FactBites:
 
Conventional memory - Wikipedia, the free encyclopedia (832 words)
Conventional memory is the first 640 kilobytes of an IBM PC's memory.
Even when extended memory is present, real-mode applications have to be specially programmed to use it using a complex system of overlays; consequently, many applications continued to use only conventional memory.
Memory managers on 386-based systems (such as QEMM or MemoryMax in DR-DOS) could achieve the same effect, adding conventional memory at 640 KB and moving the barrier to 704 KB or 736 KB.
MS-DOS Memory Issues (1528 words)
Conventional memory is contiguous memory directly used by applications running on any Intel 80x86 microprocessor that is running in real mode under unaugmented MS-DOS.
Upper memory blocks are not connected with conventional memory, and cannot be directly used by applications which have not been made aware of its existence.
XMS (Extended Memory Standard, promulgated by Microsoft) permits applications to allocate extended memory and takes care of copying data to and from extended memory and conventional memory so that the application does not have to worry about switching between modes.
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m