The Computer System Hardware

By Suresh Chand

 Important Questions

The system which is a combination of hardware and software is called computer system. Computer system consists of input devices, processing devices, storage devices and output devices. Thus computer system is a collection of different components which are combined each other to get certain objective. In other words, it is defined as combination of input unit, central processing unit (CPU), output unit and other parts.

Basic Organization of computer System or PC or Digital Computer¬ | CSIT Guide

Fig: Basic Organization of computer System or PC or Digital Computer

Download Application: Complete CSIT Notes Application

PC Hardware

A typical hardware setup of PC consists of:

  • computer case with power supply
  • central processing unit (processor)
  • motherboard
  • memory card
  • hard disk
  • video card
  • visual display unit (monitor)
  • optical disc (usually DVD-ROM or DVD Writer)
  • keyboard and pointing device

PC Software

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system. The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software.

Software applications for word processing, Internet browsing, Internet faxing, e-mail and other digital messaging, multimedia playback, computer game play and computer programming are common. The user of a modern personal computer may have significant knowledge of the operating environment and application programs, but is not necessarily interested in programming nor even able to write programs for the computer.

Brief Descriptions of Computer System Components:

1. Hardware:

The physical components which can be seen, touched, feel are called hardware which are resources of a computer .

2. Software:

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system. The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software.

Software applications for word processing, Internet browsing, Internet faxing, e-mail and other digital messaging, multimedia playback, computer game play and computer programming are common. The user of a modern personal computer may have significant knowledge of the operating environment and application programs, but is not necessarily interested in programming nor even able to write programs for the computer.

CPU (central processing unit) or processor or Microprocessor

The processing unit which performs different types of mathematical and logical operations and which control all the devices connected with it is called central processing unit. The processor is also called Brain of computer system which is a special kind of Integrated Circuit(IC) and which may be programmed and applied to wide range of applications .The CPU is linked with different peripherals equipment ,including ,INPUT’OUTPUT devices and auxiliary storage and primary storage. The CPU is attached on the main circuit board, called the mother board in a micro computer. A central processing unit (CPU), or sometimes simply processor, is the component in a digital computer that interprets computer program instructions and processes data. CPUs provide the fundamental digital computer trait of programmability, and are one of the necessary components found in computers of any era, along with primary storage and input/output facilities. A CPU that is manufactured as a single integrated circuit is usually known as a microprocessor. The phrase “central processing unit” is a description of a certain class of logic machines that can execute computer programs

Function of CPU:

  1. To control the use of main storage to store data and instruction.
  2. To control the sequence of operations.
  3. To give commands to all parts of the computer system.
  4. To carry out processing.

Block Diagram of CPU:

Parts of CPU | CSIT Guide

Components of CPU:

1. The Arithmetic and Logic Unit(ALU)

-The arithmetic and logic unit or ALU  is another part of the central processing unit whose functions is to carry out arithmetic or logical operations .The arithmetic operations may be addition, subtraction, multiplication, division(+,-,×,÷ ) and Logical operations are comparisons operations such as logical test for less than, less than or equal to, greater than or equal to, not equal to, greater than, or equal to (<,≤, ≥, ≠, >,=) on integer(whole numbers) and real numbers(with decimal point) operand. This unit consist special temporary components register to store its result and at last send to memory.

2. Control Unit(CU)

-The control unit is a part of central processing unit of a computer that coordinated all the function of computer system. It is responsible for execution of instructions of program. Control unit acts as a central nervous system for the other components of the computer. It manages and coordinates the entire computer system, including the input and output units. It obtains instructions from the program stored in the main memory, interprets the instructions and issue signals, which cause other units of the system to execute them. It consists of special type of register to hold the current instruction and next instruction to be executed.

3. Memory Unit(MU)

-The unit which is used to store data, information, programs and its instruction either temporarily or permanently is called memory unit. But the CPU consists of special memory unit called Register.

Register

-Register are temporary storage locations in the CPU that are designed for storing data temporarily during the execution of program. In other words register are electronic devices made of transistor and which are fastest memory among all. Register quickly accept, store and transfer the data and instruction that are used immediately. To execute instruction, the control unit of the CPU retrieves it from main memory and places it into a register.

