fondamenti di informatica parte 1 - PowerPoint PPT Presentation

1 / 91
About This Presentation
Title:

fondamenti di informatica parte 1

Description:

I Relational D.B.M.S. spesso presentano un interfaccia grafica per facilitare il ... sistema M.S.ACCESS e databse db11.mdb SEMPRE pero occorre sapere COSA si ... – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 92
Provided by: Facol
Category:

less

Transcript and Presenter's Notes

Title: fondamenti di informatica parte 1


1
fondamenti di informatica parte 1
  • appunti per la laurea in Ingegneria Civile,
    Edile, Ambientale
  • a.a. 2005-2006
  • di
  • anna maria carminelli gregori
  • carmin_at_units.it
  • Introduzione

2
PREMESSA
  • prima di tutto perché c è questo corso? Tanti
    perchè
  • .. Esempio di cosa potrete fare col computer
    dopo aver seguito con interesse il corso
  • Utilizzo degli appunti composti da 5 file
  • il primo file e FOND1 ed usando Internet si
    ottiene con ftp//ftping.units.it/arc_stud/
  • Nella finestra che si apre trovare la cartella
    carmin
  • 2 clic e si trova la cartella inf2005 con le
    dispense, i programmi La prima dispensa è
    FOND1.PPT
  • E un file costruito come tutti gli altri con/per
    Power Point gli altri sono posti alla stessa
    locazione (direttorio). I loro nomi FOND2.PPT,
    FOND3.PPT, FOND4.PPT, FOND5.PPT

3
Livelli di utilizzo di E.E.
  • Livello utente
  • E.E. scatole cinesi sistema a cipolla col
    primo strato di tipo software
    amichevole che ad un dato INPUT risponde con un
    certo OUTPUT
  • obiettivo utente acquisire familiarita col
    sistema.
  • Livello professionista
  • conoscenza precisa e completa di ogni componente
    funzionale di E.E.
  • Studenti Informatica entrambi livelli, ma per un
    uso piu immediato solo uno sguardo su hardware
    e SUBITO visione software.

4
Argomenti importanti da ritrovare in questi
appunti
  • Rappresentazione e codifica informazioni con le
    relative conversioni
  • Hardware Software dove per Hardware si intende
    struttura, componenti funzionali e fisiche di
    E.E. e fasi del funzionamento ciclico della CPU,
  • e per Software Sistema Operativo (con
    riferimenti WINDOWS e DOS) editor, interpreti,
    compilatori... e prog. applicativi
  • La programmazione struttura di un programma e
    sua costruzione a moduli in C con uso dei
    computer del Lab. per implementarlo e farlo
    funzionare
  • Argomenti di sottoprogrammi e passaggio di
    parametri tra (sotto)-programmi .

5
Perché il C ?
  • E un linguaggio per professionisti
  • E stato usato anche per scrivere il Sistema
    operativo Unix
  • Si presta alla soluzione di problemi di vari tipi
  • Simili al C ci sono vari linguaggi di
    programmazione moderni, come il Java
  • Noto il C diventa facile capire programmi
    scritti in Java
  • FINE PREMESSA

6
Modalita di utilizzo
  • IL Sistema Operativo usato nel Laboratorio di
    Informatica è Windows XP ossia un S.O. che può
    controllare un insieme di computer collegati nel
    dominio di rete ds.units.it
  • Il S.O. sta su un Elaboratore Elettronico, il
    SERVER, e gestisce la rete condividendo con i
    computer il suo disco fisso, suddiviso in
    partizioni
  • Significato e tipo della rete del Laboratorio l
    utente usa uno dei computer (CLIENT) connessi al
    Server di cui puo leggere le informazioni
    registrate sul suo disco.
  • Per gli studenti dotati di psw, l archivio
    studenti è mappato su arc_stud on serving4
    \\serving4\arc_stud\

7
Laboratorio ed uso della rete
  • Quindi per accedere ai miei file dal laboratorio
    basta collegarsi a arc_stud on serving4 e dare
    un clic sulle cartelle carmin Inf2005 fond1
  • Se non ci fosse la mappatura ? clic su My
    Network place e Add network place si apre una
    finestra di guida ? 2 clic su Next e poi digitare
    \\serving4\arc_stud oppure arc_stud on serving4
    Next e Finish
  • I file che lo studente (utente ) vuole creare
    possono stare o sulla macchina locale, Client,
    (MyComputer), o sul disco condiviso del Server
  • ( La connessione al Server avviene tramite
    accesso con username e password chiesti all
    avvio del computer locale la loro mancanza
    inibisce l accesso al Server e quindi ai file.
    RICORDARSENE !!)

8
username e password
  • saranno comunicati ad ogni studente alla consegna
    del libretto chi non ce l ha, deve andare al
    Centro Calcolo da Massimiliano Viola (primo
    piano, Stanza 113) per farsi dare dei VALORI
    PROVVISORI del tipo
  • username temp
  • password un progressivo da definire
  • tutto in minuscolo perche Windows e
    sensitivo ossia conosce la differenza tra
    minusolo e maiuscolo !

9
I valori provvisori
  • abilitano l utente ad accedere al disco del
    Server ed a usare tutti i programmi residenti sul
    Client o Mycomputer
  • NON l abilitano a scrivere alcunche sul disco
    del Server per preservare lo stesso da
    cancellazioni e/o modifiche (SICUREZZA !)
  • per conservare i suoi programmi l utente puo
    usare un floppy personale e temporaneamente il
    disco locale del Client. Solo i valori definitivi
    abilitano a scrivere su partizioni del Server

10
fondamenti di informatica 1
  • Scopo del corso
  • fornire i principi, i concetti fondamentali, le
    nozioni e l impostazione per l utilizzo
    corretto dell Elaboratore Elettronico (E.E.)
    imparando le nozioni di base su

