Random Access Memory (RAM) best known form of computer memory. "random access" because you can access any memory cell directly if you know the row and column that intersect at that cell. 72 Magnetic-core memory was the predominant form of random-access computer memory for 20 years (circa 1955 75). It uses tiny magnetic toroids (rings), the cores, through which wires are threaded to write and read information. Each core represents one bit of information. The cores can be magnetized in two different ways (clockwise or counter clockwise) and the bit stored in a core is zero or one depending on that core's magnetization direction. The wires are arranged to allow an individual core to be set to either a "one" or a "zero", and for its magnetization to be changed, by sending appropriate electric current pulses through selected wires. The process of reading the core causes the core to be reset to a "zero", thus erasing it. This is called destructive readout. Such memory is often just called core memory, or, informally, core. Although core memory had been superseded by semiconductor memory by the end of the 1970s, memory is still occasionally called "core"; in particular, a file recording the contents of memory after a system error is usually called a core dump. Taken from wikipedia.org. CS1101 1
74 75 2
A memory chip is an integrated circuit (IC) made of millions of transistors and capacitors. In dynamic random access memory (DRAM), a transistor and a capacitor are paired to create a memory cell, which represents a single bit of data. The capacitor holds the bit of information The transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state. 76 A capacitor is like a small bucket that is able to store electrons. To store a 1 in the memory cell, the bucket is filled with electrons. To store a 0, it is emptied. The problem with the capacitor's bucket is that it has a leak. In a matter of a few milliseconds a full bucket becomes empty. Therefore, for dynamic memory to work, either the CPU or the memory controller has to come along and recharge all of the capacitors holding a 1 before they discharge. To do this, the memory controller reads the memory and then writes it right back. This refresh operation happens automatically thousands of times per second. 77 3
Static RAM uses a completely different technology. a form of switch (called a flip-flop) holds each bit of memory. A flip-flop for a memory cell needs four or six transistors and some wiring, but never has to be refreshed. This makes static RAM significantly faster than dynamic RAM. However, because it has more parts, a static memory cell takes a lot more space on a chip than a dynamic memory cell. Therefore you get less memory per chip, and that makes static RAM a lot more expensive. Static RAM is fast and expensive, and dynamic RAM is less expensive and slower. Therefore static RAM is used to create the CPU's cache, while dynamic RAM forms the larger system RAM space 78 Memory chips usually come as part of a card called a module. These are usually listed as 8x32 or 4x16 for example. These numbers represent the number of the chips multiplied by the capacity of each individual chip, measured in megabits (Mb). The type of connector used for RAM in desktop computers were initially proprietary. Then came SIMM, which stands for single in-line memory module. This memory board used a 30-pin connector and was about 9x2 centimetres in size. 79 4
In most computers, you had to install SIMMs in pairs of equal capacity and speed. This is because the width of the bus is more than a single SIMM. As processors grew in speed and bandwidth, the industry adopted a new standard in dual in-line memory module (DIMM). These have a 168-pin connector and a size of about 14x2.5 centimetres. DIMMs can be installed singly instead of in pairs. 80 Some brands of notebook computers RAM based on the small outline dual in-line memory module (SODIMM) configuration. These are small, about 5x2.5 centimetres, and have 144 pins. 81 5
Error Checking memory available today is highly reliable. Most systems simply have the memory controller check for errors at start-up and rely on that. Memory chips with built-in error-checking typically use a method known as parity to check for errors. Parity chips have an extra bit for every 8 bits of data. The way parity works is simple. Let's look at even parity first. The memory chip adds up the total number of 1s in each byte written to the memory. If the total number of 1s is odd, the parity bit is set to "1." If the total is even, the parity bit is set to "0. When the data is read from the memory the process is repeated and checked against the parity bit. Odd parity works the same way, but the parity bit is set to "1" when the total number of 1s in the byte are even. 82 The problem with parity is that it discovers errors but does nothing to correct them. Computers in critical positions need a higher level of fault tolerance. High-end servers often have a form of error-checking known as error correction code (ECC). Like parity, ECC uses additional bits to monitor the data in each byte. The difference is that ECC uses several bits for error checking. ECC memory uses a special algorithm not only to detect single bit errors, but to correct them as well. ECC memory will also detect instances when more than one bit of data in a byte fails. Such failures are very rare, and they are not correctable, even with ECC. The majority of computers sold today use non-parity memory chips. These chips do not provide any type of built-in error checking but instead rely on the memory controller for error detection. 83 6
Common RAM Types SRAM Static random access memory uses multiple transistors, typically four to six, for each memory cell but doesn't have a capacitor in each cell. It is used primarily for cache. DRAM Dynamic random access memory has memory cells with a paired transistor and capacitor requiring constant refreshing. EDO DRAM Extended data-out dynamic random access memory does not wait for all of the processing of the first bit before continuing to the next one. 84 SDRAM Synchronous dynamic random access memory takes advantage of the burst mode concept to greatly improve performance. SDRAM is about five percent faster than EDO RAM and is the most common form in desktops today. Credit Card Memory Credit card memory is a proprietary self-contained DRAM memory module that plugs into a special slot for use in notebook computers. PCMCIA Memory Card Another self-contained DRAM module for notebooks, cards of this type are not proprietary and should work with any notebook computer whose system bus matches the memory card's configuration. 85 7
FlashRAM FlashRAM is a generic term for the small amount of memory used by devices like TVs, VCRs and car radios to maintain custom information. Even when these items are turned off, they draw a tiny amount of power to refresh the contents of their memory. VRAM VideoRAM, also known as multiport dynamic random access memory (MPDRAM), is a type of RAM used specifically for video adapters or 3-D accelerators. The amount of VRAM is a determining factor in the resolution and colour depth of the display. VRAM is also used to hold graphics-specific information such as 3-D geometry data and texture maps. 86 How Much Do You Need? you can never have enough RAM. Next to the CPU itself, RAM is the most important factor in computer performance. If you don't have enough, adding RAM can make more of a difference than getting a new CPU! If your system responds slowly or accesses the hard drive constantly, then you need to add more RAM. For Windows 95/98, you need a minimum of 32 MB, Windows NT/2000 needs at least 64 MB Windows XP: 128MB Windows 8. 1 GB (32-bit); 2 GB (64-bit) Linux works happily on a system with only 4 MB of RAM. If you plan to add X-Windows you'll probably want 64 MB. Ubuntu: 1GB min You may also need more RAM if your computer acts as a server. 87 8