L'INDIRIZZAMENTO NEL PROCESSORE MC PARTE 1 -

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "L'INDIRIZZAMENTO NEL PROCESSORE MC PARTE 1 -"

Transcript

1 L'INDIRIZZAMENTO NEL PROCESSORE MC PARTE 1 - CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II

2 Modi di indirizzamento Tecniche di indirizzamento: specificano come la CPU determina gli indirizzi effettivi (EA) degli operandi. A seconda della tecnica di indirizzamento un istruzione può :» calcolare a run time l indrizzo dell operando (accessi efficienti a dati strutturati: array, liste,..)» esprimere solo una parte dell indirizzo (indirizzo più corto)» utilizzare indirizzi relativi (codice rilocabile) In teoria sono possibili moltissimi modi di indirizzamento, ma nessun processore li supporta tutti

3 Modi di Indirizzamento del 68k

4 Register Direct Addressing L operando sorgente/destinazione di un istruzione è un registro dati/indirizzi: operando sorgente - il contenuto del registro specificato fornisce l operando sorgente. operando destinazione - il registro viene caricato con il valore specificato dall istruzione. MOVE.B D0,D3 SUB.L (A0),D3 Copia in D3 il valore contenuto in D0 Sottrae al valore contenuto in D3 il valore puntato da A0 CMP.W D2,D0 Confronta i primi 16 bit di D2 con i primi sedici di D0 ADD D3,D4 Somma al valore contenuto in D3 quello contenuto in D4

5 Register Direct Addressing Funzionamento MOVE.B D0,D1 L istruzione indica il registro dati D0 L operando sorgente è il registro dati D0 25 D0 D1 L istruzione MOVE.B D0,D1 usa registri dati sia per l operando sorgente che per quello destinazione

6 Register Direct Addressing Funzionamento MOVE.B D0,D1 L istruzione indica il registro dati D1 L operando sorgente è il registro dati D0 25 D0 D1 L operando destinazione è il registro dati D1

7 Register Direct Addressing Funzionamento MOVE.B D0,D1 L operando sorgente è il registro dati D D0 D1 L effetto di questa istruzione è quello di copiare il contenuto del registro dato D0 nel registro dati D1

8 Register Direct Addressing - Caratteristiche È veloce: non richiede accessi alla memoria esterna Istruzioni corte: il Register Direct Addressing richiede soltanto tre bit (otto registri) per ciascuno operando I programmatori usano il Register Direct Addressing per memorizzare variabili usate di frequente (scratchpad storage)

9 Immediate Addressing o literal L operando è espresso direttamente nell istruzione Può essere usato solo per operandi sorgente Si esprime anteponendo il simbolo # all operando sorgente Un operando immediato è anche chiamato literal Esempio: MOVE.B #4,D0 Usa l operando sorgente immediato 4

10 Immediate Addressing - Funzionamento MOVE.B #4,D0 L operando sorgente literal è parte dell istruzione D0 L istruzione MOVE.B #4,D0 usa un operando sorgente literal ed un operando destinazione register direct

11 Immediate Addressing - Funzionamento MOVE.B #4,D0 D0 L operando destinazione è un registro dati

12 Immediate Addressing - Funzionamento MOVE.B #4,D0 4 D0 L effetto di questa istruzione è quello di copiare il valore del literal 4 nel registro dati D0

13 Absolute Addressing (o Direct Addressing) L operando espresso nell istruzione specifica l indirizzo di memoria a cui accedere per leggere\scrivere il valore su cui agire Per accedere all operando effettivo richiede, oltre quello già eseguito per prelevare l istruzione, un ulteriore accesso in memoria Esempio: CLR.B $1000 azzera il contenuto della locazione di memoria $1000

14 Absolute Addressing - Funzionamento Memor y MOVE.B $1000,D0 Operando sorgente specificato con absolute addressing $ $1000 è l indirizzo di memoria dell operando sorgente D0 L operando destinazione è referenziato tramite direct addressing (D0)

15 Absolute Addressing - Funzionamento Memor y L indirizzo dell operando forma parte dell istruzione MOVE.B $1000,D0 Questo è l operando effettivo $ D0 La CPU accede alla locazione di indirizzo $1000 per prelevare l operando effettivo cioè 42

