Fondamenti d Informatica 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti d Informatica 1"

Transcript

1 Fondamenti d Informatica 1 A.A. 2015/2016 Corsi di Laurea in Ing. Civile e Ing. per l Ambiente e il Territorio Docente: Giorgio Fumera Università degli Studi di Cagliari

2 Architettura dei calcolatori

3 Sommario Cenni storici L architettura di von Neumann Esempio di istruzioni eseguibili da un calcolatore (linguaggio macchina) Estensioni all architettura di von Neumann

4 Cenni storici I primi strumenti di calcolo: tacche su legno o ossa sassi ( calcolo : dal latino calculus = sassolino) abaco (c. XXVIII secolo a.c.)

5 Cenni storici Le prime macchine calcolatrici meccaniche: pascalina (B. Pascal, ): addizioni e sottrazioni calcolatrici da ufficio (inizio 900)

6 Cenni storici Anni 30: primi calcolatori elettromeccanici, in grado di svolgere un solo tipo di calcolo, per es.: costruzione di tabelle di tiro per l artiglieria risoluzione di sistemi di equazioni lineari Procedimento (algoritmo) codificato nei meccanismi/circuiti: dati calcolatore (algoritmo) risultato

7 Cenni storici Anni 30: contributi dai matematici analisi dei procedimenti di calcolo algoritmi idea di macchina esecutrice automatica di algoritmi, programmabile (calcolatore universale) organizzazione logica di un calcolatore programmabile Alan M. Turing ( ) John von Neumann ( )

8 Cenni storici Algoritmo: descrizione del procedimento per l esecuzione di una data operazione, espressa in modo non ambiguo, in un linguaggio comprensibile da un dato esecutore, in termini di una sequenza finita di azioni, ciascuna delle quali sia eseguibile dall esecutore. Macchina esecutrice di algoritmi: dati algoritmo calcolatore risultato

9 Cenni storici Anni 40: la tecnologia elettronica rende possibile la realizzazione di calcolatori programmabili. Alcuni dei primi calcolatori: Mark I (1944) ENIAC (1946) (calcolatore elettromeccanico) (il primo calcolatore elettronico)

10 Architettura di Von Neumann Organizzazione logica di un calcolatore programmabile (J. von Neumann, 1945). Unità centrale di elaborazione (Central Processing Unit, CPU) Dispositivi periferici (I/O devices) Memoria centrale (Main Memory) Unità logicoaritmetica (Arithmetic-Logic Unit, ALU) Unità di controllo (Control Unit, CU)...

11 La memoria centrale Un insieme di 2 k (potenza di due) celle o parole, identificate da un indirizzo numerico (a partire da 0), ciascuna in grado di memorizzare n bit (n multiplo di 8). bit indirizzo cella (parola) k -1 Funzione: memorizzare il programma in esecuzione e i dati che esso dovrà elaborare (codifica binaria). La memoria centrale è coinvolta in due tipi di operazioni con la CPU: lettura: copiare nella CPU il contenuto di una cella di memoria scrittura: scrivere un dato dalla CPU in una cella di memoria

12 Unità di misura della capacità di memoria bit: unità elementare d informazione byte: 8 bit Kilobyte (Kb): 2 10 = byte Megabyte (Mb): 2 20 = byte Gigabyte (Gb): 2 30 = byte Terabyte (Tb): 2 40 = byte Petabyte (Pb): 2 50 =... byte...

13 L unità centrale di elaborazione È composta da: unità logico-aritmetica (ALU): circuiti in grado di eseguire un piccolo insieme di operazioni logico-aritmetiche unità di controllo (CU): preleva dalla memoria centrale le istruzioni e i dati, coordina l esecuzione delle istruzioni registri: celle di memoria usate per memorizzare dati temporanei durante l esecuzione di una istruzione orologio di sistema (clock): emette impulsi periodici per sincronizzare le operazioni della CPU e della memoria centrale ALU CU

14 Il bus di sistema Dispositivo attraverso il quale i dati vengono trasferiti tra le componenti di un calcolatore (CPU, memoria, periferiche). È composto da linee di trasmissione, ciascuna capace di trasportare il valore di un singolo bit, suddivise in tre gruppi: bus dati (ampiezza pari a quella delle celle di memoria, n bit): trasporta dati e istruzioni bus indirizzi (2 k celle di memoria ampiezza: k bit): invia alla memoria centrale l indirizzo della cella sulla quale la CPU intende eseguire un operazione di lettura o scrittura bus controlli: invia alla memoria centrale e alle periferiche i segnali di controllo della CU che indicano quale operazione deve essere eseguita (per es., lettura o scrittura nella memoria centrale)

15 Architettura di un calcolatore CPU Main memory I/O devices ALU registri... R 0 R N SR 2 k -1 CU PC AR Address bus CIR DR Data bus Control bus

