You are on page 1of 14

Buses del sistema

El bus se puede definir como un conjunto de lneas conductoras de hardware utilizadas para la transmisin de datos entre los componentes de un sistema informtico. Un bus es en esencia una ruta compartida que conecta diferentes partes del sistema, como el microprocesador, la controladora de unidad de disco, la memoria y los puertos de entrada/salida (E/S), para permitir la transmisin de informacin. Este mismo concepto es tambin la razn por la cual al utilizar tarjetas de ampliacin en un PC surgen problemas una y otra vez, si hay dos tarjetas que reclaman para ellas el mismo campo de direccin o campos de direccin que se solapan entre ellos.

INTERRUPCIONES

La interrupcin altera la secuencia de ejecucin de las instrucciones, las ms comunes son los siguientes: De programa o de verificacin de programa De reloj: De Entrada / Salida: Por fallo del Hardware o de verificacin de mquina: Con el uso de las interrupciones el procesador se puede utilizar de una manera ms eficaz.

Tratamiento de las interrupciones Una interrupcin lleva a una serie de sucesos, tanto en el hardware del procesador como en el software.

Interrupcin simple Cuando un dispositivo de E/S completa una operacin E/S se produce en el Hardware estas secuencias de sucesos:

El dispositivo enva una seal de interrupcin al procesador. El procesador finaliza la ejecucin de la instruccin en curso ante de responder a la interrupcin. El procesador pregunta por la interrupcin; si existe una enva una seal de reconocimiento al dispositivo que la genero, al ser reconocido el dispositivo suprime la seal de interrupcin El procesador se prepara para transferir el control a la rutina de interrupcin. Se debe salvar la informacin necesaria para abandonar la ejecucin del programa en curso en el punto de interrupcin. La mnima informacin requerida es la palabra de estado del programa (PSW) y la ubicacin de la siguiente instruccin a ejecutar, que se almacena en el contador del programa; se introducen en la pila del control del sistema Se carga el contador de programa con la ubicacin de entrada del programa de tratamiento de la interrupcin.

Existen dos enfoques:

Interrupciones Mltiples

Se inhabilitan las interrupciones mientras se est procesando una. El procesador ignora la seal de interrupcin quedando pendiente dicha interrupcin. Una vez finalizada la rutina de tratamiento de interrupcin se habilitan las interrupciones antes de comenzar el programa y el procesador comprueba si se produjo alguna interrupcin adicional, por lo que las interrupciones son tratadas en forma secuencial.
Se definen las prioridades para las interrupciones, permitiendo que una interrupcin ms alta interrumpa a la rutina de tratamiento de una interrupcin de prioridad ms baja.

Las interrupciones y el ciclo de instruccin

Utilizando interrupciones el procesador puede ejecutar instrucciones mientras una operacin de E/S est en proceso. Siguiendo esta idea se concluye que la operacin de E/S y un programa usuario son ejecutados concurrentemente. Para tratar a las interrupciones, se agrega un ciclo de interrupcin al ciclo de instruccin.

En el ciclo de interrupcin, el procesador verifica si ha ocurrido alguna interrupcin, indicado por la presencia de una seal de interrupcin. Si no hay interrupciones pendientes, el procesador contina con el ciclo de lectura y trae la prxima instruccin del programa en curso. Si hay una interrupcin pendiente, el procesador suspende la ejecucin del programa en curso y ejecuta una rutina de tratamiento de la interrupcin.

Multiprogramacin
Cuando el procesador tiene que ocuparse de varios programas, el orden de ejecucin de stos depender de la prioridad relativa de cada uno y de si estn esperando una E/S. Cuando un programa es interrumpido, el control se transfiere a la rutina de tratamiento de la interrupcin, luego de que sta haya terminado, puede que no se devuelva el control inmediatamente al programa de usuario que estaba ejecutndose en el momento de la interrupcin. Puede ser que el control se transfiera a otro programa pendiente con mayor prioridad. Y por ltimo, cuando una prioridad ms alta, se reanudar el programa de usuario que fue interrumpido.