11
Primo corso di fondamenti di informaticaNozioni
base su
  • _hardware/software
  • _la struttura funzionale di E.E.
  • _i sistemi operativi
  • _la programmazione
  • _alcuni strumenti software
  • _il linguaggio C .per iniziare a fare
    programmi semplici, ma non banali.
  • Propedeuticita' conoscenza di base della
    matematica gt

12
perchè l informatica, che cos e??
  • Intanto NON E Calcolo numerico ne Geometria
    ossia non e una disciplina che insegna
    metodi numerici o geometrici
  • NON E Probabilita nè Statistica
  • NON E un gioco nel senso che non insegna a
    giocare con l' elaboratore e va presa sul serio
  • nè una materia di ausilio alle altre

13
Cosa e l informatica
  • ma ha sue precise finalita che si possono
    sintetizzare nel
  • razionalizzare il trattamento delle informazioni
    ... (e di E.E.)
  • Una possibile prima definizione
  • scienza e professione della gestione delle
    informazioni effettuata con le velocita e
    precisione proprie di E.E.

14
Bibliografia
  • Franco Crivellari Elementi di programmazione
    con il C, Franco Angeli
  • Cay Horstmann Fondamenti di C ,McGraw Hill
  • P. Bishop L Informatica, Gruppo Editoriale
    Jackson, 1992
  • R.A. MEO, M. Mezzalama ed altri Fondamenti di
    informatica, UTET.

15
Programma
  • Il corso comprende
  • a) una parte teorica,
  • b) una parte applicativa.
  • a) introduzione all' Elaboratore Elettronico
    (E.E.), concetti di base su Hardware Software,
    livelli di utilizzo e funzionamento di E.E.
  • rappresentazione e codifica delle informazioni
  • l' Hardware, struttura, componenti funzionali e
    fisiche di E.E. funzionamento ciclico della CPU
    e cenni sul suo Linguaggio
  • il Software ed il Sistema Operativo con suo
    utilizzo sui Personal Computer (riferimenti DOS,
    e WINDOWS)

16
(segue programma a)
  • software di base (editor, interpreti,
    compilatori e assemblatori)
  • prog. applicativi
  • la programmazione linguaggi e traduttori
    (Fortran, Pascal,
  • C, C) composizione e struttura di un
    programma, con
  • progetto e costruzione di un programma con
    metodoTOP-DOWN
  • fasi del processo di traduzione di un programma
  • calcolo booleano cenni.

17
(segue programma) b) il linguaggio C e C
  • b) Uso dell ambiente di sviluppo (della Borland
    per il C)
  • fasi di sviluppo di un programma progetto -
    stesura - compilazione - "linkaggio"-
    esecuzione esempi in Lab.
  • programmi monolitici e strutturati con uso di
  • funzioni come e' tipico nei programmi in C
    e C
  • concetto di funzione e di sottoprogramma in
    generale
  • librerie e file header del C e C esempi in
    Lab.
  • tipi di dati e di operatori le variabili, le
    espressioni,
  • la frase di assegnazione variabili locali e
    globali,
  • ambiente locale e globale

18
(segue programma) b) il linguaggio C e C
  • differenza tra indirizzo e contenuto di ogni
    informazione esempi in Lab.
  • elaborazione sequenziale, condizionale, ciclica
  • argomenti di sottoprogrammi e passaggio di
    parametri tra (sotto)-programmi (per indirizzo e
    valore) funzioni e procedure esempi in Lab.
  • argomenti del main informazioni strutturate come
    vettori, stringhe, matrici passaggio di vettori
    e matrici a sottoprogrammi
  • esempi in Lab. con costruzione di programmi di
    ordinamento.
  • registrazione/lettura su/da file sequenziali
    tipo testo cenni su strutture e loro uso esempi
    in Laboratorio.

19
Argomenti importanti da ritrovare in questi
appunti
  • Rappresentazione e codifica informazioni con le
    relative conversioni
  • Hardware Software dove per Hardware si intende
    struttura, componenti funzionali e fisiche di
    E.E. e fasi del funzionamento ciclico della CPU,
  • e per Software Sistema Operativo (con
    riferimenti WINDOWS e DOS) editor, interpreti,
    compilatori... e prog. applicativi
  • La programmazione struttura di un programma e
    sua costruzione a moduli in C con uso dei
    computer del Lab. per implementarlo e farlo
    funzionare
  • Argomenti di sottoprogrammi e passaggio di
    parametri tra (sotto)-programmi .

20
Metodo usato top - down
  • o a raffinamenti successivi che permette di
    presentare un problema o un in generale un
    oggetto in modo globale, scomponendolo
    ricorsivamente nelle sue componenti essenziali,
    piu semplici da capire e con specifici dettagli
    in evidenza.
  • Es. Programma del corso (parte a, parte b e dopo
    dettagli),
  • Elaboratore Elettronico E.E. (seguito) .

21
Introduzione a E.E.
  • E.E.
  • cosa è, a cosa serve, come è ..
  • Storia e Antenati .
  • Livelli di utilizzo

22
E.E. cosa e .. (es. Metodo top - down)
  • E.E. e una macchina elettronica, funzionante in
    modo automatico, capace di effettuare l
    elaborazione di informazioni.
  • Informazioni sono parole e/o numeri CODIFICATI
    nella forma piu adatta per l elaboratore che
    riconosce solo i 2 simboli 0 1.
  • Elaborazione di Informazioni lettura dall
    esterno, codifica in binario, memorizzazione su
    supporto elettronico e/o magnetico, recupero,
    modifica, visualizzazione all esterno di
    informazioni.

23
Hardware Software
  • E.E. e dunque fatto di circuiti elettronici
  • componenti fisici HARDWARE
  • . ma questi da soli sono soltanto una
  • accozzaglia di fili e ferramenta.
  • Solo con l aggiunta di componenti logiche
  • programmi SOFTWARE che ne
  • governano lhardware, E.E. diventa
  • capace di ELABORARE INFORMAZIONI.

