Metodi Software per ottenere ILP

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodi Software per ottenere ILP"

Transcript

1 Metodi Software per ottenere ILP Calcolatori Elettronici 2 Scaletta Tecnologie nel compilatore BRANCH PREDICTION A SOFTWARE (nel compilatore) - Gia vista nella lezione sulla branch prediction STATIC SCHEDULING + LOOP UNROLLING - Scopo: migliorare le prestazioni della pipeline e dei processori multiple-issue - Molto importanti per CPU static-issue (VLIW) - Importanti per CPU dynamic issue con static scheduling SOFTWARE PIPELINING Processori VLIW (Very Long Instruction Word) Roberto Giorgi, Universita di Siena, C208L05, Slide 2

2 Scheduling Statico: obiettivo Trovare istruzioni non correlate da inserire proficuamente negli stadi di esecuzione della pipeline Date due istruzioni dipendenti (la prima detta istruzione produttrice e la seconda detta istruzione consumatrice di un dato), per evitare stalli, la distanza (in cicli di clock) fra di esse dovrebbe essere pari alla latenza all interno della pipeline della prima delle due istruzioni I problemi maggiori nascono a causa della latenze (variabili) delle Unita Funzionali (FU) Il compilatore puo riordinare (staticamente) le istruzioni se Esiste sufficiente ILP La latenze delle Unita Funzionali (FU) sono note al compilatore - Si crea un LEGAME tra software e microarchitettura che oltrepassa lo strato di isolamento creato dall Instruction Set! Roberto Giorgi, Universita di Siena, C208L05, Slide 3 Scheduling Statico: ipotesi sulla pipeline Pipeline standard a 5 stadi Unita Funzionali (FU) pipeline-izzate (o replicate tante volte quante sono gli stadi di pipe) in modo da lanciare un istruzione ad ogni ciclo di clock Assenza di criticita strutturali Istr. Produttrice Istr. Consumatrice C NSL FP ALU op Another FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op / INT ALU op 1 Branch INT ALU op Branch 1 Load double Store double 0 INT ALU op INT ALU op 0 C NSL = No-Stall Latency Cycles Roberto Giorgi, Universita di Siena, C208L05, Slide 4

3 Esempio for (k = 1000; k > 0; --k) x[k] = a + x[k]; Loop Parallelo : il corpo di ogni iterazione e indipendente Traduzione in assembly MIPS: R1 vale inizialmente 8000 Loop: L.D F0, 0(R1) ;F0=array elem. ;add scalar in F2 S.D F4, 0(R1) ;store result SUBI R1,R1,#8 ;decrement pointer BNEZ R1, Loop ;branch Roberto Giorgi, Universita di Siena, C208L05, Slide 5 Versione-0: Loop NON-SCHEDULATO Loop: L.D F0, 0(R1) 1 Stall 2 3 Stall 4 Stall 5 S.D F4, 0(R1) 6 Cissue (clock cycles) SUBI R1,R1,#8 7 Stall 8 BNEZ R1, Loop 9 Stall 10 Istr. Produttrice Istr. Consumatrice C NSL FP ALU op Another FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op / INT ALU op 1 Branch INT ALU op Branch 1 Load double Store double 0 INT ALU op INT ALU op 0 10 cicli per iterazione (5 cicli di stallo) Riscrivere il codice per minimizzare gli stalli Roberto Giorgi, Universita di Siena, C208L05, Slide 6

