Primary storage is characterized by faster access time, less storage capacity and higher costs as compared to secondary storage units. Primary storage or main memory is that part of the computer system which stores the programs, data and intermediate results during the program execution.
A primary storage comes as an integral part of all computer systems. It comprises of a number of small locations. Each location has a unique number assigned to it. This is called as the address of the location and it is used to identify the location. Each location has a capacity to store a fixed number of bits. The number of bits that a location can store is called as word length. Each location contains the same number of bits.
Normally, primary memory size ranges from a few kilobytes on small computers to several thousand kilo bytes and megabytes on larger machines. The primary storage is volatile. Whenever the power is turned off the data is lost. Primary storage is also called Random Access Memory (RAM). RAM means it is possible to randomly select and use any storage location for storage and retrieval of data. RAM is also called a read/write memory because data can both be read from and written onto these units. When the power is switched off the data stored in the RAM is lost.
ROM is Read Only Memory. In this type of memory the data is permanently stored. The information can only be read and new data cannot be written onto this memory. However the contents of the ROM are not lost even when the power is turned off i.e. this memory is non-volatile. Such memories are also called as field stores, or permanent stores.
There are a number of high level functions which are required to be performed by the computer system. Such functions are performed by writing special programs called micro programs. Micro programs generally execute the low level machine functions. These programs are mainly used as a substitute for hardware. Such programs
can be stored on ROMs and be used again and again. This results in reducing the hardware of the system. ROM helps to increase the efficiency of the CPU as it can perform specialized tasks. ROM comes in the form of a chip. Once information is stored on a ROM chip it cannot be changed or altered.
PROM is Programmable Read Only Memory. These are ROMs which can be programmed. A special PROM programmer is used to enter the program on the PROM.
Once the chip has been programmed, information on the PROM cannot be altered. PROM is non volatile ie. data is not lost when power is switched off.
Another type of memory is the Erasable Programmable Read Only Memory.
It is possible to erase the data which has been previously stored on an EPROM and write new data onto the chip.
This is a very special type of high speed memory. This memory cannot be accessed by the user. The main function of this cache memory is to make the programs and data available to the CPU very fast.
Access time of memory is generally very high as compared to the execution time of the GPU. Therefore a cache, which is a very small but fast memory, is used between the CPU and the main memory. This memory also called a high speed buffer. A cache stores those segments of programs and data which are frequently needed. It makes available this data to the CPU at a very fast rate thus increasing the efficiency.
Registers are used to retain information temporarily. These are special memory units which are not actual parts of the main memory, but allow efficient movement of information between the various units of the computer system. The registers receive information, hold it temporarily and make it available as and when required.
A computer uses a number of registers, where each register performs a specific function. Some of the common registers are :
1. Memory Address Register(MAR): The function of this register is to hold the address of the current or active memory location.
2. Memory Buffer Register (MBR): This register holds the contents of the address from which data is read or to which data has been written.
3. Program Control Register : It holds the address of the next instruction to be executed. Accumulator Register: It holds the initial data, the intermediate results and the final data of the program under execution.
4. Instruction Register: This register holds the current instruction being executed. Input/output Register: The function of this register is to communicate with the Input/output devices.
The storage capacity of primary storage is limited. It is normally not sufficient to accommodate all the data. Therefore secondary storage medium is used to store large volumes of data. The cost of secondary memory is much less as compared to primary memory, however access time of primary memory is very fast. The data stored on secondary storage is transferred to the primary storage as and when required. Secondary storage is also called auxiliary memory. Secondary storage is used for storing copies of data and programs. This is a non volatile memory and is stored external to the computer.