Fase 3 · SE-013 · Clase

Arquitectura básica de un computador moderno

Una clase de la Parte 01 — Computadores y representación de información. Comprende el mecanismo, úsalo para decidir y conserva evidencia revisable.

Contenido desarrollado como parte del recorrido completo de las Partes 00–05.
Vienes deProyecto: mapa profesional y contrato personal de aprendizaje
Construyes ahoraArquitectura básica de un computador moderno
Conecta conBits, bytes, bases numéricas y representación

← SE-012 · ↑ Parte 01 · 📚 Índice completo · SE-014 →

Punto profesional y fundamento pedagógico

Punto profesional. La clase existe para separar arquitectura física, ISA, sistema operativo y runtime antes de atribuir una propiedad a la máquina.

Por qué aparece aquí. Se sitúa después de Proyecto: mapa profesional y contrato personal de aprendizaje y antes de Bits, bytes, bases numéricas y representación: convierte el conocimiento anterior en una decisión observable que la clase siguiente podrá reutilizar. La continuidad se comprueba en el artefacto, no por compartir vocabulario.

Error conceptual que debe corregir. Confundir ‘64 bits’, núcleos, ISA y versión del sistema como una sola propiedad.

Secuencia de aprendizaje. Predice qué datos devolverán platform.machine() y sys.byteorder, y anota dos propiedades que esas APIs no pueden revelar. Después ejecuta el probe, clasifica cada afirmación por capa y somete el mapa a una revisión que intente atribuir indebidamente una propiedad a la CPU. Al final reconstruye el mapa sin consultar el texto y lo aplica a una máquina virtual.

Evidencia de aprendizaje. Machine-map.md con comandos, salidas, capas y dos conclusiones que los datos no permiten. Debe contener predicción previa, observación, explicación causal, contraejemplo, criterio de aceptación y una nota de qué dato haría cambiar la conclusión.

Límite de la conclusión. Las APIs del runtime no demuestran la microarquitectura interna.

Trazabilidad fuente → afirmación

Fuente primaria u oficialAfirmación que respaldaLo que no prueba
RISC-V Unprivileged ISAla ISA como interfaz separada de microarquitecturaNo demuestra por sí sola que el artefacto del estudiante sea correcto.
Python platformdefine las etiquetas observables usadas en la prácticaNo demuestra por sí sola que el artefacto del estudiante sea correcto.
Python sysdocumenta byteorder y propiedades del runtimeNo demuestra por sí sola que el artefacto del estudiante sea correcto.

Antes de empezar

En SE-012 convertiste objetivos en evidencia. Ahora comienza la base técnica: antes de optimizar o depurar necesitas saber en qué capa ocurre una afirmación. Abrimos un analizador local de eventos, un programa Python que recibirá Matrícula confirmada ✓, producirá un resumen y lo guardará. Hoy no lo optimizarás: construirás el mapa que permitirá seguir sus datos y decisiones durante toda la parte.

Prerrequisitos

Parte 00 o capacidad para separar observación e inferencia. Python 3.11+, terminal y un directorio de práctica sin datos reales.

Problema auténtico

Un fallo se atribuye a “la CPU” porque el programa tarda. La evidencia disponible solo muestra tiempo de pared de un proceso que también espera disco. Sin un modelo de capas, el equipo modifica componentes que no causan el síntoma.

Objetivos observables

Podrás distinguir arquitectura, ISA, microarquitectura y organización del sistema; seguir entrada, transformación, almacenamiento y salida; ubicar una observación en su capa; y declarar qué no puede inferirse desde Python.

Temas y por qué importan

TemaMecanismoPor qué importa
Capas y contratoscada nivel ofrece una interfaz al superiorevita explicaciones que saltan de fuente a transistor
CPU, memoria e I/Otransforman, conservan y comunican estadopermite localizar recursos y esperas
ISA y microarquitecturacontrato visible frente a implementaciónevita confundir compatibilidad con rendimiento idéntico
Observacióncada herramienta ve una fronteralimita conclusiones y orienta la siguiente medición

Mapa conceptual

Mapa visualRelaciones que debes poder explicar
Entrada del analizador local de eventosLenguaje y bibliotecas
Lenguaje y bibliotecasRuntime
RuntimeSistema operativo
Sistema operativoISA
ISAMicroarquitectura y hardware
Microarquitectura y hardwareSistema operativo
Sistema operativoArchivo y salida
Ver la notación fuente del diagrama
flowchart TD
 U[Entrada del analizador local de eventos] --> L[Lenguaje y bibliotecas]
 L --> R[Runtime]
 R --> O[Sistema operativo]
 O --> A[ISA]
 A --> H[Microarquitectura y hardware]
 H --> O
 O --> U2[Archivo y salida]

La flecha descendente representa contratos de ejecución; la ascendente, resultados e interrupciones. El mapa no afirma que una línea de Python corresponda a una instrucción.

Conceptos y decisiones

1. Arquitectura es una interfaz observable

La arquitectura describe propiedades que un consumidor puede usar sin conocer toda la implementación. Una ISA especifica instrucciones, registros y efectos visibles para el software de bajo nivel. RISC-V, por ejemplo, separa deliberadamente la ISA de una microarquitectura particular. Dos procesadores pueden ejecutar el mismo binario y organizar internamente pipeline, cachés o unidades de ejecución de modo distinto.

2. CPU, memoria y dispositivos cooperan

La CPU obtiene y ejecuta instrucciones; los registros conservan estado inmediato; la memoria principal mantiene código y datos activos; el almacenamiento preserva datos; los dispositivos intercambian información. Interconexiones y controladores coordinan movimientos. Esta lista no explica por sí sola un programa: hay que seguir qué dato cambia, dónde vive y quién inicia la transición.

