Alice Giussani
Informatica
L’informatica è una scienza “Computer Science” che tramite una metodologia sistematica e
rigorosa si occupa di studiare i fondamenti teorici della memorizzazione, della rappresentazione e
dell’elaborazione dell’informazione , mediante procedure automatizzabili e Le tecniche pratiche per
l’implementazione e per l’applicazione delle metodologie computazionali sviluppate per risolvere i
vari problemi.
Come sono fatti i computer
L’elemento base di un circuito digitale è il transistor ed ogni transistor implementa una porta
logica, inoltre ogni porta logica realizza una determinata operazione tra variabili Booleane. Un
insieme di porte logiche connesse fra di loro costituisce una rete logica, che svolge un determinato
«calcolo» sui valori delle variabili che riceve in input, e restituisce un valore in output (il risultato)
Porta logica AND A,B e C assumono valori booleani (Bit)
0 o 1
La porta logica AND garantisce che C
riceve un impulso elettrico solo se sia A che B hanno un impulso
elettrico
Porta logica OR A,B e C assumono valori booleani (Bit)
0 o 1
La porta logica OR garantisce che C
riceve un impulso elettrico solo se o A o
B (o entrambi) hanno un impulso elettrico
Porta logica NOT A e C assumono valori booleani (Bit) 0 o 1
La porta logica NOT garantisce che C riceve un
impulso elettrico solo se A non ha un impulso
elettrico 1
Alice Giussani
Porte logiche NAND e NOR
Così come è possibile comporre le operazioni algebriche (somma, prodotto, ecc.), è possibile
comporre le operazioni logiche booleane
C = (A AND B) OR (NOT B)
Architettura di von Neumann
Sviluppata negli anni 40 del XX secolo, è l’architettura «hardware» su cui è basata la maggior
parte dei computer programmabili Le componenti principali
dell’architettura di von Neumann
(processore, memoria,
periferiche, bus) costituiscono le
componenti fisiche di un
computer e vengono chiamate
hardware
Bus di sistema = Serve per collegare processore e memoria per lo scambio di informazioni e dati
e diverse periferiche possono essere collegate ad un computer attraverso il bus
Hard disk= periferica di memorizzazione persistente ad alta capacità, viene chiamata memoria di
massa o memoria secondaria ed è un tipo di memoria non volatile. Tiene in memoria i programmi e
2
Alice Giussani
i dati quando non sono utilizzati direttamente e Il processo di salvataggio permette di copiare i dati
(in modo permanente) dalla memoria primaria (RAM) all’hard disk durante l’esecuzione di un
programma
Processore = È la parte del computer dedicata all’elaborazione dei dati, ed è coinvolto in tutte le
attività del sistema ed è costituito da due componenti:
• Unità di controllo
• Unità operativa, o unità aritmetico/logica (ALU)
Il processore è composto da circuiti elettronici (AND,OR,NOT….), il suo scopo è quello di eseguire
istruzioni deterministiche una sola interpretazione, ed elementari . queste istruzioni sono
sequenze di 0 e 1 memorizzate nella memoria primaria sotto forma di sequenze di bit. La memoria
contiene anche i dati su cui le istruzioni operano
Memoria primaria (RAM)= E’ la parte del computer dove si trovano i programmi (istruzioni) e i dati
usati durante l’elaborazione. Questa memoria se no alimentata è volatile.
È organizzata in una sequenza di locazioni ordinate (celle) dove ogni locazione contiene 8 bit= 1
byte e a ciascuna di esse è associato un indirizzo.
Con 1 byte si possono memorizzare un numero limitato di informazioni e per rappresentare dati
che occupano più di un byte in memoria usiamo locazioni consecutive e ci riferiamo a loro usando
l’indice della prima locazione.
La memoria è chiamata RAM= Random Access Memory perché Si può accedere a qualsiasi
elemento in memoria in modo diretto (o casuale), cioè in qualsiasi ordine, senza dover scorrere
tutti gli elementi precedenti.
Ciclo macchina fetch/execute
Il processore per eseguire le istruzioni segue il ciclo macchina
Esempio:
ADD 4000, 2000, 2080
Cosa fa: addiziona il valore contenuto all’indirizzo
2000 con il valore contenuto all’indirizzo 2080 e
mette il risultato all’indirizzo 4000
Concetto chiave: nelle istruzioni sono codificati gli
indirizzi in memoria dei dati su cui eseguire l’istruzione , Si dice che le istruzioni fanno riferimento
ai valori dei dati in modo indiretto (riferimento indiretto).
Lettura istruzioni
Il numero della prossima istruzione da eseguire è memorizzato in un registro nell’unità di controllo
del processore, detto Program Counter (PC) . Il PC viene incrementato automaticamente quando
finisce di interpretare un’istruzione, per passare all’esecuzione della prossima istruzione
1) fetch istruzione
l’istruzione corrente viene spostata nella memoria all’interno dell’unità di controllo 3
Alice Giussani
2) decodifica istruzione
l’istruzione viene esaminata, l’ALU è configurata con l’operazione da eseguire e sono
calcolati gli indirizzi degli operandi sorgente e destinazione
3) fetch dati
gli operandi sono trasferiti dalla memoria all’ALU
4) esecuzione istruzione
all’interno dell’ALU viene calcolato il risultato dell’operazione
5) restituzione risultato
il valore del risultato è trasferito all’ALU dall’ indirizzo di destinazione e il PC viene
incrementato di 4 byte con l’istruzione successiva
Istruzioni eseguite dal processore
Istruzioni aritmetiche: ADD, MULT, DIV • Istruzioni logiche: AND, OR • Shift: spostamento di bit
verso destra o sinistra • Istruzioni di controllo del flusso: salti (goto) • Spostamento di dati tra
aree di memoria • Ricezione di segnali dai dispositivi (periferiche)
Linguaggio macchina
Un programma è una serie di istruzioni elementari codificate in linguaggio macchina , La serie è
molto lunga (anche milioni di righe di codice) e prende il nome di codice oggetto (o codice
binario)
E’ possibile scrivere istruzioni più semplici usando un linguaggio «primitivo», detto assembly.
Ognuna di queste istruzioni viene poi trasformata in un’istruzione in linguaggio macchina: Il
programma che effettua la trasformazione in linguaggio macchina si chiama assembler.
I linguaggi di programmazione di alto livello permettono di specificare istruzioni in linguaggi più
semplici per l’uomo e Il compilatore trasforma ogni istruzione di un programma di alto livello in
una o più istruzioni elementari
Quando un computer è in esecuzione, esegue dei programmi: Insiemi di istruzioni finalizzate a
risolvere un problema. I programmi sono le componenti software di un computer 4
Alice Giussani
Classificazione del software
software applicativo software di sistema
permette agli utenti di svolgere i loro compiti permette di gestire il computer:
Effettua la fase di avvio (booting) – Controlla la
memoria – Gestisce le periferiche – Gestisce il
multitasking– Gestisce il file system
Rappresentazione dell’informazione
Rappresentazione dei numeri
Numero: concetto astratto utilizzato per descrivere una quantità
Rappresentazione: Formalismo utilizzato per rappresentare i numeri. Ogni numero corrisponde
ad una configurazione univoca dei simboli (cifre) usate per la sua rappresentazione
NOTAZIONE ADDITIVA NOTAZIONE POSIZIONALE
x --> un oggetto se cambiamo la se cambio la
posizione di x il 516 ≠651 posizione il numero
xx --> due oggetti numero non cambia
cambia 5
Alice Giussani
la memoria utilizza sequenze di bit numerazione in base 2 che come quella in base 10 è
posizionale n
2
In generale, con n bit possiamo rappresentare valori diversi
Da base 2 a base 10 Da base 10 a base 2
Per i numeri interi con segno si usa la notazione in complemento a due: un bit viene assegnato per
il segno (1 se negativo e 0 se positivo).
Rappresentazione del testo
Per la memorizzazione di un testo senza formattazione possiamo associare ad ogni carattere un
numero in in binario.
Esistono diverse codifiche : ASCII, ASCII esteso, Unicode
Il codice ASCII esteso utilizza 8 bit per ogni Il codice Unicode utilizza 4 byte per ogni
carattere 256 caratteri 32
2
carattere caratteri
Rappresentazione testo con formattazione
La formattazione E’ l’aggiunta di informazioni su come deve essere mostrato il testo
Lo spazio necessario per la memorizzazione di queste informazioni dipende dalla codifica
utilizzata, generalmente per risparmiare spazio vengono usate delle marcature (caratteri speciali)
per indicare la formattazione del testo che lo segue
Rappresentazione dell’informazione multimediale
L’immagine digitale è una rappresentazione di un’immagine (bidimensionale) tramite un’opportuna
serie di valori, in un immagine bitmap i valori formano una matrice di punti, ogni punto (=pixel)
indica le caratteristiche dell’immagine da rappresentare
• il pixel è l’elemento unitario dello schermo del computer
• Il computer visualizza ogni pixel nel colore dell’immagine da rappresentare maggiore
numero di pixel maggiore è la risoluzione. 6
Alice Giussani
Immagini in bianco e nero Dividiamo l’immagine in pixel numerandoli, successivamente
usiamo 0 per il bianco e 1 per il nero 1 bit per ogni pixel
Immagini in scala di grigio Non basta più un bit per rappresentare le varie sfumature di grigio
il numero di bit necessari per rappresentare un pixel viene
chiamato profondità del colore ( es. 256 tipi di grigio = 8 bit)
Immagini a colori
Per rappresentare i colori, si usano le combinazioni
di tre componenti: RGB (Red Green Blue).
I colori percepiti dal nostro occhio sono dovuti alla
l
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.