Il processore: Data path e Control path

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il processore: Data path e Control path"

Transcript

1 Il processore: Data path e Control path A/A 217/218 1

2 Elementi di un processore In ogni processore si possono distriguere due elementi fondamentali: Data path Circuiti che eseguono operazioni aritmetico-logiche (ALU, shifter,...) Circuiti di mantenimento dello stato (registri, cache,...) Ogni componente che si trova sul percorso dei dati durante un elaborazione Control path Decodifica istruzioni e coordinamento unità di elaborazione Attivazione bus di I/O Selezione registri Selezione operazione dell ALU... 2

3 CPU MIPS Il datapath che costruiremo sarà una versione semplificata di una CPU MIPS Copre un sottoinsieme limitato di istruzioni rappresentative dell ISA: aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento di controllo: beq, j Ad ogni ciclo di clock viene eseguita una istruzione completa. Implementiamo un architettura Harvard Assumiamo che la memoria che tiene le istruzioni (read-only) e la memoria che tiene i dati (read/write) siano separate. Possiamo leggere e scrivere nello stesso ciclo di clock. 3

4 Cosa fa una CPU? Per ogni istruzione: legge dalla memoria l istruzione il cui indirizzo è nel PC legge dei registri (in base a quanto specificato dall istruzione) A seconda dell istruzione: usa la ALU per calcolare uno tra i seguenti valori: un risultato aritmetico/logico un indirizzo di memoria (registro + offset) l'indirizzo di un branch target accede alla memoria per load/store aggiorna il PC con PC + 4 o con un indirizzo target 4

5 Lettura di una istruzione da memoria Per eseguire un istruzione è necessario prima leggerla dalla memoria. PC è un registro dedicato che contiene l indirizzo dell istruzione attualmente in esecuzione, ovvero quella che devo leggere da memoria Escludendo casi di branch o jump, tipicamente la prossima istruzione da eseguire è quella successiva alla corrente. Ogni istruzione è rappresentata da un blocco di 32 bit (4 bye). L istruzione successiva a quella corrente si troverà quindi all indirizzo PC

6 Lettura di una istruzione da memoria PC+4 PC Clock (implicito) Istruzione attualmente in esecuzione Ad ogni fronte di clock Il registro PC aggiorna il suo valore, aumentandolo di 4 6

7 Istruzioni di tipo R L istruzione viene letta dalla memoria (es. add $s, $t, $t1). rs ($s) e rt ($t) selezionano i due registri in lettura rd ($t1) seleziona il registro in scrittura Vengono generati segnali di controllo dell ALU. Vengono letti i valori dei registri sorgenti e dati in input alla ALU. L ALU esegue l operazione. Il valore in output dalla ALU viene scritto nel registro destinazione ($t1). 7

8 Istruzioni di tipo R add $s, $t, $t1 rt=$t1 // 5 Read Reg 2 rd=$s Istruzione // 5 Write Reg Read Data 1 // 32 ALU Operation (add) ALU // 5 Read Reg 1 Register File rs=$t Read Data 2 Write Data // 32 // 32 RegWrite 8

9 Istruzioni load (tipo I) L istruzione viene letta dalla memoria (es. lw $t, 4($a)). Il valore contenuto nel registro rs ($a) viene mandato come primo operando all ALU. L offset (x4) viene esteso a 32 bit con segno ed inviato all ALU come secondo operando. Vengono generati segnali di controllo dell ALU. L ALU esegue l addizione tra valore del registro base e offset, ottenendo l indirizzo a cui accedere. Il dato è letto dalla memoria e scritto nel registro rt ($t). 9

10 Datapath istruzione load lw $t, 4($a) $t // 5 Read Reg 2 Write Reg // 32 Read Data 2 Write Data RegWrite x4 // 16 sext MemRead Address // x4 32 // 32 Data Memory Istruzione Read Data 1 ALU // 5 Read Reg 1 Registers $a ALU Operation (add) Write data Read data xxxxxxxxx 1

11 Istruzioni store (tipo I) Il valore contenuto nel registro rs ($a) viene mandato come primo operando all ALU. L offset (xc) viene esteso a 32 bit con segno ed inviato all ALU come secondo operando. Vengono generati segnali di controllo dell ALU. L ALU esegue l addizione tra valore del registro base e offset, ottenendo l indirizzo a cui accedere. Il dato contenuto nel registro rt ($t) è scritto nella memoria principale all indirizzo selezionato. 11