16 Registri della CPU Program Counter (PC) (k bit): in ogni istante contiene l indirizzo della prossima istruzione da eseguire Current Instruction Register (CIR) (n bit): in ogni istante contiene l istruzione in esecuzione Address Register (AR) (k bit): usato per memorizzare l indirizzo della cella di memoria sulla quale la CPU intende eseguire un operazione di lettura/scrittura Data Register (DR) (n bit): usato per memorizzare un dato da scrivere in memoria, o un dato letto dalla memoria Status Register (SR): i suoi bit memorizzano informazioni sull esito delle operazioni della CPU (per es., il tentativo di eseguire una divisione per zero, o un overflow) Registri di lavoro (R 0, R 1,..., R N 1 ) (n bit): usati per memorizzare gli operandi, il risultato e gli eventuali risultati intermedi durante l esecuzione di operazioni logico-aritmetiche

17 Programmi Sono costituiti da sequenze d istruzioni codificate in binario. Ogni istruzione è memorizzata in una cella di memoria (n bit). Codifica: codice operativo (p < n bit per codificare fino a 2 p istruzioni), e un numero variabile di operandi (n p bit). bit: p n 1 OPCODE OP 1... OP m L architettura di Von Neumann prevede che: il calcolatore esegua un solo programma alla volta le istruzioni siano memorizzate in celle adiacenti le istruzioni vengano eseguite in sequenza dalla CPU, nello stesso ordine in cui sono memorizzate

18 Insieme di istruzioni eseguibili dalla CPU Una CPU è in grado di eseguire poche decine d istruzioni, la cui codifica binaria è detta linguaggio macchina. Tali istruzioni si suddividono in quattro categorie: elaborazione: operazioni logico-aritmetiche, eseguite dalla ALU (es.: somma, sottrazione, moltiplicazione, divisione, confronto tra numeri) memorizzazione: trasferimento di dati tra registri della CPU, o tra CPU e memoria centrale trasferimento (input/output, I/O): trasferimento di dati tra CPU e periferiche controllo del flusso di esecuzione dei programmi (istruzioni di salto ): consentono di modificare l ordine predefinito (sequenziale) di esecuzione delle istruzioni

19 Esecuzione delle istruzioni Ciascuna istruzione di un programma viene eseguita in tre fasi: prelievo (fetch): l istruzione viene trasferita (copiata) dalla memoria al registro CIR della CPU decodifica: la CU analizza il codice operativo esecuzione: la CU invia l opportuna sequenza di segnali di controllo alle componenti coinvolte nell esecuzione AVVIO AVVIO DEL DEL PROGRAMMA PROGRAMMA prelievo (fetch) decodifica esecuzione FINE FINE DEL DEL PROGRAMMA PROGRAMMA esecuzione di una istruzione

20 Avvio di un programma Si memorizza nel PC l indirizzo di memoria della prima istruzione CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC AR Address bus CIR DR Data bus Control bus

21 Esecuzione delle istruzioni: fase di prelievo 1. AR PC il contenuto del PC viene copiato nell AR CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC AR Address bus CIR DR Data bus Control bus

22 Esecuzione delle istruzioni: fase di prelievo 1. AR PC il contenuto del PC viene copiato nell AR 2. CU READ M la CU chiede alla memoria un operazione di lettura CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC AR Address bus CIR DR 2 Data bus Control bus

23 Esecuzione delle istruzioni: fase di prelievo 1. AR PC il contenuto del PC viene copiato nell AR 2. CU READ M la CU chiede alla memoria un operazione di lettura 3. DR M[AR] il contenuto della cella il cui indirizzo si trova nell AR viene copiato del DR CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC CIR AR DR Address bus 3 Data bus Control bus

24 Esecuzione delle istruzioni: fase di prelievo 1. AR PC il contenuto del PC viene copiato nell AR 2. CU READ M la CU chiede alla memoria un operazione di lettura 3. DR M[AR] il contenuto della cella il cui indirizzo si trova nell AR viene copiato del DR 4. CIR DR il contenuto del DR viene copiato nel CIR CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC AR Address bus 4 CIR DR Data bus Control bus

25 Esecuzione delle istruzioni: fase di prelievo 1. AR PC il contenuto del PC viene copiato nell AR 2. CU READ M la CU chiede alla memoria un operazione di lettura 3. DR M[AR] il contenuto della cella il cui indirizzo si trova nell AR viene copiato del DR 4. CIR DR il contenuto del DR viene copiato nel CIR 5. PC PC +1 si memorizza nel PC l indirizzo della prossima istruzione CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC AR Address bus CIR DR Data bus Control bus

26 Esecuzione delle istruzioni: fase di decodifica La CU analizza il codice operativo dell istruzione da eseguire CPU Main memory I/O devices ALU... R 0 R N SR 2 k -1 CU PC AR Address bus CIR DR Data bus Control bus

27 Esecuzione delle istruzioni: fase di esecuzione La CU invia l opportuna sequenza di segnali di controllo alle componenti coinvolte nell esecuzione dell istruzione. Esempio: elaborazione: registri di lavoro, ALU memorizzazione: registri AR e DR e memoria centrale, oppure registri di lavoro trasferimento: registro DR, una periferica controllo: registro PC e registri di lavoro

