In questa seconda lezione descriveremo, anche se in modo molto semplificato, la cosiddetta Architettura di Von Neumann, cioè il modello che sta ancora oggi alla base dell’architettura dei computer.
Avere un’idea di architettura ci servirà come base per capire poi meglio il modello di ragionamento che sta alla base del linguaggio C. Ovviamente ti avverto che se conosci già questi argomenti puoi tranquillamente saltare questa lezione e passare alla successiva, altrimenti resta qui con me e andiamo assieme a conoscere un altro dei pionieri dell’informatica.
Ti consiglio di leggere fino alla fine questo articolo e se lo troverai interessante, mi farebbe piacere avere il tuo supporto per il nostro lavoro e impegno , votando semplicemente con (cinque stelle).
[ratings]Senza girarci troppo intorno direi di partire. Non mi resta che augurarti una buona lettura!
L’Architettura di von Neumann – Prima parte
Per non appesantire la lettura,dividerò il testo in due parti. Molti dei linguaggi di programmazione che oggi noi utilizziamo si basano su un certo modello di computazione che è stato definito molti anni fa e che ancora oggi rappresenta di fatto l’architettura dei computer che noi utilizziamo tutti i giorni.

Questa architettura è stata definita intorno al 1945 da un matematico di origini ungheresi cioè John Von Neumann; e da lui prende il nome questa architettura con cui è nota anche oggi è cioè proprio Architettura di Von Neumann.
Ecco in questa lezione noi daremo quindi uno sguardo anche se molto molto semplificato a questa architettura che ci servirà poi come ti dicevo come base per comprendere meglio il linguaggio C.
Allora, secondo l’architettura di Von Neumann un computer è costituito da una serie di componenti ben precisi; che sono collegati poi fra loro tramite un bus di comunicazione che consente proprio di trasferire dati da un componente ad un altro. Quindi andiamo subito a descrivere uno dopo l’altro queste componenti e poi scenderemo in maggiore dettaglio.
Allora il componente più importante è che anche il più complesso è la CPU cioè il microprocessore; questo componente ha lo scopo di coordinare tutte le operazioni del computer, in particolare di eseguire le istruzioni che compongono poi ogni singolo programma.
L’Architettura di von Neumann – Seconda parte
Poi abbiamo la memoria centrale che è organizzata in un insieme di singole celle o locazioni di memoria che sono identificate univocamente tramite un indirizzo numerico; lo scopo di ogni singola cella di memoria è quello di registrare temporaneamente un valore numerico in formato binario; che può rappresentare un dato ma anche una istruzione che poi eseguibile dalla CPU cioè dal microprocessore.
Poi abbiamo un insieme di componenti diversi che vengono dette in generale unità di input-output o periferiche anche se vengono usati in sostanza per far entrare e uscire i dati dal computer. Degli esempi di questi dispositivi sono i monitor; le tastiere e mouse però anche gli hard disk nelle varie tipologie così come anche i lettori DVD; lettori blu-ray eccetera. Tutti questi componenti sono interconnessi tra loro come ti dicevo da un bus; cioè da un componente che ha lo scopo di scambiare dati e istruzioni fra tutti i singoli componenti del computer.
Ecco attraverso l’utilizzo di questo bus i vari componenti quindi le varie unità di input output poi anche la CPU e anche la memoria comunicano tra loro pur essendo fisicamente disaccoppiate. Bene dopo questa visione di insieme ora scendiamo un po’ più in dettaglio andando a guardare da vicino il componente che forse è il più importante all’interno di un computer e cioè proprio il microprocessore.
La CPU: Il componente più importante (nel dettaglio)

Allora come dicevamo il microprocessore cioè la CPU ha il compito di coordinare tutte le operazioni del computer e in particolare di eseguire un insieme di istruzioni che compongono poi ogni singolo programma. Ogni tipo, ogni famiglia di microprocessore conosce ed è definito per eseguire un insieme di istruzioni elementari che è in grado di interpretare ed eseguire direttamente, ovviamente ad altissima velocità.
Ecco se noi scendiamo ancora a un livello inferiore possiamo andare a dare un’occhiata all’interno di una CPU; per parlare brevemente, in modo ti ripeto assolutamente semplificato; dei suoi componenti più importanti per quello che poi a noi serve per imparare il linguaggio C.
L’unità di controllo nel dettaglio (è un componente delle CPU)

