• No se han encontrado resultados

Aio.pdf

N/A
N/A
Protected

Academic year: 2020

Share "Aio.pdf"

Copied!
16
0
0

Texto completo

(1)

UPCO ICAI Departamento de Electrónica y Automática 1 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

ENTRADA/SALIDA

Arquitectura de Ordenadores

Entrada/Salida

Conectar con el mundo real

CPU

1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0

1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1

MEMORIA

R0

R1

PC

RA

X

Y

MX

MY

OA

LO L1 LPC

LA

TRA TA

TPC

TAD

TDD L0 L1 LA LPC TRA TA TPC TAD TDD OP

R/W’ CS’s

DA

TA

PA

T

H

CONTR

O

L

ENTRADA

SALIDA

(2)

UPCO ICAI Departamento de Electrónica y Automática 3 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Ejemplo de entrada/salida muy sencilla

A0 A1 CS R/W’

D1 D0

5 V

0 1 2 3

La CPU (y por tanto mi programa) ve

el mundo como posiciones en el mapa de memoria donde se lee y escribe Cuando la CPU escribe en el bit 0 de la dirección

0, enciende (1) o apaga (0) la bombilla) Cuando la CPU lee el bit 1 de la

dirección 0, lee el estado del interruptor (1-abierto 0-cerrado)

Arquitectura de Ordenadores

Entrada/Salida

Mapa de memoria básico

CPU

00000

FFFFF

HD

Mapa de memoria

ROM

RAM

Teclado

Pantalla

Disco duro

Bus de datos

Bus de direcciones

(3)

UPCO ICAI Departamento de Electrónica y Automática 5 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Organización física simple

MEMORIA

8085

8085

CPU

HD

8085

8085

8085

8085

Bus del sistema

Entrada/Salida del sistema

Dispositivo (unidad)

de entrada/salida

(Periférico)

Tarjeta controladora

del dispositivo (IOC)

Arquitectura de Ordenadores

Entrada/Salida

Organización del periférico

Dispositivo

– Parte mecánica

• Ejemplo: disquetera

– Motor que hace girar el disco a velocidad constante

– Motor para posicionar el brazo de lectura

– Parte electrónica

• Electrónica para poder grabar y leer los datos

• Electrónica de accionamiento de los motores

Controlador

– Electrónica que hace ver al dispositivo como un conjunto de

registros desde la CPU.

– Simple o complicado dependiendo del dispositivo

• Interfaz con el bus

(4)

UPCO ICAI Departamento de Electrónica y Automática 7 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Interfaz entre periféricos y bus del sistema

Cada periférico tiene una interfaz compatible con el bus del

sistema que permite ver al periférico desde la CPU como un

conjunto de registros.

CPU

Bus del

sistema

Interfaz

Interfaz

Interfaz

Interfaz

Módulo de

Memoria

Módulo de

Memoria

Controladora

Disco duro

Tarjeta

gráfica

HD

Bus del

periférico

Registro de Estado Registro de Comandos Registro para dato de entrada

Registro para dato de salida INTERFAZ

Arquitectura de Ordenadores

Entrada/Salida

Organización del mapa de memoria

¿Cómo interconectar al bus de datos y direcciones de la

CPU?

– Memoria RAM

– Memoria ROM

– Periférico 1

– Periférico 2

– Posible opción: división en bloques de tamaño igual

CPU

ROM

RAM

Perif. 1

Perif. 2

Bus de datos

Bus de

Direcciones

+ Control

Bus de control

(5)

UPCO ICAI Departamento de Electrónica y Automática 9 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Programación básica del periférico

Escribir comando para inicializar periférico

Escribir comando para pedir dato al periférico (teclado)

Leer registro de estado para ver si ha llegado el dato

¿Ha llegado?

Leer dato del registro de entrada

Entrada/Salida

programada

(Polling)

No

Arquitectura de Ordenadores

Entrada/Salida

Interrupciones

Problemas de la

entrada/salida programada

o por polling (consulta

continua del registro de

estado)

– La CPU no puede hacer

otros trabajos

• La CPU espera durante