Note: The size and number of these registers determines the overall speed of the computer. Register are very fast compared than other memory devices.

 

The Central Processing Unit (CPU)

User Loaded Image | CSIT Guide

The computer does its primary work in a part of the machine we cannot see, a control center that converts data input to information output. This control center, called the central processing unit (CPU), is a highly complex, extensive set of electronic circuitry that executes stored program instructions. All computers, large and small, must have a central processing unit. As Figure 1 shows, the central processing unit consists of two parts: The control unit and the arithmetic/logic unit. Each part has a specific function.

Before we discuss the control unit and the arithmetic/logic unit in detail, we need to consider data storage and its relationship to the central processing unit. Computers use two types of storage: Primary storage and secondary storage. The CPU interacts closely with primary storage, or main memory, referring to it for both instructions and data. For this reason this part of the reading will discuss memory in the context of the central processing unit. Technically, however, memory is not part of the CPU.

Recall that a computer’s memory holds data only temporarily, at the time the computer is executing a program. Secondary storage holds permanent or semi-permanent data on some external magnetic or optical medium. The diskettes and CD-ROM disks that you have seen with personal computers are secondary storage devices, as are hard disks. Since the physical attributes of secondary storage devices determine the way data is organized on them, we will discuss secondary storage and data organization together in another part of our on-line readings.

Now let us consider the components of the central processing unit.

  • The Control UnitThe control unit of the CPU contains circuitry that uses electrical signals to direct the entire computer system to carry out, or execute, stored program instructions. Like an orchestra leader, the control unit does not execute program instructions; rather, it directs other parts of the system to do so. The control unit must communicate with both the arithmetic/logic unit and memory.
  • The Arithmetic/Logic UnitThe arithmetic/logic unit (ALU) contains the electronic circuitry that executes all arithmetic and logical operations.The arithmetic/logic unit can perform four kinds of arithmetic operations, or mathematical calculations: addition, subtraction, multiplication, and division. As its name implies, the arithmetic/logic unit also performs logical operations. A logical operation is usually a comparison. The unit can compare numbers, letters, or special characters. The computer can then take action based on the result of the comparison. This is a very important capability. It is by comparing that a computer is able to tell, for instance, whether there are unfilled seats on airplanes, whether charge- card customers have exceeded their credit limits, and whether one candidate for Congress has more votes than another.Logical operations can test for three conditions:
    • Equal-to condition.In a test for this condition, the arithmetic/logic unit compares two values to determine if they are equal. For example: If the number of tickets sold equals the number of seats in the auditorium, then the concert is declared sold out.
    • Less-than condition.To test for this condition, the computer compares values to determine if one is less than another. For example: If the number of speeding tickets on a driver’s record is less than three, then insurance rates are $425; otherwise, the rates are $500.
    • Greater-than condition.In this type of comparison, the computer determines if one value is greater than another. For example: If the hours a person worked this week are greater than 40, then multiply every extra hour by 1.5 times the usual hourly wage to compute overtime pay.

A computer can simultaneously test for more than one condition. In fact, a logic unit can usually discern six logical relationships: equal to, less than, greater than, less than or equal to, greater than or equal to, and not equal.

The symbols that let you define the type of comparison you want the computer to perform are called relational operators. The most common relational operators are the equal sign(=), the less-than symbol(<), and the greater-than symbol(>).

  • Registers: Temporary Storage Areas
    Registers are temporary storage areas for instructions or data. They are not a part of memory; rather they are special additional storage locations that offer the advantage of speed. Registers work under the direction of the control unit to accept, hold, and transfer instructions or data and perform arithmetic or logical comparisons at high speed. The control unit uses a data storage register the way a store owner uses a cash register-as a temporary, convenient place to store what is used in transactions.Computers usually assign special roles to certain registers, including these registers:

    • An accumulator, which collects the result of computations.
    • An address register, which keeps track of where a given instruction or piece of data is stored in memory. Each storage location in memory is identified by an address, just as each house on a street has an address.
    • A storage register, which temporarily holds data taken from or about to be sent to memory.
    • A general-purpose register, which is used for several functions.
  • Memory and Storage 
    Memory is also known as primary storage, primary memory, main storage, internal storage, main memory, and RAM (Random Access Memory); all these terms are used interchangeably by people in computer circles. Memory is the part of the computer that holds data and instructions for processing. Although closely associated with the central processing unit, memory is separate from it. Memory stores program instructions or data for only as long as the program they pertain to is in operation. Keeping these items in memory when the program is not running is not feasible for three reasons:

    • Most types of memory only store items while the computer is turned on; data is destroyed when the machine is turned off.
    • If more than one program is running at once (often the case on large computers and sometimes on small computers), a single program can not lay exclusive claim to memory.
    • There may not be room in memory to hold the processed data.

