Esistono molti tipi diversi di architetture informatiche.
Un modo di classificare le architetture informatiche è il numero di istruzioni eseguite per orologio. Molte macchine informatiche leggono un'istruzione alla volta e la eseguono (o fanno un grande sforzo per agire come selo fanno, anche se internamente fanno cose stravaganti e super ordinate). Io chiamo tali macchine "von Neumann", perché tutte hanno un collo di bottiglia di von Neumann. Tali macchine includono architetture CISC, RISC, MISC, TTA e DSP. Tali macchine includono macchine accumulatrici, macchine per la registrazione e macchine impilatrici. Altre macchine leggono ed eseguono diverse istruzioni alla volta (VLIW, super-scalare), che infrangono il limite di un'istruzione per orologio, ma colpiscono ancora il collo di bottiglia di von Neumann con un numero leggermente maggiore di istruzioni per orologio. Tuttavia altre macchine non sono limitate dal collo di bottiglia di von Neumann, perché pre-caricano tutte le loro operazioni una volta all'accensione e quindi elaborano i dati senza ulteriori istruzioni. Tali macchine non Von-Neumann includono architetture del flusso di dati,
Un altro modo di classificare le architetture dei computer è attraverso la connessione (e) tra la CPU e la memoria. Alcune macchine hanno una memoria unificata, in modo tale che un singolo indirizzo corrisponda a un singolo posto nella memoria e quando quella memoria è RAM, è possibile utilizzare quell'indirizzo per leggere e scrivere i dati, oppure caricare quell'indirizzo nel contatore del programma per eseguire il codice. Chiamo queste macchine macchine Princeton. Altre macchine hanno diversi spazi di memoria separati, in modo tale che il contatore del programma si riferisca sempre alla "memoria del programma", indipendentemente dall'indirizzo in cui è caricato, e le normali letture e scritture vanno sempre alla "memoria dei dati", che è una posizione separata che di solito contiene diversi informazioni anche quando i bit dell'indirizzo dati risultano identici ai bit dell'indirizzo di memoria del programma. Quelle macchine sono "pure Harvard" o "
Alcune persone usano una definizione ristretta di "macchina von Neumann" che non include le macchine Harvard. Se sei una di quelle persone, quale termine useresti per il concetto più generale di "una macchina che ha un collo di bottiglia di von Neumann", che include sia le macchine Harvard che Princeton, ed esclude NON-VON?
La maggior parte dei sistemi embedded utilizza l'architettura Harvard. Alcune CPU sono "pure Harvard", che è forse la disposizione più semplice da costruire nell'hardware: il bus degli indirizzi per la memoria del programma di sola lettura è esclusivamente collegato al contatore del programma, come molti primi Microchip PICmicros. Alcune macchine Harvard modificate, inoltre, inseriscono anche costanti nella memoria del programma, che può essere letta con un'istruzione speciale "lettura dati costanti dalla memoria programma" (diversa dall'istruzione "lettura dalla memoria dati"). Il software in esecuzione nei suddetti tipi di macchine Harvard non può modificare la memoria del programma, che è effettivamente la ROM per quel software. Alcuni sistemi integrati sono "auto-programmabili", in genere con memoria di programma nella memoria flash e uno speciale "cancella blocco di memoria flash" e un'istruzione speciale "Scrivi blocco di memoria flash" (diversa dall'istruzione normale "Scrivi nella memoria dati"), oltre all'istruzione "leggi i dati dalla memoria del programma". Numerosi microchip PICmicros e Atmel AVR più recenti sono macchine Harvard modificate auto-programmabili.
Un altro modo per classificare le CPU è in base al loro orologio. La maggior parte dei computer sono sincroni: hanno un unico orologio globale. Alcune CPU sono asincrone - non hanno un orologio - inclusi ILLIAC I e ILLIAC II, che un tempo erano i supercomputer più veloci sulla terra.
Aiutate a migliorare la descrizione di tutti i tipi di architetture informatiche su
http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture
.