24
E.E. Storia e Antenati
  • antenati 1642 macchina calcolatrice meccanica di
  • Blaise Pascal
  • 1671 macc. calc. meccanica di
    Gotfried
  • Von Leibniz
  • 1821 macc. calc. mecc. di Charles
  • Babbage e successiva
    Macchina
  • Analitica (? Aritmetic Unit
    ?
  • Calcolatore Meccanico ?)
  • 1850 nuova logica matematica
  • George Boole (algebra
    booleana)

25
E.E. Storia e Antenati
  • Antenati 1890 uso di schede perforate da
  • parte di Hollerith
  • 1936 macchina di Turing .
  • ..
  • 1946 ENIAC primo elaboratore
    costruito
  • all Univ. della
    Pennsylvania sul
  • modello di Von Newman
  • .

26
Elaborazione di Informazioni .
  • Informazioni parole-numeri CODIFICATI nella
    forma piu adatta per l elaborazione ... o
    anche successione di simboli di un dato alfabeto
    con proprio significato in un dato linguaggio.
  • Linguaggi naturale con alfabeto composto da
    lettere minuscole, maiuscole, cifre ... simboli
  • artificiale con alfabeto diverso ....
  • per es. alfabeto dell' elaboratore 0
    1
  • cifre binarie binary digit
    bit.

27
Bit
  • Perche?
  • Ogni elemento dei componenti fisici dell
    elaboratore puo avere solo 2 stati
    convenzionalmente indicati con 0 e 1 (per es. i
    valori di tensione elettrica in un punto possono
    essere basso 0, o alto 1).
  • Elaboratore elettronico i suoi circuiti
    elettronici, con tempi di commutazione dell'
    ordine del nano-secondo (10-9 sec. miliardesimo
    di sec. ()), sono dedicati a memorizzare,
    combinare, trasferire bit gt elaborare
    informazioni sequenze di bit.
  • () I moderni (2006) transistor e i gate logici
    dei moderni microchip si attivano in tempi
    dell'ordine di grandezza di qualche picosecondo
    (10-12 sec.)

28
Necessita di un Codice corrispondenza tra 2
alfabeti !
  • Il suo uso permette Codifica/Decodifica delle
    informazioni.
  • La Codifica/Decodifica delle informazioni sfrutta
    tutte le componenti!
  • Componenti dell elaboratore Hardware, Software
    ..... Firmware
  • Software ( merce soffice contrapposto ad
    Hardware ferramenta)
  • Firmware Software realizzato ad Hardware (per
    es. il loader caricatore)

29
Codifica/Decod. di informazioni
  • 1) di tipo numerico intero
  • 2) di tipo numerico non intero
    (floating-point)
  • 3) di tipo testo.

30
Codifica/Decod. di informazioni1) tipo numerico
intero
  • Numeri naturali, interi, interi relativi, reali
    relativi.
  • Il codice numerico usato negli elaboratori si
    basa sul Sistema numerico binario ossia a base
    2 con uso dei simboli 0 e 1. E un Sistema
    numerico posizionale ?
  • Sistema numerico posizionale scelto un numero
    come base, ogni valore numerico e esprimibile
    tramite potenze della base moltiplicate per
    opportuni coefficienti.
  • Es. in base dieci 94 9 . 101 4 . 100
  • Intero10 Si di.10i con di 0,1.9
    coefficienti
  • Es. 94 (Si0,1) 4 . 100 9 . 101

31
Sistema posizionale
  • In generale nel sistema a base r (rgt0)
  • la rappresentazione di N intero positivo e
  • N dn-1 dn-2 . . . . d1d0 ? sequenza di simboli
    di
  • con di ?0,1,2..r-1, n n.ro posizioni di
    rappresentazione ed il valore di N e
  • n-1
  • Valore N?i0 di . ri
  • Es. in base 2 1102 1.221.210.20 610 . e
    in base 1 ?!

32
Importanza base 2
  • Come già indicato (repetita juvant) l
    elaboratore elettronico per elaborare
    informazioni dispone di 2 soli simboli ossia di 0
    e 1
  • ogni informazione diventa una sequenza di 0 e 1
  • i valori numerici sono codificati in base 2
  • Esempi 01112 710 , 11112 1510
  • NOTA 3 bit sono necessari e sufficienti per
    rappresentare la massima cifra unitaria in base 8
    e 4 bit sono necessari e sufficienti per
    rappresentare la massima cifra unitaria in base
    16.

33
Interpretare sequenze di bit pacchetti byte
  • Base 10 utilizzabili 10 simboli
  • " 2 " 2 "
  • " 8 " 8 "
  • 16 " 16 "
    ......
  • Ogni valore numerico ha una rappresentazione in
    binario una sequenza di bit.
  • Importanza dei raggruppamenti pacchetti di bit
  • in base 8 una cifra (0-7) e rappresentabile con
    un pacchetto di 3 bit
  • " " 16 " " (0-F) " "
    " " " 4 "
  • Pacchetti importanti byte 8 bit
  • parola,
    voce, cella 2, 4, 8 ... byte
  • una sequenza di bit e interpretabile
    raggruppando i bit a pacchetti.

34
Conversioni tra basi regole di calcolo
  • Conversione di interi da base 2 a base 10 somma
    dei prodotti tra i bit e le corrispondenti
    potenze di 2
  • Es. 0001 0101 01112 282624222120
    34310 1.162 5.1617.160
  • Simboli in base 16 0,1..9,A,B,C,D,E,F
  • Rappresentazione e corrispondenza esadecimale
  • Binario Esad. Dec. Binario Esad.
    Dec.
  • 0000 0 0 0001
    1 1
  • . 1001
    9 9
  • 1010 A 10 1011
    B 11
  • 1100 C 12 1101
    D 13
  • 1110 E 14 1111
    F 15
  • FF16 1510 . 161 1510 . 160 25510 MAX
    INTERO IN UN BYTE 1 . 162 - 1 25610 - 1
    10016 - 1.