horas a que se teclee una

tecla

Solución: Interrupciones

– La CPU sigue con otros

trabajos

– Cuando el periférico está

listo avisa a través de la

línea de interrupción a la

CPU para que lea el dato

MEM

E/S 1

CPU

E/S 2

BUS

INTR 1

INTR 2

Las líneas de interrupción forman parten del bus de control dentro del

(6)

UPCO ICAI Departamento de Electrónica y Automática 11 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Funcionamiento de la interrupción

Instrucción 1

Instrucción 2

Instrucción 3

Instrucción 4

Instrucción 5

Instrucción 6

Instrucción 7

Instrucción 8

Instrucción 9

...

PROGRAMA

INTR 2

Instrucción 1

Instrucción 2

Instrucción 3

Instrucción 4

Instrucción 5

...

IRET

RUTINA DE INTERRUPCIÓN Vecto

r inter

rupció

n ‘2’

E/S 1

CPU

E/S 2

BUS

INTR 1

INTR 2

Se salva PC

en el stack

Se recupera PC del stack

PC

MEM

Dirección INTR1 Dirección INTR2 Rutina INTR1 Rutina INTR2 Programa PC Programa

Stack

Tabla de ve ct o res d e in te rru p ció n

Arquitectura de Ordenadores

Entrada/Salida

DMA

Polling e interrupción necesitan de

la intervención de la CPU

– Ejemplo: pasar un dato de la

controladora del disco duro a la

memoria

• La CPU lee de la controladora el dato • La CPU escribe el dato en la memoria

DMA (Direct Memory Access)

permite pasar los datos

directamente del periférico a la

memoria sin intervención de la CPU

– El controlador de DMA (DMAC) es el

encargado de realizar la operación de

DMA entre periférico y memoria

– El controlador de DMA toma de forma

momentánea el control del bus

• Toda la operación está controlada por la CPU, a través de programa con instrucciones adecuadas para la programación del controlador de DMA

CPU

IOC

(7)

UPCO ICAI Departamento de Electrónica y Automática 13 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Operación de DMA simple

Periférico está preparado para recibir un dato de la memoria y

solicita operación de DMA a DMAC

– La CPU (mi programa) configuró previamente el periférico para recibir datos

por DMA

DMAC pide el control del bus a la CPU (Bus request)

CPU deja de controlar el bus y avisa a DMAC

DMAC pone dirección del dato a leer de memoria

– La CPU programó en el DMAC una dirección de inicio y un número de

transferencias

Memoria pone dato en el bus

DMAC ordena a la interfaz del periférico leer del bus

Interfaz del periférico lee el dato del bus

DMAC avisa a la CPU para que recupere el control del bus

A así nuevamente: DMAC va robando ciclos de la CPU de control

del bus de sistema hasta realizar toda la transferencia

– Otros modos: bloque o ráfaga

Arquitectura de Ordenadores

Entrada/Salida

Resumen métodos para realizar la Entrada/Salida

Polling

– Simple, no necesita hardware adicional

– Desperdicio de ciclos de reloj, el periférico debe esperar

Interrupción

– Atención inmediata al periférico

– Complejo, se necesita hardware adicional (líneas adicionales,

controlador de interrupciones)

DMA

– Velocidad al comunicar directamente la memoria con el periférico

– Complejo de programar, hardware adicional (DMAC)

Metodos de conexión de la entrada/salida

– Mapa de memoria

(8)

UPCO ICAI Departamento de Electrónica y Automática 15 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Procesadores de Entrada/Salida

La CPU delega en un

procesador (IOP) la

entrada/salida

Desde la CPU se sigue viendo

como una posición de memoria

más.

La CPU manda comandos al

IOP y éste los ejecuta.

– Los programas que debe ejecutar

el IOP correspondientes a esos

comandos puede estar en la

memoria principal o en una

memoria propia del procesador

(ROM)

Más adelante se tratará en

profundidad los buses

CPU

IOP

Mem

D1

D2

Bus

de la

CPU

I/O

bus

Bus de los

dispositivos

Dn

Arquitectura de Ordenadores

Entrada/Salida