28 Architettura di una CPU: esempio Si assuma che un calcolatore abbia le seguenti caratteristiche: la memoria centrale contiene 2 k celle di ampiezza n = 32 bit codifica dei numeri: interi: complemento a due su n = 32 bit reali: virgola mobile (IEEE-754) su n = 32 bit la CPU contiene N = 32 registri di lavoro di n = 32 bit Le istruzioni del programma da eseguire e i dati da elaborare devono essere preliminarmente memorizzati ( caricati ) nella memoria centrale; anche i risultati dell elaborazione dovranno essere memorizzati nella memoria centrale. Le celle possono essere scelte dal programmatore, con l unico vincolo che le istruzioni devono trovarsi in celle adiacenti, nell ordine in cui dovranno essere eseguite.

29 Insieme di istruzioni della CPU Nella tabelle seguente sono rappresentate in forma simbolica alcune delle istruzioni eseguibili dalla CPU dell ipotetico calcolatore: otto istruzioni che corrispondono alle quattro operazioni aritmetiche principali: tra numeri interi: ADD, SUB, MUL, DIV tra numeri reali: ADDF, SUBF, MULF, DIVF quattro istruzioni di memorizzazione un istruzione di controllo

30 Insieme di istruzioni della CPU Istruzioni Operazione svolta ADD/ADDF $a, $b, $c $a $b + $c SUB/SUBF $a, $b, $c $a $b $c MUL/MULF $a, $b, $c $a $b $c DIV/DIVF $a, $b, $c $a $b : $c LOAD $a, m $a M[m] LOAD $a, $b $a M[$b] STORE $a, m M[m] $a STORE $a, $b M[$b] $a LOADI $a, x $a x MOVE $a, $b $a $b HALT conclusione del programma

31 Notazione e osservazioni $a indica un registro di lavoro (0 a 31), per es. $3 x indica un numero intero o reale m indica un indirizzo di memoria (0 m 2 k ) e M[m] la cella corrispondente (per es. M[15]) M[$b] indica la cella di memoria il cui indirizzo corrisponde al contenuto del registro $b (es.: se $3 contiene il valore 10, M[$3] indica la cella M[10]) A B indica il trasferimento (copia) del valore di B (il contenuto di un registro o di una cella di memoria, o il risultato di un operazione aritmetica) in A (un registro o un cella di memoria) (cont.)

32 Notazione e osservazioni (cont.) Le operazioni aritmetiche possono essere eseguite solo su valori che si trovino all interno dei registri di lavoro: tutti i dati da elaborare devono quindi essere caricati dalla memoria ai registri di lavoro (scelti dal programmatore) Il risultato di un operazione aritmetica è un numero dello stesso tipo (intero o reale) degli operandi. Esempi: ADDF $1, $2, $4 somma i valori (numeri reali codificati in virgola mobile) memorizzati nei registri 2 e 4, e memorizza il risultato (codificato in virgola mobile) nel registro 1 DIV $5, $8, $7 calcola il quoziente (intero) della divisione tra i valori memorizzati nei registri 8 e 7 (numeri interi in complemento a due), e lo memorizza nel registro $5, codificandolo in complemento a due

33 Programmi eseguibili dalla CPU: un esempio Quello che segue è un esempio di programma eseguibile dalla CPU considerata, espresso nel linguaggio macchina di tale CPU: scopo del programma è calcolare e memorizzare nella cella 0 il valore dell espressione a + b c + d, dove a, b, c e d indicano numeri interi che si assume siano memorizzati nelle celle 1, 2, 3 e 4 si assume che il programma sia memorizzato a partire dalla cella di indirizzo 10; il numero a sinistra di ogni istruzione indica l indirizzo della cella nella quale tale istruzione deve essere memorizzata i valori a, b, c e d vengono memorizzati nei registri da $1 a $4, i risultati intermedi nei registri $5 e $6, e quello finale nel registro $7, dal quale viene trasferito nella cella 0 10 LOAD $1, 1 11 LOAD $2, 2 12 LOAD $2, 3 13 LOAD $4, 4 14 ADD $5, $1, $2 15 SUB $6, $5, $3 16 ADD $7, $6, $4 17 STORE $7, 0 18 HALT

34 Esercizi 1. Scrivere un programma, memorizzato a partire dalla cella di indirizzo 3, che calcoli il resto della divisione tra due numeri interi memorizzati nelle celle di indirizzo 0 e 1, e memorizzi il risultato nella cella di indirizzo 2 2. Scrivere un programma, memorizzato a partire dalla cella 2, che calcoli il valore assoluto di un numero intero memorizzato nella cella 0, e memorizzi il risultato nella cella 1

35 Esercizi 3. Scrivere un programma, memorizzato a partire dalla cella 4, che risolva un equazione di primo grado della forma ax + b = 0, tenendo conto anche del caso a = 0. I valori dei coefficienti a e b si trovano rispettivamente nelle celle di memoria 0 e 1. Se a 0, il risultato ( b a ) deve essere scritto nella cella 2. Nella cella 3 deve invece essere memorizzato il valore 0 se a = 0 (per indicare che la soluzione non esiste) oppure il valore 1 se a 0 4. Scrivere un programma, memorizzato a partire dalla cella 11, che calcoli la somma di dieci numeri reali memorizzati nelle celle di indirizzo da 0 a 9, e memorizzi il risultato nella cella 10

