Title: Interconexi
1Interconexión de procesadores con periféricos
- Un aspecto esencial de los sistemas empotrados de
uso industrial.
2Qué es un dispositivo de e/s
- Los computadores toman y producen datos desde/a
el mundo exterior. - Teclados, pantallas, operadores humanos,
impresoras, discos duros, convertidores a/d, d/a,
sensores, actuadores dispositivos. - e/s entradas/salidas formatos, procesos y
capacidades que permiten a un computador enviar y
recibir información a sus periféricos.
3El rendimiento y las e/s
- Cómo afectan las e/s al rendimiento de un
computador? - Dónde encajan las e/s en la ecuación general del
rendimiento? - Es difícil medir el rendimiento de los sistemas
de e/s. - En el momento presente las e/s están siendo
desarrolladas muy notablemente. - Por qué? La ley de Amdahl.
4El uso del computador y el rendimiento de e/s
- Evaluamos el rendimiento de un sistema de e/s de
acuerdo con la aplicación a la que se destina el
computador. - Latencia tiempo transcurrido entre el inicio de
una solicitud y el instante en que ésta solicitud
es satisfecha por parte del sistema de e/s. - Ancho de banda cantidad de bytes que el
computador es capaz de comunicar al sistema de
e/s en cada segundo de tiempo. - Tasa de e/s Número de operaciones de e/s que es
capaz de realizar el sistema de e/s en cada
segundo de tiempo.
- Supercomputadores throughput.
- Bases de datos TPC.
- Rendimiento de los sistemas de ficheros
5Tipos de dispositivos de e/s
El ratón
6El disco duro platos, pistas y sectores.
Platos
Pistas concéntricas
Movimiento circular
Plato
Sectores
Platos
Cabeza de lectura/escritura
Movimiento radial
7Lectura de un sector de un disco duro.
El sector buscado
3º Transferir el sector a un buffer del
controlador de disco Ttransf f(Xfer size,Speed,
density)
4º Transferir buffer a la memoria a través del
bus de i/o
51
50
49
48
47
46
. . .
1º Seek mover la cabeza radialmente hasta el
número de pista adecuado. seek time mínimo,
máximo y promedio
2º Retardo rotacional esperar a que el
movimiento rotacional produzca el paso del sector
buscado bajo la cabeza. 3600 o 7200 rpm
8La interfaz de red local
- 100VG Anylan (Hewlett-Packard), Fast Ethernet
(Intel). Servicios de nivel 1 y 2 interfaz de
red. - TCP/IP Servicios de nivel 3 y 4, red y
transporte. Enrutamiento, control de errores y de
flujo, servicios con conexiones virtuales,
servicios de datagrama Sistema operativo.
Tarjeta de red local Ethernet
9BUS de computador
- EL PROBLEMA
- CPU, Memoria / Dispositivos
- El número de dispositivos a conectar puede ser
muy grande - La demanda de cada dispositivo sobre el sistema
CPU-Memoria - Disparidad de velocidades, anchos de banda,
latencias y otras características. - La conexión directa es inviable.
10BUS de computador
- UNA SOLUCION
- Conjunto de líneas de transmisión compartidas con
todos los dispositivos. - Y un conjunto de especificaciones que arbitren el
uso del bus - Mecánicas
- Eléctricas
- Operacionales Protocolos de bus.
!
!
!
!
!
!
!
!
!
11Intro. rendimiento de los buses (i)
- Facetas del rendimiento de un bus
- Tiempo de respuesta.
- El protocolo de bus tiene una gran influencia.
- Mejora si el protocolo es simple.
- Velocidad de datos.
- Entendida como productividad del bus Bytes
transferidos por unidad de tiempo. - Formas de mejorarlo
- Aumentar el ancho de palabra transmitida en cada
transacción - Aumentar el ancho de banda de la función de
transferencia del bus. - Limitaciones al rendimiento del bus
- La tecnología electrónica empleada
- La longitud y características de las líneas de
transmisión.
12Intro. rendimiento de los buses (ii)
- Comentarios adicionales.
- Ancho de banda y latencia pueden resultar
extremos irreconciliables - Otros problemas en el diseño de buses
- Gestión de dispositivos con velocidades muy
dispares - Señales de datos y direcciones multiplexadas en
el tiempo
13Ciclos de bus
- Secuencia de activaciones de señales del bus
- Escritura. Desde la memoria procesador al
periférico - Lectura. Transferencia de datos desde un
periférico a la memoria procesador - Transferencias síncronas Una señal de reloj
marca los instantes en los que los datos deben
ser válidos - Transferencias asíncronas Los intercambios de
información son válidos cuando alguna de las
partes lo indica mediante la aserción de una
señal handshake.
14Ciclo de bus de lectura de memoria
15Ciclo de bus de escritura en memoria
16Tres estructuras diferentes de buses
- Backplane bus
- Proc / Mem / Dispositivos
- Compromiso
- Demanda proc-mem
- Demanda mem-dispositivo
- Físicamente en el plano trasero del computador
- Reutilizable en diversos sistemas estándar
- Bus procesador-memoria
- Longitudes muy cortas
- Alta velocidad
- Obtener el máximo rendimiento de la memoria no
cuello de botella - Específicos para cada procesador
- Buses de i/o e/s
- Sin conexión directa a memoria
- Gran variedad de dispositivos y características
- Anchos de banda
- Longitudes muy largas
17Temporización de las transacciones en el bus
- Buses síncronos. Datos válidos después de un
número prefijado de flancos activos de
relojEjemplo Bus local del microprocesador 6502 - Buses asíncronos.Datos válidos cuando se activan
ciertas señales indicadoras (strobes)Ejemplo
SCSI, un bus de i/o para discos duros,
típicamente. - Buses de temporización/validación mixtaLa
indicación de datos válidos consiste en la
activación de una señal (strobe) cuando se recibe
el flanco activo de relojEjemplo Bus local de
los microprocesadores Pentium.
18Ejemplo de bus mixto
- Señal de reloj
- El flujo de señales del protocolo de bus es
relativo al reloj. - Todos los dispositivos conectados al bus usan el
mismo reloj. - Posible dispersión de retardos de la señal de
reloj - Clock-skew
- Compromiso velocidad-longitud
- Efecto de línea de transmisión
- Inicio de ciclo ads
- Fin de ciclo ready
Bus síncrono (2cm máx).
Bus síncrono
19Buses asíncronos
- No poseen reloj- metastabilidad.
- La coordinación de las transferencias se efectúa
mediante intercambios de señales handshake. - En cada paso del handshake, emisor y receptor
usan dos señales diferentes para estar ambos en
proceder al siguiente paso -cada uno posée su
propia FSM
20Ejemplo de bus mixto Los procesadores x86
- Nos referimos al bus local de la CPU x86
- Síncrono mixto
- La señal de reloj que se entrega al procesador se
denomina clk2 - Protocolo básico de inicio/fin de ciclo de bus
- El procesador indica el comienzo de un nuevo
ciclo de bus mediante la activación de la señal
ads - En este instante, el temporizador de acceso a
memoria inicia su cuenta atrás. - En el momento en que ha transcurrido la cuenta
atrás, el temporizador aserta la señal ready - Cuando el procesador recibe el flanco activo de
la señal de reloj y, además, encuentra que ready
está asertada, se termina el ciclo de bus actual
y, comienza el siguiente.
21Cómo aumentar el ancho de banda del bus?
- Incrementar el ancho de palabra del bus
(8--gt16--gt32). - Usar buses de datos y direcciones separados -no
multiplexar datos y direcciones en el tiempo, de
este modo datos y direcciones pueden ser enviados
en un mismo ciclo de bus de escritura. - Transferencias en bloque (burst) Permitir que el
procesador pueda transferir varias words seguidas
sin soltar el bus NI generando nuevas direcciones
de memoria. - Mejorar la tecnología subyacente para reducir la
latencia, esto afectará al ancho de banda
positivamente. - Bus de transacciones divididas (split). Permitir
que los dos elementos que se comunican liberen el
bus mientras uno de ellos está resolviendo una
transacción. - Emplear alguna técnica de señalización multinivel
como las empleadas en comunicaciones de datos
(PCI Express).
22Dos esquemas de bus análisis de rendimiento.
- Bus/memoria, bloques de 4 a 16 palabras de 32
bits. - Bus síncrono de 64 bits de 200Mhz. 64 bits/ciclo
1 ciclo/dirección - Dos ciclos entre operaciones del bus.
- 200ns primer acceso, cada conjunto adicional de 4
palabras puede leerse en 20nS. - Puede solaparse la transferencia de la word leída
más recientemente y la solicitud de la siguiente
word a leer.
- Calcular el ancho de banda sostenido y la
latencia de una lectura de 256 words con bloques
de 4 words y de 16 words. - En cada caso, calcular también el número efectivo
de transacciones por segundo realizadas - Una transacción consiste en el tiempo que lleva
generar la dirección seguido de los datos.
23Rendimiento del bus síncrono en modo ráfaga de 4
words.
- Cada bloque de 4 words lleva
- 1 ciclo de reloj para enviar la dirección a la
memoria - 200ns 1ciclo/5ns 40 ciclos de reloj la
lectura de memoria(Tiempo de acceso) - 11 ciclos para transferir las cuatro words a
través de la ruta de 64 bits. - 2 ciclos en que hay que detener el bus antes de
iniciar la siguiente transacción. - Total 45 ciclos por cada bloque de 4 words
- Las 256 words llevan 256/4 64 transacciones
- 45 ciclos/transac x 64 transac 2880 ciclos
Latencia 2888 x 5ns 14400ns - Transacciones/s 64 transac x 1/14400ns 4.44 M
transacciones/seg - Ancho de banda (256 words x 4 bytes/word) x
1seg/14400ns 71.11Mb/seg
24Control y arbitraje del bus -o caos.
- En un bus con más de dos dispositivos
susceptibles de solicitar el bus para comunicarse
con otros dispositivos Qué ocurre cuando dos de
ellos solicitan el bus al mismo tiempo? - Bus master iniciar y controlar todas las
solicitudes. - La memoria suele ser un slave (dispositivo
esclavo) simplemente responde a
solicitudes(r/w), nunca inicia solicitudes. - Sistemas con un único master.
- Sistemas con más de un master arbitraje.
- Un master solicita el bus utilizando un
protocolo, e.g., aserta la señal de petición de
bus y espera a que el master actual aserte la
señal de concesión del bus. A partir de ese
momento usa el bus. - Arbitraje
- equidad, prioridades.
- En cadena
- Arbitraje paralelo, centralizado PCI, emplea un
circuito árbitro. - Arbitraje distribuido códigos de identificación
por dispositivo. - Arbitraje distribuido mediante colisiones
Ethernet. - Normas industriales.
25Control de dispositivos.
- Cómo puede un programa enviar un comando a un
dispositivo? - Existen dos métodos
- e/s mapeadas en memoria (MIPS)
- Cada dispositivo está emplazado en un rango de
direcciones de memoria usamos sw y lw para
enviar/recibir words al/del dispositivo. - El instante, la secuencia precisa de comandos y
su significado para un determinado dispositivo,
depende exclusivamente de cada dispositivo en
particular. - e/s con instrucciones especiales (ia, IBM 360)
- La arquitectura incorpora instrucciones que
permiten acceder a los dispositivos mediante
algún identificador. - Ia Las instrucciones in y out acompañadas de un
número de puerto y un registro.
26Operación de e/s finalizada
- Cómo indica un dispositivo que sí ha ejecutado
con éxito una determinada operación? - Polling El procesador periódicamente consulta al
dispositivo a ver si ha terminado la operación o
no. - Interrupciones El dispositivo, al terminar la
operación, interrumpe al procesador. La rutina de
servicio de la interrupción dialoga con el
dispositivo confirma que la operación ha
terminado y por tanto hay datos nuevos que leer o
bien el dispositivo está listo para transmitir
más datos al exterior, por ejemplo. - DMA El procesador ha encargado a un controlador
especial que se encargue de efectuar la operación
de lectura o escritura memoria-dispositivo. Se
suele emplear para transferencias muy largas. - Mientras la operación e/s memoria-dispositivo
está teniendo lugar, el procesador, puede
trabajar con algún otro proceso en otras zonas de
memoria. - Cuando finaliza la transferencia DMA, el
controlador, avisa al procesador mediante una
interrupción. - Cada controlador de i/o de un bus
procesador-memoria puede contener su propio DMAC.
27El estado del arte en e/s los Procesadores de e/s