




























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 di Lingue e Culture per il Turismo
Tipologia: Appunti
1 / 36
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























Cosa s’intende per informatica? È la scienza della rappresentazione e dell’elaborazione dell’informazione, non è una cosa casuale, ha un suo corpo, un suo linguaggio e una serie di regole. Devo trovare il modo di rappresentare le informazioni, dargli un corpo ed elaborarle. La comunicazione tra computer, tra le persone (mediata dal computer). L’informatica ha modificato la società. Pensiamo che sia sempre stato così perché siamo abituati a vederla così. Prima del 2. l’informatica era ancora una scienza infante e per gli addetti ai lavori, ma in realtà è semplicemente la contrazione delle parole automatica e informazione. L’uomo ha sempre cercato di delegare dei compiti a una macchina qualcosa che lo sostituisse e lo migliorasse in quello che erano compiti che doveva eseguire lui. L’informatica ha quindi reso automatiche alcune operazioni che prima si dovevano fare a mano per metterci meno tempo. L’obbiettivo dell’uomo è sempre quello di delegare lavori automatici e noiosi ad una macchina. Elaborazione automatica, il computer fa tutto ciò che l’uomo sa fare se l’uomo lo programma per fare quelle cose e le fa in meno tempo e meglio. Stiamo assistendo ad una personalizzazione del computer dove vediamo robot, computer che prendono il sopravvento, le macchine che uccidono gli umani o sfruttano la loro energia, ma è solo fantascienza. Nessuno computer può decidere o pensare ma lo fa solo nell’ambito di ciò che è programmato a fare. L’intelligenza artificiale sono hardware e software che non arriveranno mai all’intelligenza umana. Quando io uomo non so distinguere che quella è una macchina allora la macchina ha superato la sua situazione diventando una situazione artificiale. Quello a cui vorremmo arrivare per avere una macchina che imiti il comportamento umano. Le leggi della robotica nascono per poter dare delle regole alla macchina che non possa superare l’uomo (nessun robot può recare danno all’uomo), in questo modo la razza umana si salva dall’intelligenza artificiale. C’è bisogno dell’uomo che lo ha programmato e gli ha insegnato a fare. Si parlava di information technology mentre oggi parliamo di information and communication technology. All’epoca i telefoni chiamavano ma si diceva già che avrebbero mandato messaggi, nei film di fantascienza per esempio c’erano i televisori e facevano vedere cose che al giorno d’oggi sono normali per noi. La prima cosa di cui abbiamo bisogno è di fare un distinguo tra informazione e dato: I dati sono elementi primitivi senza transcodifica e non necessitano di quest’ultima, elemento a cui non associo nulla, nell’informazione invece acquista la transcodifica e quindi il significato. Dobbiamo chiederci una cosa però: l’uomo necessita di dato o di informazione? Ho bisogno di associare quel dato alla sua transcodifica per associargli un significato e poterlo elaborare. La macchina, la calcolatrice necessita di informazioni? No, le macchine lavorano sui dati, gli uomini sulle informazioni e quindi io non ho bisogno di aggiungere alla macchina la transcodifica, ma la faccio io interpretando quei dati. È un motivo di semplificazione o complicazione? È un modo per semplificare, la macchina acquisisce qualunque dato e lo tratta come dato a cui non associa nessun tipo di significato ma è in gradi di gestire qualunque dato perché non è informazione. Qual è il miglior sistema di elaborazione del mondo? È l’uomo ed è l’unico che esiste. L’informazione la devo fare entrare nel mio sistema di elaborazione (imput), ho bisogno poi di trattenerla e quindi memorizzarla con una memoria a breve o lungo termine, elaboro poi la strategia, per raggiungere l’obbiettivo (output). IMPUT → MEMORIZZAZIONE → ELEBORAZIONE → OUTPUT Da bambini questo automatismo non esiste, perché la programmazione del suo cervello è tale per cui non c’è ancora l’automatismo perfetto imput elaborazione output. Una macchina che emuli il miglior sistema di elaborazione deve avere imput, output, memoria, sistema di elaborazione e programmazione. Il computer è fatto ad immagine e somiglianza dell’uomo. Quello di cui noi
abbiamo bisogno è creare un sistema che emuli al meglio possibile sistema di elaborazione umana. Mi deve permettere di elaborare di ricavare dei risultati.
IL COMPUTER NELLA VITA DI OGNI GIORNO Nel commercio, nell’industria abbiamo tutto ciò che è business su business. Ho una quantità di sistemi che mi permettono di usare promozione per la vendita (CAD O CAM). L’industria e il cinema, ingegneria, chimica, fisica, topografia, sismografia, astronomia, matematica. Posso usare il computer in tutti questi campi. Anche nell’istruzione, oggi si parla di “pervasive computer”, lo utilizziamo per fare tutto, banca, prenotazione, servizi sanitari, supermarket, pubblica amministrazione e biblioteche. I dati personali inoltre sono inseriti e registrati negli archivi elettronici di una grande quantità di enti e organizzazioni come: anagrafe comunale, anagrafe elettorale, previdenza sociale, segreterie universitarie (smartcard), ministero delle finanze, catasto ecc.
Il miglior calcolatore è la mente umana che è caratterizzato dall’avere degli imput e quindi i sensi un sistema di memoria breve/lungo termine e un sistema di output. Un altro elemento è riferito all’automazione, informazione automatica riguarda l’obbiettivo di delegare cose ripetitive e meccaniche ad una macchina che li possa fare al posto suo e che li possa fare meglio di lui. Le tappe principali dei sistemi di elaborazione Il primo sistema è stato l’abaco (sottrazioni e addizioni), il primo vero sistema che possiamo considerare tale è la macchina di Pascal, periodo della rivoluzione scientifica, matematico e filosofo, il suo problema è quello di fare tanti conti (padre) e cosi lui gli fa costruire la prima calcolatrice meccanica che è in grado di fare delle somme e lavora su delle ruote dentate. Egli capisce che 10 rotazioni delle unità corrispondono a 1 di decine ecc. Dal punto di vista della matematica inventa nel 1645 la sua “macchina per calcolare” in grado di eseguire delle addizioni di numeri immesse mediante dischi combinatori. Leibniz, uno dei maggiori pensatori dell’epoca, immagina e pensa una macchina calcolatrice che è in grado di fare delle operazioni a scorrimento con uno speciale meccanismo “dentato a gradini” questa macchina non verrà realizzerà fino al 1800. Poteva fare 4 operazioni perché la moltiplicazione è una somma ripetuta e la divisione è una sottrazione ripetuta. Questo meccanismo verrà utilizzato nel 1900 da Olivetti che nasce come produttore di macchine per calcolare poi diventerà produttore di calcolatori negli anni ’70. Jacquard siamo nel periodo della prima rivoluzione industriale, periodo in cui dalle campagne vengono richiamati manodopera soprattutto donne e bambini, che essendo piccoli riescono ad inserirsi nel telaio e annodare i fili. Questa cosa crea un surplus di manodopera, le persone si spostano da quello che è la loro vita in campagna in una vita di città con tutte le varie problematiche la riguardano. Egli utilizza un sistema per il quale non bisogna più annodare i fili, c’è un telone di carta che accompagna un tessuto dove in corrispondenza di alcuni fori bisogna fare il cambio del filo, ci sono degli aghi dove si cambia il filo. Questo comporterà i 4/5 della popolazione licenziata e rimandata in una realtà differente. Dobbiamo renderci conto che la tecnologia presenta delle ripercussioni forti sulla vita delle persone, in quel momento non c’era bisogno di manodopera ma di quella specializzata. Capiterà cosi anche quando passeremo dalla catena di montaggio normale a quella automatizzata. Questo significa che l’informatica cambia il mondo e cambia il lavoro, non significa che di suo sia brutta e pericolosa ma bisogna essere in gamba a programmare quello che sono i bisogni. Il nostro modo di ragionare e vedere le macchine spesso è molto influenzato dalla miopia statale. Anni 2.000 abbiamo bisogno di informatici, tanti quando potevano entrare nella forza lavoro il loro lavoro era già finito. La tecnologia aiuta l’uomo e come tale va asservita all’uomo, dobbiamo usarla nel giusto modo.
che la mia macchina possa gestire e digitalizzare tutti i tipi di informazioni. Le informazioni sono analogiche e continue. Passo da informazioni analogiche a discrete (esempio del sole), studio il sole ogni 30 secondi, si avrà sempre un errore, ma l’errore deve essere sufficientemente piccolo rispetto a quello di cui ho bisogno. In informatica si utilizza una grandezza comodissima, BIT (binary digit) che può valere solo 0 o 1 perché vuole dire acceso o spento che passa o non passa corrente, e quindi anche facile da gestire dal punto di vista tecnologico. Il bit rappresenta solo due stati 0 o 1, digit deriva da dito, 10 dita, binary digit ho solo due valori. Quando non mi basta solo bit posso unire più bit e posso avere 00 01 10 11. Con due bit si codificano 4 informazioni, con 3 bit ne codifichiamo 8, con n bit possiamo modificare 2 alla n informazioni differenti.
(2all’ottava)8 256 8 bit sono chiamati byte I bit si indicano con la b minuscola (8b) I byte con la b maiuscola (8B) Se dovessi codificare 40 informazioni diverse quanti bit devo usare per rappresentare le informazioni? Devo usare 6 bit Devo ragionare sulle potenze di 2.
CODIFICA BINARIA del bit I bit sono elementi singoli e vanno in potenza di 10 -Kilobit Kb 10 alla terza -Megabit Mb 10 alla sesta -Gigabit Gb 10 alla nona -Terabit Tb 10 alla dodicesima I bit vengono usati nelle trasmissioni come unità di misura. La velocità di connessione per esempio si esprime in bit in Megabit, l’adsl lavora 20Mb per secondo. Ricordarsi che lavora in potenze di 10.
CODIFICA BINARIA del byte Kilobyte KB 2 alla decina (un migliaio) 1024 byte Megabyte MB 2 alla ventesima (un milione) 1KB* Gigabyte GB 2 alla trentesima (un miliardo) 1MB* Terabyte TB 2 alla quarantesima (mille miliardi) 1GB*
8MB=8 10241024*
512b=512:8B
Il byte si usa per esprimere le misure di memoria
Sono informazioni continue e quindi analogiche, quando abbiamo a che fare con elemento macchina avere una quantità infinita di valori è un casino e quindi l’unico modo è avere una quantità finita di valori. Passando da una grandezza analogica a discreta a valori finiti. Avendo una grandezza discreta dobbiamo rappresentarla attraverso un sistema che è il codice binario. All’interno di un bit posso rappresentare due valori 0 e 1. Posso combinare diversi bit per maggiori sequenze.
Devo saper combinare le informazioni con la codifica binaria. Il bit è utilizzato normalmente per le trasmissioni (fibra, adsl, collegamento internet cellulare), la quantità di memoria (ram, file, film) è espressa in Byte. Greci e Romani non avevano le idee chiare, il loro problema era che la loro rappresentazione dei numeri era indipendente da quello che era la posizione dei numeri. Con il mondo arabo entriamo in contato con il mondo matematico e de cose fondamentali: lo zero e l’aritmetica posizionale. 324= 3x100 + 2x10 +4x 324=3x10allaseconda + 2x10alla prima + 4x10allazoero Ci insegnano una cosa fondamentale, il numero pesa in funzione della sua posizione. Ho l’aritmetica posizionale ho la base che mi indica qual è il numero di cifre di cui ho bisogno. Ho bisogno dello zero perché quando non ho il valore per quel determinato peso allora devo metterci zero. La numerazione decima quindi utilizza una notazione posizionale basata sul numero 10. I numeri posso essere rappresentati con codice binario 2. Rappresentare in base 2 vuole dire avere delle lunghe sequenze di uni e di zeri. Utilizzo una rappresentazione ottale (base 8) e in base esadecimale (base 16), in questo caso uso da 0 a 9 e poi le lettere A B C D E F. Come passo da base 10 a 2 e da 2 a 10?
CONVERSIONE DECIMALE A BINARIO 84 diviso per intero diviso 2 il resto è zero
i numeri pari danno sempre resto 0 mentre quelli dispari danno resto 1 84 0 1010100 base due 42 0 il numero si legge dal basso verso l’alto e inserisco pedice 2 21 1 10 0 5 1 2 0 1 1
CONVERSIONE DA BINARIO A DECIMALE 1010100allaseconda= 12allasesta + 02allaquinta +12allaquarta+02allaterz +12allaseconda +02allaprima +0*2allazero= 64+0+16+0+4+0+0=
Ottale 84 4 124baseotto 10 2 1 1
000 che in decimale vuole dire 0 111 che in decimale vuole dire 7
Esadecimale 199 7 C7 base H -> si può scrivere anche 16 ma meglio H 12 12
CODIFICA DEI CARATTERI Alfabeto anglosassone: -lettere maiuscole e minuscole -cifre numeriche -simboli di punteggiatura -segni matematici -caratteri nazionali Può essere codificato usando un byte (220 caratteri circa)
Tenendo sempre in riferimento 30 imm/sec, se avessi 2457600 bit/imm. avrei un totale di 73728000 bit/sec; un minuto richiederebbe, invece, 4423680000 bit ovvero 5529600 byte (l’operazione da fare è 60 sec x 73728000) → 1 secondo di filmato necessità di 5,5 MByte. 20 GB per un’ora di film; dove li metto questi 20 GB di film? Stanno su un Blue Ray. Nelle immagini in movimento (filmati) non si può salire troppo nella risoluzione poiché essa coincide con una quantità di memoria che deve essere il più ridotta possibile. Purtroppo, nelle immagini in movimento non possiamo salire tanto con la risoluzione. La risoluzione coincide con una quantità di memoria che dobbiamo cercare di ridurre il più possibile. È un problema enorme lo spazio. Un giorno in cui non dovremo tener conto dello spazio di memoria saremo felici. Oggi si trasmettono i film con la connessione internet che manda tanti pezzetti di film, e mentre io ne guardo uno, la rete me manda un altro e così via. I formati standard sono AVI e MOV (in realtà leggermente compressi con la tecnica dell’intercalare), mentre il formato compresso è MP4 (variante MPEG – Moving Picture Expert Group – per video), ovvero la differenza tra fotogrammi. Come funziona oggi un cartone animato, ad esempio? Oggi vediamo i cartoni animati che risultano essere in 3D —> due telecamere che riprendono da 2 angolazioni diverse —> con gli occhialini si risistema l’immagine. Nel caso dei cartoni si fanno due film diversi e tramite gli occhialini si sistemano le immagini in un’unica visione.
Codifica dei suoni Il suono è una perturbazione meccanica che necessita di un mezzo, come l’aria, per propagarsi nello spazio: ad esempio, si fa passare aria modulata dentro le corde vocali che, muovendosi, provocano un’alterazione (compressione e rarefazione del mezzo trasmissivo) del mezzo circostante, cioè dell’aria, producendo un suono che si propaga nello spazio e che viene percepito dall’orecchio. Fisicamente un suono è rappresentato come un’onda che descrive la variazione della pressione dell’aria nel tempo (onda sonora): sull’asse delle ascisse è rappresentato il tempo e sull’asse delle ordinate la variazione di pressione corrispondente al suono stesso. Il segnale sonoro deve essere trasformato da meccanico a elettrico, tramite la trasduzione: c’è bisogno di un microfono che trasformi la perturbazione meccanica in un segnale di corrente alternata. Come è fatto un microfono? Come il nostro orecchio; c’è una membrana che viene messa in vibrazione dal suono; la vibrazione della membrana produce un segnale elettrico. Una vota che abbiamo il segnale elettrico siamo riusciti a trasformare quello che era un segnale meccanico in un’informazione che posso gestire e immagazzinare all’interno della membrana. Abbiamo ottenuto un segnale analogico, che assume un qualsiasi valore. Questo segnale è continuo e assume infiniti valori. Questo segnale non siamo in grado di gestirlo; pertanto dobbiamo trasformare questo segnale elettrico analogico in un segnale digitale attraverso il campionamento o la discretizzazione nel tempo = rendere dei valori discreti, ovvero discontinui nel tempo. Si compiono errori, l’importante che questi errori non siano grandi. Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz). Il segnale elettrico ottenuto è analogico, assume quindi qualsiasi valore (segnale continuo), ma per essere utile deve essere trasformato in segnale digitale tramite la discretizzazione nel tempo o campionamento (si prende una serie di valori discreti, cioè discontinui nel tempo e finiti): si misura il valore dell’onda a intervalli di tempo costanti e si codificano in forma digitale le informazioni estratte da tali campionamenti. Quanto più frequentemente il valore di intensità dell’onda viene campionato, tanto più precisa sarà la sua rappresentazione. Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz). La sequenza dei valori numerici ottenuti dai campioni può essere facilmente codificata con sequenze di bit (quantizzazione o discretizzazione nelle ampiezze). La rappresentazione è tanto più precisa quanto maggiore è il numero di bit utilizzati per codificare l’informazione estratta in fase di campionamento. Tanti più campioni si hanno al secondo e tanti più bit vengono usati per codificare i campioni tanta più sarà la necessità di memoria. Quando codifichiamo la musica la voce umana non è un problema, lo sono invece gli strumenti musicali come il violino e l’arpa che
arrivano a frequenze molto alte. Si è sviluppata un’analisi statistica secondo cui la maggior parte delle informazioni sta entro i 20 KHerz. La musica viene campionata 44100 volte al secondo e ognuno di questi 44100 campioni viene codificato con 16 bit, per cui il numero di bit necessari per codificare ogni secondo è pari a 2 ∙ 44100 campioni ∙ 16 bit/campione = 1414200 bit ovvero 2 MB/sec perché non c’è monofonia ma stereofonia. Codifiche standard sono WAV (di Windows), AIFF (Audio Interchange File Format di Apple), MIDI (in cui vengono riprodotte le note musicali di ogni singolo strumento, è come se si suonasse uno spartito) e MP3 (variante MPEG per suoni). Compressione La compressione viene effettuata per il problema del troppo spazio che occupa un determinato file: c’è bisogno di troppa memoria. Esistono due tecniche:
Funzioni logiche Abbiamo a che fare con informazioni binarie (vero/falso, 1/0) che devono essere combinate opportunamente: dobbiamo usare l’algebra di Boole, che noi conosciamo anche come logica dei predicati.
Tre sono le operazioni principali:
Come già detto, per i computer il modello è il sistema di elaborazione umana: input, unità di elaborazione, memoria a breve o a lungo termine e output. Dopo oltre cinquant’anni e nonostante l'evoluzione della tecnologia, l'elaboratore elettronico è ancora la cosiddetta "Macchina di Von Neumann", definita verso la fine degli anni '40 all'Istituto di studi avanzati di Princeton: l'idea di base è memorizzare nella macchina non solo i dati ma anche le istruzioni da operare su quei dati: questo rende la macchina automatica e soprattutto generale (all-purpose), nel senso che l'elaborazione da eseguire non è predeterminata ma dipende dal programma che si inserisce e si utilizza; i sistemi di connessione non sono separati per ogni elemento ma sono comuni per tutti: questi sono i bus, attraverso cui l’esterno comunica con il microprocessore; il sistema di input/output è unico e gestisce tutti gli input e tutti gli output. In realtà la struttura teorica è stata implementata tecnologicamente in quello che oggi costituisce l’unità centrale: questa struttura permette l’implementazione e l’ampliamento del calcolatore sulla base delle esigenze dell’utente (sistema di sviluppo). In un computer possiamo quindi distinguere quattro unità funzionali: il processore, la memoria principale, la memoria secondaria e i dispositivi di input (inserimento) e output (restituzione di risultati). Il processore e la memoria principale costituiscono l’unità centrale del computer.
Macchina di Von Neumann → periodo della guerra, Von Neumann emigra negli US prima dell’inizio della guerra; la struttura che noi pensiamo e ragioniamo deve essere caratterizzata meglio —> nella memoria devo contenere sia l’istruzione che i dati. Noi umani bipedi, manteniamo nella testa sia le istruzioni sia i dati che elaboriamo. Poi Von Neumann dice perché creare dei sistemi di interconnessione a doc? Per avere un sistema comune per tutti; questi, Von Neumann, li chiama BUS (è ciò che origina tutto). Ultima situazione che Von Neumann delinea → il sistema di input-output è unico; ho un unico sistema che gestisce tutti gli input e tutti gli output. Questo unico sistema è il PASS.
Architettura del calcolatore In realtà è la struttura dell’elaboratore su cui navigheremo per l’analisi dei singoli elementi. Abbiamo una prima parte ovvero il sistema di sviluppo (processore, input e output) viene completato e correlato da una serie di blocchi aggiuntivi, permettono di connettere le periferiche input/output (tastiere) e le memorie secondarie o di massa. Ciò che accade in questi anni è una crescita del softwer e harder, e non avviene solo nel processore ma anche per tutti I dispositivi che li stanno attorno. Una volta (2002) era tipico avere all’interno del computer un hard disc di 10 Mega oggi 1 Tera. È cambiato l’insieme degli elementi che costituiscono la macchina. Abbiamo bisogno:
Struttura logica Come si fa per collegarsi con il resto del mondo? Quando compro un processore, lui di suo, ha I tre bus, chi vi vende la tastiera e il monitor, non vuole sapere il processore, perché l’azienda che produce quel mouse, o tastiera. Non vuole farne uno per ogni processore, quindi hanno creato degli standard. Si mettono dei circuiti elettronici che convertono e interfacciano I segnali dei bus con degli standard. Se devo collegare una tastiera uso una porta USB, e la compro. Si costruisce oltre al processore, costruiscono il CHIPSET: l’insieme dei circuiti elettronici che costituisce l’interfaccia tra il processore e periferie (noi chiamiamo porte. Costituito da due parti:
Quando scegliamo il processore, abbiamo scelto anche CHIPSET, abbiamo bisogno di 4 o 6 porte USB. Due cose importanti:
Scelgo il processore in base alle sue prestazioni tramite indici, ci sono siti internet con gli indici degli CPU. Gli indici di prestazioni viene presa come riferimento la prima CPU nel 70/80, è stato costruito un programma e si calcola il tempo di prestazione del primo processore a quello nuovo mi da l’indice, anche se la misura non è precisa, infatti bisogna guardare anche al costo.
Scheda madre
identico firm ware? Commercialmente due famiglie di processore hanno interesse a scambiarsi Firm Ware? Risposta: ogni famiglia ha un firmware che nel tempo è compatibile, un I3 non è compatibile con un I5 che è più nuovo, ma un I5 è compatibile con un I3, si chiama compatibilità indietro). Due famiglie di processori non sono compatibili l’una con l’altra, app, e usa processori Motorola che non sono compatibili con processori Microsoft, e questo fa sì che I due mondi non si possano parlare. Le famiglie di processori Microsoft sono diverse da quelli di Apple. Tanto che adesso hanno stretto accordi commerciali su Office, per cui Microsoft produce una versione di Office per I processori Apple, ma non ha venduto Office. L’ unità di controllo:
L’ unità di controllo deve lavorare sempre, se si spegne ci sono tempi morti. I softwer gli si fanno fare anche lavori “inutili” in quell’ istante non sono necessarie, ma ho bisogno di tenerlo lo stesso acceso e in opera. La CU deve eseguire le istruzioni andando ad eseguire le singole operazioni e necessità di elementi intorno a sé:
Le istruzioni che arrivano al processore sono in formato “linguaggio macchina”: sono insiemi di 1 e 0 in binario. Per l’utente il linguaggio macchina non è comprensibile, quindi in mezzo ho bisogno di un programma che mi trasformi delle istruzioni per comprendere il linguaggio macchina. Un linguaggio di programmazione è vicino all’utente, e permette di poter programmare in maniera semplice il processore che invece funziona in linguaggio macchina.
Programmi e processori Ogni processore riesce eseguire un numero limitato di istruzioni, le operazioni sono poche ma dati che le fa ad altra velocità, combinandole esegue compiti anche complessi. Se ho programmi vecchi sul computer nuovo posso usarlo.
Clock (indica il numero di operazioni elementari che vengono eseguite nell’unità di tempo) Il processore riceve il segnale di clock che ha una certa frequenza, misurata in Hertz: sapendo la frequenza di un clock si può anche sapere quante istruzioni vengono eseguite in un secondo (ad esempio, se si ha un processore da 3 GHz vuol dire che si hanno 3 miliardi di istruzioni al secondo). Quello che noi vorremmo è un modo per far sì che il processore esegua un’istruzione ogni colpo di clock. Immaginiamo che ogni istruzione impieghi 5 colpi di clock (il minimo è 3 e il massimo è 7, quindi la media è 5): dopo 5 colpi di clock viene completata un’istruzione, alla fine della prima istruzione inizia la seconda e così via. La velocità del processore sarebbe quindi 1/ della velocità del clock, ma questo non è accettabile dal momento che il nostro obiettivo è quello di elaborare un’istruzione ogni colpo di clock e non una ogni 5. Si è dunque pensato ad una struttura diversa, la pipeline, oggi presente in tutti i processori, in cui ci sono una serie di livelli: all’istante 0 viene caricata la prima istruzione, all’istante 1 (secondo colpo di clock) viene fatta la decodifica e così via (le istruzioni passano in cascata). A parte il primo momento di caricamento della pipeline, con questo sistema si eseguono istruzioni ogni colpo di clock (le operazioni sono caricate su più livelli). Come già detto, l’obiettivo è far sì che il processore non smetta mai di lavorare: quando ha finito ogni istruzione, se ne carica un’altra (le operazioni vengono elaborate contemporaneamente). Si ha l’impressione che il computer faccia lavori contemporaneamente, ma in realtà lavora un po’ su ogni programma.
Processori multi-core Tra il 2000 e il 2006 sono state raggiunte le frequenze attuali, ovvero il massimo della frequenza che tecnologicamente si può supportare: sono 15 anni che siamo fermi, anche se non è proprio vero dal momento che i processori sono diventati sempre più performanti mantenendo la frequenza inalterata.
Il motivo di questo stallo è il fatto che si usa la corrente elettrica (movimento ordinato di cariche elettriche) che impiega un tempo fisico a propagarsi. L’operazione di portare un dato dal processore alla memoria, o viceversa, non è un qualcosa di immediato: non si possono quindi mandare contemporaneamente più dati, ma solo uno alla volta. Nei metalli conduttori di cui è fatto un processore (oro, argento, alluminio) la corrente elettrica ha una velocità (spazio/tempo) pari ad 1/100 di quella della luce: Nel caso in cui lo spazio tra la memoria e il processore fosse di 10 cm, il dato impiegherebbe 33 ns a trasferirsi, con una frequenza di 30 MHz (operazioni al secondo) che è quella dei computer di prima generazione: Per aumentare la frequenza e poter quindi viaggiare più velocemente bisogna mettere la memoria e il processore il più vicino possibile (la memoria va messa dentro il processore), in modo da far percorrere meno strada al dato. Nel caso in cui, quindi, lo spazio tra la memoria e il processore fosse solo di 1 mm, il dato impiegherebbe 0,33 ns a trasferirsi, con una frequenza di 3 GHz (operazioni al secondo) che è il massimo raggiungibile al giorno d’oggi: Per ottenere una frequenza più alta le soluzioni potrebbero essere: -processori ottici: invece della corrente elettrica, che rappresenta il limite tecnologico, si usa la luce; in quel millimetro di distanza tra memoria e processore si inseriscono un emettitore e un ricevitore di luce in modo da ottenere una frequenza 100 volte più veloce di quella odierna, costruendo quindi processori che utilizzano il segnale luminoso; -processori quantistici: invece della corrente elettrica, che rappresenta il limite tecnologico, si usa lo spin (movimento) degli elettroni; se l’elettrone si muove in senso orario lo spin è + e se, invece, si muove in senso antiorario lo spin è – (a questi due segni si è in grado di stabilire i valori 0/1 se l’elettrone ruota da una parte o dall’altra); nonostante sia già in parte utilizzata, la tecnologia quantistica rappresenterà la prossima generazione di processori, con una velocità circa 100 volte più alta di quelli odierni. La soluzione attualmente praticata è quella di aumentare il numero di unità di elaborazione: non si può cambiare la frequenza ma al posto di avere un unico core ho più core, ovvero più EU (non si parla di avere più processori, ma più EU!). I processori multi-core possono essere: dual-core ( core), quad-core (4 core), hexa-core (6 core), octa-core (8 core), ecc. Ogni core ha una sua memoria Cache (memoria di lavoro che sta dentro il processore, a contatto con l’EU), c’è poi una shared memory e la BIU. I vari core possono essere cooperanti (tutti collaborano) o in parallelo (ognuno fa una cosa e quando ha terminato posiziona nella shared memory ciò che ha prodotto mettendolo a disposizione di tutti); i core sono controllati dal sistema operativo. Si distingue poi tra il core fisico, descritto fino ad ora, e il core logico, anche chiamato thread. Ogni core fisico può avere due thread. È meglio un dual-core a 3GHz o un quad-core a 2GHz? Il quad-core perché si hanno otto miliardi di istruzioni al secondo rispetto ai sei miliardi del dual-core.
Memoria RAM Il termine RAM (Random Access Memory) è stato coniato per motivi storici. Nei primi computer le memorie erano di tipo sequenziale, ovvero rappresentate da nastri magnetici, mentre ora hanno accesso casuale: il tempo impiegato per raggiungere un punto qualunque della memoria è sempre lo stesso, indipendentemente dalla posizione della cella nella sequenza. La RAM deve contenere tutte le istruzioni e tutti i dati con cui il processore lavora, è una memoria di lavoro e a breve termine.
PROSSIMA VOLTA: Processore e memoria principali costituiscono la base del sistema di elaborazione: nella memoria ci sono dati e programmi che vengono elaborati dal processore, mi manca solo più il colloquio con il mondo esterno, ovvero i sistemi di input/output.
Un computer deve - elaborare l’informazione, usando il processore (central processing unit- CPU)
Ho bisogno di una memoria principale (di lavoro) ma anche secondaria che soddisfa requisito di essere una memoria che tiene indefinitamente i dati. Oggi abbiamo sistemi che permettono di avere un pezzo di memoria permanente all’interno di questa struttura. Nel giro di qualche anno necessità di memoria secondaria cade, continueranno ad esserci ma saranno più piccole e diverse.
PROBLEMI: MEMORIA SECONDARIA Memoria principale non basta:
uguali, testina si muove su tutti questi blocchi. 7200 giri al minuto (120 giri al secondo), un hard disk è una lama circolare, velocità altissima. La suddivisione della superfice di un disco in tracce e settori viene detta formattazione (formattare la superficie per tenere dati). Il blocco è la minima unità indirizzabile. I dischi magnetici consentono l’accesso diretto. Dimensione è di qualche TB per gli hard disk (utilizzati come supporto di memoria secondaria fisso all’interno del computer). Quando memorizzo info all’interno del disco predispongo area nella quale metto corrispondenza di dove ho messo info e quale info ho messo. FAT (file allocation table) è la tavola, tabella nella quale vengono scritte traccia settore cluster per ogni file che andiamo a memorizzare. La Fat gestisce la localizzazione dei file e dei loro componenti. Operazione di deframmentazione (defrag) è l’operazione nella quale riorganizziamo il posizionamento dei file all’interno del nostro disco. C’è un programma che lo fa, non noi. La frammentizazzione rallenta la ricerca quindi dobbiamo passare alla deframmentazione. All’aumentare della capacità di memoria di massa, aumenta il numero di programmi e documenti che possiamo conservare nel computer. La memoria secondaria (hard disk) contiene file in maniera permanente. La memoria giusta della memoria principale è quella che non mi fa ricorrere alla memoria permanente.
La memoria ottica: sfrutta il fenomeno di riflessione della luce generata da un raggio laser. Come se ci fossero dei buchi, ma non dobbiamo vedere questi buchi nel cd, ho una sorgente luminosa, dove ho effetto di riflessione il raggio torna indietro, dove ho asperità il raggio si disperde. Ho un raggio laser che viene inviato sulla superficie. Ho bisogno di una sorgente luminosa da poter concentrare in un punto infinitesimo, molto piccolo, la lampadina non va bene. Uso una mia sorgente coerente e puntale da poter concentrare in un punto per vedere se ho riflessione o no. Si usa il laser rosso poiché è quello che ha la minor potenza. Se avessi bisogno di una potenza più alta? Rosso arancione giallo verde marrone blu = sequenza colori per potenza. Il blu ha più potenza. La struttura fisica è la stessa, dvd e cd sono uguali come dimensioni, non sono uguali come struttura interna. CD-ROM consentono solo operazioni di lettura. CD-R scritti una sola volta, CD- RW riscrivibili, basati sulla tecnologia magnetico-ottica. Come faccio ad aumentare la capienza? Gioco sugli strati. All’interno del cd c’è solo uno strato sepolto. Nel dvd c’è un unico strato sepolto più piccolo e più vicino. Nel dvd abbiamo possibilità di due strati, uno sopra e uno sotto o addirittura nel blu ray abbiamo due strati sotto e due strati sopra. Per questo ho bisogno della luce blu, più potente per entrare più in profondità. Le zone opache e lucide vengono determinate dal laser, proprietà dei materiali in cui è possibile cambiare la struttura cristallina del materiale. Riesco a costruire cd e dvd revraitable (riscrivibile) non all’infinito, c’è un numero limitato di riscrittura. I dischi ottici sono meno costosi di quelli magnetici e sono piu affidabili e difficili da rovinare.
Altro sistema di memoria molto usato sono le memory card/USB flash drive Sono memorie flash; usate in tutti i dispositivi, comprese i bancomat, Sim etc. memorie nelle quali memorizzate info. Composte di due parti: memoria a stato solido e seconda parte magnetica che memorizza info. Parte solida più veloce. Esiste una proporzionalità indiretta inversa tra la velocità e la capienza. Cioè i registri del processore che sono pochi e piccoli sono molto veloci. Tato più aumenta la dimensione tanto più la velocità diminuisce. Non c’è una memoria molto grande e molto veloce.
Abbiamo bisogno di scambiare info, abbiamo il chipsel. Abbiamo una serie di porte di collegamento, nel tempo queste porte si sono semplificate, la porta parallela oggi non esiste più, è stata sostituita. Sono connettori che interfacciano il pc con le periferie esterne. Una porta di comunicazione rimasta è USB (universal serial bus).
secondo avrei bisogno di 30 immagini. A volte anche il mercato ci dice cose non vere, anche se il cellulare ha 10 mega pixel ma ha un vetro davanti non fa belle foto. QRCODE sono codici a due dimensioni, sono una sequenza che possono rappresentare anche pagine web e riferimenti. Cosa si fa usando anche lo scanner? Si possono catturare delle informazioni. Quando digitalizzo il testo ho la possibilità di usare un software che riesce a convertire l’immagine del carattere nel corrispondente codice ascci di quel carattere. OCR, il software prende tutti i caratteri e li sovrappone alle singole immagini fino a quando non trova una corrispondenza. Ho trasformato la mia immagine in testo che posso elaborare. Scanner a tamburo, piano e manuale -Microfono -Macchina fotografica e telecamera digitale -Lettore di codice a barre
DISPOSITIVI DI OUTPUT: il principale è o schermo video (monitor) L’obbiettivo è quello di visualizzare, di rendere visibile e concreto per l’utente quello che è il risultato dell’elaborazione. Una volta avvenivano attraverso schede. Le caratteristiche che possiamo riscontrare sono: -la dimensione che è espressa in pollici, misurata sulla diagonale netta. Dipende se il monitor in quattro terzi o sedici noni. -la risoluzione: hd, full hd, 4K, possiamo usare i televisori con monitor -la gamma di colori rappresentabili dal monitor, normalmente oggi noi abbiamo schermi a 16, milioni i colori che corrispondono a red, green, blu con 8 bit per ognuno dei colori. Smartphone e tablet siccome devono essere piccoli l’immagine deve avere pixel piccoli e quindi si usano delle tecnologie particolari per fare in mood che i colori siano più vicini possibili alla nostra esperienza normale. Ogni tanto i pixel muoiono, la vita media di un dispositivo di telefono, cell è determinata a tavolino. Abbiamo bisogno di una scheda video, cioè il processore comunica le info alla scheda video, più memoria c’è meglio è, più la scheda è veloce meglio è. -frequenza di scansione, quante volte in un secondo lo schermo viene rinnovato LCD, cristalli liquidi, come funzionano? La luce esterna va ad incidere sullo specchio e a seconda della posizione aumenta o diminuisce la quantità di luce riflessa, il cristallo si orienta per avere più bianco o più nero in base alla posizione, ciò per ognuno dei colori. Il problema è che ho bisogno di illuminazione esterna. La quantità di luce emessa era bassa e questo è il secondo problema. La soluzione sono i LED, sigla di light emitted diode. Un led è una piccola lampadina, il vantaggio è che la posso fare piccola quanto mi pare. Ognuno dei pixel ha tre led piccolissimi e ognuno di essi emette una certa quantità di luce. Tra tutti i tipi di monitor qual è che usa la minor potenza, la massima internista luminosa e ottimizza l’immagine? Il LED. Stampanti sono i dispositivi che possiamo usare per produrre un risultato su carta, su un supporto qualunque. L’obbiettivo che ci poniamo con la stampa è quello di produrre un risultato tangibile. Stampante che a che fare con il green computing. Si cerca di evitare l’uso di questi dispositivi. Due tipi di stampanti, quelle per piccolo formato (stampanti A3 A4) oppure i plotter (stampanti grande formato). Il meccanismo di funzionamento è uguale. Oggi vengono connessi con USB. Oggi abbiamo due tipologie, la prima è inkjet (getto di inchiostro) e laser. Stampanti a getto di inchiostro, liquido che viene fatto passare con degli ugelli dei fori cosi da formare dalla carta il carattere. La testina deposita l’inchiostro e forma i caratteri. Stampante laser : si ha un tamburo polarizzabile, il laser va a incidere i caratteri sul mattarello, ruotando il mattarello viene portato su foglio di carta e sull’inchiostro che si trasferisce sul foglio di carta. La stampante è un problema perché abbiamo il problema del costo di acquisto e l’altro è il costo di esercizio, carta inchiostro ecc.
SISTEMI IMPUT/OUTPUT (operano in modo asincrono rispetto al processore, INPUT deve avvertire il processore quando un dato input è disponibile, OUTPUT deve avvertire quando ha terminato di produrre i dati in uscita)
Scheda audio obbiettivo di connettere microfono e sorgenti esterne e di produrre suoni verso casse, amplificatori, casse cc di output. Masterizzatore formato con sistema laser, masterizzatore fase di scrittura, lettore fase di lettura. Touchscreen obbiettivo di svolgere le due funzioni, output monitor video e input touch.
L’hardware da solo non è in grado di soddisfare completamente l’obbiettivo di costruire una macchina automatica. Abbiamo bisogno di due tipi di programmi : programmi di base e programmi applicativi. I primi saranno quelli necessari alla gestione del sistema mentre gli altri saranno quelli che ci permetteranno di usare il sistema al meglio rispetto a quello che è l’uso che ne voglio fare. Cosa differenzia un computer da una lavatrice? Oggi la lavatrice ha un hardware, un’interfaccia uomo macchina (posso decidere programma ecc.) ha una programmazione il problema è che la sua programmazione è fissa. L’applicazione che io posso fare con quel dispositivo è vincolata, quella è e quella rimane. Il computer invece posso programmarlo per svolgere un compito qualunque. Una programmazione diretta del processore non è pensabile, non è funzionale. Non mi devo abbassare al livello della macchina ma devo gestirla in un modo indipendente da come è fatta la macchina. Usare nello stesso modo macchine diverse. Avere un semplice linguaggio di interazione con la macchina. Procedura semplice e lineare che uso simmetricamente per tutti. Avere un insieme di programmi alternatici per svolgere compiti diversi. I programmi applicativi permettono di trasformare la macchina rispetto a compiti specifici. Programmi applicativi perché ci permettono di poter usare la macchina e specificare l’uso rispetto ad un compito specifico. Cosa significa programma applicativo? Ho già un sistema che mi permetto l’utilizzo e la gestione base della macchina. Riuscire a nascondere, a camuffare, la macchina reale quella fisica dando all’utente l’impressione di usare macchine hardware diverse nello stesso identico modo. Devo creare delle macchine virtuali che devono simulare emulare un hardware senza essere un hardware ma essendo software. Do una percezione ma la macchina è realizzata da opportuni software. Il livello più basso possibile relativo al linguaggio macchina al processore alla macchina fisica, poi ho software d base che è sopra la macchina fisica e che la nasconde dando percezione di macchina standard e poi applicativo. Strati uno sopra l’altro, primo strato fisico, secondo logico del software di base, terzo quello dei programmi applicativi. L’interconnessione tra i tre strati mi dà la possibilità di usare la macchina come meglio posso e voglio. Come può interagire l’utente con la macchina? Linguaggio di comandi. GUI (graphical user interface) necessita di icone e procedure. What you see is what you get -> WYSIWYG Macchina virtuale realizzata mediante il software, non esiste fisicamente, si interagisce con un linguaggio di comandi. Si occupa anche della traduzione di ogni comando. Ogni comando ha una sua semantica e una sintassi ben precisa.
Interagire con elaboratore in modo semplice e ci permette di gestire le risorse fisiche. Fanno parte del software di base due elementi: il BIOS : contenuto nella memoria rom e permette l’avvio e la configurazione iniziale dell’elaboratore. Sta per basic input/output system. Il bios avvia il sistema operativo, sono due cose diverse. Il sistema operativo viene lanciato dopo il bios. Auto test, gestione hardware, avvio operativo. Alla fine della gestione del bios attiviamo il sistema operativo. POST (power on self test) test che il bios fa a se stesso per verificare se ci sono problemi
Cosa serve invece il sistema operativo? Gestire l’elaboratore e i suoi dis, creare ambiente virtuale per interazione con utente. Il bios ha l’unica funzione di configurare la macchina all’avvio, non permette dialogo con utente, il dialogo lo permette il sistema operativo che ha anche il compito di permettere l’uso della macchina nascosta cosi che utente vede una macchina virtuale. Da punto di visa strutturale il sistema operativo è composto da livelli, ha una struttura cipolla. Nella parte più interna abbiamo HARDWARE che vogliamo nascondere, sta lì perché è quello che non voglio vedere e poi abbiamo una serie di strati (nucleo o kernel, gestione memoria principale,