36 Soluzione 1. Le operazioni che l ipotetica CPU è in grado di eseguire non comprendono il calcolo del resto di una divisione tra interi. Tale valore deve quindi essere ottenuto con un opportuna sequenza delle operazioni disponibili. Una soluzione consiste nel calcolare il resto tra p e q come p p q q, dove l operatore indica la parte intera del suo argomento. Nel programma seguente si è scelto di memorizzare i due operandi nei registri 0 e 1, e i risultati intermedi e quello finale nei registri dal 2 al 4. 3 LOAD $0, 0 4 LOAD $1, 1 5 DIV $2, $0, $1 6 MUL $3, $2, $1 7 SUB $4, $0, $3 8 STORE $4, 2

37 Soluzione Non è difficile rendersi conto che le elaborazioni richieste dagli esercizi 2 e 3 non possono essere svolte usando le quattro operazioni aritmetiche eseguibili dall ipotetica CPU. Sia il procedimento (algoritmo) per il calcolo del valore assoluto di un numero che quello per la risoluzione di un equazione di primo grado richiedono l esecuzione di diverse sequenze di operazioni, a seconda del verificarsi o meno di una certa condizione (il fatto che il numero sia negativo o meno nel primo caso, e il fatto che il coefficiente a sia uguale o diverso da zero nel secondo caso). In altre parole, in entrambi i casi è necessario che la CPU, in un certo punto del programma, sia in grado di scegliere la prossima istruzione da eseguire tra due possibili alternative, invece che proseguire l esecuzione in modo strettamente sequenziale. Questo è reso possibile dalle istruzioni di controllo ( salto ). Quattro possibili istruzioni di controllo sono mostrate di seguito.

38 Istruzioni di controllo Istruzioni BEQ/BEQF $a, $b, m BNE/BNEF $a, $b, m BLT/BLTF $a, $b, m JUMP m Operazione svolta se $a = $b, salta alla cella m se $a $b, salta alla cella m se $a < $b, salta alla cella m salta alla cella m Le prime tre istruzioni fanno sì che, se una data condizione si verifica, la prossima istruzione che verrà eseguita non sia quella che si trova nella cella di memoria successiva, ma quella che si trova nella cella di indirizzo pari a m (salto condizionato). Il salto viene eseguito: se i registri $a e $b contengono lo stesso valore (BEQ/BEQF: Branch if EQual) se contengono valori diversi (BNE/BNEF: Branch if Not Equal) se il contenuto di $a è minore di quello di $b (BLT/BLTF: Branch if Less Than) L istruzione JUMP consente invece di eseguire un salto incondizionato.

39 Soluzione 2. Una possibile soluzione: se il numero è negativo, il suo valore assoluto si ottiene moltiplicandolo per 1, altrimenti coincide con il numero stesso. Si può quindi usare l istruzione BLT per confrontare il numero con zero. A questo scopo il valore zero deve prima essere caricato in un registro di lavoro (con LOADI), dato che le istruzioni di salto condizionato operano solo su valori contenuti all interno di registri. 2 LOAD $0, 0 3 LOADI $1, 0 4 BLT $0, $1, 7 5 STORE $0, 1 6 HALT 7 LOADI $2, 1 8 MUL $3, $0, $2 9 STORE $3, 1 10 HALT

40 Soluzione 3. Una possibile soluzione (se a = 0 vengono eseguite le istruzioni 7 9, altrimenti le istruzioni 10 16): 3 LOAD $0, 0 4 LOAD $1, 1 5 LOADI $2, BNE $0, $2, $10 7 LOADI $3, 0 8 STORE $3, 3 9 HALT 10 LOADI $2, MULF $4, $2, $1 12 DIVF $5, $4, $0 13 LOADI $3, 1 14 STORE $3, 3 15 STORE $5, 2 16 HALT

41 Soluzione 4. Una possibile soluzione: si caricano in un registro ($4), uno alla volta, i valori delle celle 0 9, e si memorizza in un altro registro ($3) la somma (parziale) dei valori già analizzati. Ad ogni passo si deve quindi quindi sommare il contenuto dei registri $4 e $3, e memorizzare il risultato ancora in $3. Il valore iniziale di $3 deve essere 0. Questo si può ottenere eseguendo per ogni valore da sommare due istruzioni: il caricamento di un nuovo valore in $4, e la sua somma con $3: 11 LOADI $3, LOAD $4, 0 13 ADDF $3, $3, $4 14 LOAD $4, 1 15 ADDF $3, $3, $4... (cont.) 28 LOAD $4, 8 29 ADDF $3, $3, $4 30 LOAD $4, 9 31 ADDF $3, $3, $4 32 STORE $3, HALT