Gestión de prioridades

Varios periféricos conectados: ¿A quién se atiende

primero?

– Entrada/Salida programada

• Orden en el polling

– Entrada/Salida por interrupción: la línea de interrupción puede ser

activada por varios periféricos

• Software: Polling

– Orden en la consulta del registro de estado de los periféricos

• Hardware:

– Daisy-chain

» Está cableado el orden en la atención a los periféricos

– Unidad de control programada

» Un controlador dirime a qué periféricos se atiende primero

– Entrada/Salida por DMA

(9)

UPCO ICAI Departamento de Electrónica y Automática 17 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Daisy-chain

Uno o varios periféricos activan la línea de Interrupción

La CPU activa la línea ACK para indicar al primer

dispositivo conectado que ponga la dirección de la rutina

de interrupción a ejecutar (o vector)

Cuando este periférico ha sido atendido por la rutina de

interrupción, o no ha provocado la interrupción, activa la

línea ACK del siguiente periférico.

CPU

Dispositivo1

Mayor

Prioridad

ACK

Vector Int

INT

Dispositivo2

DispositivoN

Menor

Prioridad

ACK

ACK

Arquitectura de Ordenadores

Entrada/Salida

(10)

UPCO ICAI Departamento de Electrónica y Automática 19 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Intercambio de información entre CPU (Mem) e IO

Tres niveles

– Transferencia elemental

(Carácter)

• Envío o recepción de un solo dato (byte) (dato o comando)

– Se realiza por hardware

– Su duración es del orden de una instrucción

– No depende de la velocidad del periférico

– Transferencia de bloque

(Sector)

• Mover un bloque de datos

– Por software o por DMA

– La duración la marca el periférico

– Se realiza a base de transferencias elementales

– Operación de Entrada/Salida

(Fichero)

• Transferencia completa del mensaje entre CPU (memoria) y periférico

– Por software, basado en los niveles de bloque y elemental

– La velocidad la marca el periférico

– Tratamiento de errores

Arquitectura de Ordenadores

Entrada/Salida

¿Cómo es el mundo de los periféricos?

Device

Behavior

Partner

Data rate (KB/sec)

Keyboard

input

human

0.01

Mouse

input

human

0.02

Voice input

input

human

0.02

Scanner

input

human

400.00

Voice output

output

human

0.60

Line printer

output

human

1.00

Laser printer

output

human

200.00

Graphics display

output

human

60,000.00

Modem

input or output

machine

2.00-8.00

Network/LAN

input or output

machine

500.00-6000.00

Floppy disk

storage

machine

100.00

Optical disk

storage

machine

1000.00

Magnetic tape

storage

machine

2000.00

(11)

UPCO ICAI Departamento de Electrónica y Automática 21 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Rendimiento de la entrada/salida

¿De qué depende el rendimiento?

– CPU

– Sistema de memoria

– Buses de interconexión

– Controlador del periférico

– Periférico

– Driver del sistema operativo para controlar el periférico

– Eficiencia del software utilizando el periferico

Métricas para medir el rendimiento

– Ancho de banda del periférico

• Número de transacciones por unidad de tiempo

– Latencia del periférico

• Tiempo entre la orden de transacción y el fin de su ejecución

Arquitectura de Ordenadores

Entrada/Salida

Importancia de la entrada/salida

(12)

UPCO ICAI Departamento de Electrónica y Automática 23 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Programa y periféricos

Núcleo del SO (Linux)

Programas de usuario y aplicaciones

Teclado Discos RED

Periféricos

Disp.de

Bloque Manejadores de

dispositivos Llamadas al sistema

Disp.de Caracter

Control de dispositivos

Control de dispositivos

Disp.de

RED WM

Sistema Gráfico

Arquitectura de Ordenadores

Entrada/Salida

Modelo de programación y gestión de la IO

Cola

– Un consumidor y un productor que trabajan a muy diferente

velocidad

• CPU: 1 GB/seg

• Disco duro: 20 MB/seg

– Una cola o buffer para adaptar las velocidades

• Nunca se debe rebasar el tamaño del buffer

