90 likes | 225 Views
Selezione di domande proposte in II itinere 1/9. Per la rappresentazione in virgola mobile lo standard IEEE754 permette di rappresentare oltre ai numeri normalizzati anche i numeri denormalizzati (sub-number). Se ne presenti la rappresentazione e la relativa utilità.
E N D
Selezione di domande proposte in II itinere 1/9 Per la rappresentazione in virgola mobile lo standard IEEE754 permette di rappresentare oltre ai numeri normalizzati anche i numeri denormalizzati (sub-number). Se ne presenti la rappresentazione e la relativa utilità. I 2 numeri seguenti sono rappresentati in virgola mobile in singola precisione, secondo lo standard IEEE 754. Si indichi nella tabella seguente a quali numeri decimali essi corrispondano commentando il risultato ottenuto. . 1 | 110 1111 0 | 110 0000 0000 0000 … 0 -1.112 x 2 222-127 = -1.7510 x 2 95 0 | 000 0000 0 | 000 0000 0101 0 … 0 0.000000001012 x 2 -126 =0.1012 x 2 -134 = 0.62510 x 2 -134
Selezione di domande proposte in II itinere 2/9 Si descriva l’utilità delle direttive per l’assemblatore. Si descriva in particolare il significato delle direttive seguenti: .word.double Si descriva il principio di funzionamento dell’unità di carry look-ahead (anticipazione di riporto) a 5 bit stimando il tempo necessario a produrre il riporto c5 d’uscita. Se si volesse realizzare un sommatore a 15 bit collegando 3 blocchi di somma proposti in serie (e quindi con propagazione del riporto fra i sommatori a 5 bit) quanto tempo si richiederebbe per produrre il carry in uscita dall’ultimo sommatore (c15)? Motivare la risposta.
Selezione di domande proposte in II itinere 3/9 Il simulatore SPIM per il processore MIPS mette a disposizione le chiamate di sistema, richiamabili tramite lo statement syscall. Si descrivano le modalità d’uso e la loro utilità. Si motivi perché negli emulatori un tale strumento non ha motivo di esistere. Si presenti e si descriva l’architettura e il principio di funzionamento dell’ALU a 1 bit che esegue le operazioni di AND, OR, somma, sottrazione e la funzione Less. Si evidenzi e si descriva come tale architettura si modifichi per rendere possibile l’esecuzione delle istruzioni slt.
Selezione di domande proposte in II itinere 4/9 • Dato il breve sottoprogramma scritto nel linguaggio assemblativo del processore MIPS seguente: • si presenti sinteticamente il significato di ogni statement; • si commenti il ruolo dei registri utilizzati e l’evoluzione del loro contenuto, durante l’esecuzione del sottoprogramma; • si identifichi il valore assunto dal registro $t4 al momento dell’uscita dal sottoprogramma nel caso in cui il dato nel secondo statement assuma valore 64; • si identifichi il valore assunto dal registro $t4 al momento dell’uscita dal sottoprogramma nel caso in cui il dato nel secondo statement assuma valore 128 .
Selezione di domande proposte in II itinere 5/9 .data dati1: .byte 64 # due test: con 64 e 128 .text sub1: li $t2, 0x400 move $t4, $zero la $t0, dati1 lb $t1, 0 ($t0) ciclo1: addi $t1, $t1, 64 addi $t4, $t4, 1 slt $t3, $t2, $t1 beq $t3, $zero, ciclo1 jr $ra
Selezione di domande proposte in II itinere 6/9 • Dato il breve sottoprogramma seguente scritto nel linguaggio assemblativo del processore MIPS, tenendo conto che il parametro passato attraverso $a1 è un intero positivo: • si presenti sinteticamente il significato di ogni statement; • si commenti l’evoluzione del contenuto dei registri utilizzati, durante l’esecuzione del sottoprogramma, e il loro ruolo; • si identifichino i valori che sono contenuti nei registri al momento dell’uscita dal sottoprogramma; • si presenti il problema che viene risolto dall’algoritmo implementato dal sottoprogramma.
Selezione di domande proposte in II itinere 7/9 .text sub3: addu $v1, $zero, $zero la $t8, dati3 la $t7, f_dati3 addiu $t6, $t7, -1 c_3b: addiu $t4, $t8, 1 lbu $t5, 0 ($t8) c_3a: lbu $t3, 0 ($t4) mul $t2, $t3, $t5 bne $a1, $t2, c_3c addi $v1, $v1, 1 c_3c: addiu $t4, $t4, 1 bne $t4, $t7, c_3a addiu $t8, $t8, 1 bne $t6, $t8, c_3b fine3: j fine3 #jr $ra .data 0x10003000 dati3: .byte 0xa, 200, 0x1e, 40 .byte 0x32, 44, 0x7c, 10 f_dati3:
Selezione di domande proposte in II itinere 8/9 • Dato il breve sottoprogramma scritto nel linguaggio assemblativo del processore MIPS seguente: • si presenti sinteticamente il significato di ogni statement; • si commenti l’evoluzione del contenuto dei registri utilizzati, durante l’esecuzione del sottoprogramma, e il loro ruolo; • si identifichino i valori che sono contenuti nei registri e in memoria al momento dell’uscita dal sottoprogramma; • si presenti il problema che viene risolto dall’algoritmo implementato dal sottoprogramma.
Selezione di domande proposte in II itinere 9/9 .data 0x10010040 dati3: .byte 0xff, 0x27, 0xff, 0xc8 .byte 0x32, 0x6a, 0x99, 0xd7 fdati3: .data 0x10010240 risul3: .space 4 .text 0x400200 sub3: la $t5, dati3 la $t4, fdati3 la $t6, risul3 add $t3, $0, $0 addiu $t1, $t3, -1 read3: lb $t7, 0($t5) srl $t2, $t7, 31 beq $t2, $zero, dopo3 add $t3, $t7, $t3 dopo3: addiu $t5, $t5, 1 blt $t5, $t4, read3 xor $t3, $t3, $t1 addiu $t3, $t3, 1 sw $t3, 0($t6) jr $ra