SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
MIPS & SPIM




                              MIPS & SPIM
              Modulo del Corso di Architettura degli Elaboratori


                                Nicola Paoletti

                              Universit` di Camerino
                                        a
                           Scuola di Scienze e Tecnologie

                                29 Marzo 2011
                                AA 2010/2011
MIPS & SPIM




Informazioni utili (1/2)




              Email: nicola.paoletti@unicam.it
              Orario: Marted` 16:00-17:00
                            ı,
              Pagina web del corso: . . .
              Pagina Facebook del corso:
              http://www.facebook.com/#!/pages/Mips-Spim-Unicam/164156776971007
MIPS & SPIM




Informazioni utili (2/2)




              Modalit` d’esame: Progetto + Relazione
                     a
              Materiale didattico e d’approfondimento: reperibile sulla
              pagina web del corso (non appena pronta)
MIPS & SPIM




Obiettivi del corso




              Architettura HW del processore MIPS32
              Set di istruzioni del processore MIPS32
              Il tool SPIM, un simulatore MIPS32
MIPS & SPIM
  Introduzione




Riepilogo




      1    Introduzione
MIPS & SPIM
  Introduzione




Concetti fondamentali (1/2)

      Linguaggio macchina
      Il linguaggio basato su valori numerici utilizzato dai computer per
      memorizzare ed eseguire programmi. Alfabeto: {0, 1}.

      Linguaggio assembly
      Rappresentazione simbolica del linguaggio macchina; utilizza
      simboli invece di numeri per rappresentare istruzioni, registri e dati.
      Pi` leggibile rispetto al linguaggio macchina.
        u

      Linguaggio ad alto livello
      Astrae i dettagli hardware; si avvicina al linguaggio naturale.
MIPS & SPIM
  Introduzione




Concetti fondamentali (2/2)

                   File sorgente
                   ad alto livello     Compilatore
                 (C, C++, Java, ...)




                   File sorgente
                                       Assembler
                     assembly




                    File oggetto
                    in linguaggio
                      macchina
MIPS & SPIM
  Introduzione




Linguaggio assembly (1/2)



                 Solleva il programmatore dal lavorare direttamente con
                 sequenze di bit.
                 Associa ad ogni comando nel linguaggio macchina (codice
                 operativo) una sequenza di caratteri (forma mnemonica)
                 Le locazioni di memoria e i registri possono essere indirizzati
                 con identificatori testuali, anzich` attraverso i loro indirizzi
                                                   e
                 binari.
MIPS & SPIM
  Introduzione




Linguaggio assembly (2/2)




                 Dipende direttamente dall’hardware − ogni CPU o famiglia di
                                                    →
                 CPU ha un suo proprio assembly
                 Pro: efficienza; controllo completo sull’hw.
                 Contro: scarsa portabilit`; scrittura del codice lenta e
                                          a
                 costosa.
MIPS & SPIM
  Introduzione




Architetture RISC (1/2)



      RISC (Reduced Instruction Set Computer) ` una strategia di
                                                  e
      progettazione per microprocessori caratterizzata da
                 operazioni semplici eseguibili in
                 tempi rapidi e uniformi;
                 tanti registri per memorizzare risultati intermedi.
      `
      E opposto alla filosofia CISC (Complex Instruction Set Computer),
      in cui si hanno istruzioni pi` complesse con tempi di esecuzione
                                   u
      diversi.
MIPS & SPIM
  Introduzione




Cenni storici (1/2)


      Anni ’70

      Memorie costose e compilatori inefficienti
      − costruzione di chip in grado di eseguire in hardware istruzioni
      →
      anche molto complesse
      − architetture CISC
      →

      La pi` celebre CISC ISA (Instruction Set Architecture) ` l’Intel x86,
           u                                                 e
      che copre tutta la gamma dei processori Intel dagli anni ’70 fino ad
      oggi (Intel Pentium, Core Duo, Core Quad, Core Extreme, . . . )
MIPS & SPIM
  Introduzione




Cenni storici (2/2)

      Anni ’80
                 Memorie pi` economiche e compilatori pi` efficienti
                           u                            u
                 Divario tra velocit` CPU e velocit` memorie
                                    a              a
                 Il 90% del tempo, il processore utilizza sempre un
                 sottoinsieme ristretto di istruzioni
                 Esecuzione diretta solo di queste poche istruzioni, lasciando al
                 compilatore l’onere di spezzettare le istruzioni pi` complesse
                                                                    u
                 Limitare gli accessi in memoria centrale con poche e semplici
                 modalit` di accesso (load/store) e aumentando il numero di
                          a
                 registri nel processore.
                 →
                 − architetture RISC
MIPS & SPIM
  Introduzione




Piattaforme e architetture RISC


                 ARM: architettura leader nei dispositivi mobile e embedded
                 (iPod, iPhone, iPad, Blackberry, Windows Mobile, Gameboy
                 Advance, Nintendo DS, . . . )
                 Power Architecture: IBM supercomputer, Apple PowerPC,
                 Nintendo Gamecube e Wii, Xbox 360, Playstation 3, . . .
                 SPARC e UltraSPARC: Oracle (Sun Microsystems) server
                 ...
                 MIPS: ` l’architettura che studieremo in questo corso. Molti
                         e
                 prodotti commerciali sono basati su MIPS, tra cui Playstation,
                 Playstation 2, PSP, e Nintendo 64.