12 Datapath istruzione store sw $t, 12($a) Read Reg 2 Write Reg // 32 Read Data 2 Write Data // 32 xxxxxxxxx xc Address Data Memory // $t 5 Read Data 1 ALU operation ALU Istruzione // 5 Read Reg 1 Registers $a Write data Read data MemWrite // 16 sext // xc 32 12

13 Datapath combinato R/load/store 13

14 Istruzione di salto L istruzione viene letta dalla memoria (beq $t, $a, LABEL). L offset (LABEL) viene shiftato a sinistra di 2 bit e esteso a 32 bit con segno. L indirizzo risultante viene sommato con PC + 4 (adder aggiuntivo). I due registri in lettura rs ($t) e rt ($a) vengono passati alla ALU come operandi. La ALU calcola la differenza tra i due operandi. Viene interpretato il segnale zero della ALU per capire se il salto deve o meno avvenire. In caso affermativo, si esegue il salto aggiornando il valore di PC (PC LABEL) 14

15 Datapath istruzione di salto beq $t, $a, LABEL Add MUX 4 32 Read Reg 2 Write Reg Write Data PCSrc ALU operation Read Data 1 zero Read Reg 1 shift << 2 ALU Read Instruction $t sign // ext Registers // 16 $a Instruction Memory Read Address PC LABEL Add 1 Read Data 2 15

16 Datapath completo 16

17 Unità di controllo Il datapath che abbiamo costruito ha 7 segnali di controllo: RegWrite, ALUSrc, PCSrc, MemWrite, MemtoReg, MemRead 1 bit ALU Operation 4 bit L'unità di controllo del processore ha il compito di generare (direttamente o indirettamente) quei segnali. Segue una logica combinatoria: l'input è dato dall istruzione (i 6 bit del campo op) In output genera i segnali di controllo E composta da due parti: una di controllo generico una specifica per l ALU 17

18 Controllo della ALU L'unità di controllo della ALU deve generare il segnale ALU operation: Operazione ALU Funzione Aneg Bneg Op AND bitwise 1 OR bitwise 1 Addizione 1 1 Sottrazione 1 11 Confronto slt 1 1 NOR bitwise NAND bitwise Per le istruzioni di tipo R la funzione è data dal codice funct nell istruzione. Per le istruzioni load/store la funzione è sempre add (b1). Per le istruzioni tipo beq la funzione è sempre sub (b11). 18

19 Controllo della ALU L'input all'unità di controllo della ALU è dato da: due bit che indicano a che categoria appartiene l istruzione (ALUOp) il codice funct dell'istruzione per le istruzioni R I bit ALUOp sono settati dall'unità di controllo principale. ALUOp Operazione ALU desiderata ALU operation xxxxxx add 1 sw xxxxxx add 1 beq xxxxxx 1 sub 11 add 1 1 add 1 sub 11 1 sub 11 and 11 1 and or or 1 slt slt 111 Opcode [31:25] Funct [5:] lw op Bit funct Bit 5- / 6 Control / 2 ALUOp / 6 ALU Control / 4 Altri segnali di controllo ALU operation 19

20 Contollo e istruzioni In scrittura per tipo R e load R-type rs 31:26 Load/ Store 25:21 35 or 43 rs 31:26 Branch 4 Unico input del circuito di controllo principale rt 2:16 rt 25:21 rs 25:21 opcode Sempre lettura shamt funct 15:11 1:6 5: address 2:16 rt 31:26 rd Richiede un ulteriore segnale di controllo (RegDst) 15: address 2:16 Sempre lettura, eccetto load 15: Estensione segno e addizione 2

21 Datapath completo 21

22 Segnali di controllo per registri RegWrite 1 abilita scrittura di Write Data nel registro indicato da Write register. Disabilita scrittura registri RegDst 1 Seleziona Write Register da bit [15:11] dell istruzione Seleziona Write Register da bit [2:16] dell istruzione 22

23 Segnali di controllo dell ALU ALUSrc 1 Secondo operando dell ALU è una costante (bit 15:) estesa con segno a 32 bit Secondo operando dell ALU è il valore Read Register 2. ALUOp Segnale derivato dall opcode dell istruzione (bit 31:25) ALU Control Unione di bit [5:] e ALUOp per ottenere l operazione da far eseguire all ALU principale 23

