SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Arquitectura del 8086
El 8086
Arquitectura en pipeline
• Los procesadores previos al 8086, estaban limitados
en su desempeño por la necesidad de realizar los dos
pasos principales de ejecución del procesador:
Fetch/Execute, en forma secuencial. Es decir, no se puede
ejecutar una instrucción hasta que se traiga de memoria
(Fetch); y no podían traerse instrucciones de memoria
mientras ejecutaba una instrucción, pues el procesador
estaba ocupado.
• Resumiendo, un alto porcentaje del tiempo, el
procesador estaba ocupado haciendo Fetch, cuando
su función debería ser de ejecutar instrucciones. La
capacidad de ejecutar instrucciones sólo se ocupaba
en un bajo porcentaje.
El 8086
Arquitectura en pipeline
• Para solucionar ésto, Intel desarrolló la arquitectura
en pipeline del Fetch/Execute, en la cual
simplemente se divide la tarea en dos secciones:
una encargada del Fetch (BIU)
y otra del Execute (EU).
– De esta manera, existen circuitos separados para
cada función, los cuales trabajan en paralelo.
– Si bien el proceso aún es secuencial, solamente al
principio se requiere desperdiciar tiempo en el
Fetch.
– A partir de ahí, Fetch va adelante del Execute, y
trae instrucciones al procesador mientras este
ejecuta las anteriores.
El 8086
Arquitectura del 8086
El 8086
Estos microprocesadores
tiene 2 procesadores
conectados internamente,
estos procesadores son:
EU
Unidad de ejecución
(Execution Unit).
BIU
Unidad de interfaz con
el Bus (Bus Interface
Unit).
La unidad de ejecución (EU)
• La unidad de ejecución (EU) se encarga de realizar las
operaciones aritméticas y lógicas, además de proporcionar las
direcciones lógicas al BIU --una dirección lógica está formada de
dos direcciones, la primera indica el segmento en el cual se está
trabajando y la otra indica el offset, o desplazamiento, de este
segmento; esto es segment:offset --.
• La EU tiene una unidad aritmética lógica (ALU) de 16 bits, un
registro de banderas y un conjunto de registros de propósito
general. El registro de banderas contiene 6 banderas de estado
(que la EU manipula para indicar el estado del resultado de una
operación lógica o aritmética) y 3 banderas de control que se
pueden manipular por los programas para alterar las
operaciones del procesador .
El 8086
La Unidad de Interfase con el Bus (BIU)
• Es la responsables de la comunicación externa del
procesador. Esta unidad de proceso se encarga de
traducir las direcciones lógicas a direcciones físicas
de la memoria con ayuda de los registros de
segmento DS, SS, ES, CS e IP.
• Para convertir una dirección lógica en una dirección
física el BIU corre el valor del registro de segmento 4
posiciones a la izquierda (que es equivalente a
multiplicar por 16h) y suma el valor del offset para
obtener un valor de 20 bits necesarios, como se
muestra en la figura.
El 8086
MODELO DE PROGRAMACIÓN
DEL 8086.
El 8086
El modelo de programación del 8086
El 8086
EAX AH AX AL Acumulador
EBX BH BX BL Base
ECX CH CX CL Contador
EDX DH DX DL Datos
ESP SP Apuntador de pila
EBP BP Apuntador de base
EDI DI Índice destino
ESI SI Índice fuente
EIP IP Apuntador instrucción
EFLAGS BANDERAS Banderas
CS Código
DS Datos
ES Extra
SS Pila
FS
GS
Registros de datos o de propósito general
AX, BX, CX, DX: pueden utilizarse bien como registros de 16 bits o
como dos registros separados de 8 bits (byte superior e inferior)
cambiando la X por H o L según queramos referirnos a la parte alta o
baja respectivamente. Por ejemplo,
AX se descompone en AH (parte alta) y AL (parte baja). Evidentemente,
¡cualquier cambio sobre AH o AL altera AX
AX = Acumulador.
Es el registro principal, es utilizado en las instrucciones de
multiplicación y división y en algunas instrucciones aritméticas
especializadas, así como en ciertas operaciones de carácter específico
como entrada, salida y traducción. Obsérvese que el 8086 es
suficientemente potente para realizar las operaciones lógicas, la suma
y la resta sobre cualquier registro de datos, no necesariamente el
acumulador.
El 8086
Registros de propósito general
El 8086
BX = Base.
Se usa como registro base para referenciar direcciones de memoria
con direccionamiento indirecto, manteniendo la dirección de la base o
comienzo de tablas o matrices. De esta manera, no es preciso indicar
una posición de memoria fija, sino la número BX (así, haciendo avanzar
de unidad en unidad a BX, por ejemplo, se puede ir accediendo a un
gran bloque de memoria en un bucle).
CX = Contador.
Se utiliza comúnmente como contador en bucles y operaciones
repetitivas de manejo de cadenas. En las instrucciones de
desplazamiento y rotación se utiliza como contador de 8 bits.
DX = Datos.
Usado en conjunción con AX en las operaciones de multiplicación
y división que involucran o generan datos de 32 bits. En las de entrada
y salida se emplea para especificar la dirección del puerto E/S.
Registros de segmento:
Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086.
Estas áreas pueden traslaparse total o parcialmente. No es posible acceder a
una posición de memoria no definida por algún segmento: si es preciso, habrá
de moverse alguno.
CS = Registro de segmento de código (code segment).
Contiene la dirección del segmento con las instrucciones del programa.
Los programas de más de 64 Kb requieren cambiar CS periódicamente.
DS = Registro de segmento de datos (data segment).
Segmento del área de datos del programa.
SS = Registro de segmento de pila (stack segment).
Segmento de pila.
ES = Registro de segmento extra (extra segment).
Segmento de ampliación para zona de datos. Es extraordinariamente útil
actuando en conjunción con DS: con ambos se puede definir dos zonas de 64
Kb, tan alejadas como se desee en el espacio de direcciones, entre las que se
pueden intercambiar datos
El 8086
Registros punteros de pila
SP = Puntero de pila (stack pointer).
Apunta al inicio de la pila. Utilizado en las
instrucciones de manejo de la pila.
BP = Puntero base (base pointer).
Es un puntero de base, que apunta a una zona dentro
de la pila dedicada al almacenamiento de datos (variables locales y
parámetros de las funciones en los programas compilados).
El 8086
Puntero de instrucciones o contador
de programa
El 8086
IP = Puntero de instrucción (instruction pointer).
Marca el desplazamiento de la instrucción en curso dentro del segmento de
código. Es automáticamente modificado con la lectura de una instrucción.
Registros índices:
El 8086
SI = Índice fuente (source index).
Utilizado como registro de índice en ciertos modos de
direccionamiento indirecto, también se emplea para guardar un
valor de desplazamiento en operaciones de cadenas.
DI = Índice destino (destination index).
Se usa en determinados modos de direccionamiento
indirecto y para almacenar un desplazamiento en operaciones
con cadenas.
Registro de estado o de indicadores (flags)
El 8086
• Es un registro de 16 bits de los cuales 9 son utilizados para
indicar diversas situaciones durante la ejecución de un
programa.
• Los bits 0, 2, 4, 6, 7 y 11 son indicadores de condición, que
reflejan los resultados de operaciones del programa
• los bits del 8 al 10 son indicadores de control y el resto no se
utilizan.
• Estos indicadores pueden ser comprobados por las
instrucciones de salto condicional, lo que permite variar el flujo
secuencial del programa según el resultado de las operaciones.
Bit
Señala desbordamiento aritméticoDesbordamiento (Overflow Flag")OF
Indica la dirección de las operaciones.Dirección ("Direction Flag")DF
Este bit controla el estado del sistema de
interrupciones enmascarables . Cuando está
activo (1) permite las interrupciones; el
estado inactivo (0) las deshabilita.
Interrupción ("Interrupt Flag")IF
Si está activo, el procesador genera
automáticamente una interrupción después
de la ejecución de cada instrucción, lo que
permite controlar paso a paso la ejecución del
programa. Este bit debe estar normalmente
inactivo (a 0).
Detención ("Trap Flag")TF
Si está activo indica que el resultado de
operación o de comparación son negativos.
Signo ("Sign Flag")SF
Está activo si el resultado de operación es
cero o resultado de comparación igual.
Cero ("Zero Flag")ZF
Indicador de ajuste en operaciones
aritméticas con cantidades BCD
Acarreo auxiliarAF
Si está activo Indica un número par de bits
activos (bits cuyo contenido es 1). Esta
información es útil cuando el procesador
controla transmisiones de datos.
Paridad ("Parity Flag")PF
Indicador de arrastre del bit de mayor orden,
que puede ocurrir en las operaciones
aritméticas suma y resta.Acarreo ("Carry Flag")CF
UsoIndicador de:
El 8086
NV ("No overflow")OV ("Overflow")DesbordamientoO
F
UP incrementoDN ("Down") decrementoDirecciónDF
DI ("Disabled Interrupt") desactivadaEI ("Enabled Interrupt") activaInterrupciónIF
PL ("Plus") positivoNG ("Negative") negativoSignoSF
NZ ("No Zero")ZR ("Zero")CeroZF
NA ("No Auxiliar")AC ("Auxiliar Carry")Acarreo auxiliarAF
PO ("Parity Odd") paridad imparPE ("Parity Even") paridad parParidadPF
NC ("No Carry")CY ("Carry yes")AcarreoCF
Indicativo si bit 0Indicativo si bit 1Indicador de:Bit
El 8086
MEMORIA BASICA
El 8086
Cada localidad de memoria tiene dos tipos de direcciones :
Dirección Física y Dirección Lógica o efectiva
Una dirección Física es el valor único de 20 bits que identifica la
localización de cada byte en el espacio de memoria de 1 Mbyte.
Los programas tratan con dirección Lógicas mas que con la dirección
Física.
Para cualquier localidad de memoria, el valor base del segmento
ubica el primer byte del contenido del segmento y el valor del offset
es la distancia, en bytes , de la localización destino del principio del
segmento.
Los valores de la base del Segmento y del offset son cantidades
asignadas de 16 bits; la dirección del byte más bajo del segmento
tiene un offset 0.
Dirección Física y Dirección Lógica
Formación de una Dirección Física
El 8086
0000
4 bits
Dirección de
segmento
Dirección
efectiva,
lógica u
offset
Dirección física
EL REGISTRO DE
SEGMENTO SE
DESPLAZA 4 BITS
HACIA LA
IZQUIERDA
(MULTIPLICACIÓN
x16)
20 BITS
Siempre que una memoria es accesada , se genera una
dirección física a partir de la dirección lógica.
Formación de una Dirección Física
El 8086
Formación de una Dirección Física
El 8086
Por Ejemplo:
Si la dirección base del segmento es
2915h, entonces las direcciones en
este segmento inician en 2915:0000
y van hasta 2915:FFFF
Ejemplo de direcciones de
segmento en modo real
Combinaciones predeterminadas
de segmento y desplazamiento
Un sistema de memoria que muestra la colocación
de cuatro
segmentos de memoria
El 8086
Segmentación de la Memoria en el 8086
Segmento de Memoria
• Un segmento es un área
continua de memoria que puede
tener hasta 64K-bytes, que debe
comenzar en una localidad de
memoria cuya dirección sea
límite de 16 bytes (cantidad
denominada párrafo) y que
puede traslaparse con otros
segmentos.
SEGMENTO
Memoria
0
FFFFF
El 8086
SEGMENTACIÓN
El 8086
Dirección lógica
Registro de segmento
Desplaz
amiento
Dirección de segmento
Dirección física
CPU
SEGMENTO
Memoria
0
FFFFF
 El segmento de código (tiene como base el
contenido del registro CS).
 En este segmento se encuentran las
instrucciones que forman el programa. Para
acceder a los datos contenidos en él, se usa el
registro IP como desplazamiento.
 El segmento de datos (que tiene como base el
registro DS).
 Contiene los datos que utiliza el programa
(variables, etc.) Para acceder a los datos
contenidos en él, se suele utilizar los registros
SI y DI como desplazamiento.
El 8086
Segmentos de Memoria
Segmentos de Memoria
- El segmento de pila (con SS como base).
- En él se desarrolla la pila del programa, utilizada para
almacén temporal de datos, llamadas a funciones, etc.
Debe estar presente en todos los programas EXE de
forma obligada. Se utiliza el registro SP para acceder a
los datos de este segmento.
- El segmento extra (con ES como base).
- Su uso es opcional, y en él se encuentra un segmento
definido por el usuario y que, regularmente, contiene
datos adicionales. Al igual que ocurre con el segmento
de datos, para acceder a los datos contenidos en él, se
suelen utilizar los registros SI y DI.
El 8086
SEGMENTACIÓN
El 8086
CS
DS
SS
ES
STACK
SEGMENTO EXTRA
DE DATOS
SEGMENTO DE
DATOS
SEGMENTO DE
CÓDIGO
CS
OTRO SEGMENTO
SEGMENTO DE
CÓDIGO
PROGRAMA
MEMORIA
MEMORIA
TRASLAPE DE SEGMENTOS
SEGMENTACIÓN
El 8086
02000
SEGMENTO DE
CÓDIGO
RELOCALIZADO
SEGMENTO DE
CÓDIGO EN CURSO
PROGRAMA
MEMORIA
Relocalización de un programa usando el registro CS
PROGRAMA
600
1A300
600
nuevo (CS)=1A30

Más contenido relacionado

La actualidad más candente

REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERASFabian Rojas
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 
Bus de datos, dirección y control
Bus de datos, dirección y controlBus de datos, dirección y control
Bus de datos, dirección y controlJulian1784
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Manipulacion de la pila!!
Manipulacion de la pila!!Manipulacion de la pila!!
Manipulacion de la pila!!romo91
 
Circuito detector de numeros primos de 4 bits
Circuito detector de numeros primos de 4 bitsCircuito detector de numeros primos de 4 bits
Circuito detector de numeros primos de 4 bitsErick Bello
 
1.4.1 Representación en memoria estática y dinámica.pptx
1.4.1 Representación en memoria estática y dinámica.pptx1.4.1 Representación en memoria estática y dinámica.pptx
1.4.1 Representación en memoria estática y dinámica.pptxFernando Solis
 
Presentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica LogicaPresentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica Logica'Anderson Romero'
 
Arquitectura del cpu
Arquitectura del cpuArquitectura del cpu
Arquitectura del cpuMedardoPerez
 

La actualidad más candente (20)

REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Definición de registro de procesador
Definición de registro de procesadorDefinición de registro de procesador
Definición de registro de procesador
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
Unidad aritmética lógica (ALU)
Unidad aritmética  lógica (ALU)Unidad aritmética  lógica (ALU)
Unidad aritmética lógica (ALU)
 
Direccionamiento de los discos duros
Direccionamiento de los discos durosDireccionamiento de los discos duros
Direccionamiento de los discos duros
 
Bus de datos, dirección y control
Bus de datos, dirección y controlBus de datos, dirección y control
Bus de datos, dirección y control
 
Memorias en circuitos digitales
Memorias en circuitos digitalesMemorias en circuitos digitales
Memorias en circuitos digitales
 
10 arquitectura intel 8086
10 arquitectura intel 808610 arquitectura intel 8086
10 arquitectura intel 8086
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Tema2
Tema2Tema2
Tema2
 
Manipulacion de la pila!!
Manipulacion de la pila!!Manipulacion de la pila!!
Manipulacion de la pila!!
 
Circuito detector de numeros primos de 4 bits
Circuito detector de numeros primos de 4 bitsCircuito detector de numeros primos de 4 bits
Circuito detector de numeros primos de 4 bits
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
1.4.1 Representación en memoria estática y dinámica.pptx
1.4.1 Representación en memoria estática y dinámica.pptx1.4.1 Representación en memoria estática y dinámica.pptx
1.4.1 Representación en memoria estática y dinámica.pptx
 
Presentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica LogicaPresentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica Logica
 
Transistores
TransistoresTransistores
Transistores
 
Arquitectura del cpu
Arquitectura del cpuArquitectura del cpu
Arquitectura del cpu
 
Sumadores
SumadoresSumadores
Sumadores
 

Similar a Clase 1.8 arquitectura del 8086

Similar a Clase 1.8 arquitectura del 8086 (20)

Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitectura
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesador
 
El intel 8086
El intel 8086El intel 8086
El intel 8086
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Esamblador8086
Esamblador8086Esamblador8086
Esamblador8086
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Temas arquitectura interna 8086 8088 de 13-08-10
Temas arquitectura interna 8086 8088 de 13-08-10Temas arquitectura interna 8086 8088 de 13-08-10
Temas arquitectura interna 8086 8088 de 13-08-10
 
ELECTIVA 3 - MICROPROCESADORES
ELECTIVA 3 - MICROPROCESADORESELECTIVA 3 - MICROPROCESADORES
ELECTIVA 3 - MICROPROCESADORES
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
1 Presentación microprocesador 8088.pptx
1 Presentación microprocesador 8088.pptx1 Presentación microprocesador 8088.pptx
1 Presentación microprocesador 8088.pptx
 
ects_t2.pdf
ects_t2.pdfects_t2.pdf
ects_t2.pdf
 
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensamblador
 
Registros
RegistrosRegistros
Registros
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
 
El Procesador o CPU
El Procesador o CPUEl Procesador o CPU
El Procesador o CPU
 

Último

TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxFrancoSGonzales
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..JoseRamirez247144
 
PPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfPPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfihmorales
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4hassanbadredun
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosFundación YOD YOD
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGAndresGEscobar
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODACarmeloPrez1
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxDr. Edwin Hernandez
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-ComunicacionesIMSA
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónjesuscub33
 
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfDELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfJaquelinRamos6
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...antonellamujica
 
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfAFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfOdallizLucanaJalja1
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxCONSTRUCTORAEINVERSI3
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxDanielFerreiraDuran1
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxCORPORACIONJURIDICA
 
Evaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo finalEvaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo finalssuser4a0361
 

Último (20)

TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..
 
PPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfPPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdf
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de servicios
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptx
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarización
 
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfDELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
 
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfAFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptx
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptx
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
 
Evaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo finalEvaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo final
 

Clase 1.8 arquitectura del 8086

  • 2. Arquitectura en pipeline • Los procesadores previos al 8086, estaban limitados en su desempeño por la necesidad de realizar los dos pasos principales de ejecución del procesador: Fetch/Execute, en forma secuencial. Es decir, no se puede ejecutar una instrucción hasta que se traiga de memoria (Fetch); y no podían traerse instrucciones de memoria mientras ejecutaba una instrucción, pues el procesador estaba ocupado. • Resumiendo, un alto porcentaje del tiempo, el procesador estaba ocupado haciendo Fetch, cuando su función debería ser de ejecutar instrucciones. La capacidad de ejecutar instrucciones sólo se ocupaba en un bajo porcentaje. El 8086
  • 3. Arquitectura en pipeline • Para solucionar ésto, Intel desarrolló la arquitectura en pipeline del Fetch/Execute, en la cual simplemente se divide la tarea en dos secciones: una encargada del Fetch (BIU) y otra del Execute (EU). – De esta manera, existen circuitos separados para cada función, los cuales trabajan en paralelo. – Si bien el proceso aún es secuencial, solamente al principio se requiere desperdiciar tiempo en el Fetch. – A partir de ahí, Fetch va adelante del Execute, y trae instrucciones al procesador mientras este ejecuta las anteriores. El 8086
  • 4. Arquitectura del 8086 El 8086 Estos microprocesadores tiene 2 procesadores conectados internamente, estos procesadores son: EU Unidad de ejecución (Execution Unit). BIU Unidad de interfaz con el Bus (Bus Interface Unit).
  • 5. La unidad de ejecución (EU) • La unidad de ejecución (EU) se encarga de realizar las operaciones aritméticas y lógicas, además de proporcionar las direcciones lógicas al BIU --una dirección lógica está formada de dos direcciones, la primera indica el segmento en el cual se está trabajando y la otra indica el offset, o desplazamiento, de este segmento; esto es segment:offset --. • La EU tiene una unidad aritmética lógica (ALU) de 16 bits, un registro de banderas y un conjunto de registros de propósito general. El registro de banderas contiene 6 banderas de estado (que la EU manipula para indicar el estado del resultado de una operación lógica o aritmética) y 3 banderas de control que se pueden manipular por los programas para alterar las operaciones del procesador . El 8086
  • 6. La Unidad de Interfase con el Bus (BIU) • Es la responsables de la comunicación externa del procesador. Esta unidad de proceso se encarga de traducir las direcciones lógicas a direcciones físicas de la memoria con ayuda de los registros de segmento DS, SS, ES, CS e IP. • Para convertir una dirección lógica en una dirección física el BIU corre el valor del registro de segmento 4 posiciones a la izquierda (que es equivalente a multiplicar por 16h) y suma el valor del offset para obtener un valor de 20 bits necesarios, como se muestra en la figura. El 8086
  • 8. El modelo de programación del 8086 El 8086
  • 9. EAX AH AX AL Acumulador EBX BH BX BL Base ECX CH CX CL Contador EDX DH DX DL Datos ESP SP Apuntador de pila EBP BP Apuntador de base EDI DI Índice destino ESI SI Índice fuente EIP IP Apuntador instrucción EFLAGS BANDERAS Banderas CS Código DS Datos ES Extra SS Pila FS GS
  • 10.
  • 11. Registros de datos o de propósito general AX, BX, CX, DX: pueden utilizarse bien como registros de 16 bits o como dos registros separados de 8 bits (byte superior e inferior) cambiando la X por H o L según queramos referirnos a la parte alta o baja respectivamente. Por ejemplo, AX se descompone en AH (parte alta) y AL (parte baja). Evidentemente, ¡cualquier cambio sobre AH o AL altera AX AX = Acumulador. Es el registro principal, es utilizado en las instrucciones de multiplicación y división y en algunas instrucciones aritméticas especializadas, así como en ciertas operaciones de carácter específico como entrada, salida y traducción. Obsérvese que el 8086 es suficientemente potente para realizar las operaciones lógicas, la suma y la resta sobre cualquier registro de datos, no necesariamente el acumulador. El 8086
  • 12. Registros de propósito general El 8086 BX = Base. Se usa como registro base para referenciar direcciones de memoria con direccionamiento indirecto, manteniendo la dirección de la base o comienzo de tablas o matrices. De esta manera, no es preciso indicar una posición de memoria fija, sino la número BX (así, haciendo avanzar de unidad en unidad a BX, por ejemplo, se puede ir accediendo a un gran bloque de memoria en un bucle). CX = Contador. Se utiliza comúnmente como contador en bucles y operaciones repetitivas de manejo de cadenas. En las instrucciones de desplazamiento y rotación se utiliza como contador de 8 bits. DX = Datos. Usado en conjunción con AX en las operaciones de multiplicación y división que involucran o generan datos de 32 bits. En las de entrada y salida se emplea para especificar la dirección del puerto E/S.
  • 13. Registros de segmento: Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. Estas áreas pueden traslaparse total o parcialmente. No es posible acceder a una posición de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno. CS = Registro de segmento de código (code segment). Contiene la dirección del segmento con las instrucciones del programa. Los programas de más de 64 Kb requieren cambiar CS periódicamente. DS = Registro de segmento de datos (data segment). Segmento del área de datos del programa. SS = Registro de segmento de pila (stack segment). Segmento de pila. ES = Registro de segmento extra (extra segment). Segmento de ampliación para zona de datos. Es extraordinariamente útil actuando en conjunción con DS: con ambos se puede definir dos zonas de 64 Kb, tan alejadas como se desee en el espacio de direcciones, entre las que se pueden intercambiar datos El 8086
  • 14. Registros punteros de pila SP = Puntero de pila (stack pointer). Apunta al inicio de la pila. Utilizado en las instrucciones de manejo de la pila. BP = Puntero base (base pointer). Es un puntero de base, que apunta a una zona dentro de la pila dedicada al almacenamiento de datos (variables locales y parámetros de las funciones en los programas compilados). El 8086
  • 15. Puntero de instrucciones o contador de programa El 8086 IP = Puntero de instrucción (instruction pointer). Marca el desplazamiento de la instrucción en curso dentro del segmento de código. Es automáticamente modificado con la lectura de una instrucción.
  • 16. Registros índices: El 8086 SI = Índice fuente (source index). Utilizado como registro de índice en ciertos modos de direccionamiento indirecto, también se emplea para guardar un valor de desplazamiento en operaciones de cadenas. DI = Índice destino (destination index). Se usa en determinados modos de direccionamiento indirecto y para almacenar un desplazamiento en operaciones con cadenas.
  • 17. Registro de estado o de indicadores (flags) El 8086 • Es un registro de 16 bits de los cuales 9 son utilizados para indicar diversas situaciones durante la ejecución de un programa. • Los bits 0, 2, 4, 6, 7 y 11 son indicadores de condición, que reflejan los resultados de operaciones del programa • los bits del 8 al 10 son indicadores de control y el resto no se utilizan. • Estos indicadores pueden ser comprobados por las instrucciones de salto condicional, lo que permite variar el flujo secuencial del programa según el resultado de las operaciones.
  • 18. Bit Señala desbordamiento aritméticoDesbordamiento (Overflow Flag")OF Indica la dirección de las operaciones.Dirección ("Direction Flag")DF Este bit controla el estado del sistema de interrupciones enmascarables . Cuando está activo (1) permite las interrupciones; el estado inactivo (0) las deshabilita. Interrupción ("Interrupt Flag")IF Si está activo, el procesador genera automáticamente una interrupción después de la ejecución de cada instrucción, lo que permite controlar paso a paso la ejecución del programa. Este bit debe estar normalmente inactivo (a 0). Detención ("Trap Flag")TF Si está activo indica que el resultado de operación o de comparación son negativos. Signo ("Sign Flag")SF Está activo si el resultado de operación es cero o resultado de comparación igual. Cero ("Zero Flag")ZF Indicador de ajuste en operaciones aritméticas con cantidades BCD Acarreo auxiliarAF Si está activo Indica un número par de bits activos (bits cuyo contenido es 1). Esta información es útil cuando el procesador controla transmisiones de datos. Paridad ("Parity Flag")PF Indicador de arrastre del bit de mayor orden, que puede ocurrir en las operaciones aritméticas suma y resta.Acarreo ("Carry Flag")CF UsoIndicador de: El 8086
  • 19. NV ("No overflow")OV ("Overflow")DesbordamientoO F UP incrementoDN ("Down") decrementoDirecciónDF DI ("Disabled Interrupt") desactivadaEI ("Enabled Interrupt") activaInterrupciónIF PL ("Plus") positivoNG ("Negative") negativoSignoSF NZ ("No Zero")ZR ("Zero")CeroZF NA ("No Auxiliar")AC ("Auxiliar Carry")Acarreo auxiliarAF PO ("Parity Odd") paridad imparPE ("Parity Even") paridad parParidadPF NC ("No Carry")CY ("Carry yes")AcarreoCF Indicativo si bit 0Indicativo si bit 1Indicador de:Bit El 8086
  • 20.
  • 21.
  • 23.
  • 24.
  • 25. El 8086 Cada localidad de memoria tiene dos tipos de direcciones : Dirección Física y Dirección Lógica o efectiva Una dirección Física es el valor único de 20 bits que identifica la localización de cada byte en el espacio de memoria de 1 Mbyte. Los programas tratan con dirección Lógicas mas que con la dirección Física. Para cualquier localidad de memoria, el valor base del segmento ubica el primer byte del contenido del segmento y el valor del offset es la distancia, en bytes , de la localización destino del principio del segmento. Los valores de la base del Segmento y del offset son cantidades asignadas de 16 bits; la dirección del byte más bajo del segmento tiene un offset 0. Dirección Física y Dirección Lógica
  • 26. Formación de una Dirección Física El 8086 0000 4 bits Dirección de segmento Dirección efectiva, lógica u offset Dirección física EL REGISTRO DE SEGMENTO SE DESPLAZA 4 BITS HACIA LA IZQUIERDA (MULTIPLICACIÓN x16) 20 BITS Siempre que una memoria es accesada , se genera una dirección física a partir de la dirección lógica.
  • 27. Formación de una Dirección Física El 8086
  • 28. Formación de una Dirección Física El 8086 Por Ejemplo: Si la dirección base del segmento es 2915h, entonces las direcciones en este segmento inician en 2915:0000 y van hasta 2915:FFFF
  • 29. Ejemplo de direcciones de segmento en modo real
  • 31. Un sistema de memoria que muestra la colocación de cuatro segmentos de memoria
  • 32. El 8086 Segmentación de la Memoria en el 8086
  • 33. Segmento de Memoria • Un segmento es un área continua de memoria que puede tener hasta 64K-bytes, que debe comenzar en una localidad de memoria cuya dirección sea límite de 16 bytes (cantidad denominada párrafo) y que puede traslaparse con otros segmentos. SEGMENTO Memoria 0 FFFFF El 8086
  • 34. SEGMENTACIÓN El 8086 Dirección lógica Registro de segmento Desplaz amiento Dirección de segmento Dirección física CPU SEGMENTO Memoria 0 FFFFF
  • 35.  El segmento de código (tiene como base el contenido del registro CS).  En este segmento se encuentran las instrucciones que forman el programa. Para acceder a los datos contenidos en él, se usa el registro IP como desplazamiento.  El segmento de datos (que tiene como base el registro DS).  Contiene los datos que utiliza el programa (variables, etc.) Para acceder a los datos contenidos en él, se suele utilizar los registros SI y DI como desplazamiento. El 8086 Segmentos de Memoria
  • 36. Segmentos de Memoria - El segmento de pila (con SS como base). - En él se desarrolla la pila del programa, utilizada para almacén temporal de datos, llamadas a funciones, etc. Debe estar presente en todos los programas EXE de forma obligada. Se utiliza el registro SP para acceder a los datos de este segmento. - El segmento extra (con ES como base). - Su uso es opcional, y en él se encuentra un segmento definido por el usuario y que, regularmente, contiene datos adicionales. Al igual que ocurre con el segmento de datos, para acceder a los datos contenidos en él, se suelen utilizar los registros SI y DI. El 8086
  • 37. SEGMENTACIÓN El 8086 CS DS SS ES STACK SEGMENTO EXTRA DE DATOS SEGMENTO DE DATOS SEGMENTO DE CÓDIGO CS OTRO SEGMENTO SEGMENTO DE CÓDIGO PROGRAMA MEMORIA MEMORIA TRASLAPE DE SEGMENTOS
  • 38. SEGMENTACIÓN El 8086 02000 SEGMENTO DE CÓDIGO RELOCALIZADO SEGMENTO DE CÓDIGO EN CURSO PROGRAMA MEMORIA Relocalización de un programa usando el registro CS PROGRAMA 600 1A300 600 nuevo (CS)=1A30