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
Modulo e Segno
La rappresentazione modulo e segno su n bit ha un formato a 2 campi.
- Campo dei segno (1 bit): 0 o 1
- Campo del contenuto (n-1 bit): parte numerica
Se il numero da rappresentare è positivo, il segno vale 0 e la porzione numerica è la rappresentazione in binario puro del numero.
Se il numero da rappresentare è negativo, il segno vale 1 e la porzione numerica è la rappresentazione in binario puro del numero positivo opposto.
Quindi il bit più significativo viene usato come segno e tutti gli altri per rappresentare il modulo in binario puro.
Esempio
- +2 su 3 bit: +2 = 010
- -2 su 3 bit: -2 = 110
- +13 su 10 bit: +13 = 0000001101
- -13 su 10 bit: -13 = 1000001101
I numeri rappresentabili con modulo e segno vanno da -((2n-1-1)) a +(2n-1-1)
Complemento a Due
La rappresentazione complemento a due su n bit ha un formato a 2 campi:
- Campo dei segno (1 bit): 0 o 1
- Campo del contenuto (n-1 bit): parte numerica
Se il numero da rappresentare è positivo, il segno vale 0 e la porzione numerica è la rappresentazione in binario puro del numero.
Se il numero da rappresentare è negativo, il segno vale 1 e la porzione numerica è la rappresentazione in binario puro di 2n meno il modulo del numero.
Quindi il bit più significativo è riconosciuto come segno e, se 1, si mostra che il numero è negativo. I dati della relazione n2 vengono scambiati di posizione. Esiste una relazione univoca con quella del sistema preferenziale. Differisce ma i suoi valori hanno lo stesso aspetto.
I numeri rappresentabili con n bit in complemento a 2 vanno da -2n-1 a +2n-1-1
Lo standard in virgola mobile nasce dalla necessità di poter
rappresentare in forma normalizzata un numero che con la
notazione esponenziale può essere rappresentato in infiniti modi.
Vengono usati 32 bit: il primo è il bit di segno, i seguenti 8 bit
sono dedicati all'esponente ed infine gli ultimi 23 bit rimanenti
sono dedicati alla mantissa e cioè alla parte dopo la
virgola. Con gli 8 bit dell'esponente possiamo rappresentare l'intervallo
da -126 a 127 (avendo necessità di un esponente positivo). I restanti 23
bit indicano ciò che si trova a destra della virgola, prendendo
come standard la presenza di un solo 1 a sinistra di questa.
Esempio
-5,625
- 1,012 x 22 ->
- 101,1012
Nasce vera la necessità di normalizzarlo
facendo la virgola alla destra del primo 1.
L'esponente vale +2 poiché ho spostato la virgola di 2 posizioni
verso sinistra. Il nostro esponente sarà 129 che su 8 bit vale
10000001. Possiamo quindi rappresentare il numero in virgola
mobile.
-5,625
11000000101011010000000000000000
segno esponente mantissa (1+2) (123 bit)
Sommatore (o alla sommatrice) è un dispositivo (circuito combinatorio) che
quando in input a, b e c. e i relativi vettori restituisce output
tra la numero sarà uguale a 0. Restituisce il valore in output il resultato
tra a, b, c e il rispetto che andrà a finire in un altra cella.
Funzione della somma
abcsc0000001101010110100110101110011111Si i cominci dove vai punti 1, 2, 4, 7, quindi S(i) = a.i.b.i
S(i) mare a, o e. Si = ai bi e si = a e biomarica e
S(i) riguardo dove vai punti 3, 6, 7, quindi ci trova ai
ai+1=a
S = (ai li ci) + (ai bi ci) + (ai bi ci) + (ai bi ci)
C = (ai bi ci) + (ai bi ai) + (ai bi ci) + (ai bi ci)
Circuito in III
L’ADD effettua la somma in complemento a 2 dei 2 operandi indicati
Lo SUB effettua la somma in complemento a 2 del primo operando moltip. con l’opposto del secondo
Lo SLT effettua un confronto e vale 1 se il primo operando è minore del secondo. Se è grosso allora 0. Infatti vogliamo rendere se A < B. 1 si equivale, 0 invece se A >= B.
Effettua una differenza fra il primo e il secondo e prend. dalla ALU il 31° risultato del contatore. Cioè equivale al bit di segno della sottrazione e in questo bit sara’ il risultato della SLT
L’AND effettua l’and bit a bit dei 2 operandi inseriti.
L’OR effettua l’or bit a bit dei 2 operandi inseriti.
Unità di propagazione
L'unità di propagazione risolve i conflitti derivanti dall'aver due dati in simultanea.
Bloccano l'accesso interno alle unità di elaborazione, invece di aspettare che scrivano un registro o alla memoria. Si scrivono così degli interi e si rallenta l'esecuzione.
Criticità fase EXE
- se (exe/mem.regwrite=1)
- e (exe/mem.rd ≠ $0)
- e (exe/mem.rd = id/exe.rs)
- propaga A=10
- se (exe/mem.regwrite=1)
- e (exe/mem.rd ≠ $0)
- e (exe/mem.rd = id/exe.rt)
- propaga B=10
Per la fase exe, le unità di propagazione controllano Rst e RT. Sono uguali: al campo D del registro exe/mem:w = Rs e RT = uguale a m.l.visione settata, propaga A o 10 contro all'ingresso A dell'ALU; identico il campo A o UV del registro exe/mem. Se RT = uguale a D, m.l.visione settata, propaga B o 11 con nell'ingresso B dell'ALU. Entrano il campo alu scr del registro exe/mem.
Propaga A e Propaga B
Sono i due mux di A e B.
Ingressi
- 0 A e B del B.R.
- 1 Output non to reg
- 2 Dammu
Nella "U.P." entrano RS e RT del registro di tipo id/exe e il list RS e il bit 0 del registro mem/read. In d= mem.regwrite, indirizza al campo D del registro mem/ris.
La M.P. non può risolvere gli hazard sui dati di memo load. Hazard originato dal salto se il dato letto dalla memoria ha un'istruzione load non ancora disponibile; quando servirà ciò, un'altra istruzione→BOLLS
Criticità fase MEM
- se (mem/wb.regwrite=1)
- e (mem/wb.rd ≠ $0)
- e (mem/wb.rd = id/exe.rs)
- propaga A=01
- se (mem/wb.regwrite=1)
- e (mem/wb.rd ≠ $0)
- e (mem/wb.rd = id/exe.rt)
- propaga B=01
Per la fase MEM, l'unità di propagazione controlla se il campo D del registro mem/wb è uguale al campo RS e RT del registro id/exe: se A è uguale a D RS setto propaga A a D, setto B e infine B. All'ALU entrerà il risultato di mem/to reg.
- Se non uguale o rt = uguale o RT (setto propaga B) a 10 e il campo nell'ingresso B entrerà il risultato di mem/to reg.
- * fa tutte le registrazioni a 1
Sorgono dei problemi con le istruzioni aritmetiche e le lav in fase mon.
Per le istruzioni aritmetiche l'utente aggiunge una bolla se i registri trs e rtd
usale tre contenicono con quelli dell'istruzione aritmetica in fase exe
generale se all'inizio della fase mon avremo le istrijss calcolata dall'eu
Viene aggiunta una zuccona per propagare il risultato dell'LU della fase
mon; essa bordate permette un input fels nel modo ter del derrrrr
esempio. La frase mon fa uscire alprogu solo se:
- se RS = ex/mem.do RT-ex/mem.d
- e exe/mem. Register = 1
- e (exe/mem.MR = 1 o branne) allora cerca bolla
Gli prodotti della tale unit] serranno i bit di controllo del mem, rlae al rinn- /
inipross avremmo Ae B da p.s R i calm cult da exe misma. al l'seccord
Lineage il problema della lav in face mon; potrete tutto elle. fine selle tale
con i reg di esultazione o exbratio refresh; quindi viospanna suplettab
adstaue il macch -INC una caso, di mme o EXE il mun; RS o RT concludiano
con had ai registe jo la mu tratta una sul e quindi MR = 1 e aggiunge
- se RS = exe-ter o RT- exe/mon.d
- e branne=1 allora cerca bolla