microprocesadores - clase 02 - arquitectura del 8086
TRANSCRIPT
![Page 1: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/1.jpg)
MICROPROCESADORES
Clase 02Arquitectura del 8086
Edgard [email protected]
Villa El Salvador, octubre de 2012
Universidad Nacional Tecnológica del Cono Sur de Lima
Carrera Profesional de Ingeniería Electrónica y Telecomunicaciones
![Page 2: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/2.jpg)
2
Arquitectura del 8086
Internamente consta de dos unidades:
BIU Bus Interface Unit - Unidad de interface de bus
EU Execution Unit - Unidad de ejecución
![Page 3: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/3.jpg)
3
Arquitectura del 8086
BIU Bus Interface UnitConecta el procesador con los buses externos.
• Transfiere datos a memoria o E/S• Recibe datos de memoria o E/S
• Lee instrucciones de memoria
• Contiene una COLA (QUEUE) de instrucciones• Genera direcciones físicas de memoria o E/S
![Page 4: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/4.jpg)
4
Arquitectura del 8086
EU Execution Unit
* Recibe instrucciones de la cola (BIU)* Recibe datos de la BIU
* Decodifica las instrucciones Genera señales de control necesarias* Ejecuta las instrucciones
* Almacena los resultados en los registros* Pasa datos al BIU para almacenarlos en
memoria o E/S
* No tiene conexión a los buses del sistema. Lo hace a través del BIU
![Page 5: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/5.jpg)
5
Arquitectura del 8086
El 8086 tiene 2 procesadores internos
EU
Unidad de ejecución
BIU Unidad de interfaz
con el Bus
![Page 6: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/6.jpg)
6
![Page 7: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/7.jpg)
7
Arquitectura del 8086
EURealiza
operaciones aritméticas y
lógicas
Proporciona direcciones lógicas
a la BIU
Contiene una ALU de 16 bits
Contiene registros de propósito general y los
FLAGS.
![Page 8: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/8.jpg)
8
Arquitectura del 8086
BIUSe encarga de la
comunicación externa del procesador
Convierte direcciones lógicas
a físicas
Para ello emplea los registros de
segmento
![Page 9: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/9.jpg)
9
Arquitectura del 8086
Internamente consta de dos unidades o procesadores
![Page 10: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/10.jpg)
10
Registros del 8086
DEFINICION
- Memorias SRAM dentro del uP- De 16 bits cada una
- El uP las emplea para ejecutar las instrucciones
- Tres tipos* Almacenan datos en general* Almacenan direcciones* Almacenan bits de configuración o estado
![Page 11: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/11.jpg)
11
Registros del 8086
Se clasifican en cuatro grupos:
a) Registros de propósito general DATOSb) Registros índices o punteros DIRECCIONES
c) Registro de FLAGsESTADO/CONFIG.
d) Registros de segmento DIRECCIONES
TODOS de 16 bits
![Page 12: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/12.jpg)
12
Registros del 8086
Acceso al registro: 8 bits y/o 16 bitsAcceso al registro: Lectura o escritura
Read or Write
![Page 13: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/13.jpg)
13
Registros del 8086
Acceso al registro
Algunas instrucciones permiten el acceso a nivel de bits
- Leer - Escribir- Borrar (clear)- Poner a 1 (set)- Invertir- Verificar (test)
![Page 14: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/14.jpg)
14
Registros del 8086
![Page 15: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/15.jpg)
15
Registros del 8086
![Page 16: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/16.jpg)
16
Registros del 8086
REGISTRO DE FLAGs
Flags de estado CF Carry 0PF Paridad 2AF Auxiliar 4ZF Zero 6SF Signo 7OF Overflow 11
Flags de control IF Interrupt 9DF Direction 10TP Trap 8
![Page 17: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/17.jpg)
17
Registros del 8086
REGISTRO DE FLAGs
Flags de estadoCambian de acuerdo al resultado de cada instrucción ejecutada por el uP
Flags de controlEl usuario los maneja para controlar ciertas funcionalidades del uP
![Page 18: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/18.jpg)
18
Concepto de segmento
Zona de memoria de 64 KBExisten cuatro tipos según la información que contengan.
Segmento de DATOSSegmento de CODIGOSegmento de datos EXTRASegmento de PILA (stack)
Se pueden ubicar en cualquier parte dentro del 1MB de memoria del 8086
1 MB
![Page 19: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/19.jpg)
19
Segmentación de la memoria
La memoria puede contener cuatro tipos de segmentos
![Page 20: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/20.jpg)
20
Segmentos del 8086
CS
DS
SS
ES
SEGMENTO DE PILA (STACK)
SEGMENTO EXTRA DE DATOS
SEGMENTO DE DATOS
SEGMENTO DE CÓDIGO
MEMORIA
Registros de segmento
REGISTROS DE SEGMENTO
Contienen la dirección de inicio de los distintos segmentos
¿Por qué un segmento es de 64 KB?
---------
![Page 21: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/21.jpg)
21
Concepto de segmento
¿Cómo se accede a los bytes de un segmento?
Registro puntero
Registro de segmento
Dato
Desplazamiento
Dirección de segmento
Dirección física
CPU
SEGMENTO64 KB
Memoria
0
FFFFF
![Page 22: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/22.jpg)
22
Concepto de segmento
SEGMENTO
Memoria
0
FFFFF
DESPLAZAMIENTO
SEGMENTOBloque de memoria hasta de 64 KB.
La dirección de inicio del bloque lo da un registro de segmento.
DESPLAZAMIENTOIndica una posición dentro de un segmento.
Esta dado por un registro puntero o índice.
![Page 23: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/23.jpg)
23
Concepto de segmento
OTRO SEGMENTO
UN SEGMENTO
TRASLAPE DE SEGMENTOS
MEMORIA
Varios segmentospueden traslaparse
![Page 24: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/24.jpg)
24
CODIGO REUBICABLE (relocatable code)
MEMORIA
02000
PROGRAMA REUBICADO EN OTRO SEGMENTO DE CODIGO
PROGRAMA UBICADO EN CIERTO SEGMENTO DE CODIGO
PROGRAMA
MEMORIA
PROGRAMA
600
20000600
nuevo (CS)=2000
(CS)=200
Los desplazamientos (respecto al inicio del segmento) NO cambian
![Page 25: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/25.jpg)
25
Direcciones física y lógica
DIRECCION FISICA
Es la dirección de 20 bits de cada posición de memoria que puede accesar el 8086.
Pero,El 8086 solo posee registros de 16 bits.
¿Cómo puede manejar direcciones de 20 bits?
![Page 26: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/26.jpg)
26
Direcciones física y lógica
DIRECCION LOGICA
Posición de un byte en memoria dado por un valor de DESPLAZAMIENTO respecto a una dirección de inicio dado por un registro de SEGMENTO.
Registros punteros, pointers o índicesIndican desplazamientos dentro de un segmento.
![Page 27: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/27.jpg)
27
Dirección física a partir de la lógica
00000000
4 bits
Dirección de segmento
Dirección efectiva, lógica,
offset o desplazamiento
Dirección física
EL REGISTRO DE SEGMENTO SE
MULTIPLICA x16
20 BITS
+
![Page 28: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/28.jpg)
28
Dirección física
![Page 29: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/29.jpg)
29
Dirección física
![Page 30: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/30.jpg)
30
Representación de direcciones
Se indican con el siguiente formato:
Segmento : Desplazamiento
EjemploSea la dirección: 0200:0300
Hallar la dirección físicaDirección física = Segmento x 16 + Desplazamiento
Dirección física = Segmento x 10h + Desplazamiento
Dirección física = 0200h x 10h + 0300hDirección física = 02000h + 0300hDirección física = 02300h (20 bits)
![Page 31: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/31.jpg)
31
Representación de direcciones
1000:000A
![Page 32: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/32.jpg)
32
Ciclo de instrucciones del 8086
Microprocesador
Lee instrucción Ejecuta lade memoria instrucción
Se realiza en tres etapas:i) Lectura de la instrucciónii) Decodificación de la instruccióniii) Ejecución de la instrucción
![Page 33: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/33.jpg)
33
Ciclo de instrucciones del 8086
O en dos ciclos:
CICLO FETCH - BIU -La instrucción se lee de memoria
CICLO DE EJECUCION - EU -La instrucción se decodificaLa instrucción se ejecuta
![Page 34: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/34.jpg)
34
Ciclo de instrucción
Las tres etapas se pueden ejecutar de dos formas:
a) SecuencialLas etapas son consecutivas.
b) ParalelaLas etapas se ejecutan en simultáneo.
![Page 35: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/35.jpg)
35
Ciclo de instrucción del 8086
Ejecución secuencial
Típico en procesadores anteriores al 8086
DESVENTAJAIneficiencia en uso del recurso CPU
![Page 36: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/36.jpg)
36
Ciclo de instrucción del 8086
Ejecución en paralelo
En el 8086, los ciclos se superponen o solapan.
![Page 37: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/37.jpg)
37
Ciclo de instrucción del 8086
Ejecución en paralelo – 8086
Se ejecutan distintas etapas a la vez de varias instrucciones.
![Page 38: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/38.jpg)
38
Ciclo de instrucción del 8086
Ejecución en paralelo (PIPELINE)
Ciclo FETCHLectura o búsqueda de instrucción de memoria
![Page 39: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/39.jpg)
39
Ciclo de instrucción del 8086
Ejecución en paralelo
![Page 40: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/40.jpg)
40
Bancos de memoria
Direccionamiento a nivel de BYTES individuales
![Page 41: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/41.jpg)
41
Bancos de memoria
Direccionamiento a nivel de WORDS
![Page 42: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/42.jpg)
42
Bancos de memoria
Direccionamiento a nivel de WORDS
Banco HIGH Banco LOW
Banco HIGHodd - impar
Banco LOWeven - par
![Page 43: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/43.jpg)
43
Bancos de memoria
Direccionamiento a nivel de BYTES o WORDS
Depende de la instrucción.La instrucción puede indicar datos de:
- 1 byte
- 2 bytes
Los datos en memoria de 2 bytes siempre se indican con direcciones PARES.
Los datos en memoria de 1 byte se indican con direcciones pares o impares.
![Page 44: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/44.jpg)
44
Bancos de memoria
Direccionamiento a nivel de BYTES o WORDS
BYTES Cualquier dirección (par o impar)
WORDS Solo direcciones pares
DWORDS Direcciones de cuatro en cuatro
![Page 45: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/45.jpg)
45
Código BCD
BCD NO empaquetado 1 dígito BCD / byte
BCD empaquetado 2 dígitos BCD / byte
ASCIIAmerican Standars Code for Information Interchange
![Page 46: Microprocesadores - Clase 02 - Arquitectura Del 8086](https://reader036.vdocuments.co/reader036/viewer/2022062307/55721142497959fc0b8ea931/html5/thumbnails/46.jpg)
Fin
Gracias…
Universidad Nacional Tecnológica del Cono Sur de Lima
Carrera Profesional de Ingeniería Electrónica y Telecomunicaciones