microprocessor history1

Upload: rozitarmizi-mohammad

Post on 14-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Microprocessor History1

    1/40

    Microprocessor History

  • 7/29/2019 Microprocessor History1

    2/40

    PMOS technology slow and awkward to

    interface with TTL family

    4 bit processor

    Instructions were executed in about 20 s.

    Intel 4004 the first MP. 4K nibbles address

    space.

    Intel 8008- can manipulate a whole byte. 16Kbytes address space

    50,000 operations/second.

    Early microprocessors

  • 7/29/2019 Microprocessor History1

    3/40

    N-channel MOSFET

    1970.

    Faster than P-MOS.

    Work with +ve supply; easy to interface with

    TTL. 1973 Intel 8080 MP.

    500,000 operations/second.

    64K bytes memory.

    Upward software compatible with 8008.

    Other brands are MC6800, Fairchilds F-8 etc.

  • 7/29/2019 Microprocessor History1

    4/40

    Basic types of MP

    Two types

    Single component microprocessors

    Bit sliced microprocessors

    Can be cascaded to allow functioning systems with

    word size from 4 bits to 200 bits.

  • 7/29/2019 Microprocessor History1

    5/40

    Single component M Computer

    Composed of

    A processor

    read only memory (for program storage)

    Read/Write memory (for data storage)

    Input/output connections for interfacing

    Timer as event counter

    Intel 8048, Motorola 6805R2.

    Oven, washing machine, dish washer etc.

  • 7/29/2019 Microprocessor History1

    6/40

    Modern MP

    8, 16, 32, 64 bits are available.

    Intel 8085, Motorola 6800 8 bit word 16 bitaddress.

    Intel 8088, 8086, Motorola 68000 16 bits word,20 bits address.

    80186 never used.

    286 real mode and protected mode; 16MB

    memory 386 paging, 4GB memory, 32 bits word

    486 math coprocessor, L1 cache

  • 7/29/2019 Microprocessor History1

    7/40

    Modern MP

    Pentium 64 bits i/o off the chip but process 32bits word, exception floating

    point processed 64 bits, cache doubled, instruction pipelining.

    Pentium Pro L2 cache, Improved pipelining

    Pentium MMX Multi-Media extensions, 57 new inter instruc mostly used for

    multimedia programming

    Pentium II, III, IV Pentium pro with MMX tech, increased L2 cache, full 64 bit

    operation RISC

    Reduced instruction set processor, uniform length instruc, fasterin operation, cannot perform may different thing as CISC.

  • 7/29/2019 Microprocessor History1

    8/40

    Basic MP architecture

    Fetch, decode,

    execute.

    PC increment.

    First instruction

    is a fetch

    0000H for 8085

    FFFF0H for

    8086, 8088

    RegisterA

    rray

    control

    Instruction

    RegisterA

    LU

    Data Bus

    Address Bus

    Control

    Bus

    AF,

    BC,

    DE,HL,

    SP,

    PC

    many

    more

  • 7/29/2019 Microprocessor History1

    9/40

    Memory Interfacing and IOdecoding

  • 7/29/2019 Microprocessor History1

    10/40

    Interfacing needs bus

    Isolation and separation of signals from

    different devices connected to MP.

    Unidirectional

    Bidirectional

    LS373, 244

  • 7/29/2019 Microprocessor History1

    11/40

    Memory map

    Pictorial representation of the whole range

    of memory address space.

    Defines which memory system is where, their

    sizes etc.

    Address space or range.

    8086 has 1M address space in minimum

    mode.

    8085 has 64K address sspace.

  • 7/29/2019 Microprocessor History1

    12/40

    Address Decoding

    Address decoder is a digital ckt that indicates

    that a particular area of memory is being

    addressed, or pointed to, by the MP.

    Absolute address decoding Decode an address to one single output

    Decode 10110 so that u can get a signal from the

    decoder when it receives exactly that bit pattern.

    Partial address decoding

    Some bits are used as dont care so that decoder

    gives a signal for a range of consecutive bit patterns.

  • 7/29/2019 Microprocessor History1

    13/40

    1 0 1 1 0 10

    11

    0

    a b c d e

    a b c d e

    Can use decoder IC with gates to

    achieve exact decoded o/p

    Logic 1

    8 input NAND gate implementation

    Active low o/p signal

    Absolute decoding

    3to8linedcd

    10

    1

    0

    7

    o/p

  • 7/29/2019 Microprocessor History1

    14/40

    Partial decoding

    When a range of addresses are deconded then it is called partial

    decoding. For example, if we need to generate a control signal for

    an address generated by the MP within the range FFF0 FFFF,

    then it is called partial decoding.

    Decoder, multiplexer can be used for address decoding

    1 1 1 1 1 1 1 1 1 1 1 1 x x x x

    A15

    A14

    A4

  • 7/29/2019 Microprocessor History1

    15/40

    Internal architecture of 8085

    ALU

  • 7/29/2019 Microprocessor History1

    16/40

    Flag register

    S Z AC P CY 1. S : after the execution of an

    arithmetic operation, if bit 7 of

    the result is 1, then sign flag is

    set.

    2. Z : bit is set if ALU operation

    results a zero in the Acc orregisters.

    3. AC: bit is set, when a carry is

    generated by bit 3 and passed

    on bit 4.

    4. P: parity bit is set when the

    result has even number of 1s.5. CY = carry is set when result

    generates a carry. Also a

    borrow flag.

  • 7/29/2019 Microprocessor History1

    17/40

    Accumulator

    Hold data for manipulation (arithmetic, logical).

    Whenever the operation combines two words,either arithmetically or logically, the accumulator

    contains one word (say A) and the otherword(say B) may be contained in a register or inmemory location. After the operation the result isplaced in the Acc replacing the word A.

    Major working register. MP can directly work onAcc.

    Programmed data tranfer.

  • 7/29/2019 Microprocessor History1

    18/40

    General purpose registers

    Six registers.

    B, C, D, E, H and L can store 8 bit data.

    They can be combined to perform some

    16 bit operation.

  • 7/29/2019 Microprocessor History1

    19/40

    ALU

    Arithmetic logic unit.

    Two input ports, one output port.

    Perform AND, OR, ExOR, Add, subtract,

    complement, Increment, Decrement, shift left,shift right.

    ALUs two temporary registers are connected to

    MPs internal bus from which it can take datafrom any registers. It can place data directly to

    data bus through its single output port.

  • 7/29/2019 Microprocessor History1

    20/40

    Program counter

    Its job is to keep track of what instruction is

    being used and what the next instruction will be.

    For 8085 it is 16 bit long.

    Can get data from internal bus as well asmemory location.

    PC automatically increments to point to the next

    memory during the execution of the presentinstruction.

    PC value can be changed by some instructions.

  • 7/29/2019 Microprocessor History1

    21/40

    Stack pointer

    16 bit register acts as memory pointer.

    Can save the value of the program counter

    for later use.

    points to a region of memory which is

    called stack. follows LIFO algorithm.

    After every stack operation SP points tonext available location of the stack.

    Usually decrements.

  • 7/29/2019 Microprocessor History1

    22/40

    Memory address register

    PC sends address to MAR. MAR points to the

    location of the memory where the content is to

    be fetched from.

    PC increments but MAR does not. If the content is an instruction, IR decodes it.

    During execution if it is required to fetch another

    word from memory, PC is loaded with the value

    PC again sends it to the MAR and fetch

    operation starts.

  • 7/29/2019 Microprocessor History1

    23/40

    Instruction register

    Holds instruction the micro is currently

    being executed.

    8 bit long.

  • 7/29/2019 Microprocessor History1

    24/40

    others

    Instruction decoder.

    Control logic.

    Internal data bus.

  • 7/29/2019 Microprocessor History1

    25/40

    8085

    40 pin DIP.

    +5V

    3 - 5MHz ADD BUS DATA BUS

    CONTROL STATUS

    POWER SUPPLY AND

    FREQ

    EXTERNALLY INITIATED

    SIGNALS

    SERIAL I/O PORTS

    21 28HIGH ORDER

    ADD BUS

    5V GND

    30 ALE

    29 S0

    33 S1

    34 IO/M

    32 RD

    31 WR

    CLK OUTRESET OUT

    HLDA 38

    INTA 11

    RESET IN 36

    HOLD 39

    READY 35

    INTR 10

    RST5.5 9

    RST6.5 8RST7.5 7

    TRAP 6

    SOD 4

    SID 5

    12 19

    MUX ADD/DATA BUS

    2040

    X1 X2

    3 37

  • 7/29/2019 Microprocessor History1

    26/40

    Address bus 16 bits

    A8 to A15 unidirectional. Higher 8 bit

    AD0 to AD7 multiplexed with data. This pins

    are bidirectional when used as data bus.

    Data bus 8 bit long: AD0 to AD7

    ADD/DATA bus

    Data bus

    D

    G

    Q

    OC

    AD7AD6AD

    5

    AD0

    ALE

    GND

    Address bus.

    Lower 8 bit

    Address bus.

    higher 8 bit

    A8

    A15

  • 7/29/2019 Microprocessor History1

    27/40

    Control signals

    ALE active high output

    used to latch the lower 8

    address bits.

    RD, WR - active low

    output signals.

    IO/M output signal to

    differentiate memory and

    IO operation.

    S1 and S0 status output

    signal. Identify various

    operations.

    Machine

    cycle

    IO/M S1 S0 Control

    signals

    Opcode

    fetch

    0 1 1 RD=0

    Memory

    read

    0 1 0 RD=0

    Memorywrite

    0 0 1 WR=0

    I/O read 1 1 0 RD=0

    I/O write 1 0 1 WR=0

    Interrupt

    Ackn

    1 1 1 INTA=0

    Halt Z 0 0 RD,

    WR =Z

    and

    INTA=1

    Hold Z X X

    Reset Z X X

  • 7/29/2019 Microprocessor History1

    28/40

    External control signals

    INTR interrupt request. Input signal

    INTA interrupt acknowledge. o/p signal.

    RST7.5,RST 6.5, RST5.5 restart interrupts.

    Vectored interrupts. Higher priority. TRAP - Nonmaskable interrupt. Highest priority.

    Hold request for the control of buses. O/Psignal

    HLDA Hold Acknowledge. I/P signal READY I/P signal. When low Mp waits for

    integral number of clock cycles until it goes high.

  • 7/29/2019 Microprocessor History1

    29/40

    Bus control signals

    8085

    IO/M

    RD

    WR

    MEMR

    MEMWR

    IOWR

    IOWR

  • 7/29/2019 Microprocessor History1

    30/40

    8080 functional block diagram

    W

    Temp Reg (8)

    Z

    Temp Reg (8)

    H

    (8)

    L

    (8)

    B

    (8)

    C

    (8)

    D

    (8)

    E

    (8)

    Stack pointer

    (16)

    Program counter (16)

    Incrementer/decrementer

    Latch (16)

    RegSelect

    MUX

    Address buffer (8) Data/Add buffer (8)

    Instru

    Register (8)

    Instru

    DecoderFlags

    Accumu Temp Reg

    Timing & control

    Interrupt control Serial I/O control

  • 7/29/2019 Microprocessor History1

    31/40

    Timing diaga. of Memory cycle

    CLK

    A15-A8

    AD7-AD0

    IO/M

    RD

    MEMRD

    A7-A0 A7-A0Data from

    MPU

    Data from

    memory

    WR

    MEMWR

    T1 T2 T3

    ALE

    T1 T2 T3

    READ CycleWRITE Cycle

  • 7/29/2019 Microprocessor History1

    32/40

    Interfacing A Memory Chip

    Memory

    Chip

    3 to 8

    decoder

    E1 E2 E3

    A15A14IO/M

    A13

    A12

    A11Q1

    CEA10

    A9

    A0

    D7

    D0

    D6

    RD

    WR

    A15A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

    2K Byte memory

    Memory address space of the chip:

    8800H to 8FFFH

    1 0 0 0 1 X X X X X X X X X X X

    MEMSEL

    8 8 - F 0 - F 0 - F

  • 7/29/2019 Microprocessor History1

    33/40

    MVI A,32H Instruction2000H 3EH ;MVI A, 32H

    2001H 32H

    00H; low-

    order Add3E; opcode

    T1 T2 T3 T4 T1 T2 T3

    20H; high-order address

    01H; low-

    order Add32H; Data

    Unspecified 20H; High-order address

    Status IO/M=0,S1=1,S0=1; opcode fetch Status IO/M=0,S1=1,S0=0; data read

    RD

    ALE

    AD7-AD0

    A15-A8

    M1 (Opcode-fetch) M2 (Memory Read)

  • 7/29/2019 Microprocessor History1

    34/40

    OUT/IN instruction

    port address: 50H

    2050 D3

    2051 50 Let input port address is 30H

    2150 DB

    2151 30

    OUT 50H sends acc content to I/O address 50H

    IN 30H reads content from I/O address 30H and

    stores the value in accum

  • 7/29/2019 Microprocessor History1

    35/40

    IN 30H instruction

    50H DB frommemory

    21H Port add 30H

    Data fromAccumula

    T1 T2 T3 T4 T1 T2 T3 T1 T2 T3

    21Hunspec

    ified

    Port addre30H

    51H Port add30H

    IO/M

    M1 M2 M3

    RD

    MEMRD

    IORD

    ALE

    AD7-AD0

    A15-A8

    CLK

  • 7/29/2019 Microprocessor History1

    36/40

    T1 T2 T3 T4 T1 T2 T3 T1 T2 T3

    20H Port add, 50H20Hunspec

    ified

    IO/M

    OUT 50H instruction

    M1 M2 M3

    50H Port addre50H Data fromAccumula51H Port add50HOpcodeD3

    RD

    MEMRD

    IORD

    ALE

    AD7-AD0

    A15-A8

    CLK

    IOWR

  • 7/29/2019 Microprocessor History1

    37/40

    Device selection & Data Transfer

    Decode the IO address. Combine it with control

    the signal to generate a

    unique IO select pulse

    that is generated onlywhen both signals are

    asserted.

    Use it to activate the IO

    port

    Address decoding can

    be absolute or partial

    Decoder

    A

    ddresslines

    Enable

    Databus

    IOR or IOW

    NOR

    To

    Peripherals

    Latch

    Or

    Tri-state

    Buffer

  • 7/29/2019 Microprocessor History1

    38/40

    Interfacing LED for display

    Given port add: FFH

    Use octal latch as o/p port.

    Steps for IO select pulse: Decode FF

    Use IO/M to make the port output only

    Use WR signal to write data to the port

  • 7/29/2019 Microprocessor History1

    39/40

    IO/M

    A7

    A0 Q7

    A10

    A9

    A0

    +5 V

    WR

    IOSEL

    A1

    G

    OE

    D FF

    MVI A, data

    OUT FFH

    HLT

    * To interface a 7-segment display

    you need to decide about the type of

    7-segment: common anode orcommon cathode

    * Power supply connection to the LED

    segments will be opposite.

    * For common cathode a 0 is sent to

    the respective pin to lit it up.

  • 7/29/2019 Microprocessor History1

    40/40

    Interfacing DIP switches

    Let port address: 07H

    00H

    Partial decoding

    Must use pull-upresistors.

    IN 07H instruction reads

    a byte into accumulator

    from port 07H

    3 to 8

    decoder

    E1 E2 E3

    IO/M

    A7

    A5

    Q0

    D0

    +5 V

    RD

    IOSELA6

    OE

    A4 A3

    D1

    D7