44
Chapter 4. Physical and Virtual Memory
Very limited expansion capabilities (a change in CPU architecture would be required)
Expensive (more than one dollar/byte)
However, at the other end of the spectrum, off line backup storage is:
Very slow (access times may be measured in days, if the backup media must be shipped long
distances)
Very high capacity (10s   100s of gigabytes)
Essentially unlimited expansion capabilities (limited only by the floorspace needed to house the
backup media)
Very inexpensive (fractional cents/byte)
By using different technologies with different capabilities, it is possible to fine tune system design for
maximum performance at the lowest possible cost. The following sections explore each technology in
the spectrum.
4.2.1. CPU Registers
Every present day CPU design includes registers for a variety of purposes, from storing the address
of the currently executed instruction to more general purpose data storage and manipulation. CPU
registers run at the same speed as the rest of the CPU; otherwise, they would be a serious bottleneck
to overall system performance. The reason for this is that nearly all operations performed by the CPU
involve the registers in one way or another.
The number of CPU registers (and their uses) are strictly dependent on the architectural design of the
CPU itself. There is no way to change the number of CPU registers, short of migrating to a CPU with
a different architecture. For these reasons, the number of CPU registers can be considered a constant,
as they are unchangeable without great pain.
4.2.2. Cache Memory
The purpose of cache memory is to act as a buffer between the very limited, very high speed CPU
registers and the relatively slower and much larger main system memory   usually referred to as
RAM
1
. Cache memory has an operating speed similar to the CPU itself, so that when the CPU accesses
data in cache, the CPU is not kept waiting for the data.
Cache memory is configured such that, whenever data is to be read from RAM, the system hardware
first checks to see if the desired data is in cache. If the data is in cache, it is quickly retrieved, and
used by the CPU. However, if the data is not in cache, the data is read from RAM and, while being
transferred to the CPU, is also placed in cache (in case it will be needed again). From the perspective
of the CPU, all this is done transparently, so that the only difference between accessing data in cache
and accessing data in RAM is the amount of time it takes for the data to be returned.
In terms of storage capacity, cache is much smaller than RAM. Therefore, not every byte in RAM
can have its own location in cache. As such, it is necessary to split cache up into sections that can
be used to cache different areas of RAM, and to have a mechanism that allows each area of cache to
cache different areas of RAM at different times. However, given the sequential and localized nature
of storage access, a small amount of cache can effectively speed access to a large amount of RAM.
When writing data from the CPU, things get a bit more complicated. There are two different ap 
proaches that can be used. In both cases, the data is first written to cache. However, since the purpose
1. While "RAM" is an acronym for "Random Access Memory," and a term that could easily apply to any
storage technology that allowed the non sequential access of stored data, when system administrators talk about
RAM they invariably mean main system memory.






footer




 

 

 

 

 Home | About Us | Network | Services | Support | FAQ | Control Panel | Order Online | Sitemap | Contact

website hosting provider

 

Our partners: PHP: Hypertext Preprocessor Best Web Hosting Java Web Hosting Inexpensive Web Hosting  Jsp Web Hosting

Cheapest Web Hosting Jsp Hosting Cheap Hosting

Visionwebhosting.net Business web hosting division of Web Design Plus. All rights reserved