SlideShare a Scribd company logo
MICROPROCESSORS-8086

Architecture
Programming
Interfacing
FOR CONVINIRNT STUDY OF MICROPROCESSORS
TWO TYPES OF MODELS ARE USED :

PROGRAMMER’S MODEL :- THIS MODEL SHOWS
FEATURES , SUCH AS INTERNAL REGISTERS,
ADDRESS ,DATA & CONTROL BUSES ; THAT WE
NEED TO PROGRAM THE DEVICE.

THE HARDWARE MODEL:- THIS MODEL SHOWS
THE PIN DIAGRAM AND THE SIGNALS TO/FROM
THIS PINS TO UNDERSTAND HOW A
MOCROCOMPUTER SYSTEM IS BUILT AROUND.
MICROCOMPUTER
A MICROCOMPUTER SYSTEM IS ONE WHICH
USES A MICROPROCESSOR AS ITS CPU
IN ADDITION THE MICROCOMPUTER
ALSO HAS A MEMORY UNIT,INPUT/OUTPUT
DEVICES AND SYSTEM BUSES.
 THE SYSTEM BUSES ARE OF THREE
  TYPES:
  1.ADDRESS BUS
  2.DATA BUS
  3.CONTROL BUS

PHYSICALLY BUSES ARE GROUP OF WIRES
8086 BUSES
THE 8086 HAS
20 ADDRESS LINES
16 DATA LINES
4-10 CONTROL LINES.

WITH THIS THE 8086 IS ABLE
TO ADDRESS 1,048,,576 (220 ) MEMORY
LOCATIONS/PORTS.
TO MANIPULATE AND/OR OPERATE ON 16-
BITS(2-BYTES) OF DATA AT A TIME.
TO GENERATE NECESSARY CONTROL SIGNALS.
ARCHITECTURE
THE INTERNAL ARCHITECTURE OF 8086 CAN BE
MAINLY DIVIDED INTO TWO UNITS:
BUS INTERFACE UNIT (BIU)
EXECUTION UNIT (EU)

THE BIU CONTAINS :
CODE SEGMENT REGISTER (CS)


 DATA SEGMENT REGISTER (DS)
 EXTRA SEGMENT REGISTER (ES)
STACK SEGMENT REGISTEER (SS) AND
 INSTRUCTION POINTER (IP)
THE EU CONTAINS THE FOLLOWING 8-BIT
REGISTERS:
AH & AL (AX-16 BIT)
BH & BL (BX-16 BIT)
CH & CL (CX-16 BIT)
DH 7 DL (DX-16 BIT)
IT ALSO INCLUDES THE FOLLOWING 16-BIT
REGISTERS:
STACK POINTER (SP)
BASE POINTER (BP)
SOURCE INDEX (SI)
DESTINATION INDEX (DI)
8086 SYSTEM
CONNECTIONS,TIMING &
 TROUBLESHOOTING
40   VCC
                                      AD15
          GND     1                     A16-A19
                  2                     & S3-S6
                                 35
                                 34    BHE/S7
                                 33   MN/MX
                                 32    RD
AD14 TO                          31    RQ/GTO(HOLD)
AD0                              30    RQ/GT1(HLDA)
                      8086 CPU   29    LOCK (WR)
                                 28    S2 (M/IO)
                                 27    S1 (DT/R)
                 16
           NMI                   26    S0 (DEN)
                 17
          INTR   18              25    QS0 (ALE)
          CLK    19              24    QS1(INTA)
          GND    20
                                 23   TEST
     RESET       21              22   READY
BASIC 8086 MINIMUM MODE SYSTEM

                    MN/MX
              CLK   M/IO
8284A
              READY
CLOCK               INTA
              RESET
GENE-
                    RD
RATOR
                   WR
                             8282
                   DT/R
                             LATCH
                   DEN
                   ALE                           ADDR
WAIT STATE
GENERATOR          AD0-
                   AD15
                   A16-A19




                             8286
                             TRAN-
  ADDR/DATA                  CEIVER
                                                        DATA




                                      RAM 2142                    PERI-
                                                           2716
                                                                  PHERAL
                                                           PROM
TIMING SEQUENCE
AN EXTERNAL CLOCK GENERATOR DEVICE IS
CONNECTED TO 8086 TO PROVIDE CLOCK SIGNALS
THROUGHOUT THE SYSTEM.
ONE CYCLE OF CLOCK IS CALLED A STATE OR T-
STATE.
EACH BASIC OPERATION SUCH AS READING A
MEMORY LOCATION OR WRITING TO A PORT
REQUIRES SEVERAL STATES.THIS GROUP OF STATES IS
CALLED A MACHINE CYCLE.
THE TOTAL TIME REQUIRED TO FETCH AND
EXECUTE AN INSTRUCTION IS CALLED AN
INSTRUCTION CYCLE. AN INSTRUCTION CYCLE
CONSISTS OF ONE OR MORE MACHINE CYCLE.
BASIC SIGNAL FLOW ON 8086
             BUSES
BASICALLY THERE ARE TWO OPERATIONS TO SEE:
1.READ OPERATION
2. WRITE OPERATION
WILL SEE WHAT IS GOING ON DURING THIS TWO
CYCLES OF OPERATION.
READ CYCLE
HERE WE WILL SEE THE ACTIVITIES CARRIED OUT
ON 8086 BUSES AT VARIOUS TIME INSTANTS WHEN IT
READS FROM A MEMORY LOCATION OR FROM A
PORT.
HERE WE WILL ASSUME THAT THE 8086 IS
OPERATED IN IS MINIMUM MODE.
T1            T2   T3         TW       T4

 CLK

M/IO

 ALE
               MEMORY ACCESS TIME
ADDR/                        RESERVED        VALID
               A15-A0
DATA                         FOR DATA        D15-D0

ADDR/          A19-A16
STATUS
RD/INTA
READY
DT/R
DEN
WRITE CYCLE
HERE WE WILL SEE THE ACTIVITIES CARRIED OUT
ON 8086 BUS AT VARIOUS TIME INSTANTS WHEN IT
WRITES TO A PORT OR A MEMORY LOCATION.

HERE WE WILL ASSUME THAT THE 8086 IS
OPERATED IN IS MINIMUM MODE.
T1            T2    T3          TW     T4

 CLK

M/IO

 ALE

ADDR/
              A15-A0        DATA OUT (D15-D0)
DATA
ADDR/         A19-A16
STATUS
  WR
READY
DT/R
DEN
ADDRESSING

 1. ADDRESSING MEMORY

 2. ADDRESSING PORTS

DECODER IS THE CIRCUITRY USED FOR ADDRESING. IT
SERVES TWO PURPOSES:
TO ENABLE RAM,ROM OR PORT.
TO MAKE SURE THAT ONLY ONE DEVICE IS ENABLED
AT A TIME.
A SYSTEM ROM DECODER
TO UNDERSTAND THE CONCEPT A GENERAL DIGITAL
SYSTEM WITH 8 DATA LINES AND 16 ADDRESS LINES IS
CONSIDERED.


THE HARDWARE USED CONSIST
 2732 ROM-8(EACH-4 KB)
 74LS138 DECODER/DEMULTIPLEXER
 16 ADDRESS LINES
 8 DATA LINES
A0
A1
A2


A11


            ROM 0            ROM 1      ROM 7

      CS 2732             CS 2732    CS 2732


                                                D0

                                                D5
                                                D6
                                                D7


 Y0 Y1      Y7      A12
    74LS138         A13
 G2A G2B G1         A14


A15    RD    +5V
ADDRESS DECODER WORKSHEET
           A15 &     A11-A8    A7-A4     A3-A0     HEX EQUI.
           A14-A12                                 ADDRESS
ROM0 ST.   0 0 0 0   0 0 0 0   0 0 0 0   0 0 0 0   =0 0 0 0
    END    0 0 0 0   1 1 1 1   1 1 1 1   1 1 1 1   =0 F F F
ROM1 ST.   0 0 0 1   0 0 0 0   0 0 0 0   0 0 0 0   =1 0 0 0
    END    0 0 0 1   1 1 1 1   1 1 1 1   1 1 1 1   =1 F F F
ROM2 ST.   0 0 1 0   0 0 0 0   0 0 0 0   0 0 0 0   =2 0 0 0
    END    0 0 1 0   1 1 1 1   1 1 1 1   1 1 1 1   =2 F F F
ROM3 ST.   0 0 1 1   0 0 0 0   0 0 0 0   0 0 0 0   =3 0 0 0
    END    0 0 1 1   1 1 1 1   1 1 1 1   1 1 1 1   =3 F F F
ROM4 ST.   0 1 0 0   0 0 0 0   0 0 0 0   0 0 0 0   =4 0 0 0
    END    0 1 0 0   1 1 1 1   1 1 1 1   1 1 1 1   =4 F F F
