tutorato architettura degli elaboratori

38
Architettura degli elaboratori - Tutorato - Dott. Damiano Braga Architettura degli elaboratori Tutorato Dott. Damiano Braga

Upload: others

Post on 24-Nov-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Architettura degli elaboratori

Tutorato

Dott. Damiano Braga

Page 2: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Before we start..

[email protected]

Orario• 12 Aprile h. 14.00-16.00 aula F6• 20 Aprile h. 11.30-13.30 aula F6• 10 Maggio h. 14.00-16.00 aula F4• 18 Maggio h. 11.30-13.30 aula F6• 26 Maggio h. 11.30-13.30 aula F6• 7 Giugno h. 14.00-16.00 aula F4

Page 3: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

- logica combinatoria- prestazioni- macchine a stati- segnali di controllo

Faremo esercizi su..

Page 4: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Si completi la tabella sul retro del foglio con i valori dei segnali di controllo relativi alla realizzazione del processore MIPS descritta in

figura per eseguire l’istruzione

SUBI $R4 $R5 OxAB

SUBI prende il valore OxAB (in 32 bit) e lo sottrae a ciò che è contenuto in R5, a quel punto mette il risultato in R4.

Page 5: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Che tipo di istruzione è?

Page 6: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Istruzioni MIPS

R registroI immediatoJ jump

rs - registro dell’operando (R)rt - registro dell’operando (R) - destinazione (I)rd - registro destinazione , cioè il risultato dell’opshamt - valore scalamento (shift)funct - codice funzioneimmediate - dato immediato / offsetaddress - indirizzo di salto

Page 7: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Che tipo di istruzione è?

E’ di tipo I (immediato)

Dobbiamo scomporre l’istruzione in più fasi:- fetch- decode-execute-mem-write back

Page 8: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Per ogni fase dobbiamo verificare il comportamento di ogni segnale e

completare quindi una tabella

PCWriteCondPCWriteIO  RDMem  ReadMem  WriteMem  to  RegIR  writePC  SourceALUOPALU  SRCAALU  SRCBRegWriteRegDest

Page 9: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

1) fetch

Page 10: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2) decode

Page 11: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

3) execute

Page 12: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

3) execute

Page 13: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

4) mem

Page 14: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

5) write back

Page 15: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Page 16: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Page 17: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Page 18: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Page 19: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Page 20: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

SUBI $R4 $R5 OxAB

Page 21: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Per esercizio:

- add $R2 $R3 $R4-addi $R2 $R3 200- sw $R2 1000($R3)-beq $R2 $R3 target

Page 22: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Si consideri una macchina a stati che realizzi un contatore a 3 bit, controllata da 2 bit c0 e c1.

-Se c0=c1=0 la macchina transisce allo stato associato al valore 000. - Se c0=1 e C1=0 +1-Se c0=c1=1 la macchina rimane nello stato corrente.-Se c0=0 e c1=1 la macchina incrementa di 2 il contatore

Si descriva la macchina tramite tabella di verità e diagramma a bolle.

Page 23: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

un pò di notazione..

-Ogni stato è un tondino-Ogni tondino ha una o più frecce uscenti ed eventualmente una o più frecce entranti-La freccia rappresenta la transizione dello stato-La notazione deve essere chiara e COERENTE

diagramma S0

??

??

Page 24: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

un pò di notazione..

- riporta i segnali di controllo, stato attuale e stato futuro- per ogni stato bisogna riportare tutte le possibili transizioni !- PRESENTE e FUTURO ma MAI PASSATO!!

tabella

Page 25: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

?DOMANDE

INIZIAMO

Page 26: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Un processore ha un clock di frequenza 2,66 GHz. Un programma lanciato su tale proc esegue 7x10^7 istruzioni. il 37% di tali istruzioni viene eseguito in 4 cicli di clock ognuna. Il 16% viene eseguito in 3 ognuna. le rimanenti vengono eseguite in 5 cicli di cock ognuna.Si calcoli:

- Periodo di clock del processore- Tempo necessario per esecuzione del programma- Tempo necessario per esecuzione del programma se tutte le istruzioni impiegano 4 cicli di clock ognuna

Page 27: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

f = 2,66 GHz 2,66 x 10^ 9 Hz

Hz = 1/s

1) Periodo di Clock ?

T = 1/ 2,66x10^9 Hz

T circa 3,76 x 10^-10

T = 1

f

Page 28: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2) Tempo di esecuzione programma

A 37%

B 16%

C 47%

Tot istruzioni = 7x10^7

4 cicli di clock

3 cicli di clock

5 cicli di clock

Page 29: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2) Tempo di esecuzione programma

A 7x10^7 * 37% = 25900000 4 cicli di clock

3 cicli di clock

5 cicli di clock

B 7x10^7 * 16% = 11200000C 7x10^7 * 47% = 32900000

tcpu = cicli_clock_cpu

f clock

Page 30: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2) Tempo di esecuzione programma

A 7x10^7 * 37% = 25900000 4 cicli di clock

3 cicli di clock

5 cicli di clock

B 7x10^7 * 16% = 11200000C 7x10^7 * 47% = 32900000

cicli_clock_cpu = N istruz_programma x N avg cicli clock pi

Page 31: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2) Tempo di esecuzione programma

tA =25900000 * 4 4 cicli di clock

3 cicli di clock

5 cicli di clock

2,6 x 10^9

tB =11200000 * 3

2,6 x 10^9

tC =32900000 * 5

2,6 x 10^9

Page 32: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2) Tempo di esecuzione programma

tEXEC = tA+tB+tC = circa 0,078336

Page 33: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

3) Tempo di esecuzione programma

A 37%

B 16%

C 47%

Tot istruzioni = 7x10^7

4 cicli di clock

4 cicli di clock

4 cicli di clock

Page 34: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

3) Tempo di esecuzione programma

A 7x10^7 * 37% = 25900000 4 cicli di clock

4 cicli di clock

4 cicli di clock

B 7x10^7 * 16% = 11200000C 7x10^7 * 47% = 32900000

Page 35: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

3) Tempo di esecuzione programma

tA =25900000 * 4 4 cicli di clock

4 cicli di clock

4 cicli di clock

2,6 x 10^9

tB =11200000 * 4

2,6 x 10^9

tC =32900000 * 4

2,6 x 10^9

Page 36: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

3) Tempo di esecuzione programma

tEXEC = tA+tB+tC = circa 0,10764

Page 37: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Si ha a disposizione una funzione f(a,b,c) chiamata funzione di maggioranza. La funzione assume significato quando vi è una maggioranza di bit a 1. Si determini la tabella di verità di f e di f negata e si semplifichi a scelta una delle due funzioni. Si disegni poi il circuito risultante.

Page 38: Tutorato Architettura degli elaboratori

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

?DOMANDE

INIZIAMO