Pero... ¿Cómo sabe la CPU de dónde sacar las
instrucciones?
En la CPU hay una porción de memoria muy pequeña que sirve para
varias
cosas, como, por ejemplo, guardar algo llamado el "puntero de
instrucción"
("instruction pointer", IP). El IP guarda la
ubicación de la próxima instrucción a
ejecutar, y se
incrementa después de cada instrucción. Entonces,
básicamente, la CPU lee el IP, obtiene la próxima
instrucción, la ejecuta,
incrementa el IP* y vuelve al primer paso.
Al IP se le puede poner cualquier valor arbitrario, que se interpretará
como
una posición en memoria. ¿Alguna vez te preguntaste
qué es un bucle infinito
en una computadora? Es lo que ocurre cuando
se pone un valor del IP que
hace que ejecute un conjunto de instrucciones
que vuelven a poner al IP a
referenciar a esas instrucciones.
*Nota: en este caso, IP se refiere al Instruction Pointer, y no a las
direcciones IP ni al Internet Protocol.