Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Il sistema binario, il complemento a Due, virgola mobile
BINARIO PURO
Con m bit è possibile rappresentare 2m-1 numeri
- Il sistema binario è un sistema numerale posizionale pesato
MODULO E SEGNO
SEGNO
1 0 1 0 1 1- n bit incluso segno
- intervallo [-(2n-1-1), 2n-1-1]
- 4 bit [-(24-1-1), 24-1-1]
- [ -7, +7 ]
- 2 bit [-(22-1-1), 22-1-1]
- [ -3, +3 ]
MODULO A DUE
- Numeri positivi: uguale a modulo e segno
NUMERI NEGATIVI
- Inverti cifre
- Somma 1
- +10 → 01010
- -10 → 10110
- 1510 → 01001100
- -1510 → 101100100
ADDITIONS
- Ignorare riporto finale
- Corretto se: se c’è somma di due negativi e si ottiene un positivo, se somma di due positivi è positiva
- Affermare overflow
ESEMPI
- 1.110 = 0110012
- +610 = 001102
- ________
- 0111
- 11000✔
- 1.2
- 011100
- 001100
- ________
- 11100✔
- 2.5
- 0111002
- +710 = 100112
- ________
- 10010
- 1001✘
- 3.10
- 011002
- -310 = 100012
- ________
- +010002
- 1001010 = OVERFLOW
NUMERO FRAZIONARIO
- 0.3210 → 0.32 × 2 = 0.64
- 0.16 → 0.25
- 0.64 × 2 = 1.28
- 0.28 × 2 = 0.56
- 0.56 × 2 = 1.12
- 0.01(2)
CALCOLO MACCHINE ERRORE
0.01012-2 + 2-4 + 2-5 = 0.3185NOTAZIONE SCIENTIFICA
|M| · 10e
- MANTISSA
- BASE DECIMALE
- ESPONENTE LEGATO ALLA VIRGOLA
ES: 437 23, 7% 0,1001
RAPPRESENTAZIONE NORMALIZZATA
- UN SOLO NUMERO PRIMA DELLA VIRGOLA
10,0011 → 1,00011 · 10+1
RAPPRESENTAZIONE INTEGRATA
- ELIMINO PARTE NEGATIVA AGGIUNGENDO BIAS
[−1,9;1,9] → [0,3,65]
VIRGOLA MOBILE
−3276,44685 =
1) NORMALIZZO
1,1001100110011 · 2+11
2) POLARIZZO ESPONENTE
11 + 127 = 138 → 1001010
3) VIRGOLA MOBILE
SEGNO ESPONENTE MANTISSA
1 1001010 1001100110011 0...
127 BIAS CODE RANGE 32
→ Ø NON RAPPRESENTABILE
0 1 0 11 0 1
C0 = X̅SC1 = X̅S
BANCO DEI REGISTRI
- Funziona da 2k vie
- Con 1input (dati dei registri) → ingressi 5bit
- k linee (encode dei comandi → SEL)
- 2k numeri conduttivi da nbit
- k=2 → porte AND (condizioni con comandi esterni) 3? E 1
Caso di lettura
- Le linee del decod. sono i negati di i3, i2, i1, i0
- I due AND attivi ai contatti sui contatti sul registro selezionato
Casco di scrittura
- Vett. vengono portato ad 1
- Viene acceso con iregistri → con icarichi → con ioutput → si lo L2
- Gli ingressi del decoder non sono porte AND con ware
con i comandi presi a contatto, con selezione scrittura avven.: AND=1:1
Il Banco dei Registri
- È un insieme di registri che possono essere letti o scritti
- Input:
- I numeri dei due registri da leggere
- Il numero del registro da scrivere
- Il dato da scrivere
- Output:
- I contenuti (dati) dei due registri letti
- La scrittura di un dato in ingresso viene controllata dal segnale RegWrite che deve essere posto a 1 per poter scrivere nel registro
RegDst=0 perché RegWrite=0
ALUsrc=0 perché il secondo operando viene dal campo rt
MemtoReg=0 perché RegWrite=0
RegWrite=0 perché non viene scritto nulla nel register file
MemRead=0 perché non c’è accesso in lettura alla memoria dati
MemWrite=0 perché non c’è accesso in scrittura alla memoria dati
Branch=1 perché l’indirizzo della prossima istruzione dipende dall’esito della sottrazione ed output Zero della ALU
ALUop=01 sono i segnali di controllo richiesti per beq
Up e Hazard
- L'unica problematica che genera conflitto determinando un non allineamento dei risultati prodotto da diverse istruzioni nel ciclo successivo.
- Tali situazioni vanno battle e derivano dai:
Hazard strutturali
- Qui non possiamo eseguire due istruzioni nello stesso pezzo di circos.
Hazard sui dati
- Quando abbiamo un confine e la necessità di utilizzare un risultato prodotto da una precedente istruzione (ancora in esecuzione):
- Esempio dove B1, om, funziono: somma: and, not, xor, or, not, and or.
Forwarding: avanti di tasso per gli UART
- Facciamo pensare in sede quanto direttamente sostituire:
- Esempio da B2, b3, il m1 cmp: L1, L1, L1, rd1, L1
- Lettura memorizzare effetto
- Uso forwarding Microparallelismo iRE.
- Esempio moltiplicazione
- Due coppie migliorano NEWALING con MD in questo MC evitare
- Res forwarding aumenta di hazard
- 12 ADD $10,$7,$7
- 16 ADD $10,$10,$10
- 20 BNE $7,$6,+6
- 24 ADD $11,$10,$2
- 28 LW $12,0($11)
- 32 ADD $13,$10,$3
- 36 LW $14,0($13)
- 40 ADD $5,$12,$14
- 44 BNE $10,$2,+6
- 48 ADD $15,$10,$1
- 52 SW $5,0($15)
- 56 ADD $5,$6,$0
- 60
ESERCIZIO 8
i = h;
if(i!=0)
A[i] = B[i];
else
A[0] = h*h = i
Assegnazione
- $1 ← i,
- $2 ← h,
- $7 ← indirizzo base di A,
- $6 ← indirizzo base di B,
- 12 ADD $1,$2,$0
- 16 ADD $3,$1,$1
- 20 ADD $3,$3,$3
- 24 BEQ $1,$0,+6
- 28 ADD $4,$5,$6
- 32 LW $4,0($4)
- 36 ADD $8,$3,$7
- 40 SW $8,0($8)
- 44 J 56
- 48 SW $2,0($7)
- 52 ADD $2,$1,$0
- 56
ESERCIZIO 9 - CICLO FOR
g=0
For(i=0; i<100; i++)
{
g=g+2
h=g;
Assegnazione
- $1 ← i,
- $2 ← g
- $3 ← h
- 4 ADD $2,$0,$0
- 8 ADD $1,$0,$0
- 12 SLT $4,$1,100
- 16 BEQ $4,$0,+3
- 20 ADDI $2,$2,2
- 24 ADDI $1,$1,1
- 28 J 12
- 32 ADD $3,$2,$0