MEMORY ROM, RAM, and PACKAGING
ROM | RAM | CACHE | MEMORY CHIP PACKAGING | DOS & WINDOWS 95 MEMORY BREAKDOWN | VIRTUAL MEMORY
Memory management at the hardware level is concerned with the electronic devices that actually store data. There are basically two types of physical memory: ROM and RAM. Different variations of physical memory are used for system RAM, cache RAM, system ROM memory, BIOS ROM/Flash BIOS ROM, CMOS, keyboard controller, bus system RAM, and expansion card RAM, etc.
1. ROM (Read Only Memory) Chipset
Function - ROM chips contain permanently stored information. It is NONVOLATILE, in that the information remains stored regardless of what electrical current passes through it. ROM is where the basic instructions the computer needs for operation is stored. These instructions include moving data in and out of RAM for processing, storing data permanently on magnetic media, displaying information on a screen, and interpreting commands typed on a keyboard.
It also performs a series of tests when the computer is turned on, to determine if the computer is functioning properly. The part of the ROM called the ROM BIOS (basic input/output system) is what starts a computer. It allows the microprocessor to control data between the RAM and the input/output devices such as the keyboard, monitor, printer, modem, and disk drives.
- BIOS (Basic Input Output System): Most PC systems display a system configuration screen when the computer is turned on. This is the BIOS reporting what it sees to the computer. The information contains the CPU type, Co-Processor, CPU clock speed, base memory, cache memory, drive capabilities, monitor, and COM ports. The BIOS is an instruction set. The BIOS resides on one or more chips in the motherboard.
There are different types of ROM:
- Programmable ROM(PROM). This is basically a blank ROM chip that can be written to, but only once. It is much like a CD-R drive that burns the data into the CD. Some companies use special machinery to write PROMs for special purposes.
- Erasable Programmable ROM (EPROM). This is just like PROM, except that you can erase the ROM by shining a special ultra-violet light into a sensor atop the ROM chip for a certain amount of time. Doing this wipes the data out, allowing it to be rewritten.
- Electrically Erasable Programmable ROM (EEPROM). Also called flash BIOS. This ROM can be rewritten through the use of a special software program. Flash BIOS operates this way, allowing users to upgrade their BIOS. BIOS is a chipset to which the BIOS manufacturer has written a program code with software known as firmware.
· The motherboard manufacturer determines the type of BIOS chipset on the motherboard. Some BIOS manufacturers are Award, Phoenix Technologies, AMI (American Magatrends, Micro Firmware Inc., TTi Technologies, etc. You can easily see the manufacturer's name labeled on the BIOS chipset.
Since the newer BIOS chips are flash programmable, you can upgrade the BIOS by running a program that changes the BIOS's internal program code. Other BIOS chips need to be entirely replaced when upgrading. NOTE: The BIOS chip must be upgraded when the BIOS code no longer supports any new devices you add during upgrading.
When your computer starts up, if there is some internal problem your computer will send out beeps to indicate what is wrong. The number and duration of the beeps depending on your BIOS chip determines what that message means.
- Ami Beep Codes
- Award Beep Codes
- Phoenix Beep Codes
- Beep Codes for AMI, Award, Phoenix, and Other Brands form The PC Guide
- Power On Self Test (POST) Beep codes by BIOS manufacturer
- From these beeps you can troubleshoot what to do to fix your computer problem.
- CMOS (Complementary Metal Oxide Semiconductor) RAM: This is the memory that stores the vital information about your computer system configuration when when the computer is off.
2. RAM (Read Access Memory) Chipset
Function: RAM is the main and "short term memory" of the computer. RAM chips store data in rows and columns in an array of transistors and capacitors and use a memory-controller circuit to retrieve information located at specific addresses. The chips must be constantly refreshed with electrical pulses to keep the charges current. In RAM, data is stored as the presence or absence of an electronic charge within a series of microchips called RAM or memory chips. When you turn your computer off, anything that is contained in RAM disappears. Thus RAM is VOLATILE since it's data can be erased.
To talk about RAM we must know our bits and bytes.
There are two main types of RAM: DRAM (Dynamic RAM) and SRAM (Static RAM). Both are VOLATILE. RAM comes in module packaging of SIMMs and DIMMs. Remember SIMMs and DIMMs are not memory chips. They are packaging modules.
1. DRAM typically has access times of 50 to 70 nanoseconds (ns) and it is what makes up the bulk of the system memory in most systems. DRAM is slower and less expensive but needs to be refreshed often or data is just lost. It is often referred to as "main memory". RAM comes in module packaging of SIMMs and DIMMs. SIMMs and DIMMs are not memory chips. They are modules.
Types of DRAM Chips
o DRAM (Dynamic Real Access Memory: DRAM consists of micro capacitors, while SRAM consists of off/on switches. Therefore, SRAM can respond much faster than DRAM.
o Fast Page Mode (FPM) DRAM: FPM was the traditional RAM for PC's, before the EDO was introduced. It is mounted in SIMM modules of 2, 4, 8, 16, or 32 MB. Typically, it is found in 60 ns or 70 ns versions. 60 ns is the fastest and the one to use. You cannot mix different speeds on the same Pentium mainboard.
o EDRAM (Enhanced DRAM)
o EDO DRAM Memory (Extended Data Output). 72 pin SIMM configuration. EDO memory should say EDO right on the chip. EDO RAM are usually sold in 60 ns versions. EDO memory is faster becuase it doesn't produce as many wait states before holding anew electrical charge.(from What Is EDO DRAM Memory?)
o SYNCHRONOUS DRAM (SDRAM). SDRAM is the developing new standard for PC memory. Its speed is synchronous, meaning that it is directly dependent on the clock speed of the entire system. It works at the same speed as the system bus, up to 100MHz. This means that the memory must be fast enough to work on the system you intend to put it on. SDRAM is the newest RAM type for PC's. It comes only in 64 bit modules (long 168 pin DIMM's). SDRAM has a access time of only 8-12 ns. The performance improvement over EDO RAM is only 5 percent running at 66 MHz, but at 100 MHz it will prove a lot better.
SDRAM speed is critical to your system's operation. If it is not fast enough, it doesn't simply slow your system down, but also makes it unstable. A 100 Mhz. bus must be supported with SDRAM that qualifies as PC100, a standard assuring that the memory is fast enough, and a 133 Mhz. bus requires PC133 SDRAM.
o RAMBUS RAM (RDRAM): RAMBUS is a future RAM type. Intel and others have great expectations from this type. RDRAM will have a bus speed of 600mhz vs. SDRAM of 100mhz.
2. SRAM is faster with a typical assess time of nanoseconds. It is more expensive and can only store a quarter of the data that DRAM is able to in the same given area, however data will remain stored as long as power is on. SRAM can have an access time as low as 10 nanoseconds. FAST SRAM can be found in most CPU's, in memory cache, on graphic/video cards, and on credit-card memory cards. Cache Memory is SRAM.
Types of SRAM Chips
o SRAM (Static Read Access Memory)
o VRAM (Video Read Access Memory): This is RAM optimized for graphics cards. VRAM and WRAM are both dual-ported memories that allow the microprocessor to draw into memory two chips at the same time. VRAM chips are larger tham DRAM and can boost video performance by 60%.
o WRAM (Windows Ram): makes it easier to allow blocks or windows of memory to be addressed with just a few commands.
Further Information:
o "The RAM Guide", Tom's Hardware Guide (detailed)
o More Detail about RAM Memory
Installation: On modern system boards, RAM is installed on SIMM or DIMM modules. Before, small individual DRAM's were used. There was usually room for 36 small chips on the system board. That made it cumbersome to install new RAM. Then, someone figured out to install RAM chips on cards, which are easily installed. First came the SIPP modules. They had multiple pins, which fit in the mainboard. Since came the SIMM modules. They are mounted on a card, which has an edge connector. They fit in sockets on the mainboard, and anyone can install them.
Do not mix different types of SIMM's within the memory bank. The system will fail to boot or fail to recognize how much RAM you really have. You can occassionally substitute a SIMM with a different speed, only if the replacement is equal to or faster than the replaced module.
Cache Memory (Pronouced CASH)
CACHE MEMORY is SRAM. It is a high speed memory that speeds up the processing of memory to the CPU. It attempts to predict what instruction is about to be used.
It is a bridge between the CPU and slower main memory. Cache is available in two different types, asynchronous and synchronous. Asynchronous cache is not synchronized with the processor. This means the processor has to wait for the data in cache to be ready before it can be retrieved. Synchronous cache is synchronized with the processor, and therefore there is no delay between the cache and the processor. In general the difference would be very hard to notice, but go with synchronous if you have the choice.
NOTE: SMARTDRIVE.SYS and SMARTDRIVE.EXE are DOS program utilities that provide disk caching. The efficiency of cache is reported as hit ratio. To send an efficiency report to the screen, type the command SMARTDRIVE /S from the DOS command prompt.
10. Primary Cache(L1, Level 1 Cache): internal cache located inside the CPU chip.
11. Secondary Cache(L2, Level 2 Cache): external cache located on the motherboard. It is usually soldered on the motherboard near the processor or in the form of a cache module in a socket near the processor. It is installed in sizes of 256K and 512K. From the Pentium II on, secondary cache(L2) is located on the processor itself.
Further Information:
System Cache: Don't miss this section!
§ Function and Operation of the System Cache
§ Cache Transfer Technologies and Timing
§ Cache Structure and Packaging
MEMORY CHIP PACKAGING
A memory chip is a small piece of semiconducting silicon on which an integrated circuit containing millions of transistors is imbedded. Memory Chips come in different forms of packaging.
1. Processor Packaging
o DIP (Dual Line Package): has legs, evenly divided in 2 rows. Form of processor and other IC chipsets.
Processors: 8088. 8086, 8026.
o PGA (Pin-grid Array): has pins arranged in concentric squares. PGA chips are good for chips that have many pins, such as the CPU. PGA (Pin Grid Array)memory is used by processors that are placed in a ZIF (Zero Insertion Force) socket. Installing a CPU in a ZIF socket.
Processors: 80286, 80386, 80486.
o SPGA (Staggered Pin Grid Array) : have pins organized in a diagonal pattern. Pins can be more closely packed together.
Processors: Pentium, K5, K6, 6086.
o PQEP/CQEP (Plastic/Ceramic Quad Flat Pack): small size for laptop machines Inserted in a special mount called a carrier ring.
o PLCC/CLOCC (Plastic/Ceramic Leaderless Chip Carrier). No Lead pins. Designed for upgradability.
Processor: 80826, 80386.
o SEC (Single Edge Contact): SEC is a new packaging that was created for the Intel Pentium II. It is a move away from the single-chip-style packaging that Intel has used for all of its processors up to the Pentium Pro. With the creation of the Pentium II processor, Intel moved the secondary cache off-chip, but wanted to be able to maintain a special high-speed connection between it and the actual processor. To do this, they decided to not sell the Pentium II as a separate chip, but rather as an integrated package with the level 2 cache.
The processor is mounted with a proprietary connector on its edge. The level 2 cache is also mounted onto the chipset, which goes into the socket 1 slot on the motherboard.
This is used in the latest Pentium II chipset.
For Further Information:
RAM Packaging
o DIPP (Dual InLine Pin Package): has legs, evenly divided in 2 rows. Dip chips were fragile. Difficult to insert because of legs.
In the 80's RAM DIPPs were soldered on the board. These RAM DIPP chips were 1 bit wide. 8 bits make a byte. RAM in a computer needed to 8 bits wide to make a bank A bank is a row of chips. To reach 1 MB of RAM, 8 DIPP chips of RAM were placed in a bank, i.e., in a row aside of each other. A bank must be completely filled or not populated. In a bank the same kind of RAM must be used.
Older RAM had sizes 64K X 1 or 256K X 1. The 1 equals 1 bit wide. Thus 8-bit wide RAM = eight 64K X 1 chips in a bank or eight 256K X 1 chips in a bank. Of course this only equaled 64 or 264 kilobytes of RAM.
Sample:
256 256 256 256 256 256 256 256 = 8 bit RAM = 256 kilobytes of RAM
64 64 64 64 64 64 64 64 = 8 bit RAM = 64 kilobytes of RAM.
You can use multiple rows of RAM to create byte-wide memory. Chips in each row must be the same. But chips in different rows can be different.
Sample:
256 256 256 256 256 256 256 256
256 256 256 256 256 256 256 256 = 2 rows of 8 bits = 512 kilobytes of memory.
256 256 256 256 256 256 256 256
64 64 64 64 64 64 64 64 = 2 rows of 8 bits = 320 kilobytes of memory.
o SIPP (Single Inline Pin Package): one row of legs in a straight line like a comb. The legs of these chips were difficult to insert and the SIPP RAM chip did not last long. SIPPS came in 30-pins just as SIMMS.
o ZIP (ZigZag Inline Package): a ZIP is a DIP package that has its legs on one edge in a zigzag pattern.
o SIMM (Single Inline Memory Module): A SIMM consists of several memory chips mounted on a small circuit board that is placed in a socket on the motherboard. A spring clip on the motherboard holds the SIMMs.
§ 30-pin SIMMS: Older computers used 30 pin SIMMS (8-bit wide path). One row or bank of 30-pin SIMMS = 8 bits of data transfer or an 8-bit path, 2 banks = 16-bit path, 3 banks = 24-bit path, 4 banks = 32-bit path.
How many SIMMS does a computer need? The rule of thumb is
The width of the external bus
the width of the SIMM
286 computers had a 8-bit and 16-bit path; 386's and 486's used a 32-bit path. A 486 then would need 32/8 or 4 30-pin SIMMS to make a bank.
How many banks would accomodate the new pentiums that required a 64-bit path. 64/8 = 8 banks. Imagine 1 full bank = 8 30-pin SIMMS on a motherboard and this equaled 1 MB of memory. Adding more memory would take so much motherboard space that 72-pin SIMMS were created.
30-pin SIMMS can in a variety of configurations.
If you say...
2 4-bit chips + 1 1-bit chip X 3 = 1 30-pin SIMM/parity
8 1-bit chips X 8 = 1 30-pin SIMM/without parity
9 1 bit chips X 9 = 1 30-pin SIMM/parity
...you are still talking about 30-pin SIMMS.
IF you see ...X 3, X 9, X 8, you are talking about 30-pin SIMMS.
§ Newer computers use 72 pin SIMMS. 72 pin SIMMs have a 32-bit path(32/8 = 4 MB RAM). Unlike the 30-pin SIMM, they have a notch in the middle to help with insertion and are about an inch longer.
If you see X 32 = non parity; X 36 = with parity. Here you are talking about 72-pin SIMMS.
1 X 32 = 4 MB/no parity
1 X 36 = 4 MB/parity
2 X 32 = 8 MB/no parity
2 X 36 = 8 MB/parity
4 X 32 = 16 MB/no parity
4 X 36 = 16 MB/parity
8 X 32 = 32 MB/mo parity
8 X 36 = 32 MB/parity
16 X 32 = 64 MB/no parity
16 X 36 = 64 MB/parity
The number -100. -80. -70, -60, -50 found on the chip gives its access speed in nanoseconds. The lower the number the faster the chip.
Pins in the upper right corner of SIMMS may have jumpers installed on them. Determine the size and speed of the SIMM based on the configuration of those jumpers.
1. DIMM (Dual Inline Memory Module): The DIMM is a newer designed memory module. It has 168 pins and provides a 64-bit memory pathway. While SIMMs need to be placed in their sockets in sets of two, a pentium processor that has a 64-bit path of memory can use one DIMM at a time, ie., 64/64 = 1.
1 X 64 = 8 MB
What kid of DIMM does your computer have? See the DIMM Keying Methodology
1. SO-DIMM: 72 pins, shorter than DIMMS for laptops. Wider in look.
2. MMO (Mobile Module): This is mobile module packaging, which actually incorporates the processor, secondary cache, and chipset into a small module. It looks like a motherboard but it isn't.
MEMORY DIAGNOSTICS When a PC powers up on a cold boot. Memory integrity is one of the first things tested. Memory integrity can be checked in two ways: parity checking and ECC checking.
3. PARITY vs. NON-PARITY: Memory modules have traditionally been available in non-parity and parity types. (Actually, some sizes and styles are only available in non-parity, but most are available either way.)
o Non-parity is "regular" memory. It contains exactly one bit of memory for every bit of data to be stored. 8 bits are used to store each byte of data.
o Parity memory adds an extra single bit for every eight bits of data, used only for error detection and correction. 9 bits of data are used to store each byte. The extra bit is either set to 1 or 0, depending on whether the byte is made up of an even or odd number of 0's and 1's.
Parity checking is a rudimentary method of detecting simple, single-bit errors in a memory system. It in fact has been present in PCs since the original IBM PC in 1981, and until the early 1990s was used in every PC sold on the market.
ECC Checking: There is also an advanced form of error detection and correction called ECC on Pentium class or later systems that support it. Parity memory uses 12.5% more DRAM memory than non-parity (1 bit extra for every 8) which makes it more expensive, but the major reason that it costs more is simply that it is produced in much smaller quantities today. With processors increasing in speed and more high-end applications coming into prominence on the PC platform, error-checking memory is now again on the increase. At one time, all computers used parity memory. In fact, until well into the fourth generation of PC systems it was impossible to even turn off parity checking on a PC. This changed rapidly, and in a few short years parity went from the default and the standard to the minority in new systems. Most Pentium class systems not only do not use parity memory, most cannot support parity checking (or ECC) at all.
Parity/ECC has made a comeback, particularly in file server systems where integrity is important. In fact, not only is ECC getting renewed interest in memory, Intel has added it to its secondary cache bus on faster Pentium II and III processor modules, due to the need for data integrity with these higher-speed processors.
Most MacIntoshes use nonparity SIMMs (x8, x32), and most PCs use parity SIMMs (x9, x36). However, the recent trend is using non-parity SIMMs on Pentium systems because parity is not required on most 64-bit systems.
How do I know whether or not my SIMMs are parity? Print out and hang up the RULES OF THUMB FOR MEMORY.
Note:
o A 30-pin SIMM has parity checking if it has chips in multiples of 3 (or 9).
o If it has chips in powers of 2 (2, 4, 8, ...) then it has no parity checking.
o 72-pin SIMMs are more difficult to identify visually due to the many different possible chip configurations on SIMMs made by different manufacturers. Generally if they have 4, 8, 16 or 32 chips on them, they have no parity.
For more information on parity and ECC, go to Memory Errors, Detection, and Correction.
Issues to Consider Before Buying RAM
APPLICATION MEMORY MANAGEMENT - WDOS & WINDOWS 95
How the computer uses and allocates memory.
MEMORY BREAKDOWN is how your computer handles memory. The first 640 KB of system memory is conventional memory. This is the area that is available for use by standard DOS programs, along with many drivers, memory-resident programs, and everything that runs under DOS. MEMORY-RESIDENT PROGRAMS (TSR's) refers to DOS programs that remain in memory at all times once they are loaded.
Upper memory (UM) ranges from 640KB to 1 MB. This is the upper 384 KB of the first megabyte of system memory (immediately above conventional memory). It is reserved for use by system devices and for special uses such as ROM shadowing and drivers.
This is the first 64 KB (less 16 bytes) of the second megabyte or extended memory of system memory.
Extended Memory is anything over 1 MB. This is all the memory above the high memory area until the end of system memory. It is used for programs and data when using an operating system running in PROTECTED MODE, such as any version of Windows.
See also the Windows 95 Helpdesk and Memory Allocation at this site.
OPERATING SYSTEM MEMORY - VIRTUAL MEMORY
Virtual memory provides applications with more memory space than allocated in the computer. A technique which operating systems use to load more data into memory than it can hold. Part of the data is kept on disk and is constantly swapped back and forth into system memory. For instance, when your run a CD application.
Virtual memory is available to Macs with a 68030 and 68040 processors and those 68020's that were also equipped with the Motorola 68851 MMU (memory management units). The 68030 and 68040 processors have built in MMU function. Other CPU's cannot use virtual memory.
FURTHER MEMORY INFORMATION:
o MEMORY MODULES FOR SPECIFIC PROCESSORS/COMPUTERS
o The Computer Information Center: Many Links to keep informed about chips.
o "Installing Memory", The-Hand-Me-Down PC