Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura...
Transcript of Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura...
![Page 1: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/1.jpg)
Consideraciones generales (2)
![Page 2: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/2.jpg)
Evolución de la arquitectura
q Un periférico conectado alprocesador mediante un bus especial
q Un buffer intermedio que permitela conexión al procesador de varios periféricos
q Arquitectura PCIq Arquitectura PCI-Express
![Page 3: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/3.jpg)
![Page 4: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/4.jpg)
![Page 5: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/5.jpg)
![Page 6: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/6.jpg)
![Page 7: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/7.jpg)
8000MBps4000MBpsX16
6000MBps3000MBpsX12
4000MBps2000MBpsX8
2000MBps1000MBpsX4
1000MBps500MBpsX2
500MBps250MBpsX1
Ancho de banda doble
Ancho de banda simple
Tipo PCI
![Page 8: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/8.jpg)
![Page 9: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/9.jpg)
![Page 10: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/10.jpg)
Cliente típico
![Page 11: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/11.jpg)
Portátil típico
![Page 12: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/12.jpg)
Servidor típico
![Page 13: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/13.jpg)
![Page 14: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/14.jpg)
![Page 15: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/15.jpg)
![Page 16: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/16.jpg)
![Page 17: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/17.jpg)
Resumiendo…(1)o La diferencia de velocidad entre la
cpu y los periféricos obliga a disponerde áreas de memoria intermedia
o Éstas forman una jerarquía: cuantomás cerca del procesador, másescasa y más rápida es la memoria
![Page 18: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/18.jpg)
Resumiendo…(2)o Allanado el camino para la
comunicación, ésta se realiza a través de los C.D.
o Los C.D. tienen una parte soft y unaparte hard
o La parte soft se conecta con la parte hard a través de los puertos
![Page 19: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/19.jpg)
3F0-3F7Disco flexible
3D0-3DFControlador gráficos
378-37FPuerto Paralelo
320-32FControladora disco
2F8-2FFPuerto serie
200-20FControlador juegos
040-043Temporizador
020-021Controlador interrup.000-00FControlador dma
![Page 20: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/20.jpg)
Un ejemplo
#include <stdio.h>#include <dos.h>main(){
while (1){printf(“%d\n”,inportb(0x60));
}}
![Page 21: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/21.jpg)
El “cuándo”
1. Explorar continuamente el estado2. “Esperar el aviso”3. Explorar ante aviso genérico4. Vectorización
![Page 22: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/22.jpg)
1 > Exploración continua
1. Muy ineficiente2. Inseguro3. Fácil implementar prioridades4. Adecuado sólo para micros
dedicados
![Page 23: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/23.jpg)
2 > Esperar aviso
1. Sólo apto para periféricos rápidos, como discos duros
2. No sirve para implementar prioridades
![Page 24: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/24.jpg)
3 > Explorar aviso genérico
1. Se usa con conjuntos de periféricos del mismo tipo
2. Permite implementar prioridades dentro del conjunto
![Page 25: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/25.jpg)
4 > Vectorización completa
1. Es el método más eficiente2. 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
![Page 26: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/26.jpg)
Interrupciones
o Un mecanismo mediante el cualun periférico requiere la atención dela cpu
o Requiere apoyo hardware, sobre todo para implementar las prioridades
![Page 27: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/27.jpg)
Interrupciones, sucesos1. Un o varios periféricos generan una
señal 2. Un “chip” específico evalúa las
prioridades3. Se activa un protocolo de
comunicación con la cpu4. Si la cpu acepta la interrupción…
![Page 28: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/28.jpg)
Interrupciones, sucesos1. El número de interrupción indexa una
tabla, llamada TVI2. 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
![Page 29: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/29.jpg)
Interrupciones, latenciao En la descripción anterior, la RSI
salva el estado de la cpu. No ha de ser necesariamente así. Puede hacerse por hardware
o La reducción de tiempo necesario para atender una interrupción no ha sido correlativo al aumento de velocidad de los procesadores
![Page 30: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/30.jpg)
Interrupciones, latencia
200ns/1c400ns/0cRTX2000 (10MHz), 1988
400ns/25c432ns/27cPhilips LPC 2106 (60MHz), 2004
SalidaEntradaProcesador
![Page 31: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/31.jpg)
Interrupciones, latencia
>81x10^-61150-1600Sun4 (SPARC)
14x10^-6200-400Sun3 M68020
0.4x10^-64RTX2000
TiempoCiclosProcesador
![Page 32: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/32.jpg)
Interrupciones, determinismoAproximadamente el 20% de las instrucciones de un micro son saltos. ¿Qué ocurre cuando se falla en la predicción de un salto?
2 (siempre)RTX2000
4ARM
30 (385 peor caso)Pentium IV
Ciclos perdidosProcesador
![Page 33: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/33.jpg)
Ejemplo de implementación
o El micro 8259 es un controlador programable de interrupciones que se encuentra en los ordenadores personales
o Recibe las señales de interrupción de los periféricos, evalúa las prioridades y se comunica con la cpu
![Page 34: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/34.jpg)
![Page 35: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/35.jpg)
Secuencia de sucesoso El CPI recibe por las líneas irx una o
varias señales de periféricoso Cada línea activa un bit en un registro
especial llamado “IRR”o El chip evalúa las prioridades, y
selecciona una interrupcióno Toma el bit que corresponde y lo pasa
a otro registro, llamado ISR (sigue…)
![Page 36: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/36.jpg)
Secuencia de sucesoso Mediante la línea “int” el chip se
comunica con la CPUo La cpu asiente mediante la línea
“inta”. Una segunda “inta” es la señal para que el CPI deposite en el bus dxun número
o Ese número le señala a la CPU la interrupción (sigue…)
![Page 37: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/37.jpg)
Secuencia de sucesoso La cpu usa ese número para indexar
una tabla que se encuentra en la base de la memoria, llamada TVI
o En esa tabla se encuentran las direcciones de las rutinas que han de atender a las interrupciones
o Se pasa el control a la rutina con la dirección indicada en la TVI (sigue…)
![Page 38: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/38.jpg)
Secuencia de sucesoso La rutina apila los registros de la CPUo Accede a los puertos y se comunica
con los periféricos, o bien, deja una señal para el S.O.
o Restaura el registro ISR del CPIo Restaura los registros de la CPUo La CPU sigue su marcha.
![Page 39: Consideraciones generales (2) - disc.ua.esgil/generalidades-2.pdf · Evolución de la arquitectura qUn periférico conectado al procesador mediante un bus especial qUn buffer intermedio](https://reader030.fdocuments.ec/reader030/viewer/2022041213/5e02f35ad9e2ea2f20410d3a/html5/thumbnails/39.jpg)
Ejemplo de programación