8085Timing and Pin

Embed Size (px)

Citation preview

  • 7/28/2019 8085Timing and Pin

    1/32

    An Introduction to

    Microprocessor Architectureusing intel 8085 as a classic

    processor

    http://educate.intel.com/en/TheJourneyInside/ExploreTheCurriculum/EC_Microprocessors/http://educate.intel.com/en/TheJourneyInside/ExploreTheCurriculum/EC_Microprocessors/
  • 7/28/2019 8085Timing and Pin

    2/32

    Intel 8085

  • 7/28/2019 8085Timing and Pin

    3/32

    3

    Intel 8085

    PinConfiguration

  • 7/28/2019 8085Timing and Pin

    4/32

    4Signals and I/O Pins

  • 7/28/2019 8085Timing and Pin

    5/32

    5

    Intel 8085 CPU Block Diagram

  • 7/28/2019 8085Timing and Pin

    6/32

    The 8085 and Its Buses

    The 8085 is an 8-bit general purpose microprocessor that can

    address 64K Byte of memory.

    It has 40 pins and uses +5V for power. It can run at a maximum

    frequency of 3 MHz. The pins on the chip can be grouped into 6 groups:

    Address Bus.

    Data Bus.

    Control and Status Signals.

    Power supply and frequency.

    Externally Initiated Signals.

    Serial I/O ports.

  • 7/28/2019 8085Timing and Pin

    7/32

    The Address and Data Bus Systems

    The address bus has 8 signal linesA8 A15 which are

    unidirectional.

    The other 8 address bits are multiplexed (time shared) with the

    8 data bits. So, the bitsAD0 AD7 are bi-directional and serve asA0

    A7 and D0 D7 at the same time.

    During the execution of the instruction, these lines carry the

    address bits during the early part, then during the late parts

    of the execution, they carry the 8 data bits. In order to separate the address from the data, we can use a

    latch to save the value before the function of the bits

    changes.

  • 7/28/2019 8085Timing and Pin

    8/328

    ALE used to demultiplex address/data bus

  • 7/28/2019 8085Timing and Pin

    9/32

    The Control and Status

    Signals There are 4 main control and status signals. These are:

    ALE:Address Latch Enable. This signal is a pulse thatbecome 1 when theAD0 AD7 lines have an address onthem. It becomes 0 after that. This signal can be used toenable a latch to save the address bits from the AD lines.

    RD: Read.Active low.

    WR: Write.Active low.

    IO/M: This signal specifies whether the operation is amemory operation (IO/M=0) or an I/O operation (IO/M=1).

    S1 and S0 : Status signals to specify the kind of operationbeing performed. Usually not used in small systems.

  • 7/28/2019 8085Timing and Pin

    10/32

    Frequency Control Signals

    There are 3 important pins in the frequency control group.

    X0 and X1 are the inputs from the crystal or clock generatingcircuit.

    The frequency is internally divided by 2. So, to run the microprocessor at 3 MHz, a clock

    running at 6 MHz should be connected to the X0 andX1 pins.

    CLK (OUT): An output clock pin to drive the clock of the restof the system.

  • 7/28/2019 8085Timing and Pin

    11/32

    A closer look at the 8085

    Architecture

    Now, lets look at some of its features

    with more details.

  • 7/28/2019 8085Timing and Pin

    12/32

    The ALU

    In addition to the arithmetic & logic circuits, the ALU

    includes an accumulator, which is a part of every

    arithmetic & logic operation.

    Also, the ALU includes a temporary register used for

    holding data temporarily during the execution of the

    operation. This temporary register is not accessible

    by the programmer.

  • 7/28/2019 8085Timing and Pin

    13/32

    The Flags register There is also a flag register whose bits are affected by the arithmetic &

    logic operations.

    S-sign flag The sign flag is set if bit D7 of the accumulator is set after an

    arithmetic or logic operation.

    Z-zero flag

    Set if the result of the ALU operation is 0. Otherwise is reset.This flag is affected by operations on the accumulator as wellas other registers. (DCR B).

    AC-Auxiliary Carry

    This flag is set when a carry is generated from bit D3 andpassed to D4 . This flag is used only internally for BCDoperations.

    P-Parity flag

    After an ALU operation, if the result has an even # of 1s, the

    p-flag is set. Otherwise it is cleared. So, the flag can be usedto indicate even parity.

    CY-carry flag

    This flag is set when a carry is generated from bit D7 after anunsigned operation.

    OV-Overflow flag

    This flag is set when an overflow occurs after a signedoperation.

  • 7/28/2019 8085Timing and Pin

    14/32

    Now, Let us see how the different units

    and bus systems stay connected:

    A15-A8

    LatchAD7-AD0

    D7- D

    0

    A7- A

    0

    8085

    ALE

    IO/MRDWR

    1K Byte

    Memory

    Chip

    WRRD

    CS

    A9- A0

    A15

    - A10

    Chip Selection

    Circuit

  • 7/28/2019 8085Timing and Pin

    15/32

    More on the 8085 machine

    cycles The 8085 executes several types of instructions

    with each requiring a different number of

    operations of different types. However, theoperations can be grouped into a small set.

    The three main types are:

    Memory Read and Write.

    I/O Read and Write. Request Acknowledge.

    These can be further divided into various smaller

    operations (machine cycles).

  • 7/28/2019 8085Timing and Pin

    16/32

    Opcode Fetch Machine Cycle

    The first step of executing any instruction is the Opcode fetchcycle.

    In this cycle, the microprocessor brings in the instructionsOpcode from memory.

    To differentiate this machine cycle from the very similarmemory read cycle, the control & status signals are setas follows:

    IO/M=0, s0 and s1 are both 1.

    This machine cycle has four T-states.

    The 8085 uses the first 3 T-states to fetch the opcode. T4 is used to decode and execute it.

    It is also possible for an instruction to have 6 T-states in anopcode fetch machine cycle.

  • 7/28/2019 8085Timing and Pin

    17/32

    Memory Read Machine Cycle

    The memory read machine cycle is

    exactly the same as the opcode fetch

    except: It only has 3 T-states

    The s0 signal is set to 0 instead.

  • 7/28/2019 8085Timing and Pin

    18/32

    The Memory Read Machine Cycle

    To understand the memory read machine cycle, lets

    study the execution of the following instruction:

    MVI A, 32

    In memory, this instruction looks like: The first byte 3EH represents the opcode for loading

    a byte into the accumulator (MVI A), the second byte

    is the data to be loaded.

    The 8085 needs to read these two bytes from memory

    before it can execute the instruction. Therefore, it willneed at least two machine cycles.

    The first machine cycle is the opcode fetch

    discussed earlier.

    The second machine cycle is the Memory Read

    Cycle.

    2000H

    2001H

    3E

    32

  • 7/28/2019 8085Timing and Pin

    19/32

    The Memory Write Operation

    In a memory write operation: The 8085 places the address (2065H) on the

    address bus

    Identifies the operation as a memory write(IO/M=0, s1=0, s0=1).

    Places the contents of the accumulator on thedata bus and asserts the signal WR.

    During the last T-state, the contents of the databus are saved into the memory location.

  • 7/28/2019 8085Timing and Pin

    20/32

    Memory interfacing

    There needs to be a lot of interaction between the

    microprocessor and the memory for the exchange of

    information during program execution.

    Memory has its requirements on control signals

    and their timing.

    The microprocessor has its requirements as well.

    The interfacing operation is simply the matching of

    these requirements.

  • 7/28/2019 8085Timing and Pin

    21/32

    Memory structure & its requirements

    The way of interfacing the above two chips to the

    microprocessor is the same.

    However, the ROM does not have a WR signal.

    AddressLines

    DateLines

    CS

    RDOutput Buffer

    ROM

    Address

    Lines

    Data Lines

    CS

    RDOutput Buffer

    RAMWRInput Buffer

    Data Lines

  • 7/28/2019 8085Timing and Pin

    22/32

    Interfacing Memory

    Accessing memory can be summarized into the following threesteps:

    Select the chip.

    Identify the memory register.

    Enable the appropriate buffer.

    Translating this to microprocessor domain:

    The microprocessor places a 16-bit address on theaddress bus.

    Part of the address bus will select the chip and theotherpart will go through the address decoder toselect the register.

    The signals IO/M and RD combined indicate that amemory read operation is in progress. The MEMRsignal can be used to enable the RD line on the

    memory chip.

  • 7/28/2019 8085Timing and Pin

    23/32

    Address decoding

    The result of address decoding is theidentification of a register for a given address.

    A large part of the address bus is usually

    connected directly to the address inputs of thememory chip.

    This portion is decoded internally within thechip.

    What concerns us is the other part that mustbe decoded externally to select the chip.

    This can be done either using logic gates or adecoder.

  • 7/28/2019 8085Timing and Pin

    24/32

    Putting all of the concepts together:

    Back to the Overall Picture

    A15-A8

    LatchAD7-AD0

    D7- D

    0

    A7- A

    0

    8085

    ALE

    IO/MRDWR

    1K Byte

    Memory

    Chip

    WRRD

    CS

    A9- A

    0

    A15

    - A10

    Chip Selection

    Circuit

  • 7/28/2019 8085Timing and Pin

    25/32

    25

    Control and Status Signals.

    I t t Si l

  • 7/28/2019 8085Timing and Pin

    26/32

    26

    Interrupt Signals 8085 p has several interrupt signals as shown in the

    following table.

  • 7/28/2019 8085Timing and Pin

    27/32

    27

    Interrupt signals

    INTR input is enabled when EI instruction

    is executed.

    The status of the RST 7.5, RST 6.5 and

    RST 5.5 pins are determined by both EI

    instruction and the condition of the mask

    bits in the interrupt mask register.

  • 7/28/2019 8085Timing and Pin

    28/32

    28

    Interrupt

    Vectors

  • 7/28/2019 8085Timing and Pin

    29/32

    29

    RESET signal Following are the two kind of RESET

    signals:

    RESET IN: an active low input signal, Program

    Counter (PC) will be set to 0 and thus MPU will

    reset.

    RESET OUT: an output reset signal to indicatethat the p was reset (i.e. RESET IN=0). It

    also used to reset external devices.

  • 7/28/2019 8085Timing and Pin

    30/32

    30

    RESET signal

  • 7/28/2019 8085Timing and Pin

    31/32

    31

    Direct Memory Access (DMA)

    DMA is an IO technique where external IO device

    requests the use of the MPU buses. Allows external IO devices to gain high speed access to

    the memory.

    Example of IO devices that use DMA: disk memory system.

    HOLD and HLDA are used for DMA. If HOLD=1, 8085 will place it address, data and control

    pins at their high-impedance.

    A DMA acknowledgement is signaled by HLDA=1.

  • 7/28/2019 8085Timing and Pin

    32/32

    32Figure 4: 8085 timing diagram for Opcode fetch cycle for MOVC A

    MPU Communication and Bus Timing