Estructura de Computadores



Documentos relacionados
2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

Tema 6: Periféricos y entrada-salida

Unidad 1: Conceptos generales de Sistemas Operativos.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Entrada salida y comunicación

Sistemas de Computación I/O. 2º Semestre, 2008 José Miguel Rubio L.

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

Convivencia. Gestión del Sistema de Entrada/Salida

Tema 4. Gestión de entrada/salida

Introducción a los Sistemas Operativos

Práctica 8 - DMA y Almacenamiento Masivo

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Organización de Computadoras. Turno Recursantes Clase 8

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

FUNDAMENTOS DE INFORMATICA

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Almacenamiento y estructura de archivos

PARTES DE UN COMPUTADOR

TEMA 4. Unidades Funcionales del Computador

Clase 20: Arquitectura Von Neuman

SISTEMAS DE ENTRADA/SALIDA

Función de un disco duro 2009

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Capítulo 1 Introducción a la Computación

Arquitectura Von Neumann

Estructura de Computadores

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

Hardware Se refiere a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos

El ordenador es un dispositivo electrónico que permite almacenar información, modificarla y generar nueva información.

Estructuras de Sistemas Operativos

ÍNDICE SISTEMAS OPERATIVOS... 5

Introducción a las redes de computadores

DESCRIPCION DEL SITEMA MASTER.

Sistemas de Computadoras Índice

HARDWARE DE UN ORDENADOR. Elementos básicos

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

PRUEBAS DE ACCESO A CICLOS FORMATIVOS DE GRADO SUPERIOR Convocatoria de 23 de junio de 2005 (Orden de 18 de febrero de 2005, BOA de 05/03/2005)

Intérprete entre el Operador y el Ordenador.

DISCOS DUROS LA MEMORIA SECUNDARIA: NO ES VOLÁTIL, ES MÁS LENTA (TIENE COMPONENTES MECÁNICOS) TIENE GRAN CAPACIDAD. ES MÁS BARATA

TEMA 1. CONCEPTO DE ORDENADOR: ESTRUCTURA Y FUNCIONAMIENTO

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

Actividad 4: Comunicación entre PLC s vía Ethernet

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

Sistemas operativos. Tema 9: Gestión n de E/S

Tema N 2.- Tiempo de respuesta de un PLC

SOLUCION EXAMEN junio 2006

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

EXAMEN PRIMERA EVALUACION

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

USB (Universal Serial Bus)

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Señal de petición de Interrupción

CONCEPTOS INFORMÁTICOS BÁSICOS

Arquitectura basica de un computador

ENTRADA/SALIDA. Conectar con el mundo real CPU. Arquitectura de Ordenadores. Entrada/Salida. Arquitectura de Ordenadores. Entrada/Salida MEMORIA


DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Arquitecturas de computadoras

Sistemas de almacenamiento informático

Conceptos Básicos de Software. Clase III

Administración de la memoria

SEGURIDAD Y PROTECCION DE FICHEROS

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Dispositivos de almacenamien to secundario. Almacenamiento de datos

Generalidades Computacionales

Tema 5. Memorias. Estructura de Computadores. Índice. Curso

Temario. Introducción a la Operación de Computadoras Personales. Computadora. Computadora. Computadora IOCP Dr.

MÓDULO DE EXPANSIÓN DW-GSM. Manual de usuario

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

18. Camino de datos y unidad de control

Gestión de Entrada/Salida

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Procesador - Estructura

Capítulo 5. Cliente-Servidor.

6-REGISTROS DEL 8086 Y DEL 80286

STEP 7 INDICE. Contadores rápidos Restricciones en el uso de los contadores rápidos HSC0, HSC3, HSC4, HSC5

by Tim Tran:

Entorno de Ejecución del Procesador Intel Pentium

Grabas tus canciones como archivos de audio en una memoria USB?

6. DESCRIPCIÓN DEL SOFTWARE

Tema 1 Estructuras de interconexión de un computador.

TEORÍA DE SISTEMAS OPERATIVOS Gabriel Astudillo Muñoz ALMACENAMIENTO JERARQUÍA DE MEMORIA PROBLEMA

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