24 Segnali di controllo memoria dati MemWrite Disabilita scrittura 1 Abilita scrittura del valore presente in Write data all indirizzo indicato da Address. MemRead Disabilita lettura 1 Abilita lettura del valore all inidirizzo Address e lo rende disponibile su Read Data. MemToReg Il valore scritto su registro è preso dall uscita dell ALU 1 Il valore scritto su registro è preso dal campo Read data della memoria dati. 24

25 Segnali di controllo per PC PCSrc PC viene incrementato di 4, esecuzione sequenziale 1 PC viene incrementato di una costante (bit 15:) estesa con segno a 32 bit PcSrc Branch PCSrc = 1 se e solo se: Istruzione in esecuzione è branch Segnale zero dell ALU è attivo Quindi posso ottenerlo con un circuito logico di and: PCSrc = Branch zero 25

26 Segnali di controllo principali L ingresso dell unità di controllo principale è costituito esclusivamente dal campo opcode (6 bit) Istruzione RegDst ALUSrc Memtoreg RegWrite MemRead MemWrite Branch ALUOp Tipo R (funct) lw (add) sw X 1 X 1 (add) beq X X 1 1 (sub) 26

27 Datapatch con controllo 27

28 Istruzioni tipo R 1 1 X 1 28

29 29

30 3

31 Istruzione beq X? 1 Zero = 1 salto (PCSrc = 1) Zero = non salto (PCSrc = ) X? 1 31

32 Istruzione I: addi X 32

33 Formato J Indirizzo destinazione: b = x46c Bit presi da PC attuale Sempre per allineamento a 32 bit istruzioni 33

34 Jump incondizionato 34

35 Considerazioni su datapath MIPS Un datapath contiene i componenti e i collegamenti necessari ad implementare un ISA (Instruction Set Architecture). L implementazione vista è molto semplificata, in particolare: a singolo ciclo di clock (1 ciclo 1 istruzione) a memorie separate (istruzioni e dati) con un ISA ridotto rispetto al MIPS classico a 32 bit La logica di controllo dice al datapath che cosa fare: si basa su una logica combinatoria riceve in input l istruzione binaria (la parte significativa) 35

36 Altre istruzioni e ISA In una CPU MIPS reale il datapath è molto più complesso, per implementare tutte le istruzioni standard dell architettura jal jr cvt.s.w. complessità aumenta considerevolmente Altre architetture RISC sono implementate sfruttando principi e componenti analoghi, ognuna con delle peculiarità diverse Architetture CISC hanno data/control path molto più complesso, tipicamente a causa della complessità delle istruzioni Codifica a lunghezza variabile Register-memory Dimensione variabile dei registri (es. x86) Microarchitettura 36

37 Eccezioni e interrupt Nella maggior parte dei casi il flusso di esecuzione è determinato Sequenzialmente Da istruzioni di salto Ci sono casi in cui l esecuzione normale è interrotta (evento di Interrupt ReQuest IRQ) e si entra in uno stato eccezionale Trap! divisione per, viene richiamato l ISR div_zero_int_isr Esecuzione Esecuzione normale ISR li li div mfhi mflo $a, 42 $a1, $a, $a1 $t $t div_zero_int_isr: addi $sp, $sp, -32 eret Salto automatico a Interrupt Service Handler (ISR) Ci possono essere leggere differenze sulla modalità di gestione dei vari eventi 37

38 Eccezioni e interrupt Un evento IRQ può succedere potenzialmente in qualunque momento Esempi di IRQ: L esecuzione dell ISR è spesso completamente asincrona al flusso di istruzioni normale Problemi di concorrenza ISR solitamente devono essere brevi e scritti con molta cura Nell ISR solitamente c è un prologo e un epilogo, analogamente alle funzioni, per gestire lo stato del programma interrotto e il suo eventuale ripristino IRQ gestiti normalmente dal sistema operativo in maniera trasparente Errori di esecuzione (trap), ad esempio: Eventi esterni da periferiche, ad esempio: Accessi a memoria non esistente o non consentita Errori aritmetici (es. divisione per ) Istruzione non valida Ricezione/trasmissione dati Timer Eventi generati dal codice Software Interrupt 38

