Capitolo 0
Per trattare le informazioni, l'uomo si è dotato di strumenti appositi che le hanno rese un fenomeno sociale (dalle prime forme di scrittura ai calcolatori), creando una situazione di maggior interesse per lo strumento che per il messaggio (medium is message). Informazione può essere intesa come i dati su cui occorre operare (informazione = dati + istruzioni) o sul risultato di tale operazione (concezione giornalistica). I sistemi moderni sono basati sull'information hiding e sui processi top-down (dal generale al particolare) e sono sistemi programmabili (se ne modificano i comportamenti a livello software senza intervenire sull'hardware).
L'uomo coglie le informazioni e le elabora con vari strumenti (formali, come il calcolo matematico, e materiali, come un mappamondo) e le memorizza tramite supporti (abaco, pallottoliere); nel '600 comparvero le prime calcolatrici meccaniche, nell'800 i primi programmi (a schede perforate) e nel '900 i primi calcolatori elettronici. La prima macchina general purpose (applicabilità generale, in cui il programma non è più una parte hardware) fu la macchina di Von Neumann del '40, che introdusse la medesima codifica sia per i dati che per le istruzioni, in modo che entrambi possano essere salvati sullo stesso disco; tale macchina era composta da quattro livelli: l'interfaccia (input + output, sensori + attuatori), la memoria (a capacità variabile), la CPU (che controlla ed elabora) e il sistema di interconnessione.
L'algoritmo è un programma ancora non formalizzato. Un PC è in grado di trasmettere informazioni ad altri calcolatori tramite le reti di telecomunicazione. Il calcolatore quindi si è staccato dalle pure funzioni di calcolo per diventare sistema informatico, il protagonista delle tecnologie dell'informazione e della comunicazione (ICT). L'uomo può rapportarsi con il calcolatore in tre modi: interazione uomo-macchina, o stand alone, quando il PC è isolato; interazione utente-PC remoto, come nelle connessioni web; interazione tra utenti mediante calcolatori. Nell'ultimo caso, i calcolatori sono infrastrutture che permettono i più svariati tipi di comunicazione.
Nel secondo caso, invece, l'utente esterna comandi, mentre il PC controlla di essere in grado di svolgere il comando (che nella lingua umana spesso può essere vittima dell'ambiguità, ma no nel linguaggio di programmazione) e successivamente lo esegue, presentando il risultato: è cioè interprete ed esecutore. Gli elaboratori calcolano sia su dati numerici che su parole, immagini o musiche, che devono però essere codificati numericamente (codice ASCII, ciao=9910597111). Non ogni problema ha una soluzione (etici, soggettivi).
Il calcolo viene effettuato riducendo funzioni (cioè regole che trasformano input in output) complesse a funzioni semplici (3*2 diventa 3+3+3), come la traduzione dal linguaggio umano al linguaggio macchina di basso livello; il PC sfrutta però spesso un linguaggio di programmazione di alto livello per avvicinarsi al linguaggio umano e occuparsi della traduzione in linguaggio macchina, finalmente eseguibile dalla CPU. Le funzioni calcolabili sono quelle calcolabili dalla macchina di Turing. I calcolatori non si differenziano per le funzioni calcolabili, ma solo per la velocità.
Capitolo 1
Il calcolatore è un sistema (insieme di componenti) e un esecutore. Spesso assume anche la pura funzione di archiviazione. Ha rapporti I/O con l'ambiente tramite periferiche. I PC moderni hanno grande flessibilità d'uso, modularità (componenti difettose singolarmente sostituibili) e scalabilità (possibilità di aggiungere componenti migliori, o upgrade). I componenti sono standardizzati dal punto di vista dell'interfaccia, ossia il tipo di collegamento, e sono collegati tra loro dai bus (integrati nella scheda madre) che permettono semplicità ed economicità riducendo il numero di collegamenti, ma aumentando i tempi di connessione e creando la possibilità di sovraccarichi della CPU che gestisce i bus (esistono dispositivi che svolgono tale compito lasciando la CPU libera).
I bus sono più di uno nei sistemi avanzati (schede video che trasferiscono grandi quantità di dati ecc.) e solitamente sono formati da tre livelli: bus di dati (su cui si trasferiscono i dati da elaborare), bus indirizzi (su cui ci sono gli indirizzi delle celle di memoria) e bus di controllo (che stabiliscono la sorgente e il destinatario). La memoria è formata da celle adiacenti con un proprio indirizzo, in cui si legge o scrive un dato. La CPU ha la funzione di master, bloccando l'accesso alla memoria ai dispositivi slave (periferiche). La sua velocità dipende dalla frequenza in hertz del clock, un dispositivo che genera impulsi di sincronizzazione per mantenere coordinato il funzionamento dell'architettura.
Il linguaggio usato per codificare dati ed istruzioni salvati sulle memorie è il codice binario, tanto lungo quante sono le scelte per il dato da utilizzare (n simboli binari = 2n dati differenti possibili). La memoria di lavoro è bistabile (può assumere due diverse configurazioni per ogni simbolo binario) in quanto formata da bit (binary digit) raggruppati in gruppi di otto (byte). L'insieme delle istruzioni eseguibili, trattate come dati, sono chiamati linguaggio macchina, e possono essere: aritmetico-logiche (operazioni), di trasferimento dati (I/O) o di controllo (modifiche delle istruzioni precedenti). Un dato espresso in binario è detto opcode o codice operativo. In una somma, sono necessari gli addendi, la loro posizione, l'istruzione add e la posizione di scrittura del risultato. Il processore lavora sempre sequenzialmente e su tre fasi scandite dal clock: lettura o fetch (trasferimento dalla memoria alla CPU delle istruzioni), decodifica o decode (riconoscimento istruzioni) e esecuzione o execute (svolgimento, I/O, fase di lunghezza variabile).
Il processore è composto da due parti: il data path (composto dagli ALU, i veri dispositivi di elaborazione e dai registri temporanei) e l'unità di controllo (che collega gli ALU e i registri, svolge la fase fetch e verifica il lavoro del data path). I processori variano anche per la dimensione dei registri e dei bus dati (i più recenti 64 bit), che determina la velocità di trasferimento ed elaborazione; le prestazioni dipendono anche dal clock, dalla frequenza del bus o MT e dal numero di transistor. La CPU necessita di una memoria altrettanto veloce, capiente e che possa memorizzare anche in assenza di alimentazione: per questo la memoria è divisa in memoria centrale e di massa. La memoria centrale è costituita di elementi bistabili (1 o 0) raggruppati in celle di 8, 16, 32 o 64 bit ed è raggiungibile direttamente senza passare dalle celle precedenti.
Le prestazioni di una memoria dipendono dal tempo di accesso (di lettura o scrittura), dal tempo di ciclo della memoria (intervallo tra due operazioni successive), dalla velocità di trasferimento o larghezza di banda e dalla capacità misurata in byte. La RAM è abbinata a una parte di ROM non volatile che contiene le informazioni per avviare il sistema operativo (bootstrap). Le memorie possono essere elettroniche (costo per bit elevato, spesso sono volatili) come la RAM, magnetiche (non volatili, basso costo per bit, lente) o ottiche (le più recenti, molto lente) come le memorie di massa. Fisicamente le memorie sono composte da semiconduttori in silicio. Quando si cerca un dato il processore effettua la ricerca in modo gerarchico: prima nella RAM, poi nei due livelli di memoria cache (integrati nella CPU per evitare il collegamento bus), poi nella memoria di massa e infine negli eventuali supporti esterni (CD, DVD, HD esterni); per velocizzare i procedimenti è quindi conveniente organizzare nella RAM i dati necessari ai programmi più usati, basandosi sui principi di località spaziale (è prevedibile che un programma usi un dato vicino ad uno precedentemente usato) e temporale (è facile che un programma riusi un dato usato poco prima) secondo la logica LRU (least recently used).
Capitolo 2
Le periferiche sono dispositivi che svolgono operazioni di raccolta dati e presentazione dei risultati. Sono collegate al PC attraverso un'interfaccia a sua volta collegata al bus. Le periferiche moderne hanno al loro interno processori che vengono regolati dal processore del PC. La tecnologia di connessione punto a punto ha risolto il problema di lentezza che causava l'uso di un unico bus per tutte le periferiche (collo di bottiglia). Le periferiche possono essere per archiviazione, ingresso (tastiera, mouse), uscita (video, audio) e rete (modem).
Le memorie di massa possono essere di tipo:
- Magnetico: uno strato magnetico circolare concentrico è letto e scritto da una testina che ne altera lo stato di magnetizzazione. Il disco è diviso in due assi x e y detti tracce e settori che identificano i record. I gap distanziano i vari record per evitare errori. Prima dell'utilizzo il disco deve essere formattato (operazione ripetibile ma distruttiva), consentendo di identificare la posizione dei record tramite dei dati di controllo. La testina si muove sulle tracce con una velocità detta seek time, e nei settori con una velocità detta latenza di rotazione. I dischi sono divisi in hard disk (cilindro formato da vari dischi) e floppy disk (singolo disco flessibile).
- Flash: molto usate nei dispositivi portatili, combinano la riscrivibilità alla non volatilità, sono piccole e consumano poco, ma sono lente (2mb/s fino a 60 mb/s) e hanno un limite di utilizzo in scrittura (1 milione di volte).
- Ottico: CD (800mb), DVD (17 gb dual layer), HD-DVD (30 gb) e Blu-ray (80gb); il supporto fisico è un disco di 12 cm di diametro e 1 mm di spessore. I dati vengono incisi su pit e land in un materiale plastico riflettente. La lettura avviene mediante un raggio laser. I dati non sono organizzati in tracce e settori ma a spirale. La velocità di trasferimento è qualche decina di mb/s. I tempi di decadenza sono stimabili in vari secoli (mentre i magnetici in qualche decennio). La maggioranza sono CD e DVD ROM, per evitare errori di scrittura nella produzione a stampa in serie, ma esistono anche registrabili (vergini) bruciando pit e land con il laser di un masterizzatore, e riscrivibili (rigenerabili con un processo di riscaldamento).
Le periferiche sono connesse al PC tramite porte a loro volta connesse tramite schede al bus. Nei PC sono sempre presenti le interfacce di collegamento per monitor, tastiera, mouse e stampante. Le porte possono essere di tipo Seriale (un bit alla volta, mouse, regolata dagli standard RS-232C) o Parallela (tutti i bit insieme, stampanti, standard Centronics). Si sono diffuse porte con prestazioni superiori alle porte Parallele, come l'USB 2.0 (60 mb/s), il Firewire (400 mb/s) e l'e-SATA (3 gb/s), oltre ai collegamenti wireless (IRDA, Wifi, Bluetooth: 16mb/s).
I monitor si dividono in CRT catodici e LCD a cristalli liquidi, entrambi costituiti da pixel. Si è diffusa la risoluzione 1920x1080 (16:9) compatibili con lo standard HDTV a discapito di quella 4:3. Al video è assegnata una RAM gestita come mappa dei pixel dello schermo, che possono assumere 16 milioni di tonalità differenti. Esistono schede grafiche acceleratrici (coprocessori grafici) che contengono RAM aggiuntiva per sollevare la CPU da tale compito. L'introduzione di interfacce grafiche ha favorito la diffusione dei dispositivi di puntamento a discapito delle tastiere, utilizzate ora per operazioni di scrittura. I mouse sono meccanici (pallina in gomma) o ottici (laser), ma esistono alternative come i track ball (mouse rovesciati), i touchpad.
-
Riassunto esame Informatica, prof Pergola, libro consigliato Informatica e cultura dell'informazione, Mari, Buonann…
-
Riassunto esame Informatica, prof. Amoroso, libro consigliato Informatica e cultura dell'informazione, Mari, Buonan…
-
Riassunto esame di Informatica giuridica, prof Paccagnella, libro consigliato Open Access. Conoscenza aperta e soci…
-
Riassunto esame Informatica e logica giuridica, Prof. Gonnella Patrizio, libro consigliato L'informatica giuridica …