PDF de programación - Relación con el hardware: Estructuras y funciones básicas

Imágen de pdf Relación con el hardware: Estructuras y funciones básicas

Relación con el hardware: Estructuras y funciones básicasgráfica de visualizaciones

Publicado el 4 de Septiembre del 2018
318 visualizaciones desde el 4 de Septiembre del 2018
859,9 KB
64 paginas
Creado hace 3a (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
  • Links de descarga
http://lwp-l.com/pdf13349

Comentarios de: Relación con el hardware: Estructuras y funciones básicas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad