« Forum anonimo (sperimentale)

Istruzioni Assembly MIPS 2 - Esercizi

3 replies
Last

Buongiorno, si potrebbe avere la correzione delle domande n. 5 e n. 12 del quiz "Istruzioni Assembly MIPS 2".

Con un unico trasferimento si intende un'unica istruzione, o un un'unica istruzione di tipo trasferimento dati?

Si può usare il registro $gp?

Grazie

3 replies
  1. Re: Istruzioni Assembly MIPS 2 - Esercizi

    Non mi torna il fatto che indichi la n. 5 (sulla istruzione "jr"): basta aprire la appendice A e trova la risposta pertanto le chiedo se conferma se davvero è la n. 5 la domanda su cui ha dei dubbi.

    Non mi torna nemmeno il fatto che citi la stringa "con un unico trasferimento", che non trovo né nella n. 5 né nella n. 12.

    Trovo la stringa "con un unico trasferimento" nella domanda n. 4, penso quindi che abbia scritto "domanda n. 5" per errore. La sua domanda sulla differenza tra un unico trasferimento mediante "un'unica istruzione" oppure "un'unica istruzione di tipo trasferimento dati" non mi appare sensata. Semmai potrebbe aver senso differenziare tra un'unico trasferimento (un trasferimento dati tra memoria e cpu) dovuto alla fase esecutiva di una istruzione di trasferimento dati oppure alla fase di fetch di un'istruzione, ma sarebbe sempre un unico trasferimento. Quindi le rispondo che con un unico trasferimento si intende "un solo ciclo di lettura in memoria" (configurazione di bit su bus indirizzi, comando di lettura su bus controllo, attesa, configurazione di bit da bus dati in registro cpu).

    Anche sulla n. 12, domanda molto più semplice rispetto alla 11 ed alla 13, cui pure si risponde aprendo la appendice A, le chiedo conferma del numero della domanda su cui ha dubbi.

  2. Re: Istruzioni Assembly MIPS 2 - Esercizi

    Grazie della risposta. 

    Ho le domande in ordine diverso.

    Mi riferisco alle seguenti due domande:


    Un dato di 4 byte si trova a questo indirizzo di memoria: 0x10001203. E’ possibile recuperarlo dalla memoria con un unico trasferimento?

    risposta automatica del quiz: no


    Un dato di 4 byte si trova a questo indirizzo di memoria: 0x10000010. E’ possibile recuperarlo dalla memoria con un unico trasferimento?

    risposta automatica del quiz: si


    Non capisco perché nella prima domanda la risposta è no e nell'altra sì.

  3. Re: Istruzioni Assembly MIPS 2 - Esercizi
    Buongiorno,
    nel primo caso non si può usare una lw perchè l'indirizzo specificato non è allineato in memoria (non è un multiplo di 4), quindi dovrebbe usare una ulw (Unaligned load word) che essendo una pseudoistruzione in realtà è poi tradotta in più istruzioni che vanno a effettuare più trasferimenti.
    Nel secondo caso l'indirizzo è allineato e quindi si può usare una lw, che effettua un trasferimento unico.