La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fondamenti informatica1 Nettuno parte 11 fondamenti di informatica parte 1 appunti per Nettuno a.a. 2006-08 di anna maria carminelli gregori

Presentazioni simili


Presentazione sul tema: "Fondamenti informatica1 Nettuno parte 11 fondamenti di informatica parte 1 appunti per Nettuno a.a. 2006-08 di anna maria carminelli gregori"— Transcript della presentazione:

1 fondamenti informatica1 Nettuno parte 11 fondamenti di informatica parte 1 appunti per Nettuno a.a di anna maria carminelli gregori introduzione

2 fondamenti informatica1 Nettuno parte 12 PREMESSA  Utilizzo degli appunti composti da 4 file che si ottengono collegandosi alla Home Page dell' Università di Trieste, clic su Facoltà, clic su Ingegneria, clic sull' indirizzo in alto Si apre la pagina della Facoltà e verso la fine si trova: archivio studenti (arc_stud)http://www.ing.univ.trieste.it/  2 clic e si apre la finestra con la cartella carminelli, 2 click e si apre la finestra con (tra le altre) la cartella Nettuno2006 con i miei appunti ed i programmi relativi in C e C++ zIl primo file e’ FOND1: é 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

3 fondamenti informatica1 Nettuno parte 13 Livelli di utilizzo di E.E. zLivello utente: zE.E. = scatole cinesi = sistema a cipolla col primo strato di tipo software amichevole che ad un dato INPUT risponde con un certo OUTPUT; zobiettivo utente: acquisire familiarita’ col sistema. zLivello professionista: zconoscenza precisa e completa di ogni componente funzionale di E.E. zStudenti Informatica: entrambi livelli, ma per un uso piu’ immediato solo uno sguardo su hardware e SUBITO visione software.

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

5 fondamenti informatica1 Nettuno parte 15 Perché il C++ ? zE’ un linguaggio per professionisti che zderiva dal C che é stato usato anche per scrivere il Sistema operativo Unix zSi presta alla soluzione di problemi di vari tipi zSimili al C++ ci sono vari linguaggi di programmazione moderni, come il Java zNoto il C++ diventa facile capire programmi scritti in Java  FINE PREMESSA

6 fondamenti informatica1 Nettuno parte 16 Modalita’ di utilizzo zIL 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 z 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 zSignificato 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. zPer gli studenti dotati di psw, l’ archivio studenti è “mappato” su: arc_stud on serving4 =\\serving4\arc_stud\

7 fondamenti informatica1 Nettuno parte 17 Laboratorio ed uso della rete zQuindi per accedere ai miei file dal laboratorio basta collegarsi a arc_stud on serving4 e dare un clic sulle cartelle: carmin Nettuno fond1 … zSe 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; zI file che lo studente (=utente ) vuole creare possono stare o sulla macchina locale, Client, (MyComputer), o sul disco condiviso del Server… z( 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 8 username e password zsono personali di ogni studente di Nettuno perché “Non possiamo dare piu' account di gruppo, ma il presente zUsername=teledid zPassword=nettuno2006 z lo lasciamo attivo sicuramente per oggi ( ). e forse nelle due settimane successive. POI gli studenti devono procurarsi il loro account personale (c'e' sia sulla lettera di prima immatricolazione, altrimenti lo puo' rilasciare la Sforzina)”. Questi sono valori provvisori (tutto in minuscolo perche’ Windows e’ “sensitivo” ossia conosce la differenza tra minusolo e maiuscolo !)

9 fondamenti informatica1 Nettuno parte 19 I valori provvisori zabilitano l’ utente ad accedere al disco del Server (importante partizione E:) ed a usare tutti i programmi residenti sul Client o “Mycomputer” zNON l’ abilitano a scrivere alcunche’ sul disco del Server per preservare lo stesso da cancellazioni e/o modifiche (SICUREZZA !); zper conservare i suoi programmi l’ utente puo’ usare un floppy personale e temporaneamente il disco C:\temp del Client. Solo i valori definitivi abilitano a scrivere su H: e X:

10 fondamenti informatica1 Nettuno parte 110 fondamenti di informatica 1 zScopo degli Appunti: zrichiamare: 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 fondamenti informatica1 Nettuno parte 111 Primo corso di: fondamenti di informatica=Nozioni base su: z_hardware/software; z_la struttura funzionale di E.E.; z_i sistemi operativi; z_la programmazione; z_alcuni strumenti software; z_il linguaggio C, C++ ….per iniziare a fare programmi semplici, ma... tosti! zPropedeuticita': conoscenza di base della matematica =>

