Metodi di indirizzamento

Documenti analoghi
Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Il Modello di von Neumann (2) Prevede 3 entità logiche:

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA

Informatica Teorica. Macchine a registri

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016

TERNA SRM- Aste On Line Manuale Fornitore

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

Introduzione alle macchine a stati (non definitivo)

GUIDA RAPIDA PER LA GESTIONE DELLE ADOZIONI LIBRI DI TESTO 2016/2017

PER PRENOTARE SI DEVE ESSERE IN POSSESSO DI:

Il livello architettura e set di istruzioni

Accreditamento al portale di Roma Capitale

Sistemi Web per il turismo - lezione 3 -

Navigazione Tattica. L intercettazione

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S / / 2011

Le sue caratteristiche:

Integrazione al Manuale Utente 1

Manuale Utente CMMG Corso Medici Medicina Generale

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

testo Saveris Web Access Software Istruzioni per l'uso

Via Oberdan, 42, Faenza (RA) Italy Tel.: Fax: WAVE MODE MOBILE GUIDA RAPIDA

LINEE GUIDA TRACCIAMENTO PONTEGGIO

Ministero dell istruzione, dell università e della ricerca Direzione Generale Regionale per il Piemonte

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Procedura di accesso al servizio Pagina 1 di 15. Accesso al servizio BCP@home

Pro memoria per la ripartizione delle spese

SPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.);

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Disconnessione Utente

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Guida alla registrazione

IM Un sistema di misurazione completamente nuovo. p osi z iona re e. Sistema di misurazione dimensionale tramite immagini. Esempi di misurazione

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

Software per il calcolo del valore Normale degli Immobili

Guida alla registrazione dal Portale

PG5 Starter Training Applicazione File System Daniel Ernst EN Stefano Peracchi IT

Manutenzione periodica al PIANO DEI CONTI

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Macchina di von Neumann

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

ANAGRAFICA STUDIO: Campo 44 INTERMEDIARIO DMAG/XML (da caricare solo se diverso dal titolare dello STUDIO)

Pubblicazione di app, fogli e racconti. Qlik Sense 1.1 Copyright QlikTech International AB. Tutti i diritti riservati.

File System. Capitolo 13

Che cos'è la risoluzione video

Documenti accessibili

Istruzioni di modifica della sequenza di elaborazione

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

* in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

Lezione 3 Progettazione di siti

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

ESAME 13 Gennaio 2011

GESTIONALE PER PUNTI VENDITA.

INTRODUZIONE ALLE BASI DATI RELAZIONALI

VERIFICA MATRICOLE e STAMPA CERTIFICATO INTEGRATIVO DI GARANZIA

ARTISTICO NUOVO REGOLAMENTO CATEGORIE E FASCE DI MERITO DELLE COMPETIZIONI FEDERALI

PSC Doc Manuale d uso

MANUALE GUIDA ALL UTILIZZO DEL PORTALE RINNOVI MUSICA D AMBIENTE

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

INFORMAZIONI RELATIVE AL CALCOLO DELLA DIMENSIONE DI IMPRESA 1

GUIDA STUDENTE PIATTAFORMA ELEARNING MOODLE

ESERCIZI DEL CORSO DI INFORMATICA

MANUALE OPERATIVO PORTALE DELLA FORMAZIONE

PD32. Interfacciamento con i dispositivi di I/O (V)

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

PD32. Esercitazione sull interfacciamento con un dispositivo di IO

SCADENZA FASE VALORE ECONOMICO DATA. Scadenza 0 Avviamento Progetto ,00 02/12/2013. Scadenza 1 I SAL ,00 28/02/2014

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

SVI Nuovo Sistema Revisioni

MANUALE 3DPRN ware 1

Fast Patch 0336 Predisposizione operazioni superiori a euro Release 7.0

REGOLAMENTO DELLA LUDOTECA

6. IMPIANTO DI CLIMATIZZAZIONE CALCOLO PSICROMETRICO DEL SOGGIORNO-PRANZO

VADEMECUM SISTEMA TESSERA SANITARIA

