Clase Arquitectura 1y2

download Clase Arquitectura 1y2

of 69

Transcript of Clase Arquitectura 1y2

  • 8/16/2019 Clase Arquitectura 1y2

    1/69

    Microprocesador 8086

    Digital II

    Departamento de Sistemas eInformática

  • 8/16/2019 Clase Arquitectura 1y2

    2/69

    06/10/2014 Microprocesador 8086 – Digital II 2

    Presentación de Docentes y Material

    è Docentes:

    è Ing. Silvia Domizi

    è Ing. Diego Alegrechi

    è Material de Cátedra (disponible en www.dsi.fceia.unr.edu.ar

    1. Intel 8086 ! Datas"eet

    2. #os $icroprocesadores Intel ! %. %re& – ' )dici*n – +rentice ,all(-ap .

  • 8/16/2019 Clase Arquitectura 1y2

    3/69

    06/10/2014 Microprocesador 8086 – Digital II '

    Microprocesadores y Microcontroladores

    ➢ Dispositivo electrónico semiconductor que incluye la ALU, conjunto de registros ycircuitos de control en un mismo chip.

    ➢  Incluye un set de instrucciones para manipular los datos y comunicarse con losperiféricos.

    ➢ o incluye memorias internas. !osee "uses de datos y direcciones que posi"ilitan lacone#ión con memorias de programas y datos e#ternas al chip del microprocesador.

    $icroprocesador$icroprocesador

     $icroprocesador m%s memorias y periféricos espec&ficos integrados en un mismochip 'tempori(adores, conversores A)D, D)A, puertos UA*+, A, -!I, I, U-/,0+10*0+, etc2.

    ➢  -istemas totalmente dedicados a resolver pro"lemas espec&ficos 'sistemasem"e"idos2.

    $icrocontrolador$icrocontrolador

  • 8/16/2019 Clase Arquitectura 1y2

    4/69

    06/10/2014 Microprocesador 8086 – Digital II 4

    Microprocesador !"!# $ Caracter%sticas

    !rincipales aracter&sticas!rincipales aracter&sticas➢ !rocesador de 34 "its 'puede operar en 5 ó 34 "its perolos "uses internos son todos de 34 "its2.

    ➢ 1asta 3 $"yte de memoria direcciona"le 'mapea"le2 6

    /us de 7 lineas de direcciones.➢  0spacio de memoria para periféricos de entrada salidade 48 9"ytes.

    ➢  Los "uses de datos y direcciones est%n multiple#adostemporalmente.

     La memoria o las memorias donde se aloja el código delprograma y los datos es e#terna al microprocesador. 0l5754 : posee ning;n tipo de memoria integrada paracódigo o datos.

    ➢ 

  • 8/16/2019 Clase Arquitectura 1y2

    5/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II

    Arquitectura del 5754Arquitectura del 5754

    0stos microprocesadorestienen dos unidades

    inteligentes conectadasinternamente>

    EU Unidad de ejecución'0#ecution Unit2.

    BIU Unidad de interfa(con el /us '/usInterface Unit2.

  • 8/16/2019 Clase Arquitectura 1y2

    6/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 6

    La unidad de ejecución '0U2La unidad de ejecución '0U2

    -e encarga de decodificarlas instrucciones cargadas'?etched2 por la /IU,generar las se@ales decontrol y ejecutar lasinstrucciones 

  • 8/16/2019 Clase Arquitectura 1y2

    7/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II

    La unidad de ejecución '0U2La unidad de ejecución '0U2

    !roporciona las direcciones

    lógicas al /IU.Una dirección lógica est%formada de dosdirecciones, la primeraindica el segmento en elcual se est% tra"ajando y

    la otra indica el offset, odespla(amiento, de estesegmento esto essegment>offset.

  • 8/16/2019 Clase Arquitectura 1y2

    8/69

  • 8/16/2019 Clase Arquitectura 1y2

    9/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II

    0s la responsa"les de lacomunicación e#terna delprocesador. 0sta unidad deproceso se encarga detraducir las direccioneslógicas a direcciones f&sicasde la memoria con ayudade los registros desegmento D-, --, 0-, -e I!.

    La Unidad de Interfase con el /us '/IU2La Unidad de Interfase con el /us '/IU2

  • 8/16/2019 Clase Arquitectura 1y2

    10/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 10

    -e encarga de todas lasoperaciones de /us'comunicación con el

    e#terior2, que incluyen losciclos de lectura yescritura, as& comotam"ién la carga de lasinstrucciones para la 0U'Instruction ?etching2.Las instrucciones son

    cargadas en una cola deinstrucciones.

    La Unidad de Interfase con el /us '/IU2La Unidad de Interfase con el /us '/IU2

  • 8/16/2019 Clase Arquitectura 1y2

    11/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 11

    La 0U puede tra"ajar a unam%#ima eficiencia si se leprovee constantemente de

    instrucciones y datos paraprocesar.0sa es la principal funciónde la cola de preCcarga deinstrucciones de la /IU

    La Unidad de Interfase con el /us '/IU2La Unidad de Interfase con el /us '/IU2

    oncepto de !ipelineoncepto de !ipeline

  • 8/16/2019 Clase Arquitectura 1y2

    12/69

  • 8/16/2019 Clase Arquitectura 1y2

    13/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 1'

    El modelo de programación del 8086

  • 8/16/2019 Clase Arquitectura 1y2

    14/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 14

    Regi!ro de da!o o de propói!o generalegi!ro de da!o o de propói!o general

      AX, BX, CX, DX:AX, BX, CX, DX: puedenutili(arse "ien como registrosde 34 "its o como dosregistros separados de 5 "its'"yte superior e inferior2cam"iando la por 1 o Lseg;n queramos referirnos ala parte alta o "ajarespectivamente.

  • 8/16/2019 Clase Arquitectura 1y2

    15/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 1

    Regi!ro de da!o o de propói!o generalegi!ro de da!o o de propói!o general

      AX = Acumulador.

    0s el registro principal, esutili(ado en las instrucciones demultiplicación y división y enalgunas instrucciones aritméticas

    especiali(adas, as& como enciertas operaciones de car%cterespec&fico como entrada, salida ytraducción. :"sérvese que el5754 es suficientemente potentepara reali(ar las operacioneslógicas, la suma y la resta so"recualquier registro de datos, no

    necesariamente el acumulador.

  • 8/16/2019 Clase Arquitectura 1y2

    16/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 16

    Regi!ro de da!o o de propói!o generalegi!ro de da!o o de propói!o general

      BX = Base.

    -e usa como registro "ase parareferenciar direcciones dememoria con direccionamientoindirecto, manteniendo la

    dirección de la "ase o comien(ode ta"las o matrices. De estamanera, no es preciso indicar unaposición de memoria fija, sino lan;mero / 'as&, haciendoavan(ar de unidad en unidad a/, por ejemplo, se puede iraccediendo a un gran "loque de

    memoria en un "ucle2.

  • 8/16/2019 Clase Arquitectura 1y2

    17/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 1

    Regi!ro de da!o o de propói!o generalegi!ro de da!o o de propói!o general

      CX = Contador.

    -e utili(a com;nmente comocontador en "ucles y operaciones

    repetitivas de manejo decadenas. 0n las instrucciones dedespla(amiento y rotación seutili(a como contador de 5 "its.

  • 8/16/2019 Clase Arquitectura 1y2

    18/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 18

    Regi!ro de da!o o de propói!o generalegi!ro de da!o o de propói!o general

      DX = Datos.

    Usado en conjunción con A enlas operaciones de multiplicacióny división que involucran ogeneran datos de B "its. 0n lasde entrada y salida se empleapara especificar la dirección delpuerto 0)-.

  • 8/16/2019 Clase Arquitectura 1y2

    19/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 1

    Regi!ro de egmen!oegi!ro de egmen!o

      CS, DS, SS, ES:CS, DS, SS, ES: Definen%reas de 48 9" dentro delespacio de direcciones de 3$" del 5754. 0stas %reaspueden solaparse total oparcialmente. o es posi"leacceder a una posición dememoria no definida poralg;n segmento> si es preciso,ha"r% de moverse alguno.

     

  • 8/16/2019 Clase Arquitectura 1y2

    20/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 20

     CS = Registro de segmento decódigo (code segment).

    ontiene la dirección del segmentoque apunta a un %rea de memoriadonde se encuentra el código,instrucciones del programa. Losprogramas de m%s de 48 9"requieren cam"iar -periódicamente.

    Regi!ro de egmen!oegi!ro de egmen!o

  • 8/16/2019 Clase Arquitectura 1y2

    21/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 21

    DS = Registro de segmento dedatos (data segment).

    ontiene la dirección del segmentoque apunta a un %rea de memoriadonde se encuentran datos delprograma. '

  • 8/16/2019 Clase Arquitectura 1y2

    22/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 22

      SS = Registro de segmento de pila (stack segment).

    ontiene la dirección del segmentoque apunta a un %rea de memoriadonde se guardar%n datostemporales del programa '0j.direcciones de retorno desu"rutinas, etc2

    Regi!ro de egmen!oegi!ro de egmen!o

  • 8/16/2019 Clase Arquitectura 1y2

    23/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 2'

      ES = Registro de segmento etra(etra segment).

    -egmento de ampliación para (onade datos. 0s e#traordinariamente;til actuando en conjunción conD-> con am"os se puede definirdos (onas de 48 9", tan alejadascomo se desee en el espacio dedirecciones, entre las que sepueden intercam"iar datos

    Regi!ro de egmen!oegi!ro de egmen!o

  • 8/16/2019 Clase Arquitectura 1y2

    24/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 24

    S! = !untero de pila (stack pointer).

    Apunta al inicio de la pila.Utili(ado en las instrucciones demanejo de la pila.

    Regi!ro p"n!ero de pilaRegi!ro p"n!ero de pila

  • 8/16/2019 Clase Arquitectura 1y2

    25/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 2

    B! = !untero "ase ("ase pointer).

    0s un puntero de "ase, queapunta a una (ona dentro de lapila dedicada al almacenamientode datos 'varia"les locales ypar%metros de las funciones enlos programas compilados2.

    Regi!ro p"n!ero de pilaRegi!ro p"n!ero de pila

  • 8/16/2019 Clase Arquitectura 1y2

    26/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 26

    #! = !untero de instrucción(instruction pointer).

     $arca el despla(amiento de lainstrucción en curso dentro delsegmento de código. 0sautom%ticamente modificado conla lectura de una instrucción.

    P"n!ero de in!r"ccione o con!ador de programaP"n!ero de in!r"ccione o con!ador de programa

  • 8/16/2019 Clase Arquitectura 1y2

    27/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 2

    S# = $ndice %uente (sourceinde).

    Utili(ado como registro de &ndiceen ciertos modos dedireccionamiento indirecto,tam"ién se emplea para guardarun valor de despla(amiento enoperaciones de cadenas.

    Regi!ro #ndiceegi!ro #ndice

    $$

  • 8/16/2019 Clase Arquitectura 1y2

    28/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 28

    D# = $ndice destino (destinationinde).

    -e usa en determinados modos dedireccionamiento indirecto y paraalmacenar un despla(amiento enoperaciones con cadenas.

    Regi!ro #ndiceegi!ro #ndice

    $$

  • 8/16/2019 Clase Arquitectura 1y2

    29/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II 2

     Regi!ro de e!adoegi!ro de e!ado

     o de indicadore %o de indicadore %&laglag

    ''(   0s un registro de 34 "its de los cuales F son utili(ados para0s un registro de 34 "its de los cuales F son utili(ados para

    indicar diversas situaciones durante la ejecución de un programa.indicar diversas situaciones durante la ejecución de un programa.(  Los "its 7, , 8, 4, G y 33 son indicadores de condición, queLos "its 7, , 8, 4, G y 33 son indicadores de condición, que

    reflejan los resultados de operaciones del programareflejan los resultados de operaciones del programa

    (  los "its del 5 al 37 son indicadores de control y el resto no selos "its del 5 al 37 son indicadores de control y el resto no seutili(an.utili(an.

    ( 0stos indicadores pueden ser compro"ados por las instrucciones0stos indicadores pueden ser compro"ados por las instruccionesde salto condicional, lo que permite variar el flujo secuencial delde salto condicional, lo que permite variar el flujo secuencial delprograma seg;n el resultado de las operaciones.programa seg;n el resultado de las operaciones.

  • 8/16/2019 Clase Arquitectura 1y2

    30/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II '0

    Bit

    Señala desbordamiento aritméticoDesbordamiento (Overflow Flag")OF

    Indica la dirección de las operacionesDirección ("Direction Flag")DF

    !ste bit controla el estado del sistema deinterrpciones enmascarables $ando est%activo (&) permite las interrpciones' el estadoinactivo () las desabilita

    Interrpción ("Interrpt Flag")IF

    Si est% activo* el procesador generaatom%ticamente na interrpción despés de lae+ección de cada instrcción* lo ,e permitecontrolar paso a paso la e+ección del programa!ste bit debe estar normalmente inactivo (a )

    Detención ("-rap Flag")TF

    Si est% activo indica ,e el resltado de operacióno de comparación son negativos

    Signo ("Sign Flag")SF

    !st% activo si el resltado de operación es cero oresltado de comparación igal

    $ero (".ero Flag")ZF

    Indicador de a+ste en operaciones aritméticascon cantidades B$D /carreo a0iliar AF

    Si est% activo Indica n n1mero par de bits activos(bits c2o contenido es &) !sta información es 1tilcando el procesador controla transmisiones dedatos

    3aridad ("3arit2 Flag")PF

    Indicador de arrastre del bit de ma2or orden* ,epede ocrrir en las operaciones aritméticas sma2 resta /carreo ("$arr2 Flag")CF

    UsoIndicador de:

  • 8/16/2019 Clase Arquitectura 1y2

    31/69

    Microprocesador !"!# $ Ar&'itect'ra

    06/10/2014 Microprocesador 8086 – Digital II '1

     NV  ("4o overflow")OV  ("Overflow")DesbordamientoOF

     UP  incrementoDN  ("Down") decrementoDirecciónDF

     DI  ("Disabled Interrpt") desactivadaEI  ("!nabled Interrpt") activaInterrpciónIF

     PL  ("3ls") positivoNG  ("4egative") negativoSignoSF

     NZ  ("4o .ero")ZR  (".ero")$eroZF

     NA  ("4o /0iliar")AC  ("/0iliar $arr2") /carreo a0iliar AF

     PO  ("3arit2 Odd") paridad impar PE  ("3arit2 !ven") paridad par 3aridadPF

     NC  ("4o $arr2")CY  ("$arr2 2es") /carreoCF

    Indicativo si it !Indicativo si it "Indicador de:Bit

  • 8/16/2019 Clase Arquitectura 1y2

    32/69

    06/10/2014 Microprocesador 8086 – Digital II '2

    )egmen!ación de la emoria en el

    egmen!ación de la emoria en el

    8086086

    Microprocesador !"!#

  • 8/16/2019 Clase Arquitectura 1y2

    33/69

    ''

    Microprocesador !"!# (spacio Mapea)le

     /o

     /5

    Bs de Direcciones 55 6 &7B2te

    !spacio 7apeable7apa

    de7emoria

    FFFFF

     Microprocesador 8086 – Digital II06/10/2014

  • 8/16/2019 Clase Arquitectura 1y2

    34/69

    06/10/2014  Microprocesador 8086 – Digital II '4

    Un segmento es un %rea continuade memoria que puede tenerhasta 489"ytes, que de"ecomen(ar en una localidad dememoria cuya dirección sea l&mitede 34 "ytes 'cantidad denominada

     p&rra%o2 y que puede solaparsecon otros segmentos.Segmento F8sico de$ódigo

    (9: ;b2tes)

    $S

  • 8/16/2019 Clase Arquitectura 1y2

    35/69

     Microprocesador 8086 – Digital II '

     ada localidad de memoria tiene dos tipos de direcciones >ada localidad de memoria tiene dos tipos de direcciones >

    Dirección Física y Dirección Lógica o efectivaDirección Física y Dirección Lógica o efectiva

    Una dirección ?&sica es el valor ;nico de 7 "its que identifica la locali(aciónUna dirección ?&sica es el valor ;nico de 7 "its que identifica la locali(aciónde cada "yte en el espacio de memoria de 3 $"yte.de cada "yte en el espacio de memoria de 3 $"yte. Los programas tratan con dirección Lógicas mas que con la dirección ?&sica.Los programas tratan con dirección Lógicas mas que con la dirección ?&sica.

    !ara cualquier localidad de memoria, el valor "ase del segmento u"ica el!ara cualquier localidad de memoria, el valor "ase del segmento u"ica elprimer "yte del contenido del segmento y el valor del offset es la distancia, enprimer "yte del contenido del segmento y el valor del offset es la distancia, en

    "ytes , de la locali(ación destino del principio del segmento."ytes , de la locali(ación destino del principio del segmento.Los valores de la "ase del -egmento y del offset son cantidades no signadasLos valores de la "ase del -egmento y del offset son cantidades no signadasde 34 "its la dirección del "yte m%s "ajo del segmento tiene un offset 7.de 34 "its la dirección del "yte m%s "ajo del segmento tiene un offset 7.

    Dirección *#ica + Dirección LógicaDirección *#ica + Dirección Lógica

    Microprocesador !"!# $ Segmentación

    06/10/2014

  • 8/16/2019 Clase Arquitectura 1y2

    36/69

     Microprocesador 8086 – Digital II '6

    *ormación de "na Dirección *#ica*ormación de "na Dirección *#ica

    : bitsDirección desegmento

    Dirección efectiva* lógica offset

    Dirección f8sica

    0L *0HI-+*: D0-0H$0+: -0D0-!LAA 8 /I+-1AIA LAIJUI0*DA'$UL+I!LIAIK#342

    5 BI-S

    Siempre 'ue una memoria es accesada se genera una direcciónSiempre 'ue una memoria es accesada se genera una dirección%sica a partir de la dirección lógica.%sica a partir de la dirección lógica.

    Microprocesador !"!# $ Segmentación

    06/10/2014

  • 8/16/2019 Clase Arquitectura 1y2

    37/69

    '

    Segmentos *%sicos→ )$piean en direcciones fsicas di3isibles por 16.→ ienen un ta$a5o fio de 64 7b&tes.→ tiliando direcciones l*gicas9 se puede acceder a

    todos los registros de un seg$ento fsico s*loca$biando el desplaa$iento.

    -:9 D:9 :: & ): son los registros del 8086 ;uecontienen las direcciones de inicio de losrespecti3os seg$entos fsicos.

    Segmentos +ógicos→ )s una secci*n de $e$oria de ta$a5o I=%#) & en

    general puede contener c*digo9 datos o pila.→ +ara poder definir estos c*digos son necesarios el uso de

    las directi3as del ensa$blador (e$u8086

    Segmento F8sico de$ódigo

    (9: ;b2tes)

    $S

  • 8/16/2019 Clase Arquitectura 1y2

    38/69

    06/10/2014 Microprocesador 8086 – Digital II '8

    El segmento de códigoEl segmento de código (tiene como base el(tiene como base elcontenido del registro CS).contenido del registro CS).

    En este segmento se encuentran las instrucciones que

    forman el programa. Para acceder a los datoscontenidos en él, se usa el registro IP comodesplazamiento.

    El segmento de datosEl segmento de datos (que tiene como base el(que tiene como base el

    registro DS).registro DS). 

    Contiene los datos que utiliza el programa (variables,etc.) Para acceder a los datos contenidos en él, se sueleutilizar los registros SI !I como desplazamiento.

    Microprocesador !"!# $ Segmentación

  • 8/16/2019 Clase Arquitectura 1y2

    39/69

    06/10/2014 Microprocesador 8086 – Digital II '

    $S

    DS

    SS

    !S

    S-/$;

    S!?7!4-O!@-A/ D! D/-OS

    S!?7!4-O D!D/-OS

    S!?7!4-O D!$DI?O

    $S

    O-AO S!?7!4-O

    S!?7!4-O D!$DI?O

    3AO?A/7/

    7!7OAI/7!7OAI/

    -0H$0+:- -:LA!AD:-

    Microprocesador !"!# $ Segmentación

  • 8/16/2019 Clase Arquitectura 1y2

    40/69

  • 8/16/2019 Clase Arquitectura 1y2

    41/69

    Microprocesador !"!#

    06/10/2014 Microprocesador 8086 – Digital II 41

    In!r"cción O, + modo de

    n!r"cción O, + modo de

    direccionamien!oireccionamien!o

  • 8/16/2019 Clase Arquitectura 1y2

    42/69

    42

    Microprocesador !"!# Instr'cción M,- 

    06/10/2014 Microprocesador 8086 – Digital II

  • 8/16/2019 Clase Arquitectura 1y2

    43/69

    4'

    Microprocesador !"!# $ Direccionamiento

    +or registro In$ediato

    Directo Indirecto – +or >egistro Indirecto – >elati3o a la %ase Indirecto – >elati3o a las base $?s ndice Indirecto – >elati3o a la base $?s ndice con desplaa$iento

    ipos de Direccionamientos permitidos por el !"!#

     Microprocesador 8086 – Digital II06/10/2014

  • 8/16/2019 Clase Arquitectura 1y2

    44/69

    44

    MOV BX,CX -ransfiere el contenido del registro $@ al registro B@

    Direccionamientos por /egistro e Inmediato

    MOV AX,0x40h -ransfiere 0: al registro /@

    En este tipo de operaciones no intervienen operandos que hagan referencia a una posiciónde memoria.

    Direccionamiento Directo

    En los restantes modos de direccionamiento SIEMPRE uno (y sólo uno) de los dos operandoshace referncia a una posición de memoria.

    DATO dw 1000h  :

    :MOV BX,DATO

    Se transfiere la variable D/-O al registro B@ !lensamblador interpreta a la variable D/-O como

    n offset respecto del segmento de datos

    MOV BL,[1000h]

    Se transfiere n B2te de la posición DS

  • 8/16/2019 Clase Arquitectura 1y2

    45/69

    4

    MOV BX,1234hMOV AX,[BX]

    -ransfiere &9 bits de la posición DSHdatos a la parte ba+a del registro B@ >aBIC calcla la dirección como<  Dir 6 DSHdatos) J DI)

    Direccionamiento Indirecto /elativo a la 0ase 1 IndiceTBL_datos db 1,2,3

    MOV AL,0xhMOV BX,O!"T TBL_datosMOV DI,2MOV [BX][DI],AL

    -ransfiere el valor gardado en /> al tercerB2te de la tabla G-B>Hdatos >a BIC calcla ladirección como<  B@ 6 offset(-B>Hdatos)  Dir 6 DS

  • 8/16/2019 Clase Arquitectura 1y2

    46/69

    46

    Direccionamiento Indirecto /elativo a la 0ase 1 Indicecon desplazamientoTBL_datos db 1,2,3

    MOV AL,0xhMOV BX,O!"T TBL_datosMOV DI,1MOV 1h[BX][DI],AL

    -ransfiere el valor gardado en /> al tercerB2te de la tabla G-B>Hdatos >a BIC calcla ladirección como<  B@ 6 offset(-B>Hdatos)  Dir 6 DS

  • 8/16/2019 Clase Arquitectura 1y2

    47/69

    Microprocesador !"!#

    06/10/2014 Microprocesador 8086 – Digital II 4

    Epacio de En!rada-)alidapacio de En!rada-)alida

  • 8/16/2019 Clase Arquitectura 1y2

    48/69

    48

    Microprocesador !"!# (spacio de I2,

    5&9 6 9:;B2te

    !spacio 7apeable7apa

    deIKO

    FFFF

    (spacio de (ntrada2Salida→ )l $icroprocesador 8086 posee ta$biBn un

    espacio de direcciones 3?lido9 adicional al $apade $e$oria de 1M%&tes9 cu&o rango 3a del0000" al CCCC" (64 7b&tes.

    → :*lo se utilian 16 bits para direccionarlo =0 a =1.

    → n +in (M/IE del 8086 indica si la operaci*nde lectura o escritura fue realiada en elespacio de $e$oria o en el espacio deentrada/salida.

    :e utilian s*lo 2 instrucciones de =sse$blerpara interactuar con este espacio (IF & E

    06/10/2014 Microprocesador 8086 – Digital II

  • 8/16/2019 Clase Arquitectura 1y2

    49/69

    4

    Microprocesador !"!# (spacio de I2,

    06/10/2014 Microprocesador 8086 – Digital II

    i d i d 2

  • 8/16/2019 Clase Arquitectura 1y2

    50/69

    0

    Microprocesador !"!# (spacio de I2,

    06/10/2014 Microprocesador 8086 – Digital II

  • 8/16/2019 Clase Arquitectura 1y2

    51/69

    Microprocesador !"!#

    06/10/2014 Microprocesador 8086 – Digital II 1

    Pino"! Decripción Pin a Pin

    ino"! Decripción Pin a Pin

    del 8086el 8086

  • 8/16/2019 Clase Arquitectura 1y2

    52/69

    Microprocesador !"!# $ Pin,'t

    06/10/2014 Microprocesador 8086 – Digital II 2

    Bs de Direcciones<➢ 5 l8neas K pines (/D a /D&L 2 /&9 a /&M)➢ 3ermiten direccionar &7B2te (55)

    Bs de Datos<➢ &9 l8neas K pines (/D a /D&L)➢

     /D a /D&L son pines compartidos entre el Bs de Direcciones 2el Bs de Datos➢ 3ara s tili=ación se re,iere la mltiple0ación -emporal de lospines (7ltiple0ación del bs)

    3ines de /limentación<➢ N$$ (LN) 2 ?4D

    Señal de $loc<➢ !l cloc del PP9 dependiendo de s modelo podr% ser de L7Q=*P7Q= o &7Q=➢ >a señal deber% ser sministrada por n generador de cloce0terno (P5P:/)

  • 8/16/2019 Clase Arquitectura 1y2

    53/69

    Microprocesador !"!# $ Pin,'t

    06/10/2014 Microprocesador 8086 – Digital II '

    3in de A!S!-<➢

     7anteniendo drante catro ciclos de cloc este pin en n nivel />-Oprodcir% ,e el microprocesador se reinicie➢ $ando el microprocesador se reinicia comien=a a e+ectar instrccionesen la dirección FFFF del espacio de memoria➢ Se desabilitan las interrpciones

    3in 74KR7@ (Selección de 7odo 7%0imo o 78nimo)<➢

     Cn nivel />-O en este pin seleccionar% el modo 78nimo➢ Cn nivel B/O en este pin seleccionar% el modo 7%0imo➢ Dependiendo del modo seleccionado* se dar% fnción espec8fica a lospines 5: al &

    3in RBQ! (B2te Qig !nable)<➢ Qabilita la escrit$ra de la parte alta del bs de datos del PP9 bit P a bit&L

    3in A!/DT<➢ Se emplea para introdcir estados de espera (UaitVState) en los ciclos debs del microprocesador➢ !ste pin en n nivel B/O introdcir% ciclos de espera➢ !ste pin en n nivel />-O no tiene efectos en el fncionamiento delmicroprocesador

  • 8/16/2019 Clase Arquitectura 1y2

    54/69

    Microprocesador !"!# $ Pin,'t

    06/10/2014 Microprocesador 8086 – Digital II 4

    3in de A!S!-<➢

     7anteniendo drante catro ciclos de cloc este pin en n nivel />-Oprodcir% ,e el microprocesador se reinicie➢ $ando el microprocesador se reinicia comien=a a e+ectar instrccionesen la dirección FFFF del espacio de memoria➢ Se desabilitan las interrpciones

    3in 74KR7@ (Selección de 7odo 7%0imo o 78nimo)<➢

     Cn nivel />-O en este pin seleccionar% el modo 78nimo➢ Cn nivel B/O en este pin seleccionar% el modo 7%0imo➢ Dependiendo del modo seleccionado* se dar% fnción espec8fica a lospines 5: al &

    3in RBQ! (B2te Qig !nable)<➢ Qabilita la escrit$ra de la parte alta del bs de datos del PP9 bit P a bit&L

    3in A!/DT<➢ Se emplea para introdcir estados de espera (UaitVState) en los ciclos debs del microprocesador➢ !ste pin en n nivel B/O introdcir% ciclos de espera➢ !ste pin en n nivel />-O no tiene efectos en el fncionamiento delmicroprocesador

    Modo Mínimo Modo Máximo

    Single Processor mode Multiprocessor mode

    El 8086 es responsable de generar

    todas las señales de control para

    los accesos a memoria y I/O.

    Un ontrolador de !us e"terno al

    8086 ser# responsable de generar

    todas las señales de control para

    los accesos a memoria y I/O.

    $plicaciones simples $plicaciones comple%as

    &o es posible la cone"i'n de un

    procesador adicional

    Procesadores adicionales pueden

    ser conectados E%. 808( ) o*

    Procesador matem#tico+Pin , -- es conectado a Pin , -- conectado a 1&2

    i d i 3 d 5

  • 8/16/2019 Clase Arquitectura 1y2

    55/69

    Microprocesador !"!# $ Pin,'t 3Modo M45

    06/10/2014 Microprocesador 8086 – Digital II

    3in de RAD<➢

     !ste pin de salida cando est% en n nivel B/O indica ,e elmicroprocesador pede recibir datos del espacio de memoria o de!ntradaKSalida

    3in de RUA<➢ !ste pin de salida cando est% en n nivel B/O indica ,e elmicroprocesador est% sacando datos para ser escritos en n dispositivo delespacio de memoria o de !ntradaKSalida

    3in 7KRIO<➢ !ste pin de salida indica si la operación de lectraKescritra se reali=ar%con los dispositivos del mapa de memoria (nivel />-O) o con losdispositivos del mapa de !ntradaKSalida (nivel B/O)

    3in D-KRA<➢ !ste 3in de salida indica si el microprocesador se encentra

    transmitiendo datos (D-KRA 6 &) o recibiendo datos (D-KRA 6 ) !staseñal es 1til para abilitar los circitos de acoplamiento del canal de datos

    3in RD!4<➢ !ste 3in de salida con n nivel en B/O indica ,e el bs de datos seencentra abilitado !sta señal es 1til para abilitar los circitos deacoplamiento del canal de datos

    i d !"!# i , 3 d 5

  • 8/16/2019 Clase Arquitectura 1y2

    56/69

    Microprocesador !"!# $ Pin,'t 3Modo M45

    06/10/2014 Microprocesador 8086 – Digital II 6

    3in R-!S-<➢ !ste pin de entrada fnciona en con+nto con la instrcción de assemblerU/I- Si R-!S- 6 & entonces la instrcción U/I- esperar% asta ,eR-!S- 6 para continar con el fl+o de programa➢ !s 1til para sincroni=ar con alg1n elemento e0terno al cal elmicroprocesador debe esperar ,e termine de reali=ar algna tareaespec8fica

    3in />! (/ddress >atc !nable)<➢

     !ste pin de salida indica ,e los pines /D a /D&L 2 /&9 a /&M contienenna dirección v%lida (7emoria o !ntradaKSalida)➢ !ste pin se tili=a para grabar dica dirección en n registro e0terno almicroprocesador antes de ,e el microprocesador la retire

    3in QO>D<➢ !ste pin de entrada indica al microprocesador ,e se solicita n accesodirecto a memoria Cn nivel en />-O en este pin provocar% ,e el

    microprocesador de+e de e+ectar instrcciones 2 lleve s bs /D 2 decontrol a n estado de alta impedancia $on n nivel B/O en este pin elmicroprocesador e+ecta normalmente s programas

    3in Q>D/<➢ !ste 3in de salida indica si el microprocesador reconoció el pedido deQO>D 2 ,e se an concedidos los canales

    Mi d !"!# Pi , 3M d M45

  • 8/16/2019 Clase Arquitectura 1y2

    57/69

    Microprocesador !"!# $ Pin,'t 3Modo M45

    06/10/2014 Microprocesador 8086 – Digital II

    3in 47I (Interrpción 4o !nmascarable)<➢ !ste pin es similar al I4-A e0cepto ,e ,e no verifica cal es el estadodel flag IF* por lo ,e cal,ier pedido de interrpción ,e ingrese por este

    pin no podr% ser enmascarado➢ !sta entrada tili=a el vector de interrpción 5

    3in I4-A (Solicitd de Interrpción)<➢

     !ste pin de entrada se tili=a para solicitar na interrpción por ardwareal microprocesador➢ >a solicitdes de interrpciones ,e ingresen por este pin podr%n serenmascaradas (estado del bit del registro de banderas IF W Interrpt Flag)

    3in RI4-/ (Aeconocimiento del pedido de interrpción)<➢ !ste 3in de salida indica con n nivel B/O ,e el microprocesador

    reconoció el pedido de I4-A !l dispositivo e0terno ,e solicitó lainterrpción deber% colocar en el bs de datos el n1mero del vector deinterrpciones para ,e el microprocesador identifi,e la rtina de serviciode interrpciones ,e deber% e+ectar

    Mi d !"!# Pi , t 3M d M45

  • 8/16/2019 Clase Arquitectura 1y2

    58/69

    Microprocesador !"!# $ Pin,'t 3Modo M45

    06/10/2014 Microprocesador 8086 – Digital II 8

    ➢ SL indica el estado del flag IF (Interrpt Flag)➢ S9 siempre es n $!AO lógico➢ SX siempre es n C4O lógico

    3ines de !stado (Stats Bs W S a SX)<➢ S 2 S: se tili=an para identificar ,e registro de segmento se est%tili=ando en ese ciclo de bs

    Mi d !"!#

  • 8/16/2019 Clase Arquitectura 1y2

    59/69

    Microprocesador !"!#

    06/10/2014 Microprocesador 8086 – Digital II

    Generador de Cloc/ 8182A

    enerador de Cloc/ 8182A

    6 d d Cl 7 !8!9A

  • 8/16/2019 Clase Arquitectura 1y2

    60/69

      6enerador de Cloc7 $ !8!9A

    06/10/2014 Microprocesador 8086 – Digital II 60

    ➢ !l microprocesador PP9 no tiene integrado n generador decloc* por lo ,e ser% necesario el so de no e0terno

    ➢ !l fabricante (I4-!>) recomienda en el manal delmicroprocesador el so del P5P:/

    ➢ >as principales fnciones ,e brinda este generador de clocson las sigientes<

    ✔ Generar la señal de clock al microprocesador (5MHz, 8MHzo 10MHz).

    ✔ Genera una señal de clock auxiliar para los periféricos delsisema.

    ✔ Mane!a la señal de "#$#% del microprocesador.

    ✔ Mane!a la señal de "#&' del microprocesador con lafinalidad de inserar iempos de espera (%*&+%) en losciclos de us del 808-.

    6 d d Cl 7 !8!9A

  • 8/16/2019 Clase Arquitectura 1y2

    61/69

    06/10/2014 Microprocesador 8086 – Digital II 61

    3ines @& 2 @5<➢ 3ines de cone0ión para el oscilador a cristal de la frecencia correcta

    3in FKR$<➢ !ste pin de entrada pesto a n nivel B/O se selecciona el oscilador

    a cristal como fente de relo+ para el P5P:/ $on n nivel en />-O seselecciona la entrada e0terna de cloc !FI

    3in !FI<➢ !ntrada e0terna de cloc !sta entrada pede tili=arse como fente decloc del P5P:/ en lgar del oscilador a cristal

    3in $>;<➢ !ste pin de salida es el ,e proporciona la señal de cloc para elmicroprocesador PP9 >a frecencia de esta señal es de &K de lafrecencia del oscilador a cristal o de la señal !FI

    3in 3$>;<➢ !ste pin de salida es el ,e proporciona la señal de cloc para losperiféricos del sistema >a frecencia de esta señal es de &K9 de lafrecencia del oscilador a cristal o de la señal !FI3in OS$<➢ !ste pin de salida presenta na señal acondicionada (niveles -->) dela misma frecencia ,e el oscilador a cristal o de la señal !FI

      6enerador de Cloc7 $ !8!9A

    6 d d Cl 7 !8!9A

  • 8/16/2019 Clase Arquitectura 1y2

    62/69

    06/10/2014 Microprocesador 8086 – Digital II 62

    3in A!S!-<➢ !ste pin de salida proporciona la señal de A!S!- para elmicroprocesador !sta señal es RA!S sincroni=ada con el $>;

    3in RA!S<➢ !ntrada de reset del P5P:/ Se conecta na red A$ ,e proporciona latempori=ación 2 acondicionamiento de la señal para el reset

    3ines ADT& 2 ADT5<➢ !stos pines indican ,e los canales est%n listos Fncionan en con+ntocon los pines R/!4& 2 R/!45➢ !ste dispositivo permite tener dos grpos de periféricos ,e re,ieran

    insertar na cantidad distinta de -VU/I-S

    3ines R/!4& 2 R/!45 (/ddress !nable)<➢ !stos pines (abilitación de direcciones) fncionan en con+nto con lospines ADT& 2 ADT5 para generar la señal de A!/DT del microprocesador

    3in A!/DT<➢ !ste pin de salida ,e se conecta con el pin de A!/DT delmicroprocesador➢ $ando R/!4 tiene n valor ba+o 2 ADT n valor alto* se activar% enforma sincrónica la señal A!/DT

    6enerador de Cloc7 $ !8!9A

    6e e ado de Clo 7 !8!9A

  • 8/16/2019 Clase Arquitectura 1y2

    63/69

    06/10/2014 Microprocesador 8086 – Digital II 6'

    3ines N$$ 2 ?4D<➢ 3ines de alimentación del P5P:/

    3in R/ST4$<➢ !s na entrada ,e permite seleccionar na o dos etapas desincroni=ación para la señal de A!/DT

    3in $ST4$<➢ !ntrada de sincroni=ación de la señal de cloc !FI Si se tili=a eloscilador a cristal este pin debe estar a ?4D➢ !sta entrada se tili=a en sistemas mltiprocesadores

      6enerador de Cloc7 $ !8!9A

    6enerador de Cloc7 !8!9A

  • 8/16/2019 Clase Arquitectura 1y2

    64/69

    06/10/2014 Microprocesador 8086 – Digital II 64

      6enerador de Cloc7 $ !8!9A

     /plicación t8pica del P5P:/ para la generación de las señales de $loc 2 Aeset del microprocesador  /plicación t8pica del P5P:/ para la generación de las señales de $loc 2 Aeset del microprocesador 

    PCLK

    OSC

    PCLK

    2.5MHz

    15MHz

    Microprocesador !"!#

  • 8/16/2019 Clase Arquitectura 1y2

    65/69

    Microprocesador !"!#

    06/10/2014 Microprocesador 8086 – Digital II 6

      "l!iple3ado del 4"

    "l!iple3ado del 4"

    E5"ema !#pico de Cone3ión

    5"ema !#pico de Cone3ión

    M'ltipleado del 0's y 0'ffering

  • 8/16/2019 Clase Arquitectura 1y2

    66/69

    06/10/2014 Microprocesador 8086 – Digital II 66

      M'ltipleado del 0's y 0'ffering

    Demltiple0ado del BsDemltiple0ado del Bs➢ >os bses de DirreccionesKDatos (/D a /D&L) 2 DireccionesK!stados (/&9KS* /&XKS:* /&PKSL* /&MKS9) son mltiple0ados temporalmente por el microprocesadorpara minimi=ar la cantidad de pines del encapslado➢ /ué implica la Muliplexacin emporal de los uses

    Implica ,e en n momentoKtiempo del ciclo de bs del microprocesador lospines del mismo (/D a /D&L* /&9KS* /&XKS:* /&PKSL* /&MKS9) secomportar%n como bs de direcciones 2 en otro momentoKtiempo del ciclo debs se comportar%n como bs de datos 2 de estados (los mismos pinesY)

    ➢ #s necesario demuliplexar los 2uses3or 4ué✔ $al,ier dispositivo ,e se encentre conectado al microprocesador (e+ na

    memoria)* re,iere ,e la dirección siga siendo v%lida en ss pines de entradamientras se lleva a cabo na operación de lectra o escritra del mismo

    ✔ Debemos salvar (grabar) la dirección v%lida ,e presenta el microprocesadoren ss pines cando este se comporta como bs de direcciones en ndispositivo e0terno (>atcKAegistro)

  • 8/16/2019 Clase Arquitectura 1y2

    67/69

    X:>SX W Aegistros estados(VStates Octal DVt2pes -ransparent>atces)

     />! (/ddress >atc !nable)!ste pin de salida indica ,elos pines /D a /D&L 2 /&9 a /&M contienen na dirección

    v%lida (7emoria o!ntradaKSalida)

    Bs de $ontrol● 7KIO< 7emoria o!ntradaKSalida● RAD< >ectra (A!/D)● RUA' !critra (UAI-!)

    Sistema -otalmente BffereadoSistema -otalmente Bffereado

  • 8/16/2019 Clase Arquitectura 1y2

    68/69

    X:>SX: W Aegistros estados(VStates Octal DVt2pes -ransparent>atces)

    X:>S5:L W -ransceiver(bidireccional) con salida detres estados!ste tipo de configración esre,erido cando lasmemorias o periféricos sonlentos

    DIR Direction

    ":

    !:

  • 8/16/2019 Clase Arquitectura 1y2

    69/69

    è 6racias;