LINEAMIENTOS DE CÓMPUTO DE USUARIO FINAL

Control Digital en PC con MS-DOS

TECNOLOGIAS DE LA INFORMACION: ARQUITECTURA DEL ORDENADOR

Redes I Clase # 3. Licda. Consuelo E. Sandoval

Hardware: dentro de la caja. Introducción a la Informática

Tarjeta de video. Fax Modem. Microprocesador. Memoria RAM. Disco Duro Seccionado. Gabinete. Disquetera. Lisandro Abello

Temario. Informática y Nuevas Tecnologías I. Informática y Mundo Penitenciario. Informática y Nuevas Tecnologías I. Dra. María Paula González 1

Transcripción:

Estructura de Computadores Tema 6. Sistemas de entrada/salida Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID

Contenido Concepto de periférico Estructura de un disco duro Buses Módulos de E/S Técnicas de E/S E/S programada E/S mediante interrupciones E/S por DMA ARCOS Estructura de Computadores 2

Concepto de periférico Periféricos Periférico: Todo aquel dispositivo externo que se conecta a una CPU a través de la unidades o módulos de entrada/salida (E/S). Permiten almacenar información o comunicar el computador con el mundo exterior. ARCOS Estructura de Computadores 3

Clasificación de periféricos Comunicación: Hombre-máquina (Terminal) teclado, ratón, (Impresa) plotter, escáner, Máquina-máquina Módem, adaptador de red Medio físico (Lectura/accionamiento) x (analógico/digital) Almacenamiento: Acceso directo (Discos, DVD, ) Acceso secuencial (Cintas) ARCOS Estructura de Computadores 4

Periféricos y unidades de E/S Periférico Módulo de E/S Periférico Dispositivo que interactúa con el entorno Unidad o Módulo de Entrada/Salida También denominado controlador Interfaz entre dispositivo y el procesador, que oculta las particularidades de los dispositivos ARCOS Estructura de Computadores 5

Ejemplo: Disco duro ARCOS Estructura de Computadores 6

Un poco de historia El primer disco duro apareció en 1956 Instalado en el IBM RAMAC 305 50 Discos de 24 5 MB de datos Alquiler por año 35000 $ En 1980 aparece el primer disco 5 1/4 5 -MB 10.000 $ En 1997 aparece el primer disco a 15000 RPM ARCOS Estructura de Computadores 7

Anatomía de un disco Motor www.snia.org ARCOS Estructura de Computadores 8

Anatomía de un disco Discos www.snia.org ARCOS Estructura de Computadores 9

Anatomía de un disco Cabezas lectoras/escritoras www.snia.org ARCOS Estructura de Computadores 10

Anatomía de un disco Módulo de control y mecánica www.snia.org ARCOS Estructura de Computadores 11

Anatomía de un disco Electrónica Planificación de comandos Corrección de errores Optimización Comprobación de integridad Control de las rpm www.snia.org ARCOS Estructura de Computadores 12

Múltiples platos rotación ARCOS Estructura de Computadores 13

Cilindros Información accedida por todas las cabezas ARCOS Estructura de Computadores 14

Pistas y sectores Pista Un anillo del plato Sector División de la superficie del disco realizada en el formateo (típicamente 512 bytes) Bloques El SF escribe en bloques Grupo de sectores ARCOS Estructura de Computadores 15

Distribución de sectores ARCOS Estructura de Computadores 16

Medida de la capacidad Bits por pulgada cuadrada Dependen de la cabeza de lectura/escritura, del medio de grabación, de la rotación del disco y de la velocidad a la que el bus puede aceptar datos. Pistas por pulgada Dependen de la cabeza de lectura/escritura, el medio de grabación, la precisión con la que la cabeza puede posicionarse y la capacidad del disco para girar en un círculo perfecto ARCOS Estructura de Computadores 17

Capacidad de almacenamiento Para discos con velocidad angular constante n s : número de superficies p: número de pistas por superficie s: número de sectores por pista t s : bytes por sector Capacidad = n p s s t s Para discos con múltiples zonas z: número de zonas p i : pistas de la zona i p i : sectores por pista de la zona i Capacidad = ns ts ( pi s z i= 1 i ) ARCOS Estructura de Computadores 18