16 Absolute Addressing - Funzionamento Memor y MOVE.B $1000,D0 $ D0 L effetto di MOVE.B $1000,D0 è quello di leggere il contenuto della locazione di memoria $1000 e copiarlo nel registro D0

17 Esempio modi fondamentali Il codice ad alto livello: char Z, Y = 27; Z = Y + 24; Può essere espresso in assembler 68K dal codice: ORG $400 MOVE.B Y,D0 ADD #24,D0 MOVE.B D0,Z Inizio del codice ORG $600 Inizio dell area dati Y DC.B 27 Memorizza la costante 27 in memoria Z DS.B 1 Riserva un byte per Z

18 Il Programma Assemblato ORG $ MOVE.B Y,D ADD.B #24,D A 13C MOVE.B D0,Z E STOP #$ * ORG $ B Y: DC.B Z: DS.B END $400

19 Mappa della Memoria del programma Memoria (forma numerica) Memoria (forma simbolica) MOVE.B Y,D ADD.B #24,D A 13 C MOVE.B D0,Z E STOP #$ B Y Z

20 Mappa della Memoria del programma Memoria (forma numerica) Memoria (forma simbolica) MOVE.B Y,D ADD.B #24,D A 13 C MOVE.B D0,Z E STOP #$2700 direct addressing (000600) B Y Z

21 Mappa della Memoria del programma Memoria (forma numerica) Memoria (forma simbolica) MOVE.B Y,D ADD.B #24,D A 13 C MOVE.B D0,Z E STOP #$2700 direct addressing (000601) B Y Z

22 Mappa della Memoria del programma Memoria (forma numerica) Memoria (forma simbolica) MOVE.B Y,D ADD.B #24,D A 13 C MOVE.B D0,Z E STOP #$2700 Operando literal B Y Z

23 Riepilogo modi fondamentali Register direct addressing- usato per variabili d uso frequente che conviene mantenere nei registri di macchina Literal (immediate) addressing- usato per valori costanti espressi direttamente dal programmatore Direct (absolute) addressing- usato per variabili che risiedono in memoria centrale

24 Address Register Indirect Addressing L operando è un Address Register in parentesi tonde: (A i ) Il registro indirizzo specificato contiene l indirizzo effettivo dell operando Il processore accede all operando puntato dal registro indirizzo Esempio:» MOVE.B (A0),D0

25 Address Register Indirect - Funzionamento A0 Memor y MOVE.B (A0),D0 Carica D0 con il contenuto della locazione puntata dal registro indirizzo A0 D0 D0 L istruzione specifica l operando sorgente come (A0)

26 Address Register Indirect - Funzionamento A0 $1000 Memor y MOVE.B (A0),D0 $ D0 D0 Il registro indirizzo A0 specificato nell istruzione contiene l indirizzo dell operando

27 Address Register Indirect - Funzionamento A0 $1000 Memor y MOVE.B (A0),D0 $ D0 Alla fine, il contenuto della locazione puntata da A0 viene copiato nel registro dati

28 Auto-increment (An)+ - Funzionamento Memor y A0 ADD.B (A0)+,D D0 (An)+: prima si accede alla locazione puntata dal registro indirizzo An, e poi si incrementa l indirzzo contenuto in An di una quantità (4 se l operando è Long-word, 2 se è Word e 1 se è Byte) pari alla dimensione dell operando

29 Auto-increment - Funzionamento Memor y A ADD.B (A0)+,D D0 Se A0 contiene il valore 1000 il valore (57), contenuto nella locazione di memoria puntata da A0, viene sommato al contenuto di D0 ( = 60)

30 Auto-increment - Funzionamento Memor y A ADD.B (A0)+,D D0 Eseguita la somma, il contenuto di A0 viene automaticamente incrementato (di 1 perché il codice operativo ADD.B opera su byte) e quindi punta alla locazione successiva

31 Auto-decrement -(An): (pre-decrement) Memory A MOVE.B D0,- (A0) D0 -(An): il contenuto del registro indirizzo è decrementato prima dell uso di una quantità pari alla dimensione dell operando

