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 |
---|