Uso dei metodi di indirizzamento

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Uso dei metodi di indirizzamento"

Transcript

1 Testo di rif.to: [Congiu] (pg ) 02.e Uso dei metodi di indirizzamento Un esempio: acquisizione dati Esempi d impiegod Confronto tra i metodi Analisi temporale Sistema di acquisizione dati 5 dispositivi A/D (convertitori analogico/digitale) siano collegati ad un calcolatore come indicato in figura: 1

2 Sistema di acquisizione dati - esempio 2 Le conversioni A/D sono sincronizzate da un clock c(t). Ciascun fronte di salita di c(t) avvia, in parallelo, le conversioni su tutti 5 i dispositivi: i 5 campioni (valori digitali prodotti nei registri Ru i ) si riferiscono quindi al medesimo istante. L elaboratore deve acquisire i 5 campioni e ricopiarli in memoria, prima che i valori contenuti nei Ru i vengano sovrascritti dai nuovi campioni prodotti dal successivo fronte di salita del clock (specifica real-time). Si debbano acquisire 100 set di dati dai 5 convertitori A/D Conversione A/D registro Ru da 16 bit: 64 K valori digitali possibili, l errore (assoluto) di discretizzazione massimo è: e s = (S imax - S imin )/64K 3 Errore di discretizzazione nella conversione A/D:

3 Sincronizzazione delle conversioni Le conversioni vengono avviate dal primo fronte di salita del clock successivo al comando START. Il tempo necessario al convertitore A/D per produrre il valore digitale in Ru è t c (tempo di conversione). Rispetto allo START, il dato convertito è pronto con un ritardo minimo pari a t c e massimo pari a t c +T (T = periodo del clock). 4 Diagramma temporale delle operazioni di conversione Organizzazione dei dati in memoria 5 Organizzazione della struttura di dati nella memoria centrale: a ciascun convertitore sia associata un area (a partire dagli indirizzi TAB1, TAB2, ) destinata a contenere i dati acquisiti; vi sia anche una tabella di puntatori, situata all indirizzo IND, ciascuno dei quali individua il primo elemento dell area corrispondente destinata a contenere i dati.

4 Programmazione dell esempio esempio Conviene scrivere prima il codice che acquisisce i 100 campioni da un convertitore (ad es. AD4). Vengono ora presentate diverse soluzioni, con diversi modi di indirizzamento (allo scopo di esemplificarne l uso e di consentire qualche raffronto). Si affronterà poi il problema di codificare la soluzione completa, che acquisisce 100 set di 5 campioni simultanei dai 5 convertitori, rispettando le specifiche di tempo reale. 6 1 a soluzione Si supponga di usare una macchina (più semplice del PD32) ad un indirizzo (con registro accumulatore), dotata dei soli metodi di indirizzamento: immediato, assoluto (diretto e indiretto); in grado di eseguire almeno le seguenti istruzioni: - aritmetiche: ADD m SUB m -di trasferimento: LOAD(W) m STORE(W) m - di controllo: JNZ m -di I/O: INW disp START disp JNR disp, m 7

5 Codifica della 1 a soluzione PT:.DSL 1 ; puntatore CT:.DSL 1 ; contatore LOAD IND+12 ; valore iniziale del STORE PT ; puntatore LOAD #100 ; valore iniziale del STORE CT ; contatore LOOP: JNR AD4, LOOP ; protocollo di input per la LOOP1: START AD4 ; acquisizione WAIT: JNR AD4, WAIT ; del INW AD4 ; dato ; memorizzazione del dato LOAD PT ; incremento ADD #2 ; del STORE PT ; puntatore LOAD CT ; aggiornamento SUB #1 ; del STORE CT ; contatore JNZ LOOP1 ; iterazione se L[CT] è diverso da zero 8 2 a soluzione Si supponga di usare una macchina: - con più registri e quindi con la possibilità di usare anche i metodi di indirizzamento con registro; - i metodi di indirizzamento disponibili siano: immediato, assoluto (diretto), diretto di registro, indiretto con registro. Questa macchina potrebbe essere il PD32. 9

