1. MICROPROCESADORES
COMO ES QUE NACEN LOS MICROPROCESADORES:
El procesador es un circuito electrónico que actúa como unidad central de proceso
de un ordenador, en inglés CPU “Central Processin Unit”. Es el encargado de
proporcionar las operaciones de cálculo, como un cerebro que organiza, da
órdenes y envía información al resto del cuerpo. Los microprocesadores se
utilizan, sobretodo, en ordenadores pero también en otros sistemas informáticos
avanzados, como impresoras, automóviles o aviones.
El microprocesador es producto surgido de la evolución de distintas tecnologías
predecesoras, básicamente de la computación y de la tecnología
de semiconductores. Esasí que se fusionaron dichas tecnologías logrando
producir a inicios de los años 70 el primer microprocesador.
El primer microprocesador creado en ese entonces no todos los componentes
electrónicos que lo conformaban no podían ser un único circuito integrado, era
necesario utilizar dos o tres “chips” para hacer una CPU (uno de esos chips era
“ALU” unidad aritmética lógica, el otro la “CONTROL UNIT”, el otro el “REGISTER
BANK”, etc). En 1971 la compañía Intel consiguió por primera vez poner todos los
2300 transistores que constituían un procesador sobre un único circuito integrado
el “4004”
JERARQUIA DE LOS MICROPROCESADORES:
MICROPROCESADORES INTEL:
MICROPROCESADOR (4004):
Microprocesador de 4 bits.
2. Constituido por 2.300 transistores.
Encapsulado CERDIP de 16 pines.
Máxima velocidad de 740 khz.
Usa arquitectura Harvard, es decir,almacenamiento separado de programas
y datos.
12 bits de direcciones (direccionando hasta 4 KB).
MICROPROCESADOR ():
╭∩╮(◣_◢)╭∩╮
3. ARQUITECTURA BASICA DEL MICROPROCESADOR 8086:
Es uno de los primeros microprocesadores diseñado por la compañía Intel de 16
bits.
Fueron el inicio y los primeros miembros de la arquitectura x86, actualmente
usada en la mayoría de los computadores. El trabajo de desarrollo para el 8086
comenzó en la primavera de 1976 y el chip fue introducido al mercado en el
verano de 1978.
Su estructura interna está dada por:
I Tienen internamente dos componentes, la Unidad de Interfaz del Bus y la
Unidad de ejecución.
1. La Unidad de Ejecución: procesa las instrucciones del CPU. Está
conformada por los registros generales, los registros índices y
apuntadores, los flags, la unidad aritmética lógica, y la lógica de
control que maneja todo el proceso para ejecutar las instrucciones.
2. La Unidad de Interfaz del Bus: maneja la lectura y escritura
desde y hacia la memoria y los puertos de entrada/salida. Está
conformada por los registros de segmento, una cola de 4 bytes
para instrucciones en el 8088 y de 6 en el 8086, y lógica para
controlar los buses externos del microprocesador.
II Registros: tienen cuatro registros de propósito general de 16 bits, que
también pueden ser accedidos como ocho registros de 8 bits, y tienen
cuatro registros índice de 16 bits (incluyendo el puntero de pila).
Registro de propósito general: Los registros de propósito general son el AX, BX,
CX, y DX, de 16 bits. Cada uno de ellos se divide en dos registros de 8
bits, llamados AH y AL, BH y BL, CH y CL, y, DH y DL, H significando
Hight (alto) y L significando Low (bajo), indicando la parte alta o la parte
baja del registro correspondiente de 16 bits
Registro AX: El registro AX es el registro acumulador, es utilizado
para operaciones que implican entrada/salida, y multiplicación y
división (estas dos últimas en conjunto con el registro DX).
4. Registro BX: El registro BX es el registro base, y es el único registro
de propósito general que puede ser un índice para direccionamiento
indexado
Registro CX: El registro CX es conocido como el registro contador.
Puede contener un valor para controlar el número de veces que un
ciclo se repite o un valor para corrimiento de bits
Registro DX: El registro DX es el registro de datos. En algunas
operaciones se indica mediante este registro el número de puerto
de entrada/salida, y en las operaciones de multiplicación y división
de 16 bits se utiliza junto con el acumulador AX
Registros Índice:
Los registros SI y DI están disponibles para direccionamiento indexado y
para operaciones de cadenas de caracteres.
Registro SI: El registro índice fuente de 16 bits es requerido por algunas
operaciones con cadenas de caracteres. El SI está asociado con el
segmento DS.
Registro DI: El registro índice destino también es requerido por
algunas operaciones con cadenas de caracteres. El DI está
asociado con el segmento ES.
Registros Apuntadores:
Los registros SP (apuntador de pila) y BP (apuntador base) están
asociados con el registro SS y permiten al sistema acceder a datos en el
segmento de la pila.
Registro SP: El apuntador de pila de 16 bits está asociado con el segmento
SS y proporciona un valor de desplazamiento que se refiere a la
palabra actual que está siendo procesada en la pila. El sistema
maneja de manera automática este registro, aunque el programa
puede hacer ciertas manipulaciones con él.
Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros
dentro de la pila.
5. Registros de Banderas
Es un registro de 16 bits, de los cuales nueve sirven para indicar el estado
actual de la máquina y el resultado del procesamiento. Muchas
instrucciones aritméticas y de comparación cambian el estado de las
banderas y apoyándose en ellas se pueden tomar decisiones para
determinar la acción subsecuente.
Los bits de las banderas son las siguientes:
OF (overflow, desbordamiento): Indica desbordamiento del bit de
mayor orden después de una operación aritmética de números con
signo (1=existe overflow; 0=no existe overflow). Para operaciones
sin signo, no se toma en cuenta esta bandera.
DF (dirección): Controla la selección de incremento o decremento
de los registros SI y DI en las operaciones con cadenas de
caracteres (1=decremento automático; 0=incremento). La bandera
DF se controla con las instrucciones STD y CLD.
IF (interrupción): Controla el disparo de las interrupciones
(1=habilita las interrupciones; 0=deshabilita las interrupciones).
La interrupción no enmascarable es la única que no puede ser
bloqueada por esta bandera. El estado de la bandera IF se controla
con las instrucciones STI y CLI.
TF (trampa): Permite la operación del procesador en modo
de depuración (paso a paso)
SF (signo): Contiene el signo resultante de una operación
aritmética (0=positivo; 1=negativo).
ZF (cero): Indica el resultado de una operación aritmética o de
comparación (0=resultado diferente de cero; 1=resultado igual a
cero).
AF (acarreo auxiliar): Contiene el acarreo del bit 3. Esta bandera
se prueba con las instrucciones DAA y DAS para ajustar el valor de
AL después de una suma o resta BCD.
PF (paridad): Indica si el número de bits 1, del byte menos
significativos de una operación, es par (0=número de bits 1 es
impar; 1=número de bits 1 es par).
6. CF (acarreo): Contiene el acarreo del bit de mayor orden después
de una operación aritmética; también almacena el contenido del
último bit en una operación de desplazamiento o de rotación.
Registros de Segmento
Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del
8086. Estas áreas pueden solaparse 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.
Registro CS: El DOS almacena la dirección inicial del segmento de
código de un programa en el registro CS. Esta dirección de
segmento, más un valor de desplazamiento en el registro apuntador
de instrucción (IP), indica la dirección de una instrucción que es
buscada para su ejecución. Para propósitos de programación
normal, no se necesita referenciar el registro CS.
Registro DS: La dirección inicial de un segmento de datos de
programa es almacenada en el registro DS. Esta dirección, más un
valor de desplazamiento en una instrucción, genera una referencia
a la localidad de un byte específico en el segmento de datos.
Registro SS: El registro SS permite la colocación en memoria de
una pila, para almacenamiento temporal de direcciones y datos. El
DOS almacena la dirección de inicio del segmento de pila de un
programa en el registro SS. Esta dirección de segmento, más un
valor de desplazamiento en el registro del apuntador de la pila (SP),
indica la palabra actual en la pila que está siendo direccionada.
Para propósitos de programación normal, no se necesita referenciar
el registro SS.
Registro ES: Algunas operaciones con cadenas de caracteres
utilizan el registro extra de segmento para manejar el
direccionamiento de memoria. El registro ES está asociado con el
registro DI (Índice). Un programa que requiere el uso del registro ES
puede inicializarlo con una dirección de segmento apropiada.
7. Registro Apuntador de Instrucciones
El registro IP de 16 bits contiene el desplazamiento de dirección de la
siguiente instrucción que se ejecuta. El IP está asociado con el registro CS
en el sentido de que el IP indica la instrucción actual dentro del segmento
de código que se está ejecutando actualmente en la memoria.
CICLO DE INSTRUCCIÓN DEL 8086:
Acceso a memoria y a puertos
Mediante el BUS INTERFACE UNIT transfiere:
Datos a memoria o E/S.
Recibe datos de memoria o E/S.
Lee instrucciones de memoria.
Contiene una cola de instrucciones.
Genera direcciones físicas de memoria y E/S
Mediante el EXECUTION UNIT:
Recibe instrucciones de cola de BIU.
Recibe datos de la BIU.
Decodifica lasinstrucciones, generando señales de control necesarias.
Ejecutas las instrucciones.
Almacena los resultados en los registros.
Pasa los datos al BIU para almacenarlos en memoria o E/S.
No tiene conexión a los buses del sistema .lo hace atraves del BIU.