Diseño de Interfaz de Propósito General 8088

19
Asignación Parcial 4 Arquitectura de Computadoras I-2015 Asignación Parcial 4 Leoncio Gómez Prof. Luis Llave Sección: 71 19 de agosto de 2015 Índice I. Desarrollo 2 I. Diseño de Interfaz de Propósito General ............................. 2 II. Configuración del 8251A ...................................... 10 II.1. Formatos de Instrucción .................................. 10 III. Programación del USART 8251A ................................. 15 IV. Pipeline Superescalar ........................................ 16 Índice de figuras 1. Diagrama Circuital del 74244 (Entradas) ............................. 3 2. Diagrama Circuital del 74373(Salidas) .............................. 3 3. Diagrama Circuital del 74138 (Decodificador) .......................... 3 4. Diagrama Circuital del 8251 (USART) .............................. 4 5. Interfaz de Propósito General ................................... 5 7. Selección de dispositivo en función de Bus de Dirección ................... 6 6. Detalle de la Interfaz de Propósito General (LEDS y DISPLAYS 7 SEGMENTOS) ..... 7 8. Selección de Switches ........................................ 8 9. Selección de Leds .......................................... 8 10. Selección de Display 1 ....................................... 9 11. Selección de Display 2 ....................................... 9 12. Formato de Palabra de Comando ................................. 11 13. Formato de Palabra de Modo Asíncrono ............................ 12 14. Formato de Palabra de Modo Síncrono ............................. 13 15. Formato de Palabra de Estado .................................. 14 16. Diagrama de Pipeline PENTIUM III ............................... 16 17. Diagrama de Pipeline PENTIUM IV ............................... 17 18. Configuración de Pines del 8237 ................................. 19 Índice de tablas 1. Habilitación de Periféricos en función de Dirección ...................... 6 2. Valores de Señales de Control para la Programación del 8251A ............... 10 3. Diagrama del recorrido de instrucciones por el Pipeline PENTIUM III ........... 17 1

description

Resolución de diseño de interfaz de propósito general para la arquitectura 8088

Transcript of Diseño de Interfaz de Propósito General 8088

Page 1: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Asignación Parcial 4

Leoncio Gómez

Prof. Luis LlaveSección: 71

19 de agosto de 2015

Índice

I. Desarrollo 2I. Diseño de Interfaz de Propósito General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2II. Configuración del 8251A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

II.1. Formatos de Instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10III. Programación del USART 8251A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15IV. Pipeline Superescalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Índice de figuras