6 Codifica della 2 a soluzione 10 MOVL IND+12, R1 ; valore iniziale del puntatore MOVB #100, R0 ; valore iniziale del contatore LOOP: JNR AD4, LOOP ; protocollo di input per la LOOP1: START AD4 ; acquisizione WAIT: JNR AD4, WAIT ; del INW AD4, (R1) ; dato ADDL #2, R1 ; incremento del puntatore SUBB #1, R0 ; aggiornamento del contatore JNZ LOOP1 ; iterazione se R0 0 3 a soluzione Si voglia usare anche l indirizzamento con registro indice; 11 - i metodi di indirizzamento disponibili siano: immediato, assoluto (diretto), diretto di registro, indiretto con registro, con registro indice. Questa macchina potrebbe essere il PD32.

7 Codifica della 3 a soluzione MOVL #0, R1 ; valore iniziale dell offset MOVB #100, R0 ; valore iniziale del contatore LOOP: JNR AD4, LOOP ; protocollo di input per la LOOP1: START AD4 ; acquisizione WAIT: JNR AD4, WAIT ; del INW AD4, TAB4(R1) ; dato ADDL #2,R1 ; incremento dell offset SUBB #1,R0 ; aggiornamento del contatore JNZ LOOP1 ; iterazione se R0 0 Specificando gli indirizzi base TAB1, TAB2,, nell istruzione che memorizza il dato acquisito, con lo stesso valore in R1 si potrà collocare il set di 5 campioni in posizioni di pari indice nelle 5 tabelle. Questo sarà il metodo usato nella soluzione completa a soluzione Si voglia usare l indirizzamento con registro indice indiretto (pre-indexed); - i metodi di indirizzamento disponibili siano: immediato, assoluto (diretto), diretto di registro, indiretto con registro, con registro indice, con registro indice indiretto (pre-indexed). Questa macchina non è il PD32 (potrebbe essere il PD132). 13

8 Codifica della 4 a soluzione MOVL #12, R1 ; valore nel registro indice MOVB #100, R0 ; valore iniziale del contatore LOOP: JNR AD4, LOOP ; protocollo di input per la LOOP1: START AD4 ; acquisizione WAIT: JNR AD4, WAIT ; del INW ; dato ADDL #2, IND(R1) ; incremento del puntatore in ; memoria (PD132!) ; attenzione: così si altera il ; contenuto della tabella IND SUBB #1, R0 ; aggiornamento del contatore JNZ LOOP1 ; iterazione se R a soluzione Si voglia usare il registro indice indiretto nella forma post-indexed; - i metodi di indirizzamento disponibili siano: immediato, assoluto (diretto), diretto di registro, indiretto con registro, con registro indice, con registro indice indiretto (post-indexed). Questa macchina non è il PD32 (potrebbe essere il PD132). 15

9 Codifica della 5 a soluzione PT:.DSL 1 ; puntatore (a TAB4) MOVL #12, R1 ; valore iniziale del MOVL IND(R1), PT ; puntatore MOVB #100, R0 ; valore iniziale del contatore MOVL #0, R1 ; valore iniziale del registro indice LOOP: JNR AD4, LOOP ; protocollo di input per LOOP1: START AD4 ; la acquisizione WAIT: JNR AD4, WAIT ; del INW AD4, [@PT](R1) ; dato ADDL #2, R1 ; incremento del registro indice SUBB #1, R0 ; aggiornamento del contatore JNZ LOOP1 ; iterazione se R a soluzione Con l indirizzamento auto-incrementante si ottiene la soluzione più efficiente (minor numero di istruzioni!); - i metodi di indirizzamento disponibili siano: immediato, assoluto (diretto), diretto di registro, indiretto con registro, post-incrementante e pre-decrementante con registro indice, Questa macchina è il PD32. 17

