Appunti dalle lezioni di Calcolo Numerico

Appunti Dalle Lezioni Di Calcolo Numerico-Free PDF

  • Date:17 Oct 2020
  • Views:1
  • Downloads:0
  • Pages:130
  • Size:809.93 KB

Share Pdf : Appunti Dalle Lezioni Di Calcolo Numerico

Download and Preview : Appunti Dalle Lezioni Di Calcolo Numerico


Report CopyRight/DMCA Form For : Appunti Dalle Lezioni Di Calcolo Numerico


Transcription:

Figura 1 1 Descrizione schematica delle componenti di un computer dal punto di. vista del Calcolo Numerico,1 Come sono fatti gli elaboratori. 1 1 Le componenti principali di un calcolatore elettronico. Un calcolatore elettronico e formato da un grande numero di componenti integrate. tra di loro in maniera assai complessa Come sono fatte e come interagiscono le. diverse componenti pur essendo una materia importante non e per rilevante ai fini. del funzionamento numerico dei sistemi di calcolo Per cercare di semplificazione si. sceglie qui di dare una descrizione assai sommaria e superficiale delle componenti. principali di importanza nelle applicazioni numeriche Dala Figura 1 1 che mostra. questa descrizione schematica possiamo individuare tre componenti fondamenta. li la Memoria il Processore e l unita Input Output o I O Tali componenti sono. collegate da frecce che indicano lo scambio di informazioni sotto forma di Dati e. Istruzioni Segnali di controllo Indirizzi,1 1 1 Il processore. Il processore o CPU Central Processing Unit e il cuore del computer ovvero la. componente che controlla tutte le altre unita e che esegue i calcoli numerici la. memoria e il dispositivo che contiene tutti i dati e le istruzioni il sistema di I O. serve per poter colloquiare con la macchina Bisogna pensare alla CPU come un. sistema che esegue ciclicamente tre passi 1 prende dati e istruzioni dalla memoria. fase di f etch 2 li interpreta secondo un linguaggio prestabilito fase di decode 3. esegue istruzioni sui dati presi fase di execute Questo insieme di passi e ripetuto a. intervalli regolari scanditi da una componente chiamata il clock Fig 1 2 sinistra. fetch decode execute cella 4, Figura 1 2 Organizzazione sequenziale del ciclo di una CPU sinistra e della. memoria di un computer destra, Nei computer moderni il clock lavora a diversi GHz per cui i tre passi vengono. ripetuti diversi milioni di volte al secondo 1 GHz 1 106 cicli secondo ogni. volta pero con dati e istruzioni che possono essere diversi. 1 1 2 La memoria, La memoria serve come dice la parola per memorizzare e rendere disponibile in.
qualsiasi istante dati e istruzioni1 Essa puo essere pensata come un insieme di celle. di dimensione costante che servono per memorizzare un singolo dato o istruzione. Ogni cella e indirizzabile cioe e individuata univocamente e il suo contenuto puo. essere preso fetched e usato nella CPU oppure puo essere variato per immagazzinare. un nuovo dato La rappresentazione in Figura 1 2 a destra puo essere usata per. immaginare come la memoria possa essere organizzata logicamente anche se la realta. elettronica e diversa, L unita di misura dell informazione e il cosidetto bit che e definito come la piu piccola. parte di informazione che viene usato per formare il dato Un bit puo essere pensato. Il primo computer moderno viene generalmente identificato dal fatto che appunto sia i dati. che il programma erano memorizzati internamente Tale idea originale di John von Neumann 7. scaturite dalle idee teoriche di Alan Turing 6 sono alla base dell architettura di calcolatori attuali. chiamata architettura di von Neumann, come una cifra binaria il cui utilizzo concreto sara visto piu avanti che puo assumere. i valori binari zero o uno 0 1 Per questioni tecnologiche i bit si raggruppano a 8 a. 8 formando cos il byte 8 bit Le unita di misura successive cercano di seguire lo. standard del Sistema Internazionale sostituendo pero il fattore 1000 con 1024 cioe la. potenza di 2 piu vicina a 1000 In questo modo 1 kB 1 kilobyte 1024 byte 1 MB. 1 megabyte 1024 kB 1 GB 1 gigabyte 1024 MB 1 TB 1 Terabyte 1024. GB eccetera Bisogna stare attenti perche per questioni commerciali alcune unita. di misura sono in bit e non in bytes Ad esempio la velocita di trasmissione dei dati. attraverso una rete si misura in Mbit 1 8 MBytes Bisogna quindi utilizzare le. parole bit e bytes per evitare ambiguita, Allo stesso modo in alcuni settori ad esempio costruttori di hard disk usano i. prefissi kilo mega etc come multipli di 1000 e non di 1024 Questo e il motivo. per cui un disco fisso da 100 GB, Una cella di memoria e anche chiamata un word o parola ed e formata nei computer. moderni da 64 bit numerati da destra a sinistra da 0 a 63 Computer meno recenti. hanno word a 32 bit ma nella realta si tende a dimenticare che ci sono moltissimi. computer di tipo diverso in circolazione Basti pensare ai telefoni cellulari che altro. non sono che dei computer con processori relativamente potenti che possono avere. word anche a 32 o addiritura 16 bit Per non parlare poi di applicazioni specializzate. quali data loggers eccetera Per quello che ci riguarda pero noi faremo sempre. riferimento a computer che utilizzano word a 64 bit. Ovviamente ci manca ora un meccanismo con cui memorizzare le informazioni al. l interno di ogni singola cella Tale meccanismo verra discusso parzialmente nel. paragrafo successivo dedicato alla rappresentazione interna dei numeri. 1 1 3 Unita di Input Output, Ai fini della nostra comprensione dell architettura di un computer le unita di In.
put Output non sono altro che le strutture hardware necessarie per interloquire con. la macchina ad esempio lo schermo e la tastiera Nella realta informatica si intende. per I O anche tutte le apparecchiatura per memorizzare in maniera permanente le. informazioni e qundi i cosidetti dischi fissi i supporti magnetici i supporti otti. ci CDROM e DVDROM eccetera Noi pero adottiamo una visione leggermente. diversa piu aderente al dettato di von Neumann che verra spiegata nel paragrafo. successivo a quello della rappresentazione dei numeri all elaboratora Pertanto con. tinuiamo a pensare alle unita I O come quelle unita che ci permettono di colloquiare. con il computer,1 2 Le numerazioni nondecimali, Prima di passare alla rappresentazione interna dei numeri all elaboratore bisogna. introdurre la possibilita di rappresentare numeri con basi diverse In tutta generalita. un numero decimale a puo essere rappresentato con la seguente notazione. a an N n an 1 N n 1 a2 N 2 a1 N a0 a 1 N 1 a r N r 1 1. con aj un numero intero tale che 0 aj N 1 e con n 0 e r 0 quest ultimo. possibilmente infinito numero con infinite cifre decimali Il numero intero N 1 e. detta la base della rappresentazione Si puo dimostrare che tale rappresentazione e. univoca e puo rappresentare teoricamente qualsiasi numero Ci basti pero fare un. esempio per convincerci della ragionevolezza della frase precedente. Esempio 1 1 Il numero a 1234 5678 si puo scrivere come. a 1 103 2 102 3 10 4 5 10 1 6 10 2 7 10 3 8 10 4,dove si e utilizzata la 1 1 con N 10. E intuitibile dall esempio precedente l unicita della rappresentazione 1 1 come e. immediato pensare che noi siamo abituati a usare e a far di conto con i numeri. decimali cioe espressi tramite la base N 10 E pero altrettanto intuibile come. sia possibile usare una base diversa da quella decimale senza difficolta teoriche 2. Da quanto abbiamo visto in precedenza i calcolatori usano il bit binario questioni. puramente tecnologiche per cui dobbiamo abituarci ad usare la base N 2 per. poter apprezzare meglio le proprieta numeriche di un elaboratore elettronico Nel. caso N 2 i coefficienti del polinomio 1 1 assumono i valori 0 1 e quindi e ovvio. pensare di usare la base binaria per la rappresentazione dei numeri all elaboratore. Vediamo ora con qualche esempio come e possibile passare da una base ad un altra. Dapprima notiamo di nuovo che noi siamo abituati a fare i conti in base N 10. passare dalla base binaria alla base decimale risulta facile. Esempio 1 2 Si trasformi il numero 10011010010 1 2 in base decimale Usiamo. la 1 1 per ottenere,210 27 26 24 22 2 1 1024 128 64 16 2 0 5 1234 5. Ci sarebbero ovviamente difficolta importanti per noi a utilizzare una base diversa dalla deci. male alla quale siamo stati abitutati fin da bambini Qualcuno sostiene che il motivo della facilita. dell uso della base 10 deriva dal fatto cha abbiamo 10 dita. Invece e piu complicato passare dalla base 10 alla base 2 Vogliamo quindi ricavare. una procedura per passare dalla base N alla base M 6 N e cioe. a N an N n an 1 N n 1 a2 N 2 a1 N a0,a 1 N 1 a r N r. a M bp M p bp 1 M p 1 b2 M 2 b1 M b0,b 1 M 1 b s M s.
Si noti innanzitutto che se a N e esprimibile in base N con un numero finito di cifre. non e detto che sia cos per lo stesso numero a M espresso in base M Riscriviamo. ora a N separando la parte intera dalla parte frazionaria 3. aint an N n an 1 N n 1 a2 N 2 a1 N a0 1 2,af raz a 1 N 1 a r N r 1 3. Concentriamoci dapprima su aint pensando di lavorare con un aritmetica in base n. Dividendo aint per il numero M otteniamo,aint M an N n an 1 N n 1 a2 N 2 a1 N a0 M. an M N n an 1 M N n 1 a2 M N 2 a1 M N a0 M,a0n N n a0n 1 N n 1 a02 N 2 a01 N a00 mod a0 M. dove mod a0 M indica la funzione che restituisce il resto della divisione intera. tra a0 e M che ovviamente soddisfa alla proprieta 0 mod a0 M M E. quindi chiaro che tale cifra e una volta trasformata in binario la cifra b0 che cer. chiamo Continuando a dividere per M si ottengono le altre cifre b1 b2 bp in. modo analogo Si noti che generalmente p 6 n, Al contrario per la parte frazionaria si vede immediatamente che le cifre b 1 b 2. si possono ottenere moltiplicando successivamente per M la parte frazionaria. Esempio 1 3 Calcolare la rappresentazione in base 2 del numero a 1234 5. Dividiamo la parte intera dalla parte frazionaria Per la parte intera costruia. Si noti che useremo sempre il punto decimale per separare la parte intera da quella frazio. naria in accordo con lo standard internazionale Non useremo invece mai la maldestra abitudine. di adattarsi alle convenzioni nazionali, mo la seguente tabella ottenuta dividendo ogni volta il numero di sinistra per 2.
parte intera,1234 2 617 0,617 2 308 1,308 2 154 0,154 2 77 0. 77 2 38 1 Parte frazionaria,38 2 19 0 0 5 2 1 0 1, Il numero in base due viene costruito leggendo le cifre binarie dal basso per la parte. intera e dall alto per la parte frazionaria ottenendo. a 2 10011010010 1, Esempio 1 4 trasformiamo il numero a 0 1 da base 10 a base 2. 0 1 2 0 2 0,0 2 2 0 4 0,0 4 2 0 8 0,0 8 2 1 6 1,0 6 2 1 2 1. 0 2 2 0 4 0,0 4 2 0 8 0,0 8 2 1 6 1,0 6 2 1 2 1, Il numero a 2 e dunque un numero periodico pari a a 2 0 0001100 Questo e un.
esempio di un numero che in base 10 0 1 e caratterizzato da un numero finito di. cifre mentre in base 2 ha infinite cifre, 1 3 La rappresentazione interna dei numeri all elaboratore. Questo capitolo e preso dal manuale della SUN Microsystems intitolato Numerical. Computation Guide 5 che costituisce una utile e chiara guida di riferimento per. chi volesse approfondire l argomento, Come abbiamo visto in precedenza un word puo essere a 32 o 64 bits con i 32. bit ormai in uso solo per compatibilita retroattiva Talche e necessario predisporre. s n INTEGER,s e m REAL,31 30 23 22 0,s e m REAL 8,63 62 52 51 0. Figura 1 3 Struttura della rappresentazione dei numeri interi INTEGER e reali. REAL 32 bit 4 byte o REAL 8 64 bit 8 byte secondo lo standard IEEE 754. un modello di rappresentazione dei numeri interi e reali che usufruisca al meglio. della lunghezza di un word Ogni costruttore implementa i propri modelli e non. esistono standards universali Tra tutte le possibilita praticamente usate lo standard. IEEE 754 1 e considerato da tutte le case e adottato quantomeno su richiesta. dell utente tramite opportuni flags del compilatore Per questo motivo descriviamo. qui velocemente questo modello ricordando che eventuali variazioni e loro effetti sulla. precisione numerica dell elaboratore in uso vanno verificati di volta in volta. 1 3 1 IEEE 754 numeri interi, Un numero intero e generalmente rappresentato da b 32 o b 64 bits4 Il numero e. quindi una sequenza di bits cos fatta Il primo bit indicato col simbolo s e riservato. al segno del numero per cui s 0 indica un numero positivo s 1 un numero negativo. I rimanenti n n 31 o n 63 bits sono dedicati al numero stesso vedi Figura 1 3. E facile quindi calcolare il valore massimo in modulo rappresentabile da questo. modello Tale valore si raggiunge quando i bits da 1 a 31 sono tutti 1 e vale. 1 20 1 21 1 2n 1 2i 2n 1 1 4, Il valore b 32 e spesso indicato int nei linguaggi C e C e indicato integer in linguaggio.
Fortran Purtroppo non esiste un vero standard e ogni produttore hardware o software puo. scegliere liberamente Per evitare problemi di interoperabilitia e quindi opportuno dichiarare ogni. variabile esplicitamente a seconda che si voglia b 32 o b 64 con le istruzioni int32 o int64 in C. o C e le istruzioni integer 4 e integer 8 in Fortran. che per n 31 fornisce il valore Imax 32 2 147 483 648 E quindi impossibile. la rappresentazione di valori interi maggiori di Imax 32 Un problema che potrebbe. sorgere durante le operazioni con questa rappresentazione e denominato integer. overflow e purtroppo non da luogo a segnalazione di errori da parte del computer. l addizione di due numeri la cui somma e maggiore di Imax 32 fornisce un risultato. sbagliato e imprevedibile Si consideri per esempio un aritmetica a 4 bit s 1 e. n 3 Effettuiamo la somma tra il numero 7 2 9 in notazione binaria. il cui risultato e 1 secondo la rappresentazione integer descritta sopra 1001 2. 1 10 E quindi opportuno avere sempre presente il valore massimo o minimo. rappresentabile e lavorare sempre con valori lontani da esso E spesso utile lavore. vista del Calcolo Numerico 1 Come sono fatti gli elaboratori 1 1 Le componenti principali di un calcolatore elettronico Un calcolatore elettronico e formato da un grande numero di componenti integrate tra di loro in maniera assai complessa Come sono fatte e come interagiscono le diverse componenti pur essendo una materia importante non e per rilevante ai ni del funzionamento numerico dei

Related Books