39
Consideraciones generales (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

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

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

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

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
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
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
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
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

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
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
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

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

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

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
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
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
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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

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

Ejemplo de programación