Input/output in C e in C++

Circolare IND n. 178/04 GO/fb. OGGETTO: Settori Lubrificanti e GPL - Assistenza Sanitaria Confluenza in FASCHIM

SIST Sistema Informativo Sanitario Territoriale MANUALE DI INSTALLAZIONE DI CISCO ANYCONNECT SECURE MOBILITY CLIENT

DICHIARA. 1. che il minore* per il quale richiede l erogazione dell assegno è: Cognome Nome Nat a in data

18/05/2016 MANUALE UTENTE

Supporto On Line Allegato FAQ

Cenni ad Assembly Intel

SOFTWARE DI PROGRAMMAZIONE PER ENCODER SERIALI ASINCRONI AMS / ACS / AMM / ACM Versione 1.5 Introduzione

Transcript:

Testo di rif.to: [Congiu] 4.3 (pg. 138 148) 02.b Metodi di indirizzamento Indirizzamento immediato Indirizzamento di registro Indirizzamenti in memoria Metodi di indirizzamento 1 Gli indirizzi degli operandi sono collocati in appositi campi (gruppi di bit) delle istruzioni. 1 Esempio: Il modo di considerare il contenuto del campo INDIRIZZO determina il particolare metodo di indirizzamento.

Metodi di indirizzamento 2 In genere il primo word (operation word) di ciascuna istruzione contiene, oltre alla codifica dell operazione da eseguire, le informazioni relative ai metodi di indirizzamento da utilizzare per accedere agli operandi. 2 Alcuni di questi metodi richiedono ulteriori informazioni che vengono memorizzate in uno o più word aggiuntivi (extension word). Metodi di indirizzamento nel PD32 Nel PD32 le istruzioni hanno un operation long-word (OL) di 32 bit. Alcuni metodi di indirizzamento richiedono informazioni contenute in un extension long-word (EL) di 32 bit. Ogni indirizzo (IND1, IND2) è specificato da due campi: M (da 3 bit) che individua il modo di indirizzamento, R (da 3 bit) che individua l eventuale registro usato. 3 Codifica dei modi di indirizzamento nelle istruzioni del PD32

Metodi di indirizzamento usati Indirizzamento immediato Assoluto diretto Assoluto indiretto in blu i metodi non presenti nel PD32 (attribuibili al PD132) Diretto di registro Indiretto con registro Auto-incrementante (diretto e indiretto) Auto-decrementante (diretto e indiretto) Con registro indice Indiretto con registro indice Con registro base Auto-relativo (diretto e indiretto) 4 Indirizzamento immediato 5 MOVL #28, R0 ; 28 R0 Nel PD32 l indirizzamento immediato è individuato dal valore 1 nel campo M. Il campo R non è usato. L operando immediato è contenuto in un EL di 32 bit. Il suo valore è compreso tra -2 31 e 2 31-1. Per accedere all operando il processore deve eseguire il fetch di questo EL. Numero accessi alla memoria: fetch(ol) +fetch(el) +0 fetch(ol) + 1 = 2

Indirizzamento assoluto ADDL 132, R0 ; L[132] + R0 R0 6 Nel PD32 l indirizzamento assoluto corrisponde al valore 2 nel campo M. Il campo R non è usato. L indirizzo assoluto è contenuto in un EL di 32 bit. Consente perciò di accedere a 2 32 = 4 GB di memoria. Per accedere all operando il processore, dopo aver effettuato il fetch dell EL, con cui ottiene l indirizzo dell operando, deve effettuare un ulteriore accesso alla memoria (al valore dell operando). Numero accessi alla memoria: fetch(ol) +fetch(el) +1 fetch(ol) + 2 = 3 Indirizzamento assoluto indiretto (PD132) ADDL @456, R0 ; L[L[456]] + R0 R0 Nel PD132 l indirizzo del puntatore è contenuto in un EL di 32 bit, con cui si possono individuare 2 30 = 1 G puntatori (da 4 byte) situati in memoria. Ciascun puntatore può accedere a 2 32 = 4 GB. Per accedere all operando il processore, dopo aver effettuato il fetch dell EL, con cui ottiene l indirizzo di un puntatore all operando, deve effettuare due ulteriori accessi alla memoria: il primo per leggere il puntatore all operando, il secondo per accedere al valore dell operando Numero accessi alla memoria: fetch(ol) +fetch(el) + 2 fetch(ol) + 3 = 4 7