39 Eccezioni e interrupt Nella maggior parte dei casi è possibile disabilitare l esecuzione degli ISR attraverso delle istruzioni o registri speciali MIPS mantiene dei registri speciali nel coprocessore, ad esempio: Processor Status register (xc) Cause of last exception (xd) Solitamente è una funzionalità possibile solo al sistema operativo, vietata a programmi normali Ulteriore complicazione di data/control path La gestione degli interrupt va configurata dal sistema operativo, ad esempio installando gli ISR appropriati per gli eventi che è necessario gestire, usando istruzioni o periferiche dedicate 39

40 Eccezioni in MARS.text main: teqi $t, li $v, 1 syscall # immediately trap because $t contains # After return from exception handler, specify exit service # terminate normally # Trap handler in the standard MIPS32 kernel text segment.ktext x818 move $k,$v # Save $v value move $k1,$a # Save $a value la $a, kmsg # address of string to print li $v, 4 # Print String service syscall move $v,$k # Restore $v move $a,$k1 # Restore $a mfc $k,$14 # Coprocessor register $14 has address of trapping instruction addi $k,$k,4 # Add 4 to point to next instruction mtc $k,$14 # Store new address back into $14 eret # Error return; set PC to value in $14.kdata kmsg:.asciiz "Trap generated" 4

41 Prestazioni Implementazione aumenta velocità di esecuzione di un generico programma Come quantifico la velocità di esecuzione? Wall clock time tempo reale, tiene conto di interrupt, tempi di attesa memoria etc CPU time tempo in cui la CPU esegue effettivamente qualcosa Definizione di throughput di una CPU: Numero di istruzioni/task/operazioni eseguite in un unità di tempo MIPS (Million of Instructions Per Second) es. 2 MIPS = 2 instr/s FLOPS (Floating Point Operation Per Second) es. 1.2 GFLOPS = fops/s 41

42 Prestazioni Non siamo interessati alla quantità statica di istruzioni, ovvero alle linee di codice del programma. Quello che dobbiamo considerare è la quantità dinamica di istruzioni, ovvero quante istruzioni vengono realmente eseguite durante l esecuzione del programma. Non sempre un numero minore di istruzioni statiche corrisponde a maggiori prestazioni, a volte è vero il contrario 3 righe, 21 istruzioni eseguite li loop: addi bne $a, 1 $a, $a, -1 $a, $zero, loop 42

43 Prestazioni - CPI Il numero medio di cicli di clock per istruzione (CPI) dipende sia dal processore che dal programma: un programma con molte istruzioni floating point può avere un CPI più alto di un programma che utilizza solo interi un processore può eseguire lo stesso programma molto più velocemente rispetto ad un altro processore meno performante. Nel datapath descritto nelle slides precedenti abbiamo assunto che una istruzione venga eseguita in un ciclo di clock, quindi il CPI è 1. In generale: CPI > 1 a causa di stalli sulla memoria o istruzioni lente CPI < 1 su macchine che eseguono più istruzioni nello stesso ciclo di clock 43

44 Prestazioni - CPI Esempio: una CPU necessita di 45 cicli di clock per eseguire uno specifico programma, per un totale di 3 istruzioni eseguite CPI = 45 / 3 = 1.5 Se la CPU ha un clock di 1 MHz, il tempo di CPU necessario sarà TCPU = 45 / (1 16) = s = 45 μs 44

45 Prestazioni tempo di CPU Per migliorare le performance si può migliorare ogni singolo fattore. Il miglioramento di un fattore può portare al peggioramento degli altri. Es. migliorando il CPI posso dover usare un clock più lento 45

46 Misura prestazioni $ sudo perf stat -d du -sch docs/ 2>&1 >/dev/null Performance counter stats for 'du -sch docs/': 2478, <not supported> task-clock (msec) context-switches cpu-migrations page-faults cycles stalled-cycles-frontend stalled-cycles-backend instructions branches branch-misses L1-dcache-loads L1-dcache-load-misses LLC-loads LLC-load-misses # # # # # # # # # # # # # #,114,4,1,44,947 71,95% 58,17%,54 1,33 15,553 4,79% 142,576 5,37% 4,41 CPUs utilized M/sec K/sec K/sec GHz frontend cycles idle backend cycles idle insn per cycle stalled cycles per insn M/sec of all branches M/sec of all L1-dcache hits M/sec (34,65%) (44,81%) (43,59%) (55,22%) (55,6%) (54,5%) (55,%) (23,29%) (23,4%) 21, seconds time elapsed 46

