Arquitectura 2013 Explicación 3 - continuación.

Slides:



Advertisements
Presentaciones similares
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
Advertisements

N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
Programación en Lenguaje Ensamblador.
INTRODUCCION AL ASSEMBLER 86
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO
Introducción al lenguaje ensamblador
MODOS DE DIRECCIONAMIENTO
Microprocesador (80X86) Universidad Nacional de Ingeniería
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.
Departamento de Informática. Curso ENTRADA Y SALIDA LECCIÓN 12 ORGANIZACIÓN DE ENTRADA Y SALIDA.
Organización del Computador Entradas / Salidas. Modelo de I/O.
DMA.
Módulo LCD Controlador HD44780.
Sistemas de E/S, Programada por Interrupciones su Gestión
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.
Arquitectura de PCs Secuencia de compilación de un programa.
1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)
Organización del Computador Entradas / Salidas. Modelo de I/O.
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
Tema II Unidad de memoria. 2.1 Definiciones y conceptos básicos. 2.2 Jerarquía de memorias. 2.3 Memorias de semiconductor. 2.4 Memorias asociativas. 2.5.
Arquitectura Básica de un Ordenador -Ana Mª Torres Ordóñez.
ITESCO – Arquitectura Computadoras L. S. C. A. Raúl Monforte Chulin - MORCH Systems 1.1. Arquitectura básica y sus operaciones. Objetivo: El estudiante.
? INTERRUCCIONES Y BUSES Interrupciones Buses
L. S. C. A. Raúl Monforte Chulin
ARQUITECTURA BÁSICA DE UN ORDENADOR
Unidad 01 Introducción a la computación
AUTORES: INGENERIA EN COMPUTACION PROF.: IVAN PEREZ MARZO, 2017.
Estructuras de interconexión de un computador
SISTEMAS DE E/S Es la colección de interfaces que usan las distintas unidades funcionales de un sistema de procesamiento de información para comunicarse.
INTERRUPCIONES EN LA PC
Registro y transferencia para manejo de interrupciones
¿Qué es una computadora?
CURSO INFORMÁTICA: Niverl 1
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
TUTORIAL PSeint.
Clase 7 Assembly - Simulador MSX88.
Explicación 3 Periféricos.
Manejador de interrupción (subrutina)
Entrada Salida Rina Arauz.
MC Beatriz Beltrán Martínez Primavera 2016
Arquitectura 2013 Explicación 5.
Computación Curso 2017.
[ E/S ] Buses Tipos de buses Präsentation.
DISCO DURO.
Clase 6 Assembly - Simulador MSX88 Subrutinas.
Arquitectura 2014 Explicación 1.
Explicación 2 Interrupciones.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
PANTALLA LCD.
Arquitectura de Computadoras 2012
DISPOSITIVOS DE E/S IU Colegio Mayor del Cauca Sistemas operativos Popayán, mayo de 2015.
Conceptos básicos.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Manejo de video y teclado
Display de cristal liquido 2x16
Memoria flash y su uso en el microcontrolador MSP430F149
Dispositivos de Entrada y Salida
MC Beatriz Beltrán Martínez Otoño 2017
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Centro Universitario UAEM Ecatepec Asignatura: Introducción al software base Licenciatura en informática Administrativa Lia 4to semestre Mtra. Patricia.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
MC Beatriz Beltrán Martínez Otoño 2017
Arquitectura 2013 Explicación 6 Entrada-Salida.
Gestión del sistema de entrada / salida
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

Arquitectura 2013 Explicación 3 - continuación

Acceso directo a memoria (DMA) El controlador de DMA es un dispositivo capaz de controlar una transferencia de datos entre un periférico y memoria sin intervención de la CPU. CPU Memoria DMAC E/S Bus de datos Bus de direcciones Bus de control

Controlador de DMA El Controlador de DMA (DMAC) debe actuar como maestro 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

Problema con DMA Se 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 memoria para leer instrucciones y/o datos

Etapas de una transferencia DMA Inicialización de la transferencia Realización de la transferencia Finalización de la transferencia

Modos de transferencias 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 dos tipos de transferencias: Por ráfagas (por bloque) Por robo de ciclo (por demanda)

DMA modo ráfaga (por bloque) 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.

DMA modo robo de ciclo (demanda) Cuando la CPU concede el bus al DMAC, se realiza la transferencia de un byte y después el DMAC libera el bus. El DMAC solicita el control del bus tantas veces como sea necesario hasta finalizar la transferencia del bloque completo VENTAJAS: No se degrada el rendimiento del sistema. DESVENTAJAS: La transferencia tarda más tiempo en llevarse a cabo.

Registro de dirección destino DMAC en SX88 DMAC 50H RFL 51H RFH 52H ContL 53H ContH 54H RDL 55H RDH 56H Control 57H Arranque 0  transferencia habilitada 1  detener transferencia Registro de dirección fuente Cantidad de bytes a transferir Sentido de transferecia Cuando TT = 0 0  Periferico  memoria 1  memoria  Periferico Registro de dirección destino (memoria-memoria) X TC MT ST TT STOP Registro de arranque Para iniciar transferencia XXXX X111 Modo de transferecia 0  Por robo de ciclo 1  Por ráfaga Terminal Count Solo lectura 0  Transferencia en curso 1  Transferencia finalizada Tipo de Transferencia 0  Periférico/memoria o v.v 1  memoria/memoria

DMAC y PIC F10 Timer HAND DMAC EOI 20H IMR 21H IRR 22H ISR 23H INT0

Ejercicio 10 DMA. Transferencia de datos memoria-memoria. Escribir un programa que copie una cadena de caracteres almacenada a partir de la dirección 1000H. Los caracteres se copian a la dirección 1500H, utilizando el DMAC en modo de transferencia por bloque (ráfaga). La cadena original se debe mostrar en la pantalla de comandos antes de la transferencia. Una vez finalizada, se debe visualizar en la pantalla la cadena copiada para verificar el resultado de la operación. Ejecutar el programa en la configuración P1 C3.

Ej 10 00001010 MT=por ráfaga TT=mem/mem PIC EQU 20H IMR EQU 21H DMAC PIC EQU 20H IMR EQU 21H PIC_INT3 EQU 27H DMA EQU 50H N_DMA EQU 20 ORG 80 IP_DMA DW RUT_DMA. ORG 1000H MSJ DB "FACULTAD DE" DB " INFORMATICA" FIN DB ? NCHAR DB ? ORG 1500H COPIA DB ? ; rutina atencion interrupción del CDMA ORG 3000H RUT_DMA: MOV AL, 0FFH OUT IMR, AL MOV BX, OFFSET COPIA MOV AL, NCHAR INT 7 MOV AL, 20H OUT PIC, AL IRET ORG 2000H CLI MOV AL, N_DMA OUT PIC_INT3, AL MOV AX, OFFSET MSJ OUT DMA, AL MOV AL, AH OUT DMA+1, AL MOV AX, OFFSET FIN-OFFSET MSJ OUT DMA+2, AL OUT DMA+3, AL MOV AX, OFFSET COPIA OUT DMA+4, AL MOV AL, AH ; OUT DMA+5, AL MOV AL, 00001010B OUT DMA+6, AL MOV AL, 0F7H OUT IMR, AL STI MOV BX, OFFSET MSJ MOV AL, OFFSET FIN-OFFSET MSJ MOV NCHAR, AL INT 7 MOV AL, 00000111B OUT DMA+7, AL INT 0 END 50H RFL 51H RFH 52H ContL 53H ContH 54H RDL 55H RDH 56H Control 57H Arranque 00H 10H Configura INT3 del PIC 00H 17H Dir origen del bloque 00H 00H 00H Cantidad de bytes a transferir 23 = 17H 15H 1000 1010 00001010 Dir destino del bloque 0000 0111 Transferencia mem a mem por bloque MT=por ráfaga IMR = 1111 0111 (enmascara todas menos INT3) 00001010 Muestra mensaje original IMR = 1111 1111 TT=mem/mem Muestra mensaje transfererido Inicia transferencia Fin de atención X TC MT ST TT STOP 14

Ejercicio 11 DMA. Transferencia de datos memoria-periférico. Escribir un programa que transfiera datos desde la memoria hacia la impresora sin intervención de la CPU, utilizando el DMAC en modo de transferencia bajo demanda (robo de ciclo).

DMA y HAND Memoria CPU HAND DMAC Bus de datos Datos HLDA HRQ STROBE DACK HAND DMAC BUSY DREQ INT Datos Bus de datos

Ej11 00000100 ; rutina atención interrupción del CDMA MT= robo ciclo X TC MT ST TT STOP PIC EQU 20H IMR EQU 21H PIC_INT3 EQU 27H HAND EQU 40H DMA EQU 50H N_DMA EQU 20 ORG 80 IP_DMA DW RUT_DMA ORG 1000H MSJ DB " INFORMATICA" FIN DB ? FLAG DB 0 ; rutina atención interrupción del CDMA ORG 3000H RUT_DMA: MOV AL, 0 OUT HAND+1, AL MOV FLAG, 1 MOV AL, 0FFH OUT IMR, AL MOV AL, 20H OUT PIC, AL IRET ORG 2000H CLI MOV AL, N_DMA OUT P PIC_INT3, AL MOV AX, OFFSET MSJ OUT DMA, AL MOV AL, AH OUT DMA+1, AL MOV AX, OFFSET FIN-OFFSET MSJ OUT DMA+2, AL OUT DMA+3, AL MOV AL, 00000100B OUT DMA+6, AL MOV AL, 0F7H OUT IMR, AL MOV AL,07H OUT DMA+7, AL MOV AL, 80H OUT HAND+1, AL STI Configura INT3 del PIC Dir origen del bloque Cantidad de bytes a transferir Control = 0000 0100 Deshabilita interrupción del HAND IMR = 1111 0111 Inicia transferencia Indica fin de lazo 00000100 TT=mem/per MT= robo ciclo ST=de memoria hacia periférico HAND por interrupción IMR = 1111 1111 LAZO: CMP FLAG, 1 JNZ LAZO INT 0 END Fin de atención