32 Alcuni richiami: Allocazione di un area Stack Si riserva una zona di memoria destinata ad implementare lo stack 0 CIMA memory stack FONDO 2 k -1

33 Alcuni richiami: Allocazione di un area Stack Si riserva una zona di memoria destinata ad implementare lo stack 0 CIMA memory stack SP Lo Stack Pointer (SP) punta al fondo dello stack FONDO 2 k -1

34 Alcuni richiami: PUSH 0 PUSH: Decrementa SP Move DATO, (SP) CIMA memory stack SP (Stack Pointer) punta all ultima locazione occupata SP FONDO 43 2 k -1

35 Alcuni richiami: PUSH 0 PUSH: Decrementa SP Move DATO, (SP) CIMA SP (Stack Pointer) punta all ultima locazione occupata SP FONDO memory stack 2 k -1

36 Alcuni richiami: PUSH 0 PUSH: Decrementa SP Move DATO, (SP) CIMA SP (Stack Pointer) punta all ultima locazione occupata SP FONDO memory stack 2 k -1

37 Alcuni richiami: POP 0 POP: Move (SP), DEST Incrementa SP CIMA SP (Stack Pointer) punta all ultima locazione occupata SP FONDO memory stack 2 k -1

38 Auto-decrement (pre-decrement) Memory A MOVE.B D0,- (A0) D0 MOVE.W D0,-(A0) L'istruzione esegue il push di D0 sullo stack a cui punta A0 che funge da stack pointer.

39 Auto-decrement - Funzionamento Memor y A MOVE.B D0,- (A0) D0 A0 viene preventivamente decrementato di 1 (MOVE.B), quindi punta alla locazione di memoria 1000

40 Based Addressing Based Addressing (indirizzamento indiretto con displacement): EA=disp 16 + [A n ]» 16 bit dell istruzione specificano il Displacement (disp 16 )» Il contenuto del registro A n specifica il base address Es. MOVE 4(A0),D1 EA = 4 + [A0]; effettua l operazione M[EA] D1

41 Based Addressing Usato per accedere array e tabelle di cui si conosca, ad assembly time, la posizione relativa: MOVE.L #TABLE,A0 MOVE 0(A0),D0 MOVE 2(A0),D1 MOVE 4(A0),D2 TABLE DC.W 1000,2000,3000 D0 contiene il primo valore della tabella D1 contiene il secondo valore D2 contiene il terzo valore

42 Istruzione LEA Load Effective Address MOVE.W LEA ORG $2000 ARRAY,A0 ARRAY,A0 A0 contiene il valore 12 ARRAY DC.W 12,15,30,5 END LEA Carica l indirizzo dell operando anziché il valore. MOVE.W ARRAY,A0 LEA ARRAY,A0 ORG $2000 A0 contiene il valore $2000 (indirizzo del primo elemento di ARRAY) ARRAY DC.W 12,15,30,5 END

43 Un altro esempio di impiego dell'istruzione LEA LEA ARRAY,A0 * A0 $2000 MOVE.W 4(A0),D0 * D0 8 LEA 4(A0),A1 * A1 $2004 ORG $2000 ARRAY DC.W 12,4,8 $2000 $2002 $2004 Memoria

44 BASED INDEX: EA= #d + A j + R i L Effective Address si ottiene sommando tre componenti: 1. Displacement (opzionale)- #d intero con segno su 8 bit 2. Base register - registro indirizzi A j contenente il base address 3. Index register registro indirizzi o registro dati R i contenente l offset MOVE.W (A0, D6), D2 M[[A0]+[D6)]] D2 MOVE.W DISP(A4,D3), D5 M[[A4]+[D3]+DISP] D5 Displacement Base Register Index Register

45 Based Indexed with displacement MOVE 0(A0,D0),D1 effettua l operazione M[EA] D1 Memory Address Value $ $ $ $ $ $100A 0007 EA= =1002 Registers A D D1 0009

