Microprocessors &
Microcontrollers
Lecture 16(3 hour)
08/03/2022
Multiprocessor Configuration
• Refers to the use of multiple processors that executes
instructions simultaneously and communicate with each
other.
• Each processor shares its own cache memory and registers for
processing of data.
• Maximum mode of 8086 is designed to implement three basic
multiprocessor configuration:
1. Coprocessor configuration
2. Closely coupled configuration
3. Loosely coupled configuration
Advantages of Multiprocessor
Configuration
• Several low cost processor may be combined
• Easy to add more processor for expansion
• During failure, easier to replace the faulty processor.
• High system throughput
• System can be expanded in modular form
Coprocessor Configuration
• A coprocessor is a special designed circuit on micro-
processor chip which can perform some task very quickly.
• Reduces the workload of the main processor.
• Coprocessor handles specialized tasks like mathematical
calculations, graphical display on screen etc.
• These external processor shares the:
1. Memory
2. I/O system
3. Bus control logic
4. Clock generator
Coprocessor Configuration
8086 & 8087 Connections
8086 8087
Coprocessor Flow Chart
Architecture of 8087
Closely Coupled Configuration
• It will take care of I/O activity's of processor
Closely Coupled Configuration Flow
Chart
8086 & 8089 Connections
Architecture of 8089
Loosely Coupled Configuration
• Consist of number of modules which are
connected through a common bus
• Each module consist of its own clock
generator, memory, I/O devices and are
connected through a local bus
Loosely Coupled Configuration
Advantages
• Having more than one processor results in
increased efficiency.
• Each of the processors have their own local bus
to access the local memory, I/O devices. This
makes it easy to achieve parallel processing.
• The system structure is flexible, i.e. the failure of
one module doesn’t affect the whole system
failure; faulty module can be replaced late
Bus Allocation Scheme (Bus
Arbitration)
• By using this scheme we allocate buses to
processor and for external I/O devices.
1. Daisy chaining method
2. Polling method
3. Independent request method
Daisy Chaining Method
BBY
Daisy Chaining Method
• Advantages:
1. Requires least number of lines
2. Very simple and cheaper method
• Disadvantages:’
1. Failure of master causes whole system failure
2. Priority of master is fixed
Polling Method
Polling Method
• Advantages:
1. If one system fail, no problem will be in other
devices
• Disadvantages:
1. Due to polling lines, polling delay occurs.
Independent Request Method
Independent Request Method
• Advantage: Fastest method
• Disadvantage: Complex system
Multi-programming
• A multiprogramming is a parallel processing in which the multiple
programs can run simultaneously
• Multiprogramming is the allocation of more than one concurrent
program on a computer system and its resources
• Works on time-multiplexed fashion
• Advantages:
Increases CPU utilization
Maximizes total job throughput
• Disadvantages:
More complex
OS must keep track of all kind of jobs running parallely
Multi-programming
Multi-programming
• Process Management
1. Ready
2. Blocked
3. Running
Input Output Programming:8086
• The I/O operation is defined as the transfer of
data between microprocessor and the
external world.
• Three ways of transferring data:
1. Programmed I/O
2. Interrupt I/O
3. Direct Memory Access (DMA)
Input Output Programming:8086
• Programmed I/O: The microprocessor executes a
program to perform all data transfer between the
microprocessor and the external devices via one or
more register called I/O ports.
• Interrupt I/O: An external device can force the
microprocessor to stop executing the current program
temporarily so that it can execute another program
known as interrupt service routine.
• Direct Memory Access (DMA): An interface chip called
DMA controller chip is used with the microprocessor
for transferring data via
DMA.(8257controller)(architecture of 8257)
Input Output Programming:8086
• Two instructions: “OUT” and “IN” send data from the accumulator (AL or
AX) to ports or bring data from ports into the accumulator.
• I/O instructions are used in programming 8- and 16-bit peripheral devices.
– Printers, hard disks, and keyboards.
• 16-bit port address instruction using register indirect addressing mode
with register DX.
• Only DX can be used for 16-bit I/O addresses.
• – Use register AL for 8-bit data.
Input Output Programming:8086
• Example. Write a sequence of instructions
that will output the data FF H to a byte wide
output at address AB Hof the I/O address
space
• MOV AL,0FFh
• OUT 0ABh, AL
Input Output Programming:8086
• Example. Data is to be read from two byte wide
input ports at addresses AA Hand A9 H and then
this data will then be output to a word wide
output port at address B000H
• IN AL, 0AAH
• MOV AH,AL
• IN AL, 0A9H
• MOV DX,0B00H
• OUT DX,AX
THANK YOU