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.
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
Carry Look-Ahead Unit
C 0 P P P
0 1 32
G G G
0 1 32
C 4
Calcoliamo ora il tempo necessario per produrre c :
16C = G + P C
4 3 3 3= G + P (G + P (G + P (G + P C )))
3 3 2 2 1 1 0 0 0= G + P G + P P G + P P P G + P P P P C
3 3 2 3 2 1 3 2 1 0 3 2 1 0 0
Δ = per p e g nel primo livello di astrazione prodotti in parallelo
i Δ Δ2 = G nel secondo livello di astrazione (P sarà )
i i Δ2 = dovuto all’equazione in forma SOP
—————————————————————————————Δ5 totali
Calcoliamo ora il numero di porte AND e OR:
4x4 AND per i segnali g i
4X4 OR per i segnali p i
4 AND per i segnali P i
3x4 AND + 1x4 OR per i segnali G i
1 AND (C )1
2 AND (C )2
3 AND (C )3
4 AND (C )4
4 OR per i segnali C
- Progettare tenendo conto della legge di Moore, stabilisce che le risorse messe a disposizione dai circuiti integrati vengano duplicate ogni 18-24 mesi e deriva da una predizione sull'aumento della capacità dei curati integrati fatta da Gordon Moore nel 1965.
- Utilizzo delle astrazioni per semplificare il progetto. Progettisti e programmatori hanno dovuto inventare delle tecniche che li rendessero più produttivi. Una di queste
- Rendere veloci le situazioni comuni, tende a far aumentare le prestazioni più dell'ottimizzazione delle funzionalità più comunemente utilizzate.
- Prestazioni attraverso il parallelismo, di grande importanza l'introduzione di operazioni in parallelo in termini di efficienza.
- Prestazioni attraverso la pipeline, una particolare forma di parallelismo.
- Prestazioni attraverso predizioni, in alcuni casi è in generale più veloce tirare ad indovinare ed iniziare a lavorare di conseguenza che aspettare di sapere con certezza a patto che si siano tenuti in conto dei rischi dovuti.
- Gerarchia della memoria, l'ideale sarebbe avere memorie grandi e veloci poco costose e molto prestazioni. I programmatori hanno risolto le esigenze con la gerarchia delle memoria nella quale la memoria più veloce
piccola con il costo maggiore per il singolobit sta in cima alla gerarchia mentre alla base abbiamo la memoria più capiente e lentama meno costosa.
• a dabilità e ridondanza, dato che i calcolatori sono soggetti a guasti occorre prevederecomponenti ridondanti che possano garantire a dabilità e continuità di servizio.
10) Come è noto nell’esecuzione di istruzioni di somma e sottrazione si può generarel’over ow e/o il riporto. Si discuta il comportamento del processore MIPS in presenzadi tali condizioni. Si descriva il significato di tali condizioni, si indichi come si possatenerne conto e quali siano le istruzioni da utilizzare, ben motivando la risposta. Si dicain quali delle istruzioni seguenti non si può produrre over ow e in quali invece si può ein quali condizioni, commentando adeguatamente la risposta:
add $8, $zero, $9
sub $8, $zero, $9
add $8, $9, $zero
sub $8, $9, $zero
Il processore MIPS non presenta un ag per
over ow, ma lo rileva tramite un'eccezione. Ossia un evento inatteso interno al processore che interrompe il normale flusso di esecuzione delle istruzioni. Il MIPS dispone di un registro speciale chiamato EPC per memorizzare l'indirizzo dell'istruzione che ha causato l'eccezione, da qui l'esecuzione salta ad una procedura appropriata che gestirà l'eccezione di over ow. Per modificare il registro EPC dobbiamo utilizzare delle istruzioni speciali come mfc0 che ci permetterà di inserire in un registro ordinario il suo contenuto. In questo caso i programmatori del MIPS scelsero di riservare due registri, $k0 e $k1 al sistema operativo per risolvere il problema del trasferimento del EPC in un registro ordinario prima di effettuare il salto con ritorno.
Per la condizione di carry si hanno nuove istruzioni aritmetiche che permettono di riconoscere la non accettazione dell'over ow. Queste istruzioni sono: addu, addiu e subu. La condizione di over ow si
Veri ca quando il risultato di un'operazione tra numeri binari espressi in complemento alla base non può essere rappresentato con l'hardware a disposizione. La condizione di carry invece è il superamento della capacità di rappresentazione dei numeri in valore assoluto. Esistono delle procedure per rilevare entrambe le condizioni.
Il codice rileva la presenza di overflow sulla base dei segni degli operandi e del risultato della somma. In particolare se sommo due
operandi aventi lo stesso segno ed il risultatoavrà segno opposto allora ci sarà over ow. Equazioneli $t1, 0xf0001000 #sono due numeri negativi fondamentaleli $t2, 0xf0001000 #piccoli 2 -1 > t +t32 1 2#Rivelazione carrynor $t3, $t1, $zero #nego t1, 2 -1-t132sltu $t3, $t3, $t2 #2 -1-t1 < t2? t3 = 132bne $t3, $zero, carry #t3 = 1, salta a carryaddu $t0, $t1, $t2 #no carry, si può fare +j poicarry: …poi: …Il codice rileva la presenza di carry sfruttando una proprietà aritmetica. In particolare se ilmassimo valore, conoscendo base di rappresentazione e numero di cifre, sarà minoredella somma dei due operandi allora ci sarà carry.L’unico caso in cui sommando/sottraendo due operandi di cui uno posto a zero potràavere over ow sarà quando il risultato uscirà dalla dinamica di rappresentazione.Sapendo che adottando la rappresentazione in complemento alla base avremo unacon gurazione in meno per i valori
positivi avrò over ow quando farò la differenza tra zeroed il più piccolo valor negativo rappresentabile.
li $t1, 0x80000000 0x 0 0 0 0 0 0 0 0 -0x 8 0 0 0 0 0 0 0
sub $t0, $zero, $t1 ————————over ow
- Si discutano le modalità di indirizzamento seguenti, previste dal set di istruzioni del processore MIPS, per quanto concerne il modo di operare, il formato delle istruzioni che ne fanno uso e l'uso dell'operando eventualmente presente in tali istruzioni specificando se si verifica l'estensione del segno. Si propongano almeno due esempi di istruzioni, sintatticamente complete, per ciascun indirizzamento proposto:
Base addressing
Addressing modes:
Immediate addressing
L'indirizzamento base e o set è caratterizzato dall'operando contenuto in memoria. La locazione di memoria è raggiungibile sommando l'indirizzo di memoria contenuto in un
Immediate addressing: il valore immediato è contenuto nell'istruzione stessa.
Register addressing: l'indirizzo specificato nell'istruzione è un registro.
Base addressing: l'indirizzo specificato nell'istruzione è la somma tra un registro e una costante.
PC-relative addressing: l'indirizzo specificato nell'istruzione è la somma tra il valore del Program Counter (PC) e una costante.
Pseudodirect addressing: l'indirizzo specificato nell'istruzione è un registro che contiene l'indirizzo di memoria.
sommaWordtra l'indirizzo base presente nel registro s2 e la costante 4 estesa in segno su 32 bit ePCrispettante il vincolo di allineamento a word 57L'indirizzamento immediato è caratterizzato dall'operando espresso come costante di 16Università di Pavia - corso di Calcolatori Elettronicibit nell'istruzione stessa. Le istruzioni che fanno uso di questo metodo di indirizzamentoAddressing modes:sono quelle con formato di tipo I ad esempio istruzioni aritmetiche con operandoimmediato, add immediate (addi) oppure istruzioni logiche, or immediate (ori)1. Immediate addressingop rs rt Immediate2. Register addressingaddi $s0, $a0, -30000op rs rt rd . . . funct RegistersRegisteresegue la somma aritmetica tra il contenuto del registro a0 e la costante decimale3. Base addressingespressa in complemento alla base estesa in segno su 32 bit, in particolare essendoMemoryop rs rt Addressnegativa verrà complimentata e verranno estesi con FFFF. Attenzione
Perché potrebbe verificarsi overflow?
Il risultato della logica tra il contenuto del registro t2 e la costante 4 verrà caricato nel registro t5. L'indirizzamento PC-relative nella memoria espresso nell'istruzione non è sottoposto ad estensione del segno.
Op rs rt Address 11+ Word PC fi fl fi ff ff
Come è noto, conclusa la fase di simulazione di un programma, bisogna valutare quali requisiti di memoria debbano essere rispettati affinché il programma possa essere messo in esecuzione su una scheda reale basata sul processore MIPS, da progettare o acquisire dal mercato. Si spieghi come.