Chapter 1
Chapter 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..,)
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
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
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
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
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.
Memory unit
✓ 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.