Direccionamiento Tipos de direccionamiento Direccionamiento cilindro-pista-sector. Un sector queda determinado por estos tres valores Direccionamiento de bloques lógicos Cada sector se identifica con un bloque lógico y la correspondencia la hace el propio disco ARCOS Estructura de Computadores 19

Tiempo de acceso Tiempo de búsqueda (Tb): tiempo necesario para mover la cabeza desde el cilindro actual al cilindro sobre el que se quiere operar. Latencia de rotación (Tr): tiempo que pasa hasta que el sector deseado pasa por debajo de la cabeza de lectura/escritura Tiempo medio para recorrer media pista Tiempo de transferencia (Tt): tiempo necesario para recorrer un sector y transferir los datos de él Tiempo de acceso (Ta) = Tb + Tr + Tt ARCOS Estructura de Computadores 20

Evolución de los discos Capacidad Coste Prestaciones Tasa de crecimiento por año 1.93/año 0.6/año 0.05/año ARCOS Estructura de Computadores 21

Ejercicio Cuántos bytes almacena un disco duro de 250 GB? ARCOS Estructura de Computadores 22

Recordatorio Nombre Abr Factor SI Kilo K 2 10 = 1,024 10 3 = 1,000 Mega M 2 20 = 1,048,576 10 6 = 1,000,000 Giga G 2 30 = 1,073,741,824 10 9 = 1,000,000,000 Tera T 2 40 = 1,099,511,627,776 10 12 = 1,000,000,000,000 Peta P 2 50 = 1,125,899,906,842,624 10 15 = 1,000,000,000,000,000 Exa E 2 60 = 1,152,921,504,606,846,976 10 18 = 1,000,000,000,000,000,000 Zetta Z 2 70 = 1,180,591,620,717,411,303,424 10 21 = 1,000,000,000,000,000,000,000 Yotta Y 2 80 = 1,208,925,819,614,629,174,706,176 10 24 = 1,000,000,000,000,000,000,000,000 1 KB = 1024 bytes, pero en el SI es 1000 bytes Los fabricantes de disco duros y en telecomunicaciones emplea el SI. Un disco duro de 30 GB almacena 30 x 10 9 bytes Una red de 1 Mbit/s transfiere 10 6 bps. ARCOS Estructura de Computadores 23

Ejercicio Sea un disco con las siguientes características: Velocidad de rotación: 7200 rpm Platos: 5, con 2 superficies por plato Número de pistas de una cara del plato: 30000 Sectores por pista: 600 Tiempo de búsqueda: 1 ms por cada 100 pistas atravesadas Suponiendo que la cabeza está en la pista 0 y se solicita un sector de la pista 600. Calcular: Capacidad del disco duro La latencia de rotación Tiempo de transferencia de un sector Tiempo de acceso a un sector ARCOS Estructura de Computadores 24

Ejercicio Un disco duro tiene una velocidad de rotación de 7200 rpm y una densidad constante de 604 sectores por pista. El tiempo medio de búsqueda es de 4 ms. Calcular el tiempo de acceso a un sector ARCOS Estructura de Computadores 25

Ejercicio Sea un disco duro con tiempo medio de búsqueda de 4 ms, una velocidad de rotación de 15000 rpm y sectores de 512 bytes con 500 sectores por pista. Se quiere leer un fichero que consta de 2500 sectores con un total de 1,22 MB. Estimar el tiempo necesario para leer este fichero en dos escenarios: El fichero está almacenado de forma secuencial, es decir, el fichero ocupa los sectores de 5 pistas adyacentes Los sectores del fichero están distribuidos de forma aleatoria por el disco ARCOS Estructura de Computadores 26

Discos de estado sólido Dispositivo de almacenamiento de bloques basado en semiconductores que actúa como una unidad de disco Basados en memorias Flash Almacenamiento no volátil Basados en memorias DDR Requiere baterías y backup en disco para conseguir almacenamiento no volátil ARCOS Estructura de Computadores 27

