Download - 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;