47 CPU a singolo ciclo di clock Ogni istruzione dell ISA prevede una combinazione di Lettura istruzione da memoria dedicata Decodifica istruzione Lettura registri Calcolo risultato da parte dell ALU Scrittura risultato in memoria o registro... In un ciclo di clock (periodo) deve poter essere eseguita una istruzione: il ciclo di clock deve essere abbastanza lungo da poter eseguire l istruzione più lenta dell ISA. Ma una volta decisa la frequenza di clock, ogni istruzione durerà esattamente lo stesso tempo (1 periodo, anche se potrebbe essere completata in meno tempo). 47

48 Esempio: lw $s, 4($t) Caricamento istruzione da memoria: 2 ns Lettura registro base $t: 1 ns Calcolo indirizzo finale $t+4: 2 ns Lettura dato da memoria: 2 ns Scrittura del dato in $s: 1 ns Totale: 8 ns 48

49 Esempio: add $s,$t1,$t Caricamento istruzione da memoria: 2 ns Lettura operandi $t1,t2: 1 ns Calcolo risultato addizione: 2 ns Scrittura del dato in $s: 1 ns Totale: 6 ns 49

50 Esempio: Calcolo Performance Periodo di clock dovrà essere superiore a 8 ns, tempo necessario all istruzione più lenta Istruzioni più veloci come la add dovranno attendere per il tempo rimanente. Ad esempio le istruzioni store potrebbero impiegare 7 ns, mentre le branch 5 ns Supponiamo di avere un programma la cui percentuale di istruzioni è Aritmetiche: 53 % Load: 12 % Store: 15 % Branch: 2 % Se potessi eseguire le istruzioni alla massima velocità (senza farle aspettare ) otterrei un tempo medio per istruzione di: = 6.19 ns invece di 8 ns con una CPU a singolo ciclo di clock Nella pratica la memoria principale (DRAM) ha tempi di accesso di ~ 5-1 ns CPU a singolo ciclo di clock sarebbe enormemente penalizzata! 5

51 Problemi performance Caratteristiche architetture moderne Tempo esecuzione CPU <<< tempo accesso memoria divario colmabile in gran parte usando cache Diverse classi di istruzioni usano blocchi logici diversi e in momenti diversi posso sfruttare i blocchi non usati in maniera più efficiente attraverso pipeline 51

Implementazione semplificata

Implementazione semplificata Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Componenti visti Nelle scorse lezioni abbiamo visto come sono realizzati i seguenti

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

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

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

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

Dettagli

Il Processore: l Unità di Controllo Principale Barbara Masucci

Il Processore: l Unità di Controllo Principale Barbara Masucci Architettura degli Elaboratori Il Processore: l Unità di Controllo Principale Barbara Masucci Punto della situazione Ø Abbiamo visto come costruire l Unità di Controllo della ALU per il processore MIPS

Dettagli

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

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

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/50 Sommario! La CPU! Sintesi di

Dettagli

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

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

Dettagli

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore

Dettagli

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base Massimiliano Giacomin 1 Esecuzione delle istruzioni MIPS con multiciclo: rivisitazione - esame dell istruzione lw (la più complessa) - in rosso

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/60 Sommario v La CPU v Sintesi di

Dettagli

Progetto CPU (ciclo singolo) Salvatore Orlando

Progetto CPU (ciclo singolo) Salvatore Orlando Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Progetto CPU (ciclo singolo) Semplificato in modo tale da eseguire solo: istruzioni di memory-reference:

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo

Dettagli

Linguaggio macchina e register file

Linguaggio macchina e register file Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 30 agosto 2010 CALCOLATORI ELETTRONICI 30 agosto 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Architettura degli Elaboratori

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

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/28 http:\\borghese.di.unimi.it\

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del Data path Data path a ciclo singolo Anno Accademico 27/28 Francesco Tortorella (si ringrazia il prof. M. De Santo per parte del materiale presente in queste slides) Realizzazione

Dettagli

Architettura degli Elaboratori B Introduzione al corso

Architettura degli Elaboratori B Introduzione al corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Componenti di un calcolatore convenzionale Studieremo il progetto e le prestazioni delle varie componenti

Dettagli

La CPU a singolo ciclo

La CPU a singolo ciclo La CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 5 (fino a 5.4) 1/44 Sommario

Dettagli

CALCOLATORI ELETTRONICI 27 giugno 2017

