Esempio di domanda
- Date un titolo alla domanda
- firmate
- separate le domande con una riga (----)
--
AndreaSterbini - 29 Mar 2002
Allineamento
Che cosa è l'allineamento della memoria?
--
AlbertoRocca - 07 Apr 2002
Si dice che una struttura dati è
allineata alla potenza
n quando il suo indirizzo è multiplo di
2^n.
Questo si ottiene con la direttiva
.align *n*
Alcune istruzioni di SPIM operano solo su indirizzi multipli di una word (multipli di 4)
altrimenti scatenano una eccezione.
Per questo se vedete apparire una eccezione che dice
unaligned ...
- o avete fatto un errore
- oppure c'e' bisogno di inserire nella zona dati la direttiva
.align 2
--
AndreaSterbini - 08 Apr 2002
Byte o word?
Il vettore impacchettato deve essere un vettore di byte o puo' anche essere di word?
--
AlbertoRocca - 10 Apr 2002
A piacere
--
AndreaSterbini - 11 Apr 2002
Lunghezza elementi
Se per il vettore packed possiamo usare le word, il fatto che gli elementi hanno lunghezza pari a 13 bit entra in gioco solo nella fase successiva di spacchettamento? Nel vettore packed, usando le word, per i numeri negativi, dobbiamo estendere il segno solo fino al 13ismo bit o per tutta la lunghezza della word?
--
StefanoPalma - 30 Apr 2002
La lunghezza degli elementi (13 bit) entra in gioco:
- quando dovete inserire i valori nel vettore packed
- quando dovete spacchettare il vettore e produrre il vettore spacchettato
L'estensione/contrazione del segno entra in gioco nel passare:
- dal numero chiesto in input alla sua versione di 13 bit da memorizzare nel vettore packed
- nel passare dall'elemento packed a quello unpacked (che è più lungo)
--
AndreaSterbini - 30 Apr 2002
Formato di Stampa
Nella stampa del vettore bisogna rispettare il formato dei numeri in complemento a 2 o bisogna stampare gli equivalenti interi?
La formattazione dell'elenco dei numeri per la stampa a video deve consistere semplicemente di una lista di numeri separati da righe oppure dobbiamo, che so, mettere "posizione del vettore : numero in complemento a 2 (equivalente intero)" o qualche altra specifica?
--
FabioMendicino - 01 May 2002
Stampate i numeri risultanti ... (e' la stessa cosa, visto che la syscall stampa_intero stampa un numero nel formato in complemento a due).
Basta la lista dei numeri separati da spazio.
--
AndreaSterbini - 01 May 2002
Input
Quello che non ho capito e se da input dobbiamo inserire un intero oppure la stringa binaria, cioè per esempio che so, -45 oppure 10011101...; per questo motivo avevo chiesto tra l'altro se dovessimo stampare il numero in complemento a 2 come serie di 13 bit oppure se bastasse la syscall stampa_intero!
--
FabioMendicino - 05 May 2002
Inserite interi decimali col segno nel range rappresentabile nel formato in complemento a 2 con 13 bits (fatevi due conti).
Sarà la syscall read_integer a convertirveli in formato in complemento a due ...
da 32 bit.
--
AndreaSterbini - 06 May 2002
Metodo
Purtroppo venerdì sono entrato cinque minuti dopo l'inizio della lezione e mi sono perso la prima indicazione sul secondo progetto, non è che può accennarmi qualcosa?
Seconda cosa, è importante che si usi un metodo ben definito oppure si può usare un qualsiasi metodo per impacchettare e spacchettare i numeri? (per esempio copia bit a bit tramite operazioni logiche e maschere)
--
FabioMendicino - 12 May 2002
Ho fatto notare che 13 bit entrano comodi in una word, che le word vanno lette allineate, da cui deriva che i 13 bit possono cadere a cavallo di due word .... ma che se guardate bene le istruzioni del MIPS riuscite a tenere i 13 bit sempre all'interno della word.
Usate la tecnica che volete per impacchettare/spacchettare ... basta che sia corretta.
--
AndreaSterbini - 13 May
Input2
Volevo una conferma!!! Allora la stringa di input deve essere in decimale, al massimo rappresentabile su 13 bit, cioè il decimale massimo rappresentabile su 2^13, e impacchettarlo in una word che e formata da 32 bit, lasciando a zero i 19 bit restanti.
Inoltre volevo sapere dovo posso trovare le istruzioni del MIPS.
--
MassimoOrazzo - 14 May 2002
La syscall
read_integer legge un intero (scritto in notazione decimale, col segno) e torna un numero
nel formato
in complemento a 2 di 32 bits.
Per le istruzioni guarda nella documentazione in attachment alla pagina
SimulatoreSpim.
--
AndreaSterbini - 15 May 2002
Ricorsione = uso dello stack?
Un algoritmo ricorsivo prevede esclusivamente l'uso dello stack oppure si possono utilizzare altri metodi, che comunque mantengono l'idea della ricorsione?
--
AlessandroLonghi - 29 May 2002
La risposta breve è: usate lo stack.
La riposta lunga è: mi dici come implementi il salvataggio/ripristino dei parametri in un modo
più semplice dello stack?
--
AndreaSterbini - 30 May 2002