Tiempos de acceso ARCOS Estructura de Computadores 28

Bus E1 E2 E3 Un bus es un camino de comunicación entre dos o más dispositivos. Constituido por varias líneas de transmisión de bit. Medio compartido, unívoco. Permite transmitir varios bits entre dos elementos conectados a él Tipos Serie Paralelo ARCOS Estructura de Computadores 29

Bus del sistema CPU Memoria E/S Bus del sistema Conecta los principales componentes del computador Representa la unión de tres buses: Control Direcciones Datos ARCOS Estructura de Computadores 30

Buses CPU Memoria E/S Bus de datos Transmite datos Su anchura y velocidad influye mucho en las prestaciones Bus de direcciones Direcciones de memoria y dispositivos de E/S Su anchura determina la máxima capacidad de memoria Bus de control Señales de control y temporización ARCOS Estructura de Computadores 31

Jerarquías de buses A más dispositivos conectados al bus, mayor es el retardo de propagación. A medida que aumenta el número de peticiones de transferencia, se puede producir un cuello de botella. Soluciones: Aumentar la velocidad de transmisión de datos con buses más anchos. Utilizar más buses de datos, organizados jerárquicamente. ARCOS Estructura de Computadores 32

Jerarquías de buses Procesador Bus local Cache Controlador local de E/S Memoria principal Bus del sistema Red SCSI Interfaz con el bus de expansión Modem Serie Bus de expansión ARCOS Estructura de Computadores 33

Módulo de E/S Las unidades o módulos de E/S realizan la conexión de los dispositivos periféricos con el procesador o la memoria Memoria Módulo de E/S Dispositivo ARCOS Estructura de Computadores 34

Necesidad de los módulo de E/S Son necesarios debido a: Gran variedad de periféricos. Los periféricos son muy heterogéneos La velocidad de transferencia de datos de los periféricos es mucho menor que la de la memoria o el procesador. Los periféricos son muy lentos Formatos y tamaños de palabra de los periféricos distintos a los del computador al que se conectan. ARCOS Estructura de Computadores 35

Funciones de los módulos de E/S Control y temporización Comunicación de el procesador o la memoria Comunicación con el periférico Buffering o almacenamiento intermedio Detección de errores ARCOS Estructura de Computadores 36

Modelo simplificado de módulo de E/S Unidad de E/S Bus de datos 0x0501 0x0502 0x0503 Reg. Control Reg. Estado Reg. Datos Señales de dirección Señales de control Lógica de E/S Lógica dispositivo externo Lógica dispositivo externo control datos control datos estado estado ARCOS Estructura de Computadores 37

Modelo simplificado de módulo de E/S Interacción entre procesador y Unidad de E/S a través de 3 registros: Registro de control Ordenes para el periférico Registro de estado Estado del dispositivo desde de la última orden Registro de datos Datos intercambiados CPU/Perif. 0x0501 0x0502 0x0503 Control Estado Datos Lógica dispositivo externo control estado datos Lógica de E/S Unidad de E/S Lógica dispositivo externo control estado datos ARCOS Estructura de Computadores 38

Modelo simplificado de módulo de E/S Líneas de datos: transferencia de información Señales de estado: diagnóstico del periférico Nuevo dato disponible Periférico encendido/apagado Periférico ocupado Periférico operativo o no Error de operación Señales de control: accionamiento del periférico Encender o apagar Saltar página en impresoras Posicionar el brazo de un disco Lectura, escritura 0x0501 0x0502 0x0503 Control Estado Datos Lógica dispositivo externo control datos Lógica de E/S Unidad de E/S Lógica dispositivo externo control datos estado estado ARCOS Estructura de Computadores 39

Técnicas de E/S E/S programada Interrupciones Acceso directo a memoria (DMA, Direct memory access) ARCOS Estructura de Computadores 40

