Sei sulla pagina 1di 8

3001v2 info base

INFORMATICA

Etimologicamente deriva dalle parole Information e Automatique (informazione automatica).

E’ la disciplina che si occupa della progettazione di macchine e dispositivi che elaborino


automaticamente le informazioni. L’informatica riguarda il trattamento automatizzato
dell'informazione.

L’informazione è un dato a cui è stato aggiunto un significato.

Con trattamento si intende:


∙ l’elaborazione (modificare un valore, un testo, un’immagine, un suono; cancellare dei colori
pastello da una immagine, o rende una immagine più luminosa, etc);
∙ la trasmissione (spedire o ricevere un’email, etc);
∙ l’archiviazione o stoccaggio (depositare dati su un supporto non volatile come un disco esterno o
un CD, etc).
Con automatizzato si intende che il trattamento viene eseguito interamente o in ampia parte da un
automa e non da un individuo o più che si attivano e portano avanti tutta l’elaborazione. L’automa
impiegato è il calcolatore, che sarà trattato in seguito.

Information Technology: (tecnologia dell’informazione) è l’insieme delle infrastrutture (elettroniche


e non) per applicare l’infomatica.

l’elaborazione delle informazioni.

Il calcolatore ha il compito di elaborare dei dati forniti in input e di fornire in output dei risultati
conseguenti.

dati ---> elaborazione ---> risultati

Il processo di elaborazione dell’informazione introduce i concetti di:


• Dati di input o dati in ingresso
• Processo di elaborazione
• Dati di output o dati in uscita

La natura dei dati può essere profondamente diversa:


• dati di tipo numerico, che rappresentano un valore, intero, con o senza segno, reali (con decimali).
• dati di tipo alfanumerico, costituiti da lettere dell’alfabeto, simboli per rappresentare i numeri,
segni di punteggiatura, ecc.
• dati di tipo multimediale sono immagini, suoni e video.
Il bit e i suoi “multipli”
Con la grande disponibilità di molti elementi tecnologici aventi due stati distinti, il modo più
economico per rappresentare i numeri all'interno del computer risulta quello di utilizzare la
codifica binaria: ciò comporta la codifica di tutti i dati mediante un alfabeto di due soli simboli.

Nell’informatica un bit è la più piccola quantità di informazione disponibile per ridurre


un’indeterminazione. Un bit può rappresentare solamente due entità, una corrispondente allo 0 e
l'altra corrispondente all’1.
Ogni cifra binaria memorizzata fisicamente all'interno di un elaboratore è denominata bit.

Per migliorare il loro impiego i bit sono raggruppati in sequenze: byte: 8 bit; word: 16 bit; double
word: 32 bit; quad word: 64 bit.

