 LECCION 3:
 ----------

    
      ASM POR AESOFT. (leccin 3).
      ---------------------------

     - CHIPS DE APOYO (Ampliacin de la leccin 1).
      --------------------------------------------------------------------

    Hola a todos los seguidores del curso de ensamblador de AESOFT.

    A peticin de algunos lectores de este curso, incluir en esta
    leccin una ampliacin de la primera. Ms concretamente, desarrollar
    un poco ms el tema de los chips de apoyo (inteligentes, porgramables, etc.)
    que toqu tan ligeramente.
    Aunque an no es el momento de estudiarlos por separado, y por tanto
    en profundidad, dar una relacin de ellos, y qu funcin realizan.

    Bueno, menos rollo y al grano:


-   CHIPS DE APOYO (Ampliacin de la leccin 1):
    --------------------------------------------
    Ya vimos en la primera leccin qu se entenda por chips de apoyo, soporte,
    etc. Tambin llamados controladores, ya que controlan una parte del hardware
    para ir aligerando el trabajo de la CPU. De esta forma la CPU tiene ms
    tiempo para la ejecucin del programa correspondiente.
    En muchos casos, estos chips son programables.
    Por supuesto, estos chips pueden ser programados por el programador en
    ensamblador (valga la redundancia), con lo cual no trabajan por su cuenta,
    sino que aceptan las instrucciones que les hacen funcionar a travs de
    la CPU.

    A continuacin se da una relacin de los diferentes chips de apoyo o
    controladores del Pc:

    - El controlador programable de interrupciones (chip 8259)
    En un Pc, una de las tareas esenciales de la CPU consiste en responder a
    las interrupciones del hardware. Una interrupcin del hardware es una
    seal generada por un componente del ordenador que indica que ese
    componente requiere la atencin del procesador.
    Por ejemplo el reloj del sistema, el teclado, y los controladores de
    disco, generan interrupciones de hardware en un momento dado para que
    se lleve a cabo su tarea. En ese momento, la CPU responde a cada
    interrupcin, llevando a cabo la actividad de hardware apropiada, ejecutando
    lo que se llama rutina de atencin a la interrupcin, que es una porcin
    de cdigo que se ejecuta como respuesta a una peticin de interrupcin.

---
    Tomemos como ejemplo el teclado. (Puede ser conveniente leer antes el
    apartado 'Interrupciones', que viene desarrollado ms abajo).

    El usuario pulsa una tecla.
    Inmediatamente, la circuitera digital del perifrico detecta la pulsacin
    de la tecla y almacena su "cdigo de rastreo" (toda tecla tiene asociado
    un cdigo de 8 bits denominado scan code) en un registro reservado para
    tal fin, llamado puerto de teclado. (Ms adelante, al hablar de puertos,
    se ampla la informacin).
    Entonces, el teclado activa una lnea de peticin de interrupcin, ms
    concretamente, la lnea IR1 del 8259. (IR son las siglas de Interrupt
    Request, o peticin de interrupcin. Tambin se puede decir IRQ, que es
    a lo que estamos ms acostumbrados, sobre todo cuando instalamos una
    tarjeta de sonido o algo por el estilo).
    A continuacin, el 8259 activa el pin INTR de la CPU. (El pin INTR se activa
    cada vez que se produce una peticin de interrupcin, es una lnea externa
    que comunica al Procesador con el exterior).
    Por ltimo, y resumiendo mucho, la CPU termina la instruccin en curso,
    y ejecuta la rutina de atencin a la interrupcin.
    Al terminar de ejecutar esta rutina, el control vuelve a la siguiente
    instruccin por donde se haba quedado en el programa en curso.
    Todos los registros deben tener el valor que tenan antes de ejecutar
    dicha rutina.