4 Versione-1: Loop Schedulato Loop: L.D F0, 0(R1) 1 SUBI R1,R1,#8 2 3 Stall 4 Cissue (clock cycles) BNEZ R1, Loop 5 ;delayed branch i) Anticipo la SUBI ma devo variare l indirizzo effettivo a cui faccio la store 0(.) 8(.) ii) Sposto S.D dopo BNEZ sfruttando il delay-slot della branch S.D 8(R1),F4 6 ;altered effective address Istr. Produttrice Istr. Consumatrice C NSL FP ALU op Another FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op / INT ALU op 1 Branch INT ALU op Branch 1 Load double Store double 0 INT ALU op INT ALU op 0 6 cicli per iterazione (1 ciclo di stallo); osservazione: solo 3 istruzioni fanno effettivamente elaborazione sul vettore x[.] (L.D, ADD.D, S.D) Posso fare lo srotolamente del loop 4 volte, per migliorare le potenzialita di scheduling statico Roberto Giorgi, Universita di Siena, C208L05, Slide 7 Versione-2: Loop Srotolato 4 volte L.D F0,0(R1) S.D L.D 0(R1),F4 ; drop SUBI&BNEZ F0,-8(R1) S.D L.D -8(R1),F4 ; drop SUBI&BNEZ F0,-16(R1) S.D L.D 1 cycle stall 2 cycles stall -16(R1),F4 ; drop SUBI&BNEZ F0,-24(R1) S.D -24(R1),F4 SUBI R1,R1,#32 ; alter to 4*8 BNEZ R1,Loop Ipotesi: il numero di iterazioni totali e multiplo di 4. OK nel nostro caso (1000 iterazioni) Questo loop richiede 28 cicli (di cui 14 cicli sono di stallo) per iterazione, infatti: -ogni L.D ha 1 ciclo di stallo -ogni ADD.D ne ha 2 -la SUBI ne ha 1 -la BNEZ ne ha 1 Inoltre ho i 14 cicli di instructionissue ovvero 28/4 = 7 cicli per elaborare ogni elemento dell array (piu lento della versione-1 schedulata!) Riscrivo il loop per ridurre gli stalli Roberto Giorgi, Universita di Siena, C208L05, Slide 8

5 Rimozione delle Name Dependencies L.D F0,0(R1) S.D 0(R1),F4 ; drop SUBI&BNEZ L.D F0,-8(R1) S.D -8(R1),F4 ; drop SUBI&BNEZ L.D F0,-16(R1) S.D -16(R1),F4 ; drop SUBI&BNEZ L.D F0,-24(R1) S.D -24(R1),F4 SUBI R1,R1,#32 ; alter to 4*8 BNEZ R1,Loop Come eliminarle? Roberto Giorgi, Universita di Siena, C208L05, Slide 9 Uso la Rinominazione STATICA dei Registri L.D F0,0(R1) S.D 0(R1),F4 ; drop SUBI&BNEZ L.D F6,-8(R1) ADD.D F8,F6,F2 S.D -8(R1),F8 ; drop SUBI&BNEZ L.D F10,-16(R1) ADD.D F12,F10,F2 S.D -16(R1),F12 ; drop SUBI&BNEZ L.D F14,-24(R1) ADD.D F16,F14,F2 S.D -24(R1),F16 SUBI R1,R1,#32 ; alter to 4*8 BNEZ R1,Loop Register Renaming Roberto Giorgi, Universita di Siena, C208L05, Slide 10

6 Versione-3: Loop Srotolato con meno stalli Loop: L.D F0,0(R1) L.D F6,-8(R1) L.D F10,-16(R1) L.D F14,-24(R1) ADD.D F8,F6,F2 ADD.D F12,F10,F2 ADD.D F16,F14,F2 S.D 0(R1),F4 S.D -8(R1),F8 SUBI R1,R1,#32 S.D 16(R1),F12 BNEZ R1,Loop S.D 8(R1),F4 ; Questo loop gira in 14 cicli (senza stalli) per iterazone; ovvero 14/4 = 3.5 cicili per elemento! Assumo che sia possibile: - Spostare le L.D prima delle SD - Spostare alcune S.D dopo SUBI e BNEZ - Usare piu registri Il compilatore puo effettuare queste trasformazioni senza effetti collaterali? Roberto Giorgi, Universita di Siena, C208L05, Slide 11 Passi del compilatore per srotolare i loop Determinare se sia possibile spostare una S.D dopo la SUBI che aggiorna l offset del relativo indirizzo effettivo - In caso positivo, va aggiustato l offeset della S.D opportunamente Determinare se e utile srotolare il loop, esaminando se ci siano iterazioni indipendenti Rinominare i registri per eliminare le name dependencies Eliminare le istruzioni di test e di branch intermedie e aggiustare la parte conclusiva del ciclo Determinare se load e store del loop srotolato possano essere distanziate quando operano in modo indipendente - Cio richiede di analizzare gli indirizzi di memoria per vedere se NON si riferiscano allo stesso indirizzo di memoria Schedulare il codice, conservando ogni dipendenza che sia necessaria per ottenere lo stesso risultato del codice originario Roberto Giorgi, Universita di Siena, C208L05, Slide 12

