Calcolatori Elettronici
|
|
- Amanda Manfredi
- 6 anni fa
- Visualizzazioni
Transcript
1 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 ad alto livello (es., C) Compilatore Linguaggio assemblativo Assemblatore Linguaggio macchina Interpretazione della macchina Segnali di controllo temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $to, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Calcolatori Elettronici - MIPS(1) - Slide 2 L. Tarantino - a.a. 2004/2005 1
2 Il livello del linguaggio assemblativo è un astrazione del livello sottostante (il linguaggio macchina) operazioni ed operandi (ad es., indirizzi di memoria) sono rappresentati in modo simbolico dato il legame col linguaggio macchina, macchine diverse presentano linguaggi assemblativi diversi non esistono standard, a differenza dei linguaggi ad alto livello esistono però modelli rappresentativi di classi di macchine della stessa tipologia l architettura Intel non è adatta a fungere da modello (troppo complessa perchè ottenuta da continui arricchimenti di processori precedenti) Calcolatori Elettronici - MIPS(1) - Slide 3 L. Tarantino - a.a. 2004/2005 RISC vs CISC CISC : Complex Instruction Set Computer architettura tradizionale RISC : Reduced Instruction Set Computer architettura nata alla fine degli anni 70, adottata dalle workstation degli anni 80 e 90 Architettura di riferimento: Microprocessore MIPS set di istruzioni facili da capire rappresentativo di macchine reali RISC (ad es., poche differenze con PowerPC) Calcolatori Elettronici - MIPS(1) - Slide 4 L. Tarantino - a.a. 2004/2005 2
3 Nel linguaggio C Operatori aritmetici : +, -, *, /, % (mod) Operandi: Variabili: a, b, c Costanti: 0, 1000, -17, 15 Le variabili devono essere dichiarate e devono avere un tipo int fahr, celsius; int a, b, c, d, e; Istruzione di assegnamento: variabile = espressione Esempi: a = b + c; a = b + c + d - e; celsius = 5 * (fahr - 32) / 9; Calcolatori Elettronici - MIPS(1) - Slide 5 L. Tarantino - a.a. 2004/2005 Istruzioni aritmetiche - sintassi In C a = b + c In MIPS add a, b, c ancora da raffinare Sintassi rigida: 1 operatore e 3 variabili operatore indicato per nome tre operandi: il primo è la destinazione del risultato il secondo e il terzo sono i dati da elaborare Semplicità e regolarità mantengono l hardware semplice e più facilmente ottimizzabile Calcolatori Elettronici - MIPS(1) - Slide 6 L. Tarantino - a.a. 2004/2005 3
4 Espressioni In C a = b + c + d - e; In MIPS serve una sequenza di istruzioni aritmetiche add a, b, c add a, a, d sub a, a, e # qui a vale b + c # qui a vale b + c + d # qui a vale b + c + d - e dopo il # inizia un commento Nota ogni linea di codice contiene esattamente un istruzione il commento termina con la fine della linea Calcolatori Elettronici - MIPS(1) - Slide 7 L. Tarantino - a.a. 2004/2005 Esercizio Tradurre in MIPS ( compilare a mano ) le seguenti istruzioni C: a = b + c - d; Soluzione add a, b, c sub a, a, d # qui a vale b + c # qui a vale b + c - d Calcolatori Elettronici - MIPS(1) - Slide 8 L. Tarantino - a.a. 2004/2005 4
5 Uso delle variabili temporanee (1) Compilare a mano la seguente istruzione C f = (g + h) - (i + j); Il compilatore crea variabili temporanee per i risultati intermedi Partiamo con la somma di g e h add t0,g,h # t0 contiene g + h Ora sommiamo i e j add t1,i,j # t1 contiene i + j Calcoliamo la differenza sub f,t0,t1 # f = t0 - t1 =(g+h)-(i+h) Calcolatori Elettronici - MIPS(1) - Slide 9 L. Tarantino - a.a. 2004/2005 Uso delle variabili temporanee (2) Riassumendo f = (g + h) - (i + j); add t0,g,h add t1,i,j sub f,t0,t1 # t0 contiene g + h # t1 contiene i + j # f = t0 - t1 =(g+h)-(i+h) Alternativamente: add f,g,h add t1,i,j sub f,f,t1 # f = g + h # t1 = i + j # f = f - t1 =(g+h)-(i+h) Calcolatori Elettronici - MIPS(1) - Slide 10 L. Tarantino - a.a. 2004/2005 5
6 Istruzioni aritmetiche MIPS - gli OPERANDI Solo i 32 registri del banco ciò riduce il tempo di esecuzione delle istruzioni aritmetiche perchè il tempo di accesso al banco dei registri è minore del tempo di accesso alla memoria: più piccolo è più veloce Convenzioni per i nomi dei registri $s0, $s1, per i registri che correspondono a variabili C $t0, $t1, per i registri che correspondono a variabili temporanee Nota le variabili C devono essere dichiarate, i registri sono prefissati e non devono essere dichiarati Calcolatori Elettronici - MIPS(1) - Slide 11 L. Tarantino - a.a. 2004/2005 Uso dei registri Compilare a mano la seguente istruzione C f = (g + h) - (i + j); fissiamo una corrispondenza Var Registro f $s0 g $s1 h $s2 i $s3 j $s4 add $t0,$s1,$s2 add $t1,$s3,$s4 # $t0 = g + h # $t1 = i + j sub $s0,$t0,$t1 # $s0 = $t0 - $t1 Calcolatori Elettronici - MIPS(1) - Slide 12 L. Tarantino - a.a. 2004/2005 6
7 Strutture di dati (ad es., array) Il banco è troppo piccolo per contenerle, quindi: devono risiedere in memoria Le istruzioni di ALU accettano solo i registri come operandi, quindi le singole componenti della struttura devono essere trasferite nei registri quando sono oggetto di elaborazioni servono istruzioni di trasferimento dati tra registri e memoria Calcolatori Elettronici - MIPS(1) - Slide 14 L. Tarantino - a.a. 2004/2005 Ripasso sulla memoria Può essere vista come un array monodimensionale di byte Al concetto di indice corrisponde il concetto di indirizzo in memoria E indirizzabile al byte se l indirizzo individua un byte (1B = 8 bit) La parola è formata da 32 bit (4 byte) L indirizzo della parola è l indirizzo di uno dei suoi byte (MSB se Big Endian, LSB se Little Endian) 8 bit bit Calcolatori Elettronici - MIPS(1) - Slide 15 L. Tarantino - a.a. 2004/
8 Nel MIPS Memoria allineata (le parole iniziano sempre ad indirizzi multipli di 4) Indirizzamento di tipo Big Endian Indirizzi da 32 bit Posso indirizzare 2 32 byte diversi 1 parola = 4 byte 2 30 parole di memoria Allineata Non Allineata Big Endian MSB (most significant byte) Calcolatori Elettronici - MIPS(1) - Slide 16 L. Tarantino - a.a. 2004/2005 Accessi in memoria (1) Lettura la CPU fornisce un indirizzo i la memoria restituisce il contenuto della parola di indirizzo i (da memorizzare in un registro) i... Banco $sx Mem[i] oppure $tx Mem[i] Memoria CPU Calcolatori Elettronici - MIPS(1) - Slide 17 L. Tarantino - a.a. 2004/2005 8
9 Accessi in memoria (2) Scrittura la CPU fornisce un indirizzo i e un dato (prelevato da un registro) la memoria scrive il dato nella parola di indirizzo i i... Banco Mem[i] $sx oppure Mem[i] $tx Memoria CPU Calcolatori Elettronici - MIPS(1) - Slide 18 L. Tarantino - a.a. 2004/2005 Nel linguaggio assemblativo LOAD indica il trasferimento memoria CPU STORE indica il trasferimento CPU memoria Codici operativi nel MIPS lw (load word) sw (store word) il codice operativo contiene un informazione sulla quantità di informazione coinvolta nel trasferimento Calcolatori Elettronici - MIPS(1) - Slide 19 L. Tarantino - a.a. 2004/2005 9
10 lw Sintassi : codice operativo registro da caricare indirizzo della parola di memoria Esempio caricare (load) in $t0 una componente del vettore A l indirizzo di partenza del vettore è memorizzato in $s3 lw $t0, 8($s3) registro con la base del vettore registro destinazione spiazzamento (x l indice!!) Calcolatori Elettronici - MIPS(1) - Slide 20 L. Tarantino - a.a. 2004/2005 sw Sintassi : codice operativo registro il cui contenuto va spostato in memoria indirizzo della parola di memoria Esempio memorizzare il contenuto di $t0 in una componente del vettore A l indirizzo di partenza del vettore è memorizzato in $s3 sw $t0, 8($s3) registro con la base del vettore registro sorgente spiazzamento (x l indice!!) Calcolatori Elettronici - MIPS(1) - Slide 21 L. Tarantino - a.a. 2004/
11 Indirizzo in memoria devo determinare l indirizzo della parola implicata nel trasferimento lo spiazzamento dice quanto dista la parola in questione dalla base del vettore, cioè specifica di quanto mi devo spostare dalla base NOTA BENE se una componente del vettore occupa una parola, per spostarmi da una componente alla successiva mi devo spostare di 4 byte bit Vettore in memoria Base = 4 Componente A[0] 4 A[1] 8 A[2] 12 indirizzo di A[i] = indirizzo di A[i-1] + 4 Indirizzo indirizzo di A[i] = base + 4 * indice Calcolatori Elettronici - MIPS(1) - Slide 22 L. Tarantino - a.a. 2004/2005 Usando la sintassi delle lw e sw se la base è in $s3 indirizzo di A[i] = base + 4 * indice Componente Indirizzo 4 * indice In MIPS A[0] 4 0*4 = 0 0($s3) A[1] 8 1*4 = 4 4($s3) A[2] 12 2*4 = 8 8($s3) per trovare l indirizzo sommo lo spiazzamento al registro di base Calcolatori Elettronici - MIPS(1) - Slide 23 L. Tarantino - a.a. 2004/
12 Esempio Compilare la seguente istruzione C g = h + A[8]; Var Registro fissiamo una g $s1 corrispondenza h $s2 base A $s3 Trasferiamo A[8] in un registro temporaneo lw $t0,32($s3) # NB: spiazzamento = 4 * indice Ora sommiamogli h e poniamo la somma in g add $s1, $s2, $t0 # $s1 = h + A[8] Calcolatori Elettronici - MIPS(1) - Slide 24 L. Tarantino - a.a. 2004/2005 Esempio (1) Compilare la seguente istruzione C B[8] = h + A[4]; Var Registro fissiamo una h $s2 corrispondenza base A $s3 base B $s4 Trasferiamo A[4] in un registro temporaneo lw $t0,16($s3) # NB: spiazzamento = 4 * indice Ora sommiamogli h e poniamo la somma in un registro temporaneo add $t1, $t0, $s2 # $t1 = A[4] + h Ora trasferiamo il risultato in B[8] sw $t1, 32($s4) # spiazzamento = 4 * indice Calcolatori Elettronici - MIPS(1) - Slide 26 L. Tarantino - a.a. 2004/
13 Esempio (2) Ricapitolando B[8] = h + A[4]; lw $t0,16($s3) # spiazzamento = 4 * indice add $t1, $t0, $s2 # $t1 = A[4] + h sw $t1, 32($s4) # spiazzamento = 4 * indice Calcolatori Elettronici - MIPS(1) - Slide 27 L. Tarantino - a.a. 2004/2005 Trattamento degli indici Che succede quando l indice è una variabile? g = h + A[i]; Var Registro g $s1 h $s2 base A $s3 i $s4 lw $t0,$s4($s3) NO!!! la sintassi non lo prevede Lo spiazzamento deve essere sempre una costante da sommare alla base Trucco : lw $t0,0($t1) in $t1 calcolo l indirizzo di A[i] e poi gli sommo 0 Calcolatori Elettronici - MIPS(1) - Slide 29 L. Tarantino - a.a. 2004/
14 Esempio (1) in $t1 calcolo l indirizzo di A[i] e poi gli sommo 0 g = h + A[i]; indirizzo di A[i] = base + 4 * indice Per calcolare la moltiplicazione uso la somma: i + i = 2i 2i + 2i = 4i Uso il registro temporaneo $t1 add $t1,$s4,$s4 # $t1 = 2*i add $t1,$t1,$t1 # ora $t1 = 4*i Ora gli sommo la base di A add $t1,$t1,$s3 # $t1=indirizzo di A[i] (4*i+$s3) Ora carico A[i] nel registro temporaneo $t0 lw $t0,0($t1) # $t0 = A[i] Infine gli sommo h e metto il risultato in g add $s1,$s2,$t0 # g = h + A[i] Calcolatori Elettronici - MIPS(1) - Slide 30 L. Tarantino - a.a. 2004/2005 Esempio (2) g = h + A[i]; add $t1,$s4,$s4 # qui $t1 = 2*i add $t1,$t1,$t1 # ora $t1 = 4*i add $t1,$t1,$s3 # $t1=indirizzo di A[i] = 4*i+$s3 lw $t0,0($t1) # $t0 = A[i] add $s1,$s2,$t0 # g = h + A[i] Calcolatori Elettronici - MIPS(1) - Slide 31 L. Tarantino - a.a. 2004/
15 Il trattamento delle costanti Nelle espressioni C possono apparire dei valori costanti i = i + 10; Prima soluzione Tenere le costanti in memoria e prelevarle quando serve lw $t0, 0($s0) # carica 10 in $t0 add $s3,$s3,$t0 # i = i + 10 $s0 contiene l indirizzo della parola dove c è 10 l indirizzo viene sempre calcolato come base + spiazzamento se l indirizzo della parola di interesse è in un registro, lo considero come base ed assegno uno spiazzamento nullo Calcolatori Elettronici - MIPS(1) - Slide 33 L. Tarantino - a.a. 2004/2005 Operandi immediati Seconda soluzione (più efficiente) Prevedere delle istruzioni che presentino valori costanti ( immediati ) addi $s3,$s3,10 # i = i + 10 la "i " del codice operativo indica la presenza dell operando immediato Vantaggi Non c è bisogno di accedere alla memoria Una istruzione invece che due Calcolatori Elettronici - MIPS(1) - Slide 34 L. Tarantino - a.a. 2004/
16 Trattamento della costante zero Uso molto frequente Uno dei 32 registri del banco contiene sempre zero Questo registro viene indicato con $zero Lo zero è utile anche per trasferire dati da un registro all altro: add $s0, $s1, $zero # $s0 = $s1 + 0 ($s0 $s1) Calcolatori Elettronici - MIPS(1) - Slide 35 L. Tarantino - a.a. 2004/
Laboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
DettagliLecture 2: Prime Istruzioni
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni
DettagliIl 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
DettagliLezione 15 Il Set di Istruzioni (1)
Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un quadro della situazione Input/Output Sistema di Interconnessione Registri
DettagliArchitettura di un calcolatore: Introduzione parte 2
Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliRichiami 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
DettagliLinguaggio 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
DettagliLa programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello
La programmazione dei calcolatori L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
DettagliRichiami 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
DettagliCorso di Architettura (Prof. Scarano) 09/04/2002
Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno
DettagliIstruzioni assembler Istruzione N Registri
Istruzioni assembler Istruzione N Registri Aritmetica add a, b, c a = b+c addi a, b, num a = b + sub a, b, c a = b - c mul a, b, c a = b*c div a, b, c a = b/c utilizzati Descrizione 3 Somma. Somma b e
DettagliIl Linguaggio Assembly: Gestione della memoria e controllo
Il Linguaggio Assembly: Gestione della memoria e controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/42 Sommario L organizzazione
DettagliAssembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.
Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile
DettagliLinguaggio 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
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliL insieme delle istruzioni
L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) La programmazione dei calcolatori Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore
DettagliArchitettura 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
DettagliLinguaggio 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
DettagliArchitettura 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
DettagliL insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
DettagliUniversità degli Studi di Cassino
Corso di MIPS: modello di programmazione Anno Accademico 2007/2008 Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva eseguibili dalla CPU
DettagliLezione 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
DettagliCorso di Calcolatori Elettronici
di Cassino e del Lazio Meridionale Corso di MIPS: modello di programmazione Anno Accademico Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva
DettagliArchitettura 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
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliLinguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)
Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo
DettagliAccesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.
< < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte
DettagliLinguaggio macchina: utilizzo di costanti, metodi di indirizzamento
Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità
DettagliIl 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
DettagliCalcolatori Elettronici e Sistemi Operativi
Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori Elettronici Prof. Laura Tarantino Dipartimento di Ingegneria Elettrica e dell Informazione Lezione 1 Argomento 3 Conservazione dell informazione:
DettagliUn altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando
Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base
DettagliMacchina di Riferimento: argomenti
Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura
Dettagli21 March : ESERCITAZIONE 01 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA. I. Frosio
02: ESERCITAZIONE 01 21 March 2011 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA I. Frosio 1 SOMMARIO Organizzazione della memoria Istruzioni di accesso alla memoria Vettori Istruzioni
DettagliUn quadro della situazione. Lezione 13 Il Set di Istruzioni (1) Organizzazione della lezione. Dove siamo nel corso. Cosa abbiamo fatto
Un quadro della situazione Lezione Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Input/Output Sistema di Interconnessione Registri Central Processing Unit Principale
DettagliISA e linguaggio macchina
ISA e linguaggio macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/55
DettagliElementi 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
DettagliIl linguaggio macchina
Università degli Studi di Palermo Facoltà di Ingegneria Il linguaggio macchina Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica
DettagliScopo della lezione. Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato
Scopo della lezione Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato Little endian e big endian Indirizzamento logico e fisico Comprendere la struttura del micro Von Neumann architecture
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliISA (Instruction Set Architecture) della CPU MIPS
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliLezione 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
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
DettagliLezione4: MIPS e Istruzioni (1 Parte)
Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA
DettagliL'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
DettagliSottosistemi ed Architetture Memorie
Sottosistemi ed Architetture Memorie CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II La memoria centrale Memoria centrale: array di
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliIl 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
DettagliElaborazione dell informazione
Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione
DettagliIl linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio
DettagliModi di indirizzamento
Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando
DettagliArchitettura di un elaboratore. Il modello di von Neumann
Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM
DettagliEsercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS
Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS Claudia Raibulet raibulet@disco.unimib.it Codifica e Rappresentazione dell Informazione Informazioni Generali (I)
DettagliArchitettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H
Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore
DettagliProgrammazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale
Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
DettagliHARDWARE 1.4a: (Processore)
HARDWARE 1.4a: (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Questi lucidi
DettagliEsercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 5 Linguaggio Assembly
Esercitazione di Calcolatori Elettronici Ing. Battista Biggio Corso di Laurea in Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Richiami: v[i] e &v[i] v[i] è il valore dell elemento i nel vettore
DettagliCalcolatori Elettronici
Calcolatori Elettronici Il linguaggio assemblativo MIPS (4) Le function (2) Gestione dei sottoprogrammi $a0 - $a3 - $v1 $ra : 4 registri argomento per il passaggio dei parametri : due registri per la restituzione
DettagliG L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi
G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:
DettagliIl processore: unità di elaborazione
Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero
DettagliSOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2006
SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 26 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (8 punti)
DettagliProgettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore
Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero
DettagliRiassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div
MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div
DettagliMotorola 68000: primi programmi assembly
Corso di Calcolatori Elettronici I A.A. 2012-2013 Motorola 68000: primi programmi assembly ing. Alessandro Cilardo Accademia Aeronautica di Pozzuoli Corso Pegaso V GArn Elettronici Organizzazione dei dati
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni
DettagliArchitettura di un calcolatore
Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1
DettagliFamiglia dei processori INTEL
Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare
DettagliI formati delle istruzioni
Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...
DettagliLaboratorio di Architettura lezione 5. Massimo Marchiori W3C/MIT/UNIVE
Laboratorio di Architettura lezione 5 Massimo Marchiori W3C/MIT/UNIVE Da Alto a Basso livello: compilazione Come si passa da un linguaggio di alto livello a uno di basso livello? Cioe a dire, come lavora
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
DettagliUniversità degli Studi di Cassino
Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if
DettagliIl sistema di elaborazione
Il sistema di elaborazione Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Maggio 2015 Un po di logistica 2 2ndo Compitino 21 Maggio @ NECST Lab (12.30pm) 22 Maggio @ CG1 (2pm)
DettagliLINGUAGGIO MACCHINA e ASSEMBLER. Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA
LINGUAGGIO MACCHINA e ASSEMBLER Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA Nel computer non vengono memorizzati soltanto i dati da elaborare ma anche il programma
DettagliSommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 016/017 Sommario Funzionamento del
DettagliCorso di Informatica
Corso di Informatica Modulo T2 2-La CPU 1 Prerequisiti Concetto intuitivo di programma Microprocessore Linguaggio binario Operazioni aritmetiche e logiche elementari 2 1 Introduzione In questa Unità vediamo
DettagliArchitettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
DettagliLe procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)
Le procedure L insieme delle istruzioni (4) Architetture dei Calcolatori (lettere A-I) In ogni linguaggio di programmazione si struttura il proprio codice usando procedure (funzioni, metodi, ) L utilizzo
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliLa macchina programmata Instruction Set Architecture (1)
Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un
DettagliRichiami: v[i] e &v[i] Organizzazione della memoria. Organizzazione della memoria. Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis
Esercitazione di Ing. Gian Luca Corso di Laurea in Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Richiami: v[i] e &v[i] v[i] è il valore dell elemento i nel vettore v; &v[i] è il suo indirizzo.
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
DettagliCorso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.
di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Calcolatore Michele Tomaiuolo Calcolatore Un calcolatore è una macchina
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili
DettagliVon Neumann Bottleneck
Von Neumann Bottleneck Gerarchia di memoria Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo
DettagliArchitettura 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?
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliArchitettura degli Elaboratori B Introduzione al corso
Componenti di un calcolatore convenzionale Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando http://www.dsi.unive.it/~arcb Studieremo il progetto e le prestazioni delle varie componenti
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 19 Febbraio 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
DettagliLinguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011
DettagliU"lizzo della memoria (Indirizzamento, le2ura, scri2ura) Dire8ve Assembler in SPIM
U"lizzo della memoria (Indirizzamento, le2ura, scri2ura) Dire8ve Assembler in SPIM nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Organizzazione della memoria Cosa con"ene la memoria?
Dettagli