La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Consideraciones generales (2). Evolución de la arquitectura Un periférico conectado al procesador mediante un bus especial Un buffer intermedio que permite.

Presentaciones similares


Presentación del tema: "Consideraciones generales (2). Evolución de la arquitectura Un periférico conectado al procesador mediante un bus especial Un buffer intermedio que permite."— Transcripción de la presentación:

1 Consideraciones generales (2)

2 Evolución de la arquitectura Un periférico conectado al procesador mediante un bus especial Un buffer intermedio que permite la conexión al procesador de varios periféricos Arquitectura PCI Arquitectura PCI-Express

3

4

5

6

7 Tipo PCIAncho de banda simple Ancho de banda doble X1250MBps500MBps X2500MBps1000MBps X41000MBps2000MBps X82000MBps4000MBps X123000MBps6000MBps X164000MBps8000MBps

8

9

10 Cliente típico

11 Portátil típico

12 Servidor típico

13

14

15

16

17 Resumiendo…(1) La diferencia de velocidad entre la cpu y los periféricos obliga a disponer de áreas de memoria intermedia Éstas forman una jerarquía: cuanto más cerca del procesador, más escasa y más rápida es la memoria

18 Resumiendo…(2) Allanado el camino para la comunicación, ésta se realiza a través de los C.D. Los C.D. tienen una parte soft y una parte hard La parte soft se conecta con la parte hard a través de los puertos

19 Controlador dma000-00F Controlador interrup Temporizador Controlador juegos200-20F Puerto serie2F8-2FF Controladora disco320-32F Puerto Paralelo378-37F Controlador gráficos3D0-3DF Disco flexible3F0-3F7

20 Un ejemplo #include main(){ while (1){ printf(%d\n,inportb(0x60)); }

21 El cuándo 1.Explorar continuamente el estado 2.Esperar el aviso 3.Explorar ante aviso genérico 4.Vectorización

22 1 > Exploración continua 1.Muy ineficiente 2.Inseguro 3.Fácil implementar prioridades 4.Adecuado sólo para micros dedicados

23 2 > Esperar aviso 1.Sólo apto para periféricos rápidos, como discos duros 2.No sirve para implementar prioridades

24 3 > Explorar aviso genérico 1.Se usa con conjuntos de periféricos del mismo tipo 2.Permite implementar prioridades dentro del conjunto

25 4 > Vectorización completa 1.Es el método más eficiente 2.Cada dispositivo tiene una señal propia y es atendido por la CPU cuando la emite 3.No es posible asignar prioridades por software: han de estar definidas por hardware

26 Interrupciones Un mecanismo mediante el cual un periférico requiere la atención de la cpu Requiere apoyo hardware, sobre todo para implementar las prioridades

27 Interrupciones, sucesos 1.Un o varios periféricos generan una señal 2.Un chip específico evalúa las prioridades 3.Se activa un protocolo de comunicación con la cpu 4.Si la cpu acepta la interrupción…

28 Interrupciones, sucesos 1.El número de interrupción indexa una tabla, llamada TVI 2.En la TVI se encuentra la rutina encargada de atender a la interrupción (RSI) 3.La RSI salva el estado de la cpu, atiende al periférico y restaura el estado de la cpu 4.La cpu continúa con lo que estaba haciendo

29 Interrupciones, latencia En la descripción anterior, la RSI salva el estado de la cpu. No ha de ser necesariamente así. Puede hacerse por hardware La reducción de tiempo necesario para atender una interrupción no ha sido correlativo al aumento de velocidad de los procesadores

30 Interrupciones, latencia ProcesadorEntradaSalida Philips LPC 2106 (60MHz), ns/27c400ns/25c RTX2000 (10MHz), ns/0c200ns/1c

31 Interrupciones, latencia ProcesadorCiclosTiempo RTX x10^-6 Sun3 M x10^-6 Sun4 (SPARC) >81x10^-6

32 Interrupciones, determinismo Aproximadamente el 20% de las instrucciones de un micro son saltos. ¿Qué ocurre cuando se falla en la predicción de un salto? ProcesadorCiclos perdidos Pentium IV30 (385 peor caso) ARM4 RTX20002 (siempre)

33 Ejemplo de implementación El micro 8259 es un controlador programable de interrupciones que se encuentra en los ordenadores personales Recibe las señales de interrupción de los periféricos, evalúa las prioridades y se comunica con la cpu

34

35 Secuencia de sucesos El CPI recibe por las líneas irx una o varias señales de periféricos Cada línea activa un bit en un registro especial llamado IRR El chip evalúa las prioridades, y selecciona una interrupción Toma el bit que corresponde y lo pasa a otro registro, llamado ISR (sigue…)

36 Secuencia de sucesos Mediante la línea int el chip se comunica con la CPU La cpu asiente mediante la línea inta. Una segunda inta es la señal para que el CPI deposite en el bus dx un número Ese número le señala a la CPU la interrupción (sigue…)

37 Secuencia de sucesos La cpu usa ese número para indexar una tabla que se encuentra en la base de la memoria, llamada TVI En esa tabla se encuentran las direcciones de las rutinas que han de atender a las interrupciones Se pasa el control a la rutina con la dirección indicada en la TVI (sigue…)

38 Secuencia de sucesos La rutina apila los registros de la CPU Accede a los puertos y se comunica con los periféricos, o bien, deja una señal para el S.O. Restaura el registro ISR del CPI Restaura los registros de la CPU La CPU sigue su marcha.

39 Ejemplo de programación


Descargar ppt "Consideraciones generales (2). Evolución de la arquitectura Un periférico conectado al procesador mediante un bus especial Un buffer intermedio que permite."

Presentaciones similares


Anuncios Google