Memory
Memory
Memory
Memory is the electronic holding place for instructions and data that your computer's
microprocessor can reach quickly. When your computer is in normal operation, its memory
usually contains the main parts of the operating system and some or all of the application
programs and related data that are being used.
Memory is sometimes distinguished from storage, or the physical medium that holds the
much larger amounts of data that won't fit into RAM and may not be immediately
needed there.
Types of Memories
1. Random access memory, generally called RAM is the system's main memory, i.e. it
is a space that allows you to temporarily store data when a program is running.
Unlike data storage on an auxiliary memory such as a hard drive, RAM is volatile,
meaning that it only stores data as long as it supplied with electricity. Thus, each time
the computer is turned off, all the data in the memory are irremediably erased.
2. Read-only memory, called ROM, is a type of memory that allows you to keep the
information contained on it even when the memory is no longer receiving electricity.
Basically, this type of memory only has read-only access. However, it is possible to
save information in some types of ROM memory.
3. Flash memory is a compromise between RAM-type memories and ROM memories.
Flash memory possesses the non-volatility of ROM memories while providing both
read and write access However, the access times of flash memories are longer than the
access times of RAM.
DIMMS
Dual In-line Memory Modules, or DIMMs, closely resemble SIMMs. Like
SIMMs, most DIMMs install vertically into expansion sockets. The principal difference
between the two is that on a SIMM, pins on opposite sides of the board are "tied
together" to form one electrical contact; on a DIMM, opposing pins rem a in electrically
isolated to form two separate contacts.
168-pin DIMMs transfer 64 bits of data at a time and are typically used in computer
configurations that support a 64-bit or wider memory bus. Some of the physical
differences between 168-pin DIMMs and 72-pin SIMMs include: the length of module,
the number of notches on the module, and the way the module installs in the socket.
Another difference is that many 72-pin SIMMs install at a slight angle, whereas 168-pin
DIMMs install straight into the memory socket and remain completely vertical in
relation to the system motherboard. The illustration below compares a 168-pin DIMM
to a 72-pin SIMM.
SO DIMMS
A type of memory commonly used in notebook computers is called SO DIMM or Small
Outline DIMM. The principal difference between a SO
DIMM and a DIMM is that the SO DIMM, because it is intended for use in notebook
computers, is significantly smaller than the standard DIMM. The 72-pin SO DIMM is 32
bits wide and the 144-pin SO DIMM is 64 bits wide.
Benefits of Memory-Mapping
The principal benefits of memory-mapping are efficiency, faster file access, the ability to share
memory between applications, and more efficient coding.
Accessing files via memory map is faster than using I/O functions such as fread and fwrite.
Data are read and written using the virtual memory capabilities that are built in to the
operating system rather than having to allocate, copy into, and then deallocate data
buffers owned by the process.
Efficiency
Mapping a file into memory allows access to data in the file as if that data had been read
into an array in the application's address space. Initially, As a result, memory-mapped
files provide a mechanism by which applications can access data segments in an
extremely large file without having to read the entire file into memory first.
There are a few different kinds of mappings that can be specified in the map attribute. All
use the format described in the previous section.
Device Mapping: The most common kind of mapping. It is used for devices, RAM and
ROM objects. The target field is not set.
Translator Mapping: Sometimes the address has to be modified between memory-
spaces, or the destination memory-space depends on the address or some other aspect of
the access such as the initiating processor. In these cases a translator can be used. A
translator mapping is specified with the translator in the object field, and the default
target as target. The translator has to implement the TRANSLATE interface. When an access
reaches a translator mapping, the translate function in the TRANSLATE interface is called.
The translator can then modify the address if necessary, and specify what destination
memory-space to use. If it doesn't specify any new memory-space, the default one from
the configuration is used. The following fields can be changed by the translator:
physical_address, ignore, block_STC, inverse_endian and user_ptr.
Translate to RAM/ROM Mapping: Used to map RAM and ROM objects with a
translator first. The object field is set to the translator, and target is set to the RAM/ROM object.
Space-to-space Mapping: Map one memory-space in another. Both object and target should
be set to the destination memory-space object.
Bridge Mapping: A bridge mapping is typically used for mappings that are setup by
some kind of bridge device. The purpose of a bridge mapping is to handle accesses
where nothing is mapped, in a way that corresponds to the bus architecture. For a bridge
mapping, the object field is set to the bridge device, implementing the BRIDGE interface.
The target field is set to the destination memory-space.
If you are experiencing any of these symptoms, a memory upgrade may be in order.
It's easy to tell how much memory is installed on your system and how much is being used.
Hardware Tips: Choose the Right Kind of Memory for Your System
Adding RAM to your PC usually delivers the most bang for your upgrade buck, but only
if you buy the right kind of memory module for your PC. There are more types of PC
RAM than there are lattes at Starbucks: Do you want SDRAM, PC100, non-parity, or un-
buffered DIMM? Why not enjoy a refreshing DDR SDRAM, PC2700, CL2.5, or
registered DIMM? Here are the ins and outs of PC memory.
Begin by checking your system's user manual to identify the types of RAM your PC's
motherboard supports. If you don't have the manual, visit the manufacturer's Web site
and search for downloadable manuals or other tools that might help you find the
information you need.
RAM and connector types: Determine which of the four types of RAM your system
uses: DRAM (EDO or FPM), SDRAM, DDR SDRAM, or RDRAM. All four types are
mounted on one of three module types: SIMM, DIMM, or RIMM.
Most machines support only one type of RAM and have one type of module or
connector, so mixing types isn't an option. The few motherboards that do
accept two types of RAM allow only a single type to be used at any one time.
Memory speed: SDRAM, DDR SDRAM, and RDRAM are rated to match or
exceed the PC's front side bus speed, which is the speed at which data moves
between the CPU and RAM. If your system comes with PC66 SDRAM, you
can use PC100 SDRAM to replace it and get the faster speed, as long as your
PC's front side bus supports the higher rate. But if you mix RAM of different
speeds, all RAM will operate at the speed of the slowest chip.
Memory banks: On some PCs, the memory slot closest to the CPU--usually
called bank 0-- must be filled before the motherboard's other memory slots. On
other systems, bank 0 must have the largest RAM module (if you are using
modules of different sizes). There's no fixed rule, so check your PC's
documentation.
To determine your type of memory, count the number of chips on the memory
module. If the number is divisible by three, you have ECC or parity memory.
Column address strobe: The lower the CAS rating--or the CL rating--is, the
better. SDRAM comes in CL2 or CL3 types, and DDR SDRAM comes in
CL2 or CL2.5. Unless your motherboard requires a specific CAS or CL
rating, get the lower (faster) rated module. Cost differences should be
negligible. Again, if you mix modules of different speeds, they'll all operate
at the slowest module's speed.