Lezione 3. Lezione 3. Architettura di un processore. Architettura di un processore. Architettura di un processore. Classificazione delle architetture

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 3. Lezione 3. Architettura di un processore. Architettura di un processore. Architettura di un processore. Classificazione delle architetture"

Transcript

1 Sommario Lezione 3 Caratteristiche generali di una architettura Criteri per la classificazione delle architetture Architetture di tipo RISC Architetture di tipo CISC Repertorio di istruzioni dei mc e dei DSP Modi di indirizzamento Simone Buso - Microcontrollori e DSP - Lezione 3 1 Lezione 3 Materiale di riferimento 1. R. Shankar, E. B. Fernandez, "VLSI and computer architecture", Academic Press, Inc., 1989, cap , pagg G. Bucci, "Architetture degli elaboratori elettronici", McGraw-Hill, 2001, cap. 2, pp P. Lapsley, J. Bier, A. Shoham, E.A. Lee, "DSP Processor Fundamentals - Architectures and Features", IEEE Press, New York, 1997, cap 4, cap K. Hintz, D. Tabak, "Microcontrollers - Architecture, Implementation and Programming", Mc Graw - Hill, 1992, cap Berkeley Design Technology, Inc.(BDTi), DSPs adapt to new challenges, reperibile sul sito del corso. Simone Buso - Microcontrollori e DSP - Lezione 3 2 Architettura di un processore L architettura di un processore è l insieme delle risorse che ne consentono la programmazione in linguaggio macchina. Questa viene talvolta indicata come architettura lato utente (user architecture), per distinguerla da quella lato sistema (system architecture), che si riferisce invece alle risorse richieste dal sistema operativo (in un processore general purpose). Per noi solo la prima accezione ha senso, dato che non ci occuperemo di sistemi operativi per mc e DSP (sebbene ne esistano). Simone Buso - Microcontrollori e DSP - Lezione 3 3 Architettura di un processore Indipendentemente dalla sua implementazione, la finalità di un architettura è sempre quella di fornire un supporto efficiente alla programmazione di un processore. La definizione di efficienza di una architettura è però un concetto mutevole nel tempo e largamente dipendente dalle applicazioni. Alcune architetture privilegiano il raggiungimento di elevate prestazioni, altre la facilità di uso, altre ancora la programmabilità ad alto livello dei processori. Simone Buso - Microcontrollori e DSP - Lezione 3 4 Architettura di un processore Discutere l architettura di un processore significa valutare i seguenti aspetti: 1. struttura delle istruzioni; 2. modi di indirizzamento dei dati; 3. funzioni realizzate dalle istruzioni. La definizione di una architettura sottintende sempre una precisa organizzazione hardware. Organizzazione e architettura sono quindi due aspetti collegati della progettazione di un processore. Simone Buso - Microcontrollori e DSP - Lezione 3 5 E possibile classificare le architetture in funzione delle caratteristiche dell insieme di istruzioni che rendono disponibili al programmatore. In alternativa, è possibile una classificazione basata sulla filosofia di programmazione sottintesa dall architettura stessa (linguaggio ad alto livello di riferimento). I due criteri hanno tra loro una considerevole sovrapposizione. Simone Buso - Microcontrollori e DSP - Lezione 3 6

