Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Memoria, Sistemi Informativi e Basi di Dati - Prof. Pozzato, Appunti di Elementi di Informatica

Appunti di Informatica del Dipartimento di Lingue e Letterature straniere del corso di Lingue e Culture per il Turismo (L-15)

Tipologia: Appunti

2020/2021

Caricato il 14/01/2021

alice-giraudo-1
alice-giraudo-1 🇮🇹

4.2

(10)

3 documenti

1 / 60

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA
STORIA DEL CALCOLO AUTOMATICO
Questo corso esiste perché lo sviluppo tecnologico rende presto obsolete le
conoscenze tecniche molto dettagliate.
L’evoluzione delle applicazioni è rapida e sistematica e per questo motivo è
necessario avere una conoscenza generale dell’argomento.
Non si vuole mettere al centro la singola applicazione, ma l’obiettivo è quello di
riuscire a destreggiarsi con qualsiasi applicazione, anche quelle future; in questo
modo le future applicazioni e lo sviluppo tecnologico non renderanno obsoleto il
nostro studio.
A cosa serve questo corso?
1. i concetti di base dell’informatica non variano e costituiscono una base
culturale importante per un utente
2. se non si conoscono gli strumenti tecnologici, non se ne possono sfruttare le
potenzialità (qual è il software/ computer più adatto a risolvere un problema)
3. il computer è versatile: non si possono prevedere gli usi futuri.
MOTIVI PER CUI L’UOMO HA DECISO DI USARE UN CALCOLATORE
1. effettuare calcoli a mente o a mano è un’attività noiosa e incline all’errore.
2. per secoli l’uomo ha cercato di porre rimedio a questo fatto automatizzando il
processo di calcolo (sia calcoli veri e propri ma anche riordinare in ordine
alfabetico).
L’ABACO
E’ la prima macchina di calcolo nota, i primi abachi risalgono al 5 millennio a.C; non è
molto diverso da un foglio di carta in quanto la logica e la correttezza
dell’operazione dipendono unicamente dall’utente.
Siamo però ancora distanti dal calcolatore attuale.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c

Anteprima parziale del testo

Scarica Introduzione all'informatica: Memoria, Sistemi Informativi e Basi di Dati - Prof. Pozzato e più Appunti in PDF di Elementi di Informatica solo su Docsity!

INFORMATICA

STORIA DEL CALCOLO AUTOMATICO

Questo corso esiste perché lo sviluppo tecnologico rende presto obsolete le conoscenze tecniche molto dettagliate. L’evoluzione delle applicazioni è rapida e sistematica e per questo motivo è necessario avere una conoscenza generale dell’argomento. Non si vuole mettere al centro la singola applicazione, ma l’obiettivo è quello di riuscire a destreggiarsi con qualsiasi applicazione, anche quelle future; in questo modo le future applicazioni e lo sviluppo tecnologico non renderanno obsoleto il nostro studio. A cosa serve questo corso?

  1. i concetti di base dell’informatica non variano e costituiscono una base culturale importante per un utente
  2. se non si conoscono gli strumenti tecnologici, non se ne possono sfruttare le potenzialità (qual è il software/ computer più adatto a risolvere un problema)
  3. il computer è versatile: non si possono prevedere gli usi futuri. MOTIVI PER CUI L’UOMO HA DECISO DI USARE UN CALCOLATORE
  4. effettuare calcoli a mente o a mano è un’attività noiosa e incline all’errore.
  5. per secoli l’uomo ha cercato di porre rimedio a questo fatto automatizzando il processo di calcolo (sia calcoli veri e propri ma anche riordinare in ordine alfabetico). L’ABACO E’ la prima macchina di calcolo nota, i primi abachi risalgono al 5 millennio a.C; non è molto diverso da un foglio di carta in quanto la logica e la correttezza dell’operazione dipendono unicamente dall’utente. Siamo però ancora distanti dal calcolatore attuale.

