Architettura degli Elaboratori II (canale P-Z) Modi di Indirizzamento Dott. Franco Liberati.

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO MACCHINA e ASSEMBLER
Advertisements

Informatica Generale Marzia Buscemi
Programmazione assembler
Organizzazione della memoria
Generazione di Codice Intermedio
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
Chiamate a Procedure. Per lesecuzione di una procedura, un programma deve eseguire i seguenti sei passi: mettere i parametri in un posto dove la procedura.
SPIM Esercizi. Esercizio 7 – load/store Il codice deve: Inserire in memoria la word 0x a Leggere questo dato e inserirlo in s0 Sommarci 5 Salvare.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
TRADUZIONE DEL PROGRAMMA Una volta che un programma sia stato scritto in C, esso non può essere eseguito senza unulteriore traduzione. Ciò perché qualsiasi.
Laboratorio di informatica: ASSEMBLER
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Funzioni.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Il processore PD32 Set Istruzioni. Listruzione (almeno 32 bit) è divisa in più campi codice operativo specifica operazione (classe e tipo) parte indirizzo.
Caratteristiche principali dell’architettura del processore MIPS
Caratteristiche principali dell’architettura del processore MIPS
Il processore PD32 Set Istruzioni.
Criticità sui dati (1° esempio)
Caratteristiche principali dell’architettura del processore MIPS
Criticità sul controllo
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il Linguaggio Macchina
1 Generazione codice Daniela Briola Lorena Bellino.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Architettura di un calcolatore
Conversione binario - ottale/esadecimale
Gestione della memoria logica e fisica degli elaboratori x86
Architettura degli Elaboratori II (canale P-Z) Linguaggi e moduli
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Università di Pavia - corso di Calcolatori Elettronici C code: L1:g = g + A[i]; i = i + j; if (i != h) goto L1; MIPS code: L1:add $t1, $s3, $s3# $t1.
Architettura di una CPU
Calcolatori Elettronici Assemblatore, Linker e Loader
Architettura del calcolatore
Calcolatori Elettronici Il Processore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
1 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
Programmazione Assembly
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Corso di Laurea in Informatica Architettura degli elaboratori a.a ISA e Asm: esempi e suggerimenti.
Architettura di un calcolatore e linguaggio macchina.
Esercitazione 3 Introduzione allo SPIM Pseudo-Istruzioni
L’esecuzione dei programmi
SPIM Esercizi. Esercizio 1 – il comando ‘li’ Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
Esercitazione 4 Chiamate di procedure Claudia Raibulet
Sistemi Elettronici Programmabili1 Istruzioni macchina Sistemi Elettronici Programmabili.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (1) Supporto hardware alle procedure Passaggio.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata (3) Istruzioni J-type Istruzioni di salto Istruzioni.
Dalla macchina di Von Neumann …
I sistemi di numerazione
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Corso di Laurea in Informatica Architettura degli elaboratori a.a ISA e Asm: esempi e suggerimenti.
Transcript della presentazione:

Architettura degli Elaboratori II (canale P-Z) Modi di Indirizzamento Dott. Franco Liberati

Argomenti Assoluto Immediato A Registro IncrementoSISTEMASALTO LOGICO- ARITMETICHE SPOSTAMENTO

Modi di indirizzamento Un modo di indirizzamento è un modo per esprimere un indirizzo di memoria NB: alla fine il risultato è sempre un indirizzo di memoria dove si andrà a leggere (load) o scrivere (store) un dato. La struttura è Nel linguaggio macchina MIPS, esiste un solo modo di indirizzamento imm(register) dove lindirizzo è dato dalla somma del valore immediato imm più il contenuto del registro register Esempio: lw $t0, 4($sp) (legge una word dallindirizzo $sp + 4) OPCODE MODO DI INDIRIZZAMENTO

Modi di Indirizzamento in SPIM

Modi di indirizzamento Lassembler fornisce per comodità più modi di indirizzamento Un indirizzo si può esprimere come somma di: una etichetta + una espressione + un registro Esempio: lw $t1, array + 0x100($t0) ( mette nel registro $t1, la word sita allindirizzo 0x assumendo: array = 0x e $t0 = 4 )

A REGISTRO (base register) Specifica un indirizzo tramite registro base, assumendo un offset 0. Lindirizzo è dato dal contenuto del base register Esempio: lb $t0,($a0)

A REGISTRO lb $t0,($a0) $t0

IMMEDIATO (expression) Specifica un indirizzo assoluto con una espressione L'indirizzo è dato dal valore presente nel campo indirizzo. Esempio: lb $t0, 0x

IMMEDIATO lb $t0, 0x D … $t0

IMMEDIATO con spiazzamento expression Specifica un indirizzo assoluto con una espressione fatta solo di somme e sottrazioni di costanti espresse in decimale o esadecimale. L'indirizzo è dato dal risultato dell'espressione (costante). Esempio: lb $t0, 0x I numeri negativi vanno comunque preceduti anche dal simbolo +. Esempio: lb $t0, 0x c + -4

IMMEDIATO con spiazzamento lb $t0, 0x D + 4 … … $t0

IMMEDIATO A REGISTRO expression(base register) Specifica un indirizzo tramite registro base e un offset tramite una espressione L'indirizzo è dato dal contenuto del base register + il risultato dell'espressione Esempio: lw $t0, 4($sp)

IMMEDIATO A REGISTRO Esempio: lw $t0, 4($sp) … … $t $sp

SIMBOLICO Relocatable-symbol Specifica un indirizzo (rilocabile) tramite una etichetta. L'assemblatore genera le istruzioni necessarie per gestire l'etichetta e aggiunge al modulo oggetto generato le informazioni di rilocazione. Esempio: lw $t0, operandA

SIMBOLICO … … operanA= $t Esempio: lw $t0, operandA

SIMBOLICO con spiazzamento Relocatable-symbol ± expression Specifica un indirizzo base tramite una etichetta, mentre loffset viene specificato tramite unespressione Lindirizzo è dato dalla somma dellindirizzo associato alletichetta con il risultato dellespressione Esempio: lw $t0, operandoB + 4

SIMBOLICO con spiazzamento Esempio: lw $t0, operandB+4 … … operandoB= $t

SIMBOLICO con spiazzamento a registro Relocatable-symbol(index register) Specifica un indirizzo base tramite una etichetta, mentre loffset viene specificato tramite un registro indice Lindirizzo è dato dalla somma dellindirizzo associato alletichetta con il contenuto del registro indice. Esempio: lw $t0, array($t1)

SIMBOLICO con spiazzamento a registro … … array= $t $t Esempio: lw $t0, array($t1)

SIMBOLICO con spiazzamento a a spiazzamento a registro Relocatable-symbol ± expression(index register) Specifica un indirizzo base tramite una etichetta, mentre loffset viene specificato tramite un registro indice e unespressione Lindirizzo è dato dalla somma dellindirizzo associato alletichetta con il contenuto del registro indice e il risultato dell'espressione. Esempio: lw $t0, array + 4($t1)

SIMBOLICO con spiazzamento a a spaziamento a registro Esempio: lw $t0, array+4($t1) … … array= $t $t