7 PROCESSORI VLIW Roberto Giorgi, Universita di Siena, C208L01, Slide 13 Processori Multiple Issue Motivazione: superare le limitazioni della pipeline standard in cui CPI REAL Pipeline = CPI IDEAL Pipeline + C Structural stalls + C RAW stalls + C WAR stalls + C WAW stalls + C Control stalls Punto d azione: diminuire CPI IDEAL Pipeline (=1) per poter lanciare piu istruzioni nello stesso ciclo Implementazioni di procesori Multiple Issue Superscalar - Con scheduling statico (facendo uso di tecnologie nel compilatore, v. sopra) - Con scheduling dinamico (facendo uso es. dell algoritmo di Tomasulo) VLIW (Very Long Instruction Word) - OGNI ISTRUZIONE INDICA ESPLCITAMENTE IL PARALLELISMO - Anche indicato con EPIC (Explicit Parallel Instruction Computer) Roberto Giorgi, Universita di Siena, C208L05, Slide 14

8 MIPS Superscalare Staticamente Schedulato MIPS superscalare: lancia 2 istruzioni per ciclo 1 istruzione va nella pipeline Floating Point e 1 istruzione nella pipeline Integer (o Load/Store o Branch) Ad ogni ciclo di clock vengono prelevate 2 istruzioni La seconda istruzione puo essere lanciata solo va in una pipeline diversa - Se ho piu di una istruzione in attesa posso ad es. bloccare il fetch 5 10 I FP I FP I FP F D X M W F D X M W Instr. Roberto Giorgi, Universita di Siena, C208L05, Slide 15 F D X M W F D X M W F D X M W F D X M W Time [clocks] Nota: le operazioni FP possono allungare la durata dello stadio X Versione-4: Loop Unrolling nel caso Superscalare Integer Instr. FP Instr. 1 Loop: L.D F0,0(R1) 2 L.D F6,-8(R1) 3 L.D F10,-16(R1) Srotolo 5 volte per evitare stalli 4 L.D F14,-24(R1) ADD.D F8,F6,F2 5 L.D F18,-32(R1) ADD.D F12,F10,F2 6 S.D 0(R1),F4 ADD.D F16,F14,F2 7 S.D -8(R1),F8 ADD.D F20,F18,F2 8 S.D -16(R1),F12 9 SUBI R1,R1,#40 10 S.D 16(R1),F16 11 BNEZ R1,Loop 12 S.D 8(R1),F20 Questo loop gira in 12 cicli per iterazione (senza stalli) ovvero 12/5 =2.4 cicli per elemento del vettore Roberto Giorgi, Universita di Siena, C208L05, Slide 16