Estructuras de interconexin

INTERCONEXION CON BUSES Un Bus es un camino de comunicacin entre dos o ms dispositivos. Una caracterstica clave de un bus es que se trata de un medio de transmisin compartido. Al bus se conectan varios dispositivos, y cualquier seal transmitida por uno de esos dispositivos est disponible para que los otros dispositivos conectados al bus puedan acceder a ella. Si dos dispositivos transmiten durante el mismo periodo de tiempo, sus seales pueden solaparse y distorsionarse. Consiguientemente, solo un dispositivo puede transmitir con xito en un momento dado. El bus que conecta los componentes principales del computador (procesador, memoria y E/S) se denomina BUS DEL SISTEMA (System Bus). Las estructuras de interconexin ms comunes dentro de un computador estn basadas en el uso de uno o ms buses del sistema.

ESTRUCTURA DEL BUS

El bus del sistema est constituido, usualmente, por entre 50 y 100 lneas. A cada lnea se le asigna un significado o una funcin particular. Aunque existen diseos de buses muy diversos, en todos ellos las lneas se pueden clasificar en tres grupos funcionales: lneas de datos, de direcciones y de control.

Las lneas de datos proporcionan un camino para transmitir datos entre los mdulos del sistema. Las lneas de direccin se utilizan para designar la fuente o el destino del dato situado en el bus de datos. Las lneas de control se utilizan para controlar el acceso y el uso de las lneas de datos y de direcciones.

Escritura en memoria: Hace que el dato del bus se escriba en la posicin direccionada. Lectura de memoria: Hace que el dato de la posicin direccionada se situ en el bus. Escritura de e/s: Hace que el dato del bus se transfiera a travs del puerto de E/S diseccionado. Lectura de e/s: Hace que el dato del puerto de E/S diseccionado se situ en el bus. Transferencia reconocida: Indica que el dato se ha aceptado o se ha situado en el bus. Peticin de bus: Indica que un mdulo necesita disponer del control del bus. Cesin de bus: Indica que se cede el control del bus a un mdulo que lo haba solicitado. Peticin de interrupcin: Indica si hay una interrupcin pendiente. Interrupcin reconocida: Seala que la interrupcin pendiente se ha aceptado. Reloj: Se utiliza para sincronizar las operaciones. Inicio: Pone los mdulos conectados en su estado inicial.

Ejercicio de aplicacin
Cuando se necesita transferir grandes cantidades de datos, el acceso directo a memoria (DMA) es ms eficiente. Esto implica la inclusin de un mdulo adicional al bus del sistema. El mdulo de DMA es capaz de sustituir a la CPU tomando control del bus.

La CPU puede continuar con otra tarea, mientras el DMA transfiere el bloque de datos, palabra a palabra. Cuando la transferencia se ha completado, el DMA interrumpe a la CPU.

El mdulo DMA necesita controlar el bus para realizar la transferencia, slo cuando la CPU no lo utiliza o suspendiendo temporalmente el funcionamiento de la CPU. Esta ltima tcnica se conoce como 'robo de ciclo'.

Existen diversas maneras de implementar el mecanismo DMA. En el primer caso, todos los mdulos comparten el mismo bus.

El DMA, que acta como una CPU subsidiaria, utiliza E/S programada para intercambiar datos entre memoria e E/S. Esta configuracin es la ms barata e ineficiente. El nmero de ciclos de bus requeridos para la transferencia disminuye integrando las funciones de DMA e E/S, mediante la existencia de conexiones entre el mdulo DMA y los E/S distintos del bus. Por ltimo, puede generalizarse este concepto utilizando un bus separado para E/S, lo que reduce el nmero de interfaces entre E/S y DMA a uno y permite una expansin fcil. En los dos ltimos casos, el bus del sistema slo es utilizado por el DMA para intercambiar datos con la memoria.

You might also like