ROM5 ST.   0 1 0 1   0 0 0 0   0 0 0 0   0 0 0 0   =5 0 0 0
    END    0 1 0 1   1 1 1 1   1 1 1 1   1 1 1 1   =5 F F F
ROM6 ST.   0 1 1 0   0 0 0 0   0 0 0 0   0 0 0 0   =6 0 0 0
    END    0 1 1 0   1 1 1 1   1 1 1 1   1 1 1 1   =6 F F F
ROM7 ST.   0 1 1 1   0         0 0 0 0   0 0 0 0   =7 0 0 0
    END    0 1 1 1             1 1 1 1   1 1 1 1   =7 F F F
A SYSTEM RAM DECODER
 TO THE SAME SYSTEM WE WANT TO ADD 16KB
 RAM.SO ADDITIONAL HARDWARE WE REQUIRE:

2142 RAM-8(EACH 2KB)
 ONE MORE 74LS138 DECODER/DEMULTIPLEXER

SINCE WE HAVE EACH RAM OF 2KB(2048 BYTES) ,WE
NEED 11 ADDRESS LINES TO ADDRESS EACH MEMORY
LOCATION WITHIN A RAM.AS WE HAVE OCCUPIED
ADDRESSES 0000 THROUGH 7FFF FOR ROM.WE MUST
START RAM ADDRESSES AFTER 7FFF.
SO WE HAVE 5 MORE ADDRESS LINES.WHICH WE
WILL USE TO PROVIDE ADDRESS DECODING.
A0
A1
A2


A10


         RAM 0            RAM 1      RAM 7

      CS 2142          CS 2142    CS 2142


                                             D0

                                             D5
                                             D6
                                             D7


 Y0 Y1      Y7   A11
    74LS138      A12
 G2A G2B G1      A13


A14   GND A15
Microprocessors 1-8086
A SYSTEM PORT DECODER
A SYSTEM PORT CAN BE ADDRESSED IN TWO WAYS :
1. USING MEMORY MAPPED I/O- HERE A PORT
   IS TREATED AS IF IT IS A MEMORY LOCATION.
 IT USES MEMORY RELATED INSTRUCTIONS.
 THE OPERATION IS FASTER.
•     A MAXIMUM OF 1MB INPUT AND 1MB(220)
    OUTPUT DEVICES CAN BE ADDRESSED.
•     IT USES MEM.READ AND MEM.WRITE
    CONTROL SIGNALS.
 IT CONSUMES THE ADDRESS RANGE USED BY
  PROGRAM MEMORY.
   DECODING IS COMPLEX.
2. USING DIREC I/O-HERE AN INPUT OR AN OUTPUT
   DEVICE IS TREATED AS A DISTINCT I/O DEVICE.
     IT DOES NOT CONSUME PROGRAM MEMORY.
     THE DECODING IS SIMPLE.
     IT USES IN AND OUT INSTRUCTIONS.
•      A MAXIMUM OF 64K BYTE TYPE INPUT AND
    OUTPUT DEVICES CAN BE ADDRESSED OR 32K
    WORD TYPE INPUT AND OUTPUT DEVICES CAN
    BE ADDRESSED.
•     IT USES IORD AND IOWRT CONTROL SIGNALS.
     OPERATION IS SLOWER.
A15
A14         G1              Y0
                            Y1   CS (CHIP
                                 SELECT)
                            Y2   SIGNAL
      A13   G2B
                            Y3   FOR PORT
                 74LS138         DEVICES
                            Y4

      A12                   Y5
            G2A
                            Y6
                            Y7




            A5    A4       A3
8086 PHYSICAL MEMORY
THE TOTAL MEMORY (1MB) OF 8086 IS ARRANGED IN
TWO BANKS. AN ODD BANK AND AN EVEN BANK.
BOTH THE BANKS HAVE EQUAL NO. OF LOCATIONS.
THE ODD BANK CONTAINS ODD NUMBERED MEM.
LOCATIONS.IT IS KNOWN AS UPPER BANK.
THE EVEN BANK CONTAINS ONLY EVEN NUMBERED
MEM. LOCATIONS.IT IS KNOWN AS LOWER BANK.
THIS ARRANGE MENT IS DONE IN ORDER TO SPEED
UP THE OPERATION.
THE ARRANGEMENT AND THE SIGNAL FOLLOWED,
EXPLAINS THE SAME.
THE 8086 MEMORY BANK
UPPER BANK             LOWER BANK




   ODD                    EVEN


  CS                     CS



BHE             A1---A19 A0
       D15-D8                 D7-D0
Microprocessors 1-8086
ADDRESSING WITH 8086


PROBLEM: TWO 16K ROM AND TWO 32K RAM
ARE REQUIRED TO BE INTERFACED WITH 8086
CPU.THE RAM ADDRESS MUST START AT
00000H.THE ROM ADDRESS RANGE MUST INCLUDE
FFFF0H IN ITS RANGE.
ADDRESS MAP
THE RAM ADDRESS STARTS AT 00000H.
TOTAL RAM IS 2*32K.
SO RAM ADDRESS RANGE IS FROM 00000H TO
0FFFFH.(FFFF-0000)H=216 =64K.
SINCE THE ROM ADDRESS MUST INCLUDE FFFF0H.
WE TAKE LAST ADDRESS OF ROM AS FFFFFH.
AS TOTAL SPACE FOR ROM IS 2*16K,THE FIRST
ADDRESS FOR ROM IS F8000H. (FFFFF-
F8000)H=215=32K.
ADDRESS LINES A1-A14 ARE CONNECTED TO
ROM.ADDRESS LINES A1-A15 ARE CONNECTED TO
RAM.AND REMAINING LINES ARE USED FOR CHIP
SELECTION.(NOTE: A0 IS RESERVED FOR BANKS.)
TO GENERATE THE CHIP SELECT SIGNAL THE
FOLLOWING LOGIC IS USED:
THE CHIPSELECT SIGNAL IS ACTIVE LOW.
SO A PARTICULAR CHIP CAN BE SELECTED ONLY
WHEN THIS SIGNAL IS LOW.
SECONDLY AT A TIME ONLY ONE CHIP SHOULD BE
SELECTED.
FURTHER ,THE ODD BANK WILL BE ENABLED ONLY IF
BHE SIGNAL IS ACTIVATED.AND THE EVEN BANK WILL
BE ENABLED ONLY IF AO SIGNAL IS LOW.
Microprocessors 1-8086
Microprocessors 1-8086
HERE WE CONSIDER AS AN EXAMPLE A SYSTEM WITH
FEW PORTS.
AN 8251(UNIVERSAL SYNCHRONOUS
ASYNCHRONOUS RECEIVER TRANSMITTER)
TWO 8255A(PROGRAMMABLE PARALLEL PORTS.)
AN 8279 (DISPLAY AND KEYBOARD INTERFACING.)
AN 8275 (CRT CONTROLLER)
AN 8272A(FLOPPY DISK CONTRLLER)
BHE OFFBOARD

                                        P
A15            G2A G2B                  O
A5         G                            R
                                        T
                          Y0   8255-1
                                        S
                          Y1   8255-2
                                        E
      A4                  Y2   8251
                                        L
                          Y3   8279
                74LS138                 E
                          Y4   8275
                               8272     C
                          Y5
      A3                                T
                          Y6
                          Y7          RESERVED
      A2                              FOR FUTURE
                                      USE.
MAP FOR PORTS
         A15-A5   A4   A3   A2   A1   A0   EQUI HEX
                                           ADDRESS
8255-1   1        0    0    0              =F F E O
                                           =F F E 3
8255-2   1        0    0    1              =F F E 4
                                           =F F E 7
8251     1        0    1    0              =F F E 8
                                           =F F E B
8279     1        0    1    1              =F F E C
                                           =F F E F
8275     1        1    0    0              =F F F 0
                                           =F F F 3
8272     1        1    0    1              =F F F 4
                                           =F F F 7
LINES A1 AND A0 ARE USED FOR SETTING INTERNAL
REGISTERS OF THE ADDRESSED PORT.
NOTE THAT THIS IS AN ABSOLUTE ADDRESSING.i.e.
A PORT CAN BE SELECTED FOR ONLY ONE ADDRESS.
NON-ABSOLUTE ADDRESING ALSO EXISTS.THERE A
PORT CAN BE SELECTED FOR MORE THAN ONE
ADDRESSES.
THE OFF-BOARD DECODER
THE SDK-86 USES AN OFF-BOARD CIRCUITRY .
THE PURPOSE OF THIS CIRCUITRY IS TO PRODUCE AN
ACTIVE LOW OFF BOARD SIGNAL WHENEVER THE 8086
ADDRESSES A PORT OR MEMORY WHICH IS NOT
DECODED ON THE SDK-86 BOARD.
USUALLY WHEN WE CONNECT ADDITIONAL PORT
USING DIRECT I/O, THIS DEVICE IS CONSIDERED AS
OFF-BOARD(OUT OF THE DECODING MAP OF THE
SYSTEM).
SO WHENEVER THIS PORT IS CALLED UPON,THE 8086
ASSERTS THE OFF BOARD SINAL.
TO COMMUNICATE WITH OFF BOARD DEVICES,EXTRA
HARDWARE SUCH AS 74LS138 OR AN EPROM DECODER
IS REQUIRED FOR ADDRESSING THIS DEVICE.
8088 MEMORY AND PORT
          ADDRESSING
