SlideShare a Scribd company logo
Dr. Bassel SoudanMicroprocessors & Interfacing 1
Microprocessor Architecture
Dr. Bassel SoudanMicroprocessors & Interfacing 2
Microprocessor Architecture
• The microprocessor can be programmed to
perform functions on given data by writing
specific instructions into its memory.
– The microprocessor reads one instruction at a
time, matches it with its instruction set, and
performs the data manipulation specified.
– The result is either stored back into memory or
displayed on an output device.
Dr. Bassel SoudanMicroprocessors & Interfacing 3
The 8085 Architecture
• The 8085 uses three separate busses to perform
its operations
– The address bus.
– The data bus.
– The control bus.
Dr. Bassel SoudanMicroprocessors & Interfacing 4
The Address Bus
– 16 bits wide (A0 A1…A15)
• Therefore, the 8085 can access locations with numbers
from 0 to 65,536. Or, the 8085 can access a total of 64K
addresses.
– “Unidirectional”.
• Information flows out of the microprocessor and into the
memory or peripherals.
– When the 8085 wants to access a peripheral or a
memory location, it places the 16-bit address on
the address bus and then sends the appropriate
control signals.
Dr. Bassel SoudanMicroprocessors & Interfacing 5
The Data Bus
– 8 bits wide (D0 D1…D7)
– “Bi-directional”.
• Information flows both ways between the microprocessor
and memory or I/O.
– The 8085 uses the data bus to transfer the binary
information.
– Since the data bus has 8-bits only, then the 8085
can manipulate data 8 bits at-a-time only.
Dr. Bassel SoudanMicroprocessors & Interfacing 6
The Control Bus
– There is no real control bus. Instead, the control
bus is made up of a number of single bit control
signals.
Dr. Bassel SoudanMicroprocessors & Interfacing 7
Operation Types in a Microprocessor
• All of the operations of the microprocessor can
be classified into one of three types:
- Microprocessor Initiated Operations
- Internal Operations
- Peripheral Initiated Operations
Dr. Bassel SoudanMicroprocessors & Interfacing 8
Microprocessor Initiated Operations
• These are operations that the microprocessor
itself starts.
• These are usually one of 4 operations:
– Memory Read
– Memory Write
– I/O Read (Get data from an input device)
– I/O write (Send data to an output device)
Dr. Bassel SoudanMicroprocessors & Interfacing 9
Microprocessor Initiated Operations
• It is important to note that the microprocessor
treats memory and I/O devices the same way.
– Input and output devices simply look like memory
locations to the microprocessor.
• For example, the keyboard may look like memory
address A3F2H. To get what key is being pressed, the
microprocessor simply reads the data at location A3F2H.
– The communication process between the
microprocessor and peripheral devices consist of
the following three steps:
– Identify the address.
– Transfer the binary information.
– Provide the right timing signals.
Dr. Bassel SoudanMicroprocessors & Interfacing 10
The Read Operation
– To read the contents of a memory location, the
following steps take place:
• The microprocessor places the 16-bit address of the
memory location on the address bus.
• The microprocessor activates a control signal called
“memory read” which enables the memory chip.
• The memory decodes the address and identifies the right
location.
• The memory places the contents on the data bus.
• The microprocessor reads the value of the data bus after
a certain amount of time.
Dr. Bassel SoudanMicroprocessors & Interfacing 11
Internal Data Operations
• The 8085 can perform a number of internal
operations. Such as: storing data, Arithmetic &
Logic operations, Testing for condition, etc.
– To perform these operations, the microprocessor
needs an internal architecture similar to the
following:
Accumulator Flags
B C
D E
H L
Program Counter
Stack Pointer
DataAddress 816
Dr. Bassel SoudanMicroprocessors & Interfacing 12
The Internal Architecture
• We have already discussed the general purpose
registers, the Accumulator, and the flags.
• The Program Counter (PC)
– This is a register that is used to control the
sequencing of the execution of instructions.
– This register always holds the address of the next
instruction.
– Since it holds an address, it must be 16 bits wide.
Dr. Bassel SoudanMicroprocessors & Interfacing 13
The Internal Architecture
• The Stack pointer
– The stack pointer is also a 16-bit register that is
used to point into memory.
– The memory this register points to is a special
area called the stack.
– The stack is an area of memory used to hold data
that will be retreived soon.
– The stack is usually accessed in a Last In First
Out (LIFO) fashion.
Dr. Bassel SoudanMicroprocessors & Interfacing 14
Externally Initiated Operations
• External devices can initiate (start) one of the 4
following operations:
– Reset
• All operations are stopped and the program counter is
reset to 0000.
– Interrupt
• The microprocessor’s operations are interrupted and the
microprocessor executes what is called a “service
routine”.
• This routine “handles” the interrupt, (perform the
necessary operations). Then the microprocessor returns
to its previous operations and continues.
Dr. Bassel SoudanMicroprocessors & Interfacing 15
Externally Initiated Operations
– Ready
• The 8085 has a pin called RDY. This pin is used by
external devices to stop the 8085 until they catch up.
• As long as the RDY pin is low, the 8085 will be in a wait
state.
– Hold
• The 8085 has a pin called HOLD. This pin is used by
external devices to gain control of the busses.
• When the HOLD signal is activated by an external
device, the 8085 stops executing instructions and stops
using the busses.
• This would allow external devices to control the
information on the busses. Example DMA.
Dr. Bassel SoudanMicroprocessors & Interfacing 16
The Design and Operation of Memory
• Memory in a microprocessor system is where
information (data and instructions) is kept. It can
be classified into two main types:
• Main memory (RAM and ROM)
• Storage memory (Disks , CD ROMs, etc.)
– The simple view of RAM is that it is made up of
registers that are made up of flip-flops (or memory
elements).
• The number of flip-flops in a “memory register”
determines the size of the memory word.
– ROM on the other hand uses diodes instead of the
flip-flops to permanently hold the information.
Dr. Bassel SoudanMicroprocessors & Interfacing 17
Accessing Information in Memory
• For the microprocessor to access (Read or Write)
information in memory (RAM or ROM), it needs
to do the following:
– Select the right memory chip (using part of the
address bus).
– Identify the memory location (using the rest of the
address bus).
– Access the data (using the data bus).
Dr. Bassel SoudanMicroprocessors & Interfacing 18
Tri-State Buffers
• An important circuit element that is used
extensively in memory.
• This buffer is a logic circuit that has three states:
– Logic 0, logic1, and high impedance.
– When this circuit is in high impedance mode it
looks as if it is disconnected from the output
completely.
The Output is Low The Output is High High Impedance
Dr. Bassel SoudanMicroprocessors & Interfacing 19
The Tri-State Buffer
• This circuit has two inputs and one output.
– The first input behaves like the normal input for
the circuit.
– The second input is an “enable”.
• If it is set high, the output follows the proper circuit
behavior.
• If it is set low, the output looks like a wire connected to
nothing.
Input Output
Enable
Input Output
Enable
OR
Dr. Bassel SoudanMicroprocessors & Interfacing 20
The Basic Memory Element
• The basic memory element is similar to a D latch.
• This latch has an input where the data comes in.
It has an enable input and an output on which
data comes out.
QD
EN
Data Input Data Output
Enable
Dr. Bassel SoudanMicroprocessors & Interfacing 21
The Basic Memory Element
• However, this is not safe.
– Data is always present on the input and the output
is always set to the contents of the latch.
– To avoid this, tri-state buffers are added at the
input and output of the latch.
QD
EN
Data Input Data Output
Enable
WR RD
Dr. Bassel SoudanMicroprocessors & Interfacing 22
The Basic Memory Element
• The WR signal controls the input buffer.
– The bar over WR means that this is an active low
signal.
– So, if WR is 0 the input data reaches the latch
input.
– If WR is 1 the input of the latch looks like a wire
connected to nothing.
• The RD signal controls the output in a similar
manner.
Dr. Bassel SoudanMicroprocessors & Interfacing 23
A Memory “Register”
• If we take four of these latches and connect them
together, we would have a 4-bit memory register
WR
RD
EN
Q
D
EN
Q
D
EN
Q
D
EN
Q
D
EN
I0 I1 I2 I3
O0 O1 O2 O3
Dr. Bassel SoudanMicroprocessors & Interfacing 24
A group of memory registers
– Expanding on this
scheme to add more
memory registers we get
the diagram to the right.
D
EN
Q D
EN
Q D
EN
Q D
EN
Q
D
EN
Q D
EN
Q D
EN
Q D
EN
Q
D
EN
Q D
EN
Q D
EN
Q D
EN
Q
D
EN
Q D
EN
Q D
EN
Q D
EN
Q
D0 D1 D2 D3
D0 D1 D2 D3
oooo
oooo
WR
RD
Dr. Bassel SoudanMicroprocessors & Interfacing 25
A group of Memory Registers
– If we represent each memory location (Register)
as a block we get the following
Input Buffers
Output Buffers
Memory Reg. 0
Memory Reg. 1
Memory Reg. 2
Memory Reg. 3
I0 I1 I2 I3
O0 O1 O2 O3
WR
EN0
EN1
EN2
EN3
RD
Dr. Bassel SoudanMicroprocessors & Interfacing 26
The Design of a Memory Chip
• Using the RD and WR controls we can determine
the direction of flow either into or out of memory.
Then using the appropriate Enable input we
enable an individual memory register.
• What we have just designed is a memory with 4
locations and each location has 4 elements
(bits). This memory would be called 4 X 4
[Number of location X number of bits per
location].
Dr. Bassel SoudanMicroprocessors & Interfacing 27
The Enable Inputs
• How do we produce these enable line?
– Since we can never have more than one of these
enables active at the same time, we can have
them encoded to reduce the number of lines
coming into the chip.
– These encoded lines are the address lines for
memory.
Dr. Bassel SoudanMicroprocessors & Interfacing 28
The Design of a Memory Chip
– So, the previous diagram would now look like the
following:
Input Buffers
Output Buffers
Memory Reg. 0
Memory Reg. 1
Memory Reg. 2
Memory Reg. 3
I0 I1 I2 I3
O0 O1 O2 O3
WR
RD
A
d
d
r
e
s
s
D
e
c
o
d
e
r
A1
A0
Dr. Bassel SoudanMicroprocessors & Interfacing 29
The Design of a Memory Chip
• Since we have tri-state buffers on both the inputs
and outputs of the flip flops, we can actually use
one set of pins only.
– The chip would now look like this:
Input Buffers
Output Buffers
Memory Reg. 0
Memory Reg. 1
Memory Reg. 2
Memory Reg. 3
WR
RD
A
d
d
r
e
s
s
D
e
c
o
d
e
r
A1
A0
D0
D1
D2
D3
D0
D1
D2
D3
A1
A0
RD WR
Dr. Bassel SoudanMicroprocessors & Interfacing 30
The steps of writing into Memory
• What happens when the programmer issues the
STA instruction?
– The microprocessor would turn on the WR control
(WR = 0) and turn off the RD control (RD = 1).
– The address is applied to the address decoder
which generates a single Enable signal to turn on
only one of the memory registers.
– The data is then applied on the data lines and it is
stored into the enabled register.
Dr. Bassel SoudanMicroprocessors & Interfacing 31
Dimensions of Memory
• Memory is usually measured by two numbers: its
length and its width (Length X Width).
• The length is the total number of locations.
• The width is the number of bits in each location.
– The length (total number of locations) is a function
of the number of address lines.
# of memory locations = 2( # of address lines)
• So, a memory chip with 10 address lines would have
210
= 1024 locations (1K)
• Looking at it from the other side, a memory chip with 4K
locations would need
Log2 4096=12 address lines
Dr. Bassel SoudanMicroprocessors & Interfacing 32
The 8085 and Memory
• The 8085 has 16 address lines. That means it
can address
216
= 64K memory locations.
– Then it will need 1 memory chip with 64 k
locations, or 2 chips with 32 K in each, or 4 with
16 K each or 16 of the 4 K chips, etc.
• how would we use these address lines to control
the multiple chips?
Dr. Bassel SoudanMicroprocessors & Interfacing 33
Chip Select
• Usually, each memory chip has a CS (Chip
Select) input. The chip will only work if an active
signal is applied on that input.
• To allow the use of multiple chips in the make up
of memory, we need to use a number of the
address lines for the purpose of “chip selection”.
– These address lines are decoded to generate the
2n
necessary CS inputs for the memory chips to be
used.
Dr. Bassel SoudanMicroprocessors & Interfacing 34
Chip Selection Example
– Assume that we need to build a memory system
made up of 4 of the 4 X 4 memory chips we
designed earlier.
– We will need to use 2 inputs and a decoder to
identify which chip will be used at what time.
– The resulting design would now look like the one
on the following slide.
Dr. Bassel SoudanMicroprocessors & Interfacing 35
Chip Selection Example
CS
RD WR
A0
A1
CS
RD WR
A0
A1
CS
RD WR
A0
A1
CS
RD WR
A0
A1
2 X4
DecoderA3
A2
A1
A0
RD
WR
D1
D0
Dr. Bassel SoudanMicroprocessors & Interfacing 36
Memory Map and Addresses
• The memory map is a picture representation of
the address range and shows where the different
memory chips are located within the address
range.
0000
FFFF
AddressRange
RAM 1
RAM 2
RAM 3
RAM 4
EPROM
0000
3FFF
4400
5FFF
6000
8FFF
9000
A3FF
A400
F7FF
Address Range of EPROM Chip
Address Range of 1st
RAM Chip
Address Range of 2nd
RAM Chip
Address Range of 3rd
RAM Chip
Address Range of 4th
RAM Chip
Dr. Bassel SoudanMicroprocessors & Interfacing 37
Address Range of a Memory Chip
• The address range of a particular chip is the list
of all addresses that are mapped to the chip.
– An example for the address range and its
relationship to the memory chips would be the
Post Office Boxes in the post office.
– Each box has its unique number that is assigned
sequentially. (memory locations)
– The boxes are grouped into groups. (memory chips)
– The first box in a group has the number immediately after
the last box in the previous group.
Dr. Bassel SoudanMicroprocessors & Interfacing 38
Address Range of a Memory Chip
– The above example can be modified slightly to
make it closer to our discussion on memory.
– Let’s say that this post office has only 1000 boxes.
– Let’s also say that these are grouped into 10 groups of 100
boxes each. Boxes 0000 to 0099 are in group 0, boxes
0100 to 0199 are in group 1 and so on.
– We can look at the box number as if it is made up
of two pieces:
– The group number and the box’s index within the group.
– So, box number 436 is the 36th
box in the 4th
group.
The upper digit of the box number identifies the group and the
lower two digits identify the box within the group.
Dr. Bassel SoudanMicroprocessors & Interfacing 39
The 8085 and Address Ranges
• The 8085 has 16 address lines. So, it can
address a total of 64K memory locations.
– If we use memory chips with 1K locations each,
then we will need 64 such chips.
– The 1K memory chip needs 10 address lines to
uniquely identify the 1K locations. (log2
1024 = 10)
– That leaves 6 address lines which is the exact
number needed for selecting between the 64
different chips (log2
64 = 6).
Dr. Bassel SoudanMicroprocessors & Interfacing 40
The 8085 and Address Ranges
• Now, we can break up the 16-bit address of the
8085 into two pieces:
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
– Depending on the combination on the address lines
A15 - A10 , the address range of the specified chip is
determined.
Location Selection within the ChipChip Selection
Dr. Bassel SoudanMicroprocessors & Interfacing 41
High-Order vs. Low-Order Address Lines
• The address lines from a microprocessor can be
classified into two types:
– High-Order
• Used for memory chip selection
– Low-Order
• Used for location selection within a memory chip.
– This classification is highly dependent on the
memory system design.
Dr. Bassel SoudanMicroprocessors & Interfacing 42
Data Lines
• All of the above discussion has been regarding
memory length. Lets look at memory width.
• We said that the width is the number of bits in
each memory word.
– We have been assuming so far that our memory
chips have the right width.
– What if they don’t?
• It is very common to find memory chips that have only 4
bits per location. How would you design a byte wide
memory system using these chips?
• We use two chips for the same address range. One chip
will supply 4 of the data bits per address and the other
chip supply the other 4 data bits for the same address.
Dr. Bassel SoudanMicroprocessors & Interfacing 43
Data Lines
CS
A0
…
A9
CS CS
D0
…
D3
D4
…
D7