10 Codifica della 6 a soluzione 18 MOVL IND+12, R1 ; valore iniziale del puntatore MOVB #100, R0 ; valore iniziale del contatore LOOP: JNR AD4, LOOP ; protocollo di input per la LOOP1: START AD4 ; acquisizione WAIT: JNR AD4, WAIT ; del dato INW AD4, (R1)+ ; + incremento del puntatore SUBB #1, R0 ; aggiornamento del contatore JNZ LOOP1 ; iterazione se R0 0 Soluzioni esaminate - 1 Se non è disponibile un indirizzamento tramite registro, bisogna ricorrere ad una locazione di memoria che svolga le funzioni di puntatore. Così si è fatto nella prima soluzione (puntatore PT): 19 LOAD PT ADD #2 STORE PT memoria puntatore ; memorizzazione del dato ; incremento ; del ; puntatore dato dato successivo

11 Soluzioni esaminate - 2 L efficienza aumenta se è possibile sfruttare l indirizzamento con registro: 20 Così si è fatto nella seconda soluzione (registro R1): INW AD4, (R1) ADDL #2, R1 ; memorizzazione del dato ; incremento del puntatore registro puntatore dato dato successivo Soluzioni esaminate - 3 Se si usa il metodo di indirizzamento con registro indice, l indirizzo di ciascun elemento si ottiene come somma di un indirizzo base X e di un offset, fornito da un registro indice RI. Per individuare elementi diversi si può modificare RI oppure X. L accesso agli elementi consecutivi di una lista di dati si ottiene incrementando RI, come fatto nel terzo dei metodi presentati (registro indice R1): INW AD4, TAB4(R1) ADDL #2, R1 ; memorizzazione del dato ; incremento del puntatore 21 Con un diverso valore di X (ad es. TAB5 invece di TAB4) si accede all elemento di uguale indice in un altra tabella.

12 Schematizzazione del terzo metodo 22 istruzione ind. base registro offset + dato dato successivo Soluzioni esaminate Diversi valori di X, inseriti in istruzioni diverse, consentono di accedere a elementi corrispondenti di liste diverse, come si è fatto nell esempio della somma di due array: MOVW ADDW MOVW ADDW 300(R1), R0 500(R1), R0 R0, 100(R1) #2, R1

13 Soluzioni esaminate - 4 Con l indirizzamento indiretto e l uso di un registro indice nella forma pre-indexed gli elementi della struttura di dati sono individuati da un puntatore che si trova all indirizzo RI + X. Per scandire gli elementi consecutivi si incrementa tale puntatore, come si è fatto nel quarto metodo presentato INW ADDL #2, IND(R1) istruzione ind. base registro + ind. base offset ; memorizzazione del dato ; incremento del puntatore ; in memoria (PD132!) puntatore dato dato successivo 24 Soluzioni esaminate - 5 Con l indirizzamento indiretto e l uso di un registro indice nella forma post-indexed, l indirizzo di ciascun elemento è fornito dalla somma dell indirizzo base (puntatore situato all indirizzo X) e dell offset (contenuto nel registro RI). Gli elementi successivi possono essere individuati incrementando RI, come si è fatto nel quinto dei metodi presentati (registro indice R1): INW AD4, [@PT](R1) ; memorizzazione del dato ADDL #2, R1 ; incremento del reg. indice In alternativa, sarebbe stato possibile incrementare il puntatore base (situato all indirizzo PT): INW AD4, [@PT](R1) ; memorizzazione del dato ADDL #2, PT ; incremento del puntatore 25

14 Schematizzazione del quinto metodo 26 istruzione indir. punt. memoria puntatore registro offset + dato dato successivo Soluzioni esaminate - 6 I metodi di indirizzamento con registro (diretto, indiretto, auto-incrementante e auto-decrementante) sono, per questo tipo di problemi, i più efficienti. La possibilità di auto-aggiornamento consente di risparmiare istruzioni, come appare dal sesto dei metodi presentati: INW AD4, (R1)+ ; memorizzazione del dato ; + incremento del puntatore 27 registro puntatore dato dato successivo