IN 8088 THERE ARE ONLY 8 DATA LINES AND 20
ADD.LINES.
THE 8088 MEMORY IS NOT DEVIDED INTO ODD
AND EVEN BANKS.BUT THERE IS ONLY A SINGLE
BANK.
THERE ARE 1MB LOCATIONS EACH 1-BYTE
LONG.SO TO READ OR WRITE A WORD 8088
REQUIRES TWO MACHINE CYCLES ALWAYS.
THE 8086 TIMING PARAMETERS

THE 8086 TIMING PARAMETERS ARE REQUIRED TO FIND
WHETHER A PARTICULAR DEVICE IS FAST ENOUGH TO
WORK IN OUR SYSTEM. IF NOT WE CAN USE WAIT STATES TO
ALLOW THE SLOW DEVICE TO RESPOND.


THE 8086 RECEIVES TWO DIFFERENT CLOCK SIGNALS FRON
8284 CLOCK GENERATOR: 4.9MHz AND 2.45MHz USING A
DIVIDE BY 2 NETWORK.
NOW SUPPOSE THAT 8086 USES A FREQ. OF 4.9 MHz AND WE
WANT TO DETERMINE WHETHER 2716 EPROMs ARE ABLE TO
WORK CORRECTLY WITH OUR SYSTEM.
TO READ FROM EPROM, WE NEED TO PROVIDE ITS
ADDRESS,WE ALSO NEED TO PROVIDE ITS CHIP SELECT
SIGNAL AND IN ADDITION WE ALSO NEED TO ENABLE ITS
OUTPUT.

FOR THIS ,THE 8086 PROVIDES ON AD0-AD15 THE ADDRESS
OF THE PARTICULAR LOCATION,THE CE (CHIP ENABLE-
ACTIVE LOW) SIGNAL AND OE (OUTPUT ENABLE-AVTIVE
LOW SIGNAL).
FROM A DATA BOOK THE TYPICAL ACCESS TIMES FOR
EPROM 2716 ARE:
Tacc : 450 ns
THIS MEANS THAT IF 2716 HAS ITS CE AND OE SIGNALS
ENABLED,THAN IT WILL TAKE AT THE MAX. 450 ns,AFTER
THE ADDREES IS PUT ON AD0-AD15 LINES.
Tce: 450 ns
THIS MEANS THAT THE ADDRESS AND OE SIGNALS ARE
ALREADY ENABLED THAN IT WILL TAKE AT THE MAX. ,450 ns
AFTER CE SIGNAL IS ENABLED.
Toe: 120 ns
THIS THE MAX. TIME REQUIRED WHEN AD0-AD15 AND CE
SIGNALS ARE ENABLED BUT OUTPUT BUFFERS OF 2716 ARE
NOT ENABLED.
NEXT, WE CHECK THAT EACH OF THESE TIMES ARE SHORT
ENOUGH TO WORK WITH 8086 AT 4.9MHz.

LOOKING AT THE WAVE FORMS OF READ CYCLE THERE IS
A TIME GAP BETWEEN THE STARTING OF STATE-T1 AND THE
TIME AT WHICH VALID ADDRESS IS AVAILABLE.
THIS TIME INTERVAL IS SYMBOLISED AS TCLAV TIME
FROM CLOCK LOW TO ADDRESS VALID. AS PER 8086 DATA
SHEET THIS TIME IS 110 ns MAX.
AGAIN LOOKING AT READ CYCLE ,WE FIND THAT VALID
DATA MUST BE AVAILABLE BEFORE THE END OF T3.THERE
ALSO EXISTS A TIME GAP BETWEEN ,THE LINE IS AVAILABLE
FOR PUTTING VALID DATA AND THE END OF STATE-T3.
THIS TIME INTERVAL IS SYMBOLISED AS TDVCL TIME
DATA MUST BE VALID BEFORE CLOCK GOES LOW. AS PER 8086
DATA SHEET THIS TIME IS 30 ns.
THE TIME BETWEEN THE END OF TCLAV AND THE START
OF TDVCL IS THE TIME AVAILABLE FOR GETTING THE
ADDRESS TO THE MEMORY AND TO Tacc THE MEMORY
DEVICE.
THE TIME BETWEEN THE START OF TCLAV AND THE END
OF TDVCL IS 3 T-STATES.
AT 4.9 MHz ,TIME FOR ONE T-STATE IS 2.04 ns. SO TOTAL
TIME FOR 3 STATES IS 612 ns.
FROM THIS WE SUBTRACT TCLAV AND TDVCL.
=612-110-30=472 ns.
SO, 472 ns AVAILABLE FOR CALLING 2716 AND ACCESSING
ITS DATA.
NOW,LOOKING AT THE MINIMUM MODE SYSTEM,WE SEE
THAT THE ADDRESS INFORMATION FOR 2716 GOES THROUGH
LATCHES 74S373. SO, THE PROPOGATION DELAY FOR THIS
MUST BE SUBTRACTED FROM 472 ns.THE PROPAGATION
DELAY (CALLING TIME OR GETTING ADDRESS TO 2716 TIME)
IS 12 ns. THIS LEAVES 472-12=460 ns AS Tacc.
SO FROM THIS WE SEE THAT THE Tacc NEEDED FOR 2716 IS
450 ns max. WHILE THE 8086 PROVIDES 460 ns, AT LEAST.
SO, WE CONCLUDE THAT WE DO NOT NEED ANY WAIT
STATE TO BE INSERTED. AS FAR AS Tacc. IS CONCERN.
ANOTHER PARAMETER TOBE CHECKED IS Tce.
THE CE SIGNAL REQUIRES EITHER A0 OR BHE AS ITS
ENABLE SIGNAL. SO,IT REQUIRES THE SAME CALCULATION
AS THAT OF Tacc.
SO,Tce ALSO DOESN’T NEED WAIT STATE.
THE LAST TO BE SEEN IS Toe.
THE OE SIGNAL WILL BE GENERARED WHEN RD SIGNAL IS
APPLIED.
NOW, LOOKING AT THE READ CYCLE RD SIGNAL WILL NOT
BE ASSERTED TILL THE STATE T2.THE RD SIGNAL WILL BE
ENABLED WITHIN A TIME TCLRL AFTER T2 STARTS.THE
MAX. VALUE FOR THIS SIGNAL IS 165 ns. AGAIN,Toe MUST BE
ACTIVE BEFORE VALID DATA IS PLACED ON AD0-AD15. i.e.
BEFORE STARTING OF TDVCL.
SO, SUM OF THESE TIMINGS MUST BE SUBTRACTED FROM
THE TOTAL TIME AVAILABLE.


THE TOTAL TIME AVAILABLE IS STATE-T2 & T3.=408 ns.
408-165-30=183 ns.


SO, 8086 PROVIDES 183 ns FOR ENABLING OUTPUT BUFERS.


WHILE THE TIME Toe REQUIRED BY 2716 IS 120 ns.


SO, FOR Toe ALSO WE NEED NO WAIT STATE.
TROUBLESHOOTING AN 8086
    BASED MICROCOMPUTER


TROUBLESHOOTING IS TO FIND FAULTS IN A
SYSTEM THAT WAS WORKING WELL, ONCE.

THE FOLLOWING STEPS ARE
RECOMMENDED FOR A SYSTEMATIC AND
TIME-EFFECTIVE TROUBLESHOOTING.
1. IDENTIFYING THE SYMPTOMS.
     CAREFULLY OBSERVE THE WORKING OF BAD
    SYSTEM AND TRY TO IDENTIFY THE SYMPTOMS.
2. MAKING A CAREFUL VISUAL AND TACTILE
INSPECTION.
 CHECK FOR COMPONENTS THAT ARE EXCESSIVELY
HOT.
 DO NOT TOUCH FIRMLY,BECAUSE IT MAY RESULT IN
      SKIN BURN.
MAKE IT SURE THAT ALL ICs ARE FIRMLY SEATED IN
THEIR SOCKETS AND NO PIN IS BENT.
 CHECK FOR BROCKEN WIRES AND LOOSE
CONNECTORS.
3. CHECKING POWER SUPPLY.
 FROM THE MANUAL DETERMINE THE REQUIRED
OPERATING VOLTAGE AND COMPARE IT WITH THE
VOLTAGES AVAILABLE. ALSO CHECK THAT THE SAME
VOLTAGE AVAILABLE AT PIN Vcc.

4. SIGNAL ROLL CALL.
 MAKE A CHECK AT SOME KEY SIGNALS e.g. CLOCK