• Ancho de banda o throughput: número de elementos retirados por

unidad de tiempo

• Latencia: tiempo que media entre la entrada y la salida del elemento

• La capacidad de consumo debe ser mayor que la de producción

– El productor produce a ráfagas, que no desbordan la cola pero

con una velocidad de pico mayor que la de consumo

(13)

UPCO ICAI Departamento de Electrónica y Automática 25 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Ejemplo de periférico: Disco duro

Almacenamiento masivo y barato de la información

Lento: nivel bajo de la jerarquía de memoria

Arquitectura de Ordenadores

Entrada/Salida

(14)

UPCO ICAI Departamento de Electrónica y Automática 27 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

¿Cómo es un disco duro por dentro?

Arquitectura de Ordenadores

Entrada/Salida

Organización lógica del disco duro

Pista

(15)

UPCO ICAI Departamento de Electrónica y Automática 29 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Detalles físicos del disco duro

Arquitectura de Ordenadores

Entrada/Salida

Números en un disco duro

Leer un dato tiene cuatro fases:

1. Colocar la cabeza lector en la pista adecuada

(

SEEK TIME

)

• Entre 5 y 15 ms

2. Rotar para colocar la cabeza sobre el sector

adecuado (

ROTATIONAL LATENCY

)

– 5000 rpm a 15000 rpm – Entre 12 y 4 ms

3. Leer el sector (

TRANSFER TIME

)

– Tamaño del sector típico: 1 KB – Entre 10 y 30 MB/seg

4. Transferir el sector al bus correspondiente del

ordenador (

CONTROLLER TIME

)

– SCSI, IDE

– Entre 10 y 30 MB/seg

Tiempo medio de acceso

(SEEK TIME) + (ROTATIONAL LATENCY) +

(TRANSFER TIME) + (CONTROLLER TIME)

Sector

Pista

Cilindro

Cabeza

Disco

(16)

UPCO ICAI Departamento de Electrónica y Automática 31 José A. Rodríguez Mondéjar

Cesáreo Fernández Martínez

Ejemplo de cálculo de tiempo de acceso

Datos del disco duro

– Tamaño del sector: 512 bytes

– 5400 RPM

– Tiempo de búsqueda medio (Seek time): 12 ms

– Velocidad media de transferencia: 4 MB/seg

– Overhead del controlador: 1 ms

Cálculo:

– Latencia máxima en la rotación: 60/5400 = 11 ms

– Latencia media de rotación: 5.5 ms

– Tiempo de transferencia del sector: 0.512/(4*1024)= 0.1ms

– Tiempo medio de acceso: 12ms + 5.5ms + 0.1ms + 1ms = 18.6 ms

– Ancho de banda: depende de dónde estén las cabezas

Referencias

Documento similar

Para poder establecer la comunicación entre la interfaz y el sistema, se ha hecho uso del dispositivo HC – 05, el cual es un módulo bluetooth compatible con

a) Implementar un módulo de entrenamiento para el control de posición y velocidad de servomotores. b) Aprendizaje del método de control de servomotores basados en trenes de

El dispositivo emisor requiere de un controlador NodeMCU y un controlador Arduino Nano, la interfaz de audio y, aunque es opcional para su funcionamiento, un módulo sensorial, en

Su funcionalidad permite mostrar en la pantalla Tablero una expresión matemática, seleccionar sus términos y resaltarlos con un determinado color para destacar la selección

Los resultados obtenidos nos permiten visualizar una gráfica en la interfaz de usuario del sistema que refleja la distribución de fuerzas aplicadas sobre cada uno de los elementos

Diseño del sistema de control realimentado e interfaz gráfica de usuario para un robot Gantry de 3 grados de libertad con microcontroladores y software SCADA..

El usuario se debe encontrar en el módulo Seguridad, en el submódulo Configurar usuarios en la interfaz Usuarios El usuario que se desea adicionar no ha sido adicionado antes

Se llega a la conclusi ´on del desarrollo de una interfaz de usuario, para suplir la carencia de esta, la Web como medio para propiciar la interacci ´on requerida, converge con el