Arquitectura de VonNeuman

Embed Size (px)

Citation preview

  • 7/24/2019 Arquitectura de VonNeuman

    1/25

    1

    Arquitectura de unMicroprocesador

    Campus PueblaGilberto Hernndez Herrera

    [email protected]

    John Von Neumann

    Pionero en la ciencia de la computacin.

    Creador de la arquitectura de las computadoras actuales,propuso la adopcin del bit como medida de la memoria

    de las computadoras.

    Particip en el diseo de la primera computadora,la ENIAC, que calculaba la trayectoria de proyectiles.

    En esta computadora las modificaciones a los programasrequeran de cambiar la conexin de vlvulas.

    Von Neumann propuso separar el software del hardware.Este diseo se realiz en la computadora EDVAC.

  • 7/24/2019 Arquitectura de VonNeuman

    2/25

    2

    Primeras

    ComputadorasENIACENIACENIACENIAC

    EDVACEDVACEDVACEDVAC

    Electronic Numerical Integrator And Computer

    Electronic Discrete VariableAutomatic Computer

    Arquitectura de unMicrocontrolador

    Campus PueblaGilberto Hernndez Herrera

    [email protected]

  • 7/24/2019 Arquitectura de VonNeuman

    3/25

    3

    Arquitectura deHarvard

    Campus PueblaGilberto Hernndez Herrera

    [email protected]

    AC

    PC

    FR

    ( ZNVI )

    IR

    MAR MDR

    RAM

    ALU

    SP

    UC

    Puertos

    Entrada

    y Salida

    ARQUITECTURA DE UN MICROCONTROLADOR

  • 7/24/2019 Arquitectura de VonNeuman

    4/25

    4

    http://www.microchip.com

    Microcontroladores de MICROCHIP = PICs

  • 7/24/2019 Arquitectura de VonNeuman

    5/25

    5

  • 7/24/2019 Arquitectura de VonNeuman

    6/25

    6

  • 7/24/2019 Arquitectura de VonNeuman

    7/25

    7

    CORE 2 DUO

  • 7/24/2019 Arquitectura de VonNeuman

    8/25

    8

    Arquitectura deVon Neumann

    Campus PueblaGilberto Hernndez Herrera

    [email protected]

    ARQUITECTURA DEL PROCESADOR Von Neumann

    AC

    PC

    FR( ZNVI )

    IR

    MAR MDR

    RAM

    ALU

    SP

    UC

    REGISTROS

    AC: Accumulator

    FR: Flags

    PC: ProgramCounter

    IR: Instruction Reg.

    MAR: MemoryAddress Reg.

    MDR: MemmoryBuffer Reg.

    SP: Spool Reg.

    ALU: UnidadAritmticaLgica

    UC: Unidad deControl

    RAM: RandomAcces Memory

  • 7/24/2019 Arquitectura de VonNeuman

    9/25

    9

    ARQUITECTURA DEL PROCESADOR Von Neumann

    AC

    PC

    FR( ZNVI )

    IR

    MAR MDR

    RAM

    ALU

    SP

    UC

    MM-Read

    MDR

  • 7/24/2019 Arquitectura de VonNeuman

    10/25

    10

    Microoperaciones ! Microinstrucciones

    Cdigo deCdigo deCdigo deCdigo de

    MiroMiroMiroMiro!"erai#!"erai#!"erai#!"erai#

    Operacin Descripcin

    0$ [MDR]

  • 7/24/2019 Arquitectura de VonNeuman

    11/25

    11

    Microoperaciones ! MicroinstruccionesCdigo de MiroCdigo de MiroCdigo de MiroCdigo de Miro

    !"erai#!"erai#!"erai#!"erai#Operacin Descripcin

    0$0$0$0$ [MDR]

  • 7/24/2019 Arquitectura de VonNeuman

    12/25

    12

    ARQUITECTURA DEL PROCESADOR Von Neumann

    AC

    PC

    FR( ZNVI )

    IR

    MAR MDR

    RAM

    ALU

    SP

    UC

    FETCH

    [MAR]

  • 7/24/2019 Arquitectura de VonNeuman

    13/25

    13

    ARQUITECTURA DEL PROCESADOR Von Neumann

    AC

    PC

    FR( ZNVI )

    IR

    MAR MDR

    RAM

    ALU

    SP

    UC

    EXECUTE

    LDA, I

    [AC]5

  • 7/24/2019 Arquitectura de VonNeuman

    14/25

    14

    Instruccionesen &nsamblador

    Formatos dePalabras

    DATOS

    INSTRUCCIONES

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    'ipos de direccionamiento

    C.Op. I DATO

    0 = I = Inmediato

    C.Op. R XXX

    DATO[PC] + XXX

    1 = R = Relativo

    C.Op. A XXX

    DATOXXX

    2 = A = Absoluto

    C.Op. D XXX

    YYYXXX

    3 = D = Indirecto

    DATOYYY

  • 7/24/2019 Arquitectura de VonNeuman

    15/25

    15

    'ipos de direccionamiento

    Direccionesde memoria I Inmediato*+ *, . / ,

    Cdigo de

    Operacin( ( DATO

    Direccionesde memoria A Absol"to

    *+ *, . / ,

    Cdigo deOperacin

    ) ( Dir. XXX

    Dir *** DATO

    Direccionesde memoria R Relativo

    *+ *, . / ,

    Cdigo de

    Operacin( ) Dir. XXX

    +PC,*** DATO

    Direccionesde memoria D InDirecto

    *+ *, . / ,

    Cdigo de

    Operacin) ) Dir. XXX

    Dir *** Dir. YYY

    Dir ... DATO

    &(emplo de instrucci)n

    LOCALIDAD C/DI0O MAQUINAL MNEM/NICO

    0 102011 LDA,A,011

    1 210001 SUB,I,+01

    2 112011 STA,A,011

    3 311001 JMZ,R,+01

    000000 DEF, +00000

    000010 DEF, +00010

    Formatos dePalabras

    DATOS

    INSTRUCCIONES

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    10 2 011C$digo deO%eraci$n Ti%o de

    Direccionamiento

    Dato $ Direcci$n

    1 02011

    1igno Magnit"d

  • 7/24/2019 Arquitectura de VonNeuman

    16/25

    16

    PROGRAMA ENSAMBLADO

    LOCALIDAD C/DI0OMAQUINAL

    MNEM/NICO

    0 102010 LDA,A,010

    1 202011 ADD,A,011

    2 112010 STA,A,010

    3 102011 LDA,A,011

    4 210001 SUB,I,+01

    5 112011 STA,A,011

    6 311001 JMZ,R,+01

    7 302000 JMP,A, 0008 990000 HLT

    9 000000 NP

    10 000000 DEF, +00000

    11 000010 DEF, +00010

    ORG, 0lda,a,sadd,a,ista,a,slda,a,isub,i,1sta,a,ijmz,r,1

    jmp,a,0hltORG 10

    s def, 0i def, 10

    Este programasuma de i a 0

    y deja el resultado en s

    &(emplo de pro$rama

    &(emplo enensamblador

    NOP 00 No OperationCLA 01 C lear AccumulatorNEG 02 NegativeINTON 03 Interrupt On

    INTOF 04 Interrupt OffLDA 10 Load AccumulatorSTA 11 Store AccumulatorADD 20 AddSUB 21 SubtractJMP 30 JumpJMZ 31 Jump on ZeroJMN 32 Jump on NegativeLDSP 40 Load SpoolSTSP 41 Store SpoolPUSHA 42 Push AccumulatorPOPA 43 Pop AccumulatorJSR 50 Jump on SubroutineRTN 51 ReturnRTI 51 Return InterruptIN 60 InputOUT 61 OutputHLT 63 Halt

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    DIRMEM

    C/DI0ONUM2RICO

    MNEM/NICO

    0 102010 LDA,A,010

    1 202011 ADD,A,011

    2 112010 STA,A,010

    3 102011 LDA,A,011

    4 210001 SUB,I,+01

    5 112011 STA,A,011

    6 311001 JMZ,R,+01

    7 302000 JMP,A, 000

    8 990000 HLT

    9 000000 NP

    10 000000 DEF, +00000

    11 000010 DEF, +00010

    Instru$

    0$inPC AC S

    (10)I

    (11)

  • 7/24/2019 Arquitectura de VonNeuman

    17/25

    17

    R!, 000 LA INSTR "A EN LA DIR 000

    LDA, A, # $AR!AR # EN EL A$

    ADD, A, % SUMARLE % AL A$

    ADD, A, Z SUMARLE Z AL A$

    STA, A, & !UARDARL EN &

    HLT DETENER LA EJE$U$IN

    R!, 010 LA SI! INST "A EL LA DIR 10

    & DEF, +0 DEFINIR EL "ALR +00000

    # DEF, +250 DEFINIR EL "ALR +00250

    % DEF, +125 DEFINIR EL "ALR +00125

    Z DEF, '315 DEFINIR EL "ALR '00315

    &(emplos de pro$ramasen ensamblador

    utilizando mnem)nicos

    Instruc-Cin

    PC AC W X Y Z

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    NOP 00 No OperationCLA 01 Clear AccumulatorNEG 02 NegativeINTON 03 Interrupt OnINTOF 04 Interrupt OffLDA 10 Load AccumulatorSTA 11 Store Accumulator

    ADD 20 AddSUB 21 SubtractJMP 30 JumpJMZ 31 Jump on ZeroJMN 32 Jump on NegativeLDSP 40 Load SpoolSTSP 41 Store SpoolPUSHA 42 Push AccumulatorPOPA 43 Pop Accum ulatorJSR 50 Jump on SubroutineRTN 51 ReturnRTI 51 Return InterruptIN 60 InputOUT 61 OutputHLT 63 Halt

    'ipos de direccionamiento

    C.Op. I DATO

    0 = I = Inmediato

    C.Op. R XXX

    DATO[PC] + XXX

    1 = R = Relativo

    C.Op. A XXX

    DATOXXX

    2 = A = Absoluto

    C.Op. D XXX

    YYYXXX

    3 = D = Indirecto

    DATOYYY

  • 7/24/2019 Arquitectura de VonNeuman

    18/25

    18

    R!, 000

    LDA, A, N

    STA, A, N1

    LDA, A, D#

    STA, A, D#1

    $LA

    STA, A, S

    $I$L LDA, A, S

    ADD, D, D#1

    STA, A, S

    LDA, A, N1

    SUB, I, 1

    STA, A, N1

    JMZ, A, FIN

    LDA, A, D#1

    ADD, I, +1

    STA, A, D#1

    JMP, A, $I$L

    FIN HLT

    R!, 18

    N1 DEF, +0

    D#1 DEF, +0

    S DEF, +0

    N DEF, +10

    D# DEF, ## DEF, +10

    DEF, +20

    DEF, +30

    DEF, +40

    DEF, +50

    DEF, +60

    DEF, +70

    DEF, +80

    DEF, +90

    DEF, '100

    &(emplos de pro$ramasen ensamblador

    utilizando mnem)nicos

    C.Op. D XXX

    YYYXXX

    Direccionamiento

    3 = D = Indirecto

    DATOYYY

    PC AC N1 DX1 S N DX X

    R!, 18N1 DEF, +0

    D#1 DEF, +0

    S DEF, +0

    N DEF, +10

    D# DEF, #

    # DEF, +10

    DEF, +20

    DEF, +30

    DEF, +40

    DEF, +50

    DEF, +60

    DEF, +70

    DEF, +80

    DEF, +90

    DEF, '100

    &(emplos de pro$ramasen ensamblador

    utilizando mnem)nicos

    R!, 000

    LDA, A, N

    STA, A, N1

    LDA, A, D#

    STA, A, D#1

    $LA

    STA, A, S

    $I$L LDA, A, S

    ADD, D, D#1

    STA, A, S

    LDA, A, N1

    SUB, I, 1

    STA, A, N1

    JMZ, A, FIN

    LDA, A, D#1

    ADD, I, +1

    STA, A, D#1

    JMP, A, $I$L

    FIN HLT

    PC AC N1 DX1 S N DX X

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    NOP 00 No OperationCLA 01 Clear AccumulatorNEG 02 NegativeINTON 03 Interrupt OnINTOF 04 Interrupt OffLDA 10 Load AccumulatorSTA 11 Store AccumulatorADD 20 AddSUB 21 SubtractJMP 30 JumpJMZ 31 Jump on ZeroJMN 32 Jump on Negative

    LDSP 40 Load SpoolSTSP 41 Store SpoolPUSHA 42 Push AccumulatorPOPA 43 Pop AccumulatorJSR 50 Jump on SubroutineRTN 51 ReturnRTI 51 Return InterruptIN 60 InputOUT 61 OutputHLT 63 Halt

  • 7/24/2019 Arquitectura de VonNeuman

    19/25

    19

    Instruccionesen &nsamblador

    Formatos dePalabras

    DATOS

    INSTRUCCIONES

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    Programas:

    Multiplicaci)n

    *actorial Potencia

    Campus PueblaGilberto Hernndez Herrera

    [email protected]

  • 7/24/2019 Arquitectura de VonNeuman

    20/25

    20

    Al#orit!os y 1ro#ra!a$in en ensa!"lador

    Multiplicacin* 3 .

    Inicio

    * 4 (

    CM 4 . M 4 (

    . 4 (

    M 4 M *

    CM 4 CM 5 )

    CM 4 (

    6IN

    NO

    NO

    NO

    SI

    SI

    SI

    M = X 2 YX Y CM M

    Multiplicacin

    * 3 .

    Inicio

    * 4 (

    CM 4 . M 4 (

    . 4 (

    M 4 M *

    CM 4 CM 5 )

    CM 4 (

    6IN

    NO

    NO

    NO

    SI

    SI

    SI

    M = X 2 Y

    DIRMEM

    C/DI0ONUM2RICO

    MNEM/NICO

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    NOP (( No O%erationCLA () Clear Ac c"m"la tor NE0 (7 Negati!eINTON (8 Interr"%t O nINTO6 (9 Interr"%t O ## LDA )( L oad Acc"m"lator 1TA )) 1tore Acc"m"lator ADD 7( Add1U: 7) 1"btract;MP 8( ;"m%;M< 8) ;"m% on Acc"m"lator P OP A 9 8 P o% A cc "m "l at or ;1R ?( ;"m% on 1"bro"tineRTN ?) Ret"rnRTI ?) Ret"rn Interr"%tIN @( In%"tOUT @) O"t%"t=LT @8 =alt

    Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    DIRMEM

    C/DI0ONUM2RICO

    MNEM/NICO

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

  • 7/24/2019 Arquitectura de VonNeuman

    21/25

    21

    N

    Inicio

    N 4 (

    C6 4 N-) 3 6 4 N

    N 4 )

    6 4 6 & C6

    C6 4 C6 5 )

    C6 4 (

    6IN

    6 4 )

    NO

    NO

    NO

    SI

    SI

    SI

    Al#orit!os y 1ro#ra!a$in en ensa!"lador

    Factorial

    F = N !

    5! = 5 2 4 2 3 2 2

    N

    Inicio

    N 4 (

    C6 4 N - ) 3 6 4 N

    N 4 )

    6 4 6 & C6

    C6 4 C6 5 )

    C6 4 (

    6IN

    6 4 )

    NO

    NO

    NO

    SI

    SI

    SI

    Al#orit!os y 1ro#ra!a$in en ensa!"lador

    Factorial

    M 4 M 6

    CM 4 CM 5 )

    CM 4 (NO

    SI

    M 4 (

    CM 4 C6

    6 4 M

    F = N !

  • 7/24/2019 Arquitectura de VonNeuman

    22/25

    22

    6 4 6 & C6

    N

    Inicio

    N 4 (

    C6 4 N -) 3 6 4 N

    N 4 )

    C6 4 C6 5 )

    C6 4 (

    6IN

    6 4 )

    NO

    NO

    NO

    SI

    SI

    SI

    Al#orit!os y 1ro#ra!a$in en ensa!"lador

    Factorial

    M 4 M 6

    CM 4 CM 5 )

    CM 4 (NO

    SI

    M 4 (

    CM 4 C6

    6 4 M

    F = N !

    Al#orit!os y 1ro#ra!a$in en ensa!"lador

    Pot"ncia

    P = X#

    3 = 2 2

    3 = 3 2 3

    33 = 3 2 3 2 3

  • 7/24/2019 Arquitectura de VonNeuman

    23/25

    23

    * .

    Inicio

    . 4 (

    CP 4 . 3 P 4 )

    * 4 (

    P 4 P & *

    CP 4 CP 5 )

    C6 4 (

    6IN

    P 4 (

    NO

    NO

    NO

    SI

    SI

    SI

    Al#orit!os y 1ro#ra!a$in en ensa!"lador

    Pot"ncia

    P = X#

    3 = 2 2

    3 = 3 2 3

    33 = 3 2 3 2 3

    $ A R % A

    Realiar los %rograma B"e realicen las sig"ientes o%eraciones Factorial dado un nmero N que calcule N!

    Potencia dados M y N que calcule MN

    Fibonacci calcular la serie hasta un nmero N

    Divisin calcular D = X / Y

    REALIZAR EL DIAGRAMA DE FLUJO (opcional en RAPTOR)

    Escribir los programas en cdigo ENSAMBLADOR con:- Mnemnico Numrico Binario Hexadecimal

    ENTREGA DE LOS PROGRAMASMartes 21 de febrero

  • 7/24/2019 Arquitectura de VonNeuman

    24/25

    24

    DIR.MEM

    CDIGONUMRICO

    MNEMNICO

    000

    001

    002

    003

    004

    005

    006

    007

    008

    009

    010

    011

    012

    013

    014

    015

    016

    017

    018

    019

    020

    021

    022

    023

    024

    025

    NOP 00 No OperationCLA 01 Clear AccumulatorNE G 02 Nega ti ve

    INTON 03 InterruptOnINTOF 04 InterruptOffLDA 10 Load AccumulatorSTA 11 StoreAccumulatorADD 20 AddSU B 21 Su bt ractJMP 30 JumpJM Z 31 Jump o n ZeroJMN 32 JumponNegat iveLDSP 40 Load SpoolSTSP 41 StoreSpoolPUSHA 42 Push AccumulatorPOPA 43 Pop AccumulatorJSR 50 JumponSubrout ineRTN 51 Retur nRT I 51 Re tu rn I nt er ru ptIN 60 InputOUT 61 OutputHLT 63 Halt

    DIR.MEM

    HEXADECIMAL

    0000 0000

    0000 0001

    0000 0010

    0000 0011

    0000 0101

    0000 0101

    0000 0110

    0000 0111

    0000 1000

    0000 1001

    0000 1010

    0000 1011

    0000 0101

    0000 1101

    0000 1110

    0000 1111

    0001 0000

    0001 0001

    0001 0010

    0001 0011

    0001 0101

    0001 0101

    0001 0110

    0001 0111

    0001 1000

    0001 1001

    Tipos de Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto

    Set de Instrucciones

    :INARIO)? )( F (

    Acti&i'a' Cola(orati&a

    Realizar un programa que realice laconversin de un nmero decimal a suequivalente en hexadecimal:

    ENTREGAR

    Diagrama de Flujo (opcional en RAPTOR)

    Programa en ensamblador en cdigo Mnemnicos

    ENTREGA DEL PROGRAMAUna semana

  • 7/24/2019 Arquitectura de VonNeuman

    25/25