0% found this document useful (0 votes)
5 views

Chapter 1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Chapter 1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

Unit 1

Introduction
Prerequisite
• Knowledge of digital logic design
• Number systems
Why COA
• Successful programmers are always concerned about their performance of the
programs, how quickly they give output.
• Earlier it was mainly about, effectively utilizing the memory→ minimize
memory space, make program run fast.
• Nowadays, programmers are more concerned about,
• Parallel or hierarchical processing,
• Energy efficiency
What to expect from this course??
• How programs written in a high-level language, such as C or Java, translated
into the language of the hardware, and how does the hardware execute the
resulting program?
• What is the interface between the software and the hardware, and how does
software instruct the hardware to perform needed functions?
• What determines the performance of a program, and how can a programmer
improve the performance?
• What techniques can be used by hardware designers to improve
performance?
• What techniques can be used by hardware designers to improve energy
efficiency?
• Why shift from sequential to parallel processing???
And many more…………………..
Computer Architecture Vs Computer
Organization
Designing
• Computer architecture :
• Deals with functional behavior of computer systems
• Design implementation for the various parts of computer
• Analogy: Architects making layout, floor plan etc. before raising a building
• Computer organization: Utilization
• Deals with structural relationship.
• Operational attributes are linked together and contribute to realize the
architectural specifications.
• Analogy: Choice of cement, bricks, iron rods for raising a building.
Computer Architecture Vs Computer
Organization (contd..,)

• I need a adder inside my system to be designed : Computer architecture


• That adder should be carry look ahead adder : Computer organization
Computer Architecture vs Computer Organization
Architecture Organization
Architecture describes what the computer does. The Organization describes how it does it.
Computer Architecture deals with the functional Computer Organization deals with a structural
behavior of computer systems. relationship.
Architecture indicates its hardware. Organization indicates its performance.

As a programmer, you can view architecture as a The implementation of the architecture is called
series of instructions, addressing modes, and organization.
registers.
For designing a computer, its architecture is fixed first. For designing a computer, an organization is decided
after its architecture.
Computer Architecture comprises logical functions Computer Organization consists of physical units like
such as instruction sets, registers, data types, and circuit designs, peripherals, and adders.
addressing modes.
Different architectures available
The different architectural categories found in our computer systems are as
follows:
1. Von-Neumann Architecture
2. Harvard Architecture
3. Instruction Set Architecture (ISA)
4. Micro-architecture
5. System Design

Find out what architecture is in your laptop????


Different organizations
CPU organization is classified into three categories based on the number of
address fields:
1. Organization of a single Accumulator.
2. Organization of general registers
3. Stack organization

Find out what organization is in your laptop????


Organization and
Architecture
8 Great Ideas in Computer Architecture

The following are eight great ideas that computer architects have invented in
the last 60 years of computer design.
1. Design for Moore’s Law
2. Use Abstraction to Simplify Design
3. Make the common case fast
4. Performance via parallelism
5. Performance via pipelining
6. Performance via prediction
7. Hierarchy of memories
8. Dependability via redundancy
Design for Moore’s Law
• “The Number of Transistors in a integrated circuit doubles
approximately every two years”. (Gordon Moore, one of the
founders of Intel.)

• As computer designs can take years, the resources available per chip
can easily double or quadruple between the start and finish of the
project.

• Computer architects must anticipate where the technology will be


when the design finishes rather than design for where it starts.
Use Abstraction to Simplify Design
• In computer architecture, a computer system is usually represented as
consisting of five abstraction levels:
1. Hardware ,
2. Firmware,
3. Assembler,
4. Operating system,
5. Processes.
• In computer science, an abstraction level is a generalization of a model or
algorithm.
• The simplification provided by a good abstraction layer facilitates easy
reuse.
• Both computer architects and programmers had to invent techniques to
make themselves more productive, for otherwise design time would
lengthen as dramatically as resources grew by Moore's Law.
Make the common case fast

• Making the common case fast will tend to enhance performance


better than optimizing the rare case.
• It implies that you know what the common case is, which is only
possible with careful experimentation and measurement
Performance via parallelism

• Computer architects have offered designs that get more performance


