Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGustavo Peralez Modificado hace 11 años
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
7
Tipo PCIAncho de banda simple Ancho de banda doble X1250MBps500MBps X2500MBps1000MBps X41000MBps2000MBps X82000MBps4000MBps X123000MBps6000MBps X164000MBps8000MBps
10
Cliente típico
11
Portátil típico
12
Servidor típico
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.020-021 Temporizador040-043 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), 2004 432ns/27c400ns/25c RTX2000 (10MHz), 1988 400ns/0c200ns/1c
31
Interrupciones, latencia ProcesadorCiclosTiempo RTX200040.4x10^-6 Sun3 M68020200-40014x10^-6 Sun4 (SPARC)1150-1600>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
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.