35
Conversioni di interi
  • Conversione da base 10 a base 2 successione di
    divisioni per 2 fino ad avere quoziente 0 si
    ottiene una sequenza di bit che si puo leggere
    raggruppando i bit a pacchetti di 4 ossia con
    cifre esadecimali.
  • Es. 8/24 e resto0
  • 4/22 0
  • 2/21 0
  • 1/20 1 ? 81010002 816

36
Algoritmo per divisioni N10-gtNr (Significato
algoritmo cfr. avanti)
  • Si basa sulla rappresentazione di N10 nella base
    r e sulla definizione euclidea di divisione
  • N10 dn-1rn-1 dn-2rn-2 . . . . d1r1 d0r0
  • r(dn-1rn-2 dn-2rn-3 . . . . d1) d0
  • rQ0 d0 (ove Q0 quoziente e d0 resto di
    N10/r !)
  • Si procede analogamente per Q0, Q1, Q2
  • ... a proposito di divisioni e moltiplicazioni
    in cosa consistono quelle per la base ??! Per es.
    come si fanno in binario divisioni/moltiplicaz.
    per 2?

37
Valori significativi
  • MAX INTERO IN 16 BIT FFFF16 65 53510
  • 216 -1 1 0000 0000 0000 00002 -1
  • 1111 1111 1111 11112
  • MAX INTERO RELATIVO IN 16 BIT 7FFF16 32767
    0111 1111 1111 11112
  • (IL BIT PIU A SINISTRA DEDICATO AL SEGNO
  • 0 NUM. POSitivo 1 NUM. NEGativo)
  • PER NUM. "REALI" CODIFICA IN "VIRGOLA MOBILE"
    (NOTAZIONE SCIENTIFICA avanti )

38
Interi negativi invece della notazione in modulo
e segno
  • si usa quella in complemento a 2
  • Una motivazione per il Circuito Sommatore e
    elementare fare la Differenza se si usa il
    complemento a 2 del
    sottraendo.
  • Complemento alla base e significato in base10
    es. 8-3 5 Sommando ad 8 il complemento alla
    base 10 di 3
  • 8(10-3)1 5 il risultato ha sempre 5 unita
  • 8-310 1 5

39
Complemento a 10
  • L uso del complemento alla base 10 di 310 nella
    sottrazione produce sempre il risultato con 5
    unita (ripetizione delle cifre vedere
    orologio decimale.)
  • Se in un un dispositivo (Registro) si
    considerano le sole unita il risultato della
    sottrazione si puo ottenere sommando a 8 il
    complemento a 10 di 3 che vale 7 ossia quanto
    manca a 10 da 3 ossia 10-3.

40
L Orologio decimale con 2 sensi antiorario
(-) orario ()
  • Altro esempio in Decimale
  • 810-710 810310
  • 1 unita
  • In Binario
  • 1-1 0
  • 1-1102 1 02
  • 1(102 -1) 1 02
  • Complemento alla base 210 (102 ) di 1
  • 9
  • 83
  • 7
  • 8
  • 6
  • 10I
  • 0
  • 1
  • 5
  • 4
  • 2
  • 3

41
In binario come si fa il complemento alla base 2
?
  • Si cambiano gli 0 in 1 , gli 1 in 0 e si somma 1
  • es in un registro fatto di soli 4 bit
    xxxx
  • complemento a 21000102gt(110111110)2 e
    quindi (2-2)10 00102 1110 (1) 0000
  • La cifra 1 esce a sinistra dal registro non
    conta
  • Il bit piu significativo del registro (a
    sinistra) se posto a 1 rappresenta una quantita
    lt 0,
  • L intervallo di rappresentazione in n bit ha una
    cifra in più a sinistra, come si vedrà in
    seguito
  • -2n-1, 2n-1-1 se n4 gt -8, 710

42
Perche si cambiano gli 0 in 1 e si somma 1 ?
  • Con un registro a 4 bit xxxx
  • MAX valore IN 4 BIT F16 1 1 1 12 1510
  • 1610-1 1
    0 0 0 02 -1
  • Per fare il complemento a 2 di un valore con 4
    bit occorre calcolare quanto dista quel valore da
  • 1 0 0 0 02 cio equivale a cambiare gli zeri in
    1 e sommare 1. VERIFICARE !!!!!
  • Per es. 31000112 1 00002 - 00112 11012

43
Intervallo di rappresentazione con 4 bit
  • gt-8, 710 10002 , 01112 Perche ? Con 4
    bit il n.o valori 1610 da 0 a15 ossia da 0000 a
    11112
  • Destinare il bit di sinistra al segno significa
    dividere per 2 l intervallo. Si hanno 8 valori ?
    0 ossia da 0 a 710 ? 0 (ed 8 valori lt 0 ).
    Risulta 710 01112. Facendo il complemento a 2
    di 01112 si ha
  • 10002110012 -710 che dista 1 da -810
  • -810 invece dista 0 da -810 ossia -81010002
  • Ecco quindi l intervallo di rappresentazione in
    n bit - 2n-1, 2n-1 -1 con la cifra in più a
    sinistra già indicata

44
Domande
  • Quale e il complemento a 2 di 1 ?
  • Quanto vale 11112 nella notazione del complemento
    a 2 ?
  • Overflow tracimazione quando si verifica? Per
    registri a 4 bit la somma 111121 produce
    10000 ossia zero con riporto di 1 in
    posizione esterna questo e un esempio di
    tracimazione.

45
Motivazione per il Floating-Point
  • Intervalli di rappresentazione limitati come si
    risolve il problema? Con l aumento del
    parallelismo dei registri di memoria e del
    circuito sommatore ?
  • non basta occorre un altro tipo di
    rappresentazione ossia, per esempio, la codifica
    floating-point normalizzata (vedi diapo
    seguente).

46
Codifica/Decod. di informazioni2) tipo numerico
non intero
  • Con un Sistema posizionale a base r (rgt0)
  • la rappresentazione di un numero positivo N con n
    cifre intere e m frazionarie e
  • N dn-1 dn-2 . . . d1d0 . d-1 d-2 . . . d-m
  • con di ?0,1,2..r-1
  • ed il suo valore e
  • n-1 m
  • Valore N?i0 di . ri ?i1 d-i. r -i