46 Relative Indexed Addressing PC relative Addressing: EA=disp16+[PC] L Effective Address si ottiene sommando al valore corrente del PC il displacement (8-16 bit) specificato nell istruzione MOVE $100(PC),D1 effettua M[EA] D1 EA= $100 + [PC] Program Counter indexed: EA=disp 8 +[PC]+[Xn] MOVE $0A(PC,D0),D1 M[EA] D1 EA = $0A+[PC]+[D0] Il Relative Indexed Addressing è usato, in genere, per saltare ad aree di memoria read-only contenenti dati o istruzioni

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 15

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 15 LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 15 Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 2005-2006 L'INDIRIZZAMENTO NEL PROCESSORE MC 68000

Dettagli

Modi di indirizzamento del processore MC68000 (parte prima)

Modi di indirizzamento del processore MC68000 (parte prima) Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte prima) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Modello di programmazione

Dettagli

Modi di indirizzamento del processore MC68000 (parte prima)

Modi di indirizzamento del processore MC68000 (parte prima) Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte prima) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea

Dettagli

Modi di indirizzamento parte 1. Modello di programmazione del processore MC68000

Modi di indirizzamento parte 1. Modello di programmazione del processore MC68000 Corso di Calcolatori Elettronici I A.A. 2010-2011 Modi di indirizzamento parte 1 Lezione 21 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in

Dettagli

Modi di indirizzamento del processore MC68000 (parte prima)

Modi di indirizzamento del processore MC68000 (parte prima) Corso di Calcolatori Elettronici I A.A. 2011-2012 Modi di indirizzamento del processore MC68000 (parte prima) Lezione 21 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Dettagli

Modi di indirizzamento del processore MC68000 parte 1

Modi di indirizzamento del processore MC68000 parte 1 Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 parte 1 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Architettura del processore MC 68000

Architettura del processore MC 68000 Architettura del processore MC 68000 Registri generali D0-D7, A0-A7 PC 16 x 32 ALU 32 32 TEMP 32 EAR IR Control unit 16 SR 8 8 CCR Interfaccia memoria ed I/O Bus di memoria e di I/O Modello di programmazione

Dettagli

Modi di indirizzamento

Modi di indirizzamento Corso di Calcolatori Elettronici I Modi di indirizzamento ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Modi di indirizzamento Indicano come la CPU accede agli operandi usati dalle proprie

Dettagli

Corso di Calcolatori Elettronici I A.A Indirizzamento Lezione 27-28

Corso di Calcolatori Elettronici I A.A Indirizzamento Lezione 27-28 Corso di Calcolatori Elettronici I A.A. 2010-2011 Indirizzamento Lezione 27-28 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Modello di programmazione del processore MC68000 31 16

Dettagli

Nuovo Corso di Calcolatori Elettronici I. Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Nuovo Corso di Calcolatori Elettronici I. Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Nuovo Corso di Calcolatori Elettronici I Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Libro di testo:» B. Fadini, C. Savy: Fondamenti di Informatica II, Liguori

Dettagli

Modi di indirizzamento del processore MC68000 (parte seconda)

Modi di indirizzamento del processore MC68000 (parte seconda) Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte seconda) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea

Dettagli

MECCANISMI PER IL PASSAGGIO DEI PARAMETRI

MECCANISMI PER IL PASSAGGIO DEI PARAMETRI MECCANISMI PER IL PASSAGGIO DEI PARAMETRI CALCOLATORI ELETTRONICI I CdL Ingegneria Elettronica (A-I) DIS - Università degli Studi di Napoli Federico II Parametri in registri Realizzare un programma che

Dettagli

Metodi di indirizzamento

Metodi di indirizzamento 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

Dettagli

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A. < < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte

Dettagli

Introduzione al linguaggio assembly MC68000

Introduzione al linguaggio assembly MC68000 Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly MC68000 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Introduzione al linguaggio assembly

Introduzione al linguaggio assembly Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Riepilogo PC R 0 MA R 1 R 2 R 3 IR MB read memoria O 1 O 2 op ALU

Dettagli

Architettura del set di istruzioni (ISA)

Architettura del set di istruzioni (ISA) Architettura del set di istruzioni (ISA) Calcolatori Elettronici-Ingegneria Telematica 1 Instruction Set Architecture Software Hardware Application (Netscape) Compiler Assembler Processor Memory Digital

Dettagli

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) 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

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

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

Dettagli

Modi di indirizzamento

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,

