Memory is the storage place where data and instructions are stored. They can be retrieved from memory whenever required. Every computer comes with a certain amount of physical memory, usually referred to as Main Memory or RAM. You can think of main memory as an array of cells, each cell holding a single bit of information. this menas a computer with 1MB of memory can hold about 1 million bytes of information.
RAM(Random Access Memory)
It is a read/write (R/W)memory which is volatile. This means when power is turned off, all the contents are destroyed. This is memory that can be accessed randomly: that is, any byte of memory can be accessed without touching the preceding bytes. RAM is synonymous with main memory, the memory avaialble to programs. RAm is the most common type of memory found in computers and other devices such as printers. There are two basic types of RAM: Dynamic RAM (DRAM) and Static RAM(SRAM)
DRAM(Dynamic RAM) : Dynamic RAM is more common type. Dynamic RAM needs to be refreshed thousands of times per second. DRAM stores a bit of data using a transistor and capacitor pair, which together comprise a memory cell. The capacitor holds a high or low charge (1 or 0, respectively), and the transistor acts as a switch that lets the control circuitry on the chip read the capacitor's state of charge or change it. As this form of memory is less expensive to produce than static RAM, it is the predominant form of computer memory used in modern computers.
SRAM(StaticRAM) : Static RAM does not need to be refreshed, which makes it faster, but it is more expensive than dynamic RAM. In static RAM, a bit of data is stored using the state of a flip-flop. This form of RAM is more expensive to produce, but is generally faster and requires less power than DRAM and, in modern computers, is often used as cache memory for the CPU.
ROM (Read Only Memory)
ROM is non-volatile which menas it retains the stored information even if power is turned off. this memory is used to store programs that boot the computer and perform diagnostics. therefore, we can also call ROM as the read-only RAM.
ROM is of four types:
Masked ROM: In this ROM a bit pattern is permanently recorded by a marking and metalization process, which is an expensive and specialized one. Memory manufacturers are generally equipped to undertake this process.
PROM(Programmable ROM): A PROM is a memory chip on which data can be written onto only once. Once a program is written onto a PROM chip, it remains there forever. Unlike RAM, PROM retains its contents when the computer is turned off. The difference between a PROM and a ROM is that a PROM is manufactured as blank memory and programmed later with a special device called PROM programmer or the PROM burner, whereas the ROM is programmed during manufacturing process. the process of programming a PROM is sometimes called burning a PROM.
EPROM(Erasable Programmable ROM): An EPROM is a special type of PROM that can be erased by exposing it to ultraviolet light. Once erased, it can be reprogrammed. An EPROM is similar to a PROM except that it requires ultravilolet radiation to be erased.
EEPROM(Electrically Erasable Programmable ROM): EEPROM is a special type of PROM that can be erased by exposing it to an electrical charge. Like other types of PROM, EEPROM retains its contents even when the power is turned off. Also, like other types of ROM, EEPROM is not as fast as RAM. EEPROM is similar to Flash Memory (sometimes called flash EEPROM). the principal difference is that EEPROM requires data to be written or erased one byte at a time whereas flsh memory allows sata to be written or erased in blocks.
The speed of the CPU is extremely high as compared to the access time of main memory. the slowness of main memory inhibits the performance of CPU. To decrease the mismatch in operating speed, a small memory chip is attached between the CPU and the main memory, whose access time is close to the processing speed of the CPU. It is called cache memory. Cache memory is accessed more quickly than conventional RAM. It is used to store programs or data currently being executed or temporary data frequently used by the CPU.