MIPS & SPIM
  Introduzione




RISC vs CISC



                     CISC                         RISC
         Approccio   HW complesso, SW sem-        HW semplice, SW comp-
                     plice                        lesso
         Codice      Codice compatto; HW si       Dimensione del codice
                     occupa della decodifica       aumenta; HW pi` sem-
                                                                    u
                     di istruzioni complesse      plice
         Hardware    Pochi registri; Centinaia    Molti registri; solo ac-
                     di istruzioni macchina;      cessi load/store; qualche
                     Tante modalit` di indiriz-
                                    a             decina    di    istruzioni
                     zamento                      soltanto

Weitere ähnliche Inhalte

Ähnlich wie Lezione1 - MIPS & SPIM Unicam

Concetti base di informatica
Concetti base di informaticaConcetti base di informatica
Concetti base di informatica
Gianni Locatelli
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
Marco Ferrigno
 

Ähnlich wie Lezione1 - MIPS & SPIM Unicam (20)

Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
 
BeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeBeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded Free
 
Concetti base di informatica
Concetti base di informaticaConcetti base di informatica
Concetti base di informatica
 
Tesi
TesiTesi
Tesi
 
HARDWARE & SOFTWARE
HARDWARE & SOFTWAREHARDWARE & SOFTWARE
HARDWARE & SOFTWARE
 
OpenHardware : Arduino
OpenHardware : ArduinoOpenHardware : Arduino
OpenHardware : Arduino
 
Personal computer
Personal computerPersonal computer
Personal computer
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 
Virtualizzazione
VirtualizzazioneVirtualizzazione
Virtualizzazione
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2
 
3DD 1e Christian B
3DD 1e Christian B3DD 1e Christian B
3DD 1e Christian B
 
Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
 
DHow2 - L5
DHow2 - L5DHow2 - L5
DHow2 - L5
 
20090213 Cattaneo Architettura Degli Elaboratori P1
20090213 Cattaneo Architettura Degli Elaboratori P120090213 Cattaneo Architettura Degli Elaboratori P1
20090213 Cattaneo Architettura Degli Elaboratori P1
 
Lezioni 2009
Lezioni 2009Lezioni 2009
Lezioni 2009
 
Lezione1 introduzione micro
Lezione1 introduzione microLezione1 introduzione micro
Lezione1 introduzione micro
 
Evoluzione dei Sistemi Embedded: Verso architetture multi-core
Evoluzione dei Sistemi Embedded: Verso architetture multi-coreEvoluzione dei Sistemi Embedded: Verso architetture multi-core
Evoluzione dei Sistemi Embedded: Verso architetture multi-core
 
Cpu
CpuCpu
Cpu
 
Cpu Abacus
Cpu AbacusCpu Abacus
Cpu Abacus
 

