CSC 302: COMPUTER ARCHITECTURE AND ORGANIZATION II
ALU operation. ALU design: Integer/floating point data representations: Addition, multiplication and
division algorithms and implementation. Floating point processors; BCD arithmetic
1.0 Introduction
Computer Organization is concerned with the structure and behaviour of a computer system as
seen by the user. The behavior of a computer system refers to how it operates and responds to
user instructions. It encompasses the execution of instructions, data processing and the flow of
information between different components. It acts as the interface between hardware and
software.
Computer architecture is the study of designing computer systems. It includes the
Central Processing Unit (CPU), Instructions, Computer Memory and Storage, Input
and Output devices (I/O) and Network Components.
Also, Computer architecture refers to those attributes of a system visible to a programmer / user,
or put another way, those attributes that have a direct impact on the logical execution of a
program.
In the same vein, Computer organization refers to the operational units and their interconnection
that realize the architecture specification.
Examples of architecture attributes include the instruction set, the number of bit to represent
various data types (e.g.., numbers, and characters), I/O mechanisms, and technique for
addressing memory.
Examples of organization attributes include those hardware details transparent to the
programmer, such as control signals, interfaces between the computer and peripherals, and the
memory technology used.
As an example, it is an architectural design issue whether a computer will have a multiply
instruction. It is an organizational issue whether that instruction will be implemented by a special
multiply unit or by a mechanism that makes repeated use of the add unit of the system. The
organization decision may be bases on the anticipated frequency of use of the multiply
instruction, the relative speed of the two approaches, and the cost and physical size of a special
multiply unit.
Historically, and still today, the distinction between architecture and organization has been an
important one. Many computer manufacturers offer a family of computer model, all with the
same architecture but with differences in organization. Consequently, the different models in the
1
family have different price and performance characteristics. Furthermore, an architecture may
survive many years, but its organization changes with changing technology.
Difference between Computer Architecture and Computer Organization
S/No Computer Architecture Computer Organization
1 It explains what a computer should do Explains how the computer works
2 Actors in Computer architecture are Actors in Computer Organization is
hardware parts performance
3 Computer architecture (a bit higher level) Often called microarchitecture (low level)
4 Architecture is designed first It is started after finalizing computer
Architecture.
5 Programmer view (i.e. Programmer has to Transparent from programmer (ex. a
be aware of which instruction set used) programmer does not worry much how
addition is implemented in
hardware)
6 Logic (Instruction set, Addressing modes, Physical components (Circuit design,
Data types, Cache optimization) Adders, Signals, Peripherals
7 What to do? (Instruction set) How to do? (implementation of the
architecture)
2.0 Generations of a Computer
Generation in computer terminology is a change in technology a computer is/was being
used. Initially, the generation term was used to distinguish between varying hardware
technologies. But nowadays, generation includes both hardware and software, which
together make up an entire computer system.
There are totally five computer generations known till date. Each generation has been
discussed in detail along with their time period and characteristics. Here approximate dates
against each generations have been mentioned which are normally accepted. Following are the
main five generations of computers
First Generation The period of first generation: 1946-1959. Vacuum tube based
The main features of first generation are:
Vacuum tube technology
Unreliable
Supported machine language only
Very costly
Generated lot of heat
Slow input and output devices
Huge size
2
Need of A.C
Non-portable
Consumed lot of electricity
Some computers of this generation were:
ENIAC
EDVAC
UNIVAC
IBM-701
IBM-650
Second Generation The period of second generation: 1959-1965. Transistor based
The main features of second generation are:
Use of transistors
Reliable in comparison to first generation computers
Smaller size as compared to first generation computers
Generated less heat as compared to first generation computers
Consumed less electricity as compared to first generation computers
Faster than first generation computers
Still very costly
A.C. needed
Supported machine and assembly languages
Some computers of this generation were:
IBM 1620
IBM 7094
CDC 1604
CDC 3600
UNIVAC 1108
Third Generation The period of third generation: 1965-1971. Integrated Circuit based
The main features of third generation are:
IC used
More reliable in comparison to previous two generations
Smaller size
Generated less heat
Faster
Lesser maintenance
3
Still costly
A.C needed
Consumed lesser electricity
Supported high-level language
Some computers of this generation were:
IBM-360 series
Honeywell-6000 series
PDP(Personal Data Processor)
IBM-370/168
TDC-316
Fourth Generation The period of fourth generation: 1971-1980. VLSI (Very Large Scale
Integration) microprocessor based
The main features of fourth generation are:
VLSI technology used
Very cheap
Portable and reliable
Use of PC's
Very small size
Pipeline processing
No A.C. needed
Concept of internet was introduced
Great developments in the fields of networks
Computers became easily available
Some computers of this generation were:
DEC 10
STAR 1000
PDP 11
CRAY-1(Super Computer)
CRAY-X-MP(Super Computer)
Fifth Generation The period of fifth generation: 1980-onwards. ULSI (Ultra Large Scale
Integration microprocessor based
The main features of fifth generation are:
ULSI technology
Development of true artificial intelligence
Development of Natural language processing
4
Advancement in Parallel Processing
Advancement in Superconductor technology
More user friendly interfaces with multimedia features
Availability of very powerful and compact computers at cheaper rates
Some computer types of this generation are:
Desktop
Laptop
NoteBook
UltraBook
ChromeBook
3.0 Arithmetic logic unit (ALU):
Most of the computer operators are executed in ALU of the processor like addition,
subtraction, division, multiplication, etc. the operands are brought into the ALU from
memory and stored in high speed storage elements called register. Then according to the
instructions the operation is performed in the required sequence.
The control and the ALU are may times faster than other devices connected to a
computer system. This enables a single processor to control a number of external devices
such as key boards, displays, magnetic and optical disks, sensors and other mechanical
controllers.
3.1 ALU Operation:
An ALU performs basic arithmetic and logical operations. The arithmetic operations usually
implemented are addition, subtraction, multiplication, and division. Similarly, the logic
operations are NOT, AND, OR etc. are normally implemented. Along with the result, a set of
status flags are set which include Zero, Carry, Negative or overflow to indicate the status of the
result. The arrow symbols indicates more number of bits are available at inputs as well as output.
The ALU can handle integers of some data width, which decides the processing ability of the
processor. For example 8 bit ALU handles 8-bit data at the inputs. An ALU can be programmed
to perform any series of complex arithmetic or logical calculations. The computational capacity
of the ALU decides the power of the CPU of a computer.
3.2 ALU design:
An ALU is the fundamental unit of any computing system. Understanding how an ALU is
designed and how it works is essential to building any advanced logic circuits. Using this
knowledge and experience, we can move on to designing more complex integrated circuits.
5
1. A 1-Bit ALU:
3.3 Integer/floating point data representations: Addition, multiplication and division
algorithms and implementation. Floating point processors; BCD arithmetic