9 Processori Multiple Issue prodotti Superscalari IBM PowerPC, Sun UltraSparc, DEC Alpha, HP Il numero di istruzioni schedulate per ciclo (o vie) varia da 1 a 8 - Scheduling statico (compilatore) o dinamico (es. Tomasulo) (Very) Long Instruction Words (V)LIW - Crusoe VLIW processor [ - Intel Architecture-64 (IA-64) 64-bit address - La maggior parte dei DSP (Digital Signal Processor): Texas Instrument C6000, PowerPC..., ST Microelectronics... - Il numero di operazioni inserite dal compilatore in UNA istruzione varia da 4 a 16 Nota: dato che vorremmo CPI > 1 conviene usare IPC (Instructions Per Clock cycle) Roberto Giorgi, Universita di Siena, C208L05, Slide 17 Implementazione di processore VLIW I-fetch Functional Unit & issue Functional Unit Multi-Ported Register File Memory Port Memory Port to Memory to Memory from Memory from Memory Roberto Giorgi, Universita di Siena, C208L05, Slide 18

10 Approccio VLIW Le operazioni usano direttamente varie unita funzionali indipendenti L istruzione-lunga e composta da piu operazioni che vanno in parallelo La scelta delle operazioni che vanno in parallelo e fatta dal compilatore I i IF ID E E E W Time [clocks] I i+1 Instr. IF ID E E E W Roberto Giorgi, Universita di Siena, C208L05, Slide 19 Versione-5: Loop Unrolling nel caso VLIW Mem. Ref1 Mem Ref. 2 FP1 FP2 Int/Branch 1 L.D F2,0(R1) L.D F6,-8(R1) 2 L.D F10,-16(R1) L.D F14,-24(R1) 3 L.D F18,-32(R1) L.D F22,-40(R1) ADD.D F8,F0,F6 4 L.D F26,-48(R1) ADD.D F12,F0,F10 ADD.D F16,F0,F14 5 ADD.D F20,F0,F18 ADD.D F24,F0,F22 6 S.D 0(R1),F4 S.D -8(R1),F8 ADD.D F28,F0,F26 SUBI R1,R1,#56 7 S.D -16(R1),F12 S.D -24(R1),F16 8 S.D -32(R1),F20 S.D -40(R1),F24 BNEZ R1,Loop 9 S.D -48(R1),F28 Srotolo 7 volte per evitare stalli Elaboro 7 elementi in 9 cicli di clock, ovvero 1.3 cicli di clock per ogni elemento (1.8X rispetto al superscalare) Roberto Giorgi, Universita di Siena, C208L05, Slide 20 L efficienza non e molto alta: solo 2.5 operazioni per ciclo 50% Nota: il numero di registri FP usati e salito a 15 (contro i 12 del caso superscalare)

11 Problematiche dei processori Multiple Issue CPI=0.5 si ottiene soltanto se il compilatore produce Esattamente il 50% delle operazioni FP e 50 % Integer ogni 2 cicli Se non ci sono criticita (hazards) Per l hardware e poi estremamente semplice dispacciare FP/INT Se piu istruzioni vengono lanciate allo stesso istante, significa avere stadi di decodifica e lancio piu complessi Es. con 2-operazioni per ciclo occorre esaminare 2 opcode e 6 registri contemporaneamente e decidere se le due istruzioni possono veramente essere lanciate in parallello VLIW: per semplificare la decodifica si riducono gli opcode Es. Per eseguire in parallelo 2 operazioni intere, 2 FP, 2 operazioni in memoria e 1 branch occorrerebbero: - 7 x 16 = 112 bit per istruzione se uso operazioni lunghe 16 bit - 7 x 24 = 168 bit per istruzione se uso operazioni lunghe 24 bit Roberto Giorgi, Universita di Siena, C208L05, Slide 21 Dipendenze fra iterazioni ( Loop-Carried Dependence ) Consideriamo: for (i=0; i<8; i=i+1) { A = A + C[i]; /* S1 */ } In questo caso il parallelismo e generato dalla natura associativa dell addizione: Cycle 1 : Cycle 2 : Cycle 3 : temp0 = C[0] + C[1]; temp1 = C[2] + C[3]; temp2 = C[4] + C[5]; temp3 = C[6] + C[7]; temp4 = temp0 + temp1; temp5 = temp2 + temp3; A = temp4 + temp5; Roberto Giorgi, Universita di Siena, C208L05, Slide 22

12 Iterazioni NON facilmente srotolabili Consideriamo il seguente codice (A, B, C distinti e non sovrapposti in memoria): for (i=0; i<100; i=i+1) { A[i+1] = A[i] + C[i]; /* S1 */ B[i+1] = B[i] + A[i+1]; /* S2 */ } Esistono le seguenti dipendenze: 1) S2 usa il valore A[i+1] calcolato da S1 nella stessa iterazione 2) S1 usa il valore A[i] calcolato da S1 nell iterazione precedente (quando si chiamava A[i+i]) 3) Analoga dipendenza in S2 per B[i] calcolato all iterazione precedente come B[i+1] Anche srotolando, le dipendenze creano stalli Roberto Giorgi, Universita di Siena, C208L05, Slide 23 Metodo per superare le dipendenze fra iterazioni Consideriamo il seguente codice: for (i=1; i<=100; i=i+1) { A[i] = A[i] + B[i]; /* S1 */ B[i+1] = C[i] + D[i]; /* S2 */ } Trasformazione per sovrapporre le iterazioni: A[1] = A[1] + B[1]; for (i=1; i<100; i=i+1) { B[i+1] = C[i] + D[i]; } In questo modo ho eliminato le dipendenze fra iterazioni e posso usare proficuamente la tecnica di srotolamento Roberto Giorgi, Universita di Siena, C208L05, Slide 24 A[i+1] = A[i+1] + B[i+1]; B[101] = C[100] + D[100];