How do data and instructions get from an input device into memory?

The control unit sends them. Likewise, when the time is right, the control unit sends these items from memory to the arithmetic/logic unit, where an arithmetic operation or logical operation is performed. After being processed, the information is sent to memory, where it is hold until it is ready to he released to an output unit.

The chief characteristic of memory is that it allows very fast access to instructions and data, no matter where the items are within it. We will discuss the physical components of memory-memory chips-later in this chapter.

To see how registers, memory, and second storage all work together, let us use the analogy of making a salad. In our kitchen we have:

    • a refrigerator where we store our vegetables for the salad;
    • a counter where we place all of our veggies before putting them on the cutting board for chopping;
    • a cutting board on the counter where we chop the vegetables;
    • a recipe that details what veggies to chop;
    • the corners of the cutting board are kept free for partially chopped piles of veggies that we intend to chop more or to mix with other partially chopped veggies.
    • a bowl on the counter where we mix and store the salad;
    • space in the refrigerator to put the mixed salad after it is made.

The process of making the salad is then: bring the veggies from the fridge to the counter top; place some veggies on the chopping board according to the recipe; chop the veggies, possibly storing some partially chopped veggies temporarily on the corners of the cutting board; place all the veggies in the bowl to either put back in the fridge or put directly on the dinner table.

The refrigerator is the equivalent of secondary (disk) storage. It can store high volumes of veggies for long periods of time. The counter top is the equivalent of the computer’s motherboard – everything is done on the counter (inside the computer). The cutting board is the ALU – the work gets done there. The recipe is the control unit – it tells you what to do on the cutting board (ALU). Space on the counter top is the equivalent of RAM memory – all veggies must be brought from the fridge and placed on the counter top for fast access. Note that the counter top (RAM) is faster to access than the fridge (disk), but can not hold as much, and can not hold it for long periods of time. The corners of the cutting board where we temporarily store partially chopped veggies are equivalent to the registers. The corners of the cutting board are very fast to access for chopping, but can not hold much. The salad bowl is like a temporary register, it is for storing the salad waiting to take back to the fridge (putting data back on a disk) or for taking to the dinner table (outputting the data to an output device).

Now for a more technical example. let us look at how a payroll program uses all three types of storage. Suppose the program calculates the salary of an employee. The data representing the hours worked and the data for the rate of pay are ready in their respective registers. Other data related to the salary calculation-overtime hours, bonuses, deductions, and so forth-is waiting nearby in memory. The data for other employees is available in secondary storage. As the CPU finishes calculations about one employee, the data about the next employee is brought from secondary storage into memory and eventually into the registers.

The following table summarizes the characteristics of the various kinds of data storage in the storage hierarchy.

Storage Speed Capacity Relative Cost ($) Permanent?
Registers Fastest Lowest Highest No
RAM Very Fast Low/Moderate High No
Floppy Disk Very Slow Low Low Yes
Hard Disk Moderate Very High Very Low Yes

Modern computers are designed with this hierarchy due to the characteristics listed in the table. It has been the cheapest way to get the functionality. However, as RAM becomes cheaper, faster, and even permanent, we may see disks disappear as an internal storage device. Removable disks, like Zip disks or CDs (we describe these in detail in the online reading on storage devices) will probably remain in use longer as a means to physically transfer large volumes of data into the computer. However, even this use of disks will probably be supplanted by the Internet as the major (and eventually only) way of transferring data. Floppy disks drives are already disappearing: the new IMac Macintosh from Apple does not come with one. Within the next five years most new computer designs will only include floppy drives as an extra for people with old floppy disks that they must use.

