Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBernardetta Parente Modificato 9 anni fa
1
Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 ISA e Asm: esempi e suggerimenti
2
Obiettivi e suggerimenti Capire come sono codificate le istruzioni a livello macchina e come possono essere rappresentate Una istruzione macchina è sempre di 32 bit (1 Word) rappresentati spesso in esadecimale Per capire che istruzione è e cosa fa: 1.Convertire in binario 2.Guardare il codice operativo (opcode) (primo field dell’istruzione, bit 31:26), che consente di capire di che tipo di istruzione si tratta e quindi come i bit successivi vadano raggruppati in field 3.Guardare i singoli field, capirne il significato e capire in dettaglio cosa fa l’istruzione Come si fa? Suggerimenti: Usare la tabella Fig. A.10.2 dell’Appendice A del Patterson-Hennessy (Appendice B in edizioni più recenti rispetto a quella disponibile sul sito) La tabella è piuttosto complicata. Concentrarsi sulla prima colonna con intestazione op(31:26) e, se serve, sulla sesta con intestazione func(5:0). Le altre colonne sono relative a istruzioni “strane” che non saranno oggetto di esame (ma non è una cattiva idea guardarne qualcuna...) Cercare in Appendice A l’istruzione, ricavando il formato e il significato A.A 2014-15ISA (esempi e suggerimenti)2
3
Esempio 1 (istruzione R-type) Istruzione hex: 0x010a4822 Binario: 00000001000010100100100000100010 opcode: 000000 ovvero 0x00 ovvero 0 Dalla tabella (Fig. A.10.2, colonna 1): si capisce che è una istruzione di tipo R funct: 100010 ovvero 0x22 ovvero 34 Dalla tabella, colonna 6: istruzione “sub” Cercare “sub” in Appendice: Subtract Quindi i campi successivi a opcode sono: primo registro sorgente (5 bit) 01000 ovvero 0x08 ovvero 8 secondo registro sorgente (5 bit) 01010 ovvero 0x0a ovvero 10 registro destinazione (5 bit) 01001 ovvero 0x09 ovvero 9 il campo shamt non è rilevante per questa istruzione L’istruzione: sottrae il contenuto del registro 10 dal contenuto del registro 8 mette il risultato nel registro 9 Formati asm: sub $9, $8, $10 sub $t1, $t0, $t2 (vedere Fig. A.6.1) A.A 2014-15ISA (esempi e suggerimenti)3
4
Esempio 2 (istruzione I-type) Istruzione hex: 0xad0a0000 Binario: 10101101000010100000000000000000 opcode: 101011 ovvero 0x2b ovvero 43 Dalla tabella (Fig. A.10.2, colonna 1): istruzione “sw” Cercare “sw” in Appendice: Store word, da cui si capisce che: è una istruzione che fa riferimento a memoria (formato I) Quindi i campi successivi a opcode sono: registro base (5 bit) 01000 ovvero 0x08 ovvero 8 registro sorgente (5 bit) 01010 ovvero 0x0a ovvero 10 offset (spiazzamento) rispetto al registro base (16 bit) 0000000000000000 L’istruzione: memorizza il contenuto del registro 10 all’indirizzo ottenuto sommando offset e contenuto del registro base Formati asm: sw $10, 0($8) sw $t2, 0($t0) (vedere Fig. A.6.1) A.A 2014-15ISA (esempi e suggerimenti)4
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.