Il bit indicato con LSB (acronimo dall'inglese Less Significant Bit) ha peso 20 e per questo è
definito come bit meno significativo; il bit indicato con MSB (acronimo dall'inglese Most
Significant Bit) ha peso 215 ed è identificato come il più significativo.

Questa importanza alla posizione definisce il sistema come posizionale e si riscontra anche nel
sistema numerico decimale, dove l’unità è la prima cifra a destra e ha minor peso della cifra delle
migliaia, piuttosto che dei milioni.

Il sistema di numerazione esadecimale

Impiega 16 simboli per rappresentare un numero.


Essi sono, in ordine, le 10 cifre numeriche (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) e le prime sei lettere
dell'alfabeto (A, B, C, D, E, F).
Per questo il sistema di numerazione esadecimale è molto usato in ambito informatico per
rappresentare, ad esempio, il contenuto della memoria, gli indirizzi di una memoria, oppure il
codice dei colori standardizzati che sono impiegabili.

Tra decimale ed esadecimale si può passare tramite le conversioni in binario semplificando di molto
i conti.

Conversione da binario a esadecimale

Procedimento:
1. partendo da destra, dal bit meno significativo incluso, si raggruppano in quattro i bit del numero
in quartine;
2. si riporta direttamente ogni gruppo così ottenuti nella corrispondente cifra esadecimale.

Conversione da esadecimale a binario


Procedimento: sostituire a ciascuna di delle cifre del numero esadecimale la corrispondente quartina
binaria;
Esempio: (5F4E)16 = (0101.1111.0100.1110)

Il sistema binario e la rappresentazione dei caratteri. La codifica dei


caratteri alfanumerici

Per quanto riguarda la rappresentazione dei caratteri, deve essere utilizzato un


codice, cioè un sistema di configurazioni binarie dove ogni configurazione dell'insieme corrisponde
a uno dei possibili caratteri che l'elaboratore può accettare.
Un codice ampiamente utilizzato dagli anni ‘70 è il codice ASCII, che utilizza nella forma estesa 8
bit per rappresentare un carattere.
Dato che la codifica ASCII estesa utilizza 1 byte (8 bit), il numero di caratteri diversi che possono
essere rappresentati è 28 = 256.
Nato per il soloambito americano il codice ASCII non è abbastanza ampio da poter associare molti
simboli utilizzati in molte altre lingue quindi risulta inadeguato alle attuali esigenze di
comunicazione.
Per sopperire a tale inadeguatezza è stato inventato il codice Unicode.
Il codice Unicode rappresenta la maggior parte dei caratteri utilizzati in centinaia di lingue parlate
nel mondo e viene continuamente aggiornato dall'Unicode Consortium, un'associazione di enti e
aziende che ha come scopo l'elaborazione informatizzata standard di testi in lingue diverse.

IL CALCOLATORE

Esso rappresenta il dispositivo più versatile e diffuso per il trattamento delle informazioni, e
consente di automatizzare il processo di elaborazione delle informazioni e dei dati.

Il modello architetturale.
Per modello architetturale si intende ciò che fornisce:
• la descrizione delle parti del sistema e la loro collocazione al suo interno;
• la definizione dei compiti di ogni parte al suo interno;
• la descrizione delle relazioni tra le parti.

Nel modello di von Neumann si trovano i seguenti blocchi funzionali:


1. CPU, Central Processing Unit, elabora i dati seguendo le istruzioni e si suddivide in:
• ALU, Arithmetic Logic Unit, che esegue i calcoli aritmetici e logici e i confronti;
• CU, Control Unit, che esegue le istruzioni controllando e coordinando tutto il sistema; 
• Registri, memorie per l’istruzione in corso, la prossima, dati e risultati in esecuzione e per
interfacciarsi con i bus verso gli altri dispositivi.
2. memoria centrale, contenete le istruzioni da eseguire e i dati sui quali operare;
3. dispositivi o periferiche di input: sono i dispositivi attraverso i quali i dati sono immessi nel
sistema dall’esterno;
4. dispositivi o periferiche di output: sono i dispositivi mediante i quali il sistema fornisce i risultati
verso l’esterno.

Tra i blocchi funzionali esistono due flussi:

Il flusso dei dati e il flusso di controllo sono trasportati da canali di comunicazione denominati bus.
I bus sono fili elettrici che permettono il colloquio e la sincronizzazione tra le unità funzionali e lo
scambio dei dati.

La CPU

L'unità funzionale denominata CPU coincide con il dispositivo fisico indicato come
microprocessore.
Il termine CPU (Unità Centrale Processante) fa riferimento all'aspetto funzionale; il termine
microprocessore fa riferimento al componente hardware.

La CPU:
• esegue in sequenza le istruzioni del programma in corso d'esecuzione;
• esegue mediante l’ALU i calcoli inerenti al programma;
• coordina e sincronizza tutte le attività dei dispositivi che costituiscono il computer.
All'interno della CPU possiamo distinguere tre blocchi funzionali: la ALU, la CU e i registri.

ALU

L'Unità Aritmetico Logica ALU è la vera e propria unità funzionale della CPU preposta
all'elaborazione dei dati. In essa avvengono le operazioni matematiche algebriche e logiche.

CU

Le istruzioni sono nella memoria centrale assieme ai dati ed espresse in linguaggio macchina,
ovvero in sequenze di bit.
La CU acquisisce le istruzioni dalla memoria, le interpreta e fa arrivare i dati all’ALU ed
eseguire a questa le operazioni opportune ed al resto del calcolatore.
Questo controllo che coordina tutto i sistema avviene inviando degli opportuni segnali di
controllo su un bus.
L'esecuzione di un'istruzione avviene in una serie di passi nota come ciclo di fetch-decode-
execute che si ripete vicendevolmente.
Il ciclo di fetch-decode-executesi compone delle seguenti fasi:
1. fase di prelievo dell'istruzione: essa viene trasferita dalla memoria centrale all'interno della
CPU e acquisita dalla CU;
2. fase di decodifica: la CU comprende il codice operativo dell'istruzione;
3. fase di esecuzione: la CU preleva gli eventuali operandi, attiva e coordina la ALU e tutti i
dispositivi da coinvolgere richiesti nell’istruzione.

I Registri

I registri interni alla CPU sono aree di memoria dislocate nella CPU, di capacità molto limitata (di
byte), ma con tempi di accesso quasi istantanei. Servono per contenere le istruzioni, le indicazioni
delle prossime, i dati e i risultati in esecuzione e per interfacciarsi con i bus.
Alcuni di essi sono accessibili al programmatore, altri sono solamente gestiti direttamente dall'unità
di controllo.

MEMORIA CENTRALE

La Memoria Centrale è un dispositivo in grado di immagazzinare dati e istruzioni ricevuti dalle


unità di input che saranno utilizzati dal processore o che saranno inviati alle periferiche di output.
Essa si compone di una serie di contenitori chiamati celle o locazioni di memoria organizzati come
una lista, univocamente individuate da un indirizzo binario e possono contenere dati o istruzioni in
forma binaria.

Unità di Misura per la Memoria

Con 8 bit è possibile rappresentare 256 possibili valori che sono tutte le combinazioni possibili
di 0 ed 1. Esempio: 0110.1010
Su ogni cella di memoria di lavoro è possibile effettuare operazioni di scrittura e lettura.
Le singole locazioni generalmente si riferiscono a 1 Byte di memoria
Per incrementare le prestazioni i moderni calcolatori indirizzano gruppi di locazioni chiamate word.
La variabile invece è un contenitore di dati, il cui valore può essere modificato durante l'esecuzione
del programma.
Sono collocate in memoria occupando una o più locazioni.

Gerarchie di Memoria

Esistono tre differenti memorie che compongono la memoria centrale. Queste hanno una
relazione gerarchica nel funzionamento generale di un calcolatore e inoltre differiscono per
scopo, velocità di accesso e mantenimento dei dati.
• RAM, Random Access Memory, memoria ad accesso casuale, che consiste nella memoria di
lavoro.
• ROM, Read-Only Memory, memoria a sola lettura.
• CACHE, dal termine francese caché che significa “nascosto”.
Sovente si fa riferimento alla sola RAM come memoria centrale quando di parla di programmi in
esecuzione perché la ROM non è scrivibile e la CACHE non risulta direttamente governabile da
molti linguaggi di programmazione.

RAM

Qui devono risiedono i programmi in esecuzione, perciò le istruzioni che dovranno essere
eseguite, i dati sui quali il programmi operano e i risultati. In essa i dati possono essere scritti e
letti, provenire dalle periferiche di input o disposti per essere inviati periferiche di output. •
L’espressione "ad accesso casuale" significa che l’accesso ad una qualsiasi locazione di memoria
risulta indipendente dalla posizione dell'area interessata. La RAM può essere considerata come
un'enorme cassettiera in cui ogni cassetto, della capacità di un byte, è enumerato con un
indirizzo univoco.
Essa perde il proprio contenuto allo spegnimento del computer.

CACHE

Il suo scopo è di rendere più veloce l'esecuzione dei programmi mettendo prossimi alla CPU dati
e istruzioni che si prevede siano da impiegare nell'immediato futuro. Si trova tra ram e CPU ed è
estremamente veloce, ma anch’essa volatile.
Contiene la copia di una parte della ram delle istruzioni più prossime a quella corrente e le
variabili impiegate, in modo da renderle subito disponibili se richieste. Se quanto richiesto dalla
CPU non è presente nella cache esso viene ricercato nella ram e copiato nella Cache.
Può essere: di primo livello se nel chip della CPU; di secondo livello, se su un dispositivo
esterno e la cpu risulta con una sola ALU come descritta sopra; di terzo livello nelle CPU
multiCore
Dimensioni mille volte maggiore dei registri e mille volte minore della ram.

Memorie Secondarie e Memorie Terziarie

Sono utilizzate per immagazzinare dati in maniera duratura o disponibili se viene spento il
calcolatore.
Non sono volatili e hanno grandi capacità, con velocità di accesso ridotta rispetto alla memoria ram.

Le memorie possono essere confrontate per tempi e capienze:


• Registri delle CPU (ordine KB, tempi di accesso 1 ns)
• Cache della CPU (ordine MB, tempi di accesso 5ns)
• Memoria Centrale (ordine GB, tempi di accesso 50ns)
• Memorie Secondarie (ordine TB, tempi di accesso 5ms)
• Memorie Terziarie (ordine > 10TB, tempi di accesso 50s)
ROM

La ROM è serve per l’avvio del calcolatore.


In essa si trovano sia le funzioni del BIOS che effettua i controlli iniziali e alcune indicazioni
basilari per interfacciarsi con le periferiche, sia la procedura che carica i programmi in memoria
dalla memoria di massa quando viene avviata la macchina.
In linea di principio il Boot del BIOS è il primo programma avviato dal microprocessore.
Utilizzando le funzioni del BIOS è possibile cambiare le impostazioni dei parametri di
funzionamento dell'hardware, eseguire le fasi iniziali di caricamento in memoria del sistema
operativo (fasi di bootstrap) quando si accende il computer o si preme il pulsante di reset, e diverse
altre funzioni di sistema.

BUS

Come si è detto tra i blocchi funzionali esistono due flussi: il flusso dei dati e il flusso di
controllo. Questi flussi scorrono su canali di comunicazione, i bus.
I bus sono fili elettrici che raggiungono tutti i blocchi del calcolatore; permettono lo scambio di
dati, le segnalazioni, i sincronismi ei controlli tra i dispositivi presenti nel computer.
Il traffico è organizzato dalla CU dall’interno della CPU.
Essi principalmente sono:

Data Bus. Il bus dati è il collegamento fisico che trasferisce dati e istruzioni, tra i vari dispositivi
presenti all’interno del computer. Queste informazioni sono normalmente portate a tutte le
terminazioni, ovvero alle porte di accesso dei dati di ogni singolo dispositivo.
L'ampiezza del bus dati determina il numero di byte che possono essere trasferiti in una sola
operazione di lettura o scrittura.
Address Bus. Il bus degli indirizzi è il collegamento fisico con cui la CPU indica l'indirizzo della
locazione all’interno del dispositivo interessato, memoria o periferica, sulla quale si vuole che sia
compiuta un'operazione di lettura o scrittura.

Control Bus. Mediante questo bus la CU abilita opportunamente in lettura o in scrittura i


registri, le memorie e le periferiche in modo da veicolare i dati come indicato dalle istruzioni.

Unità di Input e di Output

Le unità di Input hanno il ruolo di interfacciare l’utente, o altri dispositivi, al calcolatore al


fine di inserire dati in memoria, richiedere l’esecuzione di istruzioni e di codici. Sono il
primo mezzo di interazione.
Le unità di Output hanno il ruolo di rappresentare i risultati delle elaborazioni, a partire dai dati in
memoria.
Ogni periferica presenta un dispositivo elettronico chiamato controller.
Questo dispositivo si occupa di gestite il funzionamento fisico della propria periferica e si
interfaccia con i bus per lo trasferire le informazioni e i controlli sotto le indicazioni della CPU.
Esistono pertanto i disk controller, le USB controller, i graphics adapter (controller) che governano
quanto a loro correttamente collegato e fanno da tramite per la CPU.