2 Le caratteristiche di maggiore interesse per un insieme di istruzioni sono le seguenti: Simmetria Ortogonalità Compattezza Flessibilità Velocità di esecuzione Costo Facilità di debugging Corrispondenza con linguaggi di alto livello Simone Buso - Microcontrollori e DSP - Lezione 3 7 La simmetria di un insieme di istruzioni indica il grado di uniformità dei modi di indirizzamento tra le diverse istruzioni. Un insieme di istruzioni si dice simmetrico quando esistono poche differenze nei modi di indirizzamento possibili per le varie istruzioni e quindi quando tutti gli operatori possono essere applicati a tutti i tipi di dati. Un set di istruzioni simmetrico implica quindi una maggiore uniformità nei formati delle istruzioni. Simone Buso - Microcontrollori e DSP - Lezione 3 8 L ortogonalità delle istruzioni indica direttamente la regolarità nella struttura della parola che rappresenta un istruzione. Un set di istruzioni ortogonali presenta parole della stessa lunghezza, in cui le dimensioni dei campi associati alle specifiche funzioni (e.g OPCODE) sono sempre le stesse. Questo consente di avere un formato di istruzioni unico e costante, favorendo l allineamento delle stesse in memoria e quindi la velocità del processore. Simone Buso - Microcontrollori e DSP - Lezione 3 9 La compattezza delle istruzioni indica la dimensione del codice macchina che viene generato nella compilazione di un dato programma. Alcune architetture favoriscono la compattezza più di altre (relazione con la complessità delle istruzioni). La flessibilità indica invece la facilità con la quale è possibile modificare l insieme di istruzioni, e.g. aggiungendone di nuove in una successiva versione del processore. Simone Buso - Microcontrollori e DSP - Lezione 3 10 La velocità di esecuzione è chiaramente un parametro fondamentale per una architettura. Questa è sempre in relazione con il costo del processore. Si parla di costo di una architettura intendendo il costo del processore che la pone in atto. Questo a sua volta è funzione della tecnologia impiegata, della complessità dei circuiti da realizzare (area di silicio richiesta) e del volume di produzione atteso. La facilità di debugging indica la leggibilità del codice generato dalla compilazione/scrittura di un programma. Questa è importante per la ri-usabilità e portabilità del codice. E anche associata alla maggiore o minore somiglianza del codice macchina con un linguaggio di alto livello (corrispondenza). Alcune architetture rendono disponibili costrutti tipici dei linguaggi ad alto livello (cicli for, repeat, etc.). Simone Buso - Microcontrollori e DSP - Lezione 3 11 Simone Buso - Microcontrollori e DSP - Lezione 3 12

3 Sulla base dei parametri appena discussi una possibile classificazione delle architetture è la seguente: Architetture RISC Basate su registri Basate su accumulatore/stack (obsolete) Architetture di tipo CISC Von Neumann estese Orientate ad oggetti/linguaggi Orientate alla sicurezza (poco diffuse) Simone Buso - Microcontrollori e DSP - Lezione 3 13 Architetture RISC Le architetture RISC sono quelle nelle quali le istruzioni sono meno numerose (poche decine) e più semplici possibile. La semplicità è relativa sia al formato che alle funzionalità delle istruzioni. Queste hanno tutte le stesse dimensioni (es. 16 bit) e struttura di parola identica. Siccome la decodifica (quasi sempre cablata) risulta molto semplice, le architetture RISC permettono spesso l esecuzione di tutte le istruzioni in un solo ciclo macchina. Simone Buso - Microcontrollori e DSP - Lezione 3 14 Architetture RISC La semplificazione dell unità di controllo prodotta dalle architetture RISC comporta un considerevole risparmio di area di silicio (riduzione dei costi). L area risparmiata consente la realizzazione di strutture come banchi di registri o memorie cache, che accelerano ulteriormente l esecuzione dei programmi. L organizzazione della CPU è quindi quasi sempre del tipo a molti registri. Simone Buso - Microcontrollori e DSP - Lezione 3 15 Architetture RISC Le prime realizzazioni di processori RISC avevano una organizzazione della CPU basata su un accumulatore e/o un piccolo stack. Queste avevano istruzioni senza operandi, quindi di massima semplicità, ma comportavano un intenso traffico di dati da e per la memoria. Le prestazioni delle CPU sono aumentate nel tempo molto più rapidamente di quelle delle memorie che sono il collo di bottiglia di un processore. Le organizzazioni a stack sono quindi state progressivamente abbandonate. Simone Buso - Microcontrollori e DSP - Lezione 3 16 Architetture CISC Le architetture di tipo CISC sono caratterizzate da insiemi molto numerosi di istruzioni (anche centinaia), di struttura variabile ed, in genere, piuttosto complessa. La decodifica è in questo caso spesso microprogrammata, per semplificare la realizzazione dell unità di controllo. Inoltre l esecuzione delle istruzioni richiede quasi sempre più cicli macchina. Architetture CISC sono comuni a molti processori per uso generico (fino ai primi anni 90), piuttosto rare nei mc e DSP. Simone Buso - Microcontrollori e DSP - Lezione 3 17 Architetture CISC Le architetture di tipo CISC sono realizzate in diverse varianti. La versione più comune sottende un organizzazione hardware di tipo Von Neumann, con eventuali potenziamenti (si parla di architetture Von Neumann estese). I principali interventi di miglioramento consistono nell introduzione di: 1. memorie cache; 2. coprocessori; 3. blocchi di debugging (funzioni di program tracing ). Simone Buso - Microcontrollori e DSP - Lezione 3 18