13 Un altra possibilita : Software Pipelining Osservazione: se le iterazioni fra loop sono indipendenti, allora si puo ottenere maggior parallelismo fra le istruzioni (ILP) prelevando istruzioni da differenti iterazioni Il Software Pipelining consiste appunto nel riorganizzare il codice dei loop in modo tale che ogni iterazioni sia composta da istruzioni provenienti da differenti iterazioni del ciclo originale (alcuni equiparano questo metodo ad una sorta di algoritmo di Tomasulo a software) Softwarepipelined iteration Iteration 0 Iteration 1 Iteration 2 Iteration 3 Roberto Giorgi, Universita di Siena, C208L05, Slide 25 Benefici del Software Pipelining Massimizza la distanza fra produzione e consumo del risultato Usa codice piu compatto rispetto all unrolling Ho un solo transitorio di riempimento e svuotamento della pipeline rispetto all unrolling dove cio avviene ad ogni iterazione srotolata overlapped ops SW Pipeline Time Loop Unrolled Time Roberto Giorgi, Universita di Siena, C208L05, Slide 26

14 Versione-6: Software Pipelining V-2: srotolamento di 4 volte 1 L.D F0,0(R1) 2 3 S.D 0(R1),F4 4 L.D F0,-8(R1) 5 6 S.D -8(R1),F4 7 L.D F0,-16(R1) 8 9 S.D -16(R1),F4 10 L.D F0,-24(R1) S.D -24(R1),F4 13 SUBI R1,R1,#32 14 BNEZ R1,LOOP L.D ADD.D L.D SUBI F0,0(R1) F4,F0,F2 F0,-8(R1) R1,R1,#16 V-6: Software Pipelining 1 S.D 16(R1),F4 ; Store di X[i] 2 ; Add di X[i-1] 3 L.D F0,0(R1); Load di X[i-2] 4 SUBI R1,R1,#8 5 BNEZ R1,LOOP 5 cicli per iterazione e per elemento S.D ADD.D S.D 16(R1),F4 F4,F0,F2 8(R1),F4 Roberto Giorgi, Universita di Siena, C208L05, Slide 27 Tabella di Riepilogo VERSIONE CICLI x ITERAZIONE CICLI x ELEMENTO SPEEDUP COMMENTI V Versione base V Instr. Scheduling V Loop Unrolling x4 V I.S. + L.U.x4 V Superscalar (LUx5) V VLIW (LUx7) V Software Pipelining Roberto Giorgi, Universita di Siena, C208L05, Slide 28

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con

Dettagli

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16

Dettagli

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/17

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

Schedulazione dinamica. Elettronica dei Calcolatori 1

Schedulazione dinamica. Elettronica dei Calcolatori 1 Schedulazione dinamica Elettronica dei Calcolatori 1 Schedulazione dinamica delle operazioni Impossibile risolvere tutti i conflitti staticamente I possibile predire tutti i salti condizionati HW fa durante