15 Soluzione completa Si tratta ora di codificare la soluzione completa, che acquisisce 100 set di 5 campioni simultanei dai 5 convertitori, rispettando le specifiche di tempo reale: per evitare perdita di dati, dopo l avvio del campionamento (fronte di salita del clock) il calcolatore deve acquisire i 5 campioni e ricopiarli in memoria, prima che i valori contenuti nei Ru i vengano sovrascritti dai nuovi campioni prodotti dal successivo fronte di salita del clock: l esecuzione di tutte le istruzioni che: acquisiscono i 5 dati, li mettono in memoria e comandano l acquisizione dei successivi 5, deve durare meno del periodo del clock. per garantire la simultaneità dei 5 campioni acquisiti ad ogni tic del clock, il calcolatore deve inviare il comando START a tutti 5 i dispositivi, prima del fronte di salita del clock. 28 Soluzione completa: avvio 29

16 Soluzione completa: ciclo iterativo 30 Soluzione completa: diagramma temporale t c MAX = tempo di conversione massimo t L = tempo di esecuzione del ciclo V1: JMP V1 T = periodo del clock che sincronizza il campionamento 31 Per rispettare le specifiche real-time, deve essere: t L < T - t c MAX

17 Esercizio Con riferimento al sistema di acquisizione di 100 set da 5 campioni dai 5 convertitori A/D, supponendo che il tempo di conversione t c dei 5 convertitori sia compreso tra 1 µs e 1.2 µs, e nell ipotesi che il tempo di esecuzione delle istruzioni del PD32 (comprese le operazioni di fetch) sia di 200 ns se la codifica dell'istruzione occupa un long word, 300 ns se occupa 2 long word, e 400 ns se occupa 3 long word, si calcoli il periodo minimo T MIN del clock che garantisce la contemporaneità dei campioni acquisiti e la non perdita dei dati. 32 Soluzione dell esercizio esercizio ; istruzioni del ciclo iterativo e relativi tempi d esecuzione V1: JNR AD1, V1 ; 2L 300ns INW AD1, TAB1(R1) ; 2L 300ns V2: JNR AD2, V2 ; 2L 300ns INW AD2, TAB2(R1) ; 2L 300ns V3: JNR AD3, V3 ; 2L 300ns INW AD3, TAB3(R1) ; 2L 300ns V4: JNR AD4, V4 ; 2L 300ns INW AD4, TAB4(R1) ; 2L 300ns V5: JNR AD5, V5 ; 2L 300ns INW AD5, TAB5(R1) ; 2L 300ns ADDL #2, R1 ; 2L 300ns SUBB #1, R0 ; 2L 300ns JZ FINE ; 2L 300ns START AD1 ; 1L 200ns START AD2 ; 1L 200ns START AD3 ; 1L 200ns START AD4 ; 1L 200ns START AD5 ; 1L 200ns JMP V1 ; 2L 300ns ; ; totale t L 5 200ns 33

18 Soluzione: considerazioni - 1 Prima che sia trascorso un periodo del clock, il processore deve completare l acquisizione dei 5 campioni e comandare l acquisizione dei 5 successivi; deve, cioè, completare l esecuzione di tutte le istruzioni comprese tra V1: e JMP V1. Va tenuto inoltre presente il fatto che le istruzioni di attesa (Vx: JNR ADx, Vx) sono destinate ad essere eseguite più volte, in attesa che, trascorso il tempo di conversione, il dato sia pronto. Per rispettare le specifiche del problema, va considerato il caso peggiore, che si ha quando il primo dei dispositivi che vengono esaminati (AD1) è il più lento (ha un tempo di conversione pari a t c MAX = 1200ns). 34 Soluzione: considerazioni - 2 Nelle ipotesi fatte, il primo ciclo di attesa (V1: JNR AD1, V1) viene eseguito tante volte quante sono necessarie a far trascorrere i 1200ns. Il caso più sfortunato è che, trascorso questo tempo, debba ancora iniziare il fetch della istruzione V1: JNR AD1, V1 (la cui esecuzione trova READY = 1 e consente di uscire dal ciclo di attesa). Pertanto la durata di questo primo ciclo di attesa è, nel caso peggiore, ns. La durata totale del ciclo V1: JMP V1 è, nel caso peggiore, 1200ns ns = 6400ns. Allo stesso risultato si arriva usando la formula t L < T - t c MAX da cui si ottiene: T > t L + t c MAX = 5200ns ns = 6400ns. In conclusione il periodo minimo del clock è T MIN = 6400ns