For more detail on the computer’s memory hierarchy, see the How Stuff Works pages on computer memory.This is optional reading.

How the CPU Executes Program Instructions

Let us examine the way the central processing unit, in association with memory, executes a computer program. We will be looking at how just one instruction in the program is executed. In fact, most computers today can execute only one instruction at a time, though they execute it very quickly. Many personal computers can execute instructions in less than one-millionth of a second, whereas those speed demons known as supercomputers can execute instructions in less than one-billionth of a second.

User Loaded Image | CSIT GuideBefore an instruction can be executed, program instructions and data must be placed into memory from an input device or a secondary storage device (the process is further complicated by the fact that, as we noted earlier, the data will probably make a temporary stop in a register). As Figure 2 shows, once the necessary data and instruction are in memory, the central processing unit performs the following four steps for each instruction:

The control unit eventually directs memory to release the result to an output device or a secondary storage device. The combination of I-time and E-time is called the machine cycle. Figure 3 shows an instruction going through the machine cycle.

Each central processing unit has an internal clock that produces pulses at a fixed rate to synchronize all computer operations. A single machine-cycle instruction may be made up of a substantial number of sub-instructions, each of which must take at least one clock cycle. Each type of central processing unit is designed to understand a specific group of instructions called the instruction set. Just as there are many different languages that people understand, so each different type of CPU has an instruction set it understands. Therefore, one CPU-such as the one for a Compaq personal computer-cannot understand the instruction set from another CPU-say, for a Macintosh.

User Loaded Image | CSIT GuideIt is one thing to have instructions and data somewhere in memory and quite another for the control unit to be able to find them. How does it do this?

The location in memory for each instruction and each piece of data is identified by an address. That is, each location has an address number, like the mailboxes in front of an apartment house. And, like the mailboxes, the address numbers of the locations remain the same, but the contents (instructions and data) of the locations may change. That is, new instructions or new data may be placed in the locations when the old contents no longer need to be stored in memory. Unlike a mailbox, however, a memory location can hold only a fixed amount of data; an address can hold only a fixed number of bytes – often two bytes in a modern computer.

User Loaded Image | CSIT GuideFigure 4 shows how a program manipulates data in memory. A payroll program, for example, may give instructions to put the rate of pay in location 3 and the number of hours worked in location 6. To compute the employee’s salary, then, instructions tell the computer to multiply the data in location 3 by the data in location 6 and move the result to location 8. The choice of locations is arbitrary – any locations that are not already spoken for can be used. Programmers using programming languages, however, do not have to worry about the actual address numbers, because each data address is referred to by a name. The name is called a symbolic address. In this example, the symbolic address names are Rate, Hours, and Salary.The location in memory for each instruction and each piece of data is identified by an address. That is, each location has an address number, like the mailboxes in front of an apartment house. And, like the mailboxes, the address numbers of the locations remain the same, but the contents (instructions and data) of the locations may change. That is, new instructions or new data may be placed in the locations when the old contents no longer need to be stored in memory. Unlike a mailbox, however, a memory location can hold only a fixed amount of data; an address can hold only a fixed number of bytes – often two bytes in a modern computer.

Figure 0 shows the parts of a computer:

User Loaded Image | CSIT Guide

  • The Central Processing Unit:
    • (CPU),
    • Buses,
    • Ports and controllers,
    • ROM;
  • Main Memory (RAM);
  • Input Devices;
  • Output Devices;
  • Secondary Storage;
    • floppy disks,
    • hard disk,
    • CD-ROM

The instruction set, also called instruction set architecture (ISA), is part of a computer that pertains to programming, which is basically machine language. The instruction set provides commands to the processor, to tell it what it needs to do. The instruction set consists of addressing modes, instructions, native data types, registers, memory architecture, interrupt, and exception handling, and external I/O.This part of the reading will examine the CPU, Buses, Controllers, and Main Memory. Other sections will examine input devices, output devices, and secondary memory.

Examples of instruction set

  • ADD – Add two numbers together.
  • COMPARE – Compare numbers.
  • IN – Input information from a device, e.g. keyboard.
  • JUMP – Jump to designated RAM address.
  • JUMP IF – Conditional statement that jumps to a designated RAM address.
  • LOAD – Load information from RAM to the CPU.
  • OUT – Output information to device, e.g. monitor.
  • STORE – Store information to RAM.

 

