Architettura Computer - commentare istruzione
ciao a tutti! oggi ho fatto l'esame di Architetture degli elaboratori e delle reti I, e ho solo sbagliato un esercizio di cui vorrei chiedervi la correzione dal momento che domani ho l'orale e si basa sulle cose sbagliate nell'esame:
testo:
Considerare una nuova istruzione swap $R0, $R1, $R2 che consiste nello scambiare il contenuto della cella di memoria il cui indirizzo è nel registro R0 con quello della cella di memoria il cui indirizzo è R1 utilizzando R2 come registro di appoggio. Spiegare quali sono i passi che l'unità di controllo deve svolgere per implementare swap $R0, $R1. l'architettura è la MIPS.
io pensavo una cosa di questo tipo: Abilita bit uscita R0, abilita bit entrata MAR.
Legge il contenuto del MAR dalla memoria centrale e lo salva nel MDR. Scrive il contenuto di R2 nel MAR.
Scrive il dato contenuto nel MDR all'indirizzo di memoria contenuto nel MAR nella memoria centrale.
(metto così sostanzialmente R0 in R2).
Abilita ora il bit di uscita di R1 e abilita il bit di entrata del MAR. Legge il contenuto del MAR dalla memoria centrale e lo salva nel MDR. Scrive il contenuto di R0 nel MAR. Scrive il dato contenuto nel MDR all'indirizzo di memoria contenuto nel MAR nella memoria centrale. (metto così R1 in R0). Scrive R0 in R1.
secondo voi può andare o ho sbagliato qualcosa??
testo:
Considerare una nuova istruzione swap $R0, $R1, $R2 che consiste nello scambiare il contenuto della cella di memoria il cui indirizzo è nel registro R0 con quello della cella di memoria il cui indirizzo è R1 utilizzando R2 come registro di appoggio. Spiegare quali sono i passi che l'unità di controllo deve svolgere per implementare swap $R0, $R1. l'architettura è la MIPS.
io pensavo una cosa di questo tipo: Abilita bit uscita R0, abilita bit entrata MAR.
Legge il contenuto del MAR dalla memoria centrale e lo salva nel MDR. Scrive il contenuto di R2 nel MAR.
Scrive il dato contenuto nel MDR all'indirizzo di memoria contenuto nel MAR nella memoria centrale.
(metto così sostanzialmente R0 in R2).
Abilita ora il bit di uscita di R1 e abilita il bit di entrata del MAR. Legge il contenuto del MAR dalla memoria centrale e lo salva nel MDR. Scrive il contenuto di R0 nel MAR. Scrive il dato contenuto nel MDR all'indirizzo di memoria contenuto nel MAR nella memoria centrale. (metto così R1 in R0). Scrive R0 in R1.
secondo voi può andare o ho sbagliato qualcosa??