by performing operations in parallel.
• Parallel computing is a form of computation in which many
calculations are carried out simultaneously, operating on the principle
that large problems can often be divided into smaller ones which are
then solved concurrently ( “Parallel”).
Performance via pipelining
• Pipelining is a technique used in the design of computers to increase
the instruction throughput
• Throughput - The number of instructions that can be executed in a
unit of time.
• Pipelining increases instruction throughput by performing multiple
operations at the same time (in parallel), but does not reduce
instruction latency (the time to complete a single instruction from
start to finish) as it still must go through all steps.
Performance via prediction

• To improve the flow and throughput in a instruction pipeline, Branch


predictors play a critical role in achieving high effective performance in
many modern pipelined microprocessor architectures.
• Without branch prediction, the processor would have to wait until the
conditional jump instruction has passed the execute stage before the
next instruction can enter the fetch stage in the pipeline.
• The branch predictor attempts to avoid this waste of time by trying to
guess whether the conditional jump is most likely to be taken or not
taken.
Hierarchy of memories
• The cost of memory today is often the majority of computer cost
• Solution : Hierarchy of memories
• The fastest, smallest, and most expensive memory per bit at the top
of the hierarchy and
• The slowest, largest, and cheapest per bit at the bottom
Dependability via redundancy
• Computers not only need to be fast; they need to be dependable.
• Since any physical device can fail, we make systems dependable by
including redundant components that can take over when a failure
occurs and to help detect failures.
Computer architecture
Computer architecture - Category
• It is the design of computer, including their instruction set, hardware
component and system organization.

Computer
architecture

Hardware System
Instruction set
architecture
architecture (ISA)
(HSA)

deals with how machine language programs deals with logical design and data flow organization of sub
interacts with computer systems and hence determines the efficiency
Computer architecture (eg)
• To do the following operation x=2+3, many ISA possible

• Based on which ISA used, hardware will be chosen. This is HSA


• Eg: If is chosen, then hardware should have 2 registers and adder circuit
Computer architecture - Classification

Harvard
Non Von architecture
Neumann
architecture Modified
Computer
Harvard
architecture
Von Neumann architecture
architecture
Von Neumann architecture
• Stored program computer – Main memory system holds the program that controls
the computer operation.
• Carries out instruction sequentially.
Harvard architecture
Parallelism - Two
separate memory

Modified Harvard architecture

Cache memory
What does computer comprises of ?
• Generic computer is comprised of many functional units.
• Processor is one such functional unit.
What is inside a processor ?
• Also called central processing unit
• Consists of control unit and arithmetic logic unit (ALU).
• All calculations happens inside ALU.
• Control unit generates sequences of control signals to carry out all operations.
• The processor fetches instructions from memory for execution.
• It also specifies the data to be operated on.
• A program refers to the set of instructions that are required to carry
out some specific task.
Role of ALU
• Contains several registers, some general purpose and some special
purpose, for temporary storage of data.
• Contains circuitry to carry out arithmetic and logic operations.
• During instruction execution, data are brought in and stored in some
registers, the desired operations are carried out and result is stored
back in some register or memory.
Role of control unit

• Acts as a nerve center that senses the state of various functional units and
sends control signal to control their states.
• To carry out specific operations (R2+R3→R1), the control unit generates
control signal in a specific sequence.
• Enable the outputs of register R2 and R3.
• Select the addition operation.
• Store the output of the adder circuit into register R1.

When an instruction is fetched from memory, the operation (opcode) is decoded by


the control unit and the control signal is issued.

Instruction → ADD R1,R2 : Opcode→ ADD; Operands → R1,R2.


What is inside memory unit??

Memory unit

Primary or main Secondary


memory memory

✓ Stores active instructions and data ✓ Used as backup and stores all active
for the program being executed on and inactive programs and data
the processor typically files.

❑ The processor only has access to primary memory.


❑ Memory system is usually implemented as hierarchy of several levels.
• L1 Cache
• L2 Cache
• L3 Cache
• Primary memory
• Secondary memory
Types of memory
• Random access memory – used for cache and primary memory sub
system.
• Read only memory – primary memory to store some fixed data that
cannot be changed.
• Magnetic disk - used as secondary memory.
• Flash memory – faster and smaller in size compared to disk.
Input unit
• Used to feed data to computer system from external environment
• Common input devices
• Keyboard
• Mouse
• Joystick
• Camera
Output unit
• Used to send result of some computation to the outside world.
• Common output device
• LCD/LED screen
• Printer/plotter
• Speaker/Buzzer
• Projection system

You might also like