E/S programada Toda la transferencia entre el procesador (o memoria) y la unidad de E/S se realiza bajo el control del procesador mediante la ejecución de instrucciones máquina de E/S Instrucciones de E/S: Instrucciones máquina especiales (similares a LW y SW) Son instrucciones privilegiadas Ejemplo de hipotética instrucción de E/S IN Reg, dirección Carga en el registro del procesador Reg el dato que se encuentra en el registro del módulo de E/S cuya dirección es dirección OUT Reg, dirección Realiza la escritura en el módulo de E/S ARCOS Estructura de Computadores 41

Mapa de E/S Conjunto de todas las direcciones de E/S Con p bits, 2 p direcciones posibles Tipos: Mapa de E/S separado Incluye instrucciones especiales de E/S (IN, OUT) Mapa de memoria Mapa de E/S Mapa común El acceso a los módulos de E/S se realiza con las mismas instrucciones que se utilizan para acceder a memoria (LOAD, STORE) Memoria E/S Rango de direcciones ARCOS Estructura de Computadores 42

Interacción mediante E/S programada Petición de operación CPU E/S No Leer el estado Listo? Si Envía datos E/S CPU E/S CPU ARCOS Estructura de Computadores 43

Interacción mediante E/S programada Petición de operación CPU E/S No Leer el estado Listo? Si Envía datos E/S CPU Bucle de sincronización E/S CPU ARCOS Estructura de Computadores 44

Ejemplo R. Estado R. Datos R. Control direcciones 1000 1004 1008 Unidad de E/S Información de control 0: leer 1: escribir Información de estado 0: dispositivo no preparado 1: dispositivo (dato) listo Mapa de E/S común Instrucciones lw y sw del MIPS ARCOS Estructura de Computadores 45

Ejemplo R. Estado R. Datos R. Control direcciones 1000 1004 1008 Unidad de E/S Instrucciones para escribir un 1 en el registro 1004 (de datos)? Información de control 0: leer 1: escribir Información de estado 0: dispositivo no preparado 1: dispositivo (dato) listo Mapa de E/S común Instrucciones lw y sw del MIPS ARCOS Estructura de Computadores 46

Ejemplo R. Estado R. Datos R. Control direcciones 1000 1004 1008 Unidad de E/S li $t0, 1 sw $t0, 1004 Escribe un 1 en el registro 1004 (de datos) Información de control 0: leer 1: escribir Información de estado 0: dispositivo no preparado 1: dispositivo (dato) listo Mapa de E/S común Instrucciones lw y sw del MIPS ARCOS Estructura de Computadores 47

Ejemplo R. Estado R. Datos R. Control Unidad de E/S direcciones 1000 1004 1008 Operaciones para leer un dato? Información de control 0: leer 1: escribir Información de estado 0: dispositivo no preparado 1: dispositivo (dato) listo Mapa de E/S común Instrucciones lw y sw del MIPS ARCOS Estructura de Computadores 48

Ejemplo R. Estado R. Datos R. Control direcciones 1000 1004 1008 Unidad de E/S Información de control 0: leer 1: escribir Información de estado 0: dispositivo no preparado 1: dispositivo (dato) listo Mapa de E/S común Instrucciones lw y sw del MIPS Operaciones para leer un dato 1. Enviar la orden li $t0, 0 sw $t0, 1008 2. Leer el estado bucle: lw $t0, 1000 3. Comprobar el estado beqz $t0, bucle 4. Leer el dato lw $t0, 1004 ARCOS Estructura de Computadores 49

Lectura de un bloque de datos Petición de operación CPU E/S No Leer el estado Listo? Si Leer dato E/S CPU E/S CPU No Escribir dato en MP Fin de bloque? Si FIN CPU memoria ARCOS Estructura de Computadores 50

Ejemplo R. Estado R. Datos R. Control Unidad de E/S direcciones 1000 1004 1008 Programa que lee 1000 datos y los almacena en MP a partir de la posición 0x00001000 Información de control 0: leer 1: escribir Información de estado 0: dispositivo no preparado 1: dispositivo (dato) listo Mapa de E/S común Instrucciones lw y sw del MIPS? ARCOS Estructura de Computadores 51

Ejercicio El procesador debe esperar a que el dato esté listo Se desperdician ciclos Ejemplo: Si un procesador es capaz de ejecutar 200 MIPS y la espera de un dato dura 5 ms Cuántas instrucciones debe ejecutar en el bucle de sincronización? ARCOS Estructura de Computadores 52