Per prima cosa noi troviamo una control unit cioè una unità di controllo, la funzione della control unit è quella di coordinare tutte le attività del computer. Per fare questo,diciamo per semplicità, che esegue una sorta di ciclo infinito in cui ad ogni singola interazione la CPU va a prelevare una o più istruzioni dalla memoria centrale, le decodifica e poi le esegue.
Queste operazioni detto a grandi linee possono essere indirizzate nella memoria per leggere o scrivere dati e anche istruzioni; oppure possono essere tutta interne alla CPU come ad esempio “la richiesta della somma di due numeri” che sono già presenti nei registri a punto della CPU; oppure ancora l’esecuzione di comandi che sono destinati ai dispositivi di input output per eseguire quindi delle richieste di ingresso e di uscita di dati proprio dal computer.
Ora l’esecuzione delle attività di questa control unit sono scandite nel tempo in un modo molto preciso attraverso un clock cioè un attraverso una sorta di orologio che genera dei segnali a degli intervalli predefiniti di tempo.
La frequenza di questi segnali che viene misurata in Hertz o meglio in gigahertz; cioè in miliardi di impulsi al secondo che determinano in sostanza a quale velocità poi l’intero sistema è in grado di operare;
In altre parole maggiore è la frequenza del clock e più istruzioni possono essere eseguite dalla CPU in ogni singolo secondo.
Registri della CPU – Program Counter
La CPU possiede anche un insieme di propri registri cioè di singole unità di memoria che sono ospitate direttamente all’interno del microprocessore (super veloci). Questi registri hanno delle funzionalità differenti fra loro e variano poi da una CPU all’altra.
Però fra i più importanti noi possiamo ricordare sicuramente il program counter cioè un registro che contiene l’indirizzo di memoria della prossima istruzione che il processore dovrà prelevare ed eseguire.
Poi anche un insieme di registri che vengono dette accumulatori cioè un insieme di registri di memoria; che ospitano in maniera temporanea i dati su cui l’istruzione corrente della CPU dovrà operare; come per fare un esempio “due numeri che dovranno essere subito dopo moltiplicati tra loro”.
ALU – Unità aritmetica e logica

Dopo che abbiamo dato uno sguardo all’interno della CPU più adesso andiamo a dare un’occhiata invece alla memoria centrale del computer quindi spostiamoci in un’altra zona del nostro computer. Allora la memoria centrale del computer è composta come dicevamo poco fa da un numero estremamente elevato di celle; ciascuna delle quali ha o poi un proprio indirizzo numerico e tramite questo indirizzo la CPU può andare a leggere e a scrivere anche ovviamente dei dati in memoria. (questi dati possono essere solo numeri) cosa molto importante!
Questi numeri sono sempre organizzati e memorizzati in formato binario. Ognuna di queste celle ha a sua volta una dimensione; ovviamente questa dimensione è sempre di 8 bit cioè di un byte oppure di un multiplo di 8 bit come ad esempio 16 o 32 o anche 64 bit. L’ampiezza di un insieme di celle che sono indirizzabile dalla CPU determina di fatto anche quanta informazione può essere; poi scambiata dalla CPU con la memoria e anche quanta informazione può essere elaborata dalla CPU in una singola istruzione.
Architettura di von Neumann – Conclusione
Dopo questa breve esplorazione dell‘architettura di Von Neumann adesso è tempo di andare alla prossima lezione nella quale parleremo e andremo a conoscere il compilatore del linguaggio C.
Ti Ricordo Che:
Per qualsiasi dubbio o incertezza non dimenticate che ci potete contattare attraverso i nostri gruppi ufficiali. Potete farlo sia tramite il nostro gruppo Facebook, che con gli altri gruppi social a nostra disposizione,come ad esempio il nostro gruppo Telegram. Se vuoi rimanere sempre aggiornato, unisciti al nostro canale Telegrame seguici su Instagram. Hai finito di leggere? Torna alla Home Page.
Rispondi