3. El sistema moderno es una pila de abstracciones

El analizador local de eventos no escribe directamente celdas físicas. El lenguaje define valores; CPython los representa como objetos; el sistema operativo ofrece procesos, memoria virtual y archivos; la ISA define efectos de instrucciones; el hardware implementa esos efectos. Cada capa simplifica y añade costo. Saltarse una capa produce afirmaciones falsas como “una variable es un registro” o “guardar un archivo escribe inmediatamente en disco”.

4. Estado, control y flujo de datos

Una ejecución puede describirse como estados y transiciones: llegan bytes, se decodifican, se crean objetos, se calcula, se solicita una escritura y se informa el resultado. El control decide qué transición sigue; el flujo de datos muestra qué valor la alimenta. Separarlos ayuda a explicar por qué una espera de I/O detiene un hilo sin que la CPU esté calculando esa solicitud.

5. Observar una capa no revela automáticamente las demás

platform.machine() informa una etiqueta de plataforma que el runtime expone; sys.byteorder informa el orden nativo que Python observa. No demuestran modelo exacto de CPU, tamaño de caché ni frecuencia efectiva. Virtualización, emulación y contenedores pueden interponer capas. Una observación correcta se acompaña de su fuente y límite.

Caso conductor: localizar el analizador local de eventos

El analizador local de eventos recibe texto por argumentos, lo codifica, calcula longitud y escribe JSON. El mapa asigna: semántica al programa, objetos a CPython, proceso y archivo al sistema operativo, instrucciones a la ISA y ejecución física al procesador. Si escribir tarda, el mapa ofrece hipótesis —serialización, llamada, caché del sistema, dispositivo— sin elegir una antes de medir.

Definiciones de trabajo

  • arquitectura: propiedades e interfaces visibles de un sistema;
  • ISA: contrato de instrucciones y estado visible para software de máquina;
  • microarquitectura: organización concreta que implementa una ISA;
  • runtime: servicios que sostienen un programa durante ejecución;
  • dispositivo: componente que intercambia datos o señales con el sistema.

Glosario

Estado es información suficiente para explicar una transición. ABI es un contrato binario que incluye llamadas y representación. Firmware es software ligado al control de hardware. Memoria virtual es el espacio de direcciones que el sistema presenta a un proceso.

Ejemplo mínimo

Dos equipos muestran x86_64. Comparten una familia de ISA, pero no necesariamente cachés, núcleos ni desempeño. La etiqueta permite decidir compatibilidad aproximada; no permite predecir tiempo.

Ejemplo profesional

Un servicio consume CPU baja y latencia alta. La traza muestra espera de red. Escalar frecuencia de CPU no ataca el mecanismo; reducir rondas, usar concurrencia controlada o mejorar la dependencia sí podrían hacerlo.

Práctica guiada

Usa como base el laboratorio ejecutable de la Parte 01; trabaja sobre una copia o conserva tus salidas en el directorio work/SE-013/.

  1. Crea work/SE-013/ y registra python --version y sistema operativo.
  2. Escribe probe.py que imprima platform.machine(), sys.byteorder y el texto ficticio.
  3. Dibuja machine-map.md con las cinco capas y un contrato por frontera.
  4. Marca cada dato como observado, documentado o inferido.
  5. Añade una hipótesis de latencia y una medición que podría refutarla.
  6. Borra solo work/SE-013/ para recuperar el entorno.

Ejercicios

  1. Explica dónde viven conceptualmente una variable, un objeto y sus bytes.
  2. Compara ISA y microarquitectura con un contraejemplo.
  3. Añade una capa de virtualización y revisa qué observaciones cambian.

Reto verificable

Otra persona debe ubicar cinco afirmaciones de tu informe en su capa y señalar una inferencia inválida. Aprueba si el mapa contiene contratos, señales y límites, no solo cajas.

Preguntas frecuentes

¿Arquitectura es lo mismo que hardware?

No. Puede describir interfaces del hardware o de un sistema de software.

¿Python impide aprender la máquina?

No; permite observar varias capas, siempre que no confundas bytecode con ISA.

Fallo controlado y diagnóstico

Afirma que platform.machine() identifica el procesador exacto. Contrasta en documentación qué devuelve, registra el síntoma conceptual y corrige la conclusión a “etiqueta de arquitectura expuesta por la plataforma”.

Errores comunes y cómo corregirlos

SíntomaCausaCorrección
una línea equivale a una instrucciónse saltaron compilador y runtimetraza representaciones intermedias
CPU y computador se usan como sinónimosse omitieron memoria e I/Osigue dato y control por componentes
misma ISA implica mismo rendimientoarquitectura confundida con implementaciónmide cada entorno y declara microarquitectura desconocida
diagrama sin contratosinventario sin mecanismoanota entrada, salida y responsable de cada frontera

Entorno y archivos clave

Python 3.11+, platform, sys; probe.py, machine-map.md, observations.md. No instala paquetes ni modifica el sistema.

Seguridad, ética y accesibilidad

No publiques nombres de host, identificadores o rutas privadas. Proporciona texto alternativo al diagrama. La etiqueta de arquitectura no justifica excluir dispositivos sin medir la capacidad necesaria.

Transferencia

Aplica el mapa a un navegador o microcontrolador y explica qué capas desaparecen, se combinan o cambian de propietario.

Evaluación y evidencia

Se exige mapa causal, cinco observaciones trazables, una inferencia refutada y límites.

Fuentes

Límites y siguiente paso

No se inspeccionan transistores ni instrucciones nativas. SE-014 abre la representación binaria que atraviesa el mapa.


← SE-012 · ↑ Parte 01 · SE-014 →