Lezione4: MIPS e Istruzioni (1 Parte)
|
|
|
- Caterina Durante
- 9 anni fa
- Visualizzazioni
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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?
