Buses - Arquitectura de computadores

Embed Size (px)

Text of Buses - Arquitectura de computadores

  • 7/31/2019 Buses - Arquitectura de computadores

    1/48

    Entrada / Salida

    BusesArquitectura de Computadores2011-2

    Escuela de Ingeniera en Bioinformtica

  • 7/31/2019 Buses - Arquitectura de computadores

    2/48

    Recordemos

    Un sistema computacional tiene trescomponentes principales:

    CPU

    Memorias (primaria y secundaria)

    E/S (entrada y salida) o I/O (Input/

    Output)

  • 7/31/2019 Buses - Arquitectura de computadores

    3/48

    Buses

  • 7/31/2019 Buses - Arquitectura de computadores

    4/48

    Estructura de PC

    Anti uo

  • 7/31/2019 Buses - Arquitectura de computadores

    5/48

    Entrada y Salida

    Principales funciones de un SistemaOperativo al manejar E/S:

    Comunicarse con los dispositivos Manejar las interrupciones

    Manejar los errores

    Proporcionar una interfaz sencilla y fcilde usar

  • 7/31/2019 Buses - Arquitectura de computadores

    6/48

    Cada controlador est a cargo de un dispositivo especfico. El controlador se encarga de mover datos entre el dispositivo

    perifrico que controla y el buffer de almacenamiento local.

    Amplia variedad de dispositivos Entregando diferentes cantidades de datos A diferentes velocidades En formatos diferentes

    Todos ms lentos que la CPU y la Memoria Necesitan mdulos de E/S.

    Entrada y Salida

  • 7/31/2019 Buses - Arquitectura de computadores

    7/48

    Modulos de E/S

    Funciones

    Control y temporizacin

    Comunicacin con la CPU

    Comunicacin entre dispositivos

    Buffering

    Deteccin de errores.

  • 7/31/2019 Buses - Arquitectura de computadores

    8/48

    Decisiones Esconder o mostrar las propiedades de un

    dispositivo de E/S a la CPU

    Soportar uno o muchos dispositivos Controlar las funciones de un dispositivo o dejar

    que la CPU lo haga

    Decisiones del SO Ejemplo: UNIX trabaja todos los dispositivos

    como archivos

    Modulos de E/S

  • 7/31/2019 Buses - Arquitectura de computadores

    9/48

    Clasificacin de los

    dis ositivos de E/S Segn Stallings:1. Dispositivos legibles por los humanos:

    apropiados para la comunicacin con el usuario

    (mouse, teclado, monitor, impresora)

    2. Dispositivos legibles por mquina:adecuados para comunicarse con equiposelectrnicos (discos, cintas)

    3. Dispositivos de comunicaciones: apropiadospara comunicarse con dispositivos lejanos (modem,tarjeta Ethernet).

  • 7/31/2019 Buses - Arquitectura de computadores

    10/48

    Segn Tanenbaum podemos clasificarlos:1. Dispositivos de bloques:

    dispositivos que almacenan la informacinen bloques de tamao fijo (discos)

    2. Dispositivos de caracteres: manejala informacin mediante un flujo de

    caracteres sin estructurarlos en bloques(mouse, teclado, impresora)

    Clasificacin de los

    dis ositivos de E/S

  • 7/31/2019 Buses - Arquitectura de computadores

    11/48

    Principales diferencias de

    los dispositivos de E/S1. Aplicaciones (ej: disco que almacena archivos, disco quealmacena pginas de memoria virtual)

    2. Complejidad del control (ej: impresora vs. disco)

    3. Unidad de transferencia (bytes o bloques)

    4. Representacin de los errores (check sum,codificacin)

    5. Condiciones de error (cmo y qu se informa)

    6. Velocidad de los datos (diferencia en varios rdenes demagnitud)

  • 7/31/2019 Buses - Arquitectura de computadores

    12/48

    Velocidades de datos

    de los dis ositivos

    1010 1011 1012

  • 7/31/2019 Buses - Arquitectura de computadores

    13/48

    Velocidades de datos

    de los dis ositivos

  • 7/31/2019 Buses - Arquitectura de computadores

    14/48

    Tcnicas de Entrada/

    Salida Son posibles tres tcnicas para las

    operaciones de E/S

    E/S Programada

    E/S mediante interrupciones

    Por acceso directo a memoria (DMA)

  • 7/31/2019 Buses - Arquitectura de computadores

    15/48

    Entrada y salida

    ro ramada Los datos se intercambian entre la CPU y

    el mdulo de E/S.

    La CPU ejecuta un programa que controladirectamente la operacin de E/S,

    incluyendo la comprobacin del estado del

    dispositivo, el envo de la orden de lectura

    o escritura y la transferencia del dato.

  • 7/31/2019 Buses - Arquitectura de computadores

    16/48

    Cuando la CPU enva la orden debeesperar hasta que la operacin de E/S

    concluya.

    Si la CPU es ms rpido, sta estar ocioso.

    La CPU es la responsable de comprobarperidicamente el estado del mdulo de

    E/S hasta que encuentre que la operacinha finalizado.

    Entrada y salida

    ro ramada

  • 7/31/2019 Buses - Arquitectura de computadores

    17/48

    E/S programada: El dispositivo E/S realiza

    la accin (no la CPU)

    colocando los bitsnecesarios en susregistros de status.

    No hay interrupciones.

    La CPU chequea los bitsde status continuamente.

    Entrada y salida

    ro ramada

  • 7/31/2019 Buses - Arquitectura de computadores

    18/48

    E/S mediante

    interru ciones Una alternativa es que la CPU tras enviar una

    orden de E/S contine realizando algn trabajo

    til.

    El mdulo de E/S interrumpir al CPU parasolicitar su servicio cuando est preparadopara intercambiar datos.

    El CPU ejecuta la transferencia de datos ydespus continua con el procesamiento previo.

  • 7/31/2019 Buses - Arquitectura de computadores

    19/48

    E/S mediante

    interru ciones Dos tipos: E/S Sncrona.

    Cuando la operacin de E/S finaliza, elcontrol es retornado al proceso que lagener.

    E/S Asncrona.

    Retorna al programa usuario sin esperarque la operacin de E/S finalice

  • 7/31/2019 Buses - Arquitectura de computadores

    20/48

    Inicio de la Operacin de E/S Para iniciar una operacin de E/S, la CPU actualiza los

    registros necesarios en el mdulo de E/S.

    El mdulo de E/S examina el contenido de estosregistros para determinar el tipo de accin a serllevada a cabo. Por ejemplo, si encuentra unrequerimiento de lectura, el mdulo de E/S empezara transferir data desde el dispositivo a los buffers

    locales. Una vez terminada la transferencia, el mduloinforma al CPU que la operacin ha terminado pormedio de una interrupcin.

    E/S mediante

    interru ciones

  • 7/31/2019 Buses - Arquitectura de computadores

    21/48

    Procesamiento de la Interrupcin El dispositivo enva una seal de interrupcin al procesador El procesador termina la ejecucin de la instruccin en curso

    antes de responder a la interrupcin.

    El procesador comprueba si hay alguna interrupcin. Si hayalguna, enva una seal de reconocimiento al dispositivo que laorigin

    El procesador debe prepararse para transferir el control a larutina de interrupcin. Debe guardar la informacin necesaria

    para continuar con el proceso en curso en el punto en que seinterrumpi. Guarda en la pila del sistema el contenido de losregistros, etc.

    E/S mediante

    interru ciones

  • 7/31/2019 Buses - Arquitectura de computadores

    22/48

    Procesamiento de la Interrupcin

    El procesador carga en el PC la direccin de inicio delprograma de gestin o servicio de interrupcinsolicitada.

    Una vez modificado el PC, el procesador contina conel ciclo de instruccin siguiente. Es decir, se transfiereel control a la rutina servidora de la interrupcin.

    Cuando finaliza el servicio de la interrupcin, serestauran los valores de los registros.

    E/S mediante

    interru ciones

  • 7/31/2019 Buses - Arquitectura de computadores

    23/48

    La CPU es interrumpidacuando el dispositivo E/Sest listo paraintercambiar datos

    La CPU esta libre entrela solicitud de datos einterrupcin

    No hay necesidad deesperar

    Consume mucha CPU yaque cada byte ledo/escrito pasa por la CPUdesde/hacia la memoria

    E/S mediante interrupciones

  • 7/31/2019 Buses - Arquitectura de computadores

    24/48

    Pasos de una interrupcin deE/S cuando se termina una tarea

  • 7/31/2019 Buses - Arquitectura de computadores

    25/48

    Tabla de Estado de

    Dis ositivos Cuando la CPU recibe una interrupcin que indica que se

    ha finalizado una operacin de E/S, el sistema deoperacin debe saber a cul proceso pertenece.

    Para esto se mantiene una tabla de estado de dispositivos. Cada entrada en la tabla contiene el tipo de dispositivo, su

    direccin y su estado (ocioso, ocupado, no funcionando).

    Si es dispositivo se encuentra ocupado, entonces el tipode solicitud junto con otros parmetros son almacenadosen la tabla (lista).

  • 7/31/2019 Buses - Arquitectura de computadores

    26/48

    DMA (Direct Memory

    Access La E/S programada y la E/S manejada por

    interrupciones requieren intervencin

    activa de la CPU:

    La tasa de transferencia es limitada

    El CPU se ocupa demasiado tiempo entransferir datos.

    SOLUCION = DMA

  • 7/31/2019 Buses - Arquitectura de computadores

    27/48

    Mdulo adicional en el bus (hardware) El controlador de DMA maneja laE/S en vez de la CPU.

    El CPU le indica al controlador de DMA Lectura o Escritura

    Direccin del dispositivo

    Direccin inicial del bloque de memoria o datos Cantidad de datos a ser transferidos La CPU puede ponerse a hacer otro trabajo

    El controlador DMA trata la transferencia

    El controlador DMA emite una interrupcin cuandotermina,

    DMA (Direct Memory

    Access

  • 7/31/2019 Buses - Arquitectura de computadores

    28/48

    Transfiere un bloquede datos directamentehacia/desde la memoria

    Se enva unainterrupcin cuandolos datos fuerontransferidos

    La CPU slo participa

    al inicio y al final de laaccin

    DMA (Direct Memory

    Access

  • 7/31/2019 Buses - Arquitectura de computadores

    29/48

    DMA (Direct Memory

    Access

  • 7/31/2019 Buses - Arquitectura de computadores

    30/48

    DMA Con UN solo BUS

    DMA (Direct Memory

    Access

  • 7/31/2019 Buses - Arquitectura de computadores

    31/48

    Un solo Bus controlador de DMAIntegrado

    DMA (Direct Memory

    Access

  • 7/31/2019 Buses - Arquitectura de computadores

    32/48

    Con Bus Independiente

    DMA (Direct Memory

    Access

  • 7/31/2019 Buses - Arquitectura de computadores

    33/48

  • 7/31/2019 Buses - Arquitectura de computadores

    34/48

    Buses de un

    Com utador Un bus es un camino elctrico entre varios

    dispositivos.

    Pueden transportar datos internamente enel CPU o en comunicacin con el exterior.

    Se clasifican segn su funcionalidad,

    comunicacin con memoria y dispositivosde E/S.

  • 7/31/2019 Buses - Arquitectura de computadores

    35/48

    Buses de un

    Com utador

  • 7/31/2019 Buses - Arquitectura de computadores

    36/48

    Ancho de un bus

    Es el parmetro ms obvio, mientras mslneas de direccin tenga un bus, ms

    memoria podr direccionar la CPUdirectamente.

    Si un bus tiene n lneas de direccin, unaCPU podr usarlo para direccionar 2n

    localidades de memoria distintas.

  • 7/31/2019 Buses - Arquitectura de computadores

    37/48

    Mdulos de un

    Com utador

  • 7/31/2019 Buses - Arquitectura de computadores

    38/48

    Tipos de transferencias

    Memoria a Procesador El procesador lee una instruccin o un dato desde la memoria.

    Procesador a Memoria El procesador escribe un dato en la memoria.

    E/S a Procesador El Procesador lee datos de un dispositivo de E/S a travs de un mdulo de

    E/S

    Procesador a E/S El Procesador enva datos al dispositivo de E/S.

    Memoria a E/S y viceversa Mdulos intercambian datos con la Memoria utilizando el acceso directo amemoria (DMA).

  • 7/31/2019 Buses - Arquitectura de computadores

    39/48

    Esquema de

    Interconexin

  • 7/31/2019 Buses - Arquitectura de computadores

    40/48

    Esquema de

    Interconexin Fsica

  • 7/31/2019 Buses - Arquitectura de computadores

    41/48

    Funcionamiento del Bus

    Si un mdulo desea enviar un dato a otro mdulo1. Obtener el uso del bus

    2. Transferir el dato a travs del bus.

    Si un mdulo desea pedir un dato a otro mdulo1. Obtener el uso del bus

    2. Transferir la peticin al otro mdulo mediantelas lneas de control y direccin apropiadas

  • 7/31/2019 Buses - Arquitectura de computadores

    42/48

    Jerarqua de Buses

    Mlti les

  • 7/31/2019 Buses - Arquitectura de computadores

    43/48

    Jerarqua de Buses

    Mlti les

  • 7/31/2019 Buses - Arquitectura de computadores

    44/48

    Elementos de Diseo

    de un Bus

  • 7/31/2019 Buses - Arquitectura de computadores

    45/48

    Diagrama de

    Tem orizacin Sncrona

  • 7/31/2019 Buses - Arquitectura de computadores

    46/48

    Diagrama de Temporizacin

    Sncrona - Lectura

  • 7/31/2019 Buses - Arquitectura de computadores

    47/48

    Diagrama de Temporizacin

    Sncrona - Escritura

  • 7/31/2019 Buses - Arquitectura de computadores

    48/48

    Entrada / SalidaBuses

    Arquitectura de Computadores2011-2

    Escuela de Ingeniera en Bioinformtica