Resources of a Computer System

CPU - Central Processing Unit

Obviously the most important resource. Without the CPU there wouldn't be a digital computer.

The CPU consists of the following components:

 

 

The CPU's work flow can be described as follows :

The Instruction Fetch circuits (not shown in the above diagram) fetches the instruction to be executed from the memory. The address of this instruction is in the "Program Counter". This adress is put on the "address bus" and the fetch circuits access the RAM to get the contents of this address and puts the instruction onto "Data Bus". The contents of the "Data Bus" (that is the instruction) is loaded into the "Instruction Register" circuit. The "Instruction Decoder" circuit analyses the bits that make up the instruction and decides what has to be done to execute this instruction (addition/subtraction/a logic comparison etc). After the instruction is decoded, relevant Arithmetic or Logic circuits are activated to execute the instruction. After the execution of the instruction, the address of the next instruction to be executed is calculated and put into the "program counter" by the "sequence controller" circuits. The same cycle repeats for the new instruction address.

The general purpose registers are temporary data areas where data needed by instructions (if there are any) are stored.

"Cache Memory" is used to speed up instruction getch process. Statistically, 70 percent of "the next instruction to be executed" are the physicaly next instruction locate din the RAM. For this reason, when an instruction is to be fetched, a block of memory contents are fetched rather than fetching instructions one by one. This way, after the execution of an instruction, the chances that the next instruction eing in the cache memory is 70 percent. Since cache memories are much faster than regular RAM circuits, the CPU can run faster, using less time to fetch instructions. One question that may rise is "why don't they build whe whole RAM with cacme memory technology so that the computer runs much faster?". The answer is in "because cache memory is very expensive!".

 

RAM - Random Access Memory

On a Von Neumann architecture computer (all computers these days are of this architecture) requires that a program be loaded into RAM for the CPU to execute its instructions; together with the data to be operated on.

RAM is a collection of electronic circuits which can store data as long as there is electrical power to feed the circuits. When power is lost, RAM will clear its content. RAM is NOT suitable for long term storage of data; besides RAM capacities are very limited compared to storage capacities needed for even very small databases.

For long term storage, we now use magnetic (hard disks, floppies) or optical (CDs) storage media. Parts of the information stored on these media is loaded into the RAM, together with the program which uses these data and all operations on that data is performed when the data and program is in the memory (RAM).

As an example consider the following example:

A computer with 16 MBytes of RAM is to be used to search for the record of a person in a data collection of 200 MBytes on a CD. How can we load the 200 MBytes of data into a RAM of 16 Mbytes?

The answer can be shown schematically:

 

Secondary Storage Units (Disks, Floppies, CDs etc)

Long term storage devices are called "secondary storage" units. They can store information even when the power is lost at the device. The capacities of secondary storage units are usually much higher than RAM capacities.

The contents of these large capacity storage devices must be organized in a clever way so that they can be retrieved easily and quickly by the users and application programs. Secondary storage unit usually involves "file systems" which consists of directories (folders) on the unit and files under them. The directory-file structure makes it easier for users to find sets of data they need to access to do a certain task.

The file systems are special data structures stored on the media which maps human readable contents listings to physical cylinder/track/sector/head addresses.

Other Peripherals

Display Units (terminals, monitors), keyboard, mouse, printer, tape units, multimedia hardware and many other devices that are connected to the computer system are also resources. The operating system will manage these resources so that they can be shared among users effectively and accessed by the users easily. For example the operating system will queue the print requests it receives from the users or multiple requests from the same user and process them one after another. If the opsys does not queue the print requests and process them in order, the output on pages will be a mess.

Stored Information

Data and program files are also the resources of a computer system. The files which hold the account information of customers of a bank is certainly a resource which has to be shared among the users of the bank's computer system. The ATM equipment, the user terminals in the branch offices are the points where users generate requests to access this resource. The operating system is responsible to make the resource available to all these users.

Time

Time is a very important resource on a computer system. Time, as a resource, is the allocation of CPU to a certain task to execute the code it needs to execute.