More Related Content

PPTX
Microprocessor Architecture
PPT
Microprocessor and-interfacing-techbymak
PDF
Microprocessor & Interfacing (Part-2) By Er. Swapnil V. Kaware
PDF
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
PPTX
Chapter 1 microprocessor introduction
PPT
8085 microproceesor ppt
PDF
Introduction to 8085svv
PPTX
8085 microprocessor
Microprocessor Architecture
Microprocessor and-interfacing-techbymak
Microprocessor & Interfacing (Part-2) By Er. Swapnil V. Kaware
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Chapter 1 microprocessor introduction
8085 microproceesor ppt
Introduction to 8085svv
8085 microprocessor

What's hot (20)

PPT
8085-microprocessor
PPT
architecture memory interfacing
PDF
Introduction to 8085 Microprocessor
PPTX
The microprocessor and it's architecture
PPTX
Architecture and pin diagram of 8085
PDF
Detailed Explanation of Pin Description of 8085 microprocessor
PPT
Memory & I/O interfacing
PPTX
Microprocessor 8086
PDF
Architecture OF 8085
PDF
8085 microprocessor ramesh gaonkar
PPT
Pin diagram of 8085
DOCX
Interfacing of data converters & io devices
PPT
8085-microprocessor
DOC
Microprocessor Basics 8085 Ch-1
PPTX
Chapter5
PPTX
8085 microprocessor architecture
PPT
PPTX
Introduction to microprocessor
DOCX
8085 microprocessor
PPTX
Microprocessor 8085 complete
8085-microprocessor
architecture memory interfacing
Introduction to 8085 Microprocessor
The microprocessor and it's architecture
Architecture and pin diagram of 8085
Detailed Explanation of Pin Description of 8085 microprocessor
Memory & I/O interfacing
Microprocessor 8086
Architecture OF 8085
8085 microprocessor ramesh gaonkar
Pin diagram of 8085
Interfacing of data converters & io devices
8085-microprocessor
Microprocessor Basics 8085 Ch-1
Chapter5
8085 microprocessor architecture
Introduction to microprocessor
8085 microprocessor
Microprocessor 8085 complete
Ad

