Acceso Directo a Memoria y Procesadores de E/S de la UCM

Diapositivas de la Universidad Complutense de Madrid sobre Acceso Directo a Memoria (DMA) y Procesadores de E/S. El Pdf, una presentación de Informática para Universidad, explora la necesidad y el funcionamiento del DMA, incluyendo el controlador i82C37 y la evolución de los procesadores de E/S.

Ver más

12 páginas

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Estructura y Tecnología de Computadores

Módulo E. El subsistema de E/S

Tema 9. Acceso directo a memoria (DMA) y procesadores de E/S Jose Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid

Contenidos del Acceso Directo a Memoria

Acceso directo a memoria

  • Necesidad del DMA. El controlador de DMA. Etapas de una transferencia por DMA. Tipos de transferencias: por ráfaga y por robo de ciclo.

El controlador de DMA

  • Estructura. Registros del DMAC. Señales de control del periférico. Funcionamiento de una transferencia. Controlador DMA de varios canales.

Ejemplo de Controlador DMA

  • Controlador de DMA i82C37.

Procesadores de E/S

  • Función. Esquema típico de conexión. Tipos de procesadores de E/S: multiplexor, selector y multiplexor por bloques. Evolución de los procesadores de E/S.

estructura y tecnología de computadores3

Acceso Directo a Memoria: Necesidad de DMA

X La E/S con espera de respuesta o por interrupciones resulta inadecuada para periféricos de alta velocidad, sobre todo si hay que transferir una gran cantidad de datos

