Sigla en azul →glosario(primera vez: expansión entre paréntesis).
M05 — Organización de computadoras
Por qué existe
Entender qué hace el hardware evita magia negra con rendimiento, memoria y sistemas operativos.
En resumen: entiendes qué pasa cuando corres node: CPU, RAM, disco. Dejas de tratar la máquina como magia.
Objetivos de aprendizaje
Al terminar debes poder:
- Explicar el modelo von Neumann y el flujo CPU–memoria–E/S a alto nivel.
- Describir jerarquía de memoria, caché y la diferencia RAM vs almacenamiento.
- Representar datos (binario, enteros, punto flotante) y reconocer overflow y pérdida de precisión.
- Relacionar el modelo con un programa real (
node, syscalls, I/O) y medir comportamiento básico.
Cómo estudiar esta materia (lecciones)
M05 sigue el formato de lecciones cortas y completas (como M01): marcas una a una cuando cumples “Hecho cuando”.
- Abre las lecciones en orden (L01 → L12).
- Cada lección trae objetivo, pasos, lectura de libro y criterio “Hecho cuando”.
- Marca la lección en la UI solo si cumple ese criterio.
- Las prácticas / proyecto siguen exigiendo evidencia en
projects/m05-como-corre/. - Dibuja más de lo que subrayas. Cada concepto → “¿dónde lo veo cuando corro
node cli.js?”. - Método general: Cómo estudiar.
Semana tipo (20 h)
| Bloque | Horas | Qué haces |
|---|---|---|
| Arquitectura / memoria | 6–8 | L01–L08, Stallings, diagramas |
| Representación + medición | 6–8 | L09–L11, código y benchmarks |
| Proyecto documental | 4–6 | projects/m05-como-corre/ (L12) |
| Retro | 1 | RAM vs disco en tus palabras |
Si un día solo tienes 2 h: una lección práctica (pasos + evidencia). No saltes la fila de lectura de esa lección.
Lecciones
Semana 1 — Arquitectura y ciclo de instrucción (~20 h)
| ID | Lección | ~h |
|---|---|---|
| L01 | Modelo von Neumann e introducción | 5 |
| L02 | CPU, registros y ciclo de instrucción | 5 |
| L03 | Buses, E/S y periféricos | 5 |
| L04 | Diagrama CPU–RAM–I/O (P1) | 5 |
Semana 2 — Memoria jerárquica y almacenamiento (~20 h)
| ID | Lección | ~h |
|---|---|---|
| L05 | Memoria principal y direccionamiento | 5 |
| L06 | Jerarquía de memoria y caché | 5 |
| L07 | Disco vs RAM y persistencia | 5 |
| L08 | Medición: free, df y observación del SO |
5 |
Semana 3 — Representación de datos y proyecto (~20 h)
| ID | Lección | ~h |
|---|---|---|
| L09 | Binario, hex y conversiones | 5 |
| L10 | Enteros, complemento a dos y overflow | 5 |
| L11 | Punto flotante y precisión (P2–P3) | 5 |
| L12 | Documental “cómo corre node” y cierre |
5 |
Empieza por L01 hoy.
Lecturas (mapa rápido)
Canon: Organización y arquitectura de computadoras — William Stallings (ed. ES). Alternativa: Tanenbaum Estructura y organización… (mismos temas). Catálogo: bibliografía.
| Semana | Lecciones | Capítulos / foco (Stallings, por título) |
|---|---|---|
| 1 | L01–L04 | Intro + estructura/función del computador + ciclo de instrucción + buses/E/S |
| 2 | L05–L08 | Memoria: jerarquía, caché, interna y externa/disco + medición en terminal |
| 3 | L09–L12 | Representación de datos + aritmética / overflow + proyecto “cómo corre node” |
Regla: un diagrama actualizado por semana en projects/m05-como-corre/.
Ejemplo — overflow de enteros (intuición)
// En JS los Number son flotantes; igual sirve para pensar límites
const casi = Number.MAX_SAFE_INTEGER;
console.log(casi + 1 === casi + 2); // true → perdiste precisión
Reflexión: la representación finita siempre tiene límites.
Prácticas
- P1: Diagrama + explicación de 1 página (L04).
- P2: Conversiones y overflow; ejemplos en código (L09–L11).
- P3: Benchmark ingenuo: loop vs I/O de archivo; escribe por qué difieren (L11).
Proyecto útil
Documento en projects/m05-como-corre/: desde que escribes node cli.js hasta que ves output — procesos, memoria, syscalls a nivel conceptual (L12).
Errores comunes
- Decir “la nube es magia” sin ubicar CPU/RAM/disco.
- Confundir almacenamiento (SSD) con memoria principal (RAM).
- Medir rendimiento una sola vez sin repetir.
- Marcar lecciones sin cumplir “Hecho cuando”.
Evidencia de hecho
Marca la práctica en la UI solo si existe esto (o equivalente claro):
- P1 — Diagrama: 1 página CPU–RAM–I/O en Markdown/imagen.
- P2 — Binario: Ejercicios de overflow/conversión en código + notas.
- P3 — Benchmark: Loop vs I/O medido ≥3 veces; explicación.
- Proyecto — Cómo corre: README desde
node cli.jshasta el output.
Criterios de dominio
- Explicas RAM vs disco a un principiante.
- Sabes por qué “más hilos” no siempre = más rápido.
- Ubicas representación finita detrás de bugs de precisión numérica.