informatica umanistica b 2: architettura dei calcolatori massimo.poesio@unitn.it

Download INFORMATICA UMANISTICA B 2: ARCHITETTURA DEI CALCOLATORI massimo.poesio@unitn.it

Post on 01-May-2015

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • INFORMATICA UMANISTICA B 2: ARCHITETTURA DEI CALCOLATORI massimo.poesio@unitn.it
  • Slide 2
  • Le due determinanti del comportamento di un computer
  • Slide 3
  • Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche
  • Slide 4
  • Software Componente del calcolatore costituita dai: Programmi di base per la gestione del sistema Programmi applicativi per luso del sistema (possono usare i programmi di base)
  • Slide 5
  • Prima parte
  • Slide 6
  • COMPUTER HARDWARE: RAPPRESENTAZIONE SCHEMATICA INPUTOUTPUT MEMORIA CPU IstruzioniDati
  • Slide 7
  • LA MACCHINA DI TURING Una descrizione estremamente astratta delle attivita del computer che pero cattura il suo funzionamento fondamentale Basata su unanalisi di cosa fa un calcolatore (umano o macchina)
  • Slide 8
  • CPU E MEMORIA NELLA MACCHINA DI TURING In una macchina di Turing abbiamo : Una CPU: Un PROGRAMMA: un insieme di regole che determinano il comportamento della testina a partire dal suo stato e dal simbolo letto (= sistema operativo) una testina che si trova in ogni momento in uno fra un insieme limitato di stati interni e che si muove sul nastro, leggendo e se del caso modificando il contenuto delle cellette Una MEMORIA: un nastro di lunghezza indefinita, suddiviso in cellette che contengono simboli (ad es. 0e 1);
  • Slide 9
  • LA MACCHINA DI TURING
  • Slide 10
  • FUNZIONAMENTO DI UNA MACCHINA DI TURING
  • Slide 11
  • UNA DIMOSTRAZIONE DEL FUNZIONAMENTO DELLA MACCHINA DI TURING http://www.warthman.com/ex-turing.htm
  • Slide 12
  • PROGRAMMI E DATI Programmi: Questa lezione: i programmi dal punto di visto dellhardware I programmi: sequenze di istruzioni per lelaborazione delle informazione Definiscono quale debba essere il comportamento del processore Dati: Distinzione tra dato e informazione: Dato: sequenza di bit, pu essere interpretato in pi modi diversi Informazione: dato + significato del dato
  • Slide 13
  • MACCHINA DI TURING UNIVERSALE Nelle macchine di Turing piu semplici, si trova una distinzione molto chiara tra PROGRAMMA (= gli stati) e DATI (= contenuto del nastro) Turing pero dimostro che era possibile mettere anche il programma sul nastro, ed ottenere una macchina di Turing universale che LEGGEVA sul nastro la prossima istruzione da eseguire prima di leggere i DATI su cui occorreva eseguirla I computer moderni sono macchine di Turing universali.
  • Slide 14
  • ALCUNI RISULTATI DIMOSTRATI USANDO IL MODELLO DI TURING Non tutte le funzioni sono CALCOLABILI Ovvero: non e possibile scrivere un algoritmo per risolvere qualunque problema in modo ESATTO ed in tempo FINITO Il PROBLEMA DELLARRESTO (HALTING PROBLEM): non e possibile dimostrare che una macchina di Turing universale si fermera o no su un programma specifico Questi risultati valgono per qualunque calcolatore, ammesso che valga la TESI DI CHURCH-TURING
  • Slide 15
  • DALLA MACCHINA DI TURING AI COMPUTER MODERNI La macchina di Turing aiuta a capire come sia possibile manipolare informazione in base a un programma, leggendo e scrivendo due soli simboli: 0e 1 Da questo punto di vista, pur essendo un dispositivo ideale, la macchina di Turing strettamente imparentata col computer
  • Slide 16
  • Dalla macchina di Turing alla macchina di von Neumann Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, costituito dalla MACCHINA DI VON NEUMANN
  • Slide 17
  • Le funzioni di un computer elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output
  • Slide 18
  • LA MACCHINA DI VON NEUMANN
  • Slide 19
  • ARCHITETTURA DI VON NEUMANN I/OMemoria CPU Preleva istruzione Esegue Memorizza risultato BUS
  • Slide 20
  • IL CICLO DI ESECUZIONE ISTRUZIONI Il ciclo di esecuzione istruzioni sta al cuore del funzionamento di un computer Ad ogni ticchettio del clock, la CPU: Preleva dalla memoria principale la prossima istruzione da eseguire (specificata dal PROGRAM COUNTER, PC) La mette nel REGISTRO ISTRUZIONI (IR) La DECODIFICA Preleva gli OPERANDI specificati nellistruzione ESEGUE listruzione Ricomincia
  • Slide 21
  • UNITA CENTRALE E PERIFERICHE Unit centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche
  • Slide 22
  • UNITA CENTRALE IN DETTAGLIO
  • Slide 23
  • Architettura dei computer Un computer deve: elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output
  • Slide 24
  • IL PROCESSORE (CPU) Unit centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche del calcolatore
  • Slide 25
  • LA CPU IN DETTAGLIO
  • Slide 26
  • CODICE PER I PROGRAMMI: Istruzioni macchina I programmi: sequenze di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.) Per ogni tipo di processore definito un insieme di istruzioni, chiamate istruzioni macchina Ognuna delle quali corrisponde ad unoperazione elementare Le operazione pi complesse possono essere realizzate mediante sequenze di operazioni elementari
  • Slide 27
  • Istruzioni macchina Le istruzioni possono avere formati diversi - per esempio: Codice istruzione Argomento 1Argomento 2 Codice istruzione Argomento 1 cosa faresu cosa operare oppure
  • Slide 28
  • Istruzioni macchina Per esempio: ADD R1 R2 Operazione aritmetica di somma: prevede la somma del contenuto dei registri R1 e R2 e il caricamento del risultato nel registro R1 (Perch R1 non R2? Non c una ragione: la decisione arbitraria) Codice istruzione Argomento 1Argomento 2
  • Slide 29
  • Istruzioni macchina Per esempio: LOAD 3568 R2 Operazione di lettura dalla memoria: richiede la lettura del valore contenuto nella cella con indirizzo 3568 e il suo caricamento nel registro R2 (Perch usiamo un indirizzo? Che cosa un registro? Vedremo) Codice istruzione Argomento 1Argomento 2
  • Slide 30
  • Istruzioni macchina Per esempio: 01000110 11110000101011100001111 11110101 0111011011001001 cosa faresu cosa operare
  • Slide 31
  • Linguaggio macchina Il linguaggio in cui si scrivono queste istruzioni prende il nome di linguaggio macchina Una sequenza di tali istruzioni prende il nome di programma in linguaggio macchina Il ruolo del processore: Eseguire programmi in linguaggio macchina
  • Slide 32
  • I programmi e i processori Ogni tipo di processore in grado di eseguire un numero limitato di istruzioni Combinando in modo diverso sequenze anche molto lunghe di istruzioni si possono far svolgere al computer molti compiti diversi
  • Slide 33
  • I programmi e i processori Famiglie di processori: Intel, Motorola, Sun Processori della stessa famiglia possono eseguire gli stessi programmi scritti in linguaggio macchina (ma non sempre) Processi di famiglie diverse non possono eseguire gli stessi programmi scritti in linguaggio macchina Le istruzioni che capiscono sono diverse Attenzione! Stiamo considerando il livello delle istruzioni macchina
  • Slide 34
  • COMPONENTI DELLA CPU La CPU non un unico componente ma costituita da componenti diversi che svolgono compiti diversi Unit di controllo Unit aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
  • Slide 35
  • Componenti del processore (CPU) Unit di controllo Unit aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
  • Slide 36
  • Registri I registri sono delle unit di memoria estremamente veloci Sono usate per mantenere le informazioni di necessit immediata per il processore Le dimensioni dei registri variano da 16, 32, 64 bit Sono una parte fondamentale del processore
  • Slide 37
  • Registri Per esempio: Program Counter Lindirizzo della prossima istruzione da eseguire memorizzato nel registro Program Counter Per esempio: i Registri Generali I registri che possono essere utilizzati come memorie temporanee per svolgere le operazioni matematiche
  • Slide 38
  • Componenti del processore (CPU) Unit di controllo Unit aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
  • Slide 39
  • Unit di controllo Lunit di controllo la parte pi importante del processore Esegue le istruzioni dei programmi Coordina le attivit del processore Controlla il flusso delle ist

Recommended

View more >