(Dispositivos) periféricos: variedad de tasas de transferencia de entrada de salida de comunicación con personas teclado: <0,01 KB/s ratón: <0,02 KB/s micrófono: 20 KB/s escáner: 100 KB/s webcam: 200 KB/s de comunicación con artefactos CAD: entre 1 KB/s y 100 KB/s impresora de agujas: 0,3 KB/s impresora láser: 500 KB/s altavoz: 20 KB/s pantalla gráfica: 100.000 KB/s tarjeta 3D: 1.000.000 KB/s c 2009 DIT-ETSIT-UPM pantalla táctil: 30.000 KB/s (salida) <0,02 KB/s (entrada) CDA: entre 1 KB/s y 100 KB/s CD: X×150 KB/s (capacidad: 650–900 MiB) DVD: X× 1.350 KB/s (2 – 16 GiB) Blu-ray: X×4.500 KB/s (50 GiB) de almacenamiento de entrada y salida módem (RTC): 7 KB/s xDSL: entre 32 KB/s y 10.000 KB/s discos y cintas: 10.000–100.000 KB/s (100 MiB – 1 TiB) USB flash: 3.000 – 30.000 KB/s (256 MiB – 32 GiB) transp. 1 Periféricos y ADM Para tratar con la variedad: buses y controladores bus de entrada/salida UCP controlador de ADM controlador de impresora controlador de vídeo controlador de audio controlador de conversores controlador de línea serial MP CAD CDA modem sistema controlado disco(s) y cinta(s) de almacenamiento c 2009 DIT-ETSIT-UPM impresora(s) pantalla de comunicación con personas Periféricos y ADM altavoces sistema línea telefónica de comunicación con otros artefactos transp. 2 Modelos estructurales de interconexión ♣ Bus único: bus del sistema CE/S MP UCP ♣ Buses separados: CE/S bus del sistema UCP puente MP bus de e/s CE/S c 2009 DIT-ETSIT-UPM CE/S transp. 3 Periféricos y ADM Buses en un pecé bus interno (Back Side Bus) MP MO UCP 256 b, 3.200 MB/s bus del sistema (Front Side Bus): 32b, 64b, 1000 MB/s 528 MB/s (2x) controlador 1056 (4x) puente PCI AGP grafico 2112 (8x) [PCI Express: 2,5 − 16 GB/s] bus de e/s (PCI): 32b, 133 MB/s 16b, 20 MB/s controlador SCSI 16b, 16 MB/s controlador IDE/ATA puente ISA bus ISA controlador super IO puertos serial, paralelo, PS/2. disquete... c 2009 DIT-ETSIT-UPM 16b, 16 MB/s modem linea Periféricos y ADM puente USB bus USB puerto USB1 1,5 Mbps, 12 Mbps, 480 Mbps puerto USB2 camara escaner transp. 4 Modelos funcionales de interconexión Informaciones datos direcc. perif. estado perif. función datos (ADM) Sentido perif.⇔UCP UCP⇒perif. perif.⇒UCP UCP⇒perif. perif.⇔MP Origen/Destino pto.dat. y reg.UCP reg.UCP/contr. pto.est./reg.UCP reg.UCP/pto.est. reg.perif. y MP Tipo de perif. de caracteres todos todos todos de bloques Alternativas: Espacio de direccionamiento compartido (MP y periféricos: instrucciones LD y ST) Espacios de direccionamiento independientes • instrucciones IN y OUT, o bien • instrucciones con más posibilidades: c 2009 DIT-ETSIT-UPM CO=110011 CA DP transp. 5 Periféricos y ADM Modelos procesales: protocolos de entrada/salida ent/sal (en Simplez,lec/esc ) «Diálogo» (handshaking): lec/esc SINC UCP MFIN PFIN IFIN controlador de periférico MP Protocolos: dir dir ent UCP sal UCP dato PFIN perif. dato perif. PFIN t 0 t 1 t c 2009 DIT-ETSIT-UPM 2 t 3 t 4 t 5 t t0 6 Periféricos y ADM t 1 t2 t3 t4 t5 transp. 6 Protocolo de interrupciones INT Diálogo: aint UCP IT PR controlador de periférico ITPR controlador de periférico Protocolo: ____ INT aint (UCP) dir IFIN t0 c 2009 DIT-ETSIT-UPM t 1 t2 t3 t4 t5 t6 transp. 7 Periféricos y ADM Memorias secundarias: cintas ♣ De papel (obsoletas) Formato de pistas paralelas, con 1 byte/pista 1 byte ♣ Magnéticas cabeza de lectura/escritura Formato: marca inicio • registro físico: {bytes} • fichero: {registros} intervalo registro intervalo sentido del desplazamiento Capacidad: 100 MiB – 100 GiB Tasa de transferencia: 100 KB/s – 40 MB/s intervalo registro intervalo marca fin Acceso secuencial Uso para copias de seguridad (backup) ⇒ streamers c 2009 DIT-ETSIT-UPM Periféricos y ADM transp. 8 Memorias secundarias: discos magnéticos sentido de la rotación Formato: pista cabeza • sector: {bytes}; pista: {sectores} • cilindro: {pistas} en varias superficies • fichero: {sectores} (dispersos) Capacidad: 1.440 KiB – 1 TiB cilindro brazo móvil Tasa de transferencia: 60 KB/s–320 MB/s Acceso cíclico pista tiempo búsqueda (seek time) (1–200 ms) sector tiempo espera (latency) (3–200 ms) (Las peores cifras para el caso de disquetes) c 2009 DIT-ETSIT-UPM Periféricos y ADM transp. 9 Acceso directo a la memoria (ADM, o DMA) ♣ Concepto: Transferencia directa (sin pasar por la UCP) de datos entre el controlador del periférico y la MP ♣ Implica: Que el controlador «se apodere» del bus del sistema (A, D y C) robo de ciclo, o bien robo de bus ♣ Justificación: Cintas y discos: tasas de transferencia elevadas ⇒ no hay tiempo para ejecutar RS Memorias de vídeo para pantallas gráficas c 2009 DIT-ETSIT-UPM Periféricos y ADM transp. 10 Conexión de controladores de ADM bus A esc lec UCP controlador de ADM MP controlador de ADM abus ____ DBUS bus D Árbitro del bus: controla quién accede en cada momento a la MP (puede estar incluido en la UCP, como se supone en la figura) c 2009 DIT-ETSIT-UPM transp. 11 Periféricos y ADM Tipos de controladores de ADM ♣ Dedicado ♣ Selector ♣ Flotante: MP MP bus A bus D bus E/S UCP CADM flot 1 CADM flot 2 perif.1 bus A bus D bus E/S UCP CADM flot 1 perif.2 CADM flot 2 perif.1 perif.2 bus selector (a) conexión de periféricos por bus selector ♣ Multiplexador: (b) conexión de periféricos por bus de E/S MP bus A bus D bus E/S UCP CADM multipl. perif.1 perif.2 ADEM _____ DEM c 2009 DIT-ETSIT-UPM Periféricos y ADM transp. 12 Un controlador de ADM (dedicado o selector): modelo estructural dir abus aint datos ____ DBUS ___ INT bus e/s control REST lec esc RLOC RCDB −1 secuenciador Perif. RDAT +1 RDEC bus D bus A c 2009 DIT-ETSIT-UPM Periféricos y ADM transp. 13 Controlador de ADM: modelo procesal 1. Valores iniciales a RDEC, RCDB y RLOC (con instrucciones OUT, o ST sobre puertos, depende de la UCP) 2. Permiso de petición de bus (1→biestable de REST («ADM»), con instrucción OUT o ST) 3. Protocolo DBUS/abus; RDEC se va incrementando, y RCDB decrementando 4. Cuando (RCDB) = 0, el controlador pone 0→ADM y genera interrupción c 2009 DIT-ETSIT-UPM Periféricos y ADM transp. 14 Uso del controlador de ADM con una zona de e/s Programa que tiene que leer 10 bloques (1 bloque = 1 sector) y procesarlos uno tras otro Zona de MP (buffer) de 512 bytes (= 1 sector) Seudocódigo: iniiar(RLOC); desde CONT = 1 hasta CONT = 10 { RCDB = 512; RDEC = dire.zonaMP; iniiar(REST); esperar a que ADM = 0; proesar(zonaMP); atualizar(RLOC) } c 2009 DIT-ETSIT-UPM • Resultado: UCP: inicia controlador espera servicio inicia procesamiento controlador interrupción tiempo Controlador de ADM: lee y transfiere a zona transp. 15 Periféricos y ADM Uso del controlador de ADM con dos zonas de e/s iniiar(RLOC); RCDB = 512; RDEC = dire.ZONA0; iniiar(REST); mara = falso; desde CONT = 1 hasta CONT = 9 { esperar a que ADM = 0; atualizar(RLOC); RCDB = 512; si mara es verdadero entones { RDEC = dire.ZONA0; iniiar(REST); mara = falso; proesar(ZONA1) } si no { RDEC = dire.ZONA1; iniiar(REST); mara = verdadero; proesar(ZONA0); } } esperar a que ADM = 0; si mara es verdadero entones proesar(ZONA1) si no proesar(ZONA0) c 2009 DIT-ETSIT-UPM UCP: inic. serv. int. procesa ZONA0 inic. serv. int. procesa ZONA1 Controlador de ADM: lee y transfiere a ZONA1 lee y transfiere a ZONA0 (a) lectura más lenta que el procesamiento UCP: inic. procesa ZONA0 serv. procesa inic. int. ZONA0 procesa ZONA1 serv. procesa int. ZONA1 Controlador de ADM: lee y transfiere a ZONA1 lee y transfiere a ZONA0 (b) procesamiento más lento que la lectura Periféricos y ADM transp. 16