PASCALINA

Nasce nel 17 secolo ed è una vera innovazione, la Pascalina permette di fare delle somme, ma questa volta la logica dell’operazione è cablata all’interno della macchina. Abbiamo quindi uno strumento a cui forniamo i due addendi e lei spara fuori il risultato. Il problema della pascalina è che permetteva di fare solo addizioni e sottrazioni; le moltiplicazioni e le divisioni venivano effettuate mediante ripetizioni di addizioni e sottrazioni ma anche qui era l’utente a controllare il processo (passo indietro) → se devo essere io a gestire le moltiplicazioni e addizioni il controllo dell’operazione torna all’utente. Si potrebbe pensare di modificare la macchina in modo da introdurre ingranaggi in grado di gestire moltiplicazione e divisione → questo porta alla nascita di altri problemi, come si calcolano le potenze, radici quadrate ecc.? Anche modificando ancora una volta i meccanismi della macchina non stiamo risolvendo il problema ma lo stiamo solo rimandando. Il problema vero è che la logica che governa le operazioni è cablata all’interno della macchina calcolatrice, ma se sorgesse la necessità di calcolare una NUOVA funzione aritmetica (es. media tra 4 numeri) il controllo tornerebbe all’utente. Quindi queste macchine sanno risolvere solo le operazioni per cui sono state costruite. LA SOLUZIONE è trattare a sua volta la logica come parte dell’imput (dati in ingresso alla macchina per far svolgere la singola operazione es. due numeri) della macchina. MACCHINA ANALITICA Introdotta da Charles Babbage intorno al 1840, è il primo esempio di macchina di calcolo programmabile, in grado sia di eseguire le operazioni ma anche in grado di ricevere come imput la logica di controllo di una nuova operazione. Questo è qualcosa di simile al nostro computer, il computer riceve come imput sia i dati, sia il programma, cioè la logica di operazione.

JHON VON NEUMAN

  1. descrive un calcolatore effettivamente costruibile → partendo dalle idee di Babbage e con il contributo di Turing su cosa si può fare e cosa no descrive un calcolatore che si può costruire
  2. è il modello concreto di calcolatore su cui si basano i computer moderni (anche smartphone e tablet). TERMINOLOGIA
  3. COMPUTER: elaboratore elettronico digitale
  • elaboratore: dispositivo in grado di eseguire automaticamente una serie di istruzioni
  • elettronico: usa componenti elettronici
  • digitale: elabora informazioni binarie (0 e 1)
  1. HARDWARE: componente fisica del sistema informatico, pezzi del computer (mouse, monitor, tastiera ecc.)
  2. ALGORITMO: insieme delle operazioni necessarie a risolvere un problema. (es. ricetta, istruzioni di montaggio).
  • esistono vari algoritmi per risolvere lo stesso problema
  1. SOFTWARE: insieme dei programmi che fanno funzionare l’hardware
  • due categorie di software: i SISTEMI OPERATIVI (microsoft, iOs ecc.) che permettono all’elaboratore di svolgere le proprie funzioni (software di base) e il PROGRAMMI APPLICATIVI (whatsapp ecc.) che svolgono i compiti più vari in funzione delle esigenze dell’utenza. RAPPRESENTAZIONE DELLE INFORMAZIONI Un computer basa le sue capacità sul capire ed elaborare informazioni (informatica : informazione automatica). Il computer non elabora solo numeri, ma anche testi, immagini, suoni, video, per questo si usa il termine INFORMAZIONI.