12 fondamenti informatica1 Nettuno parte 112 … perchè l’ informatica, che cos’ e’? zIntanto NON E’: Calcolo numerico ne’ Geometria ossia non e’ una disciplina che insegna metodi numerici o geometrici; zNON E’ Probabilita’ nè Statistica nè..... zun gioco nel senso che non insegna a giocare con l' elaboratore e va presa sul serio; znè una materia di ausilio alle altre …

13 fondamenti informatica1 Nettuno parte 113 Cosa e’ l’ informatica z…ma ha sue precise finalita’ che si possono sintetizzare nel: zrazionalizzare il trattamento delle informazioni... (e di E.E.) zUna possibile prima definizione: zscienza e professione della gestione delle informazioni effettuata con le velocita’ e precisione proprie di E.E.

14 fondamenti informatica1 Nettuno parte 114 Bibliografia per questo corso zFranco Crivellari: “Elementi di programmazione con il C++”, Franco Angeli; zA.Bellini, A.Guidi: “Guida al linguaggio C”, McGraw Hill; zP. Bishop: “L’ Informatica”, Gruppo Editoriale Jackson, 1992; zR.A. MEO, M. Mezzalama ed altri: “Fondamenti di informatica”, UTET.

15 fondamenti informatica1 Nettuno parte 115 Il Programma di Nettuno ha za) una parte teorica, zb) una parte applicativa. za): introduzione all' Elaboratore Elettronico (E.E.), concetti di base su Hardware & Software, livelli di utilizzo e funzionamento di E.E.; z rappresentazione e codifica delle informazioni; zl' Hardware, struttura, componenti funzionali e fisiche di E.E.; funzionamento ciclico della CPU e cenni sul suo Linguaggio; zil Software ed il Sistema Operativo

16 fondamenti informatica1 Nettuno parte 116 ( segue programma: a) zutilizzo del S.O. sui Personal Computer (riferimenti DOS, e WINDOWS); z software di base (editor, interpreti, compilatori e assemblatori); z prog. applicativi; zla programmazione: linguaggi e traduttori (Fortran, Pascal, C, C++); composizione e struttura di un programma, con progetto e costruzione di un programma con metodoTOP- DOWN; z fasi del processo di traduzione di un programma; z calcolo booleano: fondamenti, tabelle di verita’, circuiti logici corrispondenti, combinatori e sequenziali.

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

18 fondamenti informatica1 Nettuno parte 118 ( segue programma:) b) il linguaggio C e C++: zdifferenza tra indirizzo e contenuto di ogni informazione; esempi in Lab.; zelaborazione sequenziale, condizionale, ciclica; zargomenti di sottoprogrammi e passaggio di parametri tra (sotto)-programmi (per indirizzo e valore); funzioni e procedure; esempi in Lab. zargomenti del main; informazioni strutturate come vettori, stringhe, matrici; passaggio di vettori e matrici a sottoprogrammi; zesempi in Lab. con costruzione di programmi di ordinamento. z

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

20 fondamenti informatica1 Nettuno parte 120 Metodo usato: top - down z… 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. zEs. Programma del corso (precedente), z Elaboratore Elettronico (seguito), z …….

21 fondamenti informatica1 Nettuno parte 121 zE.E. zcosa è, a cosa serve, come è ….. zStoria e Antenati …….(curiosità) zLivelli di utilizzo z Introduzione a E.E.

22 fondamenti informatica1 Nettuno parte 122 E.E. cosa e’ ….. (es. Metodo top - down) zE.E. e’ una macchina elettronica, funzionante in modo automatico, capace di effettuare l’ elaborazione di informazioni. zInformazioni: sono parole e/o numeri CODIFICATI nella forma piu’ adatta per l’ elaborazione. zElaborazione di Informazioni: lettura dall’ esterno, memorizzazione su supporto elettronico e/o magnetico, recupero, modifica, visualizzazione all’ esterno di informazioni.

23 fondamenti informatica1 Nettuno parte 123 Hardware & Software zE.E. e’ dunque fatto di circuiti elettronici = z componenti fisici = HARDWARE z …. ma questi da soli sono soltanto una z accozzaglia di fili e ferramenta. z Solo con l’ aggiunta di componenti logiche z = programmi = SOFTWARE che ne z governano l’hardware, E.E. diventa z capace di ELABORARE INFORMAZIONI.