Download Application: Complete CSIT Notes Application

Comparison between RISC and CISC:

The term RISC stands for ‘Reduced Instruction Set Computer’. It is a CPU design strategy based on simple instructions and fast performance.

RISC is small or reduced set of instructions. Here, each instruction is meant to achieve very small tasks. In a RISC machine, the instruction sets are simple and basic, which help in composing more complex instructions. Each instruction is of the same length; the instructions are strung together to get complex tasks done in a single operation. Most instructions are completed in one machine cycle. This pipelining is a key technique used to speed up RISC machines.

RISC is a microprocessor that is designed to carry out few instructions at the same time. Based on small instructions, these chips require fewer transistors, which make the transistors cheaper to design and produce. Some other features of RISC include:

The term CISC stands for ‘Complex Instruction Set Computer’. It is a CPU design strategy based on single instructions, which are capable of performing multi-step operations.

CISC computers have shorted programs. It has a large number of complex instructions, which takes long time to execute. Here, a single set of instruction is covered in multiple steps; each instruction set has more than three hundred separate instructions. Most instructions are completed in two to ten machine cycles. In CISC, instruction pipelining is not easily implemented.

The CISC machines have good performances, based on the simplification of program compilers; as the range of advanced instructions are easily available in one instruction set. They design complex instructions in one simple set of instructions. They perform low level operations such as an arithmetic operation, or a load from memory and memory store. CISC makes it easier to have large addressing nodes and more data types in the machine hardware. However, CISC is considered less efficient than RISC, because of it inefficiency to remove codes which leads to wasting of cycles. Also, microprocessor chips are difficult to understand and program for, because of the complexity of the hardware.

Comparison between RISC and CISC:

                  RISC CISC
Acronym It stands for ‘Reduced Instruction Set Computer’. It stands for ‘Complex Instruction Set Computer’.
Definition The RISC processors have a smaller set of instructions with few addressing nodes. The CISC processors have a larger set of instructions with many addressing nodes.
Memory unit It has no memory unit and uses a separate hardware to implement instructions. It has a memory unit to implement complex instructions.
Program It has a hard-wired unit of programming. It has a micro-programming unit.
Design It is a complex complier design. It is an easy complier design.
Calculations The calculations are faster and precise. The calculations are slow and precise.
Decoding Decoding of instructions is simple. Decoding of instructions is complex.
Time Execution time is very less. Execution time is very high.
External memory It does not require external memory for calculations. It requires external memory for calculations.
Pipelining Pipelining does function correctly. Pipelining does not function correctly.
Stalling Stalling is mostly reduced in processors. The processors often stall.
Code expansion Code expansion can be a problem. Code expansion is not a problem.
Disc space The space is saved. The space is wasted.
Applications Used in high end applications such as video processing, telecommunications and image processing. Used in low end applications such as security systems, home automations, etc.

 

Instruction Formats

One of the first lessons a beginner learns about computers is that in order to use a computer, a program must be written, translated into machine language, and loaded into memory; that such a program consists of machine instructions, and that a machine instruction is a binary number. In this chapter we look at the details of machine instructions, and in particular the fact that a machine instruction is rarely a single binary number. It normally consists of several numbers that are assembled (placed together) by the assembler, to become the fields of the complete instruction. As a result, any machine instruction has a certain format.

The instruction is divided into fields, each a binary number. A machine instruction must contain at least one field, namely the operation code (opcode), that tells the control unit what the instruction is supposed to do. Most instructions contain other fields specifying registers, memory addresses, immediate quantities, addressing modes, and other parameters. 

Figure 2.1: Various Instruction Formats

Figure 2.1 illustrates typical instruction formats. They range from the simplest to the very complex and they demonstrate the following properties of machine instructions: 

  • Instructions can have different sizes. The size depends on the number and nature of the individual fields.
  • The opcode can have different sizes. The opcode can also be broken up into a number of separate fields.
  • field containing an address is much larger than a register field. This is because number of registers is small, while size of memory is large.
  • Fields containing immediate operands (numbers used as data) can have different sizes. Experience shows that most data items used by programs are small. Thus, a well-designed instruction set should allow for both small and large data items, resulting in short instructions whenever possible.

