Memory Notes
The term byte is commonly used as a unit of storage measurement in computers, regardless of the type of data being stored. It is also one of the basic integral data types in many programming languages. There are 8 bits in a byte. A bit (binary digit) refers to a digit in the binary numeral system (base 2). For example, the number 10010111 is 8 bits long. Binary digits are almost always used as the basic unit of information storage and communication in digital computing. The bit is also a unit of measurement, the information capacity of one binary digit. It has the symbol bit.
A nibble is smaller than a byte. For example, if you took a ½ of a bite from a cookie, you could say you had a nibble. In this sense, a nibble would be 4 bits or half a byte.
Here are the terms for different memory terminology:
Starting with a bit
Bit: 1 bit is a 0 or 1 in binary
Nibble: There are 4 bits in a nibble
Byte: There are 8 bits in a byte
Kilobyte (KB): 1 KB is equal to 1024 bytes
Megabytes (MB): 1 MB is equal to 1024 KB or 1,048,576 bytes
Gigabyte (GB): 1GB is equal to 1024 MB or 1,048,576 KB or 1,073,741,824 bytes
You will lose 70MB of storage space for every GB. With this, you will lose 5.6 GB on an 80GB hard drive, which will leave you with 74.4GB on an unformatted disk.
Terabyte (TB): 1 TB is equal to 1024 GB
Petabyte (PB): 1 PB is equal to 1024 TB
Exabyte (EB): 1 EB is equal to 1024 PB (1billion GB or 1 quintillion bytes)
Figure out the size:
If you typed up every word ever spoken by every human being ever to live in all the history of the world, the resulting file would be between 2 and 5 exabytes in size.
Brontobyte: all the atoms in all the people’s bodies living in India. (1 billion people)
All computer systems use one of many types of RAM (Random Access Memory)
Memory Configuration
In the past, memory, like processors, used the DIP (Dual In-Line Pin) configuration. This became to overcrowded on the motherboard as there were to many chips. Now a number of chips are combined onto a replaceable card known as a memory module. Memory would then indicate how much RAM was on the module by giving the number of chips multiplied by the size of each chip in megabits. So if you have a stick of memory that says 8X64, it has 512 Mbits of memory. Knowing that there are 8 bits in a byte, you can divide by 8 and get 64MB.
The first standard of these replaceable modules was the SIPP (Single In-Line Pin Package).
SIPP was a type of RAM. It consisted of a small printed circuit board upon which were mounted a number of memory chips. It had 30 pins along one edge which mated with matching holes in the motherboard of the computer. The problem with SIPPs was that often the pins bent or broke while installing into the motherboard. This type of memory was used in the 80286 systems, and was later replaced by SIMMs (Single In-Line Memory Module).
A SIMM is the third generation of RAM. It differs from today’s DIMM (Dual In-Line Memory Module) in that the contacts on a SIMM are redundant on both sides of the module. These memory modules worked better than the old DIP or SIPP modules since it saved a lot of space on the motherboard.
The first variant of SIMMs has 30 pins and provides 8 bits of data. Therefore, systems usually required that 30 pin SIMMs would have to be installed in sets of 4 (because processors such as the 80486 had 32 bit data paths).
The second variant of SIMMS – sometimes called PS/2 after the IBM line of personal computers in which it was first used – has 72 pins and provides 32 bits of data. Around 1997, 72-pin SIMMs replaced 30-pin SIMMs
Due to the different data bus widths of memory modules and some processors, sometimes several modules must be installed in identical pairs or in identical groups of four to fill a memory bank. For instance, on 80386 or 80486 systems (data bus width of 32 bits) either four 30-pin SIMMS or one 72-pin SIMM are required for one memory bank. On Pentium systems (data bus width of 64 bits), two 72-pin SIMMs are required.
The earliest SIMM sockets were conventional push-type sockets. These were soon replaced by ZIF (Zero Insertion Force) sockets in which the SIMM was inserted and rotated until it locked into place. To install a SIMM, the module must be placed in the socket at an angle, then rotated (angled) into position. To remove one, two metal or plastic clips at each end must be pulled to the side, then the SIMM must be tilted back and pulled out. The earlier sockets uses plastic retainer clips which were found to break, so steel clips replaced them.
SIMM is standardized under JEDEC JESD-21C Standard
RAM
As mentioned earlier, there are several types of RAM in today’s computers.
SIMM (Single In-Line Memory Module)
We mentioned SIMM modules earlier. There are a couple different sizes of SIMMs including 30-pin and 72-pin. The 30-pin modules were used in computers up the early 80486 models. The mid 80486 models switched to 72-pin SIMM
30-pin SIMM could only send 8 bits at once so at least two were needed for the 286/386SX and four were needed for the 386DX/486 and eight were needed for Pentium’s. A matching set is called a bank.
72-pin SIMM could send 32 bits of data at once. It was not used in the 286 or 386SX. You need one SIMM in 386DX and 486 models and two matching sticks in the Pentiums. The speed of 72-pin SIMMs was either 70ns or 100ns. This is the handling speed.
DIMM (Dual In-Line Memory Module)
SRAM (Static Random Access Memory) (168-pin) – The word “static” indicates that the memory retains its contents as long as power remains applied, unlike DRAM (See Next section) that needs to periodically refresh. SRAM should not be confused with SDRAM (see below). SRAM is deemed to expensive to be used as system RAM though so just a small amount is used. Static RAM is very fast, usually going at least half of if not the full processor speed.
DRAM (Dynamic Random Access Memory) (168-pin) – is a type of RAM that stores each bit of data in a separate capacitor. As real-world capacitors are not ideal and hence leak electrons, the information eventually fades unless the capacitor charge is refreshed periodically. Because of this refresh requirement, it is a dynamic memory as opposed to SRAM and other static memory. It advantage over SRAM is its simplicity: only one transistor and a capacitor are required per bit, compared to six transistors in SRAM. This allows DRAM to reach very high density. Since DRAM loses its data when the power supply is removed, it is a class of volatile memory device.
Cache Memory
Most computer system memory in modern computers is DRAM. DRAM uses a capacitor and a transistor to hold data. The capacitor is always discharging so that it forgets the data it held. In order to prevent the loss of the data, the MCC has to read all the data and write it back to memory. This is a waste of time for the processor. A computer makes up for that by providing cache memory. SRAM usually makes up that cache. The processor does provide a certain amount of cache built into the processor itself. Some motherboards also have built in cache. The computer can store some of the data from memory into cache to allow the processor to still have something to do while the system refreshes the RAM.
Computers have different levels of cache. Level 1 is usually smallest and fastest. Level 2 is larger and sometimes slower. Not all processors have it but Level 3 is the largest and slowest. Cache goes between the memory and CPU and holds a small amount of data from the RAM that the processor can use while the RAM refreshes. Cache is always at the ready because it uses SRAM, Static RAM uses 4 or 6 transistors not 1 and has no capacitors. For that reason it needs no refreshing. SRAM is deemed to expensive for system memory.
SDRAM (Synchronous Dynamic Random Access Memory) (168-pin) – This is the first memory synced to the system clock. Other dynamic random access memories (DRAM) have an asynchronous interface which means that it reacts as quickly as possible to changes in control inputs. SDRAM has a synchronous interface, meaning that it waits for a clock signal before responding to its control inputs. It is synchronized with the computer's system bus, and thus with the processor. The clock is used to drive an internal finite state machine that pipelines incoming commands. This allows the chip to have a more complex pattern of operation than DRAM which does not have synchronizing control circuits.
Pipelining means that the chip can accept a new command before it has finished processing the previous one. In a pipelined write, the write command can be immediately followed by another command without waiting for the data to be written to the memory array. In a pipelined read, the requested data appears a fixed number of clock pulses after the read command. This delay is called the latency and is an important parameter to be considered when purchasing SDRAM for your computer. It is not necessary to wait for the data to appear before sending the next command.
SDRAM chips are rated according to their maximum clock rate and their read cycle time. Clock rate is directly proportional to maximum bandwidth and is affected primarily by the speed of the internal state machine and interface circuitry. Read cycle time affects the delay between issuing a command and initiating the corresponding operation and is determined primarily by the speed of the memory cells themselves.
SDRAM modules are typically rated according to their maximum clock rate (which may differ from that of the chips on the module) and by their CAS latency. CAS latency is the delay between specifying a column address and receiving the first data output and is closely related to read cycle time. It is specified in clock cycles, typically with the assumption that the module is running at its maximum speed. However, CAS latency is actually programmable by the memory controller, and a lower CAS latency setting may be viable if the module is running slower than its rated clock speed. When 100 MHz SDRAM chips first appeared, some manufacturers sold modules that could not reliably operate at that speed. In response, Intel published the PC100 standard, which outlines requirements and guidelines for producing a memory module that can operate reliably at 100 MHz. This standard was widely influential; the term "PC100" quickly became a common identifier for 100 MHz SDRAM modules, and modules are now commonly designated with "PC"-prefixed numbers (although the actual meaning of the numbers varies widely among different types of modules).
SDRAM was introduced in 1996, and by 2000 had replaced all other types of DRAM in modern computers, because of its greater speed, and much lower latency. SDRAM can be identified by the front side bus rating only: PC66, PC100, PC133 or PC150.
SDRAM is also available in registered memory varieties, for systems that need greater scalability.
Currently, 168-pin SDRAM type is not used in new PC systems, and PCs come with DDR or DDR2 SDRAM, with DDR2 quickly phasing out DDR.
DDR (Double Data Rate) (184-pin)
The second generation of SDRAM is DDR which operates twice in a single cycle of the front side bus. DDR can be identified by its single notch vs. SDRAM’s two notches.
DDR is identified by the effective rating or by the bandwidth. It debuted in AMD 751, 761, KT266A, KT333, KT400, and KT600
DDR200 – PC1600
DDR266 – PC2100
DDR300 – PC2400
DDR333 – PC2700
DDR375 – PC3000
DDR400 – PC3200
DDR433 – PC3500
DDR466 – PC3700
DDR500 – PC4000
DDR533 – PC4200
Dual Channel DDR – Also known as DDR2 (240-pin)
The latest memory technology in system memory. This uses at least one pair of DDR DIMMs to double the memory speed again. Unlike the SIMMs where we were using two sticks to equal the data bus, we are now using the two sticks in parallel, each half of the time so the data speed is doubled again. This memory debuted in computers with nVidia nForce 420D. It is now used in nForce2, nForce3 Opteron, Intel Springdale (855 and 915) and Canterwood (875 and 925)
Operating System RAM Requirements
Operating System Minimum Recommended
Windows 95/98 8MB 32MB Could not use more than 256MB
Windows NT 16MB 32MB
Windows2000 64MB 128MB
Windows XP 128MB 256MB