Computer Organization &
Architecture
Mohona Ghosh
About the instructor …..
• B. Tech (May’10)
• Indira Gandhi Delhi Technological University for Women (IGDTUW), Delhi
• M. Tech (May’12)
• IIIT-Delhi
• PhD (Apr’16)
• IIIT-Delhi
• Postdoc (Apr’17)
• Nanyang Technological University (NTU), Singapore
• Email ID
• mohonaghosh@igdtuw.ac.in
About the course …..
In this course, we will learn about the basics of computer organization
• Functional components of a computer – CPU, memory hierarchy and I/O
• Central Processing Unit: Registers, ALU, Control Unit, datapath, CPU cycle
• Memory Subsytems: RAM , ROM, Cache memory, virtual memory, secondary
storage, hard disk, RAID
• I/O Subsystem: Access of I/O devices, I/O ports, Interrupts, bus interface, PCI,
SCSI, USB
• Instructions: Instruction representation and Format, Addressing Modes,
Instruction set Architecture: CISC and RISC
• Instruction Pipelining
About the course …..
What is a computer ?
• A fast electronic machine that accepts input, processes it according to
a list of internally stored instructions and produces the resulting
output information
• Basic Functions:
• Data processing: Numerical, logical, graphical etc.
• Data storage: Short-term (on the fly computation) and long term
• Data Movement: Move data between itself and the outside world through
input-output peripherals
• Control: Manage internally the computer’s resources and synchronize the
working of all the functional units
Basic components of a computer
Reference: Computer organization by
Hamacher, Vranesic and Zaky
Different types of computer
Gaming Consoles
Desktops, Laptops, Tablets
Small chips and RFID Servers and Super Computers
Embedded Computing
Different types of computer
- All of them have different
computer architecture and
computer organization
Gaming Consoles
Desktops, Laptops, Tablets
Small chips and RFID Small chips and RFID
Computer Architecture vs. Computer Organization
Computer Organization
• Focus on how the internal operational units are organized and will interact with each other to execute a
functionality
• Focus on hardware implementation details that are transparent to the programmer
Computer Architecture
• Set of rules and methods that describe the functionality, capabilities and programming model of
computer systems
• Refers to the design of the internal workings of a computer system
• Logical aspects of system implementation as seen by the programmer
• It deals with the functional behavior of computer systems. It comes before the computer organization
while designing a computer.
• E.g., Instruction set architecture (RISC, CISC etc.), no. of bits used for processing (X86 – 32 bit, X64 - 64 bits
or 8-bit microprocessor) , pipelined vs sequential architecture etc.
• Intel and AMD created the x86 processor. Apple, IBM, and Motorola created the PowerPC.
Computer Architecture vs. Computer Organization
• Computer architecture deals with 'What to do?’ Computer organization
deals with 'How to do?'
• E.g., Architectural decision – To have a multiplication functionality
Organizational decision – To implement a special multiply unit or
repeatedly use the add unit
• Two computers may have the same architecture but with differences in
organization
• Same program may execute with different speeds ( Intel i5 vs i7 vs i9)
• E.g., Solid state drive (SSD) vs. Hard disk drive (HDD)
• Computer Organization comes after the decision of Computer Architecture
first. Computer Organization is how operational attributes are linked
together and contribute to realizing the architectural specification.
Why Computer Organization & Architecture ?
• Computers are omnipresent
• Performance is the buzzword !!
• Performance
• Speed, Memory, Power, Cost, Time to Market
• Evaluate (benchmark) computer system performance
• Understand time, memory, space tradeoffs
• Optimization of program behaviour
• Design better programs such as compilers, operating systems and device drivers
• Make novel applications feasible
• Computers in automobiles
• Quantum computing
• IoT etc.
• If we don’t know the internal computer parts, what are their functions and
characteristics , how they interact etc. …. We will never be able to measure and
improve the above metrics
Basic functional units of a computer
Basic components of a computer
Bus
Connections
Reference: Computer Organization and Architecture by William Stallings
Input Unit
• Data must enter the system before any computation can be performed on
the supplied data
• Input unit links the external environment with the computer system
• Whenever some data is entered, the corr. input is automatically translated
into its corr. binary code and then transmitted over a cable to either the
memory or the processor
• Examples
• Keyboard
• Mouse
• Compact Disc
• Digital Versatile Disc
• Scanner etc.
Output Unit
• Counterpart of input unit
• Sends processed result to the outside world
• Just like in the input unit, output unit translates the internal results
that are in binary codes into human readable form before supplying
them to the external world
• Examples
• Monitor
• Printer
• Speaker
• Projector etc.
Basic components of a computer
Reference: Computer Organization and Architecture by William Stallings
Central Processing Unit
• Can be termed as the - “brain of the computer”
• Controls the operation of the computer and performs its data
processing functions
• Also termed as PROCESSOR
Central Processing Unit
3 major structural components:
• Arithmetic and Logic Unit (ALU) – Handles all the calculations that
CPU may need
• ALU routinely performs the following operations:
• Logical Operations: These include AND, OR, NOT, XOR, NOR, NAND, etc.
• Bit-Shifting Operations: This pertains to shifting the positions of the bits by a certain
number of places to the right or left
• Arithmetic Operations: This refers to bit addition, subtraction, multiplication and division
Central Processing Unit
3 major structural components:
• Registers
• High speed storage elements internal to CPU
• Whenever any computation needs to be done, the
required operands are fetched from the memory, the
processing is done in the ALU and the result is stored
back into memory
• When operands are brought into the processor, they
are stored in registers
• High speed means accessing data from registers is
the fastest, i.e., data access time is the lowest
• Registers are always used for temporary storage of
data
Central Processing Unit
3 major structural components:
• Control Unit – Nerve center of computer
• Generates timing and control signals to coordinate the operation of ALU,
memory and input output units
• E.g., timing signals determine when data transfer between the processor and
memory will take place
Memory Unit
• Memory unit is used to store the data
and program
• All the data to be processed and the
instructions required for processing
(received from input devices)
• Intermediate results required for ongoing
processing
• Final results of processing before these
results are released to an output device
• Two classes of storage:
• Primary - RAM, ROM, cache
• Secondary – Hard disk
Memory Unit
• Primary storage is also known as “main memory”
• Used to hold input data, intermediate results and recently produced
processing results on which the computer is correctly working on
• CPU works with the information stored in main memory
• Programs must be stored in main memory while they are being executed
• Primary storage operates at electronic speeds
• Can be classified as:
• Volatile: Loses data as soon as the device loses power, e.g., RAM
• Non Volatile: Contents are retained even if the device loses power, e.g., ROM
Memory Unit
• Secondary storage is also known as “auxiliary memory”
• Used to supplement the limited storage capacity and the volatile
characteristics of primary storage
• Much cheaper than primary storage and can retain information even
when the computer system is switched off or reset
• Used to hold data and programs on which computer is not currently
working on
• Examples: CD-ROM, DVD, Hard disk, Pen Drives etc.