Saltar al contenido principal
LibreTexts Español

4.3: Acceso Directo a Memoria (DMA)

  • Page ID
    154364
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Introducción

    Esta sección presenta a los alumnos la E/S programada DMA que proporciona acceso al microprocesador entre dispositivos que operan a diferentes velocidades

    Detalles de la actividad

    Acceso directo a memoria y E/S controladas por DMA

    La técnica de E/S DMA se utiliza en sistemas de computadoras personales, incluidos aquellos que utilizan la familia de microprocesadores Intel. La técnica de E/S de acceso directo a memoria (DMA) proporciona acceso directo a la memoria mientras el microprocesador está temporalmente deshabilitado. Un controlador DMA toma prestado temporalmente el bus de direcciones, el bus de datos y el bus de control del microprocesador y transfiere los bytes de datos directamente entre un puerto de E/S y una serie de ubicaciones de memoria. La transferencia DMA también se utiliza para realizar transferencias de memoria a memoria de alta velocidad. Se utilizan dos señales de control para solicitar y acusar recibo de una transferencia DMA en el sistema basado en microprocesador. La señal HOLD es una señal de solicitud de bus que pide al microprocesador que libere el control de los buses después del ciclo actual del bus. La señal HLDA es una señal de concesión de bus que indica que el microprocesador efectivamente ha liberado el control de sus buses al colocar los buses en sus estados de alta impedancia. La entrada HOLD tiene una prioridad más alta que las entradas de interrupción INTR o NMI.

    El hardware especial escribe en/lee de la memoria directamente (sin intervención de la CPU) y guarda el tiempo asociado con la búsqueda y decodificación del código de operación, incremento y pruebas de direcciones de origen y destino. El controlador DMA puede detener la CPU y acceder a la memoria (DMA de robo de ciclo) o usar el bus mientras la CPU no lo esté usando (DMA de ciclo oculto). El controlador DMA tiene algunas líneas de control (para hacer un apretón de manos con la CPU negociando para ser un maestro de bus y emular el comportamiento de la CPU mientras se accede a la memoria), un registro de direcciones que se incrementa automáticamente (o se decrementa automáticamente) en cada acceso a la memoria, y un contador utilizado para verificar el byte final (o palabra) contar.

    Conclusión

    Esta sección ha introducido a los alumnos al DMA y sus operaciones de sincronización de los dispositivos de E/S con el microprocesador

    Evaluación

    Describir cómo DMA ayuda en la sincronización de diferentes dispositivos en el acceso al microprocesador

    La técnica de E/S de acceso directo a memoria (DMA) proporciona acceso directo a la memoria mientras el microprocesador está temporalmente deshabilitado. Un controlador DMA toma prestado temporalmente el bus de direcciones, el bus de datos y el bus de control del microprocesador y transfiere los bytes de datos directamente entre un puerto de E/S y una serie de ubicaciones de memoria. La transferencia DMA también se utiliza para
    realizar transferencias de memoria a memoria de alta velocidad. Se utilizan dos señales de control para solicitar y acusar recibo de una transferencia DMA en el sistema basado en microprocesador. La señal HOLD es una señal de solicitud de bus que pide al microprocesador que libere el control de los buses después del ciclo actual del bus. La señal HLDA es una señal de concesión de bus que indica que el microprocesador efectivamente ha liberado el control de sus buses al colocar los buses en sus estados de alta impedancia. La entrada HOLD tiene una prioridad más alta que las entradas de interrupción INTR o NMI.


    This page titled 4.3: Acceso Directo a Memoria (DMA) is shared under a CC BY-SA license and was authored, remixed, and/or curated by Harrison Njoroge (African Virtual University) .