Nella maggior parte dei computer, le istruzioni individuali vengono memorizzate come codice macchina e ad ogni istruzione viene assegnato un numero univoco (codice di funzionamento o opcode). Il comando per aggiungere due numeri insieme avrebbe un opcode; il comando per moltiplicarli avrebbe un opcode diverso, e così via. I computer più semplici sono in grado di eseguire una manciata di istruzioni diverse; i computer più complessi hanno diverse centinaia di opzioni tra cui scegliere, ognuna con un unico codice numerico. Poiché la memoria del computer è in grado di memorizzare i numeri, può anche memorizzare i codici di istruzione. Questo porta al fatto importante che interi programmi (che sono solo elenchi di queste istruzioni) possono essere rappresentati come elenchi di numeri e possono essere manipolati all' interno del computer allo stesso modo dei dati numerici. Il concetto fondamentale di memorizzare i programmi nella memoria del computer accanto ai dati su cui operano è il nocciolo dell' architettura von Neumann, o programma memorizzato[citazione necessaria]. In alcuni casi, un computer potrebbe memorizzare parte o tutto il suo programma in una memoria separata dai dati sui quali opera. Questo è chiamato l' architettura Harvard dopo il computer Harvard Mark I. I moderni computer von Neumann mostrano alcuni tratti dell' architettura Harvard nei loro progetti, come ad esempio nelle cache CPU.
Un computer che memorizza il suo programma in memoria e che è tenuto separato dai dati si chiama cosa?
l' architettura Harvard