Ejercicio Sea un procesador con una frecuencia de reloj de 500 MHz. Si el número medio de ciclos de reloj necesario para ejecutar una instrucción es de 25. Calcular el número medio de instrucciones que este computador puede ejecutar en un segundo. ARCOS Estructura de Computadores 53

E/S mediante interrupciones CPU E/S Petición de operación Uso de CPU Ejecuta otro programa No Preguntar por el estado Listo? E/S CPU CPU MP Transferencia del dato Transferencia del dato a memoria Interrupción No Fin de bloque? Si ARCOS Estructura de Computadores 54

E/S mediante interrupciones CPU E/S Petición de operación Uso de CPU Ejecuta otro programa No Preguntar por el estado Listo? E/S CPU CPU MP Transferencia del dato Transferencia del dato a memoria Interrupción Qué ocurre cuando llega la interrupción? No Fin de bloque? Si ARCOS Estructura de Computadores 55

E/S mediante interrupciones CPU E/S Petición de operación Uso de CPU Ejecuta otro programa No Preguntar por el estado Listo? E/S CPU CPU MP No Transferencia del dato Transferencia del dato a memoria Fin de bloque? Si Interrupción Ventajas: Se evita el bucle de espera Se ejecutan otros programas ARCOS Estructura de Computadores 56

E/S mediante interrupciones procesador Memoria INT E/S E/S ARCOS Estructura de Computadores 57

DMA (Acceso directo a memoria) El procesador no realiza la transferencia entre la unidad de E/S y la memoria Con interrupciones se evita el bucle de espera pero la transferencia la lleva a cabo el procesador Para un bloque de N bytes, se generan N interrupciones Con DMA toda la transferencia la realiza la unidad de E/S Solo una interrupción al final Memoria Sin DMA Con DMA CPU E/S Sin DMA ARCOS Estructura de Computadores 58

Transferencia de un bloque mediante DMA CPU E/S Petición de operación Uso de CPU Ejecuta otro programa Transferencia del bloque a memoria Perif. E/S E/S MP Operación completada ARCOS Estructura de Computadores 59

Transferencia de un bloque mediante DMA CPU E/S Petición de operación Uso de CPU Ejecuta otro programa Transferencia del bloque a memoria Perif. E/S E/S MP Operación completada Interrupción Al finalizar toda la transferencia ARCOS Estructura de Computadores 60

Estructura simplificada de un módulo de E/S para DMA Unidad de E/S R. control R. Contador Dir. de MP buffer ARCOS Estructura de Computadores 61

Transferencia con DMA R. control R. Contador Dir. de MP buffer Unidad de E/S El procesador escribe en los registros (con instrucciones de E/S) La operación (R. control) Lectura, escritura El número de bytes a transferir (R. contador) La dirección de memoria principal donde Se almacenan los datos (escritura al periférico) Almacenar los datos (lectura del periférico) ARCOS Estructura de Computadores 62

Transferencia con DMA R. control R. Contador Dir. de MP Unidad de E/S La unidad de E/S transfiere todo el bloque de datos del periférico al buffer interno de la unidad de E/S (para lectura) buffer ARCOS Estructura de Computadores 63

Transferencia con DMA Unidad de E/S R. control R. Contador Dir. de MP Memoria principal buffer El módulo de E/S transfiere el bloque while (contador > 0) { Byte (palabra) Dir de MP Dir de MP ++; contador --; } ARCOS Estructura de Computadores 64

Transferencia con DMA Unidad de E/S R. control R. Contador Dir. de MP Memoria principal buffer Cuando acaba toda la transferencia se genera una interrupción INT Procesador ARCOS Estructura de Computadores 65

Acceso del módulo de E/S en MP Bus de datos Procesador Bus de direcc. BUSACK BUSRQ E/S Memoria principal Hay que coordinar el acceso a memoria entre el procesador y el módulo de E/S ARCOS Estructura de Computadores 66