E’ sufficiente che l’informazione sia rappresentabile in modo digitale, infatti il computer riconosce solo due simboli, 0 e 1, on e off; il computer è composto da tutta una serie di interruttori che possono solo accendersi o spegnersi. TIPI DI SEGNALI

  • ANALOGICI: insieme continuo di valori, trasmettono molte informazioni e sono sensibili alle interferenze. ad esempio l’onda che trasmette il suono, variatore di luminosità. Il problema è che questi segnali sono naturali, quindi bisogna fare in modo che si trasformino in 0 e 1, trasformarli quindi in segnali digitali.
  • DIGITALI: insieme discreto di valori, ad esempio due stati (0 e 1), sono più semplici da distinguere perché non abbiamo infiniti valori (come negli analogici). es. interruttore on – off VANTAGGI DEL DIGITALE: semplice, non sensibile alle interferenze (non ambiguo), riproducibile senza errori.

IL BIT : binary digit (cifra binaria).

Nel computer ci sono tantissimi interruttori che possono essere accesi o spenti, ognuno di questi interruttori è un BIT in grado di rappresentare un segnale binario ( o 1, acceso o spento). Tutto quello che c’è all’interno del computer è rappresentato da una sequenza di bit, è l’elemento base per rappresentare le informazioni. Ogni elemento è rappresentato dalla sua personale sequenza di bit accesi o spenti. Un bit viene realizzato ad esempio con presenza o assenza di carica elettrica, direzione di magnetizzazione, passaggio non passaggio di luce (cd, dvd). Con un bit si possono rappresentare due informazioni, ossia avendo a disposizione un bit posso rappresentare delle informazioni che possono assumere solo due valori (0 e 1), per esempio si può dare l’approvazione a un esercizio, si sceglie ad esempio che interruttore su 1 la risposta è vera e se è su 0 la risposta è falsa.

byte kilobute megabyte gigabyte terabyte petabyte Exabyte RAPPRESENTAZIONE DEI NUMERI DISTINZIONE TRA NUMERALE E NUMERO: NUMERO: concetto che rappresenta una quantità. NUMERALE: simbolo che rappresenta una quantità. I numerali differiscono dai numeri come le parole differiscono dai concetti che rappresentano. es. 6, sei, VI, sono numerali che rappresentano tutti lo stesso numero NUMERAZIONE DECIMALE DECIMALE: “alfabeto” di 10 cifre base → 0,1,2,3,4,5,6,7,8, numerale 245: 2 centinaia, 4 decine, 5 unità → 2 volte 10 alla seconda, 4 volte 10 alla 1, 5 volte 10 alla o SISTEMA DI NUMERAZIONE BINARIO BINARIO → “Alfabeto” di solo due cifre 0, il numero di cifre coincide con il numero di bit numerale 101 con pedice 2 (mettiamo due in pedice perché è la base del sistema in questo caso binario)→ 1 volta 2 alla seconda, 0 volte 2 alla prima, 1 volta 2 alla zero.

NOTAZIONE POSIZIONALE → La posizione di una cifra in un numerale indica il suo peso in potenze di 2. i pesi sono:

  • 2 alla 0 = 1 (posizione 0)
  • 2 alla 1= 2 (posizione 1)
  • 2 alla 2 = 4 (posizione 2)
  • 2 alla 3 = 8 (posizione 3)

MASSIMO NUMERO RAPPRESENTABILE

SISTEMA DECIMALE

Il numero più grande esprimibile con un dato numero di cifre (decimali, binarie…). Non coincide il numero di informazioni rappresentabili. Per esempio, con 2 cifre decimali rappresento 100 numeri, ma il numero più grande è 99 (si inizia a contare da 0). Il numero più grande che posso esprimere nel sistema binario è sempre 1. 99 si può anche scrivere come 10 alla seconda meno 1. Quindi con n cifre il numero più grande che possiamo scrivere è il numero che precede una potenza di 10 (10 alla N meno 1, dove N è il numero di cifre che voglio scrivere). SISTEMA BINARIO Si può rappresentare da 0 a 11 cioè da 0 a 2 alla seconda meno 1. RIASSUMENDO Quando si è definito il numero di cifre con cui si rappresentano i numeri, si definisce anche il massimo numero rappresentabile (esempi sul block notes)

N.B Le cifre da 0 a 9 rappresentate in ASCII sono CARATTERI (simboli) e non quantità numeriche, quindi:

  • NON possono essere usate per rappresentare quantità da utilizzare in calcoli aritmetici. es. i numeri di telefono PROBLEMA: 256 caratteri dell’ASCII esteso sono insufficienti per alcuni sistemi di scrittura (es. quello cinese o giapponese) Quindi non esiste un unico ASCII esteso ma ne esiste uno per lingua. SOLUZIONE: Definire uno standard che usi più bit e che comprenda tutti i sistemi di scrittura (UNICODE). UNICODE Due standard per i nostri fini equivalenti, utilizziamo più byte, 2 o 4 per includere quasi tutti i sistemi di scrittura e lingue del mondo. fino a 4 byte per ciascun carattere: 8*4=32 bit per ogni carattere → più di 4 miliardi di caratteri. Unicode ha introdotto due “dialetti” che definiscono come identificare il numero di bit con cui andiamo a codificare il singolo carattere (UTF-8 e UTF-16). In UTF-8 alcuni caratteri andranno codificati con 8 bit, altri con 16, altri con 21; è compatibile con ASCII → i caratteri codificati con 8 bit coincidono con i caratteri ASCII; è quindi il più usato per e-mail e pagine web. In UTF-16 alcuni caratteri vengono codificati con 16 bit, altri con 32; è usato internamente da windows.

CODIFICA DELLE IMMAGINI

Ci sono varie tecniche utilizzate per memorizzare in modo digitale un’immagine e poi elaborarla.

Supponiamo di voler rappresentare un’immagine in bianco e nero. Lo scanner quando deve passare un’immagine costituisce una griglia e poi va a vedere se in corrispondenza di ogni puntino di ogni riga o colonna c’è bianco o nero (es. 0= bianco; 1=nero). I puntini sono i pixel. Quindi l’immagine è suddivisa da una griglia formata da linee a distanza costante, in modo che ciascun pixel sia uguale agli altri. Ogni quadrato derivante da tale suddivisione viene chiamato pixel (picture element) e può essere codificato in binario con la convenzione che:

  • 0 rappresenta un PIXEL BIANCO
  • 1 rappresenta un PIXEL NERO Quindi possiamo vedere una griglia di 0 e 1 a seconda del colore di ogni pixel. PROBLEMA: per avere una sequenza di bit, in quale ordine leggere i pixel? Occorre una convenzione: qui assumiamo da sinistra a destra e dal basso verso l’alto La rappresentazione in questo caso è 0000000 0111100 0110000 01000000 Non sempre il contorno della figura coincide con le linee della griglia: digitalizzando un’immagine si ha sempre un’approssimazione dell’immagine stessa. PROBLEMA: come posso avere un’immagine più fedele? Aumentiamo la risoluzione, cioè il numero di pixel (e rimpiccioliamo i quadratini della griglia di campionamento). La rappresentazione dell’immagine tramite la codifica dei pixel si chiama BITMAP. Con un solo bit per pixel si possono codificare solo due colori (tipicamente bianco e nero), per codificare più informazioni, dobbiamo usare più bit. Ad. es. Tonalità del grigio Per ogni quadratino si stabilisce il livello medio di grigio. si codifica ogni livello di grigio (se uso 4 bit → 16 livelli di grigio, se uso 8 bit → 256 livelli di grigio, se uso k bit → 2 alla k tinte diverse).