Lezione1 - MIPS & SPIM Unicam

  • 1. MIPS & SPIM MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Universit` di Camerino a Scuola di Scienze e Tecnologie 29 Marzo 2011 AA 2010/2011
  • 2. MIPS & SPIM Informazioni utili (1/2) Email: nicola.paoletti@unicam.it Orario: Marted` 16:00-17:00 ı, Pagina web del corso: . . . Pagina Facebook del corso: http://www.facebook.com/#!/pages/Mips-Spim-Unicam/164156776971007
  • 3. MIPS & SPIM Informazioni utili (2/2) Modalit` d’esame: Progetto + Relazione a Materiale didattico e d’approfondimento: reperibile sulla pagina web del corso (non appena pronta)
  • 4. MIPS & SPIM Obiettivi del corso Architettura HW del processore MIPS32 Set di istruzioni del processore MIPS32 Il tool SPIM, un simulatore MIPS32
  • 5. MIPS & SPIM Introduzione Riepilogo 1 Introduzione
  • 6. MIPS & SPIM Introduzione Concetti fondamentali (1/2) Linguaggio macchina Il linguaggio basato su valori numerici utilizzato dai computer per memorizzare ed eseguire programmi. Alfabeto: {0, 1}. Linguaggio assembly Rappresentazione simbolica del linguaggio macchina; utilizza simboli invece di numeri per rappresentare istruzioni, registri e dati. Pi` leggibile rispetto al linguaggio macchina. u Linguaggio ad alto livello Astrae i dettagli hardware; si avvicina al linguaggio naturale.
  • 7. MIPS & SPIM Introduzione Concetti fondamentali (2/2) File sorgente ad alto livello Compilatore (C, C++, Java, ...) File sorgente Assembler assembly File oggetto in linguaggio macchina
  • 8. MIPS & SPIM Introduzione Linguaggio assembly (1/2) Solleva il programmatore dal lavorare direttamente con sequenze di bit. Associa ad ogni comando nel linguaggio macchina (codice operativo) una sequenza di caratteri (forma mnemonica) Le locazioni di memoria e i registri possono essere indirizzati con identificatori testuali, anzich` attraverso i loro indirizzi e binari.
  • 9. MIPS & SPIM Introduzione Linguaggio assembly (2/2) Dipende direttamente dall’hardware − ogni CPU o famiglia di → CPU ha un suo proprio assembly Pro: efficienza; controllo completo sull’hw. Contro: scarsa portabilit`; scrittura del codice lenta e a costosa.
  • 10. MIPS & SPIM Introduzione Architetture RISC (1/2) RISC (Reduced Instruction Set Computer) ` una strategia di e progettazione per microprocessori caratterizzata da operazioni semplici eseguibili in tempi rapidi e uniformi; tanti registri per memorizzare risultati intermedi. ` E opposto alla filosofia CISC (Complex Instruction Set Computer), in cui si hanno istruzioni pi` complesse con tempi di esecuzione u diversi.
  • 11. MIPS & SPIM Introduzione Cenni storici (1/2) Anni ’70 Memorie costose e compilatori inefficienti − costruzione di chip in grado di eseguire in hardware istruzioni → anche molto complesse − architetture CISC → La pi` celebre CISC ISA (Instruction Set Architecture) ` l’Intel x86, u e che copre tutta la gamma dei processori Intel dagli anni ’70 fino ad oggi (Intel Pentium, Core Duo, Core Quad, Core Extreme, . . . )
  • 12. MIPS & SPIM Introduzione Cenni storici (2/2) Anni ’80 Memorie pi` economiche e compilatori pi` efficienti u u Divario tra velocit` CPU e velocit` memorie a a Il 90% del tempo, il processore utilizza sempre un sottoinsieme ristretto di istruzioni Esecuzione diretta solo di queste poche istruzioni, lasciando al compilatore l’onere di spezzettare le istruzioni pi` complesse u Limitare gli accessi in memoria centrale con poche e semplici modalit` di accesso (load/store) e aumentando il numero di a registri nel processore. → − architetture RISC
  • 13. MIPS & SPIM Introduzione Piattaforme e architetture RISC ARM: architettura leader nei dispositivi mobile e embedded (iPod, iPhone, iPad, Blackberry, Windows Mobile, Gameboy Advance, Nintendo DS, . . . ) Power Architecture: IBM supercomputer, Apple PowerPC, Nintendo Gamecube e Wii, Xbox 360, Playstation 3, . . . SPARC e UltraSPARC: Oracle (Sun Microsystems) server ... MIPS: ` l’architettura che studieremo in questo corso. Molti e prodotti commerciali sono basati su MIPS, tra cui Playstation, Playstation 2, PSP, e Nintendo 64.
  • 14. MIPS & SPIM Introduzione RISC vs CISC CISC RISC Approccio HW complesso, SW sem- HW semplice, SW comp- plice lesso Codice Codice compatto; HW si Dimensione del codice occupa della decodifica aumenta; HW pi` sem- u di istruzioni complesse plice Hardware Pochi registri; Centinaia Molti registri; solo ac- di istruzioni macchina; cessi load/store; qualche Tante modalit` di indiriz- a decina di istruzioni zamento soltanto