← 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 oficial | Afirmación que respalda | Lo que no prueba |
|---|---|---|
| RISC-V Unprivileged ISA | la ISA como interfaz separada de microarquitectura | No demuestra por sí sola que el artefacto del estudiante sea correcto. |
Python platform | define las etiquetas observables usadas en la práctica | No demuestra por sí sola que el artefacto del estudiante sea correcto. |
Python sys | documenta byteorder y propiedades del runtime | No 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
| Tema | Mecanismo | Por qué importa |
|---|---|---|
| Capas y contratos | cada nivel ofrece una interfaz al superior | evita explicaciones que saltan de fuente a transistor |
| CPU, memoria e I/O | transforman, conservan y comunican estado | permite localizar recursos y esperas |
| ISA y microarquitectura | contrato visible frente a implementación | evita confundir compatibilidad con rendimiento idéntico |
| Observación | cada herramienta ve una frontera | limita conclusiones y orienta la siguiente medición |
Mapa conceptual
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/.
- Crea
work/SE-013/y registrapython --versiony sistema operativo. - Escribe
probe.pyque imprimaplatform.machine(),sys.byteordery el texto ficticio. - Dibuja
machine-map.mdcon las cinco capas y un contrato por frontera. - Marca cada dato como observado, documentado o inferido.
- Añade una hipótesis de latencia y una medición que podría refutarla.
- Borra solo
work/SE-013/para recuperar el entorno.
Ejercicios
- Explica dónde viven conceptualmente una variable, un objeto y sus bytes.
- Compara ISA y microarquitectura con un contraejemplo.
- 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íntoma | Causa | Corrección |
|---|---|---|
| una línea equivale a una instrucción | se saltaron compilador y runtime | traza representaciones intermedias |
| CPU y computador se usan como sinónimos | se omitieron memoria e I/O | sigue dato y control por componentes |
| misma ISA implica mismo rendimiento | arquitectura confundida con implementación | mide cada entorno y declara microarquitectura desconocida |
| diagrama sin contratos | inventario sin mecanismo | anota 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
- RISC-V Unprivileged ISA respalda la ISA como interfaz separada de microarquitectura.
- Python
platformdefine las etiquetas observables usadas en la práctica. - Python
sysdocumentabyteordery propiedades del runtime.
Límites y siguiente paso
No se inspeccionan transistores ni instrucciones nativas. SE-014 abre la representación binaria que atraviesa el mapa.