Architettura
Modello di Von Neumann
Unità funzionali fondamentali:
Corpo
Un sistema è un insieme di elementi che, ad ogni determinato input (azione), interagiscono tra loro in modo da produrre un determinato output (reazione).
Il nostro sistema nervoso, il sistema postale, il sistema di distribuzione dell’energia elettrica, il sistema bancario, sono esempi di sistemi presenti nella nostra vita quotidiana.
Un Sistema di Elaborazione delle informazioni è un Sistema in grado di acquisire, memorizzare, elaborare e produrre informazioni. E’ costituito da un insieme di elementi, di diversa tipologia, che possono essere classificati come:
John von Neumann (1903-1957), matematico e informatico ungherese, definì per la prima volta in modo rigoroso e completo il concetto di elaboratore elettronico con programma memorizzato (macchina di von Neumann o architettura von Neumann o modello von Neumann). Il modello concettuale di Von Neumann prevede due sottosistemi interni: la memoria centrale e l’unità centrale di elaborazione che comunicano con l’esterno mediante le unità di ingresso e di uscita.
Nel 1945 con l’EDVAC(Electronic Discrete Variables Automatic Computer) nasce la prima macchina digitale programmabile secondo l’architettura di von Neumann (nella figura in basso).
Durante la seconda guerra mondiale von Neumann fu coinvolto nel progetto Manhattan per la costruzione della bomba atomica. Un tumore alle ossa lo costrinse alla sedia a rotelle.
Il modello concettuale di Von Neumann (Figura a lato) descrive in maniera sintetica un sistema elaborativo in grado di svolgere le funzioni di:
Il modello è costituito da due sottosistemi interni, la memoria centrale e l’unità centrale di elaborazione, che comunicano con l’ambiente esterno tramite le unità di ingresso e di uscita.
Il modello originale di von Neumann rappresentato nella figura a lato oggi viene chiamato modello a mainframe o no bus (figura in alto) per differenziarlo dal modello attuale detto modello a bus (figura in basso).
L’unità centrale di elaborazione (CPU, Central Processing Unit) è l’unica parte del computer in grado di elaborare (ovvero trasformare, processare) informazioni. Provvede inoltre a controllare il funzionamento degli altri dispositivi. La CPU scambia informazioni con la memoria centrale e con i dispositivi di ingresso e di uscita utilizzando dispositivi di trasmissione denominati bus.
La memoria centrale è costituita da un insieme di locazioni (celle) di memoria in grado di conservare informazioni. In base ai comandi ricevuti dalla CPU, acquisisce e conserva informazioni provenienti dalla CPU (operazione di scrittura), oppure ricerca le informazioni memorizzate in una delle proprie locazioni e le trasferisce alla CPU (operazione di lettura).
Le unità di ingresso (come la tastiera ed il mouse) acquisiscono informazioni dall’esterno e le trasferiscono alla memoria centrale sotto il controllo della CPU.
Le unità di uscita (come il monitor e la stampante) trasferiscono all’esterno le informazioni prelevate dalla memoria centrale sotto il controllo della CPU.
L’unità centrale di elaborazione (Figura a lato) (CPU, Central Processing Unit) è l’elemento essenziale del sistema elaborativo contiene al suo interno tre sottosistemi:
Le operazioni svolte dalla CPU sono sincronizzate da un clock (orologio) che genera un segnale periodico che tempifica l’attività della CPU. La velocità di lavoro della CPU è conseguentemente influenzata dalla frequenza di clock.
Ad esempio, un clock che lavora a 10000 MegaHertz permette alla CPU di eseguire fino a 10000 milioni di microoperazioni al secondo; un clock di 1 GHZ fornisce un miliardo di impulsi al secondo, ovvero un impulso ogni nanosecondo.
Viene presentato lo schema del processore con specifica del contenuto di registri interni e della direzionalità dei bus che interagiscono con la Memoria centrale (figura a lato).
I registri sono locazioni di memoria specializzate, contenute all’interno della CPU. I registri permettono di ottenere un accesso veloce ed immediato ai dati, consentendo di diminuire il tempo di esecuzione delle istruzioni. I principali registri sono:il MAR (indirizzo di memoria), il PC (indirizzo dell’istruzione in esecuzione), il registro IR (codice dell’istruzione in esecuzione), il registro PSW (informazioni sullo stato della CPU), il registro MDR (dati in trasferimento con la memoria centrale),i registri A, B, C, .. ( dati da elaborare )
I bus sono dei sottosistemi di trasmissione costituiti da più linee di connessione che lavorano in parallelo, consentendo così di trasferire i bit simultaneamente dal processore verso altre unità. Esistono tre bus: Bus dati (DATA BUS) – Bus indirizzi (ADDRESS BUS) -Bus comandi o di controllo (COMMAND o CONTROL BUS) nella figura a lato sono indicati i tre basi con le rispettive direzioni di trasferimento dei dati da e verso il processore.
L’ unità di controllo è composta da un insieme di circuiti elettronici che costituisce un sottosistema in grado di :
L’ALU riceve in ingresso gli operandi, esegue l’operazione richiesta e restituisce il risultato.
Può eseguire operazioni aritmetiche elementari ed operazioni di tipo logico (AND,OR,NOT) tra cui quella di confrontare due operandi verificando se sono uguali o diversi.
Per realizzare le operazioni vengono usate combinazioni (reti) di porte logiche.Per porta logica si intende un circuito elettronico che ha il compito di eseguire una delle operazioni logiche booleane elementari quali AND, OR, NOT, XOR, NOR, NAND, XNOR. Alcune operazioni booleane sono indicate nelle slide successive.
Sulla scheda madre in un unico chip (microprocessore) con milioni di componenti elementari ci sono:
Obiettivo primario del processore è l’elaborazione delle istruzioni. Il processore è collegato alla memoria centrale tramite un sistema di bus di collegamento ed assume da essa le istruzioni da eseguire, codificate in un linguaggio binario, detto linguaggio macchina, costituito da sequenze di cifre binarie (0 oppure 1).
La definizione di istruzione elementare:
Un’istruzione elementare è un’istruzione in linguaggio macchina espressa in binario, immediatamente interpretabile ed eseguibile dai circuiti elettronici della CPU.
Esistono diverse tipologie di istruzioni elementari:
Ogni processore possiede un limitato insieme di istruzioni in linguaggio macchina. Ogni istruzione in linguaggio macchina è composta da:
Le istruzioni in linguaggio macchina non sono di semplice comprensione ma vengono riconosciute ed elaborate direttamente dai velocissimi circuiti elettronici della CPU.
Ogni microprocessore ha un proprio specifico set di istruzioni in linguaggio macchina.
La CPU acquisisce un’istruzione dalla memoria centrale e la trasferisce nell’unità di controllo che provvede a decodificarla e ad intraprendere le azioni necessarie per l’esecuzione.
E’ difficilissimo programmare il linguaggio macchina.
Per ovviare a tale difficoltà sono stati progettati e vengono usati linguaggi più semplici anche se poi, è sempre necessario tradurre le istruzioni in linguaggio macchina, ma tale traduzione viene oggi effettuata mediante appositi traduttori.
Il linguaggio ASSEMBLER, tipico di ogni processore, è un linguaggio con istruzioni di formato analogo al l.m. ma più leggibili rispetto al linguaggio macchina stesso.
Nell’esempio a fianco, infatti, invece dei codici in binario il linguaggio assembler utilizza comandi (es. ADD) più comprensibili.
Viene detto ciclo della macchina il ripetersi di tre azioni del processore: prelievo dalla memoria principale dell'istruzione, interpretazione, esecuzione dell'istruzione.
Fondamentale per la sincronizzazione di tutte le operazioni svolte dall CPU è un segnale temporizzato detto clock.
Vel. Luce 300.000 km/sec =30 cm/ns
Il clock genera 1 impulso ogni ns =(1 MILIARDO DI IMPULSI AL SECONDO=1 GHz)
(Con ns si indica il nanosecondo cioè il miliardesimo di secondo)
Ii circuiti della CPU sono contenuti in unico dispositivo (chip), detto microprocessore.
Le caratteristiche salienti di ogni microprocessore sono:
Ad esempio il Pentium 4 (figura a lato), ha un clock con frequenza minima di 1600 milioni di Hertz, ha registri interni alla CPU da 32 bit e bus dati da 64 bit, ed è costituito da 42 milioni di transistor.
1. Introduzione all'informatica
2. Le principali strutture dei dati
4. Hardware: gli elementi fondamentali dell'architettura di un elaboratore elettronico.
5. Le memorie, organizzazione dei dati e interfacce
6. La gestione delle memorie, indicatori di prestazioni e tassonomia dei computer
7. Software di sistema e applicativo
8. Sistemi informatici e modelli di database
9. Le forme normali e l'algebra relazionale
10. Lo sviluppo del software in azienda
12. La trasmissione dei dati e reti