Dettagli

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 16. Passaggio di Parametri mediante Aree Dati

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 16. Passaggio di Parametri mediante Aree Dati LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 16 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it http://digilander.libero.it/rosario.cerbone a.a. 2007-2008 Passaggio di Parametri mediante

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

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

Dettagli

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n. 11 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B Lezione n.11n ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO

Dettagli

Subroutine in linguaggio macchina: collegamento e passaggio dei parametri. Sottoprogrammi: richiami

Subroutine in linguaggio macchina: collegamento e passaggio dei parametri. Sottoprogrammi: richiami Corso di Calcolatori Elettronici I Subroutine in linguaggio macchina: collegamento e passaggio dei parametri Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Subroutine in linguaggio macchina: collegamento e passaggio dei parametri

Subroutine in linguaggio macchina: collegamento e passaggio dei parametri Corso di Calcolatori Elettronici I Subroutine in linguaggio macchina: collegamento e passaggio dei parametri Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Architettura di un calcolatore: Introduzione parte 2

Architettura di un calcolatore: Introduzione parte 2 Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

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

Dettagli

LE STRUTTURE IN PROGRAMMAZIONE ASSEMBLER

LE 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

Dettagli

Istruzioni di trasferimento dati

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:

Dettagli

Corso di Calcolatori Elettronici I A.A

Corso di Calcolatori Elettronici I A.A Corso di Calcolatori Elettronici I A.A. 2010-2011 Subroutines Lezioni 29-31 Procedure Ø Definizione:» Procedura o subroutine - Particolare sequenza di istruzioni su dati di volta in volta differenti Ø

Dettagli

Vari modi di specificare l indirizzo degli operandi

Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Vari modi di specificare l indirizzo degli operandi Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 Indirizzamento immediato L operando è

Dettagli

Modi di indirizzamento

Modi di indirizzamento Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando

Dettagli

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003 Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program

Dettagli

Architettura e funzionamento del calcolatore

Architettura e funzionamento del calcolatore FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore

Dettagli

Il processore Motorola (MC68000)

Il processore Motorola (MC68000) Il processore Motorola 68000 (MC68000) Il processore Motorola 68000 è stato un processore innovativo, che ha visto la luce all inizio degli anni 80, ed il cui successo ha posto le basi per lo sviluppo

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell

Dettagli

Introduzione a ISA. Il Livello ISA Instruction Set Level Architecture. Livello ISA e Motorola 68000: introduzione. Che cosa descrive ISA

Introduzione a ISA. Il Livello ISA Instruction Set Level Architecture. Livello ISA e Motorola 68000: introduzione. Che cosa descrive ISA Introduzione a ISA Il Livello ISA Instruction Set Level Architecture Livello ISA e Motorola 68000: introduzione Livello ISA (Instruction Level Architecture): insieme delle istruzioni (instruction set)

Dettagli

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Passaggio di Parametri per Valore o Indirizzo

Passaggio di Parametri per Valore o Indirizzo Passaggio di Parametri per Valore o Indirizzo Come in C, l assembler permette di passare un dato per valore (copia) o per indirizzo, nel secondo caso rendendo modificabile il dato stesso da dentro una

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e

Dettagli

Istruzioni e linguaggio macchina

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

Dettagli

Il linguaggio macchina

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

Dettagli

Architetture dei Sistemi Elettronici

Architetture dei Sistemi Elettronici Architetture dei Sistemi Elettronici Roberto Roncella 15. Introduzione al linguaggio assembly Il linguaggio assembly È lo strumento di programmazione più vicino alla realtà fisicaelettronica di un elaboratore

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Istruzioni di controllo del flusso

Istruzioni di controllo del flusso Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 13 1/23 Chiamata

Dettagli

Architetture dei Calcolatori

Architetture dei Calcolatori Architetture dei Calcolatori Lezione 8 -- 01/12/2011 Procedure Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Create da: F. Lo Presti Modificate da: E.Casalicchio Le procedure q In ogni linguaggio

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

System Calls, Register Spilling

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

Dettagli

Alcuni programmi assembly MC68000

Alcuni programmi assembly MC68000 Corso di Calcolatori Elettronici I Alcuni programmi assembly MC68000 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

Introduzione. Architettura

Introduzione. Architettura Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

Il processore Motorola (MC68000)

