RAM
The first type of memory is ROM. ROM is Read-Only Memory which is a form of non-volatile memory, meaning it keeps its information even when there is no power. It is also read only, so you cannot write to it. It contains the setup program and POST (Power On Self Test) software.
RAM, or Random Access Memory, is a volatile type of memory which loses its information when power is not present. RAM is where your software and data is stored when your computer is on.
SRAM is an older type of memory, it stands for Static Random Access Memory. It is an older type of RAM and stores information using transistors.
DRAM, or Dynamic Random Access Information, stores information using capacitors.
PROM, Programmable Read Only Memory, this is a programmable type of ROM. It cannot be erased or changed once it is recorded.
EPROM, Erasable PROM, data can be erased using a UV light on a special window on the chip. This chip can be reprogrammed.
EEPROM, Electronically Erased PROM, can be erased using a special electrical charge. Chips can then be reprogrammed after erased. Most modern day BIOS's are stored in EEPROM.
VRAM is video RAM and is used on video cards.
Cache memory is memory used to cache CPU instructions. L1 is cache memory that is located on the CPU, L2 is cache memory outside of the CPU.
DIP, or Dual Inline Package, is an older type of RAM used mainly in older systems.
RAM
RAM is broken up into DOS memory "sections". The first 640K of memory is Conventional Memory, which is used to load DOS, run programs, and load drivers. DOS is loaded in the first 64K of memory.
Above 640K, but below 1024K is Upper Memory, also called Reserved Memory. 640KB - 768KB is Video Ram, 768KB - 960KB is for BIOS and RAM Buffers, and 960KB - 1024KB is Motherboard BIOS.
Above 1024K is Extended memory. High Memory Area (HMA) is the first 64K of extended memory. Extended memory is mainly used by Windows programs.
Expanded memory is sometimes used by DOS programs and is available up to 32 MB. It is swapped in 16 KB pages (addresses in pages of 16 KB).
In DOS, the MEM.EXE program allows you to determine how memory is being used by DOS. It has several switches, the important ones are highlighted here: /? the help switch, /C the classify switch - gives a report of how memory is used, /D the debug switch - details the first 640KB of memory, /F the free memory switch, shows all free memory blocks in the first 640KB of memory, /M (module) the module switch, shows the starting addresses of the data, program, and how much memory is allocated, and /P the pause switch, displays the output one page at a time.
To use upper memory, you need to make sure the upper memory device driver, EMM386.EXE is invoked in CONFIG.SYS and DOS=UMB is there also.
DOS=HIGH loads DOS into HMA.
Device=HIMEM.SYS is the extended memory device driver.
A Parity Error indicates a problem with RAM. Parity is a simple form of error checking and is used to check RAM.
A+ Certification Core Exam IRQs and DMAs Tutorial
IRQs (Interrupt Request Lines) and DMAs (Direct Memory Addresses) are an important portion to study as they comprise several questions on the exam. The best method I found was to make flash cards with each IRQ and what it belongs to. Here is a chart of the common IRQs and what they belong to:
|
Device |
|
|
0 |
Timer |
|
1 |
Keyboard |
|
2 |
Wired to IRQ 9 |
|
3 |
COM 2 (COM 4) |
|
4 |
COM 1 (COM 3) |
|
5 |
Available (often LPT2, sound cards, or network cards) |
|
6 |
Floppy Disk Controller |
|
7 |
LPT1 |
|
8 |
Clock |
|
9 |
Wired to IRQ 2 |
|
10 |
Unused |
|
11 |
Unused |
|
12 |
Mouse Port |
|
13 |
Coprocessor |
|
14 |
Hard Disk Controller |
|
15 |
Unused |
In most PCs, there are 8 DMA Channels. In most modern PCs, DMA shouldn't be used, it just slows it down, but older PCs may use DMA. Channels 4-7 are usually available, while Channel 0 is used to refresh DRAM, Channel 1 is used by a hard disk controller or sound card, and Channel 2 is usually the floppy disk controller.
Another important topic which should be memorized are the common I/O addresses, this table outlines those:
|
Address (Hex) |
Device |
|
00-0F |
DMA Controller |
|
20-21 |
Interrupt Controller |
|
40-43 |
Timer |
|
1F0-1F8 |
Hard Disk Controller |
|
200-20F |
Joystick Controller |
|
238-23B |
Bus Mouse |
|
278-27F |
LPT2 |
|
2E8-2EF |
COM4 Serial Port |
|
2F8-2FF |
COM2 Serial Port |
|
300-30F |
Ethernet Card |
|
330-33F |
MIDI Port |
|
378-37F |
LPT1 Port |
|
3E8-3EF |
COM3 Serial Port |
|
3F0-3F7 |
Floppy Disk Controller |
|
3F8-3FF |
COM1 Serial Port |
POST (Power On Self Test)
The Power On Self Test, or POST, automatically runs every time you turn on your computer. It tests several components of your computer:
The Processor - if the test fails on the CPU, the system stops, usually no error code
ROMs - POST checks the BIOS ROMs, problems usually cause the system to stop with no error code
DMA Controller - if any problems, the system stops
Interrupt Controller - any problems and the system gives an audible error message of one long beep, then a short beep, then the system stops
System timing chip - this chip provides timing signals for the bus and processor, this also gives a long beep and a short beep, then the system stops
Video Card - if this fails, there is a long beep, then two short beeps, then the system halts
RAM - an error here generates a 201: Memory Error message on the screen, any error beginning with 2 is a memory error
Keyboard - an error causes a 301 - Keyboard Failure error message on the screen, followed by a short beep, system may halt or may continue, some systems may ask you to press F1 to continue - which makes no sense
Floppy Drives - any problems cause a 601 - Floppy Disk error
Other devices - POST checks the other ports and parts of the computer, beeps, then continues. It also checks the Master Boot Record (MBR) on the hard drive, if it cannot find the MBR, it will freeze and not continue loading, otherwise it hands control over to the MBR (or DOS Boot Record - DBR - if it is booting from a floppy)
Error codes - the following table summarizes the error codes and what they mean:
|
Error Code |
Problem Description |
|
1xx |
System Board problem |
|
161 |
CMOS Battery Failure |
|
164 |
Memory System Size error |
|
2xx |
Memory related problem |
|
3xx |
Keyboard problem |
|
4xx |
Monochrome video problem |
|
5xx |
Color video problems |
|
6xx |
Floppy Disk problem |
|
17xx |
Hard disk problem |