Memory



RAM -- Random Access Memory
Memory in which one can place information or take out information. It's volatile memory in which everything within it is gone once you remove the plug. The more complicated RAM is, the more complicated the instructions. RAM consists of tiny capacitors that are either charged or uncharged. There are two kinds of RAM -- SRAM and DRAM. SRAM stands for static RAM and it doesn't lose its charge. Its more expensive and its technology is slower. DRAM is dynamic RAM which is leaky so the charged capacitor becomes uncharged very easily. In order to compensate, a refresh cycle checks the charge status every few seconds. During the refresh cycle, it can't get any information so it slows the memory response time.
DRAM vs SRAM
RAM stores information. DRAM: a capacitor that leaks its charge every other cycle. You constantly have to read and refresh in the cycle. This slows down the process of reading and writing. SRAM: Retains its charge (doesn't need to be refreshed). Its technology has much slower memory than DRAM. You use SRAM in the cache and in laptops (because you don't want to waste battery life - ideally 6 hours). Windows 98 introduces intelligent memory management (can tell the CPU to go to half speed). DRAM and SRAM can only do one thing at a time (read, write, and refresh) EDO allows more than one action at a time.
Parity: Even parity- If you add all the bits, you should get an even number, If one of the bits are flipped accidentally (probably faulty chips), it will no longer be an even number and close down. Today CPUs are more reliable and have less need for a parity chip.
ROM -- Read-only Memory
Basic information that the computer needs. It cannot be altered; it can only be read. It sits in upper memory.
Conventional Memory
Memory that lies below the 640k barrier.
Extended Memory
Memory that lies above the DOS 640k barrier.
Expanded Memory (Bank Switching)
Memory that's not physically accessable to the CPU, but it's made accessable because it keeps switching it from extended to conventional memory. When you need the information from extended memory you swap it with what's below the 640k barrier.
EMM -- Expanded Memory Manager
It's found in config.sys and it fools the computer into thinking it has more memory than it really does have.
High Memory vs. Low Memory
Memory is divided into high and low memory. When one loads high memory, the devices are being put into upper memory. Parts of DOS are in low memory and they are always there.
BIOS
Basic input output system -- It's typically placed on a ROM chip so that it'll always be available and won't get damaged by disk failures. It's the basic instructions that the computer uses to process input and output. The BIOS is built-in software that determines what a computer can do without accessing programs from a disk.
Real Mode vs. Protected Mode
In Real mode, the CPU doesn't dnow anything about what mode it's in. As far as the CPU's concerned, it's only doing one job at a time. Thus, the software has to manage it. The memory management has to be done by the software too otherwise things will be stored in the same place and the computer will crash. The address that's used in real mode it the real address. On the other hand, in protected mode, the CPU is responsible for allocating the memory adresses. When a request for memory is made, it assigns a specific address which is somewhere else. It translates the address into another adress. While the CPU manages the address space, the software still manages the memory allocation. Thus the CPU requires the software to make decisions.
Virtual Memory
The CPU creates a little IBM 370 for each application so every application asks the CPU for a separate "fake" CPU. Each computer sees its own CPU. The CPU is responsible for distributing the memory in this way.

CPU Address Space DOS UNIX Virtual Memory
  lines Physical Space    
8088 20 1 Megabyte 1 Mbyte 1 Mbyte 1 Mg
80286 24 16 Megabytes 1 Mbyte 16 Mbyte 1 Gigabyte
80386 32 4 Gigabytes 1 Mbyte 4 Gigabytes 64 Terrabytes
80486 Above these amounts it's irrelevant
80586 because the numbers are so high


Cache
Memory caching is important because most programs access the same data or instructions over and over. Instead of having to go to main memory each time in order to find the information needed, the information can be retrieved from the cache. The more times something is used, the more likely that it'll be in the cache.

Level 2 memory - The CPU looks in the cache first, if it's there (a hit) it can load at the speed of the bus. If it's not there (a miss), the CPU goes into memory and loads the program from memory along with the things around it. So when it comes back to the cache, it very likely that you will want the things that were loaded into the cache already. The bigger the cache, the more surrounding information that you can read in (but there may be too much irrelevant information). Today the max is a 512 cache. If you want more than 512, you lose speed. As CPUs get faster, the cache is not fast enough. The level 1 cache was introduced. Pentium built it into t he CPU with pipelines. While the CPU is communicating with the cache, the cache is guessing what the next instruction will be (prefetch). There's an instruction pipeline and a data pipeline.

Back to Menu