Calcolatori Ele,ronici Lezione del 15/11/2012. Emiliano Casalicchio
|
|
- Ottavio Contini
- 5 anni fa
- Visualizzazioni
Transcript
1 Calcolatori Ele,ronici Lezione del 15/11/2012 Emiliano Casalicchio
2 Argomen> della lezione Progammazione Assembler Richiamo sull uso dei registri Uso della memoria Esempio1: Somma di 2 numeri (registro registro) Esempio2: Somma di 2 numeri (memoria da> registro) Esempio3: Accesso alla memoria da> 13/10/2011 Emiliano.Casalicchio@uniroma2.it Corso di Calcolatori Ele,ronici a.a. 2011/12 2
3 Registri
4 Uso della memoria Richiamo: argc Argument count argv Argument vector envp Environment parameters 0x7fffffff 0x7fffeffc riservata stack sp-> ## Program adds 10 and 11.text.globl main main: ori $8, $0, 0xA ori $9, $0, 0xB add $10,$8, $9 gp-> PC-> 0x x x x dati dinamici (heap) dati statici Segmento testo (istruzioni) riservata 0x
5 Somma di 2 numeri ## Program adds 10 and 11.text.globl main Dire%ve main: E)che,a Istruzioni ori $8, $0, 0xA # load "10" into register 8 ori $9, $0, 0xB # load "11" into register 9 add $10,$8, $9 # add registers 8 and 9, put result in register 10
6 Struttura di un programma SPIM Formato tipico main: text #code section.globl main #starting point: must be global # user program code.data #data section # user program data SPIM 6
7 Direttive Le direttive forniscono all assemblatore delle indicazioni sul contenuto di un file (istruzioni, strutture dati, ) Sintatticamente, le direttive iniziano con il carattere..text <addr> Memorizza gli elementi successivi nel segmento testo dell utente, a partire dall indirizzo addr (questi elementi possono essere solo istruzioni o parole).data Gli elementi successivi alla direttiva sono memorizzati nel segmento dati.globl sym Dichiara sym come etichetta globale (ad essa è possibile fare riferimento da altri file) SPIM 7
8 Direttive Principali direttive per l allocazione di dati inizializzati.word w1,, wn Memorizza gli n valori su 32 bit w1,, wn in parole consecutive.byte b1,, bn Memorizza gli n valori b1,, bn in byte consecutivi.asciiz str Memorizza la stringa str terminandola con il carattere Null (ascii str ha lo stesso effetto, ma non aggiunge Null).space n Alloca uno spazio di n byte nel segmento dati.align n Allinea il dato successivo a blocchi di 2 n byte SPIM 8
9 Etichette Introduce un identificatore e lo associa al punto del programma (indirizzo) a cui si riferisce Consiste di un identificatore seguito dal simbolo : Main, loop, Array Puo avere visibilita Locale: referenziabile solo all interno del file in cui e definita Globale: referenziabile anche da altri file Richiede.globl Gli identificatori possono essere usati nelle istruzioni/dati per fare riferimento alla posizione di programma associata SPIM 9
10 Direttive/Etichette: esempi # Sommare le variabili x ed y.text.globl main NOTA: ALL ESAME IL CODICE VA COMMENTATO. ESERCIZI IN CUI IL CODICE NON E COMMENTATO NON VERRANNO VALUTATI main: lw $t1, x # legge x in $t1 lw $t2, y # legge y in $t2 add $t0, $t1, $t2 # calcola somma sw $t0, z # salva il risulato in z jr $ra # ritorna.data x:.word 5 # variabile x y:.word 7 # variabile y z:.word 0 # variabile z SPIM 10
11 Esempio di esecuzione Carichiamo il programma ## Program adds 10 and 11 main:.text.globl main ori $8, $0, 0xA # load "10" into register 8 (or bit to bit) ori $9, $0, 0xB # load "11" into register 9 add $10, $8, $9 # add registers 8 and 9, put result in register 10 Lo eseguiamo passo passo e vediamo come varia il contenuto dei registri SPIM 11
12 MIPS Assembler: Modalita di indirizzamento memoria per operazioni load/store ISA MIPS supporta solo: c(rx) (lw $t0, 4($s0)) L assembler MIPS supporta modalita d indirizzamento piu flessibili tramite pseudoistruzioni: Formato Calcolo dell Indirizzo 1. (registro) 2. Immediato 3. Immediato(registro) 4. Etichetta 5. Etichetta±immediato 6. Etichetta±immediato(registro) 1. Contenuto registro 2. Valore immediato 3. Valore immediato+contenuto registro 4. Indirizzo etichetta 5. Indirizzo etichetta±valore immediato 6. Indirizzo etichetta±(valore immediato +contenuto registro) ad es.: ld $a0, tablella + 4($a1) usa la modalita (6) SPIM 12
13 Esempio 2: Somma di 2 numeri caricati nella sezione dati della memoria ## Program adds 10 and 20.text # text section.globl main # call main by SPIM main: la $t0, value # load address 'value' into $t0 lw $t1, 0($t0) # load word 0(value) into $t1 lw $t2, 4($t0) # load word 4(value) into $t2 add $t3, $t1, $t2 # add two numbers into $t3 sw $t3, 8($t0) # store word $t3 into 8($t0).data # data section value:.word 10, 20, 0 # load data integers. Default data # start address 0x (= value) SPIM 13
14 Esempio 3: ## Program shows memory storage and access (big vs. little endian) ## SPIM's memory storage depends on that of the underlying machine, ## e.g., Intel 80x86 procesabc89sors are little-endian.data # load data into memory data area here:.word 0x725, 100 # word placement in memory is exactly the same in big or # little endian - # these two words are placed starting at byte ddresses # 0x and 0x going from most significant bit # at left to least significant at right.byte 0, 1, 2, 3 # byte placement in memory differs depending on the machine - # big-endian: word starting at byte address # 0x is 0x (bytes are placed left to right) # little-endian: word starting at byte address # 0x is 0x (bytes are placed right to left).asciiz "Sample text # char placement in memory differs depending on the machine # (refer to an ASCII table, e.g., # for the byte code of each char) - # big-endian: bytes corresponding to chars are placed in a # word going from left to right # little-endian: bytes corresponding to chars are placed in a # word going from right to left there:.space 6 # keeps 6 empty bytes with bytes being counted starting from # the left of a word in big-endian or the right in # little-endian.byte 85 # 0x55.align 2 # aligns the next datum at a word boundary.byte 32 # 0x20 SPIM 14
15 .text # text section.globl main # call main by SPIM main: la $t0, here # load address here in $t0 lbu $t1, 0($t0) # load byte depends on the machine - # big-endian: bytes are counted in a word starting from # the leftmost (most significant) as byte 0 to rightmost # (least significant) as byte 3 # little-endian: bytes are counted in a word starting from # the rightmost (least significant) as byte 0 to leftmost # (most significant) as byte 3 lbu $t2, 1($t0) # the next byte... lw $t3, 0($t0) # load word is exactly the same in big or little endian - # it is a copy from a memory word to a register sw $t3, 36($t0) # store word is exactly the same in big or little endian - # is is a copy from a register to a memory word sb $t3, 41($t0) # store byte depends on the machine, because of the byte # numbering in a word, in exactly the same way as load # byte depends SPIM 15
16 Tabella codici Ascii SPIM 16
Calcolatori Ele,ronici Lezione 6 17/11/2011. Emiliano Casalicchio
Calcolatori Ele,ronici Lezione 6 17/11/2011 Emiliano Casalicchio Emiliano.Casalicchio@uniroma2.it Argomen7 della lezione Progammazione Assembler Richiamo sull uso dei registri Uso della memoria Esempio1:
DettagliCalcolatori Elettronici
Calcolatori Elettronici SPIM Francesco Lo Presti Rielaborate da Salvatore Tucci SPIM q Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS
DettagliArchitetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica
SPIM Architetture dei Calcolatori (Lettere A-I) SPIM Ing.. Francesco Lo Presti Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS e li traduce
DettagliL ambiente di simulazione SPIM
Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/20
Dettagli26 April CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio
CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio SOMMARIO Procedure di sistema (syscall) / direttive Chiamata a procedura semplice Chiamata a procedure intermedia Procedure ricorsive
DettagliAssembly III SPIM: un ambiente di simulazione MIPS
Architettura degli Elaboratori e delle Reti Lezione 13 Assembly III SPIM: un ambiente di simulazione MIPS Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi
DettagliLaboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 09: - Modi di indirizzamento del MIPS
DettagliUniversità degli Studi di Roma La Sapienza
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Introduzione ai concetti ed al simulatore SPIM Indice degli argomenti Introduzione Assembler, compilatore, linker, programma
DettagliMemoria: lettura, scrittura e indirizzamento
Memoria: lettura, scrittura e indirizzamento Ultimo aggiornamento: 27/3/2015 Università degli studi di Milano matteo.re@unimi.it https://homes.di.unimi.it/re/arch2-lab-2015-2016.html Organizzazione della
DettagliArchitettura degli. Assemblatore Nomenclatura MARS. Dott. Franco Liberati
Architettura degli Elaboratori Assemblatore Nomenclatura MARS Dott. Franco Liberati Assemblatore Introduzione Argomenti della lezione Nomenclatura Registri Istruzioni e pseudoistruzioni Architettura degli
DettagliIl simulatore SPIM SPIM
Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html
DettagliModalità di indirizzamento
Modalità di Indirizzamento + Programmi Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it
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
DettagliAssembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive
Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca
DettagliL ambiente di simulazione SPIM
Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/28
DettagliGestione dello Stack nel MIPS
Gestione dello Stack nel MIPS Lo stack cresce da indirizzi di memoria alti verso indirizzi di memoria bassi ad es. sp-> 0x7fffffff 0x7ffffdfc riservata stack L inserimento di un dato nello stack (operazione
DettagliIndirizzamento, lettura e scrittura della memoria
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Indirizzamento, lettura e scrittura della memoria Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica
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
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
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?
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
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
Dettagli25 March : LABORATORIO 02 ISTRUZIONI DI LETTURA E SCRITTURA DELLA MEMORIA, ARRAY REGISTER SPILLING D I/O DIRETTIVE ASSEMBLY. I.
03: LABORATORIO 02 25 March 2011 ISTRUZIONI DI LETTURA E SCRITTURA DELLA MEMORIA, ARRAY REGISTER SPILLING D I/O DIRETTIVE ASSEMBLY I. Frosio 1 SOMMARIO Istruzioni di lettura e scrittura della memoria,
DettagliISA e linguaggio assembler
ISA e linguaggio assembler Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/39 Introduzione
Dettagli15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio
15 April 2011 05 LABORATORIO 04 PROCEDURE STACK CHIAMATA A PROCEDURE I. Frosio 1 SOMMARIO Procedure Stack Chiamata a procedure 2 PERCHÈ LE PROCEDURE? 15 April 2011 Main Proc3 Proc2 Proc1 Programmazione
DettagliArchitettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H
Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello
DettagliL unità di controllo di CPU a singolo ciclo. Sommario
L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2,
DettagliDal sorgente all eseguibile I programmi Assembly
Dal sorgente all eseguibile I programmi Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/46 Sommario Dal linguaggio ad
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
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 linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:
DettagliLaboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali
DettagliDal sorgente all eseguibile I programmi Assembly
Dal sorgente all eseguibile I programmi Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimenti sul Patterson: Cap.
DettagliLe costanti Le modalità di indirizzamento L assembly del MIPS
Le costanti Le modalità di indirizzamento L assembly del MIPS Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/45 Sommario Le costanti
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
DettagliUniversità degli Studi di Roma La Sapienza Architettura degli elaboratori II
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Architettura degli elaboratori II Indice degli argomenti Le istruzioni assembly Categorie di istruzioni assembly Istruzioni
DettagliLe procedure ricorsive Come eseguire un programma. Architettura degli Elaboratori e delle Reti, Turno I
Le procedure ricorsive Come eseguire un programma Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email:
DettagliGestione delle eccezioni.
Gestione delle eccezioni nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Eccezioni Fetch Decodifica Calcolo Lettura / scrittura Eccezione (es. istruzione non riconosciuta) Eccezione
DettagliManualino minimale MIPS
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica
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:
DettagliModi di indirizzamento. Indicano come accedere all operando di interesse dell istruzione. Il MIPS ha 5 modi di indirizzamento:
Modi di indirizzamento Indicano come accedere all operando di interesse dell istruzione. Il MIPS ha 5 modi di indirizzamento: immediato (immediate) slti $1,$2,100 registro (register) slti $1,$2,100 base/spiazzamento
DettagliIl Linguaggio Assembly: Le procedure
Il Linguaggio Assembly: Le procedure Prof. Alberto Borghese Ing. I. Frosio Dipartimento di Scienze dell Informazione {borghese,frosio}@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson:
DettagliUniversità degli Studi di Cassino
Corso di Indirizzamento Pseudo istruzioni Anno Accademico Francesco Tortorella Modi di indirizzamento Indicano come accedere all operando di interesse dell istruzione. Il MIPS ha 5 modi di indirizzamento:
DettagliMIPS! !
MIPS! Sono descritte solamente le istruzioni di MIPS32, le pseudo-istruzioni, System Calls e direttive del linguaggio assembly che sono maggiormente usate.! MIPS è big-endian, cioè, lʼindirizzo di una
DettagliFetch Decode Execute Program Counter controllare esegue prossima
Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo
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
DettagliIstruzioni di controllo del flusso
Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal
DettagliL Instruction Set Architecture ed il Linguaggio Assembly
L Instruction Set Architecture ed il Linguaggio Assembly Prof. Alberto Borghese Ing. Iuri Frosio Dipartimento di Scienze dell Informazione borghese,frosio@dsi.unimi.it Università degli Studi di Milano
DettagliL architettura di riferimento
Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/32
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
DettagliL Instruction Set Architecture ed il Linguaggio Assembly
L Instruction Set Architecture ed il Linguaggio Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento Patterson: Capitolo
DettagliL'INDIRIZZAMENTO NEL PROCESSORE MC PARTE 1 -
L'INDIRIZZAMENTO NEL PROCESSORE MC 68000 - PARTE 1 - CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Modi di indirizzamento Tecniche di indirizzamento:
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
DettagliClassi di memorizzazione
Classi di memorizzazione 1 Classi di memorizzazione Definiscono le regole di visibilità delle variabili e delle funzioni quando il programma è diviso su più file Stabiliscono dove (in quale parte dello
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
DettagliSystem Calls, Register Spilling
System Calls, Register Spilling Ultimo aggiornamento: 8/4/2016 UNIVERSITÀ DEGLI STUDI DI MILANO nicola.basilico@unimi.it http://basilico.di.unimi.it/ Esercizio 3.1 Eseguire il seguente codice assembly
DettagliMIPS Instruction Set 2
Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general
Dettagli5 April LABORATORIO 03 CONTROLLO DEL FLUSSO DI UN PROGRAMMA JUMP ADDRESS TABLE. I. Frosio
5 April 2012 04 LABORATORIO 03 CONTROLLO DEL FLUSSO DI UN PROGRAMMA JUMP ADDRESS TABLE I. Frosio 1 SOMMARIO If... Then... If... Then... Else... For... Break... While... Do Do... While Switch (jump address
DettagliUniversità degli Studi di Cassino
Corso di Gestione dei sottoprogrammi Anno Accademico 2007/2008 Francesco Tortorella Gestione dei sottoprogrammi temporaneo passaggio del controllo dal programma in esecuzione ad un sottoprogramma programma
Dettaglip = 7. E = bias + p = = E = s e m
255 1 0.125 0 127 1 0.25 0 63 1 0.5 1 31 1 15 1 7 1 3 1 1 1. Rappresentazione binaria: 11111111.001 2. Scorrere la virgola: 3. Bit di segno: Numero positivo 0. 4. Esponente: 5. Mantissa: 1111111001 (ottenuta
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
DettagliIndirizzamento, lettura e scrittura della memoria
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2018-2019 Indirizzamento, lettura e scrittura della memoria Turno A Nicola Basilico Dipartimento di Informatica Via Celoria 18-20133
DettagliArchitetture dei Calcolatori
Architetture dei Calcolatori Lezione 11 -- 10/12/2011 Procedure Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Fattoriale: risparmiamo sull uso dei registri q Rispetto alla soluzione precedente
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
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
DettagliIl Linguaggio Assembly del Sistema MIPS
Università di Firenze Laurea Triennale in Informatica Corso di Architettura degli Elaboratori A.A. 2018/2019 Il Linguaggio Assembly del Sistema MIPS Paolo Lollini Dipartimento di Matematica e Informatica
DettagliREGISTER FILE E MEMORIA
8 April 201 10 LA VISIBILITÀ SULL'HARDWARE: REGISTER FILE E MEMORIA INTRODUZIONE A SPIM I. Frosio 1 SOMMARIO Obiettivo ISA, Assembly Operazioni aritmetiche PCSpim Operazioni aritmetiche 2 Organizzazione
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
DettagliArchitettura del set di istruzioni (ISA)
Architettura del set di istruzioni (ISA) Calcolatori Elettronici-Ingegneria Telematica 1 Instruction Set Architecture Software Hardware Application (Netscape) Compiler Assembler Processor Memory Digital
DettagliIl linguaggio Assembly
Il linguaggio Assembly Linguaggio macchina Linguaggio definito da un insieme di istruzioni, codificate come stringhe di bit, che il processore può interpretare ed eseguire direttamente Linguaggio Assembly
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni " Architettura degli Elaboratori 1 1 Istruzioni
DettagliCorso di Architettura (Prof. Scarano) 10/05/2002
Lezione 0 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Le procedure Prima della chiamata di una procedura In ogni linguaggio di
DettagliIl linguaggio assembly
Il linguaggio assembly Chiamata a procedura PH cap. 2.7 e app. A.6 1 Chiamata a procedura in C int prod (int x, int y) { int out; out = x * y; return out; } f = f + 1; if (f == g) res = prod(f,g); else
DettagliMIPS Instruction Set 2
Laboratorio di Architettura 18 Maggio 2012 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference cards: http://refcards.com/docs/waetzigj/mips/mipsref.pdf http://www.mips.com/media/files/md00565-2b-mips32-qrc-01.01.pdf
DettagliIntroduzione. Indice. Linguaggio macchina. Linguaggio assembler
Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio
DettagliAssemblatori, linker ed il simulatore SPIM. Università di Bergamo - corso di Calcolatori Elettronici
Assemblatori, linker ed il simulatore SPIM 1 Progetto di un sistema basato su microprocessore PROBLEMA REALE SVILUPPO HARDWARE SVILUPPO SOFTWARE INTEGRAZIONE DEL SISTEMA 2 Sviluppo hardware SPECIFICHE
DettagliIl linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I
Il linguaggio Assembly Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it 1 Linguaggio
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
DettagliModi di indirizzamento parte 1. Modello di programmazione del processore MC68000
Corso di Calcolatori Elettronici I A.A. 2010-2011 Modi di indirizzamento parte 1 Lezione 21 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in
DettagliAssembler MIPS R2000/3000
TITLE Assembler MIPS R2000/3000 Alberto Montresor Programma delle lezioni! Introduzione ai concetti di assembler, compilatore, linker, programma eseguibile! Introduzione all assembly Sintassi del linguaggio
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
di Cassino e del Lazio Meridionale Corso di Gestione dei sottoprogrammi Anno Accademico Francesco Tortorella Gestione dei sottoprogrammi temporaneo passaggio del controllo dal programma in esecuzione ad
DettagliArchitetture dei Calcolatori
Architetture dei Calcolatori Lezione 8 -- 01/12/2011 Procedure Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Create da: F. Lo Presti Modificate da: E.Casalicchio Le procedure q In ogni linguaggio
DettagliIl linguaggio macchina
Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina
DettagliStringhe di caratteri
Stringhe di caratteri PH 2.8 1 Gestione dei caratteri Ogni carattere è rappresentato univocamente mediante un codice numerico rappresentabile usando un byte (codice ASCII) MIPS fornisce le istruzioni lb
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):
DettagliLa struttura delle istruzioni elementari: il linguaggio Macchina. Sommario
La struttura delle istruzioni elementari: il linguaggio Macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul
DettagliLezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly
Architettura degli Elaboratori e delle Reti Lezione 12 Assembly II Set di Istruzioni MIPS Strutture di controllo in Assembly Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università
DettagliModi di indirizzamento del processore MC68000 parte 1
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 parte 1 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliLinguaggio macchina e linguaggio assembly
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell
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
DettagliEccezioni. Università degli Studi di Milano Corso di Laurea in Informatica, A.A
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2018-2019 Eccezioni Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI) Ufficio S242 nicola.basilico@unimi.it
DettagliL architettura di riferimento
Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Uniersità degli Studi di Milano L 10 1 Sommario
DettagliControllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2018-2019 Controllo di flusso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI) Ufficio S242
DettagliISA e linguaggio assembler
ISA e linguaggio assembler Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/57 Introduzione
DettagliJAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {
JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int
Dettagli7 May INTERRUPT ED ECCEZIONI I. Frosio
1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM) Decodifica
DettagliProgrammi in Assembly
Programmi in Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/23 Esempio Numeri positivi # Programma che copia tramite
Dettagli