42 Soluzione (cont.) Per ogni valore da sommare la soluzione precedente richiede l esecuzione di una sequenza di (due) istruzioni molto simili: l unica differenza è l indirizzo della cella dalla quale caricare il prossimo addendo (evidenziato in rosso). Questa soluzione porterebbe a scrivere programmi di lunghezza eccessiva se il numero di addendi fosse alto. Una soluzione migliore si può ottenere usando le istruzioni di salto condizionato, in modo tale che sia possibile scrivere una sola volta la sequenza d istruzioni da ripetere. Questo è reso possibile dall istruzione LOAD, che consente di caricare il contenuto di una cella di memoria il cui indirizzo sia memorizzato in un registro. (cont.)

43 Soluzione (cont.) Questa possibilità può essere sfruttata memorizzando in un registro ($0) l indirizzo della cella da cui prelevare il prossimo addendo, e incrementando di un unità, ad ogni passo, il contenuto di $0. Le stesse istruzioni di prelievo di un addendo e di somma vengono ripetute finchè il contenuto di $0 è minore di 10. Notare che la lunghezza di questo programma non dipende dal numero di addendi. 11 LOADI $0, 0 12 LOADI $1, LOADI $2, 1 14 LOADI $3, LOAD $4, $0 16 ADDF $3, $3, $4 17 ADD $0, $0, $2 18 BLT $0, $1, STORE $3, HALT

44 Evoluzione dei calcolatori Evoluzione della tecnologia elettronica: valvole termoioniche ( ) transistor ( ) circuiti integrati ( ) circuiti ad alta densità di integrazione (1980 oggi) Principali conseguenze: diminuzione delle dimensioni, del consumo energetico, del costo di fabbricazione incremento del numero di transistor per unità di superficie, della velocità di elaborazione, della capacità dei dispositivi di memoria estensione dei campi di applicazione dei calcolatori

45 Estensioni all architettura di von Neumann L architettura di von Neumann ha subìto nel corso degli anni diverse modifiche, legate all evoluzione dei calcolatori e all esigenza di incrementare le loro prestazioni. Le sue limitazioni principali sono le seguenti: esecuzione sequenziale delle istruzioni di un programma, anche se alcune di esse potrebbero essere eseguite in parallelo necessità di prelevare le istruzioni (e i dati da elaborare) dalla memoria centrale: tale operazione richiede tempi superiori rispetto all esecuzione di una istruzione logico-aritmetica

46 Estensioni all architettura di von Neumann Alcuni dei fattori che determinano la velocità di elaborazione dei calcolatori sono i seguenti: frequenza dell orologio di sistema (clock) complessità delle istruzioni ampiezza dei registri, del bus dati e del bus indirizzi capacità della memoria tempo d accesso alla memoria Principali modifiche all architettura di von Neumann: introduzione di diversi dispositivi di memoria modifica della struttura della CPU per introdurre la possibilità di esecuzione parallela di più istruzioni uso di più CPU in grado di eseguire istruzioni in parallelo

47 Il sistema di memoria Caratteristiche principali di un dispositivo di memoria: capacità (possibilmente elevata) costo per bit (possibilmente basso) tempo di accesso (possibilmente basso) dimensioni (possibilmente ridotte) consumo di energia (possibilmente basso) memorizzazione permanente o meno dei dati possibilità di trasporto tra diversi calcolatori... Nessun dispositivo fisico può però raggiungere un compromesso accettabile tra le diverse caratteristiche.

48 Gerarchia di memorie La soluzione consiste nell uso di più dispositivi di memoria con caratteristiche diverse, determinate dal seguente compromesso: un tempo d accesso inferiore può essere ottenuto solo a spese di un maggiore costo per bit un maggiore costo per bit impone una capacità inferiore I diversi dispositivi introdotti nel corso degli anni, in aggiunta alla memoria centrale, costituiscono quindi una gerarchia di memorie, ordinate per valori crescenti o decrescenti delle tre caratteristiche indicate sopra: registri della CPU memoria cache memoria centrale memoria secondaria (outboard storage) memoria terziaria (off-line storage)

49 Gerarchia di memorie costo per bit capacità tempo d'accesso

50 La memoria centrale Principale requisito: tempo d accesso confrontabile con il tempo di esecuzione di un istruzione di elaborazione da parte della CPU (ogni istruzione deve essere prelevata dalla memoria centrale). Per soddisfare tale requisito: tecnologia elettronica (come per la CPU) elevato costo per bit bassa capacità volatilità: il contenuto della memoria viene perso in assenza di alimentazione elettrica (allo spegnimento del calcolatore)

51 La memoria cache Negli anni il tempo d esecuzione delle istruzioni di elaborazione da parte della CPU è diminuito più rapidamente del tempo d accesso alla memoria centrale. Soluzione: introduzione della memoria cache (tecnologia elettronica) tra CPU e memoria centrale, caratterizzata da: tempo d accesso inferiore rispetto alla memoria centrale costo per bit maggiore capacità inferiore

52 Funzionamento della memoria cache Viene usata per memorizzare un sottoinsieme di istruzioni e dati del programma in esecuzione, per permettere alla CPU di poter accedere spesso ad essa invece che alla memoria centrale: se l istruzione o il dato richiesto dalla CPU si trova nella cache ( hit ), il tempo d accesso è quello della cache in caso contrario ( miss ), un blocco di celle della memoria centrale che lo contiene viene copiato nella cache (sostituendo il contenuto precedente) Questo consente di avere una capacità pari a quella della memoria centrale, e un tempo d accesso molto vicino a quello della cache.