47
Codifica floating-point normalizzata per fissare
il
  • posto standard del punto decimale che si
    stabilisce stia a sinistra della prima cifra
    significativa. Se 9.08109 .1000 .10-18 .10-2
    0.908 . 101 908.0 . 10-2 Dove va il punto?
    In forma normalizzata va a sinistra di 908 ossia
    ...(-1)0 . 0.908 . 101 . In forma normalizzata
    si ha
  • N(-1)s . M . rE ossia e importante la tripla
    (S, M, E) con S ?0,1 ? Segno del numero, dato
    da (-1)S M suo valore assoluto con r-1? M
    lt1 E Esponente di r con segno. Nell esempio
    fatto S0 M (senza punto)908 E1 ? (0, 908,
    1)

48
CHIOSA
  • ... naturalmente e tutto in binario con 1 bit
    riservato a S, X bit riservati a M, e Y bit
    riservati a E (esponente della base 2)
    esprimibile in modulo e segno!!!! Esempio
    -1/8 ha S1, M0.125100.0012 0.1002 . 2-2
    cioe E -210 1 102. Se si riservano 4 bit per
    M, 3 bit per E ed 1 per S si ottiene 1 1000 1102
    con M senza punto!
  • Conversione da base 10 a base 2 per valori
    frazionari successione di moltiplicazioni per 2
    basandosi sulla rappresentazione dei numeri e
    sulla definizione euclidea di moltiplicazione.

49
Moltiplicazioni perche ?
  • Valore N?i0 di . ri ?i1 d-i. r -i
  • Ni Nf
  • Nf d-1. r -1 d-2. r -2 d-3. r -3 .
  • r -1 . (d-1 d-2. r -1 d-3. r -2 .)
  • Nf . r d-1 d-2. r -1 d-3. r -2
  • la prima moltiplicazione isola la prima cifra d-1
    le moltiplicazioni successive isoleranno le altre
    cifre.

50
nota
  • . ma se il valore numerico e una potenza
    negativa di 2 o una combinazione di potenze
    negative di 2 la conversione in base 2 diventa
    elementare ! S M E Es.
    0.5101/210 0.12 (0, 1000, 0 00)
  • -0.7510(1/21/4)10-0.112 (1, 1100, 0 00)
  • 0.125101/8 0.0012 (0, 1000, 1 10)
  • VERIFICARE COL METODO DELLE MOLTIPLICAZIONI
    SUCCESSIVE !

51
Intervalli di Rappresentazione in binario
  • IMPORTANTE!
  • _Campo Finito di Numeri limiti superiore e
    inferiore finiti se un' operazione produce un
    risultato oltre questi limiti ERRORE ! Overflow
    !
  • _Precisione Limitata dei Valori Numerici in ogni
    tipo di rappresentazione esiste un numero finito
    di bit fissato per la rappresentazione di un
    valore numerico. (Per es. p non puo essere
    rappresentato con tutte le sue cifre.)
    Arrotondamenti o troncamenti non producono
    risultati esatti ma approssimati nei limiti
    della precisione ottenibile con il numero di bit
    fissato.

52
Aritmetica
  • 1) notazione Fixed-Point
  • intervallo di rappresentazione limitato (per es.
    con 16 bit -32768 lt---gt 32767)
  • operazioni effettuate direttamente dalle
    componenti apposite di E.E. Se pero si tratta di
    moltiplicazioni per 2
  • basta uno schift a sinistra ! (a destra per la
    divisione !!)
  • 2) notazione Floating-Point Normalizzata(S,M,E)
  • intervallo di rappresentazione limitato (per es.
    con 32 bit di cui 1 bit per S, 8 bit per E, 23
    bit per M
  • (-1038-10-38 ) 0 (10-38 1038)
  • operazioni effettuate da altre componenti di E.E.

53
Codifica/Decod. di informazioni3) informazione
di tipo testo
  • Testo Successione di caratteri
  • Viene usato il Codice ASCII (American Standard
    Code for Information Interchange) che associa ad
    ogni carattere un byte contenente una
    configurazione dei suoi 8 bit alla quale
    corrisponde un valore numerico n
  • 0 ? n ? 25510 ossia
  • 0000 0000 ? n ? 1111 11112 ossia 00 ? n ? FF16
  • Byte sequenza di 8 bit con un byte si hanno 256
    possibili combinazioni diverse (28 2 elementi
    diversi combinati a ottetti)

54
Codice ASCII qualche esempio
  • Primi 32 caratteri con valori decimali da 00 a
    31 caratteri di controllo per esempio BEL
  • da 3210 a 6410 si hanno caratteri speciali come
    la spazio, il , le parentesi (), le cifre da 0 a
    9 e la _at_
  • da 6510 a 9010 lettere maiuscole A-Z
  • poi ancora caratteri speciali come le parent.
  • da 9710 a 12210 lettere minuscole a-z
  • poi ancora caratteri speciali e simboli grafici.

55
Codifiche conclusioni
  • Informazione gt successione di caratteri
    alfanumerici
  • gt successione di bit
  • gt interpretabile a livelli
    Hard/Soft.

  • Importanza interpretazione numerico/alfabetica
    es. interpret. num. Valore intero 4616
    7010
  • 0100 0110
  • interpret. alfab. Lettera maiuscola F
  • Operazioni sulle informazioni
  • 1) " elementari (livello hard. ling.
    macchina)
  • 2) " complesse ( " soft. )

56
Istruzioni relative e note
  • 1) es. Somma numeri interi
  • Confronta byte .........
    2) es. Ordina una sequenza di parole
  • Visualizza un immagine, un suono
  • NOTA 1 qualsiasi tipo di informazione (immagini,
    suoni...) e rappresentabile con sequenze di bit
    (rappresentazione unitaria!) e quindi gestibile
    usando appropriatamente E.E.
  • NOTA 2 Ogni operazione complessa e realizzata
    con un insieme di apposite istruzioni che
    utilizzano operazioni elementari ... algoritmo
    !