CALCOLATORI ELETTRONICI 27 giugno 2017 CALCOLATORI ELETTRONICI 27 giugno 2017 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

L unità di controllo di CPU a singolo ciclo. Sommario

L unità di controllo di CPU a singolo ciclo. Sommario L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2,

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J

CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J Architettura degli Elaboratori e delle Reti Lezione 9 CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2015

CALCOLATORI ELETTRONICI 29 giugno 2015 CALCOLATORI ELETTRONICI 29 giugno 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Relativamente al confronto tra le implementazioni del processore

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 1/8 Sommario! I problemi

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del path path a ciclo singolo Anno Accademico 24/25 Francesco Tortorella Realizzazione del data path. Analizzare l instruction set => Specifiche sul datapath il significato di ciascuna

Dettagli

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Contenuti del corso Progetto della CPU CPU in grado di eseguire un sottoinsieme di istruzioni MIPS in

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU multiciclo Massimiliano Giacomin SVANTAGGI DEL PROCESSORE A SINGOLO CICLO Tutte le istruzioni lunghe un ciclo di clock T clock determinato dall istruzione più lenta Istruzioni

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Realizzazione del Data path a ciclo singolo Anno Accademico 22/23 Alessandra Scotto di Freca Si ringrazia il prof.francesco

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L /9 Sommario! I problemi

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F. Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo PC emoria indirizzo IR Condizioni SEGNALI DI CONTROLLO dato letto UNITA DI ELABORAZIONE

Dettagli

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo

Dettagli

Gestione delle eccezioni.

