The speed at which a PC operates is related to both hardware and software.
The hardware, in most cases, the main source of bottlenecks in the speed
at which a PC operates. Among other variables, the main components that
determine speed and efficiency are the microprocessor, the memory (RAM), and
the hard-disk speed. All of these are interconnected with a system component
called the 'bus'. The bus is a series of integrated wires on the system board
that carry data from one component to another. On modern PCs, the bus speed
has been increased to allow faster communications between faster components.
With older PCs, the system bus will not be a source of sluggish performance
due to the fact that all other components are significantly slower.
This paper is an attempt to explain how system components are tied together
and how each can affect the overall performance of the PCs operating speed.
The terms used to describe a computer's components are widely known although
not widely understood. The most commonly used terms are the microprocessor's
"speed", the amount of memory or RAM (expressed in MBs), and the size of the
non-volatile memory (hard-disk) which is not even related to the "speed" of
the hard-disk.
The Microprocessor
The microprocessor or "processor" is the device that does most of the
computations which gives computers their name ("compute"rs). All decisions
made by a computer are made in a numerical format. The speed at which
decisions are made are determined by the speed at which the microprocessor
operates (expressed in Mhz and Ghz). hz stands for hertz, the M stands for
Mega or millions. A hertz is a cycle per second. 1 Mhz is 1 million cycles
per second.
The speed of the microprocessor is important although it is often over
emphasized by the media (or Intel) and by people who are not familiar with
the collective process of computer hardware. You will often hear Apple users
mention how an Apple opperates faster at less Mhz than a PC, that is true.
To accurately measure the performance of a microprocessor, a procedure known
as benchmarking must be performed. Microprocessors are measured in other ways
such as bogomips, often seen on Unix systems (/proc).
Non-volatile Memory (Disk Drives)
Hard disks are non-volatile memory, that is, they do not need a constant
supply of power to hold the data stored on them. In fact, hard disks and
other removable media only need power to read and write data. There are
multiple forms of non-volatile memory such as: hard drives, floppy disks,
optical disks such as CDROMs, tapes, etc... All but the optical disks use
magnetic material to hold the information.
The hard disk can be a source of performance loss when the data being read
or written is excessive. Hard disks have two types of speed ratings, the
first is it's access time. Access time is the amount of time it takes a hard
disk to find the data inside (usually expressed in millionths of a second).
The second rating is how fast the disk or platter spins. This is related to
both how fast the data can be found and how fast the data can be streamed to
and from the system (read or written). The speed of the platter is expressed
in RPMs or rotations per minute.
Memory (RAM)
Random Access Memory (RAM) is where all working information is stored while
the processor is working with other data. RAM is also called volatile memory
because it only holds data when there is a constant supply of power. The data
held in RAM is in the form of electricity or voltage to be more exact. When
a computer is turned off, the power supply to the RAM chips is lost and all
voltage is drained, therefore, all data is also lost.
RAM is a common source of confusion for many people who don't understand how
a computer works and therefore, don't understand its real purpose. The
purpose of RAM is to store data for the processor in the form of electricity.
With a mult-tasking operating systems such as the Microsoft Windows family of
operating systems, you may have multiple applications running at the same
time. The operating system itself is an application, and all of the operating
environment information has to be held somewhere so that when the processor
needs to examine this information, it is readily available in a format in
which it can understand.
RAM is used because the processor needs information to be feed to it very
fast, which is not something non-volatile memory devices can do. Non-volatile
memory devices, using magnetic forms of data representation, feed their
information to RAM where the processor can directly access it. Since
processors are electronic devices, they need data represented electronically,
or in voltage, not in a magnetic alignment.
Virtual Memory
Virtual memory, also known as a "swap disk", is a file on the hard disk that
the operating system uses to store memory that cannot be fit into RAM. When
the RAM microchips run out of physical space but the computer needs to hold
more data in memory, the operating system writes information to the hard
disk in a 'RAM' format rather than a 'file' format. This process is called
"paging" because RAM holds data in a size which is specified as a page.
When RAM is full and the operating system needs to place data in the RAM, it
will first take some data out of the RAM and place it in the "swap file",
the virtual memory file, and the place the current data in the RAM space it
created by removing the other. Different operating systems have different
methods of keeping up with which data in RAM should be written to disk.
Operating systems keep track of when data was last used and how often it is
used and makes the decision based on this information. Most operating systems
use a variation of the FIFO (first in first out) process which is similar to
how the produce department at the grocery store puts the newer vegetables
behind the older so that the first in (the older) will be the first you grab
(first out).
Optimizing Hardware Resources
The process of optimizing or upgrading computers usually involves upgrading
one or a combination of the following components: the microprocessor, the
memory (RAM), and/or the hard disk. These components are all inter-related
where performance is concerned.
I am going to begin by explaining the inter-relation of volatile and
non-volatile memory (RAM and hard disks) on performance. If you have a PC
with 16 Mb of memory (which in todays standards is not much) and run a
high-end operating system such as Windows 9x, you will not have much memory
available for the applications you plan to run. Windows 9x, when started,
will consume a large portion of this memory for itself. As you start
applications on Windows 9x, what memory that is left will quickly fill. This
is where non-volatile memory becomes involved. If you started a resource
intensive application such as an Microsoft Office application, it will most
likely require more memory than will be available. At this point, Windows 9x
will take some of the memory it was using for itself in RAM and write it to
the hard drive to free up space for the Office application. It will most
likely take some area of memory which it no longer needs immediately and
write it in (not to) a specified file on the hard-disk. If it needs that
data written to the swap file again at some later point, it will swap out
another area of memory to the swap file, and move that memory back from the
swap file into RAM, and then access it.
In the above scenario, what is important to realize is that the swap file is
a specified file on the hard disk which holds data is RAM-like format. This
concludes that while you are waiting for the computer to do something, the
computer is having to read and write data from and to the hard disk. The
process of writing a file to a hard disk is not especially time consuming but
when is the last time you tried to read or write a 16 Mb file? Imagine that
a floppy disk is only 1.44 Mb. While of course the computer did not swap 16
Mbs of data, it may have swapped 512 Kbs. It first had to free 512 Kbs by
writing to disk, then read the needed data from the disk, another 512 Kbs.
That is 1024 Kbs of total data swapping, or 1 Mb. This is why having enough
RAM in a PC is important. If you ever find yourself waiting for the computer
to do something and notice a lot of disk activity, that is what is happening
and then you know that you need more RAM to run the application(s) you are
running more efficiently.
The processor is only an extreme concern when you are running computer aided
design (CAD) software, graphics software, or you are compiling a program.
While that is an extreme generalization, you don't want an old Intel 386
running 1 Gb of RAM and expect it to run extremely fast because I said that
the processor is only important for programers and graphic designers. The
processor is important for high-end programs making many decisions such as
graphics and engineering programs (mathematical). Microsoft Word does not
have to make many decisions as you type, although running a Macro might
require a few decisions from the processor. Word is quite memory intensive
though, it must put all those buttons in memory, and memorize the information
you are typing. Another environment where the processor may be used
intensively is on a server. A database server, when receiving a query from
a client, will have to search a database and make comparisons to see if the
data matches, a comparison is a decisions which requires the processor.
The hard disk is another source of a bottleneck, especially on a server. A
slow disk will slow down the entire system. On workstations or personal
computers, the speed of the hard disk should not be as big of a concern as
the size (which is why most people only know information about the size of
hard disks not the speed in RPMs or millionths of a second).
In conclusion, when buying or upgrading a computer, don't overlook RAM. RAM
is very important for overall efficiency on personal computers or
workstations. If you had to buy a new computer which could not be upgraded,
it would be better to get a 400 Mhz PC with 128 Mbs of RAM than a 800 GB
computer with only 48 Mbs of RAM. If however, both computers were upgradable
as most are, and they were the same price, I would choose the faster
processor and upgrade the RAM when I could afford it. Upgrading the processor
can be harder and sometimes requires a new motherboard (chipset) to
to work with the faster processor.