Il architettura di von Neumann È un progetto teorico in modo che un computer possa avere un programma memorizzato internamente, che funge da base per quasi tutti i computer attualmente realizzati.
Una macchina von Neumann è costituita da un'unità di elaborazione centrale, che include un'unità logica aritmetica e un'unità di controllo, più una memoria principale, una memoria secondaria e dispositivi di input / output..
Questa architettura presuppone che ogni calcolo estrae i dati dalla memoria, li elabora e quindi li rimanda alla memoria..
In un'architettura von Neumann, la stessa memoria e lo stesso bus vengono utilizzati per memorizzare sia i dati che le istruzioni che eseguono un programma.
Indice articolo
Poiché non è possibile accedere contemporaneamente alla memoria dei dati e dei programmi, l'architettura di von Neumann è soggetta a colli di bottiglia e a un indebolimento delle prestazioni del computer. Questo è ciò che è noto come il collo di bottiglia di von Neumann, in cui sono influenzati potenza, prestazioni e costi..
Una delle modifiche apportate ha comportato la riconsiderazione della quantità di dati che era effettivamente necessario inviare in memoria e la quantità che poteva essere archiviata localmente.
In questo modo, invece di dover inviare tutto in memoria, più cache e cache proxy possono ridurre il flusso di dati dai chip del processore ai diversi dispositivi..
Nel 1945, dopo la seconda guerra mondiale, due scienziati sollevarono autonomamente come costruire un computer più malleabile. Uno di loro era il matematico Alan Turing e l'altro era lo scienziato altrettanto talentuoso John Von Neumann.
Il britannico Alan Turing era stato coinvolto nel decifrare il codice Enigma a Bletchley Park, usando il computer "Colossus". D'altra parte, l'americano John Von Neumann aveva lavorato al Progetto Manhattan per costruire la prima bomba atomica, che richiedeva molti calcoli manuali..
Fino ad allora, i computer in tempo di guerra erano più o meno "programmati" ricollegando l'intera macchina per svolgere un compito diverso. Ad esempio, il primo computer chiamato ENIAC ha impiegato tre settimane per riconnettersi per eseguire un calcolo diverso..
Il nuovo concetto consisteva nel fatto che in una memoria non solo i dati dovevano essere immagazzinati, ma anche il programma che elaborava quei dati dovevano essere immagazzinati nella stessa memoria.
Questa architettura di programma memorizzata internamente è comunemente nota come architettura "Von Neumann"..
Questa nuova idea significava che un computer con questa architettura sarebbe stato molto più facile da riprogrammare. In effetti, il programma stesso verrebbe trattato allo stesso modo dei dati.
Il fondamento principale del modello di Von Neumann è il pensiero che il programma sia memorizzato internamente in una macchina. L'unità di memoria contiene i dati e anche il codice del programma. Il progetto dell'architettura si compone di:
È il circuito digitale che è responsabile dell'esecuzione delle istruzioni di un programma. È anche chiamato processore. La CPU contiene l'ALU, l'unità di controllo e un set di registri.
Questa parte dell'architettura è coinvolta solo nell'esecuzione di operazioni aritmetiche e logiche sui dati..
Saranno disponibili i normali calcoli di addizione, moltiplicazione, divisione e sottrazione, ma saranno disponibili anche confronti di dati come "maggiore di", "minore di", "uguale a".
Controlla il funzionamento dell'ALU, della memoria e dei dispositivi di input / output del computer, istruendoli su come agire in base alle istruzioni del programma che hai appena letto dalla memoria.
L'unità di controllo gestirà il processo di spostamento di dati e programmi da e verso la memoria. Si occuperà anche di eseguire le istruzioni del programma, una alla volta o in sequenza. Ciò include l'idea di un registro per contenere i valori intermedi.
Sono aree di archiviazione ad alta velocità sulla CPU. Tutti i dati devono essere memorizzati in un registro prima di poter essere elaborati.
Il registro degli indirizzi di memoria contiene la posizione di memoria dei dati a cui accedere. Il registro dei dati di memoria contiene i dati che vengono trasferiti in memoria.
Il computer avrà una memoria che può contenere dati, così come il programma che elabora tali dati. Nei computer moderni questa memoria è la RAM o la memoria principale. Questa memoria è veloce e accessibile direttamente dalla CPU.
La RAM è divisa in celle. Ogni cella è composta da un indirizzo e dal suo contenuto. L'indirizzo identificherà in modo univoco ogni posizione in memoria.
Questa architettura permette di cogliere l'idea che una persona ha bisogno di interagire con la macchina, attraverso i dispositivi di input-output.
Le informazioni devono fluire tra le diverse parti del computer. In un computer con architettura von Neumann, le informazioni vengono trasmesse da un dispositivo all'altro lungo un bus, collegando tutte le unità CPU alla memoria principale..
Il bus indirizzi trasporta gli indirizzi dei dati, ma non i dati, tra il processore e la memoria.
Il bus dati trasporta i dati tra il processore, la memoria e i dispositivi di input-output.
Il principio rilevante dell'architettura von Neumann è che sia i dati che le istruzioni sono archiviati in memoria e trattati allo stesso modo, il che significa che istruzioni e dati sono direzionali..
Funziona utilizzando quattro semplici passaggi: ricerca, decodifica, esecuzione, memorizzazione, chiamato "ciclo macchina".
Le istruzioni sono ottenute dalla CPU dalla memoria. La CPU quindi decodifica ed esegue queste istruzioni. Il risultato viene archiviato nuovamente in memoria al termine del ciclo di esecuzione delle istruzioni..
In questo passaggio, le istruzioni vengono ottenute dalla RAM e inserite nella cache per consentire alla centralina di accedervi..
L'unità di controllo decodifica le istruzioni in modo tale che l'unità logica aritmetica possa comprenderle e quindi le invia all'unità logica aritmetica.
L'unità logica aritmetica esegue le istruzioni e invia il risultato alla cache.
Quando il contatore del programma indica l'arresto, il risultato finale viene scaricato nella memoria principale.
Se una macchina von Neumann vuole eseguire un'operazione con i dati in memoria, deve essere trasferita tramite il bus alla CPU. Dopo aver eseguito il calcolo, è necessario spostare il risultato in memoria tramite lo stesso bus.
Il collo di bottiglia di Von Neumann si verifica quando i dati immessi o rimossi dalla memoria devono trascorrere mentre l'operazione di memoria corrente viene completata..
Cioè, se il processore ha appena completato un calcolo ed è pronto per eseguire quello successivo, deve scrivere il calcolo finito, che occupa il bus, in memoria prima di poter recuperare nuovi dati dalla memoria, che pure utilizza lo stesso autobus..
Questo collo di bottiglia è andato peggiorando nel tempo, perché i microprocessori hanno aumentato la loro velocità e d'altra parte la memoria non è avanzata così rapidamente.
- La centralina recupera dati e istruzioni allo stesso modo dalla memoria. Pertanto, la progettazione e lo sviluppo della centralina sono semplificati, essendo più economici e veloci..
- I dati dai dispositivi di input / output e dalla memoria principale vengono recuperati allo stesso modo.
- L'organizzazione della memoria viene eseguita dai programmatori, consentendo di utilizzare la piena capacità di memoria.
- Gestire un singolo blocco di memoria è più semplice e facile da ottenere.
- Il design del chip del microcontrollore è molto più semplice, poiché si accederà a una sola memoria. La cosa più importante del microcontrollore è l'accesso alla RAM e nell'architettura von Neumann questo può essere utilizzato sia per memorizzare i dati che per memorizzare le istruzioni del programma..
Il vantaggio principale di avere la stessa memoria per programmi e dati è che i programmi possono essere elaborati come se fossero dati. In altre parole, puoi scrivere programmi i cui dati sono altri programmi.
Un programma i cui dati sono un altro programma non è altro che un sistema operativo. Infatti, se programmi e dati non fossero ammessi nello stesso spazio di memoria, come nel caso dell'architettura von Neumann, i sistemi operativi non avrebbero mai potuto essere sviluppati.
Sebbene i vantaggi superino di gran lunga gli svantaggi, il problema è che esiste un solo bus che collega la memoria al processore, quindi è possibile recuperare solo un'istruzione o un elemento di dati alla volta.
Ciò significa che il processore potrebbe dover attendere più a lungo prima che i dati o le istruzioni arrivino. Questo è noto come il collo di bottiglia di von Neumann. Poiché la CPU è molto più veloce del bus dati, ciò significa che spesso rimane inattiva.
- A causa dell'elaborazione sequenziale delle istruzioni, l'implementazione parallela del programma non è consentita.
- Condividendo la memoria, c'è il rischio che un'istruzione venga sovrascritta su un'altra a causa di un errore nel programma, causando il crash del sistema..
- Alcuni programmi difettosi non sono in grado di liberare memoria quando hanno finito, il che potrebbe causare il blocco del computer a causa della memoria insufficiente.
- I dati e le istruzioni condividono lo stesso bus di dati, sebbene la velocità con cui ciascuno deve essere recuperato sia spesso molto diversa..
Nessun utente ha ancora commentato questo articolo.