Il processore Motorola (MC68000) LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it http://digilander.libero.it/rosario.cerbone a.a. 2008-2009 Il processore Motorola 68000 (MC68000)

Dettagli

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 13

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 13 LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 13 Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 2005-2006 Il processore Motorola 68000 (MC68000)

Dettagli

Calcolatore: sottosistemi

Calcolatore: sottosistemi Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo

Dettagli

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I) Le procedure L insieme delle istruzioni (4) Architetture dei Calcolatori (lettere A-I) In ogni linguaggio di programmazione si struttura il proprio codice usando procedure (funzioni, metodi, ) L utilizzo

Dettagli

Programmazione in linguaggio assembly per architetture Intel 8088

Programmazione in linguaggio assembly per architetture Intel 8088 Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it

Dettagli

Lezione 17: Indirizzamento della memoria LC-3

Lezione 17: Indirizzamento della memoria LC-3 Lezione 17: Indirizzamento della memoria LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 22 Maggio 2013 Riassunto sull architettura LC-3 1. Organizzazione della memoria: La memoria è composta

Dettagli

Assembly IV Le procedure

Assembly IV Le procedure rchitettura degli Elaboratori e delle Reti Lezione 14 ssembly IV Le procedure Proff.. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

iafelice at cs(dot)unibo(dot)it

iafelice at cs(dot)unibo(dot)it Corso di Archite@ura degli Elaboratori Modulo di Assembly ASSEMBLY 8088 Bruno Iafelice Università di Bologna iafelice at cs(dot)unibo(dot)it 1 ArgomenE Formato delle istruzioni Indirizzamento Istruzioni

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 11

FONDAMENTI DI INFORMATICA Lezione n. 11 FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly PH 2.3 (continua) 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Istruzioni logiche 2 1 La memoria del MIPS I contenuti delle locazioni di memoria

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Linguaggio Assembly e linguaggio macchina

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

Dettagli

Architettura di una CPU

Architettura 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

Dettagli

Introduzione al linguaggio macchina. Istruzione l/m

Introduzione al linguaggio macchina. Istruzione l/m Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

ESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi

ESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi ESERCITAZIONE 9 Sommario Operandi Registri dedicati Gestione di sottoprogrammi Meccanismi di interruzione 1. Operandi Le prestazioni di una CPU possono variare considerevolmente a seconda del numero di

Dettagli

Architettura e funzionamento del calcolatore

Architettura e funzionamento del calcolatore FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Istruzioni di Controllo del Flusso Istruz. di Controllo di Flusso

Istruzioni 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

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

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

Dettagli

Indirizzamento, lettura e scrittura della memoria

Indirizzamento, lettura e scrittura della memoria Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Indirizzamento, lettura e scrittura della memoria Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica

Dettagli

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2011-2012 Architettura di un calcolatore: primi cenni introduttivi Lezione 1 (seconda parte) Prof. Roberto Canonico Università degli Studi di Napoli Federico II

Dettagli

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014 Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014 Pseudo direttive assembly Per scrivere un programma in assembly sono necessarie alcune pseudo direttive

Dettagli

Architettura hardware

Architettura 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

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

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

Dettagli

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

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à

Dettagli

Istruzioni e linguaggio macchina

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

Dettagli

La struttura delle istruzioni elementari: il linguaggio Macchina. Sommario

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

Dettagli

Introduzione ai linguaggi assembly

Introduzione ai linguaggi assembly Corso di Calcolatori Elettronici I Introduzione ai linguaggi assembly Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU: Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema

Dettagli

DEC PDP8, III Generazione, '65-'75

DEC PDP8, III Generazione, '65-'75 Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code

Dettagli

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Marzo 2017

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Marzo 2017 Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Marzo 2017 Pseudo direttive assembly Per scrivere un programma in assembly sono necessarie alcune pseudo direttive

Dettagli

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno. Trasferimento Ambiente esterno Controllo Informatica Mario Pavone - Dept. Mathematics & Computer Science - University of Catania mpavone@dmi.unict.it Architettura di Von Neumann PC$ Registri$ ALU$ Memoria$di$

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari

Dettagli

Linguaggio Assembly e linguaggio macchina

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

Dettagli