miércoles, 20 de noviembre de 2013

ARQUITECTURA DEL PROCESADOR 8086


El 8086 es un microprocesador de 16 bits, consta de una unidad de ejecución (EU: Execution Unit) y una unidad interfaz del bus (BIU: Bus Interface Unit).

·         Unidad de Ejecución (EU). Es la encargada del proceso de 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
·         Unidad de Interfaz del Bus (BIU). Realiza la búsqueda de datos e  instrucciones. Asi como también se encarga del control de la interacción del CPU y los elementos externos. Está conformada una cola de 6 bytes para instrucciones, por los registros de segmento  y lógica para controlar los buses externos del microprocesador.



REGISTROS
El  8086 tienen 14 registros de 16 bits, de los cuales 4 son de propósito general que también pueden ser accedidos como ocho registros de 8 bits, 4 registros de segmentos, 2 de índices, 2 punteros de pila  y un registro de indicadores de estado (flags).
Registros de Propósito General
Estos son el AX, BX, CX, y DX, de 16 bits. Cada uno de ellos se pueden dividir en dos registros de 8 bits, llamados registros altos (Hight) AH , BH, CH, DH y DL, y en registros de nivel bajo (Low) AL, BL, CL, y DL .
  • Registro AX: Se denomina acumulador de 16 bits, es utilizado para operaciones que implican entrada/salida,  multiplicación y división (estas dos últimas en conjunto con el registro DX)
  • Registro BX: Es el registro base, también se emplea como acumulador, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado
  • Registro CX: Es conocido como el registro contador, se usa para realizar operaciones de conteo, interacciones con las cadenas y rotaciones.
  • 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.

  • SI: Registro de índice fuente (no se puede subdividir). Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.  El SI está asociado con el segmento DS.
  • DI: Registro de índice de destino (no se puede subdividir). Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto. El DI está asociado con el segmento ES.

Registros de Segmento
Estos 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.
  • 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.
  • Registro ES: Para algunas operaciones con cadenas de caracteres se utiliza el registro extra de segmento para manejar el direccionamiento de memoria. El ES está asociado con el  DI. Un programa que requiere el uso del ES puede inicializarlo con una dirección de segmento apropiada.

Registros Apuntadores Los registros BP y SP están asociados con el registro SS y permiten al sistema acceder a datos en el segmento de la pila.
  • Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros dentro 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.