---
    El controlador programable de interrupciones se llama a menudo por sus
    siglas: PIC.

    - El controlador DMA (chip 8237).
    Algunas partes del ordenador son capaces de transferir datos hacia y desde
    la memoria, sin pasar a travs de los registros de la CPU.
    Esta operacin se denomina acceso directo a memoria o DMA (Direct Memory
    Access), y la lleva a cabo un controlador conocido como controlador DMA.
    El propsito principal de dicho controlador, es el de permitir a las
    unidades de disco leer y escribir datos prescindiendo de pasar por los
    registros del microprocesador. De esta forma, las transferencias de datos
    se hacen ms rpidas.
    Pero esto es slo en teora, ya que con los modernos procesadores que
    cuentan con una frecuencia de proceso varias veces ms rpida que la del
    bus, el controlador DMA, apenas ofrece ninguna ventaja.

    - El Interface de periferia (chip 8255).
    El interface de periferia crea una conexin entre la CPU y los dispositivos
    perifricos como el teclado y el altavoz. Acta como una especie de
    intermediario utilizado por la CPU para comunicar determinadas seales
    al dispositivo deseado.

    - El generador de reloj (chip 8248).
    Este generador siministra las seales de reloj que coordinan el
    microprocesador y los perifricos. Produce una seal oscilante de alta
    frecuencia. Por ejemplo, en el IBM PC original esta frecuencia era de
    14,31818 megahercios o millones de ciclos por segundo. No hay que confundir
    esta frecuencia con la frecuencia del procesador.
    Otros chips que necesitan una seal de tiempo regular, la obtienen del
    generador de reloj, dividiendo la frecuencia base por una constante para
    obtener la frecuencia que necesitan para realizar sus tareas.
    Por ejemplo, el 8088 del IBM PC, funcionaba a 4,77 MHz, una tercera parte
    de la frecuencia base. El bus interno del IBM PC y el temporizador utilizan
    una frecuencia de 1,193 MHz, es decir, un cuarto del ratio del 8088 y
    una doceava parte del ratio base.

    - El temporizador o timer (chip 8253).
    Este chip genera seales de tiempo a intervales regulares controlados por
    software. Esto es, que podemos cambiar la frecuencia de estos intervalos
    por medio de un programa.
    El timer dispone de varias lneas de salida, funcionando cada una con
    una frecuencia independiente a las otras, y conectadas cada una a otros
    componentes del sistema.
    Una funcin esencial del contador es la de generar un tic-tac de reloj
    que mantenga actualizada la hora del da. Otra de las seales producidas
    por el contador puede ser utilizada para controlar la frecuencia de los
    tonos producidos por el altavoz del ordenador.

    - El controlador de vdeo (chip 6845).
    El controlador de vdeo, al contrario del resto de chips de apoyo
    presentados hasta ahora, no se encuentra en la placa madre del PC, sino
    que est depositado en una tarjeta de video colocada en una ranura de
    ampliacin.
    Es el corazn de las tarjetas de video CGA, EGA, VGA, etc.

    - Controladores de entrada/salida.
    Los PCs tienen varios subsistemas de entrada/salida con circuitera de
    control especializada que proporciona un interfaz entre la CPU y el
    hardware de E/S. Por ejemplo, el teclado tiene un chip controlador propio
    que transforma las seales elctricas producidas por las pulsaciones de
    teclas en un cdigo de 8 bits que representa la tecla pulsada. Todas las
    unidades de disco disponen de circuitera independiente que controla
    directamente la unidad. La CPU se comunica con el controlador a travs
    de un interfaz. Los puertos serie y paralelo tambin disponen de sus
    propios controladores de entrada/salida.

    - Los coprocesadores matemticos (8087/80287/80387).
    Son utilizados en caso de estar disponibles en el ordenador, para trabajar
    con nmeros en coma flotante y coma real, cosa que el 8086 no puede hacer.


    Todos estos chips, se conectan entre s, a travs del BUS, que ya sabemos
    en qu consiste.



    Esto es todo por ahora.
    Un saludo.
    AESOFT....
