Saltar al contenido

Placa base, firmware y memoria

Dónde se conecta todo, qué programa arranca la máquina antes que el sistema operativo, y cómo se organiza la memoria desde el registro más rápido hasta la dirección virtual que traduce la MMU.

La placa base y el chipset

La placa base es el soporte por el que se comunican entre sí todos los componentes del equipo: el microprocesador, la memoria, las tarjetas de expansión y el resto. Cumple dos funciones a la vez. Por un lado les lleva la corriente que cada uno necesita, con sus líneas eléctricas. Por otro les distribuye las señales de control, que son las que consiguen que el trasiego de datos entre unas piezas y otras resulte rápido y fiable.

Sobre la placa hay un conjunto de circuitería auxiliar que actúa de ayudante de la CPU: el chipset. Tradicionalmente se ha dividido en dos bloques según la velocidad de lo que gestiona.

BloqueDe qué se ocupa
Puente norte (Northbridge)De lo rápido: el acceso a la memoria y los buses de mayor velocidad.
Puente sur (Southbridge)De lo lento: la entrada y salida y los periféricos.

Conviene saber que ese esquema de dos puentes describe el pasado más que el presente. En los procesadores actuales las funciones del puente norte, empezando por el controlador de memoria, están integradas dentro de la propia CPU, y lo que queda como chipset en la placa hace sobre todo el trabajo que antes correspondía al puente sur.

Norte igual a rápido y memoria; sur igual a lento y entrada y salida.

Para el examen

  • Puente norte: memoria y buses rápidos

  • Puente sur: entrada/salida y periféricos

  • Hoy: el puente norte está integrado dentro de la CPU

BIOS y UEFI

Antes de que exista sistema operativo, alguien tiene que encender la máquina, comprobar el hardware y buscar de dónde arrancar. De eso se encarga el firmware de la placa, y hay dos generaciones: la BIOS clásica y la UEFI que la ha sustituido.

BIOSUEFI
Nombre completoBasic Input Output SystemUnified Extensible Firmware Interface
InterfazModo carácterModo gráfico
ParticionamientoMBRGPT
Particiones admitidasHasta 4Más de 4

Los dos límites concretos de MBR ayudan a entender por qué se abandonó: solo admite cuatro particiones primarias y no puede direccionar discos de más de 2 TB. GPT levanta ambos techos, identifica cada partición con un identificador único y guarda una copia de seguridad de la tabla al final del disco, de modo que si se corrompe la del principio todavía se puede recuperar.

BIOS va con MBR y UEFI con GPT. Esa pareja es lo que se pregunta, no el número exacto de particiones.

Para el examen

  • BIOS con MBR: 4 particiones primarias y discos de hasta 2 TB

  • UEFI con GPT: muchas más particiones y tabla replicada al final del disco

  • Extra de UEFI: arranque seguro e interfaz gráfica

La jerarquía de memorias

No existe una memoria que sea a la vez rapidísima, enorme y barata, así que un ordenador monta varias y las ordena por velocidad. Cuanto más arriba en la jerarquía, más rápido se accede y menos capacidad hay; cuanto más abajo, al revés.

  1. Registros: dentro de la propia CPU, los más rápidos y los más escasos.
  2. Caché: memoria intermedia que guarda lo que se está usando.
  3. Memoria principal: la RAM del equipo.
  4. El resto: el almacenamiento secundario, mucho más lento y mucho más grande.

Ese último escalón es lo que separa la memoria interna o principal de la memoria externa o secundaria. La interna es la que la CPU direcciona directamente (ROM y RAM); la externa es la de los soportes de almacenamiento, como el disco duro, la unidad de estado sólido, el disco óptico o una memoria USB.

Registros, caché, memoria principal y almacenamiento. Es un orden de velocidad decreciente y de capacidad creciente.

Para el examen

  • Orden de la jerarquía: registros, caché, RAM y almacenamiento

  • Memoria interna: ROM y RAM

  • Memoria externa: disco duro, SSD, ópticos y USB

Tipos de memoria: de solo lectura y de acceso aleatorio

La memoria interna se divide en dos familias. La familia ROM agrupa las memorias no volátiles, que conservan su contenido sin alimentación. Se llaman de solo lectura porque en funcionamiento normal solo se leen, y sus variantes se diferencian precisamente en cómo se consigue reescribirlas.

TipoCómo se modifica
ROMNo se modifica: solo lectura.
PROMProgramable una sola vez tras su fabricación.
EPROMSe borra exponiéndola a luz ultravioleta, y después se reprograma eléctricamente con un programador.
EEPROMSe borra eléctricamente, sin sacarla ni exponerla a nada.

La memoria de acceso aleatorio, en cambio, es volátil: pierde su contenido al apagar. Dentro de ella, la primera división es entre estática y dinámica, y de esa distinción cuelga todo lo demás.

TipoQué la caracteriza
SRAM (estática)No necesita refresco de voltaje, y al ahorrarse esos ciclos de reloj resulta más rápida.
DRAM (dinámica)Necesita refresco de voltaje periódico para conservar el contenido.
SDRAMDRAM síncrona, es decir, acompasada al reloj del sistema. Es la habitual.
DDR SDRAMDouble Data Rate: transfiere tanto en el flanco de subida como en el de bajada del reloj, con lo que dobla la velocidad. Sus generaciones van de DDR1 a DDR5.
NVRAMRAM no volátil: conserva el contenido porque está alimentada por una batería.
GDDRMemoria pensada para la tarjeta gráfica.
LPDDRLow Power: memoria para dispositivos móviles.