Acceso del módulo de E/S en MP Robo de ciclo Procesador BUSRQ Bus de datos Bus de direcc. BUSACK Cuando la unidad de E/S está lista para transferir un dato: Activa la señal BUSRQ para solicitar el acceso a los buses Al final de cada fase de una instrucción el procesador comprueba la señal BUSRQ. Si está activa libera los buses y activa BUSACK La unidad de E/S accede a MP y a continuación desactiva BUSRQ El procesador continúa La interrupción se genera al final E/S Memoria principal ARCOS Estructura de Computadores 67

Curiosidades: Importancia de los controladores Estadísticas del kernel de Linux (2007-2008): 9,2 millones de líneas de código. Se incrementa un 10% cada año: En media cada día se: Añaden 4.500 líneas, Borran 1.800 líneas Modifican 1.500 líneas La mayor parte del código es de los drivers: El 55% del código son los controladores de dispositivo (o drivers) Software parte del sistema operativo que la CPU ejecuta para trabajar con el dispositivo asociado ARCOS Estructura de Computadores 68

Ejercicio 1 Sea un disco con 600 sectores por pista, con un con una velocidad de rotación de 7200 rpm y un tiempo medio de búsqueda de 2ms. Calcule el tiempo medio de acceso a un sector. ARCOS Estructura de Computadores 69

Ejercicio 2 Se desea desarrollar un controlador para un semáforo. El controlador dispone de una CPU de 32 bits, mapa de E/S común y juego de instrucciones del MIPS 32. A esta CPU se le conectan dos módulos de E/S. El primero es un cronómetro y el segundo es el módulo de E/S que controla el funcionamiento del semáforo. El módulo cronómetro dispone de los tres registros siguientes: Registro con dirección 1000. En este registro se carga el valor correspondiente a la cuenta atrás en segundos. Registro con dirección 1004. En este registro se carga un 1 cuando se quiere comenzar la cuenta atrás. Registro con dirección 1008. Cuando la cuenta atrás llega a 0, en este registro se carga un 1. Mientras se está realizando la cuenta atrás el valor de este registro es 0. El módulo de E/S que controla el semáforo dispone de tres registros: Registro con dirección 1012. En este registro se codifica el valor correspondiente al color del semáforo: 100 para el rojo, 010 para el amarillo y 001 para el verde. Se pide: Escriba el programa ensamblador que controla el funcionamiento de este semáforo. El semáforo siempre comienza su funcionamiento en rojo. La duración del semáforo en rojo y verde es de 90 segundos y en amarillo de 20 segundos. ARCOS Estructura de Computadores 70

Ejercicio 3 Un computador tiene conectado un ratón que debe consultarse al menos 30 veces por segundo para poder actualizar su posición en la pantalla. La rutina que consulta su posición y vuelve a dibujar el puntero en la pantalla requiere 2000 ciclos para su ejecución. Si el computador tiene una frecuencia de 2.7 GHz, qué sobrecarga supone la mencionada rutina de tratamiento de interrupciones, es decir, qué porcentaje de tiempo dedica el computador a ejecutar esta rutina. ARCOS Estructura de Computadores 71

Ejercicio 4 Se dispone de un computador que tiene conectados un sensor que mide la temperatura de un horno y una alarma. El sensor de temperatura se conecta al computador a través de un módulo de E/S que dispone de los tres siguientes registros: Registro de control (dirección: ST_REG_CONTROL). Este registro se utiliza para indicar la operación a realizar sobre el sensor. Se pueden indicar dos operaciones: Inicialización del dispositivo. El dispositivo se inicializa mediante el valor 0 Lectura de la temperatura. Esta operación se indica con el valor 1. Registro de datos (dirección: ST_REG_DATOS). En este registro se almacena el valor de la temperatura tomado por el sensor. Registro de estado (dirección: ST_REG_ESTADO). Este registro puede almacenar dos valores: Listo (valor 1): cuando el dispositivo se ha inicializado o se dispone de una medida de temperatura válida. Ocupado (valor 0): cuando el dispositivo está inicializándose o realizando una toma de medida. ARCOS Estructura de Computadores 72