24 fondamenti informatica1 Nettuno parte 124 E.E. Storia e Antenati (curiosità) zantenati: 1642 macchina calcolatrice meccanica di z Blaise Pascal; z 1671 macc. calc. meccanica di Gotfried z Von Leibniz; z 1821 macc. calc. mecc. di Charles z Babbage e successiva Macchina z Analitica (? Aritmetic Unit ? z Calcolatore Meccanico ?); z 1850 nuova logica matematica z George Boole (algebra booleana);

25 fondamenti informatica1 Nettuno parte 125 E.E. Storia e Antenati (curiosità) zAntenati: 1890 uso di schede perforate da z parte di Hollerith; z 1936 macchina di Turing: …. z ….. z 1946 ENIAC primo elaboratore costruito z all’ Univ. della Pennsylvania sul z modello di Von Newman ; z ……….

26 fondamenti informatica1 Nettuno parte 126 Elaborazione di Informazioni zInformazioni: 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. zLinguaggi: naturale con alfabeto composto da: lettere minuscole, maiuscole, cifre... simboli; zartificiale con alfabeto diverso.... zper es. alfabeto dell' elaboratore: 0 1 z cifre binarie = binary digit = bit. z….

27 fondamenti informatica1 Nettuno parte 127 Bit: perche’? zOgni 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). zElaboratore elettronico: i suoi circuiti elettronici, con tempi di commutazione dell' ordine del nano- secondo (10- 9 sec.), sono dedicati a: memorizzare, combinare, trasferire bit = =>elaborare informazioni = sequenze di bit. z

28 fondamenti informatica1 Nettuno parte 128 zIl suo uso permette Codifica/Decodifica delle informazioni. zLa Codifica/Decodifica delle informazioni sfrutta tutte le componenti! zComponenti dell elaboratore: Hardware, Software..... Firmware zSoftware ( = merce soffice contrapposto ad Hardware = ferramenta) zFirmware = Software realizzato ad Hardware (per es. il loader = caricatore) Necessita’ di un Codice: corrispondenza tra 2 alfabeti !

29 fondamenti informatica1 Nettuno parte 129 C od ifica/Decod. di informazioni: 1) tipo numerico intero zNumeri: naturali, interi, interi relativi, reali relativi. zIl 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  z  Sistema numerico posizionale: scelto un numero come base, ogni valore numerico e’ esprimibile tramite potenze della base moltiplicate per opportuni coefficienti. zEs. in base dieci: 94 =  Intero 10 =   i  d i. 10 i con d i =0,1….9 coefficienti

30 fondamenti informatica1 Nettuno parte 130 Sistema posizionale zIn generale nel sistema a base r (r>0) zla rappresentazione di N intero positivo e’: zN = d n-1 d n d 1 d 0  sequenza di simboli d i zcon: d i  {0,1,2…..r-1}, n=n. ro posizioni disponibili per la rappresentazione ed il valore di N e’: z n-1 zValore N =  i=0 d i. r i (notare i  0 per N intero) zEs. in base 2: = = 6 10 … z… e in base 1 ?! z

31 fondamenti informatica1 Nettuno parte 131 Interpretare sequenze di bit: pacchetti & byte zBase 10: utilizzabili 10 simboli; z" 2: " 2 " z" 8: " 8 " z” 16: " 16 " zOgni valore numerico ha una rappresentazione in binario: una sequenza di bit. zImportanza dei raggruppamenti = pacchetti di bit: zin base 8 una cifra (0-7) e’ rappresentabile con un pacchetto di 3 bit; z" " 16 " " (0-F) " " " " ” " 4 " zPacchetti importanti: byte = 8 bit; z parola = 2, 4, 8... byte; zuna sequenza di bit e’ interpretabile raggruppando i bit a pacchetti.

32 fondamenti informatica1 Nettuno parte 132 Conversioni tra basi: regole di calcolo zConversione di interi da base 2 a base 10: somma dei prodotti tra i bit e le corrispondenti potenze di 2; zEs = = = zSimboli in base 16: 0,1..9,A,B,C,D,E,F zRappresentazione e corrispondenza esadecimale: zBinario Esad. Dec. Binario Esad. Dec. z z.… … … z 1010 A B 11 z 1100 C D 13 z 1110 E F 15 zFF 16 = = = MAX INTERO IN UN BYTE = = =

