Before we write code, we must understand the machine. From basic logic gates to complex architectures. Antes de escribir código, debemos comprender la máquina. Desde puertas lógicas básicas hasta arquitecturas complejas.
Santi Scagliusi, PhD
What a bit is. How we group them.Qué es un bit. Cómo los agrupamos.
Smallest digital unit. Two states: 0 or 1.Unidad digital mínima. Dos estados: 0 o 1.
4 bits = nibble. 8 bits = byte. 1 hex digit = 4 bits.4 bits = nibble. 8 bits = byte. 1 dígito hex = 4 bits.
Addresses and masks are easier to read in hex than in binary.Direcciones y máscaras se leen mejor en hex que en binario.
Example: 0x4305 is easier to scan than 0100 0011 0000 0101.Ejemplo: 0x4305 es mucho más legible que 0100 0011 0000 0101.
Under the 0s and 1s: real voltages, real limits. Bajo los 0 y 1: tensiones reales, límites reales.
0/1 is an abstraction. Signals take time to rise and fall — in between, a forbidden region. 0/1 es una abstracción. Las señales tardan en subir y bajar — en medio, una región prohibida.
Output is 1 only when the inputs differ.La salida es 1 solo cuando las entradas difieren.
In assembly: toggle bits, clear registers, compare patterns. En assembly: alterna bits, limpia registros, compara patrones.
| Input AEntrada A | Input BEntrada B | Output (A^B)Salida (A^B) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
A computer dedicated to one task. Not general purpose — built to do one thing well. Un ordenador dedicado a una tarea. No de propósito general — hecho para una cosa.
Every computer — laptop or MSP430 — uses the same four actors.Todo computador — portátil o MSP430 — usa los mismos cuatro actores.
Registers, ALU, control. Executes instructions.Registros, ALU, control. Ejecuta instrucciones.
Holds code and data. Often the bottleneck.Guarda código y datos. A menudo el cuello de botella.
Interface with the outside world. Adapts CPU signals to peripherals.Interfaz con el mundo exterior. Adapta las señales de la CPU a los periféricos.
The shared roads: addresses, data, control.Las carreteras compartidas: direcciones, datos, control.
From the first chips to microprocessors, microcontrollers and SoCs.De los primeros chips a microprocesadores, microcontroladores y SoCs.
Intel 4004 & TI TMS1000. The first "computers on a chip".Intel 4004 y TI TMS1000. Las primeras "computadoras en un chip".
More peripherals (ADC, UART). 8-bit dominates (8051, PIC).Más periféricos (ADC, UART). Dominan los 8 bits (8051, PIC).
16/32-bit (MSP430, ARM). Low Power for battery devices.16/32 bits (MSP430, ARM). Bajo consumo para dispositivos con batería.
CPU only. Needs external RAM, Flash, I/O.Solo CPU. Necesita RAM, Flash, E/S externos.
CPU + RAM + FRAM + Peripherals in one chip.CPU + RAM + FRAM + Periféricos en un solo chip.
CPU + GPU + Radio + DSP. Extreme integration.CPU + GPU + Radio + DSP. Integración extrema.
MSP430. One bus for code and data. Simpler, but a bottleneck.MSP430. Un bus para código y datos. Simple, pero cuello de botella.
Separate code/data memories. Simultaneous access, more complex hardware.Memorias separadas. Acceso simultáneo, hardware más complejo.
Shared bus: only one transfer at a time.Bus compartido: solo una transferencia a la vez.
I/O → Memory directly. No CPU needed.E/S → Memoria directo. Sin CPU.
Many complex instructions, variable length.Muchas instrucciones complejas, longitud variable.
Complex hardware. Fewer lines of code.Hardware complejo. Menos líneas de código.
Intel x86
Few, simple instructions, fixed length.Pocas instrucciones simples, longitud fija.
Simple, fast hardware. Compiler does the heavy lifting.Hardware simple y rápido. El compilador hace el trabajo pesado.
MSP430, ARM, RISC-VMSP430, ARM, RISC-V
IF=fetchbúsqueda · D=decodedecod. · E=executeejec. · M=memorymem. · WB=write backescrit.
One finishes before the next starts. No overlap.Una termina antes de empezar la siguiente. Sin solapamiento.
Same 5 stages for all. One new instruction per cycle.Mismas 5 etapas para todas. Una nueva por ciclo.
More work in less time. Every microcontroller is RISC.Más trabajo en menos tiempo. Todo microcontrolador es RISC.
Managing resources so programs coexist.Gestionar recursos para que los programas coexistan.
Who gets CPU time. When to switch.Quién usa la CPU. Cuándo cambiar.
Allocates and protects memory regions.Asigna y protege regiones de memoria.
Abstracts disks as files.Abstrae los discos como ficheros.
Drivers and standard interfaces.Drivers e interfaces estándar.
Different ways to share CPU time.Formas distintas de compartir la CPU.
Each task voluntarily yields. If A hangs → everything freezes.Cada tarea cede voluntariamente. Si A se cuelga → todo se congela.
Windows 3.1, Classic Mac OS
OS forces context switches. No task can monopolize CPU.El SO fuerza cambios de contexto. Ninguna tarea monopoliza la CPU.
Windows 95+, Linux, macOS
Tasks run truly simultaneously on different cores.Tareas realmente simultáneas en núcleos distintos.
Multicore CPUs, modern SoCsCPUs multinúcleo, SoCs modernos
Guaranteed bounded latency. Deterministic, not just multitasking.Latencia acotada garantizada. Determinista, no solo multitarea.
FreeRTOS, VxWorks, QNX
Why this chip for the course.Por qué este chip para el curso.
8-bit too limited. 32-bit too complex. 16-bit fits for learning. 8 bits se queda corto. 32 bits complica. 16 bits es justo para aprender.
Runs on batteries for years. Rich Low Power Modes (LPM). Funciona años con pilas. Modos de bajo consumo (LPM).
Timers, ADCs, and comms on-chip. Real-world ready. Timers, ADCs y comunicaciones en el chip. Listo para el mundo real.