Ejercicio 4 (cont) Por su parte, la alarma se conecta a un módulo de E/S que dispone de dos registros: Registro de control (dirección: A_REG_CONTROL). Este registro se utiliza para activar o desactivar la alarma. Para activar la alarma se escribe en este registro el valor 1. Para desactivarla se escribe el valor 0. Registro de estado (dirección: A_REG_ESTADO). Este registro permite conocer el estado de la alarma. Si el valor de este registro es 0, la alarma se encuentra desactivada. Si el valor almacenado es 1, la alarma está activada. El computador dispone de un mapa de E/S separado y dos instrucciones de E/S: in RegProcesador, RegE/S que carga en el registro del procesador RegProcesador el dato almacenado en el registro de un módulo de E/S con dirección RegE/S. out RegProcesador, RegE/S que carga en el registro del módulo de E/S con dirección rege/s el dato almacenado en el registro del procesador RegProcesador. Todos los registros de los módulos de E/S son registros de 32 bits. Escriba utilizando el ensamblador del MIPS un programa que lea continuamente la temperatura del horno. Si la temperatura supera los 100º C, se debe activar la alarma y dejarla activada mientras la temperatura se encuentre por encima de los 100º C. Cuando la temperatura caiga por debajo de los 100º se debe desactivar la alarma. ARCOS Estructura de Computadores 73

Ejercicio 5 Sea un computador de 32 bits con direccionamiento de bytes y mapas de direcciones separados para memoria y entrada/salida. Su arquitectura ofrece el juego de instrucciones del MIPS R2000 más las instrucciones in y out, que permiten leer y, respectivamente, escribir en los registros de los módulos de E/S: in rdest, dirección out rsrc, dirección A este computador se encuentra conectado un sensor de nivel de aguas Px con, entre otras, las siguientes características: Su módulo o unidad de E/S dispone de los siguientes registros de 32 bits: Reg. de Control (R_CONTROL_Px) Reg. de Estado (R_ESTADO_Px) Reg. de Datos (R_DATOS_Px) Sólo dispone de dos mandatos o comandos, ON (activa el sensor) y OFF (desactiva el sensor). El Reg. de Estado tiene tres valores posibles: MIDIENDO, NUEVO y ERROR. El modo de operación del sensor es el siguiente: cuando se activa pone su estado inicialmente a MIDIENDO, a partir de ese momento devolverá (en su Reg. de Datos) una nueva medida (32 bits) del nivel del agua cada vez que detecte una variación en el nivel mayor de un determinado umbral. Cuando suministra un nueva medida en el Reg. de Estado aparece el valor NUEVO, y cuando detecta que se ha leído éste (del Reg. de Datos) cambia su valor a MIDIENDO, hasta la llegada de una nueva medida. Además es posible que se produzca alguna anomalía en el sensor, dejando de estar operativo, circunstancia que indica con el valor ERROR en el Reg. de Estado. ARCOS Estructura de Computadores 74

Ejercicio 5 (cont) Se pide: Escribir un programa (driver) para manejar este periférico mediante E/S Programada con el siguiente funcionamiento: 1. Se activa el sensor. 2. Hasta que se complete un total de 100 medidas, cada vez que llega una nueva se deberá almacenar en la siguiente posición de la zona de Memoria asignada, que comienza en la dirección M_ALMACEN. 3. Si en cualquier momento se detecta que se ha producido un error de funcionamiento del periférico, se deberá interrumpir la lectura de las 100 medidas y escribir en la posición de Memoria M_CODIGO el valor PROBLEMAS. 4. Si se completan las 100 medidas se escribirá en la posición de Memoria M_CODIGO el valor TODO_OK. Indicar qué inconvenientes tiene el uso aquí de esta técnica de E/S Programada o Directa y cómo se podría utilizar en su lugar la de E/S por Interrupciones. Indique brevemente el beneficio que supondría su uso en este caso. NOTA: todos los identificadores (nombres simbólicos) que aparecen en el enunciado tendrán un determinado valor (no especificado aquí) y corresponden siempre a datos de 32 bits. ARCOS Estructura de Computadores 75