57
Nozione di algoritmo
  • insieme di regole non ambigue tese ad elaborare
    informazioni,
  • eseguibili automaticamente, (per esempio da uno
    schiavo che sappia contare senza sbagli e sia
    dotato di memoria ove annotare le informazioni
    che deve elaborare ed i risultati via via
    ottenuti) e
  • a partire dai dati producano i risultati in un
    tempo finito.
  • Programma algoritmo scritto per l' elaboratore.
  • Importante prima algoritmo, dopo programma !

58
( CURIOSITA
  • il nome deriva da Al-Kuwarizmi, matematico
    Persiano, il quale nell 800 d.C. scrisse un
    trattato di artimetica con la descrizione dei
    passi necessari per effettuare le operazioni
    aritmetiche. Il trattato iniziava con la frase
    Al-Kuwarizmi dice
  • Il trattato fu tradotto in latino ed in latino la
    frase iniziale divento Algoritmo dicit )

59
Che cosa e l' informatica
  • La creazione di algoritmi che combinano anche in
    modo complesso sequenze di operazioni semplici
    (blocchi) ...
  • puo sintetizzare meglio
  • che cosa e l' informatica.

60
Livelli di utilizzo di E.E.
  • Livello utente
  • E.E. scatole cinesi sistema a cipolla col
    primo strato di tipo software
    amichevole che ad un dato INPUT risponde con un
    certo OUTPUT
  • obiettivo utente acquisire familiarita col
    sistema.
  • Livello professionista
  • conoscenza precisa e completa di ogni
    componente funzionale di E.E.
  • Studenti del corso di Informatica entrambi
    livelli, ma per un uso piu immediato solo uno
    sguardo su hardware e SUBITO visione software.

61
Da Babage ad oggi ??
  • La struttura funzionale di un Personal Computer
    (ossia di un E.E. standard, non di tipo
    particolare) e sempre quella ideata prima da
    Charles Babbage intorno al 1820 e poi realizzata
    da Von Neumann negli anni 40.
  • La tecnologia elettronica e cambiata, e
    cresciuta la potenzialita ... ma la filosofia
    del funzionamento e rimasta inalterata.
  • Segue un elementare sintesi semplificata del
    comportamento di E.E.

62
Il via alle varie unita componenti e scandito
  • periodicamente da un orologio (timer).
  • Si sveglia l Unita Centrale di elaborazione
    (C.P.U.), collegata alle altre unita ed in
    particolare alla Memoria Centrale (C.M. o RAM)
    che interroga ed alla quale chiede informazioni.
  • Queste passano da un unita all altra come
    evidenziato nello schema di massima successivo,
    dove le frecce grandi rappresentano i BUS ossia
    l insieme di cavi che permettono il passaggio di
    informazioni e di segnali di controllo e le
    frecce piccole solo di questi ultimi.

63
Introduzione a E.E. Struttura funzionale
  • Temporizzatore
  • Unita Centrale di Controllo Unita
    Aritmetico - Logica
  • CPU
  • Registri Flag
  • Unita di controllo di I/O
  • Memoria Centrale
  • Memorie di massa
  • Periferiche

64
Flusso di informazioni
  • Nello schema della precedente diapositiva si puo
    immaginare in prima approssimazione un flusso di
    informazioni che dall unita di input attiva
    (per es. la tastiera) fluisce fino ai registri
    della CPU (Central Processing Unit) e quindi
    nella RAM (Random Access Memory).
  • Da qui le informazioni possono tornare nei
    registri della CPU per essere modificate e/o
    probabilmente visualizzate insieme ai risultati
    fluendo quindi alla periferica scelta (per es. il
    video).

65
Componenti funzionali il clock (timer)
  • Le operazioni svolte dalle componenti di E.E.
    devono essere sincronizzate per esempio per
    ottenere la somma di 2 valori questi devono
    essere prima posti in registri della CPU e poi
    sommati. Per questo scopo occorrono un
    temporizzatore e un coordinatore. (Come nelle
    triremi romane lo schiavista dava il tempo.)
  • Il segnale che cadenza le operazioni e quello
    del clock che genera ed invia a tutte le
    componenti un segnale periodico con periodo T X
    nano-secondi, frequenza f 1/T.

66
Valori di T e di f ?
  • Per es. T 40nsec, f 25MHz (Mega HertzMilioni
    di battiti o impulsi al secondo)
  • Per eseguire un istruzione occorrono alcuni
    impulsi di orologio se questo ha f100MHz
    verranno eseguite mediamente circa quaranta
    milioni di operazioni/sec.
  • Oggi i clock hanno frequenza anche superiori a
    500MHz e periodi ? 2nsec ...

67
CPU ( microprocessore) sue Componenti funzionali
  • La Central Processing Unit (C.P.U.) e la parte
    fondamentale di E.E. Le sue componenti sono i
    Registri, i Flag (indicatori di stato), le
    Unita di Controllo e Aritmetico-Logica (ALU),
    tutte connesse e immerse nella stesso chip
    (nello schema un rettangolo in grassetto...
    ragnetto)
  • La CPU coordina e controlla tramite la Central
    Control Unit tutte le operazioni svolte al suo
    interno e in generale da ogni unita di E.E. Per
    esempio la Central Control Unit invia a tutte le
    componenti segnali di controllo perche il
    trasferimento dei bit (per es. dalla Memoria in
    registri) avvenga senza perdite.

68
Componenti funzionali C.M. Central Memory
  • Memoria Centrale RAM (Random Access Memory)
  • Modello di von Neumann
  • _ memoria di tipo lineare ossia successione di
    locazioni (pacchetti di bit, celle, byte, parole)
    numerate e indirizzabili progressivamente a
    partire da 0 !
  • NOTARE DIVERSITA tra INDIRIZZO di una locazione
    e CONTENUTO di una locazione !!
  • Dimensione della memoria numero di locazioni
    indirizzabili (per un Personal n.o di byte).