4 Architetture CISC Specialmente nel passato (anni 80), si sono avute realizzazioni di processori orientate ai linguaggi o agli oggetti. I primi miravano ad interpretare direttamente a livello hardware le istruzioni di qualche linguaggio ad alto livello (LISP, FORTH,..). I processori orientati agli oggetti tentavano invece di rendere astratta l organizzazione a basso livello del processore, lasciando all utente la possibilità di creare oggetti di varie classi (es. istruzioni) con una struttura predefinita a livello hardware. Simone Buso - Microcontrollori e DSP - Lezione 3 19 Le architetture di alcuni mc di progettazione più datata (anni 70) sono di tipo CISC (es. Intel 8XC196, Renesas H8S, ). Si tratta di processori estremamente diffusi, ma raramente utilizzati in prodotti di nuova concezione. Più recentemente si sono andate affermando architetture di tipo RISC, specialmente per i dispositivi destinati ad usi intensivi (controllo real-time). Le caratteristiche di questi processori sono spesso equivalenti a quelle di un DSP (a virgola fissa). Simone Buso - Microcontrollori e DSP - Lezione 3 20 Le architetture per DSP sono normalmente ispirate alla filosofia RISC, quindi sono sostenute da CPU che prevedono un notevole numero di registri e sistemi di controllo cablati. I DSP presentano tuttavia caratteristiche che li differenziano notevolmente dai processori RISC di tipo general-purpose. Il formato delle istruzioni è compatto, ma include numerosi campi, per aumentare la potenza delle singole istruzioni. Questo approccio tende a rendere il repertorio di istruzioni asimmetrico e non ortogonale, con conseguenti difficoltà nella programmazione e successivo debugging. Specialmente le prime realizzazioni su larga scala (Texas Instruments, Motorola), si caratterizzavano per la complessità del linguaggio assembly e la impossibilità materiale di ottenere una efficiente programmazione ad alto livello (scarsa qualità dei compilatori). Simone Buso - Microcontrollori e DSP - Lezione 3 21 Simone Buso - Microcontrollori e DSP - Lezione 3 22 L aumento della complessità degli algoritmi usati nelle applicazioni più recenti (anni 90) dei DSP (e.g. telefonia mobile) ha spinto verso la realizzazione di architetture più facilmente programmabili. Una soluzione molto utilizzata è denominata VLIW (VeryLong InstructionWord). Questa architettura combina molte (4, 8) istruzioni semplici in una sola macro-istruzione, che viene letta tutta in una volta dalla CPU. Le istruzioni componenti vengono eseguite in parallelo, quindi in un solo ciclo (risc cisc). Simone Buso - Microcontrollori e DSP - Lezione 3 23 DSP convenzionale: una istruzione complessa è ripetuta ntaps volte. DSP con architettura VLIW: molte semplici istruzioni vengono eseguite in parallelo. All atto della creazione del codice macchina, sono collocate all interno di una singola VLIW. Simone Buso - Microcontrollori e DSP - Lezione 3 24