19 Fine 02.e Uso dei modi di indirizzamento

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

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

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

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

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 di Calcolatori Elettronici Prof. Fabio Roli. Corso di Laurea in Ingegneria Elettronica. Esercitazione 3 (Capitolo 4) Set di istruzioni

Esercitazione di Calcolatori Elettronici Prof. Fabio Roli. Corso di Laurea in Ingegneria Elettronica. Esercitazione 3 (Capitolo 4) Set di istruzioni Esercitazione di Calcolatori Elettronici Prof. Fabio Roli Corso di Laurea in Ingegneria Elettronica Esercitazione 3 (Capitolo 4) Set di istruzioni Outline Set di istruzioni di macchina Metodi di indirizzamento

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

Elaborazione dell informazione

Elaborazione 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

Dettagli

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 3 aprile 2006 Esercizio 1 (punti 3) Considerare una codifica su 8 bit in complemento a due e rappresentare i seguenti

Dettagli

Il processore minimo MU0. S. Salvatori - Microelettronica marzo 2019 (50)

Il processore minimo MU0. S. Salvatori - Microelettronica marzo 2019 (50) Il processore minimo S. Salvatori - Microelettronica marzo 209 (50) Il processore minimo Il tipo più semplice di processore prevederà: un, Program Counter, per puntare all istruzione da eseguire un, Instruction

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,

Dettagli

Informatica Teorica. Macchine a registri

Informatica 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

Dettagli

Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti

Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti Compito Num. 1 COGNOME:...NOME:... 1) (20%) Si vuole realizzare una CPU

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

Macchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD

Macchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD Macchine RAM API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD 2 Macchina RAM 3 Esercizio Si consideri il linguaggio definito da: L = wcw R w a, b } 1. Codificare un programma RAM per il riconoscimento

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

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali

Dettagli

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

PD32. Interfacciamento con i dispositivi di I/O (V) PD32 Interfacciamento con i dispositivi di I/O (V) Interazione CPU - dispositivi Soluzioni possibili Busy Waiting Utilizzabile quando CPU esegue solo il task di dialogo con la periferica Interruzioni D.M.A.

Dettagli

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,

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

Processore Danilo Dessì. Architettura degli Elaboratori.

Processore Danilo Dessì. Architettura degli Elaboratori. Processore 888 Architettura degli Elaboratori Danilo Dessì [email protected] 888 L 888 è un processore che è stato progettato dalla Intel nel periodo 1978/1979 La sua architettura è simile a quella

Dettagli

La macchina di Von Neumann

La macchina di Von Neumann Università degli Studi di Palermo Facoltà di Ingegneria La macchina di Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica

Dettagli

Linguaggi, compilatori e interpreti

Linguaggi, compilatori e interpreti Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Francesco Folino FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti

Dettagli

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill 3/2/2010

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill 3/2/2010 Unità Centrale di Elaborazione Unità di Unità aritmetico logica () centrale Terminale Dispositivi di I/O Unità disco Stampante 02/03/2010 Informatica e cultura dell informazione capitolo 1 Il sistema di

Dettagli

Esercizio I-DLX. Calcolatori Elettronici L-A

Esercizio I-DLX. Calcolatori Elettronici L-A Esercizio I-DLX Calcolatori Elettronici L-A Esercizio 1 Si supponga di voler estendere il set di istruzioni del DLX con l istruzione BEQ Ri, Rj, (Rz) L istruzione confronta i due registri Ri e Rj e, in

Dettagli

L insieme delle istruzioni (6)

L insieme delle istruzioni (6) L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso

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

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

ARM: stack e subroutine

ARM: stack e subroutine ARM: stack e subroutine 05.d Le istruzioni di accesso allo stack L istruzione di chiamata a subroutine Gestione degli stack frame Istruzione di store multiplo (STM Le istruzioni LDR e STR operano su parole

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

Un esempio di ciclo macchina

Un esempio di ciclo macchina Un esempio di ciclo macchina La CPU deve eseguire le seguenti istruzioni:. Somma dei due valori contenuti agli indirizzi di memoria e ponendo il risultato all indirizzo. Differenza tra i due valori contenuti

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni

Dettagli