Computer Organization and Functional Units of Digital System
Computer Organization and Functional Units of Digital System
A computer organization describes the functions and design of the various units of a digital
system. A general-purpose computer system is the best-known example of a digital system.
Other examples include telephone switching exchanges, digital voltmeters, digital counters,
electronic calculators and digital displays.
Computer architecture deals with the specification of the instruction set and the hardware units
that implement the instructions. Computer hardware consists of electronic circuits, displays,
magnetic and optic storage media and also the communication facilities.
Functional units are a part of a CPU that performs the operations and calculations called for by
the computer program. Functional units of a computer system are parts of the CPU (Central
Processing Unit) that performs the operations and calculations called for by the computer
program. A computer consists of five main components namely, Input unit, Central Processing
Unit, Memory unit Arithmetic & logical unit, Control unit and an Output unit.
Input unit
Input units are used by the computer to read the data. The most commonly used input devices are
keyboards, mouse, joysticks, trackballs, microphones, etc. However, the most well-known input
device is a keyboard. Whenever a key is pressed, the corresponding letter or digit is
automatically translated into its corresponding binary code and transmitted over a cable to either
the memory or the processor.
Central processing unit
Central processing unit commonly known as CPU can be referred as an electronic circuitry
within a computer that carries out the instructions given by a computer program by performing
the basic arithmetic, logical, control and input/output (I/O) operations specified by the
instructions.
Memory unit
The Memory unit can be referred to as the storage area in which programs are kept which are
running, and that contains data needed by the running programs.
The Memory unit can be categorized in two ways namely, primary memory and secondary
memory. It enables a processor to access running execution applications and services that are
temporarily stored in a specific memory location.
Primary storage is the fastest memory that operates at electronic speeds. Primary memory
contains a large number of semiconductor storage cells, capable of storing a bit of information.
The word length of a computer is between 16-64 bits.
It is also known as the volatile form of memory, means when the computer is shut down,
anything contained in RAM is lost.
Cache memory is also a kind of memory which is used to fetch the data very soon. They are
highly coupled with the processor.
The most common examples of primary memory are RAM and ROM.
Secondary memory is used when a large amount of data and programs have to be stored for a
long-term basis. It is also known as the Non-volatile memory form of memory, means the data is
stored permanently irrespective of shut down. The most common examples of secondary
memory are magnetic disks, magnetic tapes, and optical disks.
Arithmetic & logical unit
Most of all the arithmetic and logical operations of a computer are executed in the ALU
(Arithmetic and Logical Unit) of the processor. It performs arithmetic operations like addition,
subtraction, multiplication, division and also the logical operations like AND, OR, NOT
operations.
Control unit
The control unit is a component of a computer's central processing unit that coordinates the
operation of the processor. It tells the computer's memory, arithmetic/logic unit and input and
output devices how to respond to a program's instructions.
The control unit is also known as the nerve center of a computer system.
Output Unit
The primary function of the output unit is to send the processed results to the user. Output
devices display information in a way that the user can understand.
Output devices are pieces of equipment that are used to generate information or any other
response processed by the computer. These devices display information that has been held or
generated within a computer. The most common example of an output device is a monitor.
Basic Operational Concepts
The primary function of a computer system is to execute a program, sequence of instructions.
These instructions are stored in computer memory. These instructions are executed to process
data which are already loaded in the computer memory through some input devices. After
processing the data, the result is either stored in the memory for further reference, or it is sent to
the outside world through some output port.
To perform the execution of an instruction, in addition to the arithmetic logic unit, and control
unit, the processor contains a number of registers used for temporary storage of data and some
special function registers. The special function registers include program counters (PC),
instruction registers (IR), memory address registers (MAR) and memory data registers
(MDR). The Program counter is one of the most critical registers in CPU.
The Program counter monitors the execution of instructions. It keeps track on which instruction
is being executed and what the next instruction will be.
The instruction register IR is used to hold the instruction that is currently being executed. The
contents of IR are available to the control unit, which generate the timing signals that control, the
various processing elements involved in executing the instruction.
The two registers MAR and MDR are used to handle the data transfer between the main
memory and the processor.
The MAR holds the address of the main memory to or from which data is to be transferred.
The MDR contains the data to be written into or read from the addressed word of the main
memory.
Whenever the processor is asked to communicate with devices, we say that the processor is
servicing the devices. The processor can service these devices in one of the two ways.
One way is to use the polling routine, and the other way is to use an interrupt. Polling enables the
processor software to check each of the input and output devices frequently. During this check,
the processor tests to see if any devices need servicing or not. Interrupt method provides an
external asynchronous input that informs the processor that it should complete whatever
instruction that is currently being executed and fetch a new routine that will service the
requesting device.
Multiprocessor Systems
Most computer systems are single processor systems i.e they only have one processor. However,
multiprocessor or parallel systems are increasing in importance nowadays. These systems have
multiple processors working in parallel that share the computer clock, memory, bus, peripheral
devices etc. An image demonstrating the multiprocessor architecture is
−
Types of Multiprocessors
There are mainly two types of multiprocessors i.e. symmetric and asymmetric multiprocessors.
Details about them are as follows −
Symmetric Multiprocessors
In these types of systems, each processor contains a similar copy of the operating system and
they all communicate with each other. All the processors are in a peer to peer relationship i.e. no
master - slave relationship exists between them. An example of the symmetric multiprocessing
system is the Encore version of Unix for the Multimax Computer.
Asymmetric Multiprocessors
In asymmetric systems, each processor is given a predefined task. There is a master processor
that gives instruction to all the other processors. Asymmetric multiprocessor system contains a
master slave relationship. Asymmetric multiprocessor was the only type of multiprocessor
available before symmetric multiprocessors were created. Now also, this is the cheaper option.
Enhanced Throughput
If multiple processors are working in tandem, then the throughput of the system increases i.e.
number of processes getting executed per unit of time increase. If there are N processors then the
throughput increases by an amount just under N.
Multiprocessor systems are cheaper than single processor systems in the long run because they
share the data storage, peripheral devices, power supplies etc. If there are multiple processes that
share data, it is better to schedule them on multiprocessor systems with shared data than have
different computer systems with multiple copies of the data.
Increased Expense
Even though multiprocessor systems are cheaper in the long run than using multiple computer
systems, still they are quite expensive. It is much cheaper to buy a simple single processor
system than a multiprocessor system.
There are multiple processors in a multiprocessor system that share peripherals, memory etc. So,
it is much more complicated to schedule processes and impart resources to processes than in
single processor systems. Hence, a more complex and complicated operating system is required
in multiprocessor systems.
All the processors in the multiprocessor system share the memory. So a much larger pool of
memory is required as compared to single processor systems.