Los módulos físicos también tienen nomenclatura propia. El encapsulado DIMM lleva contactos separados a ambos lados del módulo, y el SO-DIMM es su versión reducida, la que montan los ordenadores portátiles.

texto
Nomenclatura de un modulo DDR-400 (PC-3200)

  bus de 200 MHz
  x 2 transferencias por ciclo (double data rate)
  x 8 bytes por transferencia (64 bits)
  = 3200 MB/s de capacidad maxima de transferencia

  DDR-400 nombra la memoria; PC-3200 nombra el ancho de banda.

La estática no se refresca y la dinámica sí. Todo lo que empieza por D (DRAM, SDRAM, DDR) va por la rama dinámica.

Para el examen

  • ROM, PROM, EPROM y EEPROM: solo lectura, grabable una vez, borrable con ultravioleta y borrable eléctricamente

  • SRAM: sin refresco y más rápida; se usa en caché

  • DRAM: necesita refresco periódico

  • DDR: transfiere en los dos flancos del reloj

  • DIMM y SO-DIMM: sobremesa y portátil

Latencias de la DRAM y políticas de la caché

Pedirle un dato a la memoria no es instantáneo: hay que situarse en la fila correcta, luego en la columna correcta, y antes abrir el banco donde está. Cada uno de esos pasos tarda, y a esos tiempos se les llama latencias. Lo que de verdad importa no es cada uno por separado, sino el total hasta obtener el dato.

LatenciaQué mide
RASEl tiempo que tarda la memoria en situarse sobre una fila.
CASEl tiempo que tarda en situarse sobre una columna o celda.
ACTIVEEl tiempo que tarda en activar (abrir) una fila dentro de un banco.
PRECHARGEEl tiempo que tarda en desactivar (cerrar) esa fila del banco.

Para saber cuánto se espera en realidad hasta tener el dato disponible hay que sumar tres de esas latencias: ACTIVE, RAS y CAS. La caché existe justamente para no pagar ese precio una y otra vez, porque guarda cerca del procesador lo que se acaba de usar. Cuando el procesador escribe en la caché hay dos formas de mantener coherente la memoria principal.

Política de actualizaciónCuándo se escribe en memoria principal
Write through (escritura directa)En el mismo momento: al modificar la caché se modifica también la memoria principal.
Write back (escritura diferida)Más tarde: se escribe en memoria principal cuando ese bloque va a salir de la caché, y así no se pierde la información.

Through es directa y ahora; back es diferida y al expulsar el bloque.

Para el examen

  • RAS y CAS: latencia de fila y latencia de columna

  • ACTIVE y PRECHARGE: abrir y cerrar el banco

  • Tiempo real de acceso: ACTIVE + RAS + CAS

  • Write through: escribe a la vez en caché y en memoria

  • Write back: espera a expulsar el bloque para escribir en memoria

Direcciones lógicas y físicas: la MMU y la TLB

Un programa no trabaja con direcciones reales de memoria. Trabaja con direcciones virtuales o lógicas, como si tuviera para él solo un espacio de memoria continuo y ordenado. Quien convierte esas direcciones en las direcciones físicas donde de verdad está el dato es la MMU, la unidad de gestión de memoria.

Esa traducción se apoya en una tabla de traducción, y consultarla en memoria cada vez sería lentísimo. Por eso la MMU dispone de la TLB, una pequeña memoria asociativa que guarda las traducciones usadas más recientemente: si la dirección buscada está ahí, la conversión es inmediata.

texto
direccion virtual  ->  MMU (gestor de memoria)  ->  direccion fisica
                            |
                            TLB (traducciones recientes)

La MMU traduce y la TLB acelera esa traducción guardando las últimas conversiones.

Para el examen

  • MMU: traduce direcciones virtuales a físicas

  • TLB: caché de las traducciones recientes

Cálculo de capacidad y formato de una dirección

Estas cuentas caen con frecuencia y son siempre las mismas dos ideas. Primera: la capacidad de una memoria es el número de posiciones multiplicado por lo que cabe en cada posición, que es una palabra. Segunda: con un bus de direcciones de n bits se pueden distinguir 2 elevado a n posiciones distintas.

texto
Memoria de 2048 posiciones con palabras de 32 bits

  Bus de direcciones: 2048 = 2^11  ->  11 bits
  Capacidad: 2048 posiciones x 4 bytes = 8192 bytes = 8 KB
  Caracteres de 8 bits que caben: 8192 / 1 = 8192

En memoria virtual la cuenta es la misma partida en dos trozos. Una dirección virtual se compone de un número de página y un desplazamiento dentro de esa página. El desplazamiento necesita tantos bits como haga falta para recorrer una página entera, y lo que sobra hasta el ancho de la dirección es el número de página.

texto
Computador de 32 bits, paginas de 4 KB, memoria principal de 1 GB

  Pagina de 4 KB = 2^12  ->  desplazamiento de 12 bits
  Numero de pagina = 32 - 12 = 20 bits
  Numero maximo de paginas = 2^20
  Marcos de pagina = 2^30 / 2^12 = 2^18
  Bloque transferido en un fallo de pagina = 4 KB (una pagina)

Cuando el programa pide una página que no está cargada se produce un fallo de página, y lo que sube desde el disco a la memoria principal es una página entera. Quien detecta el fallo y lanza la excepción es la MMU; quien lo trata (localiza la página, elige qué marco liberar y actualiza la tabla) es el sistema operativo.

El bloque que se transfiere entre disco y memoria en un fallo de página es exactamente una página.

Para el examen

  • Posiciones con n bits de dirección: 2^n

  • Partes de una dirección virtual: número de página y desplazamiento

  • Fallo de página: sube UNA página; lo detecta la MMU y lo trata el sistema operativo