- Evolución de los microprocesadores Intel
- Arquitectura del microprocesador 8086
- Características de las unidades del 8086
- Modelo de software del 8086
- Puntero de instrucción (instruction pointer)
- Dedicated register functions
- Descripcion flags
- Memoria interna
- Tipos de datos
Para ver el gráfico seleccione la opción "Descargar" del menú superior
CPU :
Microprocesador 8088/8086 Intel
(Arquitectura de 16 bits – Bus externo 8 bits)
Ejecuta instrucciones de un programa
Procesa datos
Operaciones aritméticas
Decisiones lógicas
- MEMORIA:
Secundaria: Floppy, CDs, DVD, Disco duro (write and read)
Primaria: Memoria de Programa: Instrucciones del OS y programas aplicativos
Memoria de Datos: Información a procesar por los programas.
ROM (Read Only Memory) No volátil
RAM (Read and Write Memory) Volátil
EVOLUCION DE LOS MICROPROCESADORES INTEL
Jerarquía: Número de bits (Longitud de palabra)
4-bit, 8-bit, 16 bit, 32 bit y 64-bit.
- 1972: Primera Generación
Procesador: 4004
No Transistores: 10.000
Longitud de palabra: 4 bits (nibble)
Aplicaciones: Calculadoras electrónicas.
- 1974: Segunda generación
Procesadores: 8008,8080 y 8085.
No Transistores: 12.000 – 20.000
Longitud de palabra: 8 bits (1 byte)
Aplicaciones: Instrumentos electrónicos registradoras, impresoras.
- 1975 – 1981: Tercera generación
Procesadores: 8086,8088,80286,80186,80188
No Transistores: 30.000 –140.000
Longitud de palabra: 16 bits
Aplicaciones: Microcomputadores (Instrucciones)
- 1985 – 1990: Cuarta Generación
Procesadores: 80386DX,80386SX,80486DX,80486SX, Pentium.
No Transistores: 275.000-3.000.000
Longitud de palabra: 32 bits
Aplicaciones: Microcomputadores.
ARQUITECTURA DEL MICROPROCESADOR 8086
Para ver el gráfico seleccione la opción "Descargar" del menú superior
CARACTERÍSTICAS DE LAS UNIDADES DEL 8086
- Operaciones de bus externas
- Adquisición de datos
- Bus de datos bidireccional de 16 bits
- Bus de direcciones de 20 bits
- Señales de control
- Instrucciones de apilamiento
- Generación de direcciones.
- Apilamiento de 6 bytes de códigos de instrucción
EX:
- Decodificar y ejecutar instrucciones
- Toma instrucciones de pila y datos de los registros de propósito general o la memoria
Para ver el gráfico seleccione la opción "Descargar" del menú superior
PUNTERO DE INSTRUCCIÓN (INSTRUCTION POINTER)
- Registro de 16 bits
- Proporciona la dirección relativa en el segmento de código donde se encuentra localizada la instrucción del programa que se va a ejecutar.
- Similar a un contador de programa
- CS:IP para direccionar la memoria (20 bits)
- Incrementado en 2
- REGISTROS DE DATOS
- Registros de propósito general (16 Bits )
- Usados para guardar valores temporales
- Fuente o destino del resultado de una operación aritmética o lógica
- Transferencia de datos memoria-registro
- Acceso más rápido que la memoria
REGISTER | OPERATIONS |
AX | Operaciones aritméticas, I/O |
BX | Apunta al comienzo de una tabla en la memoria. Transferencia de datos |
CX | Contador de repetición para control de bucles. |
DX | Almacenar datos de 16 bits con propósitos generales. |
REGISTROS DE PILA (POINTER REGISTERS)
- Base Pointer – Stack Pointer
- Proporcionan direcciones relativas dentro del segmento de pila.
- SP proporciona la situación de la cabecera de la pila, es análogo al registro IP.
- BP se utiliza para indicar, partiendo de la posición inicial de la pila, dónde se encuentra determinada información. Este registro es importante para crear rutinas de interfaz en lenguaje ensamblador.
REGISTROS INDICE (INDEX REGISTERS)
- Source Index – Destination Index
- Se utilizan con otros registros (AX, BX, CX, DX) o con ciertas instrucciones que proporcionan la dirección relativa del lugar inicial de un campo de datos que esté comprendido en el interior de un segmento de datos.
- Se utilizan cuando se van a transferir grandes listas de datos.
REGISTRO DE ESTADO (STATUS REGISTER)
- Flag register
- 16 bit register
- Sólo se usan 9 bits.
- Status Flags: CF, PF,AF,ZF,SF,OF
- El estado de estas flags indican el resultado de una operación ejecutada por la ALU..
- Control Flags: DF,IF,TF. sirven para programar el uP en determinada modalidad.
OF: Overflow. El resultado no cabe en el rango definido para los operandos.
SF: Sign. El resultado es negativo.
ZF: Zero. El resultado es cero.
AF: Auxiliar carry. Acarreo de nibble.
PF: Parity. Cantidad de unos es impar.
CF: Carry. Resultado generó acarreo.
DF: Direction. Acceso a cadenas.
IF: Interrupt. Atender interrupciones.
TF: Trap. Fija el uP en el modo paso a paso.
Los microprocesadores poseen dos tipos de memorias de memoria interna: memoria de acceso aleatorio (RAM) y memoria de solo lectura (ROM).
Los bytes en memoria se enumeran de forma consecutiva iniciando en cero, de modo que cada localidad tiene un número de dirección único.
ROM: En ella la información viene grabada permanentemente y no puede ser modificada, sólo leída. Útiles para guardar programas y/o datos que no necesitan cambiarse. Se divide en ROM BOOT y ROM BIOS.
RAM: La información se puede leer y también sobrescribir información nueva sobre la anterior. En ella se ubican los programas que se cargan en el computador y los datos que se desarrollan al activar tales programas.
MAPA DE LA MEMORIA
SEGMENTACION DE MEMORIA
El uP 8086 ve la memoria como si estuviera formada de bloques llamados segmentos. Un segmento tiene un tamaño de 64 Kbytes y la memoria total direccionable es de 1MB.
Un segmento puede empezar en cualquier posición que sea múltiplo de 16 (10H):}
Formatos:
Nibble: 4 bits
Byte: 8 bits
Word: 16 bits
Double: 32 bits(2 Words)
Párrafo: 16 bytes
Página: 256 bytes
Segmento: 64 Kbytes
Tipos:
- INTEGER:
Unsigned byte: 0-255
Unsigned word: 0-65535
Signed byte: +127,-128
Signed Word: +32767,-32768
- BINARY CODED DECIMAL (BCD)
No empaquetado: 4 bits
MSB |
|
|
| D3 |
|
| D0 |
Empaquetado: 8 bits
MSB LSB
D7 |
|
| D4 | D3 |
|
| D0 |
BCD Digit 1 BCD Digit 2
- ASCII (American Standars Code for Information Interchange)
Decimal Octal Hex Binary Value ——- —– —- —— —– 000 000 000 00000000 NUL (Null char.) 001 001 001 00000001 SOH (Start of Header) 002 002 002 00000010 STX (Start of Text) 003 003 003 00000011 ETX (End of Text)
Ruddy Armando Muñoz Ortega