Come posso sapere se il mio computer è un'architettura di Harvard o di von Neumann?

11

Comprendo che la differenza tra le due architetture è la separazione delle istruzioni dai dati nell'architettura di Harvard. Ma come faccio a sapere su che tipo di sistema sono attivo? È possibile scrivere un programma tale che il programma determini se il sistema è von Neumann o Harvard? Potrebbe esserci un'altra architettura o queste architetture sono le uniche conosciute?

    
posta Niklas Rosencrantz 06.12.2012 - 01:21
fonte

5 risposte

13

Il tuo computer è una macchina di von Neumann. Tutti i computer di uso generale lo sono. Le uniche eccezioni sono i co-processori specializzati come le GPU. Non è che non puoi avere una macchina di Harvard (o qualsiasi altra architettura). È solo che nessuno li costruisce, specialmente non in vendita (co-processori di moduli, ovviamente).

    
risposta data 12.12.2012 - 02:01
fonte
6

La maggior parte delle attuali CPU generiche usa Modified Harvard Architecture . I core della CPU possono accedere al programma e ai dati in modo indipendente nelle loro cache L1 separate. All'esterno, non ci sono memorie di programma e dati separate (né gli altri livelli di cache sono separati).

Could there be another architecture or are these architectures the only ones known?

Tutte le altre architetture sono piuttosto limitate nel loro uso. A causa dell'estrema complessità e dei costi associati allo sviluppo del processore, non penso che nessuno lo proverebbe di nuovo sul serio.

Tuttavia, mentre le CPU moderne sono fondamentalmente von Neumann, incorporano molte idee come Dataflow Architecture internamente.

    
risposta data 12.12.2012 - 03:38
fonte
4

Entrambe le architetture di Von Neumann e Harvard appartengono al paradigma del flusso di controllo.

Esiste un altro paradigma, ovvero Flusso di dati .

Un esempio comune di calcolo del flusso di dati, sebbene implementato su computer a flusso di controllo, è il foglio di calcolo (da Visicalc e Multiplan a Excel).

Anche le reti neurali appartengono a questa categoria.

FPGA sono un altro esempio di architettura del flusso di dati. Sono programmati con linguaggi di descrizione dell'hardware come VHDL .

    
risposta data 12.12.2012 - 17:34
fonte
3

L'architettura di Harvard viene tipicamente utilizzata solo nei microprocessori incorporati in cui il programma è memorizzato nella memoria eeprom integrata. L'unico che è probabile che tu veda è un Atmel AVR come usato nel Arduino

    
risposta data 12.12.2012 - 02:50
fonte
1

Quando lo programmate: modificate una regione di memoria e poi saltate lì ed eseguite.

Se è Havard non puoi farlo.

    
risposta data 12.12.2012 - 16:30
fonte

Leggi altre domande sui tag