SlideShare a Scribd company logo
An Introduction to
Microprocessors and
Microcontrollers
A little History
 What is a computer?
 A programmable electronic device that can store,
retrieve, and process data.
 A machine that manipulates data according to a list of
instructions.
 Classification of Computers (power and price)
 Personal computers
 Mainframes
 Supercomputers
 Dedicated controllers – Embedded controllers
Mainframes
 Massive amounts of memory
 Use large data words…64 bits or more
 Mostly used for military defense and large business
data processing
 Examples: IBM 4381, Honeywell DPS8
Personal Computers
 Any general-purpose computer
 intended to be operated directly by an end user
 Range from small microcomputers that work with 4-bit
words to PCs working with 32-bit words or more
 They contain a processor – known by different names:
 Microprocessor – built using Very-Large-Scale
Integration technology; the entire circuit is on a single
chip
 Central Processing Unit (CPU)
 Microprocessor Unit (MPU) – similar to CPU
http://en.wikipedia.org/wiki/Personal_computer
Supercomputers
 Fastest and most powerful mainframes
 Contain multiple processors (CPUs)
 Used for scientific applications, and number crunching
 Now have teraflops performance
 FLoating Point Operations Per Second (FLOPS)
 Examples of special-purpose supercomputers:
 Belle, Deep Blue, and Hydra, for playing chess
 Reconfigurable computing machines or parts of machines
 GRAPE, for astrophysics and molecular dynamics
 Deep Crack, for breaking the DES cipher
 MDGRAPE-3, for protein structure computation
http://en.wikipedia.org/wiki/Supercomputer
Embedded Systems
 An embedded system is a special-purpose computer
system designed to perform one or a few dedicated
functions often with real-time
 An integrated device which consists of multiple devices
 Microprocessor (MPU)
 Memory
 I/O (Input/Output) ports
 Often has its own dedicated software
A little about
Microprocessor-based
Systems ……
Evolution
 First came transistors
 Integrated circuits
 SSI (Small-Scale Integration) to ULSI
 Very Large Scale Integration circuits (VLSI)
 1- Microprocessors (MPU)
 Microcomputers (with CPU being a microprocessor)
 Components: Memory, CPU, Peripherals (I/O)
 Example: Personal computers
 2- Microcontroller (MCU)
 Microcomputers (with CPU being a microprocessor)
 Many special function peripheral are integrated on a single circuit
 Types: General Purpose or Embedded System (with special functionalities)
Microprocessor-Based Systems
• Central Processing Unit (CPU)
• Memory
• Input/Output (I/O) circuitry
• Buses
– Address bus
– Data bus
– Control bus
Microprocessor based system
Arithmetic
Logic
Unit
Register
Arrays
Control Unit
GP-
CPU
CLK Reg
MPU
CPU
Microprocessor-based System
Microprocessor-Based System with Buses:
Address, Data, and Control Signals
Microprocessor-based Systems
Microprocessor
 The microprocessor (MPU) is a computing and
logic device that executes binary instructions in a
sequence stored in memory.
 Characteristics:
 General purpose central processor unit (CPU)
 Binary
 Register-based
 Clock-driven
 Programmable
