![]() ![]() |
|
I calcolatori sono usati quotidianamente in ogni tipo di attività
umana. Per esempio per scrivere una relazione, per vedere il saldo del
conto corrente o per giocare.
I computer sono ottimi per svolgere diverse attività sia lavorative che ludiche. In confronto, altre macchine svolgono un'attività più ristretta: un tostapane tosta il pane, una lavatrice esegue al massimo una decina di programmi diversi.
Domanda: Perché invece i calcolatori possono eseguire
attività così diverse tra loro?
Un dato programma vi calcola il saldo del conto corrente, un altro (probabilmente progettato da una diversa società) elabora i testi, un terzo programma esegue un gioco. Il computer è una macchina che immagazzina dati (numeri, parole, immagini), interagisce con i dispositivi (il monitor, sistema audio stampante) ed esegue programmi. |
![]() ![]() |
|
I programmi sono sequenze di operazioni necessarie per risolvere un problema o svolgere un'attività, tali operazioni sono espresse in un linguaggio di programmazione che il calcolatore è in grado di comprendere ed eseguire. I calcolatori infatti possono eseguire con grande velocità una quantità enorme di operazioni elementari (miliardi al secondo). I programmi descrivono come combinare queste operazioni per risolvere un dato problema. Sembra incredibile che programmi complessi siano costituiti da operazioni estremamente semplici. Qualche esempio di queste operazioni:
ll procedimento che porta alla definizione di programmi adatti a risolvere problemi è detto programmazione. Usare un calcolatore non significa "programmare" [per guidare una macchina non è necessario essere meccanici...] Nei calcolatori si distinguono due componenti:
|
![]() ![]() |
|
L'architettura di Von Neumann riflette le funzionalità richieste da un elaboratore:
![]() Rappresentazione schematica dell'hardware di un computer |
![]() ![]() |
|
![]() Alcune delle schede RAM più comuni
La dimensione della memoria è misurata in byte (tipicamente 1GByte sui PC moderni)
|
![]() ![]() |
|
Diversi tipi di memoria secondaria
|
![]() ![]() |
|
Il bus è un canale attraverso cui diversi componenti elettronici (quali ad esempio le varie parti di un computer) dialogano fra loro. Notare che a differenza di una connessione punto-a-punto, i diversi dispositivi sono collegati allo stesso insieme di "fili". Infatti l'architettura a più bus, proposta teoricamente agli albori dell'informatica da John von Neumann nel 1945, non è realizzabile a causa dell'altissimo numero di connessioni che sarebbero necessarie. Il bus di sistema di un calcolatore è inciso sulla scheda madre (da 50 a oltre 100 fili in rame incisi sulla scheda madre, sui quali viaggiano cifre binarie, 0 o 1, in successione) ed è dotato di connettori separati ad intervalli regolari per l'innesto dei moduli di memoria e di I/O. Suddiviso in tre parti:
Esistono diversi tipi di standard per i bus. Nel caso di periferiche più lente è frequente l'uso di bus seriali (es. USB, FireWire) invece che paralleli.
![]() Slot di collegamento al bus |
![]() ![]() |
|
![]() ![]() Microprocessore Intel 80486DX2 (visto da sotto) e una scheda madre Interpreta le istruzioni che compongono il programma e le esegue È formata da 3 componenti principali:
La CPU può utilizzare una memoria Cache (che risiede all'interno del processore stesso) per accelerare l'accesso alle posizioni di memoria RAM usate più frequentemente. Ultimamente si sono affermate le CPU dual core che uniscono due processori indipendenti e le rispettive Cache in un singolo package. Questo tipo di architettura consente di aumentare la potenza di calcolo. Tutte le attività interne alla CPU sono regolate da un orologio (clock) che genera impulsi regolari ad una certa frequenza, ad esempio 1GHz (109 impulsi al secondo), 1.66GHz, 2GHz, ..... |
![]() ![]() |
|
![]() ![]() |
Il programma viene memorizzato in celle di memoria consecutive della RAM L'unità di controllo lavora eseguendo il ciclo di:
|