Publicado el 4 de Septiembre del 2018
1.093 visualizaciones desde el 4 de Septiembre del 2018
859,9 KB
64 paginas
Creado hace 7a (17/02/2017)
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Relación con el hardware: Estructuras y funciones
básicas
Gunnar Wolf
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Índice
1 Fronteras del CPU
2 Conectando hacia afuera
3
Interrupciones y excepciones
4 Multiprocesamiento
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
¿Qué es un sistema von Neumann?
Computadora de programa almacenado
En la memoria principal
Mismo almacenamiento para el programa siendo ejecutado que
para sus datos
Todas las computadoras que empleamos hoy en día son, para
fines prácticos, sistemas von Neumann1
1Aunque podrían caracterizarse como Harvard modificadas partiendo desde
un formalismo excesivo. . .
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Implicaciones de von Neumann
La arquitectura no considera la existencia de almacenamiento
persistente
Dentro del procesador hay algunas (¡pocas!) localidaes para
almacenar datos muy limitados, para trabajar directamente con
ellos → Registros
La computadora cuenta únicamente con la memoria de trabajo
→ RAM, almacenamiento primario
El almacenamiento a largo plazo debe hacerse empleando
controladores / mecanismos alternos, en medios específicos →
almacenamiento secundario
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Los registros
¿Qué son los registros?
Memoria super-rápida (hoy en día, sub-nanosegundo), ubicada
dentro del procesador
Manejada por referencia directa, no por dirección
Además de los datos del proceso guardan su estado
¿Qué significa gestionados por el compilador?
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Procesadores basados en acumuladores
Primeros procesadores: Uno o pocos acumuladores. Por
ejemplo:
MOS 6502:
1 acumulador (A) de 8 bits
2 registros índice de 8 bits (X y Y)
1 registro de estado del procesador (P), un apuntador al stack
de 8 bits (S), un apuntador a instrucciones (PC) de 8 bits
Zilog Z80 e Intel 8086:
14 registros (3 de 8 bits, el resto de 16)
Pero sólo uno era un acumulador de propósito general
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Ejemplo de acumuladores: Intel 8086/8088
Registros bandera (vector de
booleanos): Overflow, Dirección,
Interrupción, Trampa/depuración,
Signo, Cero, Acarreo auxiliar,
Paridad, Acarreo
Figura: Imagen de Wikipedia
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Registros de propósito general: Legado de RISC
Procesadores RISC: A partir de los 1980
Planteamiento base de instrucciones sencillas y regulares
Fáciles de codificar en un procesador pequeño (en número de
transistores)
La arquitectura RISC más conocida hoy: ARM
Típicamente ≥ 32 registros largos (32, 64bits) de propósito
general
Mas algunos de propósito específico
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Tipos de almacenamiento
¿Cómo representar y guardar adecuadamente los datos e
instrucciones?
La memoria rápida es muy cara
Pero aún así, mucho más lenta que el procesador: Cuello de
botella de von Neumann (Backus, 1977)
La memoria barata es muy lenta (hasta 1000 veces más lenta
que el procesador)
El almacenamiento a largo plazo es mucho más barato, pero
muchísimo más lento
Los discos llegan a ser miles a millones de veces más lentos
que la memoria
El avance en hardware juega en contra de reducir la diferencia
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
La memoria
El procesador puede referirse directamente a los datos
ubicados en la memoria principal (almacenamiento primario)
Indicando su dirección (varias notaciones/mecanismos posibles)
Algunos procesadores permiten realizar operaciones
directamente sobre la memoria
Mayormente los basados en acumulador
Memoria caché
Acelera operaciones aprovechando la localidad de referencia
Transparente a la programación (gestionada por el controlador)
Varios niveles de caché
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Jerarquía de almacenamiento
Figura: Diferentes niveles de almacenamiento: Diferencias en costo,
velocidad y capacidad
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
¿Tiempo de acceso? ¿Tasa de transferencia?
Manejaremos muchas mediciones de velocidad. Debemos siempre
tener en cuenta:
Tiempo de acceso ¿Cuánto tiempo toma iniciar una transferencia?
(medido en s, ms, ns). También llamado latencia.
Tasa de transferencia Una vez iniciada, ¿a qué velocidad sostenida
podemos mantenerla? (medido en b/s, Kb/s, Mb/s)
En el mejor caso, la transferencia de x bits nos tomará ta + xtt
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Jerarquía de almacenamiento
Cuadro: Velocidad y gestor de los principales niveles de memoria.
(Silberschatz, Galvin, Gagne; p.28)
Nivel
Nombre
Tamaño
Tecnología
Acceso (ns)
Transf (MB/s)
Administra
Respaldado en
1
Registros
<1KB
Multipuerto, CMOS
0.25-0.5
20,000-100,000
Compilador
Cache
4
>100GB
2
Cache
<16MB
SRAM CMOS
0.5-25
5,000-10,000
Hardware
Memoria princ. Disco
3
Memoria princ. Disco
<64GB
CMOS DRAM Magnética
5,000,000
80-250
20-150
1,000-5,000
Sist. Op.
Sist. Op.
CD o cinta
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Almacenamiento primario y secundario
El procesador sólo puede manejar directamente a la memoria
principal
Se le conoce también como almacenamiento primario
Sólo éste es parte de lo que la arquitectura von Neumann
llama computadora
Discos, cintas, almacenamiento estado sólido son
almacenamiento secundario
Todas las computadoras lo manejan a través de controladores
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Índice
1 Fronteras del CPU
2 Conectando hacia afuera
3
Interrupciones y excepciones
4 Multiprocesamiento
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Canales y puentes
Los componentes no directamente referenciables de un sistema
se comunican a través de canales (buses)
Líneas de comunicación entre el procesador y el chipset
Acomodo muy frecuente en sistemas x86 recientes2:
Puente norte (Northbridge) Conectado directamente al CPU,
encargado de los buses de alta velocidad y los
dispositivos fundamentales para el inicio del
sistema — Memoria, video (AGP)
Puente sur (Southbridge) Controla el resto de los dispositivos
del sistema; de él se desprenden varios buses
(SCSI / SATA / IDE, PCI / PCIe, USB /
Firewire, puertos heredados)
2Después del 2010, las funciones del Northbridge han tendido a ser
absorbidas por el CPU mismo
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Canales y puentes
Figura: Diagrama de la comuniacación entre componentes de un sistema
de cómputo basado en puente norte y puente sur
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
¿Por qué tantos canales?
Frecuencia acorde a distintas categorías de dispositivos
Criterio económico: Más barato usar señalización más lenta
Distintos mecanismos de acceso
Permitir transferencias paralelas, agregarlas conforme subimos
la jerarquía
Jerarquizar la comunicación
Pero. . . Cuando el sistema requiere transferir datos de o hacia
dispositivos pasando por el mismo bus, frecuentemente ocurre
contención
Algunos canales, como el USB, permiten hasta 127
dispositivos conectados serialmente
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Ejemplo: Chipset Intel 875 (2003)
Figura: Diagrama de la comuniacación entre componentes de un sistema
de cómputo basado en el chipset Intel 875 (Pentium 4, 2003)
Gunnar Wolf
Relación con el hardware: Estructuras y funciones básicas
Fronteras del CPU
Conectando hacia afuera
Interrupciones y excepciones
Multiprocesamiento
Otros arreglos
El ejemplo presentado es para un sistema de escritorio típico
Y bastante viejo ya
En entornos de alto rendimiento, puede haber múltiples
canales entre los componentes
Para reducir el impacto de la contención
Particularmente en los componentes con mayor demanda de
ancho de banda
En entornos móviles / de bajo costo, se hacen concesiones
permitiendo mayor contención
P.ej. estructurar la comunicación a todos los periféricos
alrededor del bus USB
Frecuente en equipos
Comentarios de: Relación con el hardware: Estructuras y funciones básicas (0)
No hay comentarios