Dettagli

Aumentare il parallelismo a livello di istruzione (1)

Aumentare il parallelismo a livello di istruzione (1) Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea

Dettagli

MODELLO DLX IN UNISIM

MODELLO DLX IN UNISIM Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Pipeline Anno Accademico Francesco Tortorella Progettazione del datapath Prima soluzione: d.p. a ciclo singolo Semplice da realizzare Condizionato dal worst

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2011 CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)

Dettagli

Tecniche di parallelismo, processori RISC

Tecniche di parallelismo, processori RISC Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Architettura di un calcolatore: introduzione

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

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

Valutazione delle Prestazioni

Valutazione delle Prestazioni Valutazione delle Prestazioni Sia data una macchina X, definiamo: 1 PrestazioneX = --------------------------- Tempo di esecuzione X La prestazione aumenta con il diminuire del tempo di esecuzione (e diminuisce

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Architettura del Set di Istruzioni (ISA)

Architettura del Set di Istruzioni (ISA) Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la 8 Questo documento contiene le soluzioni ad un numero selezionato di esercizi del Capitolo 8 del libro Calcolatori Elettronici - Architettura e organizzazione, Mc-Graw Hill 2009. Sarò grato a coloro che

Dettagli

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Architetture moderne

Architetture moderne Architetture moderne Esecuzione delle istruzioni in pipeline Predizione dei branch Multiple issue Register renaming Esecuzione fuori ordine Cache non bloccanti Architetture avanzate - 1 Pipelining PIPELINING

Dettagli

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti Tecniche per il progetto di sistemi elettronici tolleranti ai guasti Fulvio Corno, Maurizio Rebaudengo, Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Le tecniche di

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della

Dettagli

Parallelismo a livello di istruzioni

Parallelismo a livello di istruzioni Parallelismo a livello di istruzioni 1 Alee o hazard, stalli Esistono situazioni, chiamate alee (hazard), che impediscono l esecuzione della successiva istruzione presente nel flusso di istruzioni, nel

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

MESSA IN SCALA DI ALGORITMI DIGITALI

MESSA IN SCALA DI ALGORITMI DIGITALI Ingegneria e Tecnologie dei Sistemi di Controllo Laurea Specialistica in Ingegneria Meccatronica MESSA IN SCALA DI ALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Antivirus. Lezione 07. A cosa serve un antivirus

Antivirus. Lezione 07. A cosa serve un antivirus Lezione 07 Antivirus A cosa serve un antivirus Un antivirus è un programma studiato per cercare tramite una scansione nel sistema in cui è installato la presenza di virus. La funzionalità di un antivirus

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Processori multiple-issue issue Nei processori multiple-issue vengono lanciate più istruzioni

Dettagli

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR

Dettagli

Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse

Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

Dettagli

Prodotto Matrice - Vettore in OpenMP

Prodotto Matrice - Vettore in OpenMP Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato di Calcolo Parallelo Prodotto Matrice - Vettore in OpenMP Anno Accademico 2011/2012 Professoressa Alessandra D Alessio Studenti

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato

Dettagli

Parte IV Architettura della CPU Central Processing Unit

Parte IV Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso

Dettagli

Introduzione alle architetture parallele

Introduzione alle architetture parallele Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione alle architetture parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Parallelismo Il parallelismo

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Il microprocessore 8086

Il microprocessore 8086 1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP

PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP La procedura di chiusura di fine anno, a partire dalla release 1.9.9.76, è stata resa più semplice e dotata di vari controlli che vengono fatti automaticamente

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Il problema del produttore e del consumatore. Cooperazione tra processi

Il problema del produttore e del consumatore. Cooperazione tra processi Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù

CALCOLATORI ELETTRONICI A cura di Luca Orrù Lezione 1 Obiettivi del corso Il corso si propone di descrivere i principi generali delle architetture di calcolo (collegamento tra l hardware e il software). Sommario 1. Tecniche di descrizione (necessarie

Dettagli