69
Funzione della Memoria Centrale e colleghe
  • ricordare dati, risultati intermedi e definitivi,
    programmi .... ma finche l' elaboratore resta
    acceso! Caratteristica RAM e volatile!
    Tecnologia circuiti integrati a larga
    scala(LSI) aspetto sequenza di centopiedi.
  • Altro tipo ROM (Read Only Memory memoria di
    SOLA LETTURA cablata in fabbrica e NON sempre
    riprogrammabile)
  • Memoria Periferica (o di massa) di LETTURA /
    SCRITTURA dischi, nastri (bobine) ...
    dispositivi magnetici. Caratteristica memoria
    permanente!

70
RAM E CPU
  • RAM indirizzo di ogni sua locazione gt in
    registri della CPU ( es. registro P Puntatore,
    registro I.C. Istruction Counter .)
  • RAM Contenuto di ogni locazione gt in altri
    registri della CPU (es. A Accumulatore ...)
  • RAM scandibile e rintracciabile col Registro P
    Memoria ltgt Registro P
  • Unita Centrale Unita Elaborativa CPU
    (MicroProcessore per Personal Computer) (per es.
    MC68020, 386SX, Pentium.....)

71
Registro P di 4 bit gt 16 locazioni (byte)
indirizzabili
  • CPU Ragnetto
  • Central Memory
  • 0000
  • 0001
  • REG. P.
  • Registro P. Pointer o i.C.Istruction Counter
  • 1111

72
C.M. indirizzabile, ma fino a ? Indirizzi e
byte
  • Con 4 bit si ottengono 24 16 possibili
    indirizzi
  • Con 8 bit si ottengono 28 256 possibili
    indiriz.
  • " 9 " " " 29 512 "
    "
  • " 10 " " " 2101024 poss. ind.
    1K (Kilo byte)
  • " 11 " " " 211 2 K "
    "
  • " 12 " " " 212 4 K "
    "
  • " 13 " " " 213 8 K "
    "
  • " 14 " " " 214 16 K "
    "
  • " 15 " " " 215 32 K "
    "
  • " 16 " " " 216 64 K "
    "
  • . . . . . . .
  • " 20 " " " 2201024 K " "
    1M (Mega)
  • . . . . . . .
  • " 30 " " " 230? 1000000 K " "
    1G (Giga)
  • . . . . . . .

73
Conseguenza
  • Per indirizzare fino a 1024 celle (byte)
    occorrono 10 bit ossia un REGISTRO di 10 bit
  • per indirizzare fino a 64K byte occorrono 16 bit
    ossia un REGISTRO di 2 byte
  • per indirizzare fino a 1024K byte occorrono 20
    bit ossia un REGISTRO di 20 bit
  • Volendo dimensioni elevate di memoria occorrono
    REGISTRI sempre piu larghi. Dove stanno ? Nella
    CPU.

74
Ancora CPU
  • La CPU oltre alla Unita di Controllo contiene
    REGISTRI, alcuni dei quali hanno la funzione di
    memoria locale molto veloce, e la ALU che accede
    ad essi ed opera sui dati li trasferiti dalla
    C.M. Le operazioni che ALU sa fare (usando per
    es. il registro A Accumulatore) sono le 4 dell
    aritmetica elementare e le operazioni logiche
    (confronti per es.).
  • Quanti bit hanno questi REGISTRI ?
  • Dipende dal modello di CPU da 16 a 64 bit.

75
E.E. ? Hard. Soft.
  • Per l
    utente
  • E.E. solo hardware gt unfriendly
  • E.E. con Soft. di base gt - unfriendly
  • E.E. con Soft. di base e
  • Soft. applicativo gt friendly
  • Il Soft. di base ha 2 strati
  • _ il Sistema Operativo (S. O. che si puo pensare
    come una membrana filtro attorno all
    hardware)
  • _ i programmi di utilita.
  • I prg. Applicativi formano un altro strato.

76
Sistema Operativo
  • e un insieme di programmi specializzato nel
    governare il funzionamento di E.E. rendendo la
    gestione delle sue risorse trasparente per l
    utilizzatore
  • mette cosi a disposizione dell utilizzatore una
    macchina virtuale non esistente, ma piu potente
    e amichevole dell hardware in quanto risponde ai
    comandi-utente
  • il processo di virtualizzazione si propaga ad
    ogni strato aggiuntivo di software.

77
Esigenza dell utente
  • avere a disposizione una macchina con cui poter
    lavorare e interagire indipendente- mente dal suo
    hardware, comunicando con uno strumento
    amichevole, ma efficiente ossia che utilizzi l
    hardware (tutte le unita di E.E.) al meglio.
  • Il S.O. risponde a questa esigenza dando all
    utente (o programma strato di software piu
    esterno) l equivalente di una macchina estesa o
    macchina virtuale (S.Tanenbaum).

78
Sistema Operativo aspetti
  • (ricordare il processo di virtualizzazione si
    propaga ad ogni strato di software !)
  • QUINDI
  • funzione 1 di S.O. GESTORE OTTIMALE di tutte
    le componenti di un Elaboratore (Sistema
    Complesso) ossia CPU, memorie, interfacce di
    rete, qualunque dispositivo
  • funzione 2 di S.O. Interfaccia amichevole

79
Schema di Sistema Operativo
  • Anche il S.O. puo essere visto come un sistema a
    scatole cinesi (o a cipolla) il seguente schema
    e un alternativa.
  • APPLICATIVI
  • Soft.base prg.util.
  • shell
  • S.O.
  • System_file/Syst.Service
  • kernel
  • Hardware