Confronto tra i tre metodi presentati 8 Confronto tra i 3 diversi modi di indirizzamento Indirizzamento diretto di registro ADDL R0, R1 ; R0 + R1 R1 9 Nel PD32 l indirizzamento diretto di registro corrisponde al valore 0 nel campo M. Il campo R specifica il registro in cui si trova l operando. Per accedere all operando non sono necessari accessi alla memoria. Numero accessi alla memoria: fetch(ol) + 0 fetch(ol) + 0 = 1

Indirizzamento indiretto con registro ADDL (R0), R1 ; L[R0] + R1 R1 Nel PD32 l indirizzamento indiretto con registro corrisponde al valore 3 nel campo M. 10 Il campo R specifica il registro in cui si trova un puntatore all operando. Per accedere all operando è necessario un accesso alla memoria (all indirizzo contenuto nel registro specificato). Numero accessi alla memoria: fetch(ol) + 1 fetch(ol) + 1 = 2 Indirizzamento auto-incrementante ADDz (R0)+, R1 ; M[R0] + R1 R1 ; R0 + d R0 Nel PD32 questo indirizzamento è individuato dal valore 7 nel campo M. Il campo R specifica il registro in cui si trova un puntatore all operando (è un indirizzamento indiretto con registro). Dopo l accesso all operando, il puntatore viene incrementato di una quantità d pari alla lunghezza (in byte) dell operando stesso (d = 1 per B, 2 per W, 4 per L). Per accedere all operando è necessario un accesso alla memoria (all indirizzo contenuto nel registro specificato). Numero accessi alla memoria: fetch(ol) + 1 fetch(ol) + 1 = 2 11

Indirizzamento auto-decrementante ADDz -(R0), R1 ; R0 - d R0 ; M[R0] + R1 R1 Nel PD32 questo indirizzamento è individuato dal valore 6 nel campo M. Il campo R specifica il registro in cui si trova un puntatore all operando (è un indirizzamento indiretto con registro). Prima di accedere all operando, il puntatore viene decrementato di una quantità d pari alla lunghezza (in byte) dell operando stesso (d = 1 per B, 2 per W, 4 per L). Per accedere all operando è necessario un accesso alla memoria (all indirizzo contenuto nel registro specificato). Numero accessi alla memoria: fetch(ol) + 1 fetch(ol) + 1 = 2 12 Utilità dell auto auto-in(de) in(de)cremento Consente di percorrere liste di dati consecutivi (in avanti o a ritroso). 13 Consente di realizzare gli accessi LIFO ad uno stack: MOVW 1000, -(R7) MOVW (R7)+, R0 ; W[1000] push ; pop RO ; (R7 funge da stack pointer)

Indirizzamento autoinc.. indiretto (PD132) 14 ADDW @(R0)+, R1 ; W[L[R0]] + R1 W R1 W ; R0 + 4 R0 Questo metodo non esiste nel PD32. Il dato puntato dal registro specificato è un puntatore (un indirizzo, lungo 4 byte), perciò l incremento è di 4. Dopo il fetch, il primo accesso alla memoria ottiene un puntatore all operando; un secondo accesso è necessario per ottenere il valore dell operando. Numero accessi alla memoria: fetch(ol) + 2 fetch(ol) + 2 = 3 Indirizzamento autodec.. indiretto (PD132) 15 ADDB @-(R0), R1 ; R0-4 R0 ; B[L[R0]] + R1 B R1 B Questo metodo non esiste nel PD32. Il dato puntato dal registro specificato è un puntatore (un indirizzo, lungo 4 byte), perciò l incremento è di 4. Dopo il fetch, il primo accesso alla memoria ottiene un puntatore all operando; un secondo accesso è necessario per ottenere il valore dell operando. Numero accessi alla memoria: fetch(ol) + 2 fetch(ol) + 2 = 3