5 Il fatto che le istruzioni base siano molto semplici rende più facile la realizzazione di compilatori efficienti. Il fatto che la potenza delle singole istruzioni si riduca, richiede però più memoria per il codice compilato. Questo si traduce in un aumento di costo. Sono stati tentati approcci differenti: a) istruzioni a lunghezza variabile; b) approccio SIMD; c) processori su misura. Simone Buso - Microcontrollori e DSP - Lezione 3 25 Alcuni DSP presentano architetture con istruzioni a lunghezza variabile. Le istruzioni di tipo aritmetico, usate all interno di algoritmi di calcolo, sono di tipo VLIW, per favorire il parallelismo e flessibilità nell indirizzamento dei dati. Invece, istruzioni di tipo diverso (e.g. istruzioni di controllo, manipolazione di bit) sono di formato più compatto, per favorire una minore occupazione di memoria. Simone Buso - Microcontrollori e DSP - Lezione 3 26 Benchmark: occupazione di memoria Simone Buso - Microcontrollori e DSP - Lezione 3 27 Altri DSP fanno uso di architetture SIMD (Single Instruction, Multiple Data). Queste consentono l esecuzione in parallelo della stessa istruzione su dati differenti, incrementando così le prestazioni. Questo approccio, in alcuni casi (serie Texas C64, AD Blackfin o Tiger SHARC) viene combinato con il VLIW. L obiettivo in questo caso è l incremento massimo della potenza di calcolo. Simone Buso - Microcontrollori e DSP - Lezione 3 28 Infine, per alcuni prodotti vengono utilizzati DSP su misura (licensable cores). In questo caso l utilizzatore può definire un repertorio di istruzioni ottimizzato per la sua specifica applicazione, arrivando anche a personalizzare l organizzazione hardware del chip. Benchè questo approccio porti a realizzazioni estremamente ottimizzate (nessuna risorsa viene sprecata) introduce tempi di sviluppo molto lunghi, costi elevati e scarsa flessibilità. Simone Buso - Microcontrollori e DSP - Lezione 3 29 Repertorio delle istruzioni nei DSP Il repertorio delle istruzioni di un DSP, è fortemente orientato al calcolo e include una ampia gamma di funzioni aritmetiche, logiche e matematiche. Per velocizzare l esecuzione di alcuni tipici algoritmi (DFT, filtri FIR, ), vengono inoltre offerti modi di indirizzamento specifici. Tra una famiglia di DSP e un altra, possono esserci differenze anche notevoli nel repertorio delle istruzioni: alcuni elementi sono però molto comuni. Simone Buso - Microcontrollori e DSP - Lezione 3 30

6 Istruzioni aritmetiche nei DSP La moltiplicazione è sempre presente e viene eseguita in un solo ciclo, spesso in diverse modalità (intera, frazionaria, con o senza segno). E possibile far seguire alla moltiplicazione una operazione di shift e/o somma sull accumulatore, che vengono eseguiti nello stesso ciclo macchina. Alla moltiplicazione è dedicato un apposito circuito esterno alla ALU e denominato MAC. In alcune unità è disponibile anche l istruzione di divisione, ma, di norma, questa non è presente a livello hardware. Simone Buso - Microcontrollori e DSP - Lezione 3 31 Istruzioni aritmetiche nei DSP Alcuni DSP presentano la possibilità di operare in aritmetica saturata, mettendo al riparo da effetti indesiderati dovuti a overflow dell accumulatore, causati ad es. da ripetute istruzioni di moltiplicazione e somma (MAC). Sempre per agevolare lo sviluppo di algoritmi di calcolo, anche le istruzioni di shift logico e aritmetico sono molto flessibili. Fanno spesso uso di un circuito apposito detto barrel shifter. Esso rende possibile scalare agevolmente i dati durante l elaborazione. Simone Buso - Microcontrollori e DSP - Lezione 3 32 Istruzioni aritmetiche nei DSP Molti DSP consentono al programmatore la scelta della strategia con cui gestire le operazioni che comportano la riduzione del numero di bit dedicati alla rappresentazione di un dato (es: right shift). Le opzioni sono: 1. troncamento; 2. arrotondamento (elimina l errore sistematico introdotto dalle operazioni di troncamento); 3. arrotondamento convergente. Istruzioni aritmetiche nei DSP a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 Scalo su 4 bit b 3 b 2 b 1 b 0 = a 7 a 6 a 5 a 4 b 3 b 2 b 1 b 0 = a 7 a 6 a 5 a 4 + a 3 Operando a 8 bit troncamento arrotondamento Arrotondamento convergente b 3 b 2 b 1 b 0 = a 7 a 6 a 5 a 4 + a 3 se a 3 a 2 a 1 a 0 <> b 3 b 2 b 1 b 0 = a 7 a 6 a 5 a 4 + a 4 se a 3 a 2 a 1 a 0 = Simone Buso - Microcontrollori e DSP - Lezione 3 33 Simone Buso - Microcontrollori e DSP - Lezione 3 34 Istruzioni aritmetiche nei DSP Nel repertorio delle istruzioni aritmetiche sono talvolta presenti funzioni come: a) radice quadrata; b) funzioni trigonometriche (sinx, cosx). Queste non sono però mai realizzate a livello hardware e quindi richiedono molti cicli macchina per essere calcolate. Risulta alle volte più conveniente ricorrere ad approssimazioni polinomiali delle funzioni suddette, che possono essere calcolate in modo molto efficiente. Simone Buso - Microcontrollori e DSP - Lezione 3 35 Repertorio delle istruzioni nei DSP In aggiunta alle istruzioni che realizzano le operazioni aritmetiche fondamentali, tutti i DSP dispongono di ulteriori istruzioni che consentono ad esempio: 1. spostamento di dati; 2. confronto rapido di dati; 3. manipolazione di bit; 4. ripetizione di segmenti di codice; 5. salti, chiamate a subroutine; 6. emulazione di aritmetica a virgola mobile (per i DSP a virgola fissa). Simone Buso - Microcontrollori e DSP - Lezione 3 36