Se io ho 6 pixel dello stesso valore tutti vicini posso scrivere 6 x quel valore. Questa tecnica si chiama LOSSLESS. Formati: gif, tiff, png Le tecniche di compressione LOSSY, invece, causano perdita di informazioni, cioè il processo di compressione “scarta” alcuni dati. Quando si decomprime l’immagine, questa è diversa dall’originale → è degradata in qualità. A quale scopo? la compressione lossy permette di risparmiare molto più spazio della lossless. Formati compressi lossy: jpeg, png CODIFICA DELLE IMMAGINI IN MOVIMENTO (VIDEO). Visto lo spazio elevato richiesto, occorrono tecniche di memorizzazione efficienti: per esempio, sono memorizzate solo le differenze tra un programma e l’altro. ESISTONO VARI FORMATI, SOPRATTUTTO LOSY. CODIFICA DEI SUONI Il suono è uno dei mezzi principali di comunicazione, anche i suoni possono essere codificati in digitale. Un suono è un’onda di pressione che si ha in presenza di un mezzo (l’aria, l’acqua) Quando un suono viene rilevato da un orecchio o da un microfono, viene trasformato in uno stimolo, o segnale, elettrico. Durata, intensità e variazione nel tempo della pressione dell’aria sono le quantità fisiche che rendono un suono diverso da ogni altro. Il tempo e intensità sono quantità analogiche.

PROBLEMA: Passare da rappresentazione analogica a rappresentazione digitale. IDEA: Si effettuano dei campionamenti sull’onda (cioè si misura il valore dell’onda a intervalli costanti nel tempo) e si codificano in forma digitale le informazioni (numeriche) estratte da tali campionamenti. Il telefono usa 8000 campionamenti al secondo (8 kHz) I CD audio usano 44100 campionamenti al secondo (44,1 kHz) Analogamente alle immagini, maggiore è la frequenza dei campionamenti, migliore sarà la precisione con cui il segnale viene memorizzato e la fedeltà all’originale. Sul tempo abbiamo ancora campioni analogici (l’ampiezza è un valore analogico) Occorre discretizzare anche l’ampiezza di ogni campione per poterla esprimere con un numero binario. A ogni livello viene assegnata una sequenza binaria (diversa per ognuno) Nell’esempio, non tutte le combinazioni di 4 bit sono visualizzate e usate. Ogni campione viene approssimato al livello più vicino, al valore indicato con il cerchio. Ogni campione sarà quindi espresso dal numero binario corrispondente al livello più prossimo. La sequenza dei valori numerici ottenuta dai campioni è quindi digitalizzata, si ha una discretizzazione in tempo e una sul valore. CD musicali: 44100 campionamenti al secondo, 16 bit per campione diversi formati: mov, wav, mpeg (mp3), avi, midi Formato midi codifica le note e gli strumenti che devono eseguirle: solo musica, non voce. Formato mp3: lossy, molto diffuso e molto efficiente.

Permette di memorizzare sia il programma che i dati. Fisicamente è formata da componenti elettronici (transitor, resistenze, condensatori) miniaturizzati. Ogni unità elementare può trovarsi a due livelli di tensione elettrica (o carica del condensatore) → il corrispettivo fisico del BIT. E’ strutturata in una sequenza di celle (o locazioni) DI MEMORIA: ogni cella memorizza un byte (ci sono 8 celle); le celle sono numerate in sequenza e si chiamano INDIRIZZI DI MEMORIA. Gli indirizzi di memoria servono a individuare le zone della memoria in cui scrivere e leggere le informazioni. Specificando l’indirizzo di una cella, la CPU è in grado di leggere e/o modificare il valore del byte memorizzato in quella cella. es. una ram di 65536 (2 alla 16) celle di un byte ciascuna. Quanti bit per esprimere un indirizzo compreso tra 0 e 65535 → 16 DIMENSIONI DI MEMORIA Lo spazio di indirizzamento è l’insieme o il numero di celle indirizzabili direttamente. Il numero di celle indirizzabili è una potenza di 2, con: 16 bit si indirizzano 2 alla 16 = 65536 32 bit si indirizzano 2 alla 32= 4294967296 celle Numero di celle indirizzabili = numero di informazioni rappresentabile con un certo numero di bit. l’unità di misura della memoria è il byte. Si usano dei multipli:

  • kilobyte (kb)= 1024 byte (2 alla 10 byte)
  • megabyte (mb) = 1024 KB (2 alla 20 byte)
  • gigabyte (GB) = 1024 MB (2 alla 30) Quindi
  • con 16 bit si indirizzano 64 kb di memoria.
  • con 32 bit si indirizzano 4 gb di memoria LA RAM RANDOM ACESS MEMORY (RAM): memoria ad accesso casuale Perché si chiama ad “accesso casuale”?
  • si può accedere direttamente alle varie celle, una volta noto il loro indirizzo.
  • Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza.
  • Il termine random (casuale) indica proprio il fatto che non vi sono differenze nell’accesso alle varie celle della memoria. La ram è VELOCE → Il tempo di lettura di una cella è compreso – in media- tra 5 e 30 nanosecondi. La ram è VOLATILE → Formata da componenti elettronici, se viene tolta l’alimentazione anche per un breve periodo di tempo (frazioni di secondo) tutto ciò che contiene viene perso (e la macchina deve ripartire) La ram è relativamente COSTOSA.