33 fondamenti informatica1 Nettuno parte 133 Conversioni di interi zConversione 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. zEs. 8/2=4 e resto=0 z 4/2=2 “ “ =0 z 2/2=1 “ “ =0 z 1/2=0 “ “ =1  8 10 = =8 16

34 fondamenti informatica1 Nettuno parte 134 Algoritmo per divisioni N 10 ->N r (Significato “algoritmo” cfr. avanti) zSi basa sulla rappresentazione di N 10 nella base r e sulla definizione euclidea di divisione: zN 10 = d n-1 r n-1 + d n-2 r n d 1 r 1 +d 0 r 0 = z = r(d n-1 r n-2 + d n-2 r n d 1 ) + d 0 = z = rQ 0 + d 0 (e d 0 e’ il resto di N 10 /r = Iª cifra) zSi procede analogamente per Q 0, Q 1, Q 2 … z... a proposito di divisioni e moltiplicazioni: in cosa consistono quelle per la base ??! Per es. come si fanno in binario divisioni/moltiplicaz. per 2?

35 fondamenti informatica1 Nettuno parte 135 Valori significativi zMAX INTERO IN 16 BIT: FFFF 16 = z= = = z= zMAX INTERO RELATIVO IN 16 BIT: 7FFF 16 = = z(IL BIT PIU` A SINISTRA DEDICATO AL SEGNO: z 0 = NUM. POSitivo 1 = NUM. NEGativo) zPER NUM. "REALI": CODIFICA IN "VIRGOLA MOBILE" (NOTAZIONE SCIENTIFICA +avanti )

36 fondamenti informatica1 Nettuno parte 136 Interi negativi: invece della notazione in modulo e segno zsi usa quella in complemento a 2 zUna motivazione: per il Circuito Sommatore e’ elementare fare la Differenza se si usa il complemento a 2 del sottraendo. zComplemento alla base e significato in base 10 : es. 8-3 = 5 Sommando ad 8 il complemento alla base 10 di 3 z8+(10-3)=1 5 il risultato ha sempre 5 unita’ z = 1 5

37 fondamenti informatica1 Nettuno parte 137 Complemento a 10 zL’ uso del complemento alla base 10 di 3 10 nella sottrazione produce sempre il risultato con 5 unita’ (ripetizione delle cifre: vedere “orologio” decimale.) zAvendo un dispositivo (Registro) contenente 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.

38 38 L’ “Orologio” decimale con 2 sensi: antiorario (-) orario (+) zAltro esempio in Decimale: z = = z=1 unita’ zIn Binario: z1-1 = 0 z = z1+( ) = z Complemento alla base 2 10 (=10 2 ) di 1             8+3

39 fondamenti informatica1 Nettuno parte 139 In binario come si fa il complemento alla base 2 : ? zSi cambiano gli 0 in 1, gli 1 in 0 e si somma 1 zes: in un registro fatto di soli 4 bit = |x|x|x|x| zcomplemento a 2 10 = =>(1101+1=1110) 2 e quindi: (2-2) 10 = = (1) 0000 zLa cifra 1 esce a sinistra dal registro: non conta zIl bit piu’ significativo del registro (a sinistra) se posto a 1 rappresenta una quantita’ < 0, zintervallo di rappresentazione in n bit: z[-2 n-1, +2 n-1 -1] se n=4 => [-8, +7] 10

40 fondamenti informatica1 Nettuno parte 140 Perche’ si cambiano gli 0 in 1 e si somma 1 ? zCon un registro a 4 bit: |x|x|x|x| zMAX valore IN 4 BIT: F 16 = = = z = = zPer fare il complemento a 2 di un valore con 4 bit occorre calcolare quanto dista quel valore da z : cio’ equivale a cambiare gli zeri in 1 e sommare 1. VERIFICARE !!!!! zPer es = ; =

41 fondamenti informatica1 Nettuno parte 141 Intervallo di rappresentazione con 4 bit = z=>[-8, +7] 10 = [1000 2, ] Perche’ ? Con 4 bit il n. o valori = da 0 a15 ossia da 0000 a zDestinare il bit di sinistra al segno significa dividere per 2 l’ intervallo. Si hanno 8 valori  0 ossia da 0 a 7 10  0 (ed 8 valori < 0 ). Risulta = Facendo il complemento a 2 di si ha: z = = che dista 1 da z-8 10 invece dista 0 da ossia: = zEcco quindi: intervallo di rappresentazione in n bit: [-2 n-1, +2 n-1 -1]

42 fondamenti informatica1 Nettuno parte 142 Domande zQuale e’ il complemento a 2 di 1 ? zQuanto vale nella notazione del complemento a 2 ? zOverflow = tracimazione: quando si verifica? Per registri a 4 bit la somma: produce: 1|0|0|0|0| ossia zero con riporto di 1 in posizione esterna: questo e’ un esempio di tracimazione.

43 fondamenti informatica1 Nettuno parte 143 Motivazione per il Floating- Point zIntervalli di rappresentazione limitati: come si risolve il problema? Con l’ aumento del parallelismo dei registri di memoria e del circuito sommatore ? znon basta: occorre un altro tipo di rappresentazione ossia, per esempio, la codifica floating-point normalizzata (vedi diapo seguente).

44 fondamenti informatica1 Nettuno parte 144 C od ifica/Decod. di informazioni: 2) tipo numerico non intero zCon un Sistema posizionale a base r (r>0) zla rappresentazione di un numero positivo N con n cifre intere e m frazionarie e’: zN = d n-1 d n-2... d 1 d 0. d - 1 d d - m zcon d i  {0,1,2…..r-1} zed il suo valore e’: z n-1 m zValore N =  i=0 d i. r i +  i=1 d -i. r - i

45 45 Codifica floating-point normalizzata per fissare il zposto standard del punto decimale che si stabilisce stia a sinistra della prima cifra significativa. Se = = = =… Dove va il punto? In forma normalizzata a sinistra di 908 ossia...=(-1) In forma normalizzata si ha: zN=(-1) s. M. r E ossia e’ importante la tripla (S, E, M) con S  {0,1}  Segno del numero, dato da (-1) S ; M = suo valore assoluto con r -1  M <1; E= Esponente di r con segno. Nell’ esempio fatto S=0; M (senza punto) =908; E=+1  (0, +1, 908)

46 46 CHIOSA z... 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 sia in modulo e segno sia col complemento a 2 per valori <0. Esempio: -1/4 ha S=1, M= = = cioe’ E= -1 = 101 2, in modulo e segno. Se si riservano 4 bit per M, 3 bit per E ed 1 per S si ottiene: , con M senza punto! zConversione 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.

47 fondamenti informatica1 Nettuno parte 147 Moltiplicazioni: perche’ ? z n-1 m Valore N =  i=0 d i. r i +  i=1 d -i. r - i = z Ni + Nf zNf = d -1. r d -2. r d -3. r …. = z= r - 1. ( d -1 + d -2. r d -3. r ….) zNf. r = d -1 + d -2. r d -3. r … zla prima moltiplicazione isola la prima cifra d -1, le moltiplicazioni successive isoleranno le altre cifre.

48 fondamenti informatica1 Nettuno parte 148 nota z…. 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 ! zEs =1/2 10 = z =(1/2+1/4) 10 = zVERIFICARE COL METODO DELLE MOLTIPLICAZIONI SUCCESSIVE !

49 fondamenti informatica1 Nettuno parte 149 Intervalli di Rappresentazione in binario zIMPORTANTE! z_Campo Finito di Numeri: limiti superiore e inferiore finiti: se un' operazione produce un risultato oltre questi limiti: ERRORE !  _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.  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.

50 fondamenti informatica1 Nettuno parte 150 Aritmetica z1) notazione Fixed-Point: zintervallo di rappresentazione limitato (per es. con 16 bit: ) zoperazioni effettuate direttamente dalle componenti apposite di E.E. Se pero’ si tratta di moltiplicazioni per 2 zbasta uno schift a sinistra ! (a destra per la divisione !!) z2) notazione Floating-Point Normalizzata(S, E, M): zintervallo di rappresentazione limitato (per es. con 32 bit di cui 1 bit per S, 8 bit per E, 23 bit per M: z(+/-) a cui va aggiunto lo 0; zoperazioni effettuate da altre componenti di E.E.

51 fondamenti informatica1 Nettuno parte 151 C od ifica/Decod. di informazioni: 3) informazione di tipo testo zTesto = Successione di caratteri zViene 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 z0  n  ossia z  n  ossia 00  n  FF 16 zByte: sequenza di 8 bit; con un byte si hanno 256 possibili combinazioni diverse (2 8 = 2 elementi diversi combinati a ottetti)

52 fondamenti informatica1 Nettuno parte 152 Codice ASCII: qualche esempio zPrimi 32 caratteri con valori decimali da 00 a 31: caratteri di controllo per esempio ^G=BEL; zda a si hanno caratteri speciali come la spazio, il $, le parentesi (), le cifre da 0 a 9 e ; zda a lettere maiuscole A-Z; zpoi ancora caratteri speciali come le parent. {}; zda a lettere minuscole a-z; zpoi ancora caratteri speciali e simboli grafici.

53 fondamenti informatica1 Nettuno parte 153 Codifiche: conclusioni zInformazione => successione di caratteri alfanumerici z => successione di bit z => interpretabile a livelli Hard/Soft. zImportanza interpretazione numerico/alfabetica: es. Valore intero = = z { z Lettera maiuscola F zOperazioni sulle informazioni: z1) " elementari (livello hard. ling. macchina) z2) " complesse ( " soft. )

54 fondamenti informatica1 Nettuno parte 154 Istruzioni relative e note z1) es. Somma numeri interi; z Confronta byte; ) es. Ordina una sequenza di parole; z Visualizza un’ immagine, un suono… zNOTA 1: qualsiasi tipo di informazione (immagini, suoni...) e’ rappresentabile con sequenze di bit (rappresentazione unitaria!) e quindi gestibile usando appropriatamente E.E. zNOTA 2: Ogni operazione complessa e’ realizzata con un insieme di apposite istruzioni che utilizzano operazioni elementari:... algoritmo !

55 fondamenti informatica1 Nettuno parte 155 Nozione di algoritmo: zinsieme di regole non ambigue tese ad elaborare informazioni, zeseguibili 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 za partire dai dati producano i risultati in un tempo finito. zProgramma: algoritmo scritto per l' elaboratore. zImportante: prima algoritmo, dopo programma !

56 fondamenti informatica1 Nettuno parte 156 ( CURIOSITA’: zil 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: … ” zIl trattato fu tradotto in latino ed in latino la frase iniziale divento’: “ Algoritmo dicit: … ” )

57 fondamenti informatica1 Nettuno parte 157 Che cosa e’ l' informatica … zLa creazione di algoritmi che combinano anche in modo complesso sequenze di operazioni semplici (blocchi)... zpuo’ sintetizzare meglio zche cosa e’ l' informatica.

58 fondamenti informatica1 Nettuno parte 158 Livelli di utilizzo di E.E. zLivello utente: zE.E. = scatole cinesi = sistema a cipolla col primo strato di tipo software amichevole che ad un dato INPUT risponde con un certo OUTPUT; zobiettivo utente: acquisire familiarita’ col sistema. zLivello professionista: zconoscenza precisa e completa di ogni componente funzionale di E.E. zStudenti Informatica: entrambi livelli, ma per un uso piu’ immediato solo uno sguardo su hardware e SUBITO visione software.

59 fondamenti informatica1 Nettuno parte 159 Da Babage ad oggi ?? zLa 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. zLa tecnologia elettronica e’ cambiata, e’ cresciuta la potenzialita’... ma la “filosofia” del funzionamento e’ rimasta inalterata. zSegue un’ elementare sintesi semplificata del comportamento di E.E.

60 fondamenti informatica1 Nettuno parte 160 Il via alle varie unita’ componenti e’ scandito zperiodicamente da un orologio. z “Si sveglia” l’ Unita’ Centrale di elaborazione (C.P.U.), collegata alle altre unita’ ed in particolare alla Memoria Centrale (C.M.) che interroga ed alla quale chiede informazioni. zQueste 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.

61 fondamenti informatica1 Nettuno parte 161 Introduzione a E.E. Struttura funzionale: zTemporizzatore zUnita’ Centrale di Controllo Unita’ Aritmetico - Logica zUnita’ di controllo di I/O zMemoria Centrale zPeriferiche zMemorie di massa z CPU z Registri Flag

62 fondamenti informatica1 Nettuno parte 162 Componenti funzionali: il clock zLe 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.) zIl 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.

63 fondamenti informatica1 Nettuno parte 163 Valori di T e di f ? zPer es. T= 40nsec, f= 25MHz (Mega Hertz=Milioni di battiti o impulsi al secondo) zPer eseguire un’ istruzione occorrono alcuni impulsi di orologio: se questo ha f=100MHz verranno eseguite mediamente circa quaranta milioni di operazioni/sec. zOggi si hanno clock con frequenza di 1000MHz e periodo di 1nsec...

64 fondamenti informatica1 Nettuno parte 164 Componenti funzionali: CPU zLa 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”) zLa CPU effettua, 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.

65 fondamenti informatica1 Nettuno parte 165 Componenti funzionali: C.M. = Central Memory zMemoria Centrale: RAM (Random Access Memory) zModello di von Neumann: z_ memoria di tipo lineare ossia: successione di locazioni (pacchetti di bit, celle, byte, parole) numerate e indirizzabili sequenzialmente ! zNOTARE DIVERSITA’ tra: INDIRIZZO di una locazione e CONTENUTO di una locazione !! zDimensione della memoria: numero di locazioni indirizzabili (per un Personal n. o di byte).

66 fondamenti informatica1 Nettuno parte 166 Funzione della Memoria Centrale e … “colleghe”: zricordare 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”. zAltro tipo: ROM (Read Only Memory = memoria di SOLA LETTURA cablata permanentemente) zMemoria Periferica (o di massa) di LETTURA / SCRITTURA: dischi, nastri (bobine)... dispositivi magnetici. Caratteristica: memoria permanente!

67 fondamenti informatica1 Nettuno parte 167 RAM E CPU zRAM: indirizzo di ogni sua locazione => in registri della CPU ( es. registro P = Puntatore, registro I.C.= Istruction Counter ….) zRAM: Contenuto di ogni locazione => in altri registri della CPU (es. A = Accumulatore...) zRAM: scandibile e rintracciabile col Registro P; Memoria  Registro P zUnita’ Centrale = Unita’ Elaborativa = CPU = (MicroProcessore per Personal Computer) (per es. MC68020, 386SX, Pentium.....)

68 fondamenti informatica1 Nettuno parte 168 Registro P di 4 bit => 16 byte indirizzabili z CPU = “Ragnetto” z REG. P. z Central Memory z 0000 z 0001 z 1111 z Registro P.= Pointer o i.C.=Istruction Counter

69 fondamenti informatica1 Nettuno parte 169 C.M. indirizzabile, ma fino a ?… Indirizzi e byte zCon 4 bit si ottengono 2 4 = 16 possibili indirizzi; zCon 8 bit si ottengono 2 8 = 256 possibili indiriz. z" 9 " " " 2 9 = 512 " " z" 10 " " " 2 10 =1024 poss. ind.= 1K (Kilo byte) z" 11 " " " 2 11 = 2 K " " z" 12 " " " 2 12 = 4 K " " z" 13 " " " 2 13 = 8 K " " z" 14 " " " 2 14 = 16 K " " z" 15 " " " 2 15 = 32 K " " z" 16 " " " 2 16 = 64 K " " z z" 20 " " " 2 20 =1024 K " " = 1M (Mega) z z" 30 " " " 2 30  K " " = 1G (Giga) z

70 fondamenti informatica1 Nettuno parte 170 Conseguenza: zPer indirizzare fino a 1024 celle (byte) occorrono 10 bit ossia un REGISTRO di 10 bit; zper indirizzare fino a 64K byte occorrono 16 bit ossia un REGISTRO di 2 byte; zper indirizzare fino a 1024K byte occorrono 20 bit ossia un REGISTRO di 20 bit … zVolendo dimensioni elevate di memoria occorrono REGISTRI sempre piu’ larghi. Dove stanno ? Nella CPU.

71 fondamenti informatica1 Nettuno parte 171 Ancora CPU zLa 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.). zQuanti bit hanno questi REGISTRI ? zDipende dal modello di CPU: da 16 a 64 bit.

72 fondamenti informatica1 Nettuno parte 172 Flusso di informazioni zTornando allo schema della diapositiva 58 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 e quindi nella RAM. zDa 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).

73 fondamenti informatica1 Nettuno parte 173 E.E.  Hard. + Soft. z Per l’ utente: zE.E. solo hardware => unfriendly zE.E. con Soft. di base => - unfriendly zE.E. con Soft. di base e z Soft. applicativo => friendly zIl Soft. di base ha 2 strati: z_ il Sistema Operativo (S. O. che si puo’ pensare come una “membrana filtro” attorno all’ hardware); z_ i programmi di utilita’. zI prg. Applicativi formano un altro strato.

74 fondamenti informatica1 Nettuno parte 174 Sistema Operativo: ze’ un insieme di programmi specializzato nel governare il funzionamento di E.E. rendendo la gestione delle sue risorse trasparente per l’ utilizzatore; zmette cosi’ a disposizione dell’ utilizzatore una macchina virtuale non esistente, ma piu’ potente e amichevole dell’ hardware in quanto risponde ai comandi-utente; zil processo di virtualizzazione si propaga ad ogni strato aggiuntivo di software.

75 fondamenti informatica1 Nettuno parte 175 Esigenza dell’ utente: zavere 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”. zIl 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).

76 fondamenti informatica1 Nettuno parte 176 Sistema Operativo: aspetti z(ricordare: il processo di virtualizzazione si propaga ad ogni strato di software !) zQUINDI: zfunzione 1 di S.O. = GESTORE OTTIMALE di tutte le componenti di un Elaboratore (=Sistema Complesso) ossia CPU, memorie, interfacce di rete, … qualunque dispositivo; zfunzione 2 di S.O. = Interfaccia amichevole

77 fondamenti informatica1 Nettuno parte 177 Schema di Sistema Operativo zAnche il S.O. puo’ essere visto come un sistema a scatole cinesi (o a cipolla): il seguente schema e’ un’ alternativa. z System_file/Syst.Service zHardware zkernel zshell zSoft.base: prg.util. zS.O. z APPLICATIVI

78 78 Sistema Operativo: componenti essenziali zshell: conchiglia, guscio che interfaccia l’ utente; e’ sostanzialmente un interprete di comandi che puo’ essere di tipo grafico; zSystem_file/Service: contiene il gestore delle informazioni-utente poste nei file (FILE cfr. parte 2) e dei Servizi per es. per le Reti; zkernel: 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)

79 fondamenti informatica1 Nettuno parte 179 S.O. piu’ diffusi zper personal computer: zDOS = Disk Operating System basato su comandi e messaggi: il suo “zoccolo duro” e’ composto da 3 programmi MSDOS.SYS, IO.SYS COMMAND.COM; zWindows zApple_top zdotati di interfaccia grafica con oggetti rappresentati da icone e manipolabili col mouse; zper ogni tipo di elaboratore: Unix (AT&T) zWhat you see is what you get !

80 fondamenti informatica1 Nettuno parte 180 Software di base zTipici esempi di programmi di utilita’: zeditor: per comporre testi semplici; zinterpreti: per interpretare ed eseguire un comando; zcompilatori: “ “ e tradurre nel linguaggio macchina le frasi di un programma; zassemblatori: analoghi ai Compilatori, ma il linguaggio artificiale, in cui è scritto il programma origine e’ elementare ….. zStrumenti Software indispensabili per costruire programmi eseguibili (vedere +oltre)

81 fondamenti informatica1 Nettuno parte 181 Programmi applicativi zTipico esempio: Word Processor o elaboratore di testi -> fa apparire E.E. come una potente e veloce macchina da scrivere (che non c’e’ ! 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.

82 fondamenti informatica1 Nettuno parte 182 Appendice1: esempi di conversioni z16 10 = X 16 ? z17 10 = X zIn un registro di 4 bit = z“ “ “ “ “ “ = espresso come il complemento a 2 di zSottraendo 1 da risulta: z = ma = (nella notazione del complemento a 2) quindi: = = ossia distanza 000 da

83 83 Appendice1: ancora esempi zAvendo un registro a 8 bit si ha: z+5 = col primo bit dedicato al segno; z-5 = col primo bit sempre dedicato al segno che automaticamente risulta 1 facendo il complemento a 2 di zQuindi trovando un valore del tipo si deve pensare subito ad un valore espresso in complemento a 2 in 16 bit. zIl suo valore? si ottiene facendone il complemento a 2 che è: = = 6 10 e quindi il valore richiesto è zQuale è la forma normalizzata binaria Floating Point con 1 bit per S, 3 bit per E, 4 bit per M del valore X=1/4 in base 10? zS=0, M=1000 2, E=110 2


Scaricare ppt "Fondamenti informatica1 Nettuno parte 11 fondamenti di informatica parte 1 appunti per Nettuno a.a. 2006-08 di anna maria carminelli gregori"

Presentazioni simili


Annunci Google