Architettura degli. Istruzioni MARS. Dott. Franco Liberati
|
|
- Tommaso Belloni
- 4 anni fa
- Visualizzazioni
Transcript
1 Architettura degli Elaboratori Dott. Franco Liberati
2 Istruzioni Spostamento o movimento Argomenti della lezione Logico Aritmetiche Salto Condizionato incondizionato a sub-routine (interruzioni software:trap) Istruzioni di sistema
3 Architettura degli Elaboratori Istruzioni generalità Dott. Franco Liberati
4 Generalità Le istruzioni del linguaggio assembly possono essere divise nelle seguenti categorie: Istruzioni Load and Store Spostano dati tra la memoria e i registri generali del processore (i valori non sono modificati, ma solo spostati) Istruzioni Load Immediate Caricano, nei registri, valori costanti Istruzioni Data Movement Spostano dati tra i registri del processore Istruzioni aritmetico/logiche Effettuano operazioni aritmetico, logiche o di scorrimento sui registri del processore (il valore risultante modifica i condition code della ALU) Istruzioni di confronto Effettuano il confronto tra i valori contenuti nei registri Istruzioni di salto condizionato Spostano l esecuzione da un punto ad un altro di un programma in presenza di certe condizioni Istruzioni di salto non condizionato Spostano l esecuzione da un punto ad un altro di un programma Istruzioni di sistema o comando Influenzano lo svolgimento del programma (HALT, NOP,BREAK, TRAP )
5 Architettura degli Elaboratori Istruzioni per numeri reali in singola e doppia precisione
6 ISTRUZIONI ARITMETICHE IN VIRGOLA FISSA Il MIPS è dotato anche di un coprocessore matematico che svolge operazioni in virgola mobile a singola precisione (float) e doppia (double) precisione Il MIPS è dotato di 32 registri per i calcoli in virgola mobile $f0 -$f31 Di solito le istruzioni hanno lo stesso menmonico del corrispondente tra interi seguito da.s per i calcoli in singola precisione o da.d per quelli in doppia precisione La definizione di un valore reale in memoria si ottiene con la direttiva.float.double CU ESEMPIO.data pippo:.float Coprocessor 1 $f0,$f1,,$f31 ALU
7 ISTRUZIONI ARITMETICHE IN VIRGOLA FISSA: esempio Somma di due numeri reali.text.globl main main: lwc1 $f1,x lwc1 $f2,y add.s $f0,$f1,$f2 li $v0,10 syscall.data x:.float 3.5 y:.float -23.7
8 PRINCIPALI ISTRUZIONI VIRGOLA MOBILE lwc1 rd,<imm> <label> swc1 rs,<label> l.drd,<imm> <label> l.srd,<imm> <label> s.drs, <label> s.srs, <label> Preleva un valore <imm> o il contenuto di una variabile <label> definita in memoria in un registro floating point rd=<imm> Archivia il valore di un registro floating pointin memoria MEM=rs Preleva un valore <imm> o il contenuto di una variabile <label> definita in memoria in due registri floating point(rd e rd+1) doppia precisione rd=<imm> Preleva un valore <imm> o il contenuto di una variabile <label> definita in memoria in un registro floating point singola precisione rd=<imm Archivia il valore di due registro floating point(rs e rs+1) doppia precisione in memoria Archivia il valore di un registro floating pointsingola precisione in memoria l.d$f2, reale64bit s.d$f4, reale64bit # Nei registri $f2 e $f3 è presente il valore in doppia precisione contenuto nella variabile reale64bit # Nelle locazioni (otto byte) di memoria di reale64bit è presente il valore #contenutoin $f4 e $f5
9 PRINCIPALI ISTRUZIONI VIRGOLA MOBILE mov.s rd,rs mov.d rd,rs mfcz rd,rs mfcz.d rd,rs Sposta il contenuto tra registri (singola precisione) rd=rs Sposta il contenuto tra registri (doppia precisione) rd=rs Sposta il contento del registro rsdel coprocessore z nel registro destinazione rddella CU Se si sposta un doubleil contenuto al termine dell operazione si trova in rde rd+1 ESEMPIO MARS mfc1 $t0,$f0 #Sposta ilvalore float da$f0 a $a0 mfc1 $t0,$f0 #Sposta ilvalore double di$f0 e $f1 in $a0 e $a1 mtczrs, rd mtcz rs,rd Sposta il contento del registro rs della CU nel registro destinazione rd del coprocessore z ESEMPIO MARS (coprocessore 1) mtc1 $t0,$f0 #Sposta ilvalore da$t0 a $f0
10 bclf<imm>, label cvt.d.s rd,rs cvt.d.w rd,rs PRINCIPALI ISTRUZIONI VIRGOLA MOBILE Salta a labelse il codice di condizione indicato da <imm> è settato a 0 (falso) Converte da singola precisione a doppia precisione rd=(double)rs Converte daintero a 32bit double cvt.s.d rd,rs cvt.s.w rd,rs cvt.w.d rd,rs
11 SINGOLA PRECISIONE PRINCIPALI ISTRUZIONI VIRGOLA MOBILE DOPPIA PRECISIONE SIGNIFICATO abs.s rd,rs abs.d rd,rs rd = rs add.s rd, rs, rt add.d rd, rs, rt rd=rs+rt sub.s rd, rs, rt sub.d rd, rs, rt rd=rs-rt c.eq.sr1,r2 c.eq.dr1,r2 Se r1=r2 setta il flag0 a vero; se r1!=r2 il flag0 è falso c.eq.s <imm>,r1,r2 c.eq.d <imm>,r1,r2 Se r1=r2 setta il flag imm a vero; se r1!=r2 flag imm è falso c.le.s r1,r2 c.le.d r1,r2 Se r1<=r2 setta il flag 0 a vero; altrimenti il flag0 è falso c.lt.s r1,r2 c.lt.d r1,r2 Se r1<r2 setta il flag 0 a vero; altiementi flag0 a falso div.s rd,rs,rt div.d rd,rs,rt rd=rs/rt mul.s rd,rs,rt mul.d rd,rs,rt rd=rs*rt sqrt.srd,rs sqrt.drd,rs rd= rs
12 PRINCIPALI ISTRUZIONI VIRGOLA MOBILE
13 ESERCIO PROPOSTO Si scriva un programma in linguaggio assembly che definiti due numeri reali in memoria x e y riporta la media (fra reali) in $f2.text.globl main main:.data x :.float5.0 y:.float 3.0 due:.float 2.0 MEDIAFP.ASM lwc1 $f0,x #carico x lwc1 $f1,y #carico y lwc1 $f3,due #carico 2 add.s $f2,$f0,$f1 #m=x+y div.s $f2,$f2,$f3 #media li $v0,10 syscall
14 Architettura degli Elaboratori Istruzioni di salto a sub routine Dott. Franco Liberati
15 ISTRUZIONE DI SALTO A SUB-ROUTINE Le istruzioni di salto a sub-routine spostano l esecuzione da un punto ad un altro di un programma salvando l indirizzo dell istruzione successiva al salto in un registro speciale ($RA) jaltarget jr rsource jalrrsource, rdest Salto incondizionato all istruzione targete salvataggio dell indirizzo della prossima istruzione in ra Salto incondizionato all istruzione che ha indirizzo memorizzato nel registro rsource Salto incondizionato all istruzione che ha indirizzo memorizzato nel registro rsourcee salvataggio dell indirizzo della prossima istruzione in rdest
16 ISTRUZIONE DI SALTO A SUB-ROUTINE Main: lw $t0,pippo lw $t1, paperino add $t2,$t0,$t1 jal batman. li v0,10 break xor $t7,$t7,$t7 add $t7,$t6,$t5 jr $ra
17 ISTRUZIONI DI SALTO: Esempio Realizzare un programma che svolga il massimo tra tre numeri Leggi, a,b,c Soluzione: maxtre(a,b,c) NO a>b SI NO b>c SI NO a>c SI max=c max=b max=a
18 ISTRUZIONI DI SALTO: Esempio (variante) Realizzare un programma che svolga il massimo tra tre numeri maxtre(a,b,c) leggi a,b,c t= MASSIMO(a,b) max=massimo(t,c) conserva max
19 .text.globl main main: ISTRUZIONI DI SALTO: Esempio (variante) -implementazione Realizzare un programma che svolga il massimo tra tre numeri Soluzione: maxtre(a,b,c) MASSIMO(,c) lw $a0,x #lettura primo valore lw $a1,y #lettura secondo valore jal MASSIMO #salto a funzione move $a0,$v0 #recupero massimo dalla funzione lw $a1,z #lettura terzo valore jal MASSIMO #salto a funzione move $a0,$v0 #recupero massimo dalla funzione move $t0,$a0 #massimo in T0 li $v0,10 syscall MASSIMO: # PARAMETRI INGRESSO: A0 e A1 valori interi # PARAMETRO USCITA: V0 massimo tra A0 e A1 move $v0,$a0 #Imposto A0 come massimo bgt$a0,$a1,fine #SeA0>A1 allora finisco move $v0,$a1 #Imposto A1 come massimo fine: jr $ra.data x:.word 45 y:.word 100 z:.word 77
20 Architettura degli Elaboratori Chiamate a sistema MARS Dott. Franco Liberati
21 SYSCALL Le istruzioni di SYSCALL nascondono delle TRAP (delle interruzioni software) che possono essere considerate come operazioni sincrone di salto La differenze principale con una operazione di salto è che la TRAP prevede il salvataggio dello stato della macchina (almeno PC e SR)
22 Conditioncode (approfondimento) In base alle istruzioni ci può essere un alterazione dello stato della macchina e variazione dei flag presenti nel registro di stato ES: li $t0, -1 li $t1, 1 add $t2, $t0, $t1 Flags: N (negative): 0 Z (zero) : 1 C (carry) : 1 V (overflow): 0
23 Conditioncode (approfondimento) Mnemonico Significato Flag interessato EQ = Z=1 NE!= Z=0 CS > (unsigned) C=1 < (unsigned) C=0 HI > C=1 e Z=0 LS < C=0 e Z=1 MI negativo N=1 PL positivo N=0
24 Conditioncode (approfondimento) loop_label: mov $t0, #10 sub $t0, $t0, 1 BNE loop_label Testa il valore del registro di stato Se n è uguale a zero (quindi Z=0) allora si effettua il salto B
25 Chiamate a sistema operativo MARS SERVIZI CODICE in $V0 ARGOMENTI print_int 1 $a0 = integer (da stampare) print_float 2 $f12 = float (da stampare) print_double 3 $f12 = double (da stampare) RISULTATO print_string 4 $a0 = string (da stampare) Richiede l indirizzo della prima locazione di memoria dove è definita stringa (istruzione classe: la) read_int 5 integer in $v0 read_float 6 float in $f0 read_double 7 double in $f0 read_string 8 $a0=buffer, $a1=length Richiede l indirizzo della prima locazione di memoria dove è definita stringa (istruzione classe: la) Random_int 41 $a0= integer Genera un numero casuale exit 10 Terminazione del programma
26 Chiamate a sistema operativo MARS.text.globl main main: la $a0,mex1 li $v0,4 syscall li $v0,5 syscall move$t0,$v0 mul $t1,$t0,$t0 la $a0,mex2 li $v0,4 syscall move $a0,$t1 li $v0,1 syscall #inserimento locazione dell inizio del messaggio #servizio di stampa di una stringa #chiamata di sistema #servizio di lettura di un intero da tastiera #chiamata di sistema #spostamentodel valore letto da tastiera #operazione(a^2) #inserimento locazione dell inizio del messaggio #servizio di stampa di una stringa #chiamata di sistema #spostamento del valore intero da stampare #servizio di stampa di un intero #chiamata di sistema.data mex1:.asciiz "Inserire il numero: " mex2:.asciiz "\n Il quadrato del numero è: "
27 Chiamate a sistema operativo MARS.text.globl main main: la $a0,mex1 li $v0,4 syscall la $a0,mexinput li $a1,255 li $v0,8 syscall la $a0,mex2 li $v0,4 syscall Lettura di una stringa #inserimento locazione dell inizio del messaggio #servizio di stampa di una stringa #chiamata di sistema #zona in cui sarà conservata la stringa immessa da input #dimensione della stringa da immettere #servizio di lettura di una stringa #chiamata di sistema #inserimento locazione dell inizio del messaggio #servizio di stampa di una stringa #chiamata di sistema la $a0,mexinput li $v0,4 syscall #inserimento locazione dell inizio del messaggio #servizio di stampa di una stringa #chiamata di sistema.data mex1:.asciiz "Inserire il nome: " mex2:.asciiz \nciao mexinput:.space 255
28 Architettura degli Elaboratori Direttiva EQV Dott. Franco Liberati
29 Direttiva EQV Sostituisce una stringa (es.: registro) con una etichetta Segue la logica: definisci una volta e usa molte volte Utile per associare a dei registri una etichetta (debug più semplice).text.globl main.macro FINEPROGRAMMA li $v0,10 syscall.end_macro.eqv VAR1 $t0.eqv VAR2 $t1.eqvtot $t2 main: ciclo: fine:.data x:.word 4 y:.word 6 lw VAR1,x lw VAR2,y li TOT,0 bltz VAR2,fine add TOT,TOT,VAR1 sub VAR2,VAR2,1 j ciclo FINEPROGRAMMA
30 Architettura degli Elaboratori Istruzioni di sistema Dott. Franco Liberati
31 ISTRUZIONI DI SISTEMA Le istruzioni di sistema sono istruzioni tipiche della macchina NOP ALT BREAK Nessuna operazione Interruzione del sistema Interruzione del programma
32 Architettura degli Elaboratori Fine Dott. Franco Liberati
Istruzioni MIPS per floating point
Istruzioni MIPS per floating point Architetture dei Calcolatori (lettere A-I) Coprocessore per floating point L architettura MIPS ha un coprocessore (indicato con il numero 1) che opera sui numeri in virgola
Architettura degli. Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS. Dott.
Architettura degli Elaboratori Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS Dott. Franco Liberati Argomenti della lezione Un modello di elaboratore elettronico:
Università 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
Calcolatori 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
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
La rappresentazione dei numeri reali in base 2 è completamente analoga a quella in base 10: Parte intera + parte frazionaria, separate da un punto
Numeri reali in base 2 La rappresentazione dei numeri reali in base 2 è completamente analoga a quella in base 10: Parte intera + parte frazionaria, separate da un punto La parte frazionaria è formata
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
Università degli Studi di Cassino
Corso di Rappresentazione dei numeri reali Architettura FP del MIPS Anno Accademico 27/28 Francesco Tortorella Numeri reali in base 2 La rappresentazione dei numeri reali in base 2 è completamente analoga
Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico
Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Syscall Le syscall (chiamate di sistema) sono un insieme di servizi di sistema invocabili
Architetture 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
Università degli Studi di Cassino Corso di Calcolatori Elettronici
Corso di Rappresentazione dei numeri reali Architettura FP del MIPS Anno Accademico Francesco Tortorella Numeri reali in base 2 La rappresentazione dei numeri reali in base 2 è completamente analoga a
Modalità 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
Il linguaggio assembly
Il linguaggio assembly Direttive Chiamate di sistema (system call) Esempi 1 Direttive Le direttive (data layout directives) danno delle indicazioni all'assemblatore sul contenuto di un file (istruzioni,
Linguaggio 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à
L 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
Università 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
slt $t1,$t2,$t3 if ($t2<$t3) $t1=1; Confronto tra registri slti $t1,$t2,100 if ($t2<100)$t1=1; Cfr. registro-costante
Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if ($t2
Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
Rappresentazione dell informazione
Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione
Manualino 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
Corso 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
Laboratorio di Architettura degli
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Numeri con segno Somma e Sottrazione Eccezioni Alcune domande Come si rappresentano i numeri negativi? Qual e il numero piu grande rappresentabile
MIPS! !
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
CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La
Linguaggio 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
Il 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
Architettura degli Elaboratori Lez. 3 ASM: Strutture di controllo. Prof. Andrea Sterbini
Architettura degli Elaboratori Lez. 3 ASM: Strutture di controllo Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Argomenti della lezione - Il simulatore MARS - Le strutture di controllo - Esempi
Architettura degli. Istruzioni MARS. Dott. Franco Liberati
Architettura degli Elaboratori Dott. Franco Liberati Istruzioni Spostamento o movimento Argomenti della lezione Logico Aritmetiche Salto Condizionato incondizionato a sub-routine (interruzioni software:trap)
Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
Architettura 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
Riassunto. 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
Linguaggi e moduli. Dott. Franco Liberati
(canale A-D) A Linguaggi e moduli Dott. Franco Liberati Linguaggi di programmazione Compilatore Assemblatore Linker (collegatore) LINKER COMPILATORE ASSEMBLATORE LINGUAGGI DI PROGRAMMAZIONE Linguaggio
Assembler MIPS 32 Assembly I
TITLE Assembler MIPS 32 Assembly I Riccardo Solmi 1 Indice degli argomenti Le istruzioni assembly MIPS Categorie di istruzioni assembly Istruzioni di caricamento e salvataggio Gestione del segno Ordine
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
Architettura degli. Esercizi sullo STACK. Dott. Franco Liberati
Architettura degli Elaboratori Esercizi sullo Dott. Franco Liberati Esercizio proposto per casa Si consideri la funzione f definita su interi f(x) = f(x-2) 2 f(1) = 14 f(0) = 10 Si realizzi un programma
Lezione 18 Il Set di Istruzioni (4)
Lezione 18 Il Set di Istruzioni (4) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add
Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione
Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene
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
Il 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
Istruzioni 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
Fetch 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
Architettura 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
ISA (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
System calls. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 System calls Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI)
System calls. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 System calls Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI)
Lezione 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à
Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti
Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti Prof. Alberto Borghese Ing. Iuri Frosio Dipartimento di Scienze dell Informazione borghese,frosio@dsi.unimi.it Università degli Studi
Calcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS ESERCIZI Massimiliano Giacomin ESERCIZIO Utilizzando la green card, tradurre in linguaggio macchina le due istruzioni in assembly
Assembly. 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
Il 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:
Addendum: istruzioni linguaggio macchina. Università di Bergamo - corso di Calcolatori Elettronici 1
Addendum: istruzioni linguaggio macchina Università di Bergamo - corso di Calcolatori Elettronici 1 Control Loop C code: L1: g = g + A[i]; i = i + j; if (i!= h) goto L1; MIPS code: L1: add $t1, $s3, $s3
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
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
Lezione laboratorio SPIM
Lezione laboratorio SPIM Uso di XSPIM Uso di PCSPIM Esercizio laboratorio 1 Cos è SPIM e cosa fa? SPIM è un simulatore che esegue programmi per le architetture MIPS R2000/R3000 SPIM può leggere ed assemblare
COMPITO di ARCHITETTURA DEI CALCOLATORI del COGNOME NOME
DA RESTITUIRE INSIEME AGLI ELABORATI e A TUTTI I FOGLI NON USARE FOGLI NON TIMBRATI ANDARE IN BAGNO PRIMA DELL INIZIO DELLA PROVA COG SVOLGIMENTO DELLA PROVA: PER GLI STUDENTI DI ARCHITETTURA DEI CALCOLATORI
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
Istruzioni 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
Linguaggio 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
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
26 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
Il 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
Il linguaggio assembly
Il linguaggio assembly Strutture di controllo P.H. cap. 2.6 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Le strutture di controllo Istruzioni di salto if then do...
ISA (Instruction Set Architecture) della CPU MIPS32
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS32 Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
Assembler MIPS R2000/R3000 Assembly I
TITLE Assembler MIPS R2000/R3000 Assembly I Riccardo Solmi 1 Bibliografia MIPS Assembly Language Programmer s Guide Manuale di programmazione assembly MIPS Assemblers, Linkers, and the SPIM Simulator Contiene
CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti
Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!
Architettura degli STACK. Dott. Franco Liberati
Architettura degli Elaboratori Dott. Franco Liberati Argomenti della lezione Approccio pratico in MARS Architettura degli Elaboratori Dott. Franco Liberati Generalità Lo stacko pila indica un tipo di dato
Gestione 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
La 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
1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware.
1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware. 2. Spiegare i diversi tipi di indirizzamento usati dalle istruzioni del set
Istruzioni 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:
Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
Modi di indirizzamento
Architettura degli elaboratori Modi di indirizzamento ARGOMENTI DELLA LEZIONE Definizione Indirizzamenti diretti: immediato, assoluto, a registro Indirizzamenti indiretti: indiretto con registro, con spiazzamento,
Architettura degli elaboratori
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Programmazione in assembly MIPS Marco Tarini Dipartimento di Scienze Teoriche e Applicate
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 29/01/07 Nota Questi lucidi sono tratti
Esercitazione 8 Eccezioni & Interruzioni in MIPS 32 Claudia Raibulet raibulet@disco.unimib.it Eccezioni Le eccezioni = variazioni delle condizioni normali di funzionamento della CPU Conseguenze delle eccezioni
A c r h c i h te t t e t t u t r u a r d g e li el e abo b ra r t a o t ri Assemblatore
Architettura degli elaboratori Assemblatore ARGOMENTI DELLA LEZIONE Compilatore Assemblatore Collegatore (linker) Caricatore (loader) Architettura degli elaboratori Aseemblatore L esecuzione di un programma
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
Le 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):
Un 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
L 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
Eccezioni. 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
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 degli elaboratori CPU a ciclo singolo
Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,
System 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
L insieme delle istruzioni del processore MIPS. Corso Calcolatori Elettronici presso POLITECNICO DI MILANO
L insieme delle istruzioni del processore MIPS Corso Calcolatori Elettronici presso POLITECNICO DI MILANO Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione email:
ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:
Università degli Studi di Milano Corso Architettura degli elaboratori e delle reti Prof. Cristina Silvano A.A. 2004/2005 Esame scritto del 15 luglio 2005 Cognome: Matricola: Nome: Istruzioni Scrivere solo
7 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
Laboratorio 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 15: - Macro - Eccezioni e interruzioni
SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:
SECONDA PROVA INTERMEDIA DEL MODULO DI 1 giugno 2017 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (12 punti) 1. (3 punti) Scrivere un frammento di codice Assembly MIPS, che implementi il costrutto C switch-case
Laboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Introduzione a MARS: interfaccia, struttura di un programma, gestione dell input L assemblatore e simulatore MARS Permette di eseguire
Il linguaggio assembly
Il linguaggio assembly Strutture di controllo P.H. cap. 2.6 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Le strutture di controllo Istruzioni di salto if then do...
COMPITO di ARCHITETTURA DEI CALCOLATORI del
SOLUZIONE DA RESTITUIRE (TRACCIA INSIEME aggiornata AGLI ELABORATI versione e A TUTTI 1.2) I FOGLI NON USARE FOGLI NON TIMBRATI ANDARE IN BAGNO PRIMA DELL INIZIO DELLA PROVA NO APPUNTI O FOGLI PERSONALI,
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 14 Gennaio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Pre-appello del 14 Gennaio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
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
Il 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
Esercitazione 6 Datapath multiciclo Eccezioni in PCSPIM
Esercitazione 6 Datapath multiciclo Eccezioni in PCSPIM Claudia Raibulet raibulet@disco.unimib.it Esercizio 1 Esercizio 1 Si chiede di aggiungere l istruzione jal 2500 al set delle istruzioni del datapath
Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
Procedure: esempi. Esempi: ricorsione fattoriale Fibonacci ordinamenti
Procedure: esempi Esempi: ricorsione fattoriale Fibonacci ordinamenti 1 Fattoriale ricorsivo PH p. 83 e A27 main(int argc, char *argv[]) { int n; printf( Inserire un numero intero\n"); scanf("%d", &n);