80
Sistema Operativo componenti essenziali
  • shell conchiglia, guscio che interfaccia l
    utente e sostanzialmente un interprete di
    comandi che puo essere di tipo grafico
  • System_file/Service contiene il gestore delle
    informazioni-utente poste nei file (FILE cfr.
    parte 2) e dei Servizi per es. per le Reti
  • kernel e il nucleo del sistema operativo.
    Interfaccia l hardware nel senso che esegue le
    funzioni di base come smistare il controllo della
    C.P.U. tra i programmi residenti in memoria (cio
    e fatto dallo Scheduler, sua componente) e
    sincronizzare la CPU con la memoria e/o altre
    unita (cfr.oltre)

81
S.O. piu diffusi
  • per personal computer
  • DOS Disk Operating System basato su comandi e
    messaggi il suo zoccolo duro e composto da 3
    programmi MSDOS.SYS, IO.SYS COMMAND.COM
  • Windows
  • Apple_top
  • dotati di interfaccia grafica con oggetti
    rappresentati da icone e manipolabili col mouse
  • per ogni tipo di elaboratore Unix (ATT)
  • What you see is what you get !

82
Software di base
  • Tipici esempi di programmi di utilita
  • editor per comporre testi semplici
  • interpreti per interpretare ed eseguire un
    comando
  • compilatori e tradurre nel
    linguaggio
  • macchina le frasi
    di un programma
  • assemblatori analoghi ai Compilatori, ma il
    linguaggio, in cui è scritto il programma
    origine, e simile al linguaggio macchina ..
  • Strumenti Software utilizzabili per costruire
    programmi eseguibili (vedere oltre)

83
Programmi applicativi
  • Tipico esempio Word Processor o elaboratore di
    testi -gt fa apparire E.E. come una potente e
    veloce macchina da scrivere (che non ce !
    Virtualizzazione !) Altri esempi Power_Point
    che sto usando (!) e
  • Data Base Management System o Sistema di Gestione
    di Basi di Dati. (Gestione lettura e
    registrazione, aggiornamento, visualizzazione.)
    Si tratta di un Sistema (insieme di programmi)
    per gestire archivi di informazioni strutturate
    (per es. in forma di tabelle) e manipolabili
    singolarmente o in modo incrociato, integrato.

84
R.D.B.M.S. o S.G.B.D.R
  • Questi sono i Sistemi di Gestione di Basi di Dati
    Relazionali (S.G.B.D.R. o in inglese Relational
    Data Base Management System R.D.B.M.S.) .
  • Relazionali perche gli archivi appaiono all
    utente come tabelle o Relation ossia Relazioni
    (intese in senso matematico di associazioni tra
    dati, messe in evidenza dalle tabelle).
  • Sulle tabelle di dati si lavora con operazioni
    che seguono regole precise gt Algebra delle
    relazioni.

85
. Friendly ?
  • L algebra non e amichevole, R.D.B.M.S. spesso
    lo sono. I Relational D.B.M.S. spesso presentano
    un interfaccia grafica per facilitare il modo di
    operare. Esempio sistema M.S.ACCESS e databse
    db11.mdb
  • SEMPRE pero occorre sapere COSA si vuole fare,
    COSA si vuole ottenere ossia aver chiare le
    specifiche di progetto. COME fare puo essere
    indicato da un uso appropriato dell HELP del
    Sistema in linea.

86
Appendice1 esempi di conversioni
  • 1610 X16 ?
  • 1710 X16 1
  • In un registro di 4 bit 710 01112
  • - 710 10012
    espresso come il complemento a 2 di 01112
  • Sottraendo 1 da -710 risulta
  • -710 -1 10012 -00012 ma -00012 11112 (nella
    notazione del complemento a 2) quindi
  • -710 -1 10012 11112 10002 ossia
    distanza 000 da - 810

87
Appendice1 ancora esempi
  • Avendo un registro a 8 bit si ha
  • 5 000001012 col primo bit dedicato al segno
  • -5 111110112 col primo bit sempre dedicato al
    segno che automaticamente risulta 1 facendo il
    complemento a 2 di 000001012 Notare nei numeri
    negativi il primo bit è sempre 1, ma spesso lo
    sono anche i successivi !!!
  • Quindi trovando un valore del tipo
    11111111111110102 si deve pensare subito ad un
    valore espresso in complemento a 2 in 16 bit.
  • Il suo valore? si ottiene facendone il
    complemento a 2 che è 000000000000010121
    00000000000001102 610 e quindi il valore
    richiesto è -610
  • Quale è la forma normalizzata binaria Floating
    Point con 1 bit per S, 3 bit per E , 4 bit per M
    del valore X1/4 in base 10? S0, M10002,
    E1012

88
Nuove domande senza risposte
  • cosa rappresenta la seguente sequenza di valori
    assoluti
  • 10 11 12 13 14 20 22 101 1010
    ?
  • Scrivere in italiano una frase ambigua
  • Cosè un istruzione?
  • Differenza tra CM e Memoria di massa
  • Descrivere l architettura di Von Neumann
  • Una ricetta per cucinare gli spaghetti é un
    algoritmo?

89

Ancora da RICORDARE
  • la codifica F.P. normalizzata fa riferimento
    alla base 2 e quindi il valore dell esponente
    riguarda la base 2. Col metodo delle
    moltiplicazioni successive ogni moltiplicazione
    per la base isola una nuova cifra nella nuova
    base. Per es. ? 3.1410 avra 112 come parte
    intera e 00100011112 come parte decimale.
    Normalizzando ? ?.1100100011112 E102 con S0,
    M1100100011112, E0102 .

90
Appendice 2 illustrazione del database
single-user db11.mdb
  • che è un esempio di base di dati (D.B.) inteso
    come archivio personale fatto da C.J.Date per
    memorizzare i vini nella sua cantina (diapositiva
    seguente).
  • (D.B. multi-users servono invece per
    rappresentare le informazioni che interessano un
    insieme di utenti appartenenti per esempio ad un
    Ente.)
  • db11.mdb differisce dalla diapositiva seguente in
    quanto i dati sono distribuiti in 2 file 2
    tabelle unibili in un singolo file cell tramite
    loperazione di join effettuata nella query (
    interrogazione) Cellar.

91
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com