1. Diagrama Circuital del 74244 (Entradas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32. Diagrama Circuital del 74373(Salidas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33. Diagrama Circuital del 74138 (Decodificador) . . . . . . . . . . . . . . . . . . . . . . . . . . 34. Diagrama Circuital del 8251 (USART) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45. Interfaz de Propósito General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57. Selección de dispositivo en función de Bus de Dirección . . . . . . . . . . . . . . . . . . . 66. Detalle de la Interfaz de Propósito General (LEDS y DISPLAYS 7 SEGMENTOS) . . . . . 78. Selección de Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89. Selección de Leds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810. Selección de Display 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911. Selección de Display 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912. Formato de Palabra de Comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113. Formato de Palabra de Modo Asíncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214. Formato de Palabra de Modo Síncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315. Formato de Palabra de Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416. Diagrama de Pipeline PENTIUM III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1617. Diagrama de Pipeline PENTIUM IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1718. Configuración de Pines del 8237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Índice de tablas

1. Habilitación de Periféricos en función de Dirección . . . . . . . . . . . . . . . . . . . . . . 62. Valores de Señales de Control para la Programación del 8251A . . . . . . . . . . . . . . . 103. Diagrama del recorrido de instrucciones por el Pipeline PENTIUM III . . . . . . . . . . . 17

1

Page 2: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

I. Desarrollo

Diseñe las interfaces de propósito general necesarias para la conexión al microprocesador INTEL8088 del siguiente hardware: (8 ptos)

6 Switches.

Dos Displays 7 Segmentos.

4 Leds.

El integrado USART 8251A, para que el micro transmita un dato por medio de comunicaciónserial. Los pines que debe considerar de la USART 8251A corresponden con el dato a transmi-tir/recibido y las señales RESET, CLK, C/D, RD, WR, CS, se supone que los otros pines estánconectados para la efectuar la comunicación serial con otro dispositivo.

Para ello dispone de las siguientes direcciones: 240E, A41E, 2C0E Puede utilizar los componentesdigitales que desee, a fin de diseñar el hardware que proporcione una conexión correcta.

I. Diseño de Interfaz de Propósito General

Se trata de una interfaz que sirve como puente entre el µp y el dispositivo de E/S, sin conversionesde código, sin cambios en los rangos de las señales eléctricas y sin contar con un buffer (Memoria)además que su comportamiento no se puede modificar.

Dispositivos de Entrada

6 Switches.

USART 8251A.

Dispositivos de Salida

2 displays 7 segmentos.

4 Leds

USART 8251A.

Para llevar a cabo la comunicación entre la interfaz de Entrada y/o Salida con el µp se requiere deluso de circuitos integrados para cada uno de los casos; concretamente, los dispositivos de entradason manejados por el 74244 mientras que los de salida por el 74373; evidentemente, no todos losdispositivos de entrada y salida podrán enviar o recibir sus datos por un bus que deben compartir, eldispositivo gestor del periférico que se comunicará cada vez con el µp es un decodificador 74138.Resulta oportuno visualizar los diagramas de conexión de cada uno de estos elementos.

2

Page 3: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 1: Diagrama Circuital del 74244 (Entradas)

Figura 2: Diagrama Circuital del 74373(Salidas)

Figura 3: Diagrama Circuital del 74138 (Decodificador)

USART 8251

Acrónico de Universal Synchronous Asynchronous Receiver Transmitter es un dispositivo periféricopara comunicación serial, el mismo recibe la información en paralelo del microprocesador, la convierteen data serial y luego la transmite de esa manera. De igual forma, recibe datos en forma serial delexterior, lo convierte en data paralela y entonces lo transmite al microprocesador.

Descripción de pines del 8251

En la figura 4 puede apreciarse la disposición de los pines del dispositivo.

3

Page 4: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 4: Diagrama Circuital del 8251 (USART)

A continuación se explica de forma sucinta el funcionamiento de los principales pines.

CLK Señal de reloj usada para generar la temporización interna del dispositivo.

WR− Es el terminal de entrada en activo bajo que recibe una señal para escritura de datos de transmi-sión o palabras de control del microprocesador al 8251. Generalmente este pin está conectado ala señal de control de escritura del microprocesador.

RD− Terminal de entrada en activo bajo que recibe una señal para lectura de datos recibidos y palabrasde estado del 8251. Generalmente este pin está conectado a la señal de control de lectura delmicroprocesador.

C/D − Este es un terminal de entrada que recibe una señal para seleccionar datos o palabras decomando y palabras de estado cuando el 8251 es accesado por el microprocesador. Si C/D −

es bajo, se accesará a datos; si C/D − es alto, serán accesados comandos de palabra o estado.Generalmente este pin está conectado a la linea de dirección A1.

CS− Es un terminal de entrada activo bajo que selecciona al 8251 en nivel bajo cuando el micropro-cesador accede. Cuando CS− = 0, el 8251 aceptará otras señales y actuará de acuerdo a ellas, encaso contrario, el 8251 no es seleccionado.

RESET Es la entrada de reinicio del 8251, generalmente se conecta al pin de reset del procesador. Unvalor alto en esta entrada fuerza al 8251 a entrar en el estado reset. El 8251 permanecerá en esteestado hasta que sea reinicializado.

D0 − D7 Son lineas de datos bidireccionales las cuales están conectadas a las líneas del sistema. Estaslíneas se usan para transmitir y recibir palabras de control, palabras de estatus y datos desde yhacia el microprocesador.

Para su correcto funcionamiento, el USART 8251 debe recibir como entradas de control a las señalescorrespondientes a !RD, !WR, un señal de reloj y de reinicio (RESET), para la transmisión bidireccionalde información se utilizan los pines D0 − D7 (Tomando las debidas previsiones, toda vez que losmismos son bidireccionales) mientras que la comunicación con el periférico (De naturaleza serial) esgestionada a partir de los pines TxD, RxD, SYNDET, RxC y TxC. En la figura 5 se visualiza el diagramade la interfaz de propósito general, en la misma se ha omitido el dibujo de algunos componentes lógicosdigitales que son necesarios para el correcto funcionamiento del sistema, más adelante se presentaránmayores detalles de cada etapa.

4

Page 5: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 5: Interfaz de Propósito General

5

Page 6: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Debido a que sólo se cuenta con 3 direcciones de memoria para acceder a 5 dispositivos, se necesitallevar a cabo ciertos arreglos para aprovechar eficientemente la cantidad de direcciones disponibles. Eneste caso, se combinan ambos displays 7 segmentos y los 4 leds de la forma ilustrada en la figura 6

De acuerdo a al esquema, la salida del microprocesador a través del bus de datos debe estar correc-tamente formateada para colocar la información en alguno de los 4 leds o los dos display 7 segmentosdisponibles; por ejemplo, para encender el primer led, el bus de datos, de 8 bits debería tener el for-mato 101110002, para mostrar el número 910 en el segundo display el formato debería ser 110110012 opara ver el número 110 en el primer display, el bus de datos debe tener el valor 110000012.

A partir del bus de datos, el sistema determinará que se requiere acceder a algún periférico deentrada o salida, su valor concreto enviará las correspondiente señales de habilitación al dispositivoen cuestión. Este comportamiento debe ser diseñado tomando en cuenta las direcciones de memoriadisponibles para este tipo de operaciones, según el enunciado, estas son: 240E16, A41E16 Y 2C0E16. Enla siguiente tabla de desarrolla la modelo para relacionar a cada una de estas direcciones con uno ovarios dispositivos.

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0240E 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0A41E 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 02C0E 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0

ENABLE A14 A13 A12 A10 A9 A8 A7 A6 A5 A3 A2 A1 A0CONTROL A15 A11 A4

Tabla 1: Habilitación de Periféricos en función de Dirección

El esquema de los componentes lógicos digitales empleados para traducir el valor específico del busde direcciones en una señal de habilitación para determinado periférico, se muestra en la figura 7.

Figura 7: Selección de dispositivo en función de Bus de Dirección

6

Page 7: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 6: Detalle de la Interfaz de Propósito General (LEDS y DISPLAYS 7 SEGMENTOS)

7

Page 8: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

A continuación se incorpora el diseño de la figura 7 con los integrados de entrada y salida, parafacilitar la explicación, se asume que el valor de la señal de control WD/RD = 1 según el caso y que ladirección 2C0E corresponde a los leds (Figura 9) y displays 7 segmentos (Figura 10 y 11) (Periféricosde Salida) mientras que la A41E habilita a los 6 switches (Periféricos de Entrada).

Figura 8: Selección de Switches

Figura 9: Selección de Leds

8

Page 9: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 10: Selección de Display 1

Figura 11: Selección de Display 2

En este diseño se estipula tácitamente que los 3 dispositivos de salida no se pueden activar a lavez, en caso de necesitarse, puede jugarse con el efecto de persistencia y alternar las señales de control,bus de datos y direcciones de manera tal que se modifiquen los valores de todos estos dispositivoslo suficientemente rápido como para que el ojo humano interprete que estos valores están siendomostrados a la vez.

9

Page 10: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Indique los valores que deben tener las diferentes señales de la USART 8251A, a los fines derealizar la programación de la misma. (2 ptos)

II. Configuración del 8251A

El bus de datos del 8251A tienen la particularidad de ser bidireccional; además, el dispositivoreconoce diferentes tipos de datos según las configuraciones de sus diferentes señales, cada uno deestos tipos de datos manejan el comportamiento del integrado según su configuración (Le indican sidebe enviar o recibir datos desde o hacia el microprocesador) y pueden constituir salidas o entradasdesde el punto de vista el CPU (Datos a ser transmitidos, datos recibidos o estado del 8251A).Delmismo modo, según el tipo de datos que se encuentre en el bus del 8251A (Indicado por los bitscorrespondientes) el mismo obedecerá a un formato específico.

En primer lugar, debe indicarse cómo la configuración de las señales de control indican el tipo dedato que se encuentra en el bus.

C/!D !RD !WR !CS Interpretación0 0 1 0 8251A a BD0 1 0 0 BD a 8251A1 0 1 0 Estado a BD1 1 0 0 BD a CONTROLX 1 1 0 BD a 3-EstadosX X X 1 BD a 3-Estados

Tabla 2: Valores de Señales de Control para la Programación del 8251A

Evidentemente, la señal !RD en 0 indica que el CPU debe leer algún dato mientras que !WR leinforma al microprocesador que debe escribir. El tipo de dato es indicado por la señal C/!D, concreta-mente, D significa Datos mientras que C puede interpretarse como Control (Salida) o Estado (Entrada)la ambigüedad de esta señal es fácilmente resoluble en función de las señales !RD y !WR. Por último,!CS indica si se ha seleccionado al 8251A, en caso de no haberlo sido, el microprocesador interpretaal integrado como una alta impedancia (Simular a lo que ocurre con el 74373 y el 74244 cuando estándeshabilitados); como caso particular, este comportamiento es el se obtiene en el supuesto contradic-torio de estar habilitadas simultáneamente las señales de lectura y escritura (Si bien el bus de datos esbidireccional, no puede leerse y escribirse a través de él al mismo tiempo).

II.1. Formatos de Instrucción

El datasheet del 8251A indica el formato de los valores presentes en el bus de datos correspondientea cada tipo de instrucción (Palabra de Comando, Palabra de Modo Asíncrono o Síncrono y Palabra deEstado). En las figuras 12, 13, 14 y 15 se aprecia la constitución de los respectivos formatos.

Los valores que debe tener el bus de control debe corresponder con lo indicado en la tabla 2;mientras tanto, se debe introducir en el bus de datos del 8251A los códigos correspondientes al com-portamiento esperado por el dispositivo. Hay que tener en cuenta que cada proceso de cofiguracióndebe continuar a un reseteo del componente; del mismo modo, cada comando introducido después delreseteo se interpreta como una palabra de modo.

10

Page 11: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 12: Formato de Palabra de Comando

11

Page 12: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 13: Formato de Palabra de Modo Asíncrono

12

Page 13: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 14: Formato de Palabra de Modo Síncrono

13

Page 14: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 15: Formato de Palabra de Estado

14

Page 15: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Escriba las instrucciones en Assembler del INTEL 8088, necesarias para enviar un dato a laUSART 8251A, que sería luego transmitido, de acuerdo a la configuración que previamente se lehaya cargado. (2 ptos)

III. Programación del USART 8251A

De acuerdo a la información disponible en la web, referente a la Programación en Assembler INTEL8088 y considerando las pautas desarrolladas en los puntos anteriores, se desarrolla el código requeridopara inicializar al 8251A Y habilitar la transmisión. Considerando que los puertos de datos y controlson D416 y D616 respectivamente.

MOV AL, 00HOUT D6H, AL : I n i c i a l i z a c i o n f a l s aOUT D6H, ALOUT D6H, ALMOV AL, 40H : Operacion de R e i n i c i o InternoOUT D6H, ALMOV AL, DFH : I n i c i a l i z a c i o n de palabra de MODOOUT D6H, ALMOV AL, 37H : I n i c i a l i z a c i o n de palabra de COMANDOOUT D6H, AL

Retorno IN AL, D6H :AL = Palabra de ESTADOAND AL 01H : Chequea s i TxRDY fue generado o noCMP AL 01HJNZ RetornoEND

15

Page 16: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

En base a los pipelines de los procesadores Pentium III y Pentium 4 (cuyos diagramas aparecenen un documento aparte), que presentan 10 y 20 etapas respectivamente, y dado el siguiente conjuntode instrucciones: (4 ptos)

SUB AL,DHJE ContinuaADD AX,CX..Continua :MOV DI , 0

Determine el tiempo total de ejecución para ambos procesadores si: Se realiza el salto (Se efectúaen la etapa EXE), los procesadores operan a una frecuencia de 1 Ghz, el tiempo que se consume encada etapa del pipeline es de 2 ciclos de reloj para el Pentium III y 1 ciclo de reloj para el Pentium4, y el tiempo que se consume en la comunicación entre etapas es de 10 % del tiempo de la etapapara el Pentium III y 14 % del tiempo de la etapa para el Pentium 4.

IV. Pipeline Superescalar

El diagrama de Pipelines de los microprocesadores PENTIUM III y PENTIUM IV se muestran enlas figuras 16 y 17 respectivamente.

Figura 16: Diagrama de Pipeline PENTIUM III

16

Page 17: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

Figura 17: Diagrama de Pipeline PENTIUM IV

De donde se deduce que ambos modelos aplican un modelo de Pipeline Superescalar con circuitosde predicción de salto.En cuando al PENTIUM III, se infiere del esquema que el pipeline superescalar puede ejecutar has-ta 40 instrucciones simultáneamente. A partir de allí se desarrolla el diagrama del recorrido de lasinstrucciones por la estructura.

IFU1 IFU2 IFU3 DEC1 DEC2 RAT ROB DIS EX RET[1-40]

[1-40][1-40]

[1-40][1-40]

[1-40][1-40]

[1,3-40] 27

7

Tabla 3: Diagrama del recorrido de instrucciones por el Pipeline PENTIUM III

Debido a las características del Pipeline, se ejecutan 40 instrucciones por cada una de las etapasdescritas por la arquitectura, al llega a la etapa ROB (ReOrderBuffer) ocurre una bifurcación, la instruc-ción de salto incondicional es posicionada en la etapa RET (Retire) y gracias al circuito de predicciónde salto incorporado, en lugar de limpiar el pipeline, se ejecuta la instrucción a la que direcciona dichosalto, cuya posición había sido guardada previamente en las primera etapas de procesamiento.Para una frecuencia de 1 GHz, se tiene un ciclo de 1 ns, considerando que existen dentro del diseñodel modelo PENTIUM III 10 etapas de procesamiento y 10 transiciones entre etapas, su tiempo de

17

Page 18: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

procesamiento será igual a:

(2 ∗ 1ns) ∗ 10 + (1ns ∗ 0,1) ∗ 10 = 0,021µs (1)

Mientras tanto, para el modelo PENTIUM IV:

(1 ∗ 1ns) ∗ 20 + (1ns ∗ 0,14) ∗ 20 = 0,0228µs (2)

A pesar de ser modelos diferentes y tener el doble de etapas, la diferencia entre los tiempos de proce-samiento de ambos modelos es de apenas 1.8 ns.

¿En qué consiste el DMA (Direct Access Memory) y cómo opera? (máximo 2 páginas) (4 ptos)

Direct Memory Access

Es una característica de los sistemas de computación que le permite a algunos subsistemas de hard-ware acceder a la memoria RAM independientemente de la unidad central de procesamiento (CPU).Sin el DMA, cuando el CPU está ejecutando una tarea programada de lectura/escritura, generalmenteestá totalmente ocupado durante la duración de la operación de leer o escribir y por lo tanto, no estádisponible para ejecutar alguna otra tarea. Con DMA, por el contrario, el CPU inicializa la transferen-cia, entonces ejecuta otra operación mientras la transferencia está en proceso y finalmente recibe unainterrupción del controlador del DMA cuando su operación ha finalizado. Este característica es muyútil toda vez que el CPU no pueda mantener la tasa de transferencia de datos, o cuando el CPU necesitaejecutar alguna operación útil mientras está esperando por una transferencia de entrada/salida que esrelativamente lenta.Muchos sistemas de hardware utilizan DMA, incluyendo los controladores de Disco Duro, tarjeta grá-ficas, tarjetas de red y tarjetas de sonido. El DMA también se usa en la transferencia de datos entrechips en procesadoras multi núcleo. Las computadoras que tienen canales DMA pueden transferir da-tos desde y hacia dispositivos con menos carga sobre el CPU que las computadoras sin estos canales;similarmente, un elemento de procesamiento interno al procesador multi núcleo puede transferir datosdesde y hacia su memoria local sin ocupar tiempo de procesamiento, permitiendo que la transferenciade datos y los cálculos ocurran en paralelo.El DMA también puede ser usado para copiar o mover datos de memoria o memoria.

Principio de Funcionamiento

Un controlador DMA puede generar una dirección de memoria e iniciar ciclos de lectura o escritu-ra de memoria. Contiene varios registros del procesador que pueden ser escritos y leídos por el CPU.Estos incluyen un registro de dirección de memoria, un registro contador de tipo byte y uno o másregistros de control.Los registros de control especifican el puerto de E/S a utilizar, la dirección de transferencia (Leer deldispositivo de E/S o Escribir al dispositivo E/S), la unidad de transferencia (Byte por Tiempo o Wordpor Tiempo) y un número de bytes para transferir en una ráfaga.Para llevar a cabo una operación de entrada, salida o memoria a memoria, el procesador anfitrióninicializa el controlador DMA con una cuenta del número de palabras a transferir y la dirección de me-moria a utilizar. Entonces, el CPU envía comandos al dispositivo periférico para iniciar la transferenciade datos. El controlador DMS provee entonces las direcciones y líneas de control de lectura/escritura ala memoria del sistema. Cada vez que un byte de datos está listo para ser transferido entre el periféricoy la memoria, el controlador DMA incrementa su registro de dirección interno hasta que todo el bloquede datos haya sido transferido.Las transferencias DMA pueden ocurrir tanto de a un byte por vez o todos a la vez en modo ráfaga. Siocurre de a un byte por vez, esto puede permitirle al CPU acceder a la memoria en ciclos de bus alter-nados (Lo cual se denomina, Robo de Ciclos ya que el controlador DMA y el CPU luchan por el acceso

18

Page 19: Diseño de Interfaz de Propósito General 8088

Asignación Parcial 4 • Arquitectura de Computadoras • I-2015

a la memoria). En el modo ráfaga DMA, el CPU puede ser puesto en espera (HOLD) mientras ocurrela transferencia DMA y un bloque completo de posibles cientos o miles de bytes pueden ser movidos.Cuando los ciclos de memoria son mucho más rápidos que los ciclos del procesador, es posible queocurra un ciclo DMA intercalado, donde el controlador DMA usa la memoria mientras que el CPU nopuede.

DMA 8237

Es un controlador que suministra la memoria y E/S con señales de control e información de direc-ción de salida durante la transferencia DMA. Es un dispositivo de cuatro canales que es compatiblecon el microprocesador 8086/8088 y puede ser expandido para incluir cualquier número de canales deentrada DMA. Éste controlador es capaz de realizar transferencias DMA en tasas por encima de los 1.6Mbps. Cada canal es capaz de direccionar más de 64 Kbytes con una sola programación.En la figura ?? se muestra la configuración de pines correspondientes al circuito integrado.

Figura 18: Configuración de Pines del 8237

DREQi Usado para solicitar al DMA transferirhacia un canal DMA particular.

DACKi Reconoce un requerimiento de canalDMA para un dispositivo.

HRQ Solicita una transferencia DMA.

HLDA Señala al 8237 que el microprocesador hadimitido al control de los buses de datos,control y dirección.

AEN Se usa para tomar el control del bus de di-rección del microprocesador.

ADSTB Funciona como ALE para reservar la di-rección durante la transferencia DMA.

!EOP Señala el fin del proceso DMA.

!IOR Se usa como una entrada para leer datos del8237 durante la programación y como salidapara leer datos del puerto durante el ciclo deescritura del DMA.

!IOW Se usa como entrada para escribir datos al8237 durante la programación y como salidapara escrbir datos al puerto durante un ciclode lectura del DMA.

!MEMW Se usa como salida para provocar escri-tura en memoria durante un ciclo DMA.

!MEMR Se usa como salida para provocar lecturadurante un ciclo DMA.

19