0% found this document useful (0 votes)
23 views35 pages

Basics of Computer Architecture

Uploaded by

xabenig604
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views35 pages

Basics of Computer Architecture

Uploaded by

xabenig604
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Introduction to computer

Architechturre

Reference: Lyla B. Das, Embedded Systems: An Integrated Approach , Pearson


Recommended Books
1. Kai Hwang, Computer Architecture, TMH
2. Richard Y. Kain, Advanced computer architecture: a systems design, PHI
3. J.L. Hennessy, and D.A. Patterson, Computer Architecture: A quantitative
approach, Morgan Kaufman Publication ( 2012)
4. Quinn, “Parallel Programming in C with MPI and Open MP”, TMH
Classes of Computers
Computer
System Bus
System Bus
Processor

• The sequence of these instruction is called execution


cycle.
• Processor has two parts:
• ALU
• Control circuitry
System Clock
• All activities of the processor is synchronized with a clock
• A execution cycle may require many clock cycle.
Memory
Memory Read Cycle
Memory Write Cycle
IO subsystem
High Level Language
• The high-level languages are much closer to human language.
• A programming language such as C, FORTRAN or Pascal that ena
bles to write programs which is understandable to programmer (Hu
man) and can perform any sort of task.
• High level language must use interpreter, compiler or translator to c
onvert human understandable program to computer readable code (
machine code).
Examples:
COBOL Business applications
FORTRAN Engg & Scientific Applications
PASCAL General use and as a teaching tool
C & C++ General Purpose – currently most popular.
PROLOG Artificial Intelligence
JAVA General all purpose programming
.NET General or web applications.
Advantages of High over Low level language
• The main advantage of high-level languages over low-level languag
es is that they are easier to read, write and maintain.
• High-level languages make complex programming simpler.
• High level programming techniques are applicable everywhere even
where computational resources are limited.
• Error ratio is less in high level language and debugging (locate and
correct errors in program code ) is easier.
• Length of the program is also small compared with low level.
• Many real time problems can be easily solved with high level langu
age.
Assembly Language
• A computer low level language that deals with hardware registers by
name known as assembly language.
• Assembly language is the best example of low level language, this is
in between machine language and high-level language.
• A low-level language does not need a compiler or interpreter to run
the program, the processor run low-level code directly.
Assembly Language
• Assembly languages enable a programmer to use names instead of nu
mbers.
• Programmers still use assembly language when speed is essential or
when they need to perform an operation that isn't possible in a high-le
vel language.
• It uses mnemonic codes (short forms) for instructions and allows the
programmer to introduce names for blocks of memory that hold data.

Example:
mov edx, [esp+8]
cmp edx,
Machine language

• Machine code or machine language is a system of instructions and data exec


uted directly by a computer's CPU, The lowest-level programming language
that only be understood by computers.
• Computer language that is directly executable by a computer without the nee
d for translation by a compiler or an assembler.
• The native language of the computer, The set of symbolic instructions in
binary that is used to represent operations and data in a machine called mach
ine code
Program code converters
INTERPRETER: Interpreter can convert a source code , usually on a step-by-step, lin
e-by-line and unit-by-unit basis into machine code.

COMPILER: Compiler is a program that compile source code into executable instructi
ons that a computer can understand, it check the entire program for Syntax and sem
antic errors.

ASSEMBLER: Assembler normally converts assembly language’s source code into m


achine language.

TRANSLATOR: Translator is a computer program that translates one programming la


nguage instruction(s) into another programming language instruction(s)
Instruction Execution Cycle
Processor Memory Interaction
Processor Memory Interaction
Inside the CPU
Inside the CPU
Inside the CPU
FETCH the Instruction
FETCH the Instruction
DECODE the Instruction
EXECUTE the Instruction
Types of Processor Operations
Types of Processor Operations
Types of Processor Operations
Instruction Set Architecture
• Instruction vs Program vs software
• Opcode, Operand
• Classification of ISA
• Stack Architecture
• Accumulator architecture
• Register-Memory Architecture
• Register-Register/ Load-store architecture
Addressing Modes

You might also like