x Ejemplo periférico lento

  • Procesador a 200 MHz (tiempo ciclo = 5 ns .; Ciclo medio por instrucción: CPI = 2 ciclos Una instrucción tarda en promedio 2 x 5 ns = 10 ns = el computador puede ejecutar ~100 MIPS
  • Queremos imprimir un fichero de 10 Kbytes en una impresora laser de 20 páginas por minuto
  • 1 página £ 3.000 caracteres (1 carácter = 1 byte) La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/s

E/S con espera de respuesta

  • La CPU entra en un bucle y envía un nuevo byte cada vez que la impresora está preparado para recibirlo La impresora tarda 10 s en imprimir 10 Kbyte La CPU está ocupada con la operación de E/S durante 10 s (en ese tiempo la CPU podría haber ejecutado 1000 millones de instrucciones)

E/S por interrupciones

  • La impresora genera una interrupción cada vez que está preparada para recibir un nuevo byte Suponemos que la RTI tiene 10 instrucciones (salvar contexto, comprobar estado, transferir byte, restaurar contexto, RTE) Para transferir 10 Kbyte tenemos que ejecutar 10.000 veces la RTI = hay ejecutar 100.000 instrucciones para atender al periférico = la CPU tarda 0,001 s La CPU está ocupada con la operación de E/S durante 0,001 s

Conclusión de E/S

  • La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU está ocupada gestionando la impresora

estructura y tecnología de computadores 4

Necesidad de DMA (cont.)

X Ejemplo periférico rápido

  • Procesador a 200 MHz (tiempo ciclo = 5 ns .; Ciclo medio por instrucción: CPI = 2 ciclos
  • Una instrucción tarda en promedio 2 x 5 ns = 10 ns = el computador puede ejecutar ~100 MIPS
  • Disco con velocidad de transferencia de 10 Mbytes/s (1 byte cada 2*107 seg)
  • Queremos transferir un fichero de memoria a disco de 10 Mbytes

E/S con espera de respuesta en periférico rápido

  • La CPU entra en un bucle y envía un nuevo byte cada vez que el disco está preparado para recibirlo El disco tarda 1 seg en recibir un fichero de 10 Mbyte La CPU está ocupada con la operación de E/S durante 1 s (en ese tiempo la CPU podría haber ejecutado 200 millones de instrucciones)

E/S por interrupciones en periférico rápido

  • El disco genera una interrupción cada vez que está preparado para recibir un nuevo byte
  • Suponemos que la RTI tiene 10 instrucciones (salvar contexto, comprobar estado, transferir byte, restaurar contexto, RTE) Para transferir 10 Mbytes tenemos que ejecutar 107 veces la RTI = hay ejecutar 100 millones de instrucciones para atender al periférico = la CPU tarda 1 s La CPU está ocupada con la operación de E/S durante 1 s

Conclusión de E/S en periférico rápido

  • La E/S por interrupciones no mejora el tiempo que la CPU está ocupada en atender al periférico La técnica de DMA permite la transferencia de datos entre un periférico y la memoria sin intervención de la CPU (salvo en la fase de inicialización de los parámetros de la transferencia)

estructura y tecnología de computadores5

El controlador de DMA (DMAC)

[X> El controlador de DMA es un dispositivo capaz de controlar una transferencia de datos entre un periférico y memoria sin intervencion de la CPU

CPU Memoria DMAC E/S Bus Datos Bus Direcciones .. Bus Control

EI DMAC debe actuar como master del bus durante la transferencia DMA y debe ser capaz de

  • Solicitar el uso del bus mediante las señales y la lógica de arbitraje necesarias
  • Especificar la dirección de memoria sobre la que se realiza la transferencia
  • Generar las señales de control del bus Tipo de operación (lectura/escritura) Señales de sincronización de la transferencia

estructura y tecnología de computadores 6

Etapas de una transferencia por DMA

[X> Inicialización de la transferencia

  • La CPU debe enviar al interfaz del periférico y al DMAC los parámetros de la transferencia Inicialización del interfaz (Bus master: CPU - Bus slave: Interfaz ) Nº de bytes a transferir Tipo de transferencia (lectura/escritura) Otra información de control (pista, sector, etc.) Inicialización del controlador DMA (Bus master: CPU - Bus slave: DMAC) Nº de bytes o palabras a transferir Tipo de transferencia (lectura/escritura) Dirección de memoria inicial para la transferencia Nº de canal (para DMAs con varios canales)
  • Después de la inicialización la CPU retorna a sus tareas y ya no se preocupa más de la evolución de la transferencia

X Realización de la transferencia

  • Cuando el periférico está listo para realizar la transferencia se lo indica al DMAC
  • EI DMAC pide el control del bus y se realiza la transferencia entre el periférico y la memoria Bus master: DMAC + Periferico - Bus slave: Memoria Después de la transferencia de cada palabra se actualizan los registros del DMA Nº de bytes o palabras a transferir v Dirección de memoria

X Finalización de la transferencia

  • EI DMAC libera el bus y devuelve el control a la CPU
  • EI DMAC suele activar una señal de interrupción para indicar a la CPU la finalización de la operación de E/S solicitada

estructura y tecnología de computadores7

Tipos de transferencias DMA

x Problema que puede presentar el DMA

  • Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus Si el bus está ocupado en una transferencia DMA, la CPU no puede acceder a la memoria para leer instruc.
  • Este problema se reduce con el uso de memoria cache La mayor parte del tiempo, la CPU lee instruc. de la cache, por lo que no necesita usar el bus de memoria EI DMAC puede aprovechar estos intervalos en los que la CPU está leyendo instrucciones de la cache (y por tanto no usa el bus de memoria) para realizar las transferencias
  • En caso de computadores sin cache El procesador no utiliza el bus en todas las fases de la ejecución de una instrucción El DMAC puede aprovechar las fases de ejecución de una instrucción en las que la CPU no utiliza el bus para realizar sus transferencias

acceso de CPU a memoria o E/S USO DEL BUS Lectura de instrucción Lectura de operando Escritura de resultado operación interna a la CPU NO USO DEL BUS Cálculo de EA de instrucción Decodificación de instrucción Cálculo de EA de operando Operación Calculo de EA de resultado

X Conclusión

  • Si el DMAC sólo toma el control del bus durante los intervalos de tiempo en los que la CPU no hace uso del mismo = el rendimiento del sistema no sufrirá degradación alguna
  • Se distinguen, por tanto, dos tipos de transferencias
  • Por ráfagas (burst)
  • Por robo de ciclo (cycle-stealing)

estructura y tecnología de computadores 8

Tipos de transferencias (cont.)

Transferencia DMA modo ráfaga

  • EI DMAC solicita el control del bus a la CPU
  • Cuando la CPU concede el bus el DMAC no lo libera hasta haber finalizado la transferencia de todo el bloque de datos completo
  • VENTAJAS: La transferencia se realiza de forma rápida
  • DESVENTAJAS: Durante el tiempo que dura la transferencia la CPU no puede utilizar el bus con memoria, lo que puede degradar el rendimiento del sistema

Transferencia DMA modo robo de ciclo

  • EI DMAC solicita el control del bus a la CPU
  • Cuando la CPU concede el bus al DMAC, se realiza la transferencia de una única palabra y despues el DMAC libera el bus
  • EI DMAC vuelve a solicitar el control del bus tantas veces como sea necesario hasta haber finalizado la transferencia del bloque completo
  • La CPU cede el control del bus durante los ciclos que hace uso del mismo
  • VENTAJAS: No se degrada el rendimiento del sistema
  • DESVENTAJAS: La transferencia tarda más tiempo en llevarse a cabo

estructura y tecnología de computadores

Estructura hardware de un DMAC

CPU Datos Bus datos Direcciones Bus direcc. INTR* Sincroniz. Bus control Arbitraje R/W* DMAC Reg. dir. memoria Lógica de descodific. 4 Reg. Nº palabras E/S Memoria y control Reg. sentido DMA-REQ DMA-ACK R/W*10

Registros del DMAC

  • Reg. dir. memoria: almacena la dir. inicial de memoria y se incrementa/decrementa después de transferir cada palabra
  • Reg. Nº palabras: almacena el número de palabras a transferir y se decrementa después de transferir cada palabra
  • Reg. sentido: almacena el sentido de la transferencia (lectura o escritura)

estructura y tecnología de computadores 10

Señales de control del periférico

× DMA-REQ: solicitud de servicio DMA

  • La activa el periférico para indicar al DMAC que está listo para transmitir/recibir

X DMA-ACK: Concesion del servicio DMA

  • La activa el DMAC para indicar al periférico que puede realizar la transferencia
  • Antes de activar esta señal el DMAC debe estar en posesión del bus

R/W *- IO: Sentido de la transferencia para el periférico

  • El periférico no puede utilizar la misma señal de R/W* que la memoria, ya que la transferencia tiene sentidos opuestos desde el punto de vista de uno y otro dispositivo
  • Operación DMA de lectura (memoria - periférico ) Para la memoria es una lectura: R/W* = 1 Para el periférico es una escritura: R/W *- IO = 0
  • Operación DMA de escritura (periférico -+ memoria ) Para la memoria es una escritura: R/W* = 0 Para el periférico es una lectura: R/W *- IO = 1

Esquema de conexión de R/W* y R/W *- IO

R/W* DMA-ACK R/W* R/W *- 10 Operación de E/S normal CPU 0 0 0 R/W 0 1 1 Operación de E/S DMA DMA-ACK DMA-REQ E/S Mem. 1 1 0 controlada por DMA R/W *- 10 = NOT (R/W*) estructura y tecnología de computadores 1 0 1 (controlada por la CPU) R/W *- 10 = R/W* R/W *- IQ

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.