Lezione4: MIPS e Istruzioni (1 Parte)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione4: MIPS e Istruzioni (1 Parte)"

Transcript

1 Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi [email protected] Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli

2 AGENDA L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei diprogrammi Il ciclo fetch execute Il simulatore SPIM

3 Architettura MIPS Obiettivo i : linguaggio i assembly dell architettura MIPS (Microprocessor without Interlocked Pipeline Stages) Architettura MIPSappartiene alla famigliadelle architetture RISC ( Reduced Instruction Set Computer) sviluppate dal 1980 in poi Esempi: Sun Sparc, HP PA RISC, IBM Power PC, DEC Alpha Principali obiettivi delle architetture RISC: Semplificare la progettazione dell hardware e del compilatore Massimizzare le prestazioni Minimizzare i costi

4

5

6

7

8 It Istruzioni ieseguite direttamente t dall'hardware d Massimizzare la frequenza di esecuzione delle istruzioni Istruzioni facili da decodificare poche, poco varie, tutte tt di uguale lunghezza Accesso alla memoria solo attraverso istruzioni dedicate di caricamento/memorizzazione (load/store ) Gli operandi di un'istruzione devono sempre risiedere nei registri del processore

9

10 Componenti del processore MIPS 32 registri di tipo general purpose p ciascuno di dimensione 32 bits Numerosi registri special purpose purpose PC ( program counter ) HI, LO ( risultato di moltiplicazione/divisione ) Altri registri accessibili solo dall' hardware Arithmetic Logic Unit ( ALU ) esegue calcoli aritmetici con i registri

11 Registri general purpose possono essere usati in qualunque q modo dal programma è convenzione assegnareun certo tipo di utilizzo ad alcuni registri general purpose d i ll i iè i t t d aderire alle convenzioni è importante, rende possibile l'interazione con programmi scritti da altri

12 Registri igeneral purpose ( GPR ) sono prefissati con il simbolo $ e sono numerati da $0 a $31 hanno anche nomi basati sul tipo di utilizzo (convenzione) $0 $zero $4 $a0 $8 $t0 $29 $sp i nomi sono utilizzati nei programmi assembly per migliorarne la leggibilità, la comprensione

13

14 I registri ispeciali ililo e HI registri speciali non prefissati con il simbolo $ che contengono il risultato t delle dll istruzioni it i idi moltiplicazione e divisione Sono previste istruzioni ioni per spostare il contenuto to dei registri LO e HI nei registri di tipo GPR Ei Esistono 32 registri iper le operazioni ifloating point (virgola mobile) indicati come : $f0,, $f31 Per le operazioni in doppia precisione si usano i registri contigui: $f0, $f2, $f4,

15

16 Il registro it speciale il PC ( program counter ) ( instruction ti address register ) contiene l'indirizzo dell'istruzione attualmente in esecuzione ( istruzione corrente ) Per cambiare l'istruzione eseguita, cambiare il valore di PC: ha effetto dopo il completamento dell'istruzione Corrente di norma viene aggiornato implicitamente con l'indirizzo dell'istruzione successiva le istruzione di branch e jump modificano esplicitamente il registro PC Registro IR ( instruction register ) memorizza l istruzione che il processore sta eseguendo

17 Le istruzioni di un programma sono eseguite Le istruzioni di un programma sono eseguite dall'hardware MIPS in un ciclo fetch execute

18 Memoria Gli indirizzi sono formati da 32 bits Spazio indirizzabile da 0x a 0x FF FF FF FF uno spazio indirizzabile i di circa 4 giga bytes i programmi possono accedere alla memoria con le istruzioni LOAD/STORE, appositamente previste dall'architettura MIPS load (copia) un valore dalla memoria ad un registro GPR store (copia) un valore da un registro GPR alla memoria 1, 2 o 4 bytes in alla volta 1, 2 o 4 bytes in alla volta Le istruzioni logico/aritmetiche non possono accedere alla memoria ( architettura LOAD/STORE )

19

20 Text segment inizia all'indirizzo di memoria 0x contiene il codice del programma utente Data segment (segmento dati) inizia all'indirizzo di memoria 0x cresce verso lo stack (indirizzi crescenti) dati statici del programma: dati la cui dimensione è conosciuta al momento della compilazione e il cui intervallo di vita coincide con l esecuzione del programma dati dinamici: contiene dati ai quali lo spazio è allocato dinamicamente al momento dell'esecuzione del programma su richiesta del programma stesso

21 Stack segment Architettura MIPS (cont.) inizia all'indirizzo di memoria 0x 7F FFF FFF cresce espandendosi d iin basso verso il data segment contiene lostack del sistema usato come memoria temporanea per: variabili locali di funzioni argomenti di funzione indirizzi di ritorno registri salvati

22 System heap Architettura MIPS (cont.) area compresa tra il data segment e lo stack segment la memoria richiesta ihi dinamicamente dal programma inesecuzione è prelevata dall'heap e assegnata al programma la memoria rilasciata dal programma ritorna all' heap

23 BUS di Sistema Bus dati, comprende le linee per trasferire dati e istruzioni da/verso la memoria. In generale, la dimensione del bus dati è tale da garantire il trasferimento contemporaneo di una o più parole di memoria; Bus indirizzi, su cui la CPU provvede a trasmettere l indirizzo di memoria da cui prelevare il dato nel caso di lettura dalla memoria, oppure in cui depositarlo nel caso di scrittura nella memoria; Bus di controllo, dove transitano le informazioni ausiliarie per la corretta definizione delle operazioni da compiere (per esempio l'indicazione i che si vuole effettuare una lettura piuttosto che una scrittura) e per la sincronizzazione tra CPU e memoria.

24 Il simulatore SPIM Esiste un ottimo simulatore dell'architettura MIPS (R2000) )gratuito per diverse piattaforme (Unix, MS Windows, Macintosh) facile da usare dispone di interfaccia grafica

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly PH 2.3 (continua) 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Istruzioni logiche 2 1 La memoria del MIPS I contenuti delle locazioni di memoria

Dettagli

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Francesco Folino FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti

Dettagli

6: Macchina di Von Neumann

6: Macchina di Von Neumann Data: 8-10-2017 Pag: 6 6: Macchina di Von Neumann 1. Lo Schema di Von Neumann John Von Neumann, un ricercatore che in USA realizzò uno dei primi computer l'eniac: faceva 300 moltiplicazioni al secondo

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Il linguaggio assemblativo MIPS (1) Istruzioni di ALU: operazioni ed operandi Trasferimenti tra memoria e CPU Vettori (1) Le costanti Livelli di astrazione s o f t w a r e H W Linguaggio

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?

Dettagli