The last point, about short instructions, is important and leads us to the next topic of discussion, namely the properties of a good instruction set. When a new computer is designed, one of the first features that has to be determined and fully specified is the instruction set. First, the instruction set has to be designed as a whole, then the designers decide what instructions should be included in the set. The general form of the instruction set depends on features such as the intended applications of the computer, the word size, address size, register set, memory organization, and bus organization. Instruction sets vary greatly, but a good design for an instruction set is based on a small number of principles that are independent of the particular computer in question. These principles demand that an instruction set should satisfy the following requirements:

  1. Short instructions.
  2. An instruction size that is both compatible with the word size, and variable.
  3. Short instructions: Why should machine instructions be short? Not because short instructions occupy less memory. Memory isn’t expensive and modern computers support large memories. Also, not because short instructions execute faster. The execution time of an instruction has nothing to do with its size. A “register divide” instruction, to divide the contents of two floating-point registers, is short, since it only has to specify the registers involved. It takes, however, a long time to execute. Therefore, short instructions are required because they take less time for memory access hence they have lesser fetch time.
  4. Instruction size: The instruction size should also be compatible with the computer’s word size. The best design results in instruction sizes of N, 2and 3where is the word size. Instruction sizes such as 1.2or 0.7do not make any sense, since each memory read brings in exactly one word. In a computer with long words, several instructions can be packed in one word and, as a result, instruction sizes of N/2, N/3, and N/4 also make sense.

The two requirements above are satisfied by the use of variable-size opcodes and addressing modes.

These are the two important requirements of having a good design for an instruction set. We discuss the opcode size next and addressing modes in the subsequent sections. 

The Opcode Size

If the instruction is to be short, individual fields in the instruction should be short. In this section we look at the opcode field. Obviously, the opcode cannot be too short or there would not be enough codes for all the instructions. An opcode size of 6–8 bits, allowing for 64–256 instructions, is common. Most modern computers, however, use variable size opcodes, for two good reasons. One reason has to do with the instruction size in relation to the word size, and the other has to do with future extensions of the instruction set.

The first reason is easy to understand. We want our instructions to be short, but some instructions have to contain more information than others and are naturally longer. If the opcode size varies, longer instructions can be assigned short opcodes. Other instructions, with short operands, can be assigned longer opcodes. This way the instruction size can be fine-tuned to fit in precisely or 2bits.

The second advantage of variable-size opcodes has to do with extensions to an original instruction set. When a computer becomes successful and sells well, the manufacturer may decide to come up with a new, extended, and upward compatible version of the original computer. The 68000, 80×86, and Pentium families are familiar examples.

Upward compatibility means that any program running on the original computer should also run on the new one. The instruction set of the new computer must therefore be an extension of the original instruction set. With variable-size opcodes, such an extension is easy.

When an instruction is fetched, the hardware does not know what its opcode is. It has to decode the instruction first. In a computer with variable-size opcodes, when an instruction is fetched, the control unit does not even know how long the opcode is. It has to start by identifying the opcode size, following which it can decode the instruction. Thus, with variable-size opcodes, the control unit has to work harder.

Instruction Cycle:

The time period during which one instruction is fetched from memory and executed when a computer is given an instruction in machine language. There are typically four stages of an instruction cycle that the CPUcarries out:

Fetch the instruction from memory. This step brings the instruction into the instruction register, a circuit that holds the instruction so that it can be decoded and executed.

Decode the instruction.

Read the effective address from memory if the instruction has an indirect address.

Execute the instruction.

Steps 1 and 2 are called the fetch cycle and are the same for each instruction. Steps 3 and 4 are called the execute cycle and will change with each instruction.

An instruction cycle (sometimes called a fetch–decode–execute cycle) is the basic operational process of a computer. It is the process by which a computer retrieves a program instruction from its memory, determines what actions the instruction dictates, and carries out those actions. This cycle is repeated continuously by a computer’s central processing unit (CPU), from boot-up to when the computer is shut down.

Important Questions
Comments
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments