Execute in place (XIP)
La CPU preleva le istruzioni direttamente dalla flash invece di copiare prima il programma nella RAM.
Su un microcontrollore con 64 KB di RAM e 512 KB di flash non c'è scelta: il programma gira dove si trova. Serve una memoria leggibile in modo casuale, byte per byte, all'interno dello spazio di indirizzamento — cosa che la flash NOR sa fare e la NAND no. Per questo la NOR è presente in quasi ogni microcontrollore, mentre la NAND, organizzata a pagine, va sempre copiata in RAM prima di poter eseguire qualcosa.
Anche la flash esterna su QSPI può essere mappata nello spazio di indirizzamento, di solito dietro una piccola cache che nasconde il fatto che ogni miss costa decine di cicli. Il Raspberry Pi Pico esegue così l'intero programma. Il problema è che non si può scrivere sulla flash mentre si esegue da essa: chi aggiorna il firmware o salva le impostazioni deve prima spostare la routine in RAM, altrimenti la CPU va a prelevare la prossima istruzione da una memoria che in quel momento non risponde.