SIGNAL ON A CRO.OTHER SIGNAL SUCH AS ALE , RD AND
WR SHOULD ALSO BE CHECKED.
5. SYSTEMATICALLY SUBSTITUTING ICs.
 THIS STEP CAN BE USED ONLY IF THERE ARE TWO
IDENTICAL SYSTEMS. ONE IS WORKING AND THE
OTHER IS NOT WORKING.AND ALSO ALL ICs ARE IN
SOCKETS.
 FIRST TURN THE POWER OFF. MAKE MARKS ON THE
ICs OF THE BAD SYSTEM.NOW EXCHANGE THE CPUs OF
THE TWO SYSTEM AND SEE IF IT WORKS. IF SO, IT SURE
THAT THE CPU IS BAD. IF NOT ,RESTORE THE ORIGINAL
CPUs.IN THIS WAY GO ON TESTING ICs .
 IF ROM IS ACCESIBLE AND RAM IS NOT,THEN TRY
TO CHECK FOR RAM DECODER IC.
   THIS WAY YOU CAN LOCATE BAD IC/ICs .
6.TROUBLE SHOOTING A SYSTEM WITH SOLDERED-
IN ICs.
 MOST OF THE TIME ALL ICs EXCEPT CPU AND ROM
ICs ARE SOLDERED.
 TRY TO RUN THE BASIC MONITOR PROGRAM WHICH
 IS IN ROM,AND COMPARE THE SIGNALS ON THE
TWO.THIS WILL PROBABLY LOCATE THE FAULTY IC.
 TRY TO EXCHANGE ROM OF THE TWO SYTEMS.
AND/OR EXCHANGE CPU.
THEN RUN A RAM TEST ROUTINE .THE ROUTINE WILL
WRITE ALL 1’S TO SELECTED LOCATIONS.THEN, READ
THIS DATA BACK IF THEY ARE NOT 1’S ,THEN THE
PROBLEM MAY BE WITH SYTEM BUS,(AS IT CAN NOY
WRITE TO DESIRED LOCATION ) OR WITH RAM OR WITH
RAM DECODER.
7.USING A LOGIC ANALYZER.
 A LOGIC ANALYZER SHOWS YOU SIGNALS ON 16 TO 64
LINES AT A TIME. IT GIVES YOU A SNAPSHOT OF LOGIC
LEVELS WHICH ARE ON ITS INPUT LINES AT THE TIME OF
TAKING SAMPLE OR “PHOTO”.
 SO, WE CAN CONNECT ALL THE DATA,ADDRESS AND
CONTROL LINES TO THE INPUTS OF A LOGIC ANALYZER
AND WE CAN SEE THE ACTIVITIES ON THIS LINES. THIS
WILL SURELY TELL IF THE FAULT IS THERE WITH YOUR
8086.
 USING A LOGIC ANALYZER IS A VERY EFFECTIVE AND
THE MOST SOPHISTICATED SYSTEM OF TROUBLE
SHOOTING.BUT IT REQUIRES EXPERTISE IN USING THE
ANALYZER.
8.OTHER EQUIPMENT.
 A LOGIC ANALYZER IS A BIG INSTRUMENT AND CAN
NOT BE CARRIED WITH.TO USE THE SAME YOU ALSO
NEED TO KNOW THE PROGRAMMING AND THE
HARDWARE OF THE SYSTEM IN DETAIL.
 BUT SUPPOSE YOU ARE TO REPAIR SEVERAL
DIFFERENT TYPES OF MICROPROCESSORS AND YOU DO
NOT KNOW MUCH ABOUT THE PROGRAMMING OF THE
SYSTEM WHICH YOU ARE TROUBLE SHOOTING ,THEN
YOU NEED TO USE EQUIPMENT SUCH AS FLUKE 9010A.
 SUCH EQUIPMENT KEEPS YOU FREE FROM THE
STRESS OF KNOWING ALL THE SOFTWARE AND
HARDWARE DETAILS OF THE SYSTEM AT HAND.

More Related Content

PPTX
Signal descriptors of 8086
aviban
 
PPT
8086 pin details
AJAL A J
 
PPTX
Minimum mode and Maximum mode Configuration in 8086
Jismy .K.Jose
 
PPTX
Chapter5
Bisrat Girma
 
PPTX
Intel 8086 internal architecture & pin diagram
krunal47
 
PPTX
8086 in minimum mode
Sridari Iyer
 
PPT
8086 pin function
Chaitanya Kulkarni
 
PPTX
I/o and memory interfacing
Ruchi Srivastava
 
Signal descriptors of 8086
aviban
 
8086 pin details
AJAL A J
 
Minimum mode and Maximum mode Configuration in 8086
Jismy .K.Jose
 
Chapter5
Bisrat Girma
 
Intel 8086 internal architecture & pin diagram
krunal47
 
8086 in minimum mode
Sridari Iyer
 
8086 pin function
Chaitanya Kulkarni
 
I/o and memory interfacing
Ruchi Srivastava
 

What's hot (20)

PPTX
29. 8086 microprocessor pin diagram
sandip das
 
PPTX
PIN Specification of 8086 Microprocessor
Nikhil Kumar
 
PPTX
PIN Specification of 8086 Microprocessor
Nikhil Kumar
 
PPTX
Pin digram of 8086
RJ
 
PPT
Lect 5
guestebfd84da
 
PPTX
Coi2 pin description of 8086
marellahemanth
 
PPT
Minimum And Maximum Modes Of 80826
LAVANYA PALANIYAPPAN
 
DOCX
Interfacing of data converters & io devices
Dr.YNM
 
PDF
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Prof. Swapnil V. Kaware
 
PDF
Detailed Explanation of Pin Description of 8085 microprocessor
Ramesh Dabhole
 
PPTX
Bus Structure, Memory and I/O Interfacing
Hetauda City College
 
DOCX
Pin configuration of 8085
82338476
 
PDF
Microprocessor & Interfacing (Part-2) By Er. Swapnil V. Kaware
Prof. Swapnil V. Kaware
 
PDF
Module 2 instruction set
Deepak John
 
PPT
MICROPROCESSOR INPUT OUTPUT OPERATIONS
George Thomas
 
PPTX
Microprocessors
Ramraj Choudhary
 
PPT
Memory & I/O interfacing
deval patel
 
PDF
Module 3 special purpose programmable devices and their interfacing
Deepak John
 
PPSX
8085 Interfacing with I/O Devices or Memory
Saumay Paul
 
29. 8086 microprocessor pin diagram
sandip das
 
PIN Specification of 8086 Microprocessor
Nikhil Kumar
 
PIN Specification of 8086 Microprocessor
Nikhil Kumar
 
Pin digram of 8086
RJ
 
Coi2 pin description of 8086
marellahemanth
 
Minimum And Maximum Modes Of 80826
LAVANYA PALANIYAPPAN
 
Interfacing of data converters & io devices
Dr.YNM
 
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Prof. Swapnil V. Kaware
 
Detailed Explanation of Pin Description of 8085 microprocessor
Ramesh Dabhole
 
Bus Structure, Memory and I/O Interfacing
Hetauda City College
 
Pin configuration of 8085
82338476
 
Microprocessor & Interfacing (Part-2) By Er. Swapnil V. Kaware
Prof. Swapnil V. Kaware
 
Module 2 instruction set
Deepak John
 
MICROPROCESSOR INPUT OUTPUT OPERATIONS
George Thomas
 
Microprocessors
Ramraj Choudhary
 
Memory & I/O interfacing
deval patel
 
Module 3 special purpose programmable devices and their interfacing
Deepak John
 
8085 Interfacing with I/O Devices or Memory
Saumay Paul
 
Ad

Viewers also liked (20)

PDF
8086 microprocessor
Teja Bheemanapally
 
PPTX
Microprocessor 8086
Gopikrishna Madanan
 
PPTX
8086 microprocessor-architecture
prasadpawaskar
 
PDF
microprocessor Questions with solution
dit
 
PDF
Mpmc lab
anveshthatikonda
 
DOCX
8085 interfacing with memory chips
Srikrishna Thota
 
PDF
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
vtunotesbysree
 
PPT
8237 / 8257 DMA
AJAL A J
 
PPT
Interfacing 8255
Anuja Bhakuni
 
PDF
8086 instruction set with types
Ravinder Rautela
 
PPTX
Lecture3
misgina Mengesha
 
PPTX
Aula
Alosh Alrubiae
 
PDF
Programed I/O Modul..
Myster Rius
 
DOCX
Pankaj Rai
Pankaj Rai
 
PPT
Multilevel arch & str org.& mips, 8086, memory
Mahesh Kumar Attri
 
PDF
Data serial
Gabriella Levine
 
PDF
microprocessor & programming
Gaurang Thakar
 
PPTX
Introduction to Microcontroller
Nikhil Sharma
 