LA ROM

Read-Only Memory, memoria in sola lettura. Non può essere modificata (a meno che non sia di un tipo particolare, EPROM) Non è volatile Veloce quasi quanto la RAM Solitamente usata per memorizzare programmi e dati necessari all’avvio dell’elaboratore.

Ogni tipo di processore è in grado di eseguire un numero limitato (centinaia) di istruzioni. Le istruzioni si suddividono in:

  • aritmetiche, logiche
  • di salto
  • di lettura/scrittura in memoria
  • di lettura/scrittura verso dispositivi di I/O Combinando in modo diverso sequenze anche molto lunghe di istruzioni (i programmi) si possono fare svolgere al computer compiti completamente diversi.

CONTROL UNIT (CU)

E’ la parte più importante del processore: Funzioni:

  • esegue le istruzioni dei programmi
  • coordina le attività del processore
  • controlla il flusso delle istruzioni tra il processore e la memoria NON ha il compito di controllare il risultato delle istruzioni.

CICLO DI FETCH-DECODE-EXECUTE

La CU svolge la sua attività in modo ciclico

  1. FETCH (preleva) → preleva dalla memoria principale la prossima istruzione da eseguire
  2. DECODE (decodifica) → decodifica l’istruzione e preleva gli operandi specificati
  3. EXECUTE (esegui): esegue l’istruzione utilizzando la componente opportuna, memorizza i risultati e ricomincia. Quest’ultimo passo comporta l’invio di comandi opportuni all’unità relativa:
  • calcoli → Aritmetic Logic Unit
  • Lettura/scrittura dati → memoria
  • Acquisizione/stampa → dispositivi di 1/ La frequenza con cui è eseguito il ciclo di fetch-decode-execute è scandita dal clock (orologio interno): a ogni impulso di clock la CU esegue un ciclo La velocità di elaborazione di una CPU dipende dalla frequenza del suo clock. es. 2.8 GHz, cioè 2 miliardi e 800 milioni di cicli al secondo.

ARITHMETIC LOGIC UNIT

E’ la componente del computer in grado di fare operazioni logiche. Esegue operazioni di tipo aritmetico (es. somme) e logico (es. confronti) Preleva gli operandi dai registri e deposita il risultato delle operazioni in uno (o più) registri.

REGISTRI

Piccole celle di memoria con tempi di accesso molto più bassi rispetto alla memoria primari. Mantengono le informazioni necessarie per eseguire l’istruzione corrente. Hanno dimensione di 16, 32, o 64 bit (da cui CPU da 16, 32 o 64 bit). Sono in numero molto limitato (10,20,64 o 128), visto che sono all’interno della CPU Si dividono in registri:

  • generali
  • specifici Quelli GENERALI sono in numero ridotto: 8,16,32,64,128…in funzione dell’architettura.