Computer's CPU contains necessary circuitry for data processing and controlling other components of the computer. However, one thing it does not have built into it the to store programs and data needed during data processing. The CPU contains several registers for storing data and instructions but they can store only a few bytes at a time. They are just sufficient to hold one two instructions with corresponding data. If instructions and data of an executing program were to reside in secondary storage like a disk, and fetched and loaded one by one into CPU registers as the program execution proceeded, this would load the CPU being idle most of the time. This is because there is a large speed mismatch between the rate at which CPU can process data and the rate at which the system can transfer data from disk to CPU registers.
For example, a CPU can process data at a rate of above 5 nanoseconds/byte and a disk reader can read data at a speed of about 5 microseconds/byte. Hence, within the time in which a disk can supply one byte of data a CPU can process 1000 bytes. This would lead to very poor overall performance even for a computer having a very fast CPU. To overcome this problem there is a need to have a reasonable large storage space that can hold instructions and the data of the program (s) on which CPU is currently working. The time to fetch and load data from this storage space into CPU registers must also be very small as compared to that form disk storage to reduce the speed mismatch problem with CPU speed. Every computer has such a storage space known as primary storage, main memory or simply memory.
Instructions and the data of the program reside mainly in this area when CPU is executing the program. Physically, this memory consist of some integrated circuit chips either on the motherboard or on a small circuit board attached to the motherboard of computer system. This built-in memory allows CPU restore and retrieve data very quickly. The rate of fetching data from this memory is the order of 50 nanoseconds per byte. Hence, the rate of data fetching from main memory is about 100 times faster than that form a high speed secondary storage like disk.
Storage Evolution Criteria :
Any storage unit of a computer system is characterized and evoluted based on following properties:
1. Storage capacity:
It the amount of data, which is storage unit can store. Larger storage capacity is desirable. As compared to secondary storage units, primary storage units have less storage capacity.
2. Access time:
It is the time required to locate and retrieve stored data from the storage unit in response to a program instruction. Faster access time is preferable. As compared to secondary storage units, primary storage units have faster access time.
3. Cost per bit of storage:
It refers to the cost of a storage unit for a given storage capacity. Lower cost is desirable. As compared to secondary storage units, primary storage units have higher cost per bit of storage.
4. Volatile:
If a storage unit can retain data stored in it even in case of power off or interruption of power, it is called non volatile storage. On the other hand, if a storage unit loses data stored in it in case of power off or interruption of power, it is called volatile storage. Obviously, non volatile storage is desirable. In almost all computer systems, primary storage units are volatile and secondary storage units are non volatile.
5. Random access:
If the time taken to access a peace of data from a storage unit is independent of the location of the data in the storage unit, it is called random access storage or random access memory (RAM). Each location of a RAM is as easy to access as any other locations and takes the same amount of time. In almost all computer systems primary storage units have random access property and secondary storage units have either pseudo random access ( access time is nearly same for all locations but not exactly same) or sequential access ( access time depends on the location of the data) property.
Comments
Post a Comment