Registros de Banderas
Es un registro de 16 bits, de los cuales nueve sirven para indicar el estado actual de la del procesador  y el resultado del procesamiento


  • Bit 0 -  CF (indicador de 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.
  • Bit 2  - PF (indicador de 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).
  • Bit 4  -   AF (indicador  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.
  • Bit 6  -  ZF (indicador de cero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero; 1=resultado igual a cero).
  • Bit 7 - SF (indicador de signo): Contiene el signo resultante de una operación aritmética (0=positivo; 1=negativo).
  • Bit  5 - TF (indicador de trampa): Permite la operación del procesador en modo de depuración (paso a paso)
  • Bit 9 -  IF (indicador de 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.
  • Bit 10 - DF (indicador de dirección): Controla la selección de incremento o decremento de los registros SI y DI en las operaciones con cadenas de caracteres.
  • Bit 11  -  OF (indicador de 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).
Registró Puntero De Instrucciones (IP)
El registro IP, puntero de instrucciones, apunta  o señala la próxima instrucción a ejecutarse en el programa.










lunes, 18 de noviembre de 2013

CONTADOR DIGITAL 7490 MODULO 2, 3, 4, 5, 6, 7, 8, 9 y 10

Ahora mostraremos las diferentes configuraciones deseables con el contador 7490 o contadores de diferentes módulos. debemos saber que el 7490 es un contador asíncrono y decimal pues puede contar de 0 a 9 en código BCD los cuales pueden ser mostrados en un display haciendo uso de un decodificador de binario a 7 segmentos. También haremos uso de un generador de pulsos elaborado con un 555 en configuración astable.


IMPORTANTE

  •  Recordar que el contador 7490 tiene una compuerta nand interno que tiene como entrada los pines 2 y 3 del contador 7090 y su salida al reset de los FLIP FLOP JK internos, por lo tanto para resetear el contador necesariamente los valores de entrada de los pines 2 y 3 deben ser valores altos a la vez (1 logico).



CONTADOR MODULO 2
Este contador de modulo 2 solo cuenta de 0 a 1 y se reinicia, pues se ha conectado el pin 9 a los pines  2 y 3 de contador 7490 respectivamente haciendo que al momento de querer cambiar al numero 2 este se resetee inmediatamente, reiniciando el conteo. 
Contador modulo 2


 CONTADOR DIGITAL MODULO 3.
Este contador de modulo  cuenta de 0 a 2 y se reinicia, pues se ha conectado los pines  9 y 12  a los pines 2 y 3 de contador 7490 respectivamente,  haciendo que al momento de  cambiar al numero 3 este se resetee inmediatamente, reiniciando el conteo.



Contador modulo 3


CONTADOR DIGITAL MODULO 4.


Este contador de modulo  cuenta de 0 a 3 y se reinicia, pues se ha conectado  el pin 8  a los pines  2 y 3 de contador 7490 respectivamente,  haciendo que al momento de  cambiar al numero 4 este se resetee inmediatamente, reiniciando el conteo.
Contador modulo 4

CONTADOR DIGITAL MODULO 5.
Este contador de modulo  cuenta de 0 a 4 y se reinicia, pues se ha conectado los pines 8 y 12 a los pines  2 y 3 de contador 7490 respectivamente,  haciendo que al momento de  cambiar al numero 5 este se resetee, reiniciando el conteo.
Contador modulo 5

CONTADOR DIGITAL MODULO 6.
Este contador de modulo  cuenta de 0 a 5 y se reinicia, pues se ha conectado los pines 8 y 9 a los pines  2 y 3 de contador 7490 respectivamente,  haciendo que al momento de  cambiar al numero 6 este se resetee  inmediatamente, reiniciando el conteo.
Contador modulo 6

CONTADOR DIGITAL MODULO 7.
Este contador de modulo  cuenta de 0 a 6 y se reinicia, para este circuito se hace uso de una compuerta nand 7408 para resetear el contado, se ha conectado los pines 8 y 9 a los pines  2 y 1 de la compuerta nand y el pin 3 de la compuerta nad va conectado al pin 2 de contador 7490 como también se conectaron los pines 12 y 3 del contador 7490,  haciendo que al momento de  cambiar al numero 7 este se resetee inmediatamente, reiniciando el conteo.

CONTADOR DIGITAL MODULO 8.
Este contador de modulo  cuenta de 0 a 7 y se reinicia, pues se ha conectado el pin 11 a los pines  2 y 3 del contador 7490,  haciendo que al momento de  cambiar al numero 7 este se resetee inmediatamente, reiniciando el conteo.

CONTADOR DIGITAL MODULO 9
Este contador de modulo  cuenta de 0 a 8 y se reinicia, pues se ha conectado los pines 11 y 12 a los pines  2 y 3 de contador 7490 respectivamente,  haciendo que al momento de  cambiar al numero 9 este se resetee inmediatamente, reiniciando el conteo.

CONTADOR DIGITAL MODULO 10.
Este contador de modulo 10 que ya es conocido  cuenta de 0 a 9 y se resetea de manera automática reiniciando el conteo. Los pines 2 y 3 se conectan a tierra.


Materiales para el contador digital
  • contador 7490
  • decodificador 7447
  • un led
  • 2 resistencias de 510
  • compuerta and 7808
  • generador de pulsos
  • fuente de alimentacion de 5 voltios
  • display catodo comun

RELOJ DIGITAL CON CONTADOR 7490 Y DECODIFICADOR 7447

El reloj digital esta realizado 

Materiales para el reloj digital

  • U1, U2, U3, U4, U5 y U6         contador 7490.
  • U7, U8, U9, U10, U11 y U12. decodificador 7447.
  • 2 compuertas lógicas 7408.
  • 6 resistencias de 510 Ω.
  • 6 display ánodo común.
  • generador de pulsos
  • fuente de 5 voltios