...

Document

by user

on
Category: Documents
11

views

Report

Comments

Description

Transcript

Document
Informatica di base
A.A. 2004/2005
1
Informazioni sul docente
Docente:
Prof. Francesca Rossi
E-mail: [email protected]
Tel: 049-8275982
Studio: Via G. B. Belzoni 7, primo piano
Ricevimento: Giovedi’ 15:00-17:00 studio
2
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
3
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
www.math.unipd.it/~frossi/info-base.html
Lucidi
Dispense
per laboratorio
Notizie
Risultati
esami
4
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

5
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)

6
In laboratorio:
Linux, Windows
 Posta elettronica: pine, web
 ssh
 Assembler
 Emacs
 Word
 Excel

7
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)
8
Hardware
L’ Hardware di un computer
•Un computer è ottenuto assemblando un
gran numero di componenti elettronici
molto semplici
•3 tipi di componenti fondamentali:
and, or, not
•Anche xor
9
And e or
10
Xor e not
11
AND
A
B
OR
A AND B
A
B
NOT
A OR B
A
NOT A
falso falso
falso
falso falso
falso
falso
vero
falso vero
falso
falso vero
vero
vero
falso
vero
falso
falso
vero
falso
vero
vero
vero
vero
vero
vero
vero
A B
R
A B
R
A
R
0 0
0
0 0
0
0
1
0 1
0
0 1
1
1
0
1 0
0
1 0
1
1 1
1
1 1
1
A
A
R
B
R
B
A
R
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

13

A
A  B
B
A B A  B
falso falso
vero
0 0
1
falso vero
vero
0 1
1
vero
falso
falso
1 0
0
vero
vero
vero
1 1
1
A  B equivale a (NOT A) OR B
A B NOT A
0 0
1
(NOT A) OR B
1
0 1
1
1
1 0
0
0
1 1
0
1
A
R
B

A B
A  B
0 0
1
0 1
0
1 0
0
1 1
1
A  B equivale a
(A  B) AND (B  A)
A B A  B B  A (A  B)AND(B  A)
0 0
1
1
1
0 1
1
0
0
1 0
0
1
0
1 1
1
1
1
A
B
R
 o XOR
A XOR B equivale a
NOT (A  B)
A B
A  B
0 0
0
0 1
1
A B
A  B
NOT(A  B)
1 0
1
0 0
1
0
1 1
0
0 1
0
1
1 0
0
1
1 1
1
0
A
B
A
R
B
X R
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
A
0 0
0
B
0 1
1
1 0
1
1 1
0
R
17
Nand e nor

Non servono tre operazioni (and, or, not)

Basta una tra :
nand (not and) e nor (not or)
18
NAND
A
B
A NAND B
NOR
A
B
A NOR B
falso falso
vero
falso falso
vero
falso vero
vero
falso vero
falso
vero
falso
vero
vero
falso
falso
vero
vero
falso
vero
vero
falso
A B
R
A B
R
0 0
1
0 0
1
0 1
1
0 1
0
1 0
1
1 0
0
1 1
0
1 1
0
A
A
R
B
R
B
NOT
AND
A
A
R
R
B
OR
A
R
B
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
21
1 nell’input superiore
22
Uscita a 1
23
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
24
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

25
Altro modo per costruire un flip-flop
26
Esercizio
•Determinare la tavola di verità del
seguente circuito:
A
è una tavola
or
not
nota?
B
not
and
R
or
27
Esercizio
•Partendo dalla tavola di verità
dell’esercizio precedente, costruite un
circuito che la realizza seguendo il
metodo di costruzione generale visto in
classe.
28
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
29
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)
30
Notazione esadecimale
Stringhe di bit
 Es.: 101101010011
 Di solito lunghezza multipla di 4
 Un simbolo solo per 4 bit
 Es.: 3 simboli per 12 bit

31
Notazione esadecimale
• Es.:
101101010011 diventa
B53
32
Memoria principale
Molti flip-flop, ognuno memorizza un bit
 Celle di memoria (o parole): di solito 8 bit
(byte)

33
Indirizzi di memoria
Per identificare ogni cella
 Parte da 0
 Segue secondo la numerazione binaria

34
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

35
Dimensione di memoria
Di solito una potenza di 2
 ES.: 1024 = 2 alla 10 (vicino a 1000 
1Kilo byte)
 2 alla 20 = 1.048.576 = 1 Megabyte
 2 alla 30 = 1.073.741.824 = 1 Gigabyte