PPTX
Coa INTERUPT
Piyush Rochwani
 
PPT
Line following bot without using micro controller
Rajat Verma
 
8086 microprocessor
Teja Bheemanapally
 
Microprocessor 8086
Gopikrishna Madanan
 
8086 microprocessor-architecture
prasadpawaskar
 
microprocessor Questions with solution
dit
 
8085 interfacing with memory chips
Srikrishna Thota
 
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
vtunotesbysree
 
8237 / 8257 DMA
AJAL A J
 
Interfacing 8255
Anuja Bhakuni
 
8086 instruction set with types
Ravinder Rautela
 
Programed I/O Modul..
Myster Rius
 
Pankaj Rai
Pankaj Rai
 
Multilevel arch & str org.& mips, 8086, memory
Mahesh Kumar Attri
 
Data serial
Gabriella Levine
 
microprocessor & programming
Gaurang Thakar
 
Introduction to Microcontroller
Nikhil Sharma
 
Coa INTERUPT
Piyush Rochwani
 
Line following bot without using micro controller
Rajat Verma
 
Ad

Similar to Microprocessors 1-8086 (20)

PPT
8086 architecture
Rishabh Kataria
 
PPTX
Microcontroller 8051
Patruni Chidananda Sastry
 
PPTX
Presentation On: "Micro-controller 8051 & Embedded System"
surabhii007
 
DOCX
Project
Anjaly Chinnu
 
PPT
8051microcontroller
manish080
 
PPT
8051 Presentation
Sayan Chakraborty
 
PPT
1346 A Single Chip Microcomputer
techbed
 
PDF
Datasheet 89S8253.pdf
EFran9
 
PPT
8051 MICROCONTROLLER
THANDAIAH PRABU
 
PPT
8051-MICROCONTROLLER all contents with diagram.ppt
apyamit
 
PDF
Microprocessors and Microcontrollers 8086 Pin Connections
Jason J Pulikkottil
 
PDF
8051 microcontroller
Gaurav Verma
 
PPT
Embedded systems, 8051 microcontroller
Amandeep Alag
 
PDF
dspAt89 s52
Mahesh Madapati
 
PDF
microcontroller 8051 17.07.2023.pdf
818Farida
 
PPTX
MICROPROCESSOR AND INTERFACING
Radhika Talaviya
 
PPT
B tech Final Year Projects & Embedded Systems Training
Technogroovy India
 
PDF
At89s51
Tarun Sharma
 
PPT
8085-micropprocessor power ponts7-phpapp01.ppt
duraivel13
 
PPTX
MICROCONTROLLER 8051- Architecture & Pin Configuration
AKHIL MADANKAR
 
8086 architecture
Rishabh Kataria
 
Microcontroller 8051
Patruni Chidananda Sastry
 
Presentation On: "Micro-controller 8051 & Embedded System"
surabhii007
 
Project
Anjaly Chinnu
 
8051microcontroller
manish080
 
8051 Presentation
Sayan Chakraborty
 
1346 A Single Chip Microcomputer
techbed
 
Datasheet 89S8253.pdf
EFran9
 
8051 MICROCONTROLLER
THANDAIAH PRABU
 
8051-MICROCONTROLLER all contents with diagram.ppt
apyamit
 
Microprocessors and Microcontrollers 8086 Pin Connections
Jason J Pulikkottil
 
8051 microcontroller
Gaurav Verma
 
Embedded systems, 8051 microcontroller
Amandeep Alag
 
dspAt89 s52
Mahesh Madapati
 
microcontroller 8051 17.07.2023.pdf
818Farida
 
MICROPROCESSOR AND INTERFACING
Radhika Talaviya
 
B tech Final Year Projects & Embedded Systems Training
Technogroovy India
 
At89s51
Tarun Sharma
 
8085-micropprocessor power ponts7-phpapp01.ppt
duraivel13
 
MICROCONTROLLER 8051- Architecture & Pin Configuration
AKHIL MADANKAR
 

Recently uploaded (20)

PPTX
Pakistan’s Leading Manpower Export Agencies for Qatar
Glassrooms Dubai
 
PDF
12 Oil and Gas Companies in India Driving the Energy Sector.pdf
Essar Group
 
PDF
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
PDF
bain-temasek-sea-green-economy-2022-report-investing-behind-the-new-realities...
YudiSaputra43
 
PDF
Keppel Ltd. 1H 2025 Results Presentation Slides
KeppelCorporation
 
PDF
Tariff Surcharge and Price Increase Decision
Joshua Gao
 
DOCX
unit 1 BC.docx - INTRODUCTION TO BUSINESS COMMUICATION
MANJU N
 
PDF
Infrastructure and geopolitics.AM.ENG.docx.pdf
Andrea Mennillo
 
PDF
New Royals Distribution Plan Presentation
ksherwin
 
PPTX
Social Media Marketing for Business Growth
vidhi622006
 
PPTX
Memorandum and articles of association explained.pptx
Keerthana Chinnathambi
 
PPTX
Brain Based Enterprises - Harmonising Man, Woman and Machine
Peter Cook
 
PDF
Using Innovative Solar Manufacturing to Drive India's Renewable Energy Revolu...
Insolation Energy
 
PPTX
Appreciations - July 25.pptxffsdjjjjjjjjjjjj
anushavnayak
 
PDF
Withum Webinar - OBBBA: Tax Insights for Food and Consumer Brands
Withum
 
PPTX
The Ultimate Guide to Customer Journey Mapping
RUPAL AGARWAL
 
PPTX
Certificate of Incorporation, Prospectus, Certificate of Commencement of Busi...
Keerthana Chinnathambi
 
DOCX
UNIT 2 BC.docx- cv - RESOLUTION -MINUTES-NOTICE - BUSINESS LETTER DRAFTING
MANJU N
 
PDF
Equinox Gold - Corporate Presentation.pdf
Equinox Gold Corp.
 
PDF
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
Pakistan’s Leading Manpower Export Agencies for Qatar
Glassrooms Dubai
 
12 Oil and Gas Companies in India Driving the Energy Sector.pdf
Essar Group
 
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
bain-temasek-sea-green-economy-2022-report-investing-behind-the-new-realities...
YudiSaputra43
 
Keppel Ltd. 1H 2025 Results Presentation Slides
KeppelCorporation
 
Tariff Surcharge and Price Increase Decision
Joshua Gao
 
unit 1 BC.docx - INTRODUCTION TO BUSINESS COMMUICATION
MANJU N
 
Infrastructure and geopolitics.AM.ENG.docx.pdf
Andrea Mennillo
 
New Royals Distribution Plan Presentation
ksherwin
 
Social Media Marketing for Business Growth
vidhi622006
 
Memorandum and articles of association explained.pptx
Keerthana Chinnathambi
 
Brain Based Enterprises - Harmonising Man, Woman and Machine
Peter Cook
 
Using Innovative Solar Manufacturing to Drive India's Renewable Energy Revolu...
Insolation Energy
 
Appreciations - July 25.pptxffsdjjjjjjjjjjjj
anushavnayak
 
Withum Webinar - OBBBA: Tax Insights for Food and Consumer Brands
Withum
 
The Ultimate Guide to Customer Journey Mapping
RUPAL AGARWAL
 
Certificate of Incorporation, Prospectus, Certificate of Commencement of Busi...
Keerthana Chinnathambi
 
UNIT 2 BC.docx- cv - RESOLUTION -MINUTES-NOTICE - BUSINESS LETTER DRAFTING
MANJU N
 
Equinox Gold - Corporate Presentation.pdf
Equinox Gold Corp.
 
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 