7 Repertorio delle istruzioni nei mc Storicamente, i mc hanno sempre avuto un repertorio di istruzioni orientato al controllo di processi più che al calcolo (elaborazione numerica di segnali). Molto spesso le funzioni aritmetiche più avanzate (e.g. moltiplicazione) erano presenti solo a livello di istruzione (i.e. non c era il moltiplicatore hardware). L esecuzione di queste istruzioni richiedeva quindi numerosi cicli macchina. Questo rendeva spesso problematica la realizzazione di controlli real-time. Simone Buso - Microcontrollori e DSP - Lezione 3 37 Repertorio delle istruzioni nei mc Attualmente, l organizzazione dei mc (di alta gamma) ricalca quella dei DSP a virgola fissa di una decina di anni fa. Il repertorio delle istruzioni di questi dispositivi è quindi simile a quello di un DSP (filosofia RISC, elevata regolarità, programmabilità ad alto livello, ) e spesso è presente il moltiplicatore hardware. Gli accorgimenti descritti in precedenza per l incremento delle prestazioni (parallelismo) non sono però riprodotti nei mc, essenzialmente per questioni di costo. Simone Buso - Microcontrollori e DSP - Lezione 3 38 Repertorio delle istruzioni nei mc Per le applicazioni in tempo reale e comunque in ambito industriale, spesso i mc vengono preferiti ai DSP perché includono al loro interno tutte le periferiche necessarie all interfacciamento con i tipici sistemi da controllare (azionamenti, convertitori di potenza, etc.). Inoltre sono spesso più economici, dissipano minore potenza (adatti alle applicazioni embedded), e sono assai meno suscettibili ai disturbi elettromagnetici tipici dell ambiente industriale. Simone Buso - Microcontrollori e DSP - Lezione 3 39 Struttura delle istruzioni Tanto nei mc che nei DSP le istruzioni hanno strutture abbastanza regolari. Tipicamente sono disponibili istruzioni fino a tre operandi. La struttura della instruction word (IW) è spesso funzione dell opcode (si riduce però la velocità di decodifica). Il campo OPCODE è suddiviso in sotto-campi con funzioni specifiche. OPCODE operando #2 operando #1 operando #3 Simone Buso - Microcontrollori e DSP - Lezione 3 40 Struttura delle istruzioni E possibile sviluppare architetture con istruzioni senza operandi (macchine a stack). Esse risultano però poco efficienti e sono ormai state abbandonate. Le istruzioni con un solo operando del tipo: ADD X sottintendono la presenza di un registro accumulatore. Nelle organizzazioni delle CPU a molti registri diventano possibili istruzioni come: ADD X, Y, Z Simone Buso - Microcontrollori e DSP - Lezione 3 41 Modi di indirizzamento I più comuni modi di indirizzamento dei dati sono: immediato: l operando è esplicitamente inserito nell IW; a registro: l operando è in un registro della CPU (specificato nella IW); diretto o assoluto: l istruzione contiene l indirizzo in memoria dell operando; indiretto: l istruzione contiene l indirizzo in memoria dell indirizzo dell operando (puntatore). Simone Buso - Microcontrollori e DSP - Lezione 3 42