53 Tempo d accesso alla memoria centrale/cache Tempo d accesso alla memoria centrale: T m Tempo d accesso alla cache: T c (< T m ) Probabilità che il dato richiesto dalla CPU si trovi nella cache: h [0, 1] (di norma h 1) Tempo d accesso del sistema cache + memoria centrale: T = ht c + (1 h)(t c + T m ) = T c + (1 h)t m T c

54 La memoria secondaria La volatilità e la bassa capacità della memoria centrale rendono necessaria l introduzione di dispositivi di memoria secondaria caratterizzati da: non volatilità capacità elevata basso costo per bit alto tempo d accesso Soluzione: nastri magnetici dischi magnetici (hard disk) recentemente: memorie in tecnologia elettronica (solid state drive, SSD)

55 Dischi magnetici Diversi dischi rigidi ricoperti da un materiale magnetizzabile, in grado di ruotare insieme intorno a uno stesso asse A una piccola distanza dalla superficie (superiore e inferiore) di ogni disco, una testina di lettura/scrittura è in grado di muoversi lungo un braccio meccanico fisso La testina può rilevare lo stato di magnetizzazione della superficie (lettura), e alterarlo (scrittura)

56 Dischi magnetici I dati (bit, codificati con due diversi stati di polarizzazione magnetica) vengono memorizzati lungo tracce concentriche sulla superficie di ogni disco ( tracce per facciata) Ogni traccia è suddivisa in più settori ( settori per traccia) Ogni settore contiene alcune centinaia di byte (per es., 512)

57 Dischi magnetici Il tempo d accesso è maggiore di diversi ordini di grandezza rispetto a quello della memoria centrale, a causa della presenza di componenti meccaniche in movimento: velocità di rotazione dei dischi: giri al minuto tempo di posizionamento (spostamento della testina sulla traccia desiderata): 1 20 ms tempo di latenza (tempo di rotazione necessario affinché il settore desiderato passi sotto la testina): 5 10 ms Velocità di trasferimento dei dati attraverso il bus dati: 10 2 MB/sec.

58 La memoria terziaria Poiché la memoria centrale è volatile, quella secondaria deve essere sempre connessa al bus di sistema. Per consentire il trasferimento di dati tra diversi calcolatori si usano dispositivi di memoria terziaria con caratteristiche simili a quelle della memoria secondaria, ma facilmente rimuovibili: nastri magnetici dischi magnetici flessibili (floppy disk) dischi magnetici rigidi (hard disk esterni ) dischi ottici (CD-ROM, CD-RW, DVD) memorie elettroniche (per es., USB flash drive)

59 Modifiche all unità di elaborazione Per aumentare la velocità di esecuzione dei programmi sono state introdotte nel corso degli anni modifiche all architettura della CPU che consentono l esecuzione parallela di più istruzioni: architetture pipeline CPU superscalari CPU multi-core

60 CPU: architetture pipeline Ogni istruzione viene eseguita attraverso una sequenza di un certo numero di passi, ciascuno dei quali coinvolge solo alcune componenti della CPU. Esempio (s = 5 passi): È quindi possibile eseguire in parallelo fino a s istruzioni: in ogni istante, ciascuna si troverà in una fase di esecuzione diversa:

61 Bus di sistema e dispositivi periferici Il bus di sistema è condiviso da tanti dispositivi periferici caratterizzati da velocità di trasferimento dei dati molto diverse. Esempio (velocità di trasferimento espressa in bit/secondo):

62 Bus di sistema e dispositivi periferici Problemi: congestione del bus di sistema, conflitti tra diverse periferiche, rischio che le periferiche più veloci monopolizzino il bus a scapito di quelle più lente. Soluzioni: interfacce fisiche standard per la connessione dei dispositivi al bus (per es., USB) controllori di I/O: dispositivi che gestiscono il trasferimento dei dati da/verso le periferiche tecniche di arbitraggio del bus organizzazione gerarchica del bus su più livelli, ai quali vengono connesse periferiche con diverse velocità di trasferimento dei dati

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Note sull architettura del calcolatore

Note sull architettura del calcolatore Note sull architettura del calcolatore 1 Algoritmo Problema Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo Sequenza ordinata di istruzioni che risolve il problema specifico

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Il modello di Von Neumann

Il modello di Von Neumann Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate. Le Memorie Supporti sui quali le informazioni vengono fisicamente memorizzate. Si distinguono per: Velocità Costo per bit Tipo di accesso Accesso a byte o blocchi di byte Volatilità Parte I 15 Due Tipi

Dettagli

Informatica giuridica

Informatica giuridica Informatica giuridica Corso di laurea in Scienze dei Servizi giuridici Corso di laurea magistrale in Giurisprudenza A.A. 2015/16 L architettura hardware degli elaboratori La scheda madre Memoria principale

Dettagli

Informatica e Bioinformatica anno 2013/2014

Informatica e Bioinformatica anno 2013/2014 Informatica e Bioinformatica anno 2013/2014 Architettura degli Elaboratori Mauro Conti 18 marzo 2014 1/38 Informatica: una Prima Definizione Informatica = Infor mazione automatica Informatica è la scienza

Dettagli

Struttura dell elaboratore elettronico

Struttura dell elaboratore elettronico Struttura dell elaboratore elettronico Concetti di base della tecnologia dell Informazione e della Comunicazione Qual è il significato del termine informatica? E' la scienza che si propone di raccogliere,

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Informatica. Informazione L Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto.

Informatica. Informazione L Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto. Informatica Con il termine Informatica (Informazione automatica) si intende la scienza che si occupa della Rappresentazione e della Elaborazione automatica delle Informazioni. Informazione L Informazione

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

RIASSUNTO La codifica delle informazioni

RIASSUNTO La codifica delle informazioni RIASSUNTO La codifica delle informazioni u Rappresentazione dell informazione all interno di un calcolatore codifica caratteri (codice ASCII) codifica numeri interi (rappresentazione in base 2) codifica

Dettagli

INFORMATICA GENERALE

INFORMATICA GENERALE INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi:

Dettagli

Architettura di un elaboratore. Il modello di von Neumann

Architettura di un elaboratore. Il modello di von Neumann Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

Algoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi)

Algoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi) LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 2 LA MACCHINA DI VON NEUMANN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1

Dettagli

Il bus. Bus di sistema: insieme di collegamenti (solitamente in rame) che connette tutti i componenti di un architettura

Il bus. Bus di sistema: insieme di collegamenti (solitamente in rame) che connette tutti i componenti di un architettura Il bus Problema: collegare le varie componenti (fisicamente separate) di un calcolatore, ad esempio, processore e memoria centrale Problema: come fa il processore a trasmettere alla RAM i bit che codificano

Dettagli

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando

Dettagli

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti Struttura di un sistema di elaborazione Architettura di Von Neumann Componenti Hardware di un SDE Processo e Processore CPU Memoria Centrale SDE: basi Un SDE è formato da elementi di natura diversa (elettrica,

Dettagli

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza Abilità Informa/che capitolo 3 Prof. Fabio Calefato a.a. 2015-16 Giurisprudenza Archite3ura Hardware Degli Elaboratori Elemen> della macchina di Von Neumann Memoria principale Processore Memoria secondaria

Dettagli

Criteri di caratterizzazione di una memoria

Criteri di caratterizzazione di una memoria La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica. Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Calcolatore Michele Tomaiuolo Calcolatore Un calcolatore è una macchina

Dettagli

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer? Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare

Dettagli

La memoria secondaria

La memoria secondaria La memoria secondaria La memoria principale non può essere troppo grande a causa del suo costo elevato Non consente la memorizzazione permanente dei dati (volatilità) Per questi motivi sono stati introdotti

Dettagli

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Cos è un Calcolatore? Un computer (calcolatore) è una macchina

Dettagli

Sistemi e reti CPU Concetti di base

Sistemi e reti CPU Concetti di base Sistemi e reti CPU Concetti di base A cura dell Ing. Claudio Traini Cenni Storici 1971 il primo processore mai realizzato : Intel 4004 Progettato dal vicentino Federico Faggin 1 Cenni Storici 1976 Faggin

Dettagli

Architettura di Von Neumann

Architettura di Von Neumann Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,

Dettagli

La macchina di Von Neumann

La macchina di Von Neumann Università degli Studi di Palermo Facoltà di Ingegneria La macchina di Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche 3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni

Dettagli

Il modello di von Neumann

Il modello di von Neumann 1 Organizzazione di (quasi) tutti gli elaboratori moderni: personal computer, workstation, portatili, smartphone,... CPU memoria Control Unit I/O ALU 2 Il cuore è la CPU (Control Processing Unit): esegue

Dettagli

La macchina di Von Neumann

La macchina di Von Neumann Lezione 3 La macchina di Von Neumann Sistemi Informa.vi Aziendali a.a. 2008/2009 Ing. Massimo Cossen.no 1 John von Neumann e altri grandi John von Neumann (1903 1957) Inventore dell'edvac (Electronic Discrete

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

Lezione 22 La Memoria Interna (1)

Lezione 22 La Memoria Interna (1) Lezione 22 La Memoria Interna (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Dove siamo e dove stiamo andando La gerarchia

Dettagli

L architettura del calcolatore

L architettura del calcolatore INFORMATICA B Ingegneria Elettrica L architettura del calcolatore Hardware Componenti fisiche: circuiti, schede, memorie, periferiche, stampanti, monitor... 2 Software I programmi eseguibili (istruzioni

Dettagli

aumenta il tempo di accesso; aumenta la capacità di memorizzazione; ma diminuisce il costo per bit.

aumenta il tempo di accesso; aumenta la capacità di memorizzazione; ma diminuisce il costo per bit. Capitolo 6 Le infrastrutture HardWare La memoria di massa La memoria di massa (magnetica) Una gerarchia di memoria 1. registri contenuti nella CPU (qualche KB) 2. cache (da circa 32KB a circa 1024KB) 3.

Dettagli

Concetti Introduttivi

Concetti Introduttivi Concetti Introduttivi Architettura del Computer http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione In questo corso ci occuperemo

Dettagli

Modulo: Elementi di Informatica

Modulo: Elementi di Informatica ARCHITETTURA DI VON NEUMANN Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Fisica medica e statistica Modulo: Elementi di Informatica A.A. 2009/10 Lezione

Dettagli

La memoria secondaria

La memoria secondaria La memoria secondaria La memoria principale non può essere troppo grande a causa del suo costo elevato Non consente la memorizzazione permanente dei dati (volatilità) Per questi motivi sono stati introdotti

Dettagli

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

Dettagli

Informatica e Bioinformatica

Informatica e Bioinformatica Informatica e Bioinformatica Alessandro Sperduti 23 Marzo 2016 Alessandro Sperduti Informatica e Bioinformatica Informazione sul Docente di Informatica Docente: prof. Alessandro Sperduti E-mail: sperduti@math.unipd.it

Dettagli

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill // Copyright 7 The McGraw-Hill Companies srl Copyright 7 The McGraw-Hill Companies srl Supporto alla CPU: deve fornire alla CPU

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile) Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi

Dettagli

Il Processore: l unità di controllo

Il Processore: l unità di controllo Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di

Dettagli

Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Fondamenti di Informatica Elementi di Architettura di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica

Dettagli

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano 22-5-2013

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano 22-5-2013 Architettura del Calcolatore Danilo Ardagna Politecnico di Milano 22-5-2013 Hardware e Software L'hardware è la parte del computer che puoi prendere a calci.! Il software è quella contro cui puoi solo

Dettagli

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Modello di von Neumann (2) Prevede 3 entità logiche: Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura

Dettagli

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 016/017 Sommario Funzionamento del

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer U T I L I Z Z O D E L P C E D O F F I C E A U T O M A T I O N P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore

Dettagli

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO ARCHITETTURA DI UN CALCOLATORE ELETTRONICO Per architettura di un calcolatore elettronico si intende l'insieme delle principali unità funzionali di un calcolatore ed il modo in cui queste interagiscono.

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

Dettagli

Corso Programmazione

Corso Programmazione Corso Programmazione 2007-2008 (docente) E-mail: aiolli@math.unipd.it Web: www.math.unipd.it/~aiolli (docenti laboratorio) B. Venable e M. Gelain Dipartimento di Matematica Pura ed Applicata Torre Archimede,

Dettagli

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. Architettura di un Elaboratore Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. È costituita da quattro elementi funzionali

Dettagli

Architettura del calcolatore. L Hardware. A.A Informatica 56

Architettura del calcolatore. L Hardware. A.A Informatica 56 Architettura del calcolatore L Hardware A.A. 2013-14 Informatica 56 L Hardware Insieme di componenti elettronici e meccanici del computer Tutto quello che è materiale pesante Processore Memorie Periferiche

Dettagli

Lezione 1: L hardware

Lezione 1: L hardware Architettura del calcolatore Lezione 1: L hardware Architettura Componenti e funzionamento Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle

Dettagli

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio Appunti di informatica Lezione 5 anno accademico 2015-2016 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore

Dettagli

Sistemi di numerazione

Sistemi di numerazione SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf Architettura di un calcolatore e ciclo macchina Appunti per la classe 3 Dinf Il Sistema di Elaborazione Computer Hardware Software 2 Hardware Struttura fisica del calcolatore formata dai circuiti elettronici

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Alfredo Cuzzocrea FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Elementi di informatica

Elementi di informatica Sia dato una memoria della capacità di 1 GB, avente tempo di accesso di 50ms e velocità di trasferimento di 20 MB/sec. Si vuole ricopiare l intero contenuto su un altra memoria identica, montata sullo

Dettagli

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Il linguaggio macchina

Il linguaggio macchina Università degli Studi di Palermo Facoltà di Ingegneria Il linguaggio macchina Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica

Dettagli

Macchina di von Neumann/Turing

Macchina di von Neumann/Turing Macchina di von Neumann/Turing Concetto di programma memorizzato Memoria principale per dati e istruzioni ALU opera su dati in formato binario Unità di controllo che interpreta le istruzioni in memoria

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

Dettagli

Pipeline. Esempio pipeline lineare a 5 stadi. Tempificazione S1 S2 S3 S4 S5. Istruzioni. Istruzione 4. Istruzione 3. Istruzione 2. tempo.

Pipeline. Esempio pipeline lineare a 5 stadi. Tempificazione S1 S2 S3 S4 S5. Istruzioni. Istruzione 4. Istruzione 3. Istruzione 2. tempo. Pipeline Esempio pipeline lineare a 5 stadi Istruzioni S1 S2 S3 S4 S5 Tempificazione Istruzione 4 S1 S2 S3 S4 S5 Istruzione 3 S1 S2 S3 S4 S5 Istruzione 2 S1 S2 S3 S4 S5 Istruzione 1 S1 S2 S3 S4 S5 tempo

Dettagli