36
PROPRIETA’ della RAM
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,2......
il byte e’ la minima quantita’ accessibile
(attraverso il suo indirizzo)
37
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
38
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)
39
Disco magnetico
40
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
41
CD
Compact Disk
 Buchi sulla superficie, raggio laser
 Singola traccia a spirale
 Settori (2KB)
 Capacita’ CD: 600-700 MB
 Capacita’ DVD (digital versatile disk):
10GB

42
CD
43
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)

44
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)

45
Base 10 e base 2
46
Rappresentazione decimale e
binaria
Base 10  cifre da 0 a 9
 Base 2  cifre 0 e 1
 Sequenza di cifre decimali
dk d k-1 … d1 d0
 numero intero
dk x 10k + dk-1 x 10 k-1 + … d1 x 10 + d0
 Esempio: 102 in base 10 e’ 1x100+0x10+2x1
 In generale: somma(I=k,k-1,…,0) dk 10k

47
Valore di una rappresentazione
binaria
• Per un numero binario dk d k-1 … d1 d0
• Stesso procedimento ma su base 2:
somma(I=k,k-1,…,0) dk 2k
• Esempio:
01011012 = 1·25 + 1·23 + 1·22 + 1·20
= 32 + 8 + 4 + 1
= 4510
Valore di una rappresentazione
binaria
49
Rappresentazione binaria
 Valore minimo di una sequenza di n
cifre binarie: 000 … 0 (n volte) = 010
 Valore massimo: 1111…111 (n volte) =
2n-1 + 2 n-2 + … + 22 + 21 + 20 + 1 = 2n –1
Esempio con n=3: 111 = 22 + 2 + 1 = 7 = 23 -1
Da 0 a 8: 0, 1, 10, 11, 100, 101, 110, 111,
1000
Una proprietà dei numeri binari
1001001= 73
100100 = 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
51
Trasformazione di un numero in base 10
a numero binario
125
125/2=62
62/2=31
31/2=15
15/2=7
7/2=3
3/2=1
1/2=0
resto 1
resto 0
resto 1
resto 1
resto 1
resto 1
resto 1
125 in binario è
1111101
rappresenta 62
rappresenta 31
Etc.
52
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  11001
 1x1 + 1x8 + 1x16 = 25

53
Esercizio
•Scrivere la rappresentazione binaria dei
numeri decimali:
•30
•36
•15
54
Esercizio
•Scrivere la rappresentazione decimale
dei numeri binari:
•1000
•1010
•01011
•10111
55
Somma binaria
 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
Riporto:
1 1 1 1 0 0
0111002 +
1001112 =
----------10000112
Somma binaria
1
11
riporti
1010011+
1100011=
----------10110110
57
Reali in notazione binaria
bk-1 bk-2 … b2 b1 b0 , b-1 b-2 …
 bk-1 x 2 k-1 + bk-2 x 2 k-2 +… + b2 x 22 + b1 x
2 + b0 x 20 + b-1 x 2-1 + b-2 x 2-2 +…


Da decimale a binario:
 Per
la parte intera, come sappiamo fare
(metodo delle divisioni)
58
REALE--> BINARIO
cosa significa una parte decimale
binaria:
.1101001
2-1+ 2-2 + 2-4 + 2-7
59
.1101001
2-1 2-2...
moltiplicarlo per 2
significa spostare il
punto di un posto a
destra
1.101001
20 2-1.......
60
Se abbiamo un valore decimale in base 10:
0.99 come troviamo la sua rappresentazione
in base 2? Ragioniamo come segue:
Supponiamo che .99 = .b1b2b3...bk (binario)
Allora 2 .99 = 1.98 = b1.b2b3...bk
Quindi b1 è 1
e .98 è rappresentato da .b2b3...bk
61
Per trovare la rappresentazione binaria di
un decimale lo moltiplichiamo per 2 ed
osserviamo se 1 appare nella parte intera:
rappresentazione binaria di
.592= 1.18
.182= 0.36
.362= 0.72
.59
.722= 1.44
.442= 0.88
.100101.....
.882= 1.76
....... dipende da quanti bit
abbiamo
62
esempio
18.59
18  10010
.59  .100101...
10010.100101....
63
Esercizi

Convertire i seguenti numeri binari in formato decimale:




Esprimere i seguenti valori in notazione binaria:



11,01
101,111
10,1
4.5
2.75
Eseguire le seguenti somme binarie:


11011+1100
111,11+0,01
64
Fly UP