8 Modi di indirizzamento Altri modi di indirizzamento, molto comuni nei mc e nei DSP sono: indiretto con auto-incremento: l IW contiene l indirizzo di un puntatore, cui viene automaticamente sommato ±1 (talora ±2); indiretto con offset (indicizzato): il puntatore viene sommato ad una costante inclusa nell IW per formare l indirizzo del dato. Simone Buso - Microcontrollori e DSP - Lezione 3 43 Modi di indirizzamento DSP e mc spesso utilizzano unità per la generazione degli indirizzi (AGU) che sono esterne all ALU e lavorano in background. Ciò rende possibili modi di indirizzamento anche più sofisticati e efficienti: indiretto su registro: l indirizzo del puntatore è contenuto in un registro (sono possibili incrementi, offset, ); circolare: facilita la gestione di vettori di dati (tipico dei DSP); a bit rovesciati: per la DFT (solo DSP). Simone Buso - Microcontrollori e DSP - Lezione 3 44 Indirizzamento circolare X 0 X 1 X 2 X 3 r puntatore di lettura r X 0 X 1 X 2 X 3 w puntatore di scrittura w Quando uno dei puntatori (r o w) raggiunge la fine del vettore deve essere resettato. Quando uno dei puntatori (r o w) raggiunge la fine del vettore passa in modo automatico alla posizione di partenza. Simone Buso - Microcontrollori e DSP - Lezione x 3 x x 7 Indirizzamento a bit rovesciati DFT Y 0 = X[000] = X 0 Y 1 = X[100] = X 1 Y 2 = X[010] = X 2 Y 3 = X[110] = X 3 Y 4 = X[001] = X 4 Y 5 = X[101] = X 5 Y 6 = X[011] = X 6 y 7 = X[111] = X X 0 X 4 X 2 X 6 X 1 X 5 X 3 X 7 La lettura a bit rovesciati di una sequenza ordinata produce proprio la sequenza di uscita X della DFT: è allora immediato creare il vettore ordinato Y. 000 = = = = = = = = = = = = = = = = 7 Simone Buso - Microcontrollori e DSP - Lezione 3 46

Lezione 1. Sommario. Simone Buso - Microcontrollori e DSP - Lezione 1 1

Lezione 1. Sommario. Simone Buso - Microcontrollori e DSP - Lezione 1 1 Lezione 1 Sommario Definizione di microcontrollore (mc) Definizione di Digital Signal Processor (DSP) Criteri per il confronto delle prestazioni di mc e DSP Misura delle prestazioni Valutazione critica

Dettagli

Lezione 1. Lezione 1. Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Materiale di riferimento.

Lezione 1. Lezione 1. Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Materiale di riferimento. Sommario Lezione Lezione Materiale di riferimento Definizione di microcontrollore (mc) Definizione di Digital Signal Processor (DSP) Criteri per il confronto delle prestazioni di mc e DSP Misura delle

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

L insieme delle istruzioni (6)

L insieme delle istruzioni (6) L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso

Dettagli

Lezione 2. Lezione 2

Lezione 2. Lezione 2 Lezione 2 Sommario Struttura base dell hardware di un processore (ALU, memoria, I/O). Organizzazione Von Neumann vs Harvard. Organizzazione della ALU. Bus dati, istruzioni, indirizzi. Metodi di controllo.

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori

Dettagli

Lezione 2. Lezione 2 CPU CPU. Organizzazione. Organizzazione. Organizzazione. Organizzazione. Memoria. Memoria Dati. Dati Istruzioni.

Lezione 2. Lezione 2 CPU CPU. Organizzazione. Organizzazione. Organizzazione. Organizzazione. Memoria. Memoria Dati. Dati Istruzioni. Sommario Lezione 2 Struttura base dell hardware di un processore (LU, memoria, I/O). Von Neumann vs Harvard. della LU. dati, istruzioni, indirizzi.. Sistemi di memoria (registri, RM, ). Periferiche di

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Ingegneria e Tecnologie dei Sistemi di Controllo. Unità di Elaborazione: MicroControllori e DSP