Microprocessor-based Systems
Microprocessor
 the “brains” of the computer
 its job is to fetch instructions, decode them, and then execute them
 8/16/32/etc –bit (how it moves the data
 contains:
ALU performs computing tasks – manipulates the data/ performs numerical and logical
computations
Registers are used for temp. storage
Control unit is used for timing and other controlling functions – contains a program
counter (next instruction’s address and status register)
System software: A group of programs that monitors the functions of the entire system
Evolution of CPUs
Transistors
 Vacuum Tubes: A devise to control,
modify, and amplify electric signals
 Then came transistors in 1947
 In 1960 Jack Kilby and Robert Noyce
designed the first integrated circuit (IC)
 Fairchild company manufactured logic
gates
Integrated Circuits
 Advances in
manufacturing allowed
packing more transistors
on a single chip
 Transistors and Integrated
Circuits from SSI (Small-
Scale Integration) to ULSI
 Birth of a microprocessor
and its revolutionary
impact
Microprocessors
 Noyce and Gordon Moore
started Intel
 Intel designed he first calculator
 Intel designed the first
programmable calculator
 Intel designed the first
microprocessor in 1971
 Model 4004
 4-bit; 2300 transistors, 640
bytes of memory, 108 KHz
clock speed
Microprocessor-based Systems
Memory
 Memory is a group of registers
 16 register – address: 0-15 – in binary: 0-
1111; Address lines: A0-A3
 Serves two major purposes
 storing the binary codes for the sequence of
instructions specified by programs (program)
 storing binary data that the computer needs
to execute instructions (data)
Memory Types
 R/W: Read/Write Memory; also called RAM
 It is volatile (losses information as power is removed)
 Write means the processor can store information
 Read means the processor can receive information from the
memory
 Acts like a Blackboard!
 ROM: Read-Only memory;
 It is typically non-volatile (permanent) – can be erasable
 It is similar to a Page from your textbook
Microprocessor-based Systems
Memory Classification
Expensive
Fast/
Cheap
Slow
Onetime programmable
Electronically Erasable
PROM
Microprocessor-based Systems
Memory Classification
Expensive
Fast/
Cheap
Slow
Onetime programmable
Electronically Erasable
PROM
Erasable ROMs
 Marked Programmed ROM
 Programmed by the manufacturer
 Programmable ROM (PROM)
 Can be programmed in the field via the programmer
 Erasable Programmable ROM (EPROM)
 Uses ultraviolet light to erase (through a quartz window)
 OTP refers to one-time programmable
 Electrically Erasable Programmable ROM (EEPROM)
 Each program location can be individually erased
 Expensive
 Requires programmer
 FLASH
 Can be programmed in-circuit (in-system)
 Easy to erase (no programmer)
 Only one section can be erased/written at a time (typically 64 bytes at a time)
Input/Output (I/O) Ports
 The way the computer communicates with the
outside world devices
 Peripherals are connected to I/O ports
 Peripherals are I/O devices
 Input devices
 Output devices
 Examples
 Printers and modems,
 keyboard and mouse
 scanner
 Universal Serial Bus (USB)
.
Microprocessor-based
Systems - BUS
 The three components – MPU, memory, and I/O – are connected by a
group of wires called the BUS
 Address bus
 consists of 16, 20, 24, or 32 parallel signal lines (wires) - unidirectional
 these lines contain the address of the memory location to read or written
 Control bus
 consists of 4 to 10 (or more) parallel signal lines
 CPU sends signals along these lines to memory and to I/O ports
 examples: Memory Read, Memory Write, I/O Read, I/O Write
 Data bus
 consists of 8,16, or 32 parallel signal lines
 bi-directional
 only one device at a time can have its outputs enabled,
 this requires the devices to have three-state output
Expanded Microprocessor-Based System
• Note the directions
of:
• address bus
• Data bus
• Control signals
• What is the width of
the:
• address bus?
• Data bus?
 What are Microcontrollers?
First Microcontrollers
 IBM started using 8042 and 8048 (8-bit
microcontroller) in printers
 Apple Macintosh used Motorola
 1980 Intel abandoned microcontroller business
 By 1989 Microchip was a major player in designing
microcontrollers
 PIC: Peripheral Interface Controller
Embedded controllers
 Used to control smart machines
 Examples: printers, auto braking systems
 Also called microcontrollers or microcontroller units
(MCU)
Embedded controllers
Software Characteristics
 No operating systems
 Execute a single program, tailored exactly to the
controller hardware
 Assembly language (vs. High-level language)
 Not transportable, machine specific
 Programmer need to know CPU architecture
 Speed
 Program size
 Uniqueness
Microcontroller Unit (MCU)
Block Diagram
 An integrated electronic computing and logic device that
includes three major components on a single chip
 Microprocessor
 Memory
 I/O ports
 Includes support devices
 Timers
 A/D converter
 Serial I/O
 Parallel Slave Port
 All components connected by common communication lines
called the system bus.
MCU Architecture
 RISC (Harvard)
 Reduced instruction set computer
 Simple operations
 Simple addressing modes
 Longer compiled program bust faster to execute
 Uses pipelining
 CISC (Von Neuman)
 Complex instruction set computer
 More complex instructions (closer to high-level
language support)
Main 8-bit Controllers
 Microchip
 RISC architecture (reduced instruction set computer)
 Has sold over 2 billion as of 2002
 Cost effective and rich in peripherals
 Motorola
 CISC architecture
 Has hundreds of instructions
 Examples: 68HC05, 68HC08, 68HC11
 Intel
 CISC architecture
 Has hundreds of instructions
 Examples: 8051, 8052
 Many difference manufacturers: Philips, Dallas/MAXIM Semiconductor, etc.
 Atmel
 RISC architecture (reduced instruction set computer) –
 Cost effective and rich in peripherals
 AVR
Numbering system
Data format
Memory operation
System Software
(hardware/Software)
Example of a microprocessor /
microcontroller based
Let’s continue…..
Memory
 A semiconductor storage
device consisting of
registers that store
binary bits
 Two major categories
 Read/Write Memory
(R/WM)
 Read-only-Memory
(ROM)
Symbolic Representation of Memory Contents
 Addresses Registers
CODE:
READ PORT A
WRITE PORT B
STOP
What is the address bus value?
PORT A = 8000H
PORT B = 8001H
Fetch / Decode /
Execute
Software:
From Machine to High-Level Languages (1 of 3)
 Machine Language: binary instructions
 All programs are converted into the machine language
of a processor for execution
 Difficult to decipher and write
 Prone to cause many errors in writing
Machine Language
Assembly Language
High-level Language
Software: From Machine
to High-Level Languages (2 of 3)
 Assembly Language: machine instructions represented
in mnemonics
 Has one-to-one correspondence with machine
instructions
 Efficient in execution and use of memory; machine-
specific and not easy to troubleshoot
Machine Language
Assembly Language
High-level Language
Software: From Machine
to High-Level Languages (3 of 3)
 High-Level Languages (such as BASIC, C, and C++)
 Written in statements of spoken languages (such as
English)
 machine independent
 easy to write and troubleshoot
 requires large memory and less efficient in execution
Machine Language
Assembly Language
High-level Language
Data Format (8-bit) (1 of 4)
 Unsigned Integers: All eight bits (Bit0 to Bit7)
represent the magnitude of a number
 Range 0 to FF in Hex and 0 to 255 in decimal
Signed
Unsigned
Data Format (8-bit) (2 of 4)
 Signed Integers: Seven bits (Bit0 to Bit6)
represent the magnitude of a number.
 The eighth bit (Bit7) represents the sign of a
number. The number is positive when Bit7 is
zero and negative when Bit7 is one.
 Positive numbers: 0 to 7F (0 to 127)
 Negative numbers: 80 to FF (-1 to -128)
 All negative numbers are represented in 2’s
complement
Signed
Unsigned
Data Format (8-bit) (3 of 4)
 Binary Coded Decimal Numbers (BCD)
 8 bits of a number divided into groups of four, and each
group represents a decimal digit from 0 to 9
 Four-bit combinations from A through F in Hex are
invalid in BCD numbers
 Example: 0010 0101 represents the binary coding of the
decimal number 25d which is different in value from 25H.
Data Format (8-bit) (4 of 4)
 American Standard Code for Information Interchange
(ASCII)
 Seven-bit alphanumeric code with 128 combinations (00
to 7F)
 Represents English alphabet, decimal digits from 0 to 9,
symbols, and commands
Storing Bits in Memory
 We can store in different
memory types
 EEPROM, FLASH, RAM, etc.
 In an 8-bit RAM
 Each byte is stored in a single
memory register
 Each word is stored in two
memory locations (registers)
 DATA 0x1234
 0x12REG11 (High-order byte)
 0001 0010
 0x34REG10 (Low-order byte)
 0011 0100
What if we want to store -8?
Remember -8111 1000 (in two’s complement)
Design Examples …..
Microcontrollers vs. Microprocessors
MPU-Based Time
and Temperature System
MCU-Based Time
and Temperature System
References
 Read about microcontrollers:
http://www.mikroe.com/en/books/picbook/2_01chapter.htm
 Lots of good information exist on Wikipedia about microcontrollers
http://en.wikipedia.org/wiki/
 History of transistors:
http://inventors.about.com/library/weekly/aa061698.htm
 Nice transistor timeline by Intel:
http://www.intel.com/technology/timeline.pdf
 I used a few slides from here:
http://www.ceng.metu.edu.tr/courses/ceng336/_documents/introduct
ion.pdf

More Related Content

What's hot

Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systems
RAMPRAKASHT1
 
8-bit PIC Microcontrollers
8-bit PIC Microcontrollers8-bit PIC Microcontrollers
8-bit PIC Microcontrollers
Premier Farnell
 
Image Texture Analysis
Image Texture AnalysisImage Texture Analysis
Image Texture Analysis
lalitxp
 
ARM Introduction
ARM IntroductionARM Introduction
ARM Introduction
Ramasubbu .P
 
Mechanical translational rotational systems and electrical analogous circuit...
Mechanical translational  rotational systems and electrical analogous circuit...Mechanical translational  rotational systems and electrical analogous circuit...
Mechanical translational rotational systems and electrical analogous circuit...
SatheeshCS2
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
Navin Kumar
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ahmed El-Arabawy
 
Lecture 1 ME 176 1 Introduction
Lecture 1 ME 176 1 IntroductionLecture 1 ME 176 1 Introduction
Lecture 1 ME 176 1 Introduction
Leonides De Ocampo
 
Atmega 328p
Atmega 328p Atmega 328p
Atmega 328p
Mrunal Deshkar
 
Biological Control Systems - Short Questions and Answers - Mathankumar.S (VM...
Biological Control Systems - Short Questions and Answers  - Mathankumar.S (VM...Biological Control Systems - Short Questions and Answers  - Mathankumar.S (VM...
Biological Control Systems - Short Questions and Answers - Mathankumar.S (VM...
Mathankumar S
 
2 bit alu
2 bit alu2 bit alu
2 bit alu
Mahmudul Hasan
 
Heart beat monitor using AT89S52 microcontroller
Heart beat monitor using AT89S52 microcontrollerHeart beat monitor using AT89S52 microcontroller
Heart beat monitor using AT89S52 microcontroller
Sushil Mishra
 
Image processing fundamentals
Image processing fundamentalsImage processing fundamentals
Image processing fundamentals
A B Shinde
 
Machine vision systems ppt
Machine vision systems pptMachine vision systems ppt
Machine vision systems ppt
Akash Maurya
 
Mems optical switches
Mems optical switchesMems optical switches
Mems optical switches
Mohd Nazir Shakeel
 
fundamentals of machine vision system
fundamentals of machine vision systemfundamentals of machine vision system
fundamentals of machine vision system
shalet kochumuttath Shaji
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
Mathivanan Natarajan
 
Unit II Arm 7 Introduction
Unit II Arm 7 IntroductionUnit II Arm 7 Introduction
Unit II Arm 7 Introduction
Dr. Pankaj Zope
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control
Anuj Modi
 
Pic16cxx instruction set
Pic16cxx instruction setPic16cxx instruction set
Pic16cxx instruction set
v Kalairajan
 

What's hot (20)

Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systems
 
8-bit PIC Microcontrollers
8-bit PIC Microcontrollers8-bit PIC Microcontrollers
8-bit PIC Microcontrollers
 
Image Texture Analysis
Image Texture AnalysisImage Texture Analysis
Image Texture Analysis
 
ARM Introduction
ARM IntroductionARM Introduction
ARM Introduction
 
Mechanical translational rotational systems and electrical analogous circuit...
Mechanical translational  rotational systems and electrical analogous circuit...Mechanical translational  rotational systems and electrical analogous circuit...
Mechanical translational rotational systems and electrical analogous circuit...
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
 
Lecture 1 ME 176 1 Introduction
Lecture 1 ME 176 1 IntroductionLecture 1 ME 176 1 Introduction
Lecture 1 ME 176 1 Introduction
 
Atmega 328p
Atmega 328p Atmega 328p
Atmega 328p
 
Biological Control Systems - Short Questions and Answers - Mathankumar.S (VM...
Biological Control Systems - Short Questions and Answers  - Mathankumar.S (VM...Biological Control Systems - Short Questions and Answers  - Mathankumar.S (VM...
Biological Control Systems - Short Questions and Answers - Mathankumar.S (VM...
 
2 bit alu
2 bit alu2 bit alu
2 bit alu
 
Heart beat monitor using AT89S52 microcontroller
Heart beat monitor using AT89S52 microcontrollerHeart beat monitor using AT89S52 microcontroller
Heart beat monitor using AT89S52 microcontroller
 
Image processing fundamentals
Image processing fundamentalsImage processing fundamentals
Image processing fundamentals
 
Machine vision systems ppt
Machine vision systems pptMachine vision systems ppt
Machine vision systems ppt
 
Mems optical switches
Mems optical switchesMems optical switches
Mems optical switches
 
fundamentals of machine vision system
fundamentals of machine vision systemfundamentals of machine vision system
fundamentals of machine vision system
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
Unit II Arm 7 Introduction
Unit II Arm 7 IntroductionUnit II Arm 7 Introduction
Unit II Arm 7 Introduction
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control
 
Pic16cxx instruction set
Pic16cxx instruction setPic16cxx instruction set
Pic16cxx instruction set
 

Similar to Microprocessor Based Systems.ppt

Chapter_2_Embedded Systems Design_introduction_ARM.pdf
Chapter_2_Embedded Systems Design_introduction_ARM.pdfChapter_2_Embedded Systems Design_introduction_ARM.pdf
Chapter_2_Embedded Systems Design_introduction_ARM.pdf
EngrNoumanMemon
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
Embeddedbvp
 
Unit 1. introduction
Unit 1. introductionUnit 1. introduction
Unit 1. introduction
Kiran Bagale
 
4CS3-MPI-Unit-1.pptx
4CS3-MPI-Unit-1.pptx4CS3-MPI-Unit-1.pptx
4CS3-MPI-Unit-1.pptx
Lofi19
 
microprocessor architecture
microprocessor architecture microprocessor architecture
microprocessor architecture
Nadeem Hilal Wani
 
Micro controller
Micro controllerMicro controller
Micro controller
Devi Prasad
 
Micro controller and dsp processor
Micro controller and dsp processorMicro controller and dsp processor
Micro controller and dsp processor
ShubhamMishra485
 
Microprocessor note
Microprocessor noteMicroprocessor note
Microprocessor note
alokbhatta
 
I. Introduction to Microprocessor System.ppt
I. Introduction to Microprocessor System.pptI. Introduction to Microprocessor System.ppt
I. Introduction to Microprocessor System.ppt
HAriesOa1
 
Coa module1
Coa module1Coa module1
Coa module1
cs19club
 
coa-module1-170527034116.pdf
coa-module1-170527034116.pdfcoa-module1-170527034116.pdf
coa-module1-170527034116.pdf
SnehithaKurimelli
 
Free Hardware & Networking Slides by ITE Infotech Private Limited
Free Hardware & Networking Slides by ITE Infotech Private LimitedFree Hardware & Networking Slides by ITE Infotech Private Limited
Free Hardware & Networking Slides by ITE Infotech Private Limited
Hemraj Singh Chouhan
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
MAHMOOD ilahi
 
MICROPROCESSOR VS MICROCONTROLLER
MICROPROCESSOR VS MICROCONTROLLERMICROPROCESSOR VS MICROCONTROLLER
MICROPROCESSOR VS MICROCONTROLLER
AshutoshTiwari292
 
1. Introduction to Microprocessor.pptx
1. Introduction to Microprocessor.pptx1. Introduction to Microprocessor.pptx
1. Introduction to Microprocessor.pptx
ISMT College
 
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.ppt
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.pptINTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.ppt
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.ppt
MozammelHaque53
 
125252.ppt
125252.ppt125252.ppt
125252.ppt
divlee1
 
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdfmicroprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
MECHANICALENGINEERIN19
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
Khalid Elmeadawy
 
Microprocessor & microcontroller
Microprocessor & microcontroller Microprocessor & microcontroller
Microprocessor & microcontroller
Nitesh Kumar
 

Similar to Microprocessor Based Systems.ppt (20)

Chapter_2_Embedded Systems Design_introduction_ARM.pdf
Chapter_2_Embedded Systems Design_introduction_ARM.pdfChapter_2_Embedded Systems Design_introduction_ARM.pdf
Chapter_2_Embedded Systems Design_introduction_ARM.pdf
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
Unit 1. introduction
Unit 1. introductionUnit 1. introduction
Unit 1. introduction
 
4CS3-MPI-Unit-1.pptx
4CS3-MPI-Unit-1.pptx4CS3-MPI-Unit-1.pptx
4CS3-MPI-Unit-1.pptx
 
microprocessor architecture
microprocessor architecture microprocessor architecture
microprocessor architecture
 
Micro controller
Micro controllerMicro controller
Micro controller
 
Micro controller and dsp processor
Micro controller and dsp processorMicro controller and dsp processor
Micro controller and dsp processor
 
Microprocessor note
Microprocessor noteMicroprocessor note
Microprocessor note
 
I. Introduction to Microprocessor System.ppt
I. Introduction to Microprocessor System.pptI. Introduction to Microprocessor System.ppt
I. Introduction to Microprocessor System.ppt
 
Coa module1
Coa module1Coa module1
Coa module1
 
coa-module1-170527034116.pdf
coa-module1-170527034116.pdfcoa-module1-170527034116.pdf
coa-module1-170527034116.pdf
 
Free Hardware & Networking Slides by ITE Infotech Private Limited
Free Hardware & Networking Slides by ITE Infotech Private LimitedFree Hardware & Networking Slides by ITE Infotech Private Limited
Free Hardware & Networking Slides by ITE Infotech Private Limited
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
MICROPROCESSOR VS MICROCONTROLLER
MICROPROCESSOR VS MICROCONTROLLERMICROPROCESSOR VS MICROCONTROLLER
MICROPROCESSOR VS MICROCONTROLLER
 
1. Introduction to Microprocessor.pptx
1. Introduction to Microprocessor.pptx1. Introduction to Microprocessor.pptx
1. Introduction to Microprocessor.pptx
 
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.ppt
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.pptINTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.ppt
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.ppt
 
125252.ppt
125252.ppt125252.ppt
125252.ppt
 
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdfmicroprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
 
Microprocessor & microcontroller
Microprocessor & microcontroller Microprocessor & microcontroller
Microprocessor & microcontroller
 

More from TALHARIAZ46

Microprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.pptMicroprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.ppt
TALHARIAZ46
 
Introduction to Microprocessor .ppt
Introduction to Microprocessor .pptIntroduction to Microprocessor .ppt
Introduction to Microprocessor .ppt
TALHARIAZ46
 
Microbial-Food-Safety.pptx
Microbial-Food-Safety.pptxMicrobial-Food-Safety.pptx
Microbial-Food-Safety.pptx
TALHARIAZ46
 
Industrial Control System.pptx
Industrial Control System.pptxIndustrial Control System.pptx
Industrial Control System.pptx
TALHARIAZ46
 
Industrial Control System.pptx
Industrial Control System.pptxIndustrial Control System.pptx
Industrial Control System.pptx
TALHARIAZ46
 
Food Safety Presentation.pptx
Food Safety Presentation.pptxFood Safety Presentation.pptx
Food Safety Presentation.pptx
TALHARIAZ46
 
Industrial Control Devices.pptx
Industrial Control Devices.pptxIndustrial Control Devices.pptx
Industrial Control Devices.pptx
TALHARIAZ46
 
AI.ppt
AI.pptAI.ppt
AI.ppt
TALHARIAZ46
 

More from TALHARIAZ46 (8)

Microprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.pptMicroprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.ppt
 
Introduction to Microprocessor .ppt
Introduction to Microprocessor .pptIntroduction to Microprocessor .ppt
Introduction to Microprocessor .ppt
 
Microbial-Food-Safety.pptx
Microbial-Food-Safety.pptxMicrobial-Food-Safety.pptx
Microbial-Food-Safety.pptx
 
Industrial Control System.pptx
Industrial Control System.pptxIndustrial Control System.pptx
Industrial Control System.pptx
 
Industrial Control System.pptx
Industrial Control System.pptxIndustrial Control System.pptx
Industrial Control System.pptx
 
Food Safety Presentation.pptx
Food Safety Presentation.pptxFood Safety Presentation.pptx
Food Safety Presentation.pptx
 
Industrial Control Devices.pptx
Industrial Control Devices.pptxIndustrial Control Devices.pptx
Industrial Control Devices.pptx
 
AI.ppt
AI.pptAI.ppt
AI.ppt
 

Recently uploaded

An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
IJECEIAES
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
ramrag33
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 

Recently uploaded (20)

An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 

Microprocessor Based Systems.ppt

  • 1.
  • 2. An Introduction to Microprocessors and Microcontrollers
  • 3. A little History  What is a computer?  A programmable electronic device that can store, retrieve, and process data.  A machine that manipulates data according to a list of instructions.  Classification of Computers (power and price)  Personal computers  Mainframes  Supercomputers  Dedicated controllers – Embedded controllers
  • 4. Mainframes  Massive amounts of memory  Use large data words…64 bits or more  Mostly used for military defense and large business data processing  Examples: IBM 4381, Honeywell DPS8
  • 5. Personal Computers  Any general-purpose computer  intended to be operated directly by an end user  Range from small microcomputers that work with 4-bit words to PCs working with 32-bit words or more  They contain a processor – known by different names:  Microprocessor – built using Very-Large-Scale Integration technology; the entire circuit is on a single chip  Central Processing Unit (CPU)  Microprocessor Unit (MPU) – similar to CPU http://en.wikipedia.org/wiki/Personal_computer
  • 6. Supercomputers  Fastest and most powerful mainframes  Contain multiple processors (CPUs)  Used for scientific applications, and number crunching  Now have teraflops performance  FLoating Point Operations Per Second (FLOPS)  Examples of special-purpose supercomputers:  Belle, Deep Blue, and Hydra, for playing chess  Reconfigurable computing machines or parts of machines  GRAPE, for astrophysics and molecular dynamics  Deep Crack, for breaking the DES cipher  MDGRAPE-3, for protein structure computation http://en.wikipedia.org/wiki/Supercomputer
  • 7. Embedded Systems  An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions often with real-time  An integrated device which consists of multiple devices  Microprocessor (MPU)  Memory  I/O (Input/Output) ports  Often has its own dedicated software
  • 9. Evolution  First came transistors  Integrated circuits  SSI (Small-Scale Integration) to ULSI  Very Large Scale Integration circuits (VLSI)  1- Microprocessors (MPU)  Microcomputers (with CPU being a microprocessor)  Components: Memory, CPU, Peripherals (I/O)  Example: Personal computers  2- Microcontroller (MCU)  Microcomputers (with CPU being a microprocessor)  Many special function peripheral are integrated on a single circuit  Types: General Purpose or Embedded System (with special functionalities)
  • 10. Microprocessor-Based Systems • Central Processing Unit (CPU) • Memory • Input/Output (I/O) circuitry • Buses – Address bus – Data bus – Control bus
  • 13. Microprocessor-Based System with Buses: Address, Data, and Control Signals
  • 14. Microprocessor-based Systems Microprocessor  The microprocessor (MPU) is a computing and logic device that executes binary instructions in a sequence stored in memory.  Characteristics:  General purpose central processor unit (CPU)  Binary  Register-based  Clock-driven  Programmable
  • 15. Microprocessor-based Systems Microprocessor  the “brains” of the computer  its job is to fetch instructions, decode them, and then execute them  8/16/32/etc –bit (how it moves the data  contains: ALU performs computing tasks – manipulates the data/ performs numerical and logical computations Registers are used for temp. storage Control unit is used for timing and other controlling functions – contains a program counter (next instruction’s address and status register) System software: A group of programs that monitors the functions of the entire system
  • 17. Transistors  Vacuum Tubes: A devise to control, modify, and amplify electric signals  Then came transistors in 1947  In 1960 Jack Kilby and Robert Noyce designed the first integrated circuit (IC)  Fairchild company manufactured logic gates
  • 18. Integrated Circuits  Advances in manufacturing allowed packing more transistors on a single chip  Transistors and Integrated Circuits from SSI (Small- Scale Integration) to ULSI  Birth of a microprocessor and its revolutionary impact
  • 19. Microprocessors  Noyce and Gordon Moore started Intel  Intel designed he first calculator  Intel designed the first programmable calculator  Intel designed the first microprocessor in 1971  Model 4004  4-bit; 2300 transistors, 640 bytes of memory, 108 KHz clock speed
  • 20. Microprocessor-based Systems Memory  Memory is a group of registers  16 register – address: 0-15 – in binary: 0- 1111; Address lines: A0-A3  Serves two major purposes  storing the binary codes for the sequence of instructions specified by programs (program)  storing binary data that the computer needs to execute instructions (data)
  • 21. Memory Types  R/W: Read/Write Memory; also called RAM  It is volatile (losses information as power is removed)  Write means the processor can store information  Read means the processor can receive information from the memory  Acts like a Blackboard!  ROM: Read-Only memory;  It is typically non-volatile (permanent) – can be erasable  It is similar to a Page from your textbook
  • 24. Erasable ROMs  Marked Programmed ROM  Programmed by the manufacturer  Programmable ROM (PROM)  Can be programmed in the field via the programmer  Erasable Programmable ROM (EPROM)  Uses ultraviolet light to erase (through a quartz window)  OTP refers to one-time programmable  Electrically Erasable Programmable ROM (EEPROM)  Each program location can be individually erased  Expensive  Requires programmer  FLASH  Can be programmed in-circuit (in-system)  Easy to erase (no programmer)  Only one section can be erased/written at a time (typically 64 bytes at a time)
  • 25. Input/Output (I/O) Ports  The way the computer communicates with the outside world devices  Peripherals are connected to I/O ports  Peripherals are I/O devices  Input devices  Output devices  Examples  Printers and modems,  keyboard and mouse  scanner  Universal Serial Bus (USB)
  • 26. .
  • 27. Microprocessor-based Systems - BUS  The three components – MPU, memory, and I/O – are connected by a group of wires called the BUS  Address bus  consists of 16, 20, 24, or 32 parallel signal lines (wires) - unidirectional  these lines contain the address of the memory location to read or written  Control bus  consists of 4 to 10 (or more) parallel signal lines  CPU sends signals along these lines to memory and to I/O ports  examples: Memory Read, Memory Write, I/O Read, I/O Write  Data bus  consists of 8,16, or 32 parallel signal lines  bi-directional  only one device at a time can have its outputs enabled,  this requires the devices to have three-state output
  • 28. Expanded Microprocessor-Based System • Note the directions of: • address bus • Data bus • Control signals • What is the width of the: • address bus? • Data bus?
  • 29.  What are Microcontrollers?
  • 30. First Microcontrollers  IBM started using 8042 and 8048 (8-bit microcontroller) in printers  Apple Macintosh used Motorola  1980 Intel abandoned microcontroller business  By 1989 Microchip was a major player in designing microcontrollers  PIC: Peripheral Interface Controller
  • 31. Embedded controllers  Used to control smart machines  Examples: printers, auto braking systems  Also called microcontrollers or microcontroller units (MCU)
  • 32. Embedded controllers Software Characteristics  No operating systems  Execute a single program, tailored exactly to the controller hardware  Assembly language (vs. High-level language)  Not transportable, machine specific  Programmer need to know CPU architecture  Speed  Program size  Uniqueness
  • 33. Microcontroller Unit (MCU) Block Diagram  An integrated electronic computing and logic device that includes three major components on a single chip  Microprocessor  Memory  I/O ports  Includes support devices  Timers  A/D converter  Serial I/O  Parallel Slave Port  All components connected by common communication lines called the system bus.
  • 34. MCU Architecture  RISC (Harvard)  Reduced instruction set computer  Simple operations  Simple addressing modes  Longer compiled program bust faster to execute  Uses pipelining  CISC (Von Neuman)  Complex instruction set computer  More complex instructions (closer to high-level language support)
  • 35. Main 8-bit Controllers  Microchip  RISC architecture (reduced instruction set computer)  Has sold over 2 billion as of 2002  Cost effective and rich in peripherals  Motorola  CISC architecture  Has hundreds of instructions  Examples: 68HC05, 68HC08, 68HC11  Intel  CISC architecture  Has hundreds of instructions  Examples: 8051, 8052  Many difference manufacturers: Philips, Dallas/MAXIM Semiconductor, etc.  Atmel  RISC architecture (reduced instruction set computer) –  Cost effective and rich in peripherals  AVR
  • 36. Numbering system Data format Memory operation System Software (hardware/Software) Example of a microprocessor / microcontroller based Let’s continue…..
  • 37. Memory  A semiconductor storage device consisting of registers that store binary bits  Two major categories  Read/Write Memory (R/WM)  Read-only-Memory (ROM)
  • 38. Symbolic Representation of Memory Contents  Addresses Registers CODE: READ PORT A WRITE PORT B STOP What is the address bus value? PORT A = 8000H PORT B = 8001H Fetch / Decode / Execute
  • 39. Software: From Machine to High-Level Languages (1 of 3)  Machine Language: binary instructions  All programs are converted into the machine language of a processor for execution  Difficult to decipher and write  Prone to cause many errors in writing Machine Language Assembly Language High-level Language
  • 40. Software: From Machine to High-Level Languages (2 of 3)  Assembly Language: machine instructions represented in mnemonics  Has one-to-one correspondence with machine instructions  Efficient in execution and use of memory; machine- specific and not easy to troubleshoot Machine Language Assembly Language High-level Language
  • 41. Software: From Machine to High-Level Languages (3 of 3)  High-Level Languages (such as BASIC, C, and C++)  Written in statements of spoken languages (such as English)  machine independent  easy to write and troubleshoot  requires large memory and less efficient in execution Machine Language Assembly Language High-level Language
  • 42. Data Format (8-bit) (1 of 4)  Unsigned Integers: All eight bits (Bit0 to Bit7) represent the magnitude of a number  Range 0 to FF in Hex and 0 to 255 in decimal Signed Unsigned
  • 43. Data Format (8-bit) (2 of 4)  Signed Integers: Seven bits (Bit0 to Bit6) represent the magnitude of a number.  The eighth bit (Bit7) represents the sign of a number. The number is positive when Bit7 is zero and negative when Bit7 is one.  Positive numbers: 0 to 7F (0 to 127)  Negative numbers: 80 to FF (-1 to -128)  All negative numbers are represented in 2’s complement Signed Unsigned
  • 44. Data Format (8-bit) (3 of 4)  Binary Coded Decimal Numbers (BCD)  8 bits of a number divided into groups of four, and each group represents a decimal digit from 0 to 9  Four-bit combinations from A through F in Hex are invalid in BCD numbers  Example: 0010 0101 represents the binary coding of the decimal number 25d which is different in value from 25H.
  • 45. Data Format (8-bit) (4 of 4)  American Standard Code for Information Interchange (ASCII)  Seven-bit alphanumeric code with 128 combinations (00 to 7F)  Represents English alphabet, decimal digits from 0 to 9, symbols, and commands
  • 46. Storing Bits in Memory  We can store in different memory types  EEPROM, FLASH, RAM, etc.  In an 8-bit RAM  Each byte is stored in a single memory register  Each word is stored in two memory locations (registers)  DATA 0x1234  0x12REG11 (High-order byte)  0001 0010  0x34REG10 (Low-order byte)  0011 0100 What if we want to store -8? Remember -8111 1000 (in two’s complement)
  • 50. References  Read about microcontrollers: http://www.mikroe.com/en/books/picbook/2_01chapter.htm  Lots of good information exist on Wikipedia about microcontrollers http://en.wikipedia.org/wiki/  History of transistors: http://inventors.about.com/library/weekly/aa061698.htm  Nice transistor timeline by Intel: http://www.intel.com/technology/timeline.pdf  I used a few slides from here: http://www.ceng.metu.edu.tr/courses/ceng336/_documents/introduct ion.pdf