Department of Electrical Engineering
National Institute of Technology,
Srinagar
Microprocessors
Credits: 4 Course code:
EET-352 L:3 T:1 P:0
Course Evaluation Scheme
Mid-Semester Continuous End-Semester
(26 marks) Assessment (24 marks) (50 marks)
Tutorial/assignments (8)
Quiz/Presentation (8)
Attendance/Class response (8)
B.Tech (6th Semester) Course Incharge: Dr. Zahid Afzal Thoker
Course Outcomes (COs):
C01: Getting an overview of 8085 Micro-processor and its basic terminology.
CO2: Investigating and understanding of 8085 up architecture.
CO3: To learn the instruction set, interrupts, and interfacing.
CO4: Introduction to 8086 microprocessor.
Course structure
Module 1: Overview of Microprocessor
Basic Terminology, Evolution of Microprocessors, State of Art of uP, Why we study 8085 uP?
Module 2: 8085 Microprocessor Architecture, Instruction Set and Programming Techniques
Pin diagram, Detailed Internal Architecture, State Transition Diagrams, T- states (clock
cycles), Machine Cycles, Instruction Cycles, Instruction Formats, Different Addressing Modes,
Complete Description of all instructions with macro and micro RTL (Register Transfer
language), Programming examples, Simulation of time delays.
Module 3: Interrupts and Serial I/O
Concept of interrupts, priority of interrupts signals, Software generated interrupts,
Hardware generated interrupts, Introduction of Serial I/O with reference to 8085 uP,
General concepts
Module 4: Interfacing and Microprocessor Applications
Concept of fold back addresses, Memory maps, Memory mapped I/O, Isolated 1/0, Interfacing
of seven segment LED display, Toggle switches, Keyboard interfacing, Memory interfacing
Simplification of interfacing circuitry with the help of decoders, General purpose
programmable peripheral devices, Interfacing of A/D and D/A conversion devices, Some
illustrative examples of Microprocessor Applications.
Module 5: Introduction to 8086 Microprocessor
Introduction to 8086 microprocessor.
Books Recommended
I) Microprocessor Architecture Programming and Applications with the 8085 “Ramesh S.
Goankar” Prentice hall
II) Microprocessors and Programmed Logic “K. L. Short” Prentice hall
III) Microprocessors: Theory and Applications “M. Rafiquzzaman” Prentice hall
Module 1: Overview of Microprocessor
Introduction to microprocessors
A microprocessor is a multipurpose, programmable logic device that reads binary
instructions from a storage device called memory, accepts binary data as input and
processes data according to those instructions, and provides results as output.
Computing functions, decisions-making
A typical programmable machine can be represented with three components: microprocessor,
memory, and I/0.
These three components work together or interact with each other to perform a given
task; thus, they comprise a system.
The physical components of this system are called hardware. A set of instructions written
for the microprocessor to perform a task is called a program, and a group of programs is
called software.
ALU : Arithmetic logic unit
CPU
ALU
Input Control Unit Output
Registers
Memory
Flow of information unidirectional
Flow of information bidirectional
Microcontroller is a programmable device that includes microprocessor, memory, I/O signal
lines, fabricated on VLSI technology.
very large scale integration
single chips microcomputer
System-bus: A bus is a group of wires/lines used to transfer data (bits) between
components inside a computer or between computers.
In microprocessor, three types of buses are there
1. Address bus 2. Data bus 3. Control bus
1. Address-bus: it a groups of lines that are used to send a memory address or a
device address from the MPU to the memory or the Peripheral. It is
unidirectional.
For n address lines; then MPU has addressing capacity = 2^n
Flow of information unidirectional
2. Data-bus: it is a group of lines used to transfer data between the microprocessor
and memory/peripherals. It is bidirectional.
Flow of information bidirectional
3. Control-bus: it is a group of lines that provides signals to control the flow of
data.
Difference between Microprocessor and Microcontroller
Memory
RAM/ROM
ALU
Serial
Control Unit
Buses Communication
Registers
Microprocessor
Timer I/O
Memory Timer
CPU
RAM/ROM
Counter
ALU
Serial Communication I/O
Registers
Microcontroller
Microprocessor Microcontroller
1. It contains CPU, memory, I/O,
1. It contains CPU only.
timer on a single chip.
2. Designer decides the size of
2. Fixed size of RAM, ROM and I/O
RAM, ROM and I/O handling.
handling.
3. Von-Neumann Architecture
3. Harvard Architecture (Mostly).
(Mostly).
4. Relatively weak in Multitasking.
4. Better in Multitasking.
5. Specific purpose (embedded
5. General purpose (main computer).
system).
6. High speed, high cost and high
6. Relatively less speed, less cost
power consumption.
and less power consumption.
7. It requires more hardware
7. It requires less hardware
interfacing.
interfacing.
History of Microprocessors
Fair child semiconductors (founded in 1957) invented the first Integrated Circuit in 1959
that marked the microprocessor history. In 1968, Gordan Moore, Robert Noyce and
Andrew Grove resigned from the Fair child semiconductors and started their own company:
Integrated Electronics (Intel). In 1971, the first microprocessor Intel 4004 was invented.
Generation of Microprocessors
First Generation
This was the period during 1971 to 1973 of microprocessor’s history. In 1971, INTEL
created the first microprocessor 4004 (NMOS) that would run at a clock speed of 108 KHz.
With only 4 bits as the word size, the 4004 could only represent signed numbers in the range
-8 to +7, which is indeed very small. Memory capacity of 640 Bytes. So, it was not really of
practical use for arithmetic calculations. However, it found applications in controlling devices.
Second Generation
Intel 8008 was the next in the evolution in 1972, the first 8-bit microprocessor with 16 kB
capacity. This was soon followed by Intel 8080 (NMOS), also an 8-bit microprocessor with 64 kB
capacity and 2MHz clock speed. Then Intel 8085 (NMOS) in 1977, 8-bit, 3 MHz and 64 kB capacity.
Intel 8080 was the first commercially popular 8-bit microprocessor. With 8 bits as the word size, it
could represent signed numbers in the range of -128 to +127. This is also not a good enough range
for performing arithmetic calculations. Thus, the 8080 also was used only for control applications.
Third Generation
Around 1978, Intel released 8086 (HMOS), the first 16-bit microprocessor. With 16-bit word
size, it was possible to represent signed numbers in the range of -32,768 to +32,767, which is
quite a decent range for performing arithmetic calculations. As such, this processor became very
popular not only for control applications, but also for number crunching operations. Speeds of
those processors were four times better than the 2nd generation processors.
Fourth Generation
In the early 80s, Intel released the 32-bit processor, the Intel 80386, by using HCMOS
fabrication. With 32-bit word size, it was possible to represent signed numbers in the range
±2x10^9 which is quite a large range for performing arithmetic calculations. If floating point
notation is used, it can represent much larger numbers. As such, this processor became very
popular as the CPU in computers for number crunching operations.
Fifth Generation
From 1995 to until now this generation has been bringing out high-performance and
high-speed processors that make use of 64-bit processors. The present-day computers
based on microprocessors are already faster than the mini computers and sometimes the
main frame computers.
Why we study 8085 Microprocessor?
👉 It serves as a foundational building block for understanding microprocessor
architecture.
👉 It provides a simple and accessible way to learn key concepts like registers, addressing
modes, instruction sets, and basic CPU operations.
👉 Develops basis for understanding more complex modern processors, even though it is
considered outdated by today's standards; making it a valuable tool for beginners in
computer engineering and electronics fields.
Terminology
Instruction: A command in binary that is recognised and executed by the computer in
order to accomplish a task.
Mnemonic: A combination of letters to suggest the operation of an instruction.
Program: A set of instructions written in a specific sequence for the computer to accomplish
a given task.
Programming languages
Low-level languages High-level languages
Low-level language
Machine language: Binary medium of communication with a computer through designed set of
instructions specific to each computer.
Assembly language: A medium of communication with a computer in which programs are written is
mnemonics.
High-level language
Independent of a given computer, programs are written in English-like words, and they can
be executed on a machine using a written translator (a compiler or an interpreter).
Language Translators
High-level/ Low-level/
Assembly language Language Translators Machine language
(Compiler, Interpreter, Assembler)
Compiler: A program that translates High-level language into the machine language.
It compiles whole program in one-go and reports errors if any.
Compiler
Object code
Source code
C, C++
Interpreter: A program that translates high-level language to machine language, one
statement at a time from a source code to an object code. It reports errors, if any line by
line.
Assembler: Translates an assembly language program (mnemonics) to binary machine code of a
computer (object programme).
Microprocessor Architecture
Logic design
Von-Neumann Architecture Harvard Architecture
CPU + main memory + I/O + Secondary memory Enhanced version, separate instruction memory
Stored program concept e.g., 8085, 8086 and data memory e.g., Intel pentium
address
address
Data
Von- Data Memory
Data &
Harvard
Neumann Code address
CPU
CPU Memory Code
Memory
Data/Code Code
1. It is a theoretical design based on 1. It is a modern computer architecture
the stored-program computer concept. based on the Harvard Mark-I relay-
based computer model.
2. It uses same physical memory
2. It uses separate memory addresses for
address for instructions and data.
instructions and data.
3. Processor needs two clock cycles to
3. Processor needs one cycle to complete
execute an instruction.
an instruction.
4. Simpler control unit design and
4. Control unit for two buses is more
development of one is cheaper and
complicated which adds to the
faster. development cost.
5. Data transfers and instruction fetches 5. Data transfers and instruction fetches
cannot be performed simultaneously. can be performed at the same time.
6. Used in personal computers, laptops, 6. Used in microcontrollers and signal
and workstations. processing.
Comparison summary
Parameter Von-Neumann Harvard
Memory
Memory Type
Buses
Program Execution
Control Signals/Space/Cost
B.Tech (6th Semester) Course Incharge: Dr. Zahid Afzal Thoker