Ingegneria e Tecnologie dei Sistemi di Controllo. Unità di Elaborazione: MicroControllori e DSP Ingegneria e Tecnologie dei Sistemi di Controllo Unità di Elaborazione: MicroControllori e DSP Ing. Andrea Tilli DEIS Alma Mater Studiorum Università di Bologna E-Mail: atilli@deis.unibo.it Revisionato:

Dettagli

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:

Dettagli

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:

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

Traduzione ed Interpretazione

Traduzione ed Interpretazione Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L Macchina astratta di L M 0 Macchina ospite Implementazione interpretativa di L Implementazione compilativa di L Simulazione

Dettagli

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016 Macchine Astratte Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione 010194 29 feb, 2016 Sommario 1 Introduzione Macchina astratta Interprete Implementazione

Dettagli

Traduzione ed Interpretazione. Queste sconosciute

Traduzione ed Interpretazione. Queste sconosciute Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L M 0 Macchina astratta di L Macchina ospite Implementazione interpretativa di L Simulazione software di M L su M 0

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 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

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

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di CORSO BASE DI TECNICO RIPARATORE HARDWARE CPU Docente: Dott. Ing. Antonio Pagano DEFINIZIONE L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue

Dettagli

Architettura di un calcolatore: Introduzione parte 2

Architettura di un calcolatore: Introduzione parte 2 Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori rchitettura dei Calcolatori Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria dell'informazione Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 20 settembre 2002 - rchitettura

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

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

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

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

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

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

Lezione 11. Lezione 11

Lezione 11. Lezione 11 Lezione 11 Sommario Sistemi di sviluppo (assembler, linker, debugger) Librerie di funzioni e applicazioni Simulatori software In Circuit Emulators (ICE) Programmazione delle memorie EPROM Scelta del linguaggio

Dettagli

Cos'e un linguaggio di programmazione?

Cos'e un linguaggio di programmazione? Linguaggi di Programmazione Corso di Laurea in Informatica Introduzione ai linguaggi di Valeria Carofiglio a.a. 2016-2017 (questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi)

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

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

Studio degli algoritmi

Studio degli algoritmi COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi

Dettagli

Lezione 11. Lezione 11. Sistemi di sviluppo. Sistemi di sviluppo. Sistemi di sviluppo. Sistemi di sviluppo. Materiale di riferimento.

Lezione 11. Lezione 11. Sistemi di sviluppo. Sistemi di sviluppo. Sistemi di sviluppo. Sistemi di sviluppo. Materiale di riferimento. Sommario Lezione 11 Sistemi di sviluppo (assembler, linker, debugger) Librerie di funzioni e applicazioni Simulatori software In Circuit Emulators (ICE) Programmazione delle memorie EPROM Scelta del linguaggio

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

Lezione 6. Lezione 6

Lezione 6. Lezione 6 Lezione 6 Sommario Moltiplicatori veloci a look-up table Moltiplicatori veloci a matrice Divisione Circuiti per aritmetica floating point Simone Buso - Microcontrollori e DSP - Lezione 6 1 Materiale di

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

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica

Dettagli

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A. < < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

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

Architettura degli Elaboratori - 1

Architettura degli Elaboratori - 1 Architettura degli Elaboratori - 1 Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Obiettivi del Corso Descrizione dell architettura

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

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

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

Lezione 7 Sommatori e Moltiplicatori

Lezione 7 Sommatori e Moltiplicatori Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 /36 Sommario

Dettagli

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

Lezione 15 Il Set di Istruzioni (1)

Lezione 15 Il Set di Istruzioni (1) Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un quadro della situazione Input/Output Sistema di Interconnessione Registri

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

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo

Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Istruzioni del processore Abbiamo visto in precedenza alcuni esempi di istruzioni

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-3 anno CALCOLATORI ELETTRONICI 9 CFU - 1 semestre Docente titolare dell'insegnamento

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

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

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche Sommario Lezione 4 Aritmetica in complemento a due Proprietà della rappresentazione in complemento a due Rappresentazioni a virgola mobile Lezione 4 Materiale di riferimento 1. D. A. Patterson, J. L. Hennessy,

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Architettura dei calcolatori Che cos è un calcolatore? Come funziona un calcolatore? un calcolatore è un sistema un sistema è un oggetto costituito da molte