Gestione delle eccezioni. Gestione delle eccezioni nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Eccezioni Fetch Decodifica Calcolo Lettura / scrittura Eccezione (es. istruzione non riconosciuta) Eccezione

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 9 settembre 2011 CALCOLATORI ELETTRONICI 9 settembre 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche AND, OR e NOT la funzione combinatoria (a

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch Decode Execute Program Counter controllare esegue prossima Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo

Dettagli

Esercitazione del 30/04/ Soluzioni

Esercitazione del 30/04/ Soluzioni Esercitazione del 30/04/2010 - Soluzioni Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione parte dell hardware della CPU rimane inutilizzato

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Dettagli

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if

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 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly Architettura degli Elaboratori e delle Reti Lezione 12 Assembly II Set di Istruzioni MIPS Strutture di controllo in Assembly Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università

Dettagli

CPU a singolo ciclo: l unità di controllo, istruzioni tipo J

CPU a singolo ciclo: l unità di controllo, istruzioni tipo J Architettura degli Elaboratori e delle Reti Lezione 9 CPU a singolo ciclo: l unità di controllo, istruzioni tipo J Pro. A. Borghese, F. Pedersini Dipartimento di Scienze dell Inormazione Università degli

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Data path multiciclo Anno Accademico 2007/2008 Francesco Tortorella Problemi dell implementazione singolo ciclo Arithmetic & Logical PC Inst Memory Reg File mux ALU mux setup Load PC Inst Memory

Dettagli

Elementi base per la realizzazione dell unità di calcolo

Elementi base per la realizzazione dell unità di calcolo Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni

Dettagli

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Argomenti della lezione - Esercizi sulla CPU MIPS a 1 colpo di clock

Dettagli

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

CALCOLATORI ELETTRONICI 27 marzo 2018

CALCOLATORI ELETTRONICI 27 marzo 2018 CALCOLATORI ELETTRONICI 27 marzo 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo Performance Come si definisce il concetto di performance? Tempo di esecuzione di un programma Wall-clock time CPU time tiene conto solo del tempo in cui il programma usa la CPU user time + system time

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS

ISA (Instruction Set Architecture) della CPU MIPS Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS32

ISA (Instruction Set Architecture) della CPU MIPS32 Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS32 Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina

Dettagli

Il linguaggio macchina

Il linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio

Dettagli

CPU pipeline hazards

CPU pipeline hazards Architettura degli Elaboratori e delle Reti Lezione 23 CPU pipeline hazards Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 23 /24 Sommario!

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

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione Modifiche di orario Lezione 19 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Al posto della lezione di domani giovedì 22/5 (12-1)

Dettagli

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base

Dettagli

CALCOLATORI ELETTRONICI 20 gennaio 2012

CALCOLATORI ELETTRONICI 20 gennaio 2012 CALCOLATORI ELETTRONICI 20 gennaio 2012 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

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

Architettura degli elaboratori MZ Compito A

Architettura degli elaboratori MZ Compito A Architettura degli elaboratori MZ 16-4-18 Compito A Cognome e Nome: Matricola: Esercizio 1A. Considerate l architettura MIPS a ciclo singolo in Figura (sul retro). Qual è il valore dei segnali che partono

Dettagli

Calcolatori Elettronici B a.a. 2007/2008

Calcolatori Elettronici B a.a. 2007/2008 Calcolatori Elettronici B a.a. 27/28 Tecniche Pipeline: Elementi di base assimiliano Giacomin Reg[IR[2-6]] = DR Dal processore multiciclo DR= em[aluout] em[aluout] =B Reg[IR[5-]] =ALUout CASO IPS lw sw

Dettagli

L unità di controllo di CPU multi-ciclo. Sommario

L unità di controllo di CPU multi-ciclo. Sommario L unità di controllo di CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: Sezione C3 1/24

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

CALCOLATORI ELETTRONICI 15 giugno 2015

CALCOLATORI ELETTRONICI 15 giugno 2015 CALCOLATORI ELETTRONICI 15 giugno 2015 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Circuiti Sequenziali

Circuiti Sequenziali Circuiti Sequenziali I circuiti combinatori sono in grado di calcolare funzioni che dipendono solo dai dati in input I circuiti sequenziali sono invece in grado di calcolare funzioni che dipendono anche

Dettagli

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

Dettagli

Architettura del processore MIPS

Architettura del processore MIPS Architettura del processore IPS Prof. Cristina Silvano Dipartimento di Elettronica e Informazione Politecnico di ilano email: : silvano@elet elet.polimi.itit Sommario Instruction Set semplificato Esecuzione

Dettagli

Il Processore: l Unità di Controllo della ALU Barbara Masucci

Il Processore: l Unità di Controllo della ALU Barbara Masucci Architettura degli Elaboratori Il Processore: l Unità di Controllo della ALU Barbara Masucci Punto della situazione Abbiamo visto come costruire l Unità di Elaborazione Dati (Datapath) del processore MIPS

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 20 Giugno 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

Dettagli

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

Dettagli

Lezione 29 Il processore: unità di controllo (2)

Lezione 29 Il processore: unità di controllo (2) Lezione 29 Il processore: unità di lo (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione 2 Un riepilogo: ruolo della unità di

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 Tecniche di Controllo: Esercizi Massimiliano Giacomin Calcolo CPI e Prestazioni nei sistemi a singolo ciclo e multiciclo ) Calcolo prestazioni nei sistemi a singolo

Dettagli

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE Seconda Prova Intercorso ed Esami di Febbraio Lezione 24 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Seconda prova intercorso:

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base (ESERCIZI) assimiliano Giacomin Esercizio confronto prestazioni pipeline vs. mlticiclo Si consideri la segente combinazione di istrzioni esegite

Dettagli

Una CPU multi-ciclo. Sommario

Una CPU multi-ciclo. Sommario Una CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/3 http:\\homes.dsi.unimi.it\ borghese Sommario I problemi della

Dettagli

ISA e linguaggio macchina

ISA e linguaggio macchina ISA e linguaggio macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/55

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

31!30!29!28!27!26!25!24!23!22!21!20!19!18!17!16!15!14!13!12!11!10! 9! 8! 7! 6! 5! 4! 3! 2! 1! 0! !

31!30!29!28!27!26!25!24!23!22!21!20!19!18!17!16!15!14!13!12!11!10! 9! 8! 7! 6! 5! 4! 3! 2! 1! 0! ! ESERCIZIO 1A Si consideri il seguente programma (accanto ad ogni istruzione è riportata la rappresentazione in binario): sw $s0, 40($s1) 101011 10001 10000 0000000000101000 lw $t0, 40($s1) 100011 10001

Dettagli

Realizzazione a cicli di clock multipli

Realizzazione a cicli di clock multipli Realizzazione a cicli di clock multipli Riprendiamo in esame la realizzazione dell'unità di calcolo per individuare, per ciascuna classe di istruzioni, le componenti utilizzate e suddividere le azioni

Dettagli

7 May INTERRUPT ED ECCEZIONI I. Frosio

7 May INTERRUPT ED ECCEZIONI I. Frosio 1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM) Decodifica

Dettagli