Microprocessors 1-8086

  • 2. FOR CONVINIRNT STUDY OF MICROPROCESSORS TWO TYPES OF MODELS ARE USED : PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES , SUCH AS INTERNAL REGISTERS, ADDRESS ,DATA & CONTROL BUSES ; THAT WE NEED TO PROGRAM THE DEVICE. THE HARDWARE MODEL:- THIS MODEL SHOWS THE PIN DIAGRAM AND THE SIGNALS TO/FROM THIS PINS TO UNDERSTAND HOW A MOCROCOMPUTER SYSTEM IS BUILT AROUND.
  • 3. MICROCOMPUTER A MICROCOMPUTER SYSTEM IS ONE WHICH USES A MICROPROCESSOR AS ITS CPU IN ADDITION THE MICROCOMPUTER ALSO HAS A MEMORY UNIT,INPUT/OUTPUT DEVICES AND SYSTEM BUSES.  THE SYSTEM BUSES ARE OF THREE TYPES: 1.ADDRESS BUS 2.DATA BUS 3.CONTROL BUS PHYSICALLY BUSES ARE GROUP OF WIRES
  • 4. 8086 BUSES THE 8086 HAS 20 ADDRESS LINES 16 DATA LINES 4-10 CONTROL LINES. WITH THIS THE 8086 IS ABLE TO ADDRESS 1,048,,576 (220 ) MEMORY LOCATIONS/PORTS. TO MANIPULATE AND/OR OPERATE ON 16- BITS(2-BYTES) OF DATA AT A TIME. TO GENERATE NECESSARY CONTROL SIGNALS.
  • 5. ARCHITECTURE THE INTERNAL ARCHITECTURE OF 8086 CAN BE MAINLY DIVIDED INTO TWO UNITS: BUS INTERFACE UNIT (BIU) EXECUTION UNIT (EU) THE BIU CONTAINS : CODE SEGMENT REGISTER (CS)  DATA SEGMENT REGISTER (DS)  EXTRA SEGMENT REGISTER (ES) STACK SEGMENT REGISTEER (SS) AND  INSTRUCTION POINTER (IP)
  • 6. THE EU CONTAINS THE FOLLOWING 8-BIT REGISTERS: AH & AL (AX-16 BIT) BH & BL (BX-16 BIT) CH & CL (CX-16 BIT) DH 7 DL (DX-16 BIT) IT ALSO INCLUDES THE FOLLOWING 16-BIT REGISTERS: STACK POINTER (SP) BASE POINTER (BP) SOURCE INDEX (SI) DESTINATION INDEX (DI)
  • 8. 40 VCC AD15 GND 1 A16-A19 2 & S3-S6 35 34 BHE/S7 33 MN/MX 32 RD AD14 TO 31 RQ/GTO(HOLD) AD0 30 RQ/GT1(HLDA) 8086 CPU 29 LOCK (WR) 28 S2 (M/IO) 27 S1 (DT/R) 16 NMI 26 S0 (DEN) 17 INTR 18 25 QS0 (ALE) CLK 19 24 QS1(INTA) GND 20 23 TEST RESET 21 22 READY
  • 9. BASIC 8086 MINIMUM MODE SYSTEM MN/MX CLK M/IO 8284A READY CLOCK INTA RESET GENE- RD RATOR WR 8282 DT/R LATCH DEN ALE ADDR WAIT STATE GENERATOR AD0- AD15 A16-A19 8286 TRAN- ADDR/DATA CEIVER DATA RAM 2142 PERI- 2716 PHERAL PROM
  • 10. TIMING SEQUENCE AN EXTERNAL CLOCK GENERATOR DEVICE IS CONNECTED TO 8086 TO PROVIDE CLOCK SIGNALS THROUGHOUT THE SYSTEM. ONE CYCLE OF CLOCK IS CALLED A STATE OR T- STATE. EACH BASIC OPERATION SUCH AS READING A MEMORY LOCATION OR WRITING TO A PORT REQUIRES SEVERAL STATES.THIS GROUP OF STATES IS CALLED A MACHINE CYCLE. THE TOTAL TIME REQUIRED TO FETCH AND EXECUTE AN INSTRUCTION IS CALLED AN INSTRUCTION CYCLE. AN INSTRUCTION CYCLE CONSISTS OF ONE OR MORE MACHINE CYCLE.
  • 11. BASIC SIGNAL FLOW ON 8086 BUSES BASICALLY THERE ARE TWO OPERATIONS TO SEE: 1.READ OPERATION 2. WRITE OPERATION WILL SEE WHAT IS GOING ON DURING THIS TWO CYCLES OF OPERATION.
  • 12. READ CYCLE HERE WE WILL SEE THE ACTIVITIES CARRIED OUT ON 8086 BUSES AT VARIOUS TIME INSTANTS WHEN IT READS FROM A MEMORY LOCATION OR FROM A PORT. HERE WE WILL ASSUME THAT THE 8086 IS OPERATED IN IS MINIMUM MODE.
  • 13. T1 T2 T3 TW T4 CLK M/IO ALE MEMORY ACCESS TIME ADDR/ RESERVED VALID A15-A0 DATA FOR DATA D15-D0 ADDR/ A19-A16 STATUS RD/INTA READY DT/R DEN
  • 14. WRITE CYCLE HERE WE WILL SEE THE ACTIVITIES CARRIED OUT ON 8086 BUS AT VARIOUS TIME INSTANTS WHEN IT WRITES TO A PORT OR A MEMORY LOCATION. HERE WE WILL ASSUME THAT THE 8086 IS OPERATED IN IS MINIMUM MODE.
  • 15. T1 T2 T3 TW T4 CLK M/IO ALE ADDR/ A15-A0 DATA OUT (D15-D0) DATA ADDR/ A19-A16 STATUS WR READY DT/R DEN
  • 16. ADDRESSING 1. ADDRESSING MEMORY 2. ADDRESSING PORTS DECODER IS THE CIRCUITRY USED FOR ADDRESING. IT SERVES TWO PURPOSES: TO ENABLE RAM,ROM OR PORT. TO MAKE SURE THAT ONLY ONE DEVICE IS ENABLED AT A TIME.
  • 17. A SYSTEM ROM DECODER TO UNDERSTAND THE CONCEPT A GENERAL DIGITAL SYSTEM WITH 8 DATA LINES AND 16 ADDRESS LINES IS CONSIDERED. THE HARDWARE USED CONSIST  2732 ROM-8(EACH-4 KB)  74LS138 DECODER/DEMULTIPLEXER  16 ADDRESS LINES  8 DATA LINES
  • 18. A0 A1 A2 A11 ROM 0 ROM 1 ROM 7 CS 2732 CS 2732 CS 2732 D0 D5 D6 D7 Y0 Y1 Y7 A12 74LS138 A13 G2A G2B G1 A14 A15 RD +5V
  • 19. ADDRESS DECODER WORKSHEET A15 & A11-A8 A7-A4 A3-A0 HEX EQUI. A14-A12 ADDRESS ROM0 ST. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 =0 0 0 0 END 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 =0 F F F ROM1 ST. 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 =1 0 0 0 END 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 =1 F F F ROM2 ST. 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 =2 0 0 0 END 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 =2 F F F ROM3 ST. 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 =3 0 0 0 END 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =3 F F F ROM4 ST. 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 =4 0 0 0 END 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 =4 F F F ROM5 ST. 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 =5 0 0 0 END 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 =5 F F F ROM6 ST. 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 =6 0 0 0 END 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 =6 F F F ROM7 ST. 0 1 1 1 0 0 0 0 0 0 0 0 0 =7 0 0 0 END 0 1 1 1 1 1 1 1 1 1 1 1 =7 F F F
  • 20. A SYSTEM RAM DECODER TO THE SAME SYSTEM WE WANT TO ADD 16KB RAM.SO ADDITIONAL HARDWARE WE REQUIRE: 2142 RAM-8(EACH 2KB)  ONE MORE 74LS138 DECODER/DEMULTIPLEXER SINCE WE HAVE EACH RAM OF 2KB(2048 BYTES) ,WE NEED 11 ADDRESS LINES TO ADDRESS EACH MEMORY LOCATION WITHIN A RAM.AS WE HAVE OCCUPIED ADDRESSES 0000 THROUGH 7FFF FOR ROM.WE MUST START RAM ADDRESSES AFTER 7FFF. SO WE HAVE 5 MORE ADDRESS LINES.WHICH WE WILL USE TO PROVIDE ADDRESS DECODING.
  • 21. A0 A1 A2 A10 RAM 0 RAM 1 RAM 7 CS 2142 CS 2142 CS 2142 D0 D5 D6 D7 Y0 Y1 Y7 A11 74LS138 A12 G2A G2B G1 A13 A14 GND A15
  • 23. A SYSTEM PORT DECODER A SYSTEM PORT CAN BE ADDRESSED IN TWO WAYS : 1. USING MEMORY MAPPED I/O- HERE A PORT IS TREATED AS IF IT IS A MEMORY LOCATION.  IT USES MEMORY RELATED INSTRUCTIONS.  THE OPERATION IS FASTER. • A MAXIMUM OF 1MB INPUT AND 1MB(220) OUTPUT DEVICES CAN BE ADDRESSED. • IT USES MEM.READ AND MEM.WRITE CONTROL SIGNALS.  IT CONSUMES THE ADDRESS RANGE USED BY PROGRAM MEMORY.  DECODING IS COMPLEX.
  • 24. 2. USING DIREC I/O-HERE AN INPUT OR AN OUTPUT DEVICE IS TREATED AS A DISTINCT I/O DEVICE.  IT DOES NOT CONSUME PROGRAM MEMORY.  THE DECODING IS SIMPLE.  IT USES IN AND OUT INSTRUCTIONS. • A MAXIMUM OF 64K BYTE TYPE INPUT AND OUTPUT DEVICES CAN BE ADDRESSED OR 32K WORD TYPE INPUT AND OUTPUT DEVICES CAN BE ADDRESSED. • IT USES IORD AND IOWRT CONTROL SIGNALS.  OPERATION IS SLOWER.
  • 25. A15 A14 G1 Y0 Y1 CS (CHIP SELECT) Y2 SIGNAL A13 G2B Y3 FOR PORT 74LS138 DEVICES Y4 A12 Y5 G2A Y6 Y7 A5 A4 A3
  • 26. 8086 PHYSICAL MEMORY THE TOTAL MEMORY (1MB) OF 8086 IS ARRANGED IN TWO BANKS. AN ODD BANK AND AN EVEN BANK. BOTH THE BANKS HAVE EQUAL NO. OF LOCATIONS. THE ODD BANK CONTAINS ODD NUMBERED MEM. LOCATIONS.IT IS KNOWN AS UPPER BANK. THE EVEN BANK CONTAINS ONLY EVEN NUMBERED MEM. LOCATIONS.IT IS KNOWN AS LOWER BANK. THIS ARRANGE MENT IS DONE IN ORDER TO SPEED UP THE OPERATION. THE ARRANGEMENT AND THE SIGNAL FOLLOWED, EXPLAINS THE SAME.
  • 27. THE 8086 MEMORY BANK UPPER BANK LOWER BANK ODD EVEN CS CS BHE A1---A19 A0 D15-D8 D7-D0
  • 29. ADDRESSING WITH 8086 PROBLEM: TWO 16K ROM AND TWO 32K RAM ARE REQUIRED TO BE INTERFACED WITH 8086 CPU.THE RAM ADDRESS MUST START AT 00000H.THE ROM ADDRESS RANGE MUST INCLUDE FFFF0H IN ITS RANGE.
  • 30. ADDRESS MAP THE RAM ADDRESS STARTS AT 00000H. TOTAL RAM IS 2*32K. SO RAM ADDRESS RANGE IS FROM 00000H TO 0FFFFH.(FFFF-0000)H=216 =64K. SINCE THE ROM ADDRESS MUST INCLUDE FFFF0H. WE TAKE LAST ADDRESS OF ROM AS FFFFFH. AS TOTAL SPACE FOR ROM IS 2*16K,THE FIRST ADDRESS FOR ROM IS F8000H. (FFFFF- F8000)H=215=32K. ADDRESS LINES A1-A14 ARE CONNECTED TO ROM.ADDRESS LINES A1-A15 ARE CONNECTED TO RAM.AND REMAINING LINES ARE USED FOR CHIP SELECTION.(NOTE: A0 IS RESERVED FOR BANKS.)
  • 31. TO GENERATE THE CHIP SELECT SIGNAL THE FOLLOWING LOGIC IS USED: THE CHIPSELECT SIGNAL IS ACTIVE LOW. SO A PARTICULAR CHIP CAN BE SELECTED ONLY WHEN THIS SIGNAL IS LOW. SECONDLY AT A TIME ONLY ONE CHIP SHOULD BE SELECTED. FURTHER ,THE ODD BANK WILL BE ENABLED ONLY IF BHE SIGNAL IS ACTIVATED.AND THE EVEN BANK WILL BE ENABLED ONLY IF AO SIGNAL IS LOW.
  • 34. HERE WE CONSIDER AS AN EXAMPLE A SYSTEM WITH FEW PORTS. AN 8251(UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER) TWO 8255A(PROGRAMMABLE PARALLEL PORTS.) AN 8279 (DISPLAY AND KEYBOARD INTERFACING.) AN 8275 (CRT CONTROLLER) AN 8272A(FLOPPY DISK CONTRLLER)
  • 35. BHE OFFBOARD P A15 G2A G2B O A5 G R T Y0 8255-1 S Y1 8255-2 E A4 Y2 8251 L Y3 8279 74LS138 E Y4 8275 8272 C Y5 A3 T Y6 Y7 RESERVED A2 FOR FUTURE USE.
  • 36. MAP FOR PORTS A15-A5 A4 A3 A2 A1 A0 EQUI HEX ADDRESS 8255-1 1 0 0 0 =F F E O =F F E 3 8255-2 1 0 0 1 =F F E 4 =F F E 7 8251 1 0 1 0 =F F E 8 =F F E B 8279 1 0 1 1 =F F E C =F F E F 8275 1 1 0 0 =F F F 0 =F F F 3 8272 1 1 0 1 =F F F 4 =F F F 7
  • 37. LINES A1 AND A0 ARE USED FOR SETTING INTERNAL REGISTERS OF THE ADDRESSED PORT. NOTE THAT THIS IS AN ABSOLUTE ADDRESSING.i.e. A PORT CAN BE SELECTED FOR ONLY ONE ADDRESS. NON-ABSOLUTE ADDRESING ALSO EXISTS.THERE A PORT CAN BE SELECTED FOR MORE THAN ONE ADDRESSES.
  • 38. THE OFF-BOARD DECODER THE SDK-86 USES AN OFF-BOARD CIRCUITRY . THE PURPOSE OF THIS CIRCUITRY IS TO PRODUCE AN ACTIVE LOW OFF BOARD SIGNAL WHENEVER THE 8086 ADDRESSES A PORT OR MEMORY WHICH IS NOT DECODED ON THE SDK-86 BOARD. USUALLY WHEN WE CONNECT ADDITIONAL PORT USING DIRECT I/O, THIS DEVICE IS CONSIDERED AS OFF-BOARD(OUT OF THE DECODING MAP OF THE SYSTEM). SO WHENEVER THIS PORT IS CALLED UPON,THE 8086 ASSERTS THE OFF BOARD SINAL. TO COMMUNICATE WITH OFF BOARD DEVICES,EXTRA HARDWARE SUCH AS 74LS138 OR AN EPROM DECODER IS REQUIRED FOR ADDRESSING THIS DEVICE.
  • 39. 8088 MEMORY AND PORT ADDRESSING IN 8088 THERE ARE ONLY 8 DATA LINES AND 20 ADD.LINES. THE 8088 MEMORY IS NOT DEVIDED INTO ODD AND EVEN BANKS.BUT THERE IS ONLY A SINGLE BANK. THERE ARE 1MB LOCATIONS EACH 1-BYTE LONG.SO TO READ OR WRITE A WORD 8088 REQUIRES TWO MACHINE CYCLES ALWAYS.
  • 40. THE 8086 TIMING PARAMETERS THE 8086 TIMING PARAMETERS ARE REQUIRED TO FIND WHETHER A PARTICULAR DEVICE IS FAST ENOUGH TO WORK IN OUR SYSTEM. IF NOT WE CAN USE WAIT STATES TO ALLOW THE SLOW DEVICE TO RESPOND. THE 8086 RECEIVES TWO DIFFERENT CLOCK SIGNALS FRON 8284 CLOCK GENERATOR: 4.9MHz AND 2.45MHz USING A DIVIDE BY 2 NETWORK.
  • 41. NOW SUPPOSE THAT 8086 USES A FREQ. OF 4.9 MHz AND WE WANT TO DETERMINE WHETHER 2716 EPROMs ARE ABLE TO WORK CORRECTLY WITH OUR SYSTEM. TO READ FROM EPROM, WE NEED TO PROVIDE ITS ADDRESS,WE ALSO NEED TO PROVIDE ITS CHIP SELECT SIGNAL AND IN ADDITION WE ALSO NEED TO ENABLE ITS OUTPUT. FOR THIS ,THE 8086 PROVIDES ON AD0-AD15 THE ADDRESS OF THE PARTICULAR LOCATION,THE CE (CHIP ENABLE- ACTIVE LOW) SIGNAL AND OE (OUTPUT ENABLE-AVTIVE LOW SIGNAL).
  • 42. FROM A DATA BOOK THE TYPICAL ACCESS TIMES FOR EPROM 2716 ARE: Tacc : 450 ns THIS MEANS THAT IF 2716 HAS ITS CE AND OE SIGNALS ENABLED,THAN IT WILL TAKE AT THE MAX. 450 ns,AFTER THE ADDREES IS PUT ON AD0-AD15 LINES. Tce: 450 ns THIS MEANS THAT THE ADDRESS AND OE SIGNALS ARE ALREADY ENABLED THAN IT WILL TAKE AT THE MAX. ,450 ns AFTER CE SIGNAL IS ENABLED. Toe: 120 ns THIS THE MAX. TIME REQUIRED WHEN AD0-AD15 AND CE SIGNALS ARE ENABLED BUT OUTPUT BUFFERS OF 2716 ARE NOT ENABLED.
  • 43. NEXT, WE CHECK THAT EACH OF THESE TIMES ARE SHORT ENOUGH TO WORK WITH 8086 AT 4.9MHz. LOOKING AT THE WAVE FORMS OF READ CYCLE THERE IS A TIME GAP BETWEEN THE STARTING OF STATE-T1 AND THE TIME AT WHICH VALID ADDRESS IS AVAILABLE. THIS TIME INTERVAL IS SYMBOLISED AS TCLAV TIME FROM CLOCK LOW TO ADDRESS VALID. AS PER 8086 DATA SHEET THIS TIME IS 110 ns MAX. AGAIN LOOKING AT READ CYCLE ,WE FIND THAT VALID DATA MUST BE AVAILABLE BEFORE THE END OF T3.THERE ALSO EXISTS A TIME GAP BETWEEN ,THE LINE IS AVAILABLE FOR PUTTING VALID DATA AND THE END OF STATE-T3. THIS TIME INTERVAL IS SYMBOLISED AS TDVCL TIME DATA MUST BE VALID BEFORE CLOCK GOES LOW. AS PER 8086 DATA SHEET THIS TIME IS 30 ns.
  • 44. THE TIME BETWEEN THE END OF TCLAV AND THE START OF TDVCL IS THE TIME AVAILABLE FOR GETTING THE ADDRESS TO THE MEMORY AND TO Tacc THE MEMORY DEVICE. THE TIME BETWEEN THE START OF TCLAV AND THE END OF TDVCL IS 3 T-STATES. AT 4.9 MHz ,TIME FOR ONE T-STATE IS 2.04 ns. SO TOTAL TIME FOR 3 STATES IS 612 ns. FROM THIS WE SUBTRACT TCLAV AND TDVCL. =612-110-30=472 ns.
  • 45. SO, 472 ns AVAILABLE FOR CALLING 2716 AND ACCESSING ITS DATA. NOW,LOOKING AT THE MINIMUM MODE SYSTEM,WE SEE THAT THE ADDRESS INFORMATION FOR 2716 GOES THROUGH LATCHES 74S373. SO, THE PROPOGATION DELAY FOR THIS MUST BE SUBTRACTED FROM 472 ns.THE PROPAGATION DELAY (CALLING TIME OR GETTING ADDRESS TO 2716 TIME) IS 12 ns. THIS LEAVES 472-12=460 ns AS Tacc. SO FROM THIS WE SEE THAT THE Tacc NEEDED FOR 2716 IS 450 ns max. WHILE THE 8086 PROVIDES 460 ns, AT LEAST. SO, WE CONCLUDE THAT WE DO NOT NEED ANY WAIT STATE TO BE INSERTED. AS FAR AS Tacc. IS CONCERN.
  • 46. ANOTHER PARAMETER TOBE CHECKED IS Tce. THE CE SIGNAL REQUIRES EITHER A0 OR BHE AS ITS ENABLE SIGNAL. SO,IT REQUIRES THE SAME CALCULATION AS THAT OF Tacc. SO,Tce ALSO DOESN’T NEED WAIT STATE. THE LAST TO BE SEEN IS Toe. THE OE SIGNAL WILL BE GENERARED WHEN RD SIGNAL IS APPLIED. NOW, LOOKING AT THE READ CYCLE RD SIGNAL WILL NOT BE ASSERTED TILL THE STATE T2.THE RD SIGNAL WILL BE ENABLED WITHIN A TIME TCLRL AFTER T2 STARTS.THE MAX. VALUE FOR THIS SIGNAL IS 165 ns. AGAIN,Toe MUST BE ACTIVE BEFORE VALID DATA IS PLACED ON AD0-AD15. i.e. BEFORE STARTING OF TDVCL.
  • 47. SO, SUM OF THESE TIMINGS MUST BE SUBTRACTED FROM THE TOTAL TIME AVAILABLE. THE TOTAL TIME AVAILABLE IS STATE-T2 & T3.=408 ns. 408-165-30=183 ns. SO, 8086 PROVIDES 183 ns FOR ENABLING OUTPUT BUFERS. WHILE THE TIME Toe REQUIRED BY 2716 IS 120 ns. SO, FOR Toe ALSO WE NEED NO WAIT STATE.
  • 48. TROUBLESHOOTING AN 8086 BASED MICROCOMPUTER TROUBLESHOOTING IS TO FIND FAULTS IN A SYSTEM THAT WAS WORKING WELL, ONCE. THE FOLLOWING STEPS ARE RECOMMENDED FOR A SYSTEMATIC AND TIME-EFFECTIVE TROUBLESHOOTING.
  • 49. 1. IDENTIFYING THE SYMPTOMS.  CAREFULLY OBSERVE THE WORKING OF BAD SYSTEM AND TRY TO IDENTIFY THE SYMPTOMS. 2. MAKING A CAREFUL VISUAL AND TACTILE INSPECTION.  CHECK FOR COMPONENTS THAT ARE EXCESSIVELY HOT.  DO NOT TOUCH FIRMLY,BECAUSE IT MAY RESULT IN SKIN BURN. MAKE IT SURE THAT ALL ICs ARE FIRMLY SEATED IN THEIR SOCKETS AND NO PIN IS BENT.  CHECK FOR BROCKEN WIRES AND LOOSE CONNECTORS.
  • 50. 3. CHECKING POWER SUPPLY.  FROM THE MANUAL DETERMINE THE REQUIRED OPERATING VOLTAGE AND COMPARE IT WITH THE VOLTAGES AVAILABLE. ALSO CHECK THAT THE SAME VOLTAGE AVAILABLE AT PIN Vcc. 4. SIGNAL ROLL CALL.  MAKE A CHECK AT SOME KEY SIGNALS e.g. CLOCK SIGNAL ON A CRO.OTHER SIGNAL SUCH AS ALE , RD AND WR SHOULD ALSO BE CHECKED.
  • 51. 5. SYSTEMATICALLY SUBSTITUTING ICs.  THIS STEP CAN BE USED ONLY IF THERE ARE TWO IDENTICAL SYSTEMS. ONE IS WORKING AND THE OTHER IS NOT WORKING.AND ALSO ALL ICs ARE IN SOCKETS.  FIRST TURN THE POWER OFF. MAKE MARKS ON THE ICs OF THE BAD SYSTEM.NOW EXCHANGE THE CPUs OF THE TWO SYSTEM AND SEE IF IT WORKS. IF SO, IT SURE THAT THE CPU IS BAD. IF NOT ,RESTORE THE ORIGINAL CPUs.IN THIS WAY GO ON TESTING ICs .  IF ROM IS ACCESIBLE AND RAM IS NOT,THEN TRY TO CHECK FOR RAM DECODER IC.  THIS WAY YOU CAN LOCATE BAD IC/ICs .
  • 52. 6.TROUBLE SHOOTING A SYSTEM WITH SOLDERED- IN ICs.  MOST OF THE TIME ALL ICs EXCEPT CPU AND ROM ICs ARE SOLDERED.  TRY TO RUN THE BASIC MONITOR PROGRAM WHICH IS IN ROM,AND COMPARE THE SIGNALS ON THE TWO.THIS WILL PROBABLY LOCATE THE FAULTY IC.  TRY TO EXCHANGE ROM OF THE TWO SYTEMS. AND/OR EXCHANGE CPU. THEN RUN A RAM TEST ROUTINE .THE ROUTINE WILL WRITE ALL 1’S TO SELECTED LOCATIONS.THEN, READ THIS DATA BACK IF THEY ARE NOT 1’S ,THEN THE PROBLEM MAY BE WITH SYTEM BUS,(AS IT CAN NOY WRITE TO DESIRED LOCATION ) OR WITH RAM OR WITH RAM DECODER.
  • 53. 7.USING A LOGIC ANALYZER.  A LOGIC ANALYZER SHOWS YOU SIGNALS ON 16 TO 64 LINES AT A TIME. IT GIVES YOU A SNAPSHOT OF LOGIC LEVELS WHICH ARE ON ITS INPUT LINES AT THE TIME OF TAKING SAMPLE OR “PHOTO”.  SO, WE CAN CONNECT ALL THE DATA,ADDRESS AND CONTROL LINES TO THE INPUTS OF A LOGIC ANALYZER AND WE CAN SEE THE ACTIVITIES ON THIS LINES. THIS WILL SURELY TELL IF THE FAULT IS THERE WITH YOUR 8086.  USING A LOGIC ANALYZER IS A VERY EFFECTIVE AND THE MOST SOPHISTICATED SYSTEM OF TROUBLE SHOOTING.BUT IT REQUIRES EXPERTISE IN USING THE ANALYZER.
  • 54. 8.OTHER EQUIPMENT.  A LOGIC ANALYZER IS A BIG INSTRUMENT AND CAN NOT BE CARRIED WITH.TO USE THE SAME YOU ALSO NEED TO KNOW THE PROGRAMMING AND THE HARDWARE OF THE SYSTEM IN DETAIL.  BUT SUPPOSE YOU ARE TO REPAIR SEVERAL DIFFERENT TYPES OF MICROPROCESSORS AND YOU DO NOT KNOW MUCH ABOUT THE PROGRAMMING OF THE SYSTEM WHICH YOU ARE TROUBLE SHOOTING ,THEN YOU NEED TO USE EQUIPMENT SUCH AS FLUKE 9010A.  SUCH EQUIPMENT KEEPS YOU FREE FROM THE STRESS OF KNOWING ALL THE SOFTWARE AND HARDWARE DETAILS OF THE SYSTEM AT HAND.