




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
appunti di informatica generale
Tipologia: Appunti
1 / 126
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































L’esame è scritto. Ci sono domande a risposta multipla, 40 minuti per farlo. Le domande saranno degli esercizi come quelli fatti in classe. La rappresentazione delle informazioni In particolare ci occupiamo di capire come vari tipi di informazioni sono rappresentati all’interno di un computer che dispone di un linguaggio molto limitato: 1 e 0. Il linguaggio di cui si dispone l’informatica e il tipo di rappresentazione che si dice ‘’digitale’’: ha un insieme finito di simboli per rappresentare la realtà. Quindi ad esempio una informazione trasmessa tramite un interruttore on/off. analogica: è una rappresentazione che varia al variare dell’informazione; ad esempio la lampada alogena o una fotografia dove la luce si imprime ed ha una gamme di valori possibili. Nell’informatica questa unità minima che si usa per rappresentare l’informazione digitale va sotto il nome di BIT. BIT è l’acronimo di binary digit, un valore che può essere soltanto o 0 o 1. Perchè? Di fatto questo linguaggio è implementabile con vari supporti tecnologici, ad esempio passaggio o meno di corrente elettrica, con supporti magnetici (una direzione rispetto ad un’altra). Con un bit possiamo rappresentare quindi due informazioni. Come facciamo se dobbiamo rappresentare più informazioni? Si usano sequenze di bit (00, 01, 10, 11). Ma se aggiungo un bit alla mia sequenza, posso rappresentare 8 informazioni. La regola aurea è quindi: con una sequenza di N bit si possono rappresentare 2allaN informazioni distinte. Se ho una sequenza di 5 bit, avrò 32 informazioni distinte (ricorda la regola) Il Byte è una sequenza di 8 bit che ha assunto un valore fondamentale nell’ambito dell’informatica. Siccome applicando la regola che abbiamo appena visto con un Byte possiamo rappresentare 256 informazioni diverse.
I byte vengono usati per esprimere la capacità di memoria di un dispositivo. L’idea è che ogni volta si proceda con le potenze del 2; bit, kilobit (1024, megabit, gigabit, ecc. stessa identica cosa con il byte. Come sono rappresentati i numeri tramite bit? i numeri sono rappresentati con un sistema di numerazione binario. Innanzitutto si usa distinguere tra numero e nuemerla. Il numero è la quantità rappresentata, il numerale è lui simbolo che si usa per rappresentare quella quantità. Es. 6, sei, VI Il sistema binario funziona in modo simile al sistema decimale, ma cambia l’alfabeto di base e le potenze in termini in cui si ragiona. Il sistema di numerazione decimale, contiene 10 cifre e il numerale 245: capiamo che possiede 2 centinaia, 4 decine, 5 unità ovvero 2 volte dieci alla seconda, 4 volte 10 alla prima e 5 volte 10 alla 0. Nel caso del sistema di numerazione binario, le cose funzionano quasi allo stesso modo. La differenza è che l’alfabeto che abbiamo a disposizione contiene solo 2 cifre ovvero 0 e 1. La seconda differenza è che la posizione delle cifre ci dice non quale potenza del dieci, ma quale potenza del due dobbiamo seguire. Altri esempi svolti in classe:
Ora calcoliamo il suo valore: ● La cifra più a destra vale 2^0 = 1 ● La cifra centrale vale 2^1 = 2 ● La cifra più a sinistra vale 2^2 = 4 Quindi: 111 ₂ = 4 + 2 + 1 = 7₁₀ Il valore massimo rappresentabile con 3 bit è 7. Questo ci serve per capire come passare da un intero alla rappresentazione binaria di quell’intero. Esempi:
Dove si usa questo ragionamento? Supponiamo di voler rappresentare il numero 4 in modo binario. Il primo passaggio è cercare di capire quanto sarà lunga la nostra sequenza. Applichiamo la proprietà di 2allan-1. Mi serviranno qui 3 bit.
Noi disponiamo soltanto del linguaggio fatto di 0 e 1. Per codificare un’immagine, essa viene suddivisa in una griglia di piccoli quadratini chiamati pixel. A ciascun pixel viene assegnato un valore in base al colore: 0 se è bianco e 1 se è nero. Questo tipo di rappresentazione prende il nome di codifica bitmap. Ma se vogliamo rappresentare immagini che non siano solo in bianco e nero, come possiamo fare? Con un solo bit per pixel possiamo rappresentare soltanto due stati (tipicamente bianco e nero). Per poter codificare più informazioni – ad esempio diverse tonalità – dobbiamo usare più bit. Se vogliamo rappresentare gradazioni di grigio, il trucco è utilizzare sequenze di più bit: ● Con 2 bit (es. 00, 01, 10, 11) possiamo rappresentare 4 livelli di grigio. ● Per arrivare a 256 livelli di grigio, occorrono 8 bit. E per associare un colore specifico a ogni pixel?
Quanti bit occuperà un’immagine di questo tipo? Si fa l’operazione di moltiplicazione 150x200 quindi 30,000 bit. Se l’immagine è a colori, quindi in rgb, di quanti byte avremo bisogno per un’immagine di 150x200?
La compressione delle immagini è l’insieme di tecniche che permettono di rappresentare la stessa immagine usando meno bit e quindi meno spazio di memorizzazione. Esistono due grandi famiglie di tecniche di compressione: ● Lossless (senza perdita): ○ Se in un’immagine ci sono, ad esempio, sei pixel consecutivi con lo stesso colore, invece di memorizzarli singolarmente, si salva una
sola volta il valore del colore e il numero di volte in cui si ripete. ○ Si dice “senza perdita” perché, una volta decompressa, l’immagine risulta identica all’originale, senza alcuna perdita di informazione. ● Lossy (con perdita): ○ In questo caso, il processo di compressione elimina alcuni dati, riducendo la qualità dell’immagine. ○ Una volta decompressa, l’immagine risulta leggermente diversa dall’originale, ma il vantaggio è un notevole risparmio di spazio. ○ Esempi di formati lossy: JPEG. ○ Alcuni formati come PNG usano invece compressione lossless.
I video non sono altro che sequenze di immagini, dette fotogrammi o frame. Poiché memorizzare ogni singolo fotogramma occuperebbe moltissimo spazio, si usano tecniche di ottimizzazione: ● Non si salva ogni frame per intero, ma solo le differenze rispetto al frame precedente. ● Questo permette di ridurre significativamente la quantità di dati da memorizzare e trasmettere.
i l p o. Il principio usato invece oggi è UNICODE, lo standard che permette di includere nello stesso testo porzioni di arabo, cirillico, latino ecc. quasi tutte le lingue del mondo e anche IPA e Braille. E per farlo usa fino a 4 byte per ogni carattere. ESERCIZIO:
- Hai ricevuto un messaggio di posta elettronica da un amico. Il messaggio contiene: un testo di 300 caratteri scritto in ASCII esteso, un’immagine truecolor di 120x150 pixel. Quanti byte occupa il messaggio? ASCII esteso usa 8 bit =1 byte. 1 byte per carattere Numero di caratteri: 300 quindi spazio occupato sarà 300x1byte = 300byte Numero di pixel: 150x120=18.000 pixel Truecolor: 24 bit per pixel =3 byte per pixel Spazio occupato: 18,000x3byte=54 byte QUINDI: 300byte (il testo) + 54 byte (immagine) = 54,300 byte
Bianco e nero: 1 bit/pixel quindi 1 byte = 8 pixel Risolvere a casa:
Esercizio 2: un secondo di suono campionato a 512 Hz occupa 1KB. Quanti valori distinti possono avere i campioni? Esercizio 3: come aumentare la precisione della rappresentazione digitale di un suono? Aumentando la frequenza di campionamenti e il numero di bit per rappresentare il valore di ogni campione.
011101001 cosa può rappresentare? Un numero, un testo, un’immagine o un suono? E’ impossibile dirlo, perchè una sequenza di bit non ha significato per dè. Come si fa a dire quale tipo di dato viene rappresentato? Ci vuole la presenza di un meta dato, una informazione aggiuntiva, quello per eccellenza è il formato di un file. Architettura degli elaboratori e modello di Von Neumann Quello che studiamo è l’architettura degli elaboratori a un livello di astrazione elevato, in particolare il modello proposto da John von Neumann nel 1947. Si tratta di un modello di organizzazione che descrive le componenti fondamentali di un computer (desktop, laptop, notebook, tablet, ecc.). L’antecedente teorico di questo modello è la macchina di Turing, ideata nel 1936: un modello matematico e astratto di calcolatore, tuttora utilizzato in informatica per lo studio della computabilità. La macchina di Turing è concettualmente molto semplice: ● è costituita da un nastro potenzialmente infinito, suddiviso in celle che contengono simboli (0 e 1); ● una “testina di lettura/scrittura” che può leggere il simbolo su una cella, modificarlo e spostarsi a destra o a sinistra; ● un insieme finito di stati e regole che determinano l’azione da compiere in base allo stato e al simbolo letto. La tesi di Church-Turing afferma che qualsiasi funzione calcolabile può essere calcolata da una macchina di Turing: in altre parole, tutto ciò che può essere risolto da un computer è, in linea teorica, risolvibile anche da una macchina di Turing.
● La CPU esegue i programmi interagendo con la RAM: legge le istruzioni, elabora i dati e produce i risultati. ● Al termine dell’elaborazione, i risultati vengono inviati ai dispositivi di input/output (ad esempio visualizzati sullo schermo) oppure memorizzati nuovamente nella memoria secondaria per un utilizzo futuro. La RAM (Random Access Memory) Insieme alla CPU, la RAM rappresenta uno degli elementi fondamentali dell’elaboratore. È composta da componenti elettronici miniaturizzati, in cui ogni unità elementare può trovarsi in due diversi livelli di tensione elettrica. È proprio questa differenza di tensione che consente la memorizzazione dei bit all’interno della RAM. La RAM è organizzata come un insieme di celle di memoria (o locazioni), ognuna delle quali: ● memorizza 8 bit di informazione (1 byte); ● possiede un indirizzo univoco, usato dalla CPU per sapere dove leggere o scrivere dati e istruzioni. Le operazioni fondamentali possibili sulla memoria sono due: ● Lettura – recupero del contenuto di una cella. ● Scrittura – memorizzazione di un nuovo valore in una cella. Per accedere a una cella specifica è necessario il suo indirizzo, espresso come sequenza di bit. Il numero totale di celle accessibili dipende dal numero di bit disponibili per rappresentare l’indirizzo, detto spazio di indirizzamento. Esempio: con uno spazio di indirizzamento di 16 bit, le celle possibili sono: 2^{16} = 65.
L’unità di misura della capacità della RAM è il byte. Il termine random access memory indica che il tempo di accesso è costante, indipendentemente dalla posizione della cella: leggere la prima o l’ultima cella richiede lo stesso tempo. La RAM è una memoria veloce: i tempi di lettura e scrittura sono tipicamente compresi tra 5 e 30 nanosecondi. Tuttavia, è anche volatile: se viene tolta l’alimentazione, anche per un istante, il contenuto viene perso. Inoltre, è relativamente costosa rispetto ad altri tipi di memoria. La ROM (Read-Only Memory) Accanto alla RAM esiste la ROM, una memoria di sola lettura: ● non è volatile (mantiene il contenuto anche senza alimentazione); ● è veloce quasi quanto la RAM; ● contiene informazioni essenziali per l’avvio del computer (ad esempio i programmi di bootstrap, necessari per inizializzare il sistema). La Memoria Cache Per migliorare le prestazioni, tra CPU e RAM è presente un ulteriore tipo di memoria: la cache. La CPU esegue le istruzioni prelevandole dalla RAM, ma alcune istruzioni o dati vengono utilizzati molto frequentemente. Per evitare di accedere alla RAM ogni volta (operazione più lenta), queste informazioni vengono copiate nella memoria cache, che è: ● molto più veloce della RAM, ● più piccola in capacità, ● più costosa in proporzione. Un esempio intuitivo: