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.