Istruzioni assembler Istruzione N Registri
|
|
- Linda Costa
- 7 anni fa
- Visualizzazioni
Transcript
1 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 c e mette il 2 + Somma immediata. Viene usata per sommare costanti. Somma b e un e mette il 3 Sottrazione. Sottrae b a c e mette il 3 Moltiplicazione. Moltiplica b per c e mette il 3 Divisione. Esegue b diviso c e mette il Trasferimento dati lw a, num (b) 2 Load Word: Prendere una parola ( 4 byte) dalla memoria e la porta in un registro: prende la parola all indirizzo num (b) e la mette in a. a e b sono registri da 32 bit, mentre num è un che specifica l offset o piazzamento. Per spiazzamento si intende la distanza tra il valore assoluto b (che può essere, ad esempio, l indirizzo di inizio di un vettore) e la parola cercata. Indirizzo = indirizzo assoluto + spiazzamento. a[8] è un vettore: b punterà all indirizzo di inizio del vettore a (quindi ad a[0]) mentre 8 è l offset o spiazzamento (8 è num ) Attenzione però!!!! Nella lw lo spezzamento 8 va moltiplicato per 4 in quanto ogni parola occupa in memoria 4 byte. lb a, num (b) 2 Load Byte: Stesso significato della lw, Esempio add $t1,$s0,$s1 : Sommiamo i registri $s0 e $s1 e mettiamo il risultato in $t1 addi $t1,$s0,16 : Somma al registro $s0 il valore 16 e mette il risultato in $t1 sub $t1,$s0,$s1 : facciamo $s0 - $s1 e il risultato viene messo in $t1 mul $t1, $s0, $s1: moltiplichiamo i valori dei registri $s0 e $s1 e mettiamo il valore in $t1 Div $t1,$s0, $s1: il valore del registro $s0 viene diviso per il valore del registro $s1 e il risultato viene messo in $t1 lw $t1, 8 ($s3): nel registro $s3 è memorizzato l indirizzo assoluto. 8 è lo spiazzamento, per cui se si tratta di un array andrà a mettere nel registro $t1 il secondo valore contenuto nel vettore (4 byte * 2).
2 ma in questo caso viene trasferito un byte dalla memoria al registro. Poco usato sw a, num (b) 2 Store Word: Copia nella Memoria all indirizzo b + num il contenuto del registro a. Il meccanismo di funzionamento è uguale alla lw: Viene utilizzato un indirizzo assoluto nel registro b + lo spiazzamento num. Num deve essere moltiplicato per 4 sb a, num (b) 2 Store Byte: Stessa funzione della store word ma in questo caso si copia in memoria un byte e non 4 come avviene nella sw. Poco usato lui a, num 1 + Load Up Immediate: Serve quando bisogna caricare una costante da 32 bit in un registro (a). Carica nel registro a nei 16 bit più significativi il valore num che deve essere una costante di 16 bit. Registro a : num 16 bit a I bit più significativi sono dal 15 al 31. I restanti 16 bit della costante verranno caricati nel registro con una or. Solitamente il registro da usare è $at usato dall assemblatore. Graficamente: Blu: parte più significativa Problema: si vuole mettere in un vettore a alla posizione 5 il valore 134. L indirizzo del vettore a è contenuto nel registro $t2. Soluzione: in c++: a[5] = 134 tradotto in assembler diventa: usiamo il registro $s4 e mettiamogli il valore 134. Uso una add immediate. Prima però azzero il registro per precauzione con una sub. Dopo uso la store word per portare il valore in a alla posizione 5: sub $s4,$s4,$s4 addi $s4,$s4, 134 sw $s4, 20($t2) Lo spiazzamento è 20 perché 5*4byte si deve caricare nel registro $s0 la costante di 32 bit: la prima cosa da fare è dividere la costante in 2 valori da 16 bit: parte più significativa: = 157 in base 10 parte meno significativa: = 300 in base 10 adesso si prende 157 e si mette nei 16 bit più
3 Arancio: parte meno significativa Num (costante): lui a : ori a + num meno significativa: Risultato finale: avremo nel registro $at la costante da 32 bit. move a, b 2 Spostamento: Sposta il contenuto del registro b nel registro a. Viene usato solamente con 2 registri. li a, num 1 + Load Immediate: Sposta la costante num nel registro a la a, label 1 + label Prende l indirizzo della label ( ad esempio può essere il nome di un vettore) e lo mette nel registro a Operatori logici or a, b, c 3 Or logico: Effettua il or logico bit a bit di b e c e mette il ori a, b, num 2 + Or Immediate: è uguale all or logico ma in questo caso si utilizza un registro e una costante significativi del registro $at. Dopo si esegue un or immediate tra $at e la parte meno significativa della costante cioè 300. per finire si mette il risultato in $s0. tradotto diventa: lui $at, 157 ori $at, $at, 300 add $s0, $s0, $at Come mai è meglio utilizzare una ori invece di una addi?usare una addi non è sbagliato però con una ori si confronta ogni singolo bit. Si usa la or perché se il bit della costante è 0 il bit del registro resta 0 invece se è 1 il bit diventa 1. move $s1, $s2 : Sposta il contenuto del registro $s2 nel registro $s1 li $s1, 51 : Sposta il valore 51 nel registro $s1 la $s1, Vettore1 : Predende l indirizzo di inizio del vettore chiamato Vettore1 e lo mette nel registro $s1 or $s1, $t1, $t2 : Esegue la or tra $t1 e $t2 e mette il risultato in $s1 ori $s1, $t1, 124: Il 124 è un in base 10: bisogna trasformarlo in un binario di 16 bit. Effettua or logico di 124 e $t1 (16 bit meno significativi) e
4 and a, b, c 3 And logico: Effettua l and logico bit a bit di b e c e mette il andi a, b, c 2 + And Immediate: è uguale all and logico ma in questo caso si utilizza un registro e una costante Salto condizionato beq a, b, label 2 + label Branch on Equal: (Salta se è uguale) Salta se la condizione di uguaglianza è verificata. In altre parole salta all istruzione etichettata con la label se il valore contenuto nel registro a è uguale al valore di registro b. bne a, b, label 2 + label Branch on not Equal: (Salta se non uguali) Salta se la condizione di non uguaglianza è verificata. In altre parole salta all istruzione etichettata con la label se il valore contenuto nel registro a è diverso al valore di registro b. mette il risultato in $s1 and $s1, $t1, $t2: Esegue la and tra $t1 e $t2 e mette il risultato in $s1 andi $s1,$t1, 145: 145 è un in base 10: esegue la and logica tre 145 e il contenuto del registro $t1 (16 meno significativi) e mette il risultato in $s1 beq $s1, $t1, SALTA Vai a SALTA se $s1 è uguale a $t1. if ( a = b) c = a + b; c = a-b; Tradotto usando una beq: $s1 = a $t1 = b $t0 = c beq $s1,$t1, UGUALE sub $t0, $s1, $t1 #se a è diverso da b allora c= a-b j FINEIF UGUALE: add $t0,$s1, $t1 #c=a+b FINEIF: bne $s1, $t1, SALTA : vai a SALTA se $s1 è diverso da $t1. Usiamo lo stesso esempio di prima: if (a = b) c = a + b; c= a - b; Traduciamo in assembler: $s1 = a $t1 = b $t0 = c
5 slt a, b, c 3 Set on Less Than: Confronto del tipo minore di ; usato con beq, bne. Il primo registro (a) deve essere di solito un temporaneo (es: $t0): Viene messo 1 in a se b < c (b è minore di c). slt è quasi sempre associato all istruzione bne o beq dove il primo registro è a (registro temporaneo), mentre il secondo è $zero (registro collegato a massa che fornisce come valore sempre zero). slt $t0, $s1, $t2 bne $t0, $zero, salta # vai alla label salta se $t0 è diverso da zero slti a, b, mun 2 + Set on Less Than Immediate: Uguale all istruzione con la differenza di usare come operandi un registro e un Salto incodizionato j label label Jump: (Salto assoluto): Salto senza condizione ad un indirizzo (o label) specificato jr a 1 Jump register: Usato di solito alla fine di procedura. Salta all indirizzo contenuto nel registro a. L indirizzo di ritorno del programma chiamante è contenuto nel registro $31 o $ra jal proc Jump And Link: Usato per le chiamate a procedura. Per proc si intende il nome della procedura. bne $s1, $t1, diverso add $t0, $s1, $t1 # fai la soma j fineif diverso: sub $t0, $s1, $t1 # fai la sottrazione fineif slt $t0, $1,$s2 : $t1 viene messo 1 se $s2 è minore di $s2. If ( b < c) a = b+ c; a = b c; traduciamo: $s0 = a; $s1 = b; $s2 = c; slt $t0, $s1, $s2 beq $t0, $zero, add $s0, $s1,$s2 j fineif : sub $s0, $s1, $s2 fineif: Slti $t0, $s1, 50 j Fine : Salta alla label Fine jr $ra : Salta all indirizzo contenuto nel registro $ra jal area_quadrato: Chiama il sottoprogramma area_quadrato
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
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):
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
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
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
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
Dettagli1. 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
DettagliCalcolatori Elettronici
Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:
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
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
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
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.
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
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
DettagliDal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione
Dal sorgente all eseguibile I programmi Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Riferimenti sul Patterson: Cap. 2.10 + Appendice B, tranne B.7
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
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
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
DettagliSommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali
Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori
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
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
DettagliLaboratorio 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
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
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
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:
Dettagli1 Esercizio. 2 Esercizio
1 Esercizio Un numero relativo è rappresentato in virgola mobile secondo lo standard IEEE 754 su 32 bit nel seguente modo: s = 1 e = 10000111 m = 11011000000000000000000 Ricavare il corrispondente valore
DettagliLinguaggio Assembler MIPS
Linguaggio Assembler MIPS Corso di Calcolatori Elettronici Corso di Calcolatori Elettronici A A.A. 2000/2001 Dr. Daniela Fogli Notazione Operazioni aritmetiche: Somma add a, b, c fa la somma di b e c e
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
DettagliElementi base per la realizzazione dell unità di calcolo
Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni
DettagliCOMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME
MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni
DettagliLa programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler
La programmazione dei calcolatori Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Prof. Francesco Lo Presti Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente
DettagliArchitettura degli Elaboratori
circuiti combinatori: ALU slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello 1 ALU ALU (Arithmetic Logic Unit) circuito combinatorio all interno del processore per l esecuzione di istruzioni
DettagliImplementazione semplificata
Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento
DettagliLaboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a. 2006-2007 Docente: H. Muccini Lecture 12: - Numeri con segno -Somma e sottrazione
DettagliArchitettura dei calcolatori e sistemi operativi. Set istruzioni e struttura del programma Direttive all Assemblatore.
Architettura dei calcolatori e sistemi operativi Set istruzioni e struttura del programma Direttive all Assemblatore Capitolo 2 P&H 23. 11. 2015 Istruzioni: sottoinsieme del linguaggio assembler MIPS Formati
DettagliLezione 2 Assembly MIPS (2)
Lezione 2 Assembly MIPS (2) http://www.dii.unisi.it/~giorgi/didattica/arcal1 All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by David Patterson and John
DettagliUniversità degli Studi di Cassino
Corso di Assemblatori, Linker Loader Anno Accademico 2007/2008 Francesco Tortorella Dal produttore all esecutore Prima di essere eseguito, un programma attraversa le seguenti fasi: Traduzione Compilazione
DettagliEsercizi da esame di Programmazione Assembler MIPS
Esercizi da esame di Programmazione Assembler MIPS Versione 1.04 (16 Gennaio 2004) Corso di Architettura Corso di Laurea in Informatica Università di Salerno Vittorio Scarano Premessa: questa è una raccolta
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS Massimiliano Giacomin 1 Architettura MIPS Architettura RISC e load-store sviluppata da John Hennessy nel 1981 Usata da NEC, Nintendo,
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
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.
Dettagli.: CALCOLATORI 7 MAGGIO 2015
.: CALCOLATORI 7 MAGGIO 2015 .: AGENDA.: MIPS, X86, ARM.: CARATTERISTICHE DI ARM ( CONFRONTO A MIPS ).: ESEMPIO COPIA_STRINGA SU ARCHITETTURA ARM.: ESEMPIO FATTORIALE SU MIPS, ARM ADVANCED RISC MACHINE.:
DettagliEspressioni ed Equazioni
Espressioni ed Equazioni Introduzione espressioni ed equazioni Espressioni Algebriche ed Equazioni: è qui che comincia il tuo lavoro. Si sta per iniziare a lavorare con le lettere dell'alfabeto, numeri
DettagliLinguaggio Assembler MIPS
Linguaggio Assembler MIPS Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Architettura MIPS Architettura RISC sviluppata
DettagliPiccola Introduzione al Linguaggio Assembly e Simili Amenità. Luca Abeni
Piccola Introduzione al Linguaggio Assembly e Simili Amenità Luca Abeni 20 aprile 2016 Capitolo 1 Il Linguaggio Assembly 1.1 Introduzione La CPU (Central Processing Unit) di un computer funziona eseguendo
DettagliElementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann
Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:
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
DettagliEsercitazione 7 Interruzioni in PCSPIM Input/Output Chiamate di procedure
Esercitazione 7 Interruzioni in PCSPIM Input/Output Chiamate di procedure Claudia Raibulet raibulet@disco.unimib.it Interruzioni in PCSPIM Input/Output Interrupt Sono tipicamente causati da dispositivi
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
DettagliEsempio di procedura annidata. L insieme delle istruzioni (5) Esempio di procedura annidata (2) set_array: Esempio di procedura annidata (3)
L insieme delle istruzioni (5) Architetture dei Calcolatori (lettere A-I) Esempio di procedura annidata Codice C Assumiamo che set_array sia la prima procedura chiamata Assumiamo che la variabile i corrisponde
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?
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
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
DettagliAPPUNTI DI INFORMATICA
APPUNTI DI INFORMATICA Per il biennio di liceo scientifico scienze applicate Sommario Il calcolo binario... 2 Numerazione Decimale... 2 Numerazione Binaria... 2 Conversione Binario -> Decimale... 2 Conversione
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
DettagliArchitettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS
Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Ing.. Francesco Lo Presti Sviluppata e progettata a Stanford (USA) Progettata nei primi anni 80 Prodotta e
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
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
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
DettagliArchitettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
DettagliAssembly. Motivazioni. Programmazione Assembly
Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:
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
DettagliCodifica. Rappresentazione di numeri in memoria
Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per
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
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
DettagliSOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004
SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (9 punti) Si
DettagliArchitettura di tipo registro-registro (load/store)
Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche
DettagliSOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 14 Settembre 2004
SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO ORDINAMENTO DIDATTICO 4 Settembre 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (0 punti) () (5 punti)
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
DettagliARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining
ARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining Esercizio 1) N.B. Nei diagrammi a cicli multipli non sono indicati i registri di pipeline (per semplicità) a) Si tratta
DettagliProcessore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo
DettagliLaboratorio di Architetture degli Elaboratori II (A.A )
Laboratorio di Architetture degli Elaboratori II (A.A. 2015-2016) Matteo Re, matteo.re@unimi.it [cognomi G-Z] (Nicola Basilico, [cognomi A-D]) Ufficio S210, Dipartimento di Informatica, Via Comelico 39/41-20135
DettagliIstruzioni di Controllo del Flusso Istruz. di Controllo di Flusso
Istruzioni di Controllo del Flusso Istruz. di Controllo di Flusso Salto Non Condizionato Salto Condizionato JMP jump BRA branch non condizionato BEQ branch if Equal BNE branch if Not Equal BCS branch if
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
DettagliProgetto CPU (ciclo singolo) Salvatore Orlando
Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo
DettagliEsame di Architetture Canale MZ Prof. Sterbini 8/6/15
Esame di Architetture Canale MZ Prof. Sterbini 8/6/15 Cognome e Nome: Matricola: Parte 1 (per chi non ha superato l'esonero 1 ora) Esercizio 1 (14 punti). In una partita di CPU a ciclo di clock singolo
DettagliEsercitazione su Instruction Level Parallelism Salvatore Orlando
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
DettagliMateriale didattico. Materiale didattico. Architettura MIPS. Il linguaggio Assembly parte I. Architettura degli Elaboratori e delle Reti
Materiale didattico Il linguaggio Assembly parte I Architettura degli Elaboratori e delle Reti Capitolo 3, 8 + Appendice A del testo: Struttura, organizzazione e progetto dei calcolatori: interdipendenza
DettagliMotivazioni. Assembly. Programmazione Assembly. Programmazione Assembly
Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:
DettagliCorso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato
Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura
DettagliEsercitazione su Instruction Level Parallelism
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
DettagliLinguaggi 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
DettagliEsercitazione n. 3. Dott. Salvatore Pontarelli
Esercitazione n. 3 Dott. Salvatore Pontarelli Struttura di un modulo Assembly Assembly è il linguaggio che l ARM assembler (armasm) legge per produrre il codice oggetto. può essere: ARM assembly language
DettagliRappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
DettagliSomma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi
Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38
DettagliNumeri interi positivi
Numeri interi positivi nei calcolatori, tutti i dati sono rappresentati con numeri: ogni lettera ha un numero ogni colore sono tre numeri ogni intensità di suono è un numero i numeri sono rappresentati
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliLE STRUTTURE IN PROGRAMMAZIONE ASSEMBLER
LE STRUTTURE IN PROGRAMMAZIONE ASSEMBLER CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Istruzioni di selezione Linguaggio ad alto livello Assembler
DettagliProcessore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite
Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Progetto CPU (ciclo singolo) Semplificato in modo tale da eseguire solo: istruzioni di memory-reference:
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliL architettura del calcolatore (Prima parte)
L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto
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
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliArchitettura degli Elaboratori Lez. 2 Le istruzioni della CPU. Prof. Andrea Sterbini
Architettura degli Elaboratori Lez. 2 Le istruzioni della CPU Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Motivazioni Nel resto del corso vedremo nel dettaglio la progettazione di una CPU MIPS,
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
DettagliAbilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza
Abilità Informa/che capitolo 3 Prof. Fabio Calefato a.a. 2015-16 Giurisprudenza Archite3ura Hardware Degli Elaboratori Elemen> della macchina di Von Neumann Memoria principale Processore Memoria secondaria
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi
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
DettagliASSEMBLER 68K parte 2
ASSEMBLER 68K parte 2 CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Classi di istruzioni Un calcolatore deve avere istruzioni in grado
Dettagli