Indirizzamento con registro indice - 1 16 E un metodo di indirizzamento a due componenti: MOVL X(R1), R2 ; L[X+R1] R2 X: indirizzo base R1: registro indice (contiene l offset) Nel PD32 questo metodo di indirizzamento è individuato dal valore 4 nel campo M. Il registro che funge da registro indice è specificato nel campo R. Indirizzamento con registro indice - 2 17 L indirizzo base X è contenuto in un EL. Per accedere all operando il processore, dopo aver effettuato il fetch dell EL, con cui ottiene l indirizzo base, lo somma all offset contenuto nel registro indice, per calcolare l indirizzo dell operando; effettua poi un ulteriore accesso alla memoria (al valore dell operando). Numero accessi alla memoria: fetch(ol) +fetch(el) +1 fetch(ol) + 2 = 3 Codifica, nel PD32, dell indirizzamento con registro indice

Indirizzamento con registro indice - 3 18 ESEMPIO DI USO DI UN REGISTRO INDICE: short[] A, B, C; //array di short (2 byte) for (int i=0; i<100 ; i++) A[i]=B[i]+C[i]; 102 Organizzazione in memoria dei tre array A,B,C Indirizzamento con registro indice - 4 La somma dei due array può essere effettuata mediante le seguenti istruzioni: 19 MOVW 300(R1), R0 ;B[R1] R0 (B[i]) ADDW 500(R1), R0 ;C[R1] + R0 R0 (B[i]+C[i]) MOVW R0, 100(R1) ;R0 A[R1] (A[i]) eseguite iterativamente 100 volte, con il registro R1 contenente il valore 0 la prima volta e incrementando questo valore di 2 unità ad ogni iterazione.

Indirizzamento con registro indice - 5 Organizzazione del ciclo iterativo che calcola la somma dei due array: 20 MOVB #100, R2 ; valore iniziale del contatore MOVL #0, R1 ; e del registro indice LOOP: MOVW 300(R1), R0 ADDW 500(R1), R0 MOVW R0, 100(R1) ADDL #2, R1 ; incremento del registro indice SUBB #1, R2 ; decremento del contatore JNZ LOOP ; criterio di fine iterazioni.. ; istruzione successiva Indirizzamento indiretto con RI (PD132) Forma pre-indexed: il registro indice RI viene usato prima di effettuare l indirizzamento indiretto: in tal modo il longword situato all indirizzo X+RI viene interpretato come un puntatore all operando. L operando è M[L[X + RI]] Forma post-indexed: il registro indice RI viene usato dopo aver considerato l indirizzo base X in modo indiretto: l indirizzo dell operando si ottiene sommando il contenuto del registro indice al contenuto del longword di memoria situato all indirizzo base. L operando è M[L[X] + RI] 21

Confronto tra pre e post-indexed (PD132) 22 Indirizzamento con registro base (PD132) L indirizzo viene calcolato come somma del contenuto di un registro RB (il registro base) e di un offset D fornito dall istruzione. L operando è M[RB + D]. Alcune macchine ammettono sia l indirizzamento con registro base sia quello con registro indice. In tal caso l indirizzo dell operando è dato dalla somma di tre componenti: RB (che contiene l indirizzo base), X (che contiene un offset, specificato nella istruzione), RI (che contiene un indice). L operando è M[RB + X + RI] 23

Indirizzamento autorelativo E anch esso un metodo di indirizzamento a due componenti. L indirizzo dell operando è dato dalla somma del contenuto del program counter PC e di un offset D. Nel PD32 l indirizzamento auto-relativo è individuato dal valore 5 nel campo M. Il campo R non è usato e l offset D è contenuto in un EL. L operando è M[PC + D]. Il valore del PC che interviene nella somma è quello che punta al (primo) EL dell istruzione. Nel caso di indirizzamento auto-relativo indiretto (PD132) la somma D + PC individua non l operando ma un puntatore ad esso. 02.b Fine Metodi di indirizzamento