Dettagli

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2 Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli pasquale.demichele@unina.it

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

Corso di Architettura (Prof. Scarano) 09/04/2002

Corso di Architettura (Prof. Scarano) 09/04/2002 Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato

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

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

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia Informatica A.A. 2006/2007 CdL in Matematica e CdL Matematica per le Applicazioni Università degli Studi di Catania Giuseppe Nicosia www.dmi.unict.it/~nicosia Elementi Fondamentali di un Calcolatore Il

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Il linguaggio assemblativo MIPS (1) Istruzioni di ALU: operazioni ed operandi Trasferimenti tra memoria e CPU Vettori (1) Le costanti Livelli di astrazione s o f t w a r e H W Linguaggio

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

Macchina Astratta: struttura e realizzazione.

Macchina Astratta: struttura e realizzazione. Macchina Astratta: struttura e realizzazione. Sommario Macchina Astratta e l interprete di Macchina Hight e Low Level Languages Implementazione di un Linguaggio Macchina Intermedia Gerarchia di Macchine

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Dettagli

Lezione 7 ALU: Moltiplicazione e divisione

Lezione 7 ALU: Moltiplicazione e divisione Architettura degli Elaboratori e delle Reti Lezione 7 ALU: Moltiplicazione e divisione F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/34 Sommario! Sommatori

Dettagli

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche Sommario Lezione 4 Aritmetica in complemento a due Proprietà della rappresentazione in complemento a due Rappresentazioni a virgola fissa Rappresentazioni a virgola mobile Lezione 4 Materiale di riferimento

Dettagli

Lezione 4. Lezione 4

Lezione 4. Lezione 4 Lezione 4 Sommario Rappresentazioni numeriche Aritmetica in complemento a due Proprietà della rappresentazione in complemento a due Rappresentazioni a virgola fissa Rappresentazioni a virgola mobile Simone

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò

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

Negli ultimi anni il mercato è

Negli ultimi anni il mercato è APPLICAZIONI DSP NELLE FPGA VIRTEX-4 Mariano Severi I dispositivi FPGA Xilinx della serie Virtex-4 consentono di realizzare sistemi DSP a elevate prestazioni grazie all utilizzo dei moduli hardware XtremeDSP

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

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

Macchina di Riferimento: argomenti

Macchina di Riferimento: argomenti Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

Linguaggi, compilatori e interpreti

Linguaggi, compilatori e interpreti Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011

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

Modi di indirizzamento

Modi di indirizzamento Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 11

FONDAMENTI DI INFORMATICA Lezione n. 11 FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di

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 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

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE RCHITETTUR DI UN ELORTORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). MCCHIN DI VON NEUMNN UNITÀ FUNZIONLI fondamentali Processore (CPU) Memoria

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Calcolatori Elettronici Parte VIII: linguaggi assemblativi Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

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

Introduzione allo Studio dei Linguaggi di Programmazione. Corso di Linguaggi di Programmazione Informatica e Tecnologie Produzione Software

Introduzione allo Studio dei Linguaggi di Programmazione. Corso di Linguaggi di Programmazione Informatica e Tecnologie Produzione Software Introduzione allo Studio dei Linguaggi di Programmazione Corso di Linguaggi di Programmazione Informatica e Tecnologie Produzione Software Argomenti 2 Studiare i Linguaggi di Programmazione Domini Applicativi

Dettagli

I formati delle istruzioni

I formati delle istruzioni Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...

Dettagli

Assembly. Modello x86

Assembly. Modello x86 Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

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

Modulo 1: Le I.C.T. UD 1.4c: Il Processore

Modulo 1: Le I.C.T. UD 1.4c: Il Processore Modulo 1: Le I.C.T. : Il Processore Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno IL MICROPROCESSORE

Dettagli

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Dettagli

UD 1.4c: Il Processore IL MICROPROCESSORE

UD 1.4c: Il Processore IL MICROPROCESSORE Modulo 1: Le I.C.T. : Il Processore IL MICROPROCESSORE Prof. Alberto Postiglione Curtin, 3.8-3.9 Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Architettura di von Neumann Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli