1 Informatica di base A.A. 2004/2005
2 Informazioni sul docente Docente: Prof. Francesca Rossi Tel: Studio: Via G. B. Belzoni 7, primo piano Ricevimento: Giovedi’ 15:00-17:00 studio
3 Organizzazione del corso Circa 36 ore di lezione in aula LUM 250 (+ LUF1) Lunedi’- Martedi’ – Mercoledi’ 11:20-13:00 Almeno 10 ore di laboratorio in aula laboratorio tre o quattro gruppi di studenti 2 ore ogni settimana per ogni gruppo Da Martedi’ 2 Novembre Laboratorio: Via Paolotti, ingresso studenti, a destra (iscrizione e password prossima settimana)
4 Materiale utile Libro Titolo: Informatica, una panoramica generale Autore: J.Glenn Brookshear Dove trovarlo Libreria Progetto, Via Marzolo 28, Via Portello 5/7 Libreria Cortina, via Marzolo 2 Sito web del libro: wps.aw.com/aw_brookshear_compsci_7 Sito web del corso Lucidi Dispense per laboratorio Notizie Risultati esami
5 Esame Scritto, con domande a risposta libera o a scelta multipla Esercizi nelle ore di laboratorio Orale se ritenuto necessario dal docente Un appello a Dicembre 2004, uno a Gennaio 2005, due a Settembre 2005
6 Sommario degli argomenti di lezione I circuiti logici, il sistema binario, la rappresentazione dell’informazione (cap.1) L’architettura dei calcolatori, il linguaggio macchina (cap.2) Sistemi operativi (cap.3) DOS, Unix/Linux,Windows (dispensa lab.) Word processors: Word (dispensa lab.) Fogli elettronici (dispensa lab.) Algoritmi (cap.4) Linguaggi di programmazione (cap.5) Strutture dati (cap. 7) File (cap.8)
7 In laboratorio: Linux, Windows Posta elettronica: pine, web ssh Assembler Emacs Word Excel
8 Linguaggio del calcolatore Solo assenza o presenza di tensione: 0 o 1 Tante componenti interconnesse che si basano su 0 e 1 Anche per esprimere concetti complessi Bit: binary digit (0 o 1)
9 L’ Hardware di un computer 3 tipi di componenti fondamentali: and, or, not Anche xor Un computer è ottenuto assemblando un gran numero di componenti elettronici molto semplici Hardware
10 And e or
11 Xor e not
ANDORNOT A BA AND B falso falso vero falso vero falso falso vero A BA OR B falso falso vero vero vero falso vero ANOT A falsovero falso RA B RA B RA
13 Completezza di and, or, e not 16 operazioni logiche binarie (tante quante possibili scelte di 4 valori) 4 operazioni logiche unarie Tutte possono essere ottenute componendo and, or, e not
A B A B falso vero falso vero vero vero falso falso vero A B A B A B equivale a (NOT A) OR B A BNOT A(NOT A) OR B
A B A B A B equivale a (A B) AND (B A) A B A BB A(A B)AND(B A)
o XOR A B A B A XOR B equivale a NOT (A B) A B A BNOT(A B)
17 Dalla tabella di verita’ ad un circuito Tanti input quante sono le dimensioni della tabella Un solo output Un or la cui uscita e’ l’output Tanti and quanti sono gli 1 della tabella Input degli and: 1 se diretto, 0 se negato A B A B
18 Nand e nor Non servono tre operazioni (and, or, not) Basta una tra : nand (not and) e nor (not or)
NANDNOR A BA NAND B falso vero falso vero vero vero falso vero falso A BA NOR B falso vero falso vero falso vero falso falso vero falso RA B RA B
AND OR NOT
21 Flip-flop Uscita costante finche’ un valore su un input non lo modifica Uscita costante se gli ingressi rimangono 0 Ingresso superiore a 1 uscita a 1 Ingresso inferiore a 1 uscita a 0
22 1 nell’input superiore
23 Uscita a 1
24 Input superiore a 0 Se ingresso superiore temporaneamente a 1, uscita a 1 anche se l’ingresso superiore viene messo a 0 Ingresso inferiore temporaneamente a 1 uscita a 0
25 Uso del flip-flop Per memorizzare dati in un calcolatore Il valore memorizzato e’ l’uscita del flip- flop Lettura: lettura dell’uscita Scrittura di un nuovo valore: modifica di un input
26 Altro modo per costruire un flip-flop
27 Esercizio Determinare la tavola di verità del seguente circuito: and A B R è una tavola nota? not or
28 Esercizio Partendo dalla tavola di verità dell’esercizio precedente, costruite un circuito che la realizza seguendo il metodo di costruzione generale visto in classe.
29 Esercizio Si disegni un circuito logico che realizza la seguente tavola di verita’: A=0, B=0 R = 1 A=0, B=1 R = 1 A=1,B=0 R = 1 A=1, B=1 R = 0
30 Esercizio Dare la tavola di verita’ delle formule: (A NOT(B)) OR (A AND B) A OR (A AND NOT(B)) (NOT(A) NOT(B)) OR (NOT(A) AND B)
31 Notazione esadecimale Stringhe di bit Es.: Di solito lunghezza multipla di 4 Un simbolo solo per 4 bit Es.: 3 simboli per 12 bit
32 Notazione esadecimale Es.: diventa B53
33 Memoria principale Molti flip-flop, ognuno memorizza un bit Celle di memoria (o parole): di solito 8 bit (byte)
34 Indirizzi di memoria Per identificare ogni cella Parte da 0 Segue secondo la numerazione binaria
35 Accesso alla memoria Accesso diretto ad ogni cella, senza dover iniziare dalla cella 0 RAM: Random Access Memory Accesso a piccole unita’: 8 bit (a differenza delle memorie secondarie) Tipi di accesso: lettura e scrittura
36 Dimensione di memoria Di solito una potenza di 2 ES.: 1024 = 2 alla 10 (vicino a 1000 1Kilo byte) 2 alla 20 = = 1 Megabyte 2 alla 30 = = 1 Gigabyte
37 RAM => accedere ad ogni byte ha la stessa durata (10**-7 sec): non dipende da quale byte è stato acceduto prima è volatile: se tolgo la spina l’informazione è persa (c’è anche la ROM) ogni byte ha un indirizzo 0,1, il byte e’ la minima quantita’ accessibile (attraverso il suo indirizzo) PROPRIETA’ della RAM
38 Memoria principale e secondaria Volatilita’ della memoria principale: senza tensione un flip-flop perde il suo contenuto, cioe’ la sua uscita Dimensione limitata memoria di massa (o secondaria): Dischi magnetici CD Nastri magntici
39 Disco magnetico Dico rotante con rivestimento magnetico Testine di lettura/scrittura fisse mentre il disco gira passano sopra ad un cerchio (traccia) Spostando le testine si passa a tracce diverse Ogni traccia e’ divisa in settori Dimensione settore: 512 o 1024 byte Accesso a un singolo settore Posizione di tracce e settori non costante (formattazione)
40 Disco magnetico
41 Prestazioni dei dischi Tempo di posizionamento testina Tempo di latenza (per arrivare al settore richiesto) Millesimi di secondo (millisec.) contro i miliardesimi di secondo (nanosec.) della RAM Tempo di accesso (somma dei due) Velocita’ di trasferimento
42 CD Compact Disk Buchi sulla superficie, raggio laser Singola traccia a spirale Settori (2KB) Capacita’ CD: MB Capacita’ DVD (digital versatile disk): 10GB
43 CD
44 Rappresentazione del testo Una stringa di bit per ogni simbolo (caratteri maiuscoli, caratteri minuscoli, cifre,...) ANSI ( American National Standards Institute ) ha adotato il codice ASCII ( American Standard Code for Information Exchange ): 7 bit per ogni simbolo (un byte)
45 Rappresentare numeri Il codice ASCII e’ inefficiente: per rappresentare numeri con n cifre servono n byte Meglio usare metodi che sfruttano la notazione binaria (base 2) Base 2: solo le cifre 0 e 1 invece che 0, 1,..., 9 (base 10)
46 Base 10 e base 2
47 Rappresentazione decimale e binaria Base 10 cifre da 0 a 9 Base 2 cifre 0 e 1 Sequenza di cifre decimali d k d k-1 … d 1 d 0 numero intero d k x 10 k + d k-1 x 10 k-1 + … d 1 x 10 + d 0 Esempio: 102 in base 10 e’ 1x100+0x10+2x1 In generale: somma(I=k,k-1,…,0) d k 10 k
Valore di una rappresentazione binaria Per un numero binario d k d k-1 … d 1 d 0 Stesso procedimento ma su base 2: somma(I=k,k-1,…,0) d k 2 k Esempio: = 1· · · ·2 0 = = 45 10
49 Valore di una rappresentazione binaria
Rappresentazione binaria Valore minimo di una sequenza di n cifre binarie: 000 … 0 (n volte) = 0 10 Valore massimo: 1111…111 (n volte) = 2 n n-2 + … = 2 n –1 Esempio con n=3: 111 = = 7 = Da 0 a 8: 0, 1, 10, 11, 100, 101, 110, 111, 1000
51 Una proprietà dei numeri binari = = 36 = 73/2 e questo è il resto Eliminare il bit più a destra corrisponde a dividere per 2 il valore, ed il bit eliminato è il resto
52 Trasformazione di un numero in base 10 a numero binario /2=62 resto 1 62/2=31 resto 0 31/2=15 resto 1 15/2=7 resto 1 7/2=3 resto 1 3/2=1 resto 1 1/2=0 resto in binario è rappresenta 62 rappresenta 31 Etc.
53 ASCII vs. binario Per rappresentare numeri con n cifre, servono log(n) bit Es.: per rappresentare 25, in ASCII servirebbero 16 bit, in binario solo 4 25/2=12 r.1, 12/2=6 r.0, 6/2=3 r.0, 3/2=1 r.1, 1/2=0 r.1 x1 + 1x8 + 1x16 = 25
54 Esercizio Scrivere la rappresentazione binaria dei numeri decimali:
55 Esercizio Scrivere la rappresentazione decimale dei numeri binari:
Somma binaria Riporto: = Colonna per colonna, da destra a sinistra Riporto se la somma su una colonna supera la base Tre cifre binarie (prima riga, seconda riga, riporto), somma =1 se una o tre sono 1, riporto = 1 se almeno due sono 1
57 Somma binaria 1 11 riporti =
58 Reali in notazione binaria b k-1 b k-2 … b 2 b 1 b 0, b -1 b -2 … b k-1 x 2 k-1 + b k-2 x 2 k-2 +… + b 2 x b 1 x 2 + b 0 x b -1 x b -2 x … Da decimale a binario: Per la parte intera, come sappiamo fare (metodo delle divisioni)
59 REALE--> BINARIO cosa significa una parte decimale binaria:
moltiplicarlo per 2 significa spostare il punto di un posto a destra
61 Se abbiamo un valore decimale in base 10: 0.99 come troviamo la sua rappresentazione in base 2? Ragioniamo come segue: Supponiamo che.99 =.b 1 b 2 b 3...b k (binario) Allora 2 .99 = 1.98 = b 1. b 2 b 3...b k Quindi b 1 è 1 e.98 è rappresentato da. b 2 b 3...b k
62 Per trovare la rappresentazione binaria di un decimale lo moltiplichiamo per 2 ed osserviamo se 1 appare nella parte intera:.59 2= 2= 2= 2= 2= 2= dipende da quanti bit abbiamo rappresentazione binaria di.59
63 esempio
64 Esercizi Convertire i seguenti numeri binari in formato decimale: 11,01 101,111 10,1 Esprimere i seguenti valori in notazione binaria: 4.5 2.75 Eseguire le seguenti somme binarie: 111,11+0,01