Viewers also liked (6)

PDF
Microprocessor and Interfacing Notes
PPT
Introduction to-microprocessors
PPT
Lecture 1
PDF
Microprocessor & Assembly language by team blackhole
PDF
PPTX
Microprocessor chapter 9 - assembly language programming
Microprocessor and Interfacing Notes
Introduction to-microprocessors
Lecture 1
Microprocessor & Assembly language by team blackhole
Microprocessor chapter 9 - assembly language programming
Ad

Similar to 1.microprocessor (20)

PPT
8085microprocessorarchitectureppt-121013115356-phpapp02_2.ppt
PPT
8085microprocessorarchitectureppt 121013115356-phpapp02
PPT
2ch34lurmskmkh2345ja
PPT
8085 microprocessor architecture ppt
PDF
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
PPT
8085 Microprocessor Architecture
PPTX
Microprocessor & interfacing.pptx
PPT
chapter1.ppt
PPT
architect.ppt
PPTX
Microprocessor 8085 Chapter 3
PPTX
12 mt06ped001
PPTX
Unit 2 - Microprocessor & Microcontroller.pptx
PDF
MP_MC.pdf
PPT
PDF
Part of UNIT2 Memory mapped IOjkl;'lk.pdf
PPTX
Mechatronics ME8791
PPT
Microprocessor and Application (8085)
PPT
Mp 8085
PPTX
COMPUTER ORGANIZATION UNIT-III COMPLETE PPT
PDF
Introduction to 8085 by Adi PPT.pdf
8085microprocessorarchitectureppt-121013115356-phpapp02_2.ppt
8085microprocessorarchitectureppt 121013115356-phpapp02
2ch34lurmskmkh2345ja
8085 microprocessor architecture ppt
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
8085 Microprocessor Architecture
Microprocessor & interfacing.pptx
chapter1.ppt
architect.ppt
Microprocessor 8085 Chapter 3
12 mt06ped001
Unit 2 - Microprocessor & Microcontroller.pptx
MP_MC.pdf
Part of UNIT2 Memory mapped IOjkl;'lk.pdf
Mechatronics ME8791
Microprocessor and Application (8085)
Mp 8085
COMPUTER ORGANIZATION UNIT-III COMPLETE PPT
Introduction to 8085 by Adi PPT.pdf

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Electronic commerce courselecture one. Pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Advanced methodologies resolving dimensionality complications for autism neur...
sap open course for s4hana steps from ECC to s4
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Electronic commerce courselecture one. Pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Programs and apps: productivity, graphics, security and other tools
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf

1.microprocessor

  • 1. Dr. Bassel SoudanMicroprocessors & Interfacing 1 Microprocessor Architecture
  • 2. Dr. Bassel SoudanMicroprocessors & Interfacing 2 Microprocessor Architecture • The microprocessor can be programmed to perform functions on given data by writing specific instructions into its memory. – The microprocessor reads one instruction at a time, matches it with its instruction set, and performs the data manipulation specified. – The result is either stored back into memory or displayed on an output device.
  • 3. Dr. Bassel SoudanMicroprocessors & Interfacing 3 The 8085 Architecture • The 8085 uses three separate busses to perform its operations – The address bus. – The data bus. – The control bus.
  • 4. Dr. Bassel SoudanMicroprocessors & Interfacing 4 The Address Bus – 16 bits wide (A0 A1…A15) • Therefore, the 8085 can access locations with numbers from 0 to 65,536. Or, the 8085 can access a total of 64K addresses. – “Unidirectional”. • Information flows out of the microprocessor and into the memory or peripherals. – When the 8085 wants to access a peripheral or a memory location, it places the 16-bit address on the address bus and then sends the appropriate control signals.
  • 5. Dr. Bassel SoudanMicroprocessors & Interfacing 5 The Data Bus – 8 bits wide (D0 D1…D7) – “Bi-directional”. • Information flows both ways between the microprocessor and memory or I/O. – The 8085 uses the data bus to transfer the binary information. – Since the data bus has 8-bits only, then the 8085 can manipulate data 8 bits at-a-time only.
  • 6. Dr. Bassel SoudanMicroprocessors & Interfacing 6 The Control Bus – There is no real control bus. Instead, the control bus is made up of a number of single bit control signals.
  • 7. Dr. Bassel SoudanMicroprocessors & Interfacing 7 Operation Types in a Microprocessor • All of the operations of the microprocessor can be classified into one of three types: - Microprocessor Initiated Operations - Internal Operations - Peripheral Initiated Operations
  • 8. Dr. Bassel SoudanMicroprocessors & Interfacing 8 Microprocessor Initiated Operations • These are operations that the microprocessor itself starts. • These are usually one of 4 operations: – Memory Read – Memory Write – I/O Read (Get data from an input device) – I/O write (Send data to an output device)
  • 9. Dr. Bassel SoudanMicroprocessors & Interfacing 9 Microprocessor Initiated Operations • It is important to note that the microprocessor treats memory and I/O devices the same way. – Input and output devices simply look like memory locations to the microprocessor. • For example, the keyboard may look like memory address A3F2H. To get what key is being pressed, the microprocessor simply reads the data at location A3F2H. – The communication process between the microprocessor and peripheral devices consist of the following three steps: – Identify the address. – Transfer the binary information. – Provide the right timing signals.
  • 10. Dr. Bassel SoudanMicroprocessors & Interfacing 10 The Read Operation – To read the contents of a memory location, the following steps take place: • The microprocessor places the 16-bit address of the memory location on the address bus. • The microprocessor activates a control signal called “memory read” which enables the memory chip. • The memory decodes the address and identifies the right location. • The memory places the contents on the data bus. • The microprocessor reads the value of the data bus after a certain amount of time.
  • 11. Dr. Bassel SoudanMicroprocessors & Interfacing 11 Internal Data Operations • The 8085 can perform a number of internal operations. Such as: storing data, Arithmetic & Logic operations, Testing for condition, etc. – To perform these operations, the microprocessor needs an internal architecture similar to the following: Accumulator Flags B C D E H L Program Counter Stack Pointer DataAddress 816
  • 12. Dr. Bassel SoudanMicroprocessors & Interfacing 12 The Internal Architecture • We have already discussed the general purpose registers, the Accumulator, and the flags. • The Program Counter (PC) – This is a register that is used to control the sequencing of the execution of instructions. – This register always holds the address of the next instruction. – Since it holds an address, it must be 16 bits wide.
  • 13. Dr. Bassel SoudanMicroprocessors & Interfacing 13 The Internal Architecture • The Stack pointer – The stack pointer is also a 16-bit register that is used to point into memory. – The memory this register points to is a special area called the stack. – The stack is an area of memory used to hold data that will be retreived soon. – The stack is usually accessed in a Last In First Out (LIFO) fashion.
  • 14. Dr. Bassel SoudanMicroprocessors & Interfacing 14 Externally Initiated Operations • External devices can initiate (start) one of the 4 following operations: – Reset • All operations are stopped and the program counter is reset to 0000. – Interrupt • The microprocessor’s operations are interrupted and the microprocessor executes what is called a “service routine”. • This routine “handles” the interrupt, (perform the necessary operations). Then the microprocessor returns to its previous operations and continues.
  • 15. Dr. Bassel SoudanMicroprocessors & Interfacing 15 Externally Initiated Operations – Ready • The 8085 has a pin called RDY. This pin is used by external devices to stop the 8085 until they catch up. • As long as the RDY pin is low, the 8085 will be in a wait state. – Hold • The 8085 has a pin called HOLD. This pin is used by external devices to gain control of the busses. • When the HOLD signal is activated by an external device, the 8085 stops executing instructions and stops using the busses. • This would allow external devices to control the information on the busses. Example DMA.
  • 16. Dr. Bassel SoudanMicroprocessors & Interfacing 16 The Design and Operation of Memory • Memory in a microprocessor system is where information (data and instructions) is kept. It can be classified into two main types: • Main memory (RAM and ROM) • Storage memory (Disks , CD ROMs, etc.) – The simple view of RAM is that it is made up of registers that are made up of flip-flops (or memory elements). • The number of flip-flops in a “memory register” determines the size of the memory word. – ROM on the other hand uses diodes instead of the flip-flops to permanently hold the information.
  • 17. Dr. Bassel SoudanMicroprocessors & Interfacing 17 Accessing Information in Memory • For the microprocessor to access (Read or Write) information in memory (RAM or ROM), it needs to do the following: – Select the right memory chip (using part of the address bus). – Identify the memory location (using the rest of the address bus). – Access the data (using the data bus).
  • 18. Dr. Bassel SoudanMicroprocessors & Interfacing 18 Tri-State Buffers • An important circuit element that is used extensively in memory. • This buffer is a logic circuit that has three states: – Logic 0, logic1, and high impedance. – When this circuit is in high impedance mode it looks as if it is disconnected from the output completely. The Output is Low The Output is High High Impedance
  • 19. Dr. Bassel SoudanMicroprocessors & Interfacing 19 The Tri-State Buffer • This circuit has two inputs and one output. – The first input behaves like the normal input for the circuit. – The second input is an “enable”. • If it is set high, the output follows the proper circuit behavior. • If it is set low, the output looks like a wire connected to nothing. Input Output Enable Input Output Enable OR
  • 20. Dr. Bassel SoudanMicroprocessors & Interfacing 20 The Basic Memory Element • The basic memory element is similar to a D latch. • This latch has an input where the data comes in. It has an enable input and an output on which data comes out. QD EN Data Input Data Output Enable
  • 21. Dr. Bassel SoudanMicroprocessors & Interfacing 21 The Basic Memory Element • However, this is not safe. – Data is always present on the input and the output is always set to the contents of the latch. – To avoid this, tri-state buffers are added at the input and output of the latch. QD EN Data Input Data Output Enable WR RD
  • 22. Dr. Bassel SoudanMicroprocessors & Interfacing 22 The Basic Memory Element • The WR signal controls the input buffer. – The bar over WR means that this is an active low signal. – So, if WR is 0 the input data reaches the latch input. – If WR is 1 the input of the latch looks like a wire connected to nothing. • The RD signal controls the output in a similar manner.
  • 23. Dr. Bassel SoudanMicroprocessors & Interfacing 23 A Memory “Register” • If we take four of these latches and connect them together, we would have a 4-bit memory register WR RD EN Q D EN Q D EN Q D EN Q D EN I0 I1 I2 I3 O0 O1 O2 O3
  • 24. Dr. Bassel SoudanMicroprocessors & Interfacing 24 A group of memory registers – Expanding on this scheme to add more memory registers we get the diagram to the right. D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D EN Q D0 D1 D2 D3 D0 D1 D2 D3 oooo oooo WR RD
  • 25. Dr. Bassel SoudanMicroprocessors & Interfacing 25 A group of Memory Registers – If we represent each memory location (Register) as a block we get the following Input Buffers Output Buffers Memory Reg. 0 Memory Reg. 1 Memory Reg. 2 Memory Reg. 3 I0 I1 I2 I3 O0 O1 O2 O3 WR EN0 EN1 EN2 EN3 RD
  • 26. Dr. Bassel SoudanMicroprocessors & Interfacing 26 The Design of a Memory Chip • Using the RD and WR controls we can determine the direction of flow either into or out of memory. Then using the appropriate Enable input we enable an individual memory register. • What we have just designed is a memory with 4 locations and each location has 4 elements (bits). This memory would be called 4 X 4 [Number of location X number of bits per location].
  • 27. Dr. Bassel SoudanMicroprocessors & Interfacing 27 The Enable Inputs • How do we produce these enable line? – Since we can never have more than one of these enables active at the same time, we can have them encoded to reduce the number of lines coming into the chip. – These encoded lines are the address lines for memory.
  • 28. Dr. Bassel SoudanMicroprocessors & Interfacing 28 The Design of a Memory Chip – So, the previous diagram would now look like the following: Input Buffers Output Buffers Memory Reg. 0 Memory Reg. 1 Memory Reg. 2 Memory Reg. 3 I0 I1 I2 I3 O0 O1 O2 O3 WR RD A d d r e s s D e c o d e r A1 A0
  • 29. Dr. Bassel SoudanMicroprocessors & Interfacing 29 The Design of a Memory Chip • Since we have tri-state buffers on both the inputs and outputs of the flip flops, we can actually use one set of pins only. – The chip would now look like this: Input Buffers Output Buffers Memory Reg. 0 Memory Reg. 1 Memory Reg. 2 Memory Reg. 3 WR RD A d d r e s s D e c o d e r A1 A0 D0 D1 D2 D3 D0 D1 D2 D3 A1 A0 RD WR
  • 30. Dr. Bassel SoudanMicroprocessors & Interfacing 30 The steps of writing into Memory • What happens when the programmer issues the STA instruction? – The microprocessor would turn on the WR control (WR = 0) and turn off the RD control (RD = 1). – The address is applied to the address decoder which generates a single Enable signal to turn on only one of the memory registers. – The data is then applied on the data lines and it is stored into the enabled register.
  • 31. Dr. Bassel SoudanMicroprocessors & Interfacing 31 Dimensions of Memory • Memory is usually measured by two numbers: its length and its width (Length X Width). • The length is the total number of locations. • The width is the number of bits in each location. – The length (total number of locations) is a function of the number of address lines. # of memory locations = 2( # of address lines) • So, a memory chip with 10 address lines would have 210 = 1024 locations (1K) • Looking at it from the other side, a memory chip with 4K locations would need Log2 4096=12 address lines
  • 32. Dr. Bassel SoudanMicroprocessors & Interfacing 32 The 8085 and Memory • The 8085 has 16 address lines. That means it can address 216 = 64K memory locations. – Then it will need 1 memory chip with 64 k locations, or 2 chips with 32 K in each, or 4 with 16 K each or 16 of the 4 K chips, etc. • how would we use these address lines to control the multiple chips?
  • 33. Dr. Bassel SoudanMicroprocessors & Interfacing 33 Chip Select • Usually, each memory chip has a CS (Chip Select) input. The chip will only work if an active signal is applied on that input. • To allow the use of multiple chips in the make up of memory, we need to use a number of the address lines for the purpose of “chip selection”. – These address lines are decoded to generate the 2n necessary CS inputs for the memory chips to be used.
  • 34. Dr. Bassel SoudanMicroprocessors & Interfacing 34 Chip Selection Example – Assume that we need to build a memory system made up of 4 of the 4 X 4 memory chips we designed earlier. – We will need to use 2 inputs and a decoder to identify which chip will be used at what time. – The resulting design would now look like the one on the following slide.
  • 35. Dr. Bassel SoudanMicroprocessors & Interfacing 35 Chip Selection Example CS RD WR A0 A1 CS RD WR A0 A1 CS RD WR A0 A1 CS RD WR A0 A1 2 X4 DecoderA3 A2 A1 A0 RD WR D1 D0
  • 36. Dr. Bassel SoudanMicroprocessors & Interfacing 36 Memory Map and Addresses • The memory map is a picture representation of the address range and shows where the different memory chips are located within the address range. 0000 FFFF AddressRange RAM 1 RAM 2 RAM 3 RAM 4 EPROM 0000 3FFF 4400 5FFF 6000 8FFF 9000 A3FF A400 F7FF Address Range of EPROM Chip Address Range of 1st RAM Chip Address Range of 2nd RAM Chip Address Range of 3rd RAM Chip Address Range of 4th RAM Chip
  • 37. Dr. Bassel SoudanMicroprocessors & Interfacing 37 Address Range of a Memory Chip • The address range of a particular chip is the list of all addresses that are mapped to the chip. – An example for the address range and its relationship to the memory chips would be the Post Office Boxes in the post office. – Each box has its unique number that is assigned sequentially. (memory locations) – The boxes are grouped into groups. (memory chips) – The first box in a group has the number immediately after the last box in the previous group.
  • 38. Dr. Bassel SoudanMicroprocessors & Interfacing 38 Address Range of a Memory Chip – The above example can be modified slightly to make it closer to our discussion on memory. – Let’s say that this post office has only 1000 boxes. – Let’s also say that these are grouped into 10 groups of 100 boxes each. Boxes 0000 to 0099 are in group 0, boxes 0100 to 0199 are in group 1 and so on. – We can look at the box number as if it is made up of two pieces: – The group number and the box’s index within the group. – So, box number 436 is the 36th box in the 4th group. The upper digit of the box number identifies the group and the lower two digits identify the box within the group.
  • 39. Dr. Bassel SoudanMicroprocessors & Interfacing 39 The 8085 and Address Ranges • The 8085 has 16 address lines. So, it can address a total of 64K memory locations. – If we use memory chips with 1K locations each, then we will need 64 such chips. – The 1K memory chip needs 10 address lines to uniquely identify the 1K locations. (log2 1024 = 10) – That leaves 6 address lines which is the exact number needed for selecting between the 64 different chips (log2 64 = 6).
  • 40. Dr. Bassel SoudanMicroprocessors & Interfacing 40 The 8085 and Address Ranges • Now, we can break up the 16-bit address of the 8085 into two pieces: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 – Depending on the combination on the address lines A15 - A10 , the address range of the specified chip is determined. Location Selection within the ChipChip Selection
  • 41. Dr. Bassel SoudanMicroprocessors & Interfacing 41 High-Order vs. Low-Order Address Lines • The address lines from a microprocessor can be classified into two types: – High-Order • Used for memory chip selection – Low-Order • Used for location selection within a memory chip. – This classification is highly dependent on the memory system design.
  • 42. Dr. Bassel SoudanMicroprocessors & Interfacing 42 Data Lines • All of the above discussion has been regarding memory length. Lets look at memory width. • We said that the width is the number of bits in each memory word. – We have been assuming so far that our memory chips have the right width. – What if they don’t? • It is very common to find memory chips that have only 4 bits per location. How would you design a byte wide memory system using these chips? • We use two chips for the same address range. One chip will supply 4 of the data bits per address and the other chip supply the other 4 data bits for the same address.
  • 43. Dr. Bassel SoudanMicroprocessors & Interfacing 43 Data Lines CS A0 … A9 CS CS D0 … D3 D4 … D7