• Non ci sono risultati.

Esecuzione delle istruzioni nel Processore

N/A
N/A
Protected

Academic year: 2021

Condividi "Esecuzione delle istruzioni nel Processore "

Copied!
14
0
0

Testo completo

(1)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 1

Esecuzione delle istruzioni nel Processore

Il processore è in grado di eseguire solo istruzioni codificate in linguaggio macchina

Ciascun processore ha un proprio linguaggio macchina

Le istruzioni sono codificate in binario secondo un formato predefinito Ciascuna istruzione è formata da un Codice Operativo e da uno o più Operandi

Un Operando può essere una costante o un indirizzo di memoria Un’istruzione può essere registrata in più locazioni di memoria Il valore di un operando può essere registrato in più locazioni di memoria

Istruzioni in linguaggio macchina

Codice Operativo Operando

Codice Operativo Operando1 Operando2

Codice Operativo Operando1 Operando2 Operando3 Il numero di operandi dipende dall’architettura del processore Un modello esemplificativo di rappresentazioni con 1, 2 o 3 operandi

Il codice operativo indica l’operazione da eseguirsi sugli operandi Un operando può essere:

il dato su cui (direttamente) operare

o un indirizzo dove è memorizzato il dato su cui operare

(2)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 3

Bootstrap

Fetch

Decode

Execute

Queste tre fasi costituiscono il cosiddetto ‘Algoritmo del Processore’: il processore opera eseguendo in ciclo sempre queste tre ‘istruzioni’

Esecuzione delle istruzioni nel processore

L’esecuzione delle istruzioni è effettuata dal processore eseguendo ciclicamente tre fasi

• Fase di Fetch (Leggi)

• Leggi l’istruzione corrente, puntata dal registro PC e copiala nel registro IR

• Incrementa il contenuto del Program Counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva

• Fase di Decode (Decodifica)

• Interpreta il tipo di istruzione da eseguire

• ‘Costruisci’ gli operandi dell’istruzione

• se l’operando è una costante copia il valore in un registro della CPU

• se l’operando è un indirizzo accedi alla memoria e copia il valore in un registro della CPU

• Fase di Execute (Esecuzione)

Esegui l’istruzione

• Ritorna ad eseguire la fase di fetch per l’istruzione successiva

Esecuzione delle istruzioni nel processore

(3)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 5

Un Modello Generale di Operatività del processore

Modello descrivente in modo generalizzato il comportamento di un processore per l’esecuzione di un’istruzione

Modello costituito da:

• una Memoria centrale (un insieme di registri di memoria)

• un Processore:

• una unità di controllo:

• un registro prossima istruzione (Program Counter – PC) - contiene un’informazione di tipo “puntatore ad un’istruzione” (l’indirizzo di un registro della memoria)

• un registro istruzione (Instruction Register – IR) – contine l’istruzione da eseguire secondo il formato del Processore

• una ALU

Il comportamento è quello risultante dalle caratteristiche dello Hw e Sw di base di un elaboratore

MGO - Componenti

a

PC

Unità di Controllo

ALU

a

b g Memoria

IR

w

…...

…...

(4)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 7

Istruzioni nello MGO

Un’istruzione è modellata mediante : i = (f, P1, P2) f : funzione (azione elaborativa) da eseguire

un singolo operatore elementare o un insieme di operatori legato alle altre componenti dell’istruzione

Per un dato processore è definito un insieme di funzioni elementari f, ciascuna delle quali trasforma un insieme I di k valori in un insieme U di Q valori:

U = f (I)

Le funzioni f consentono la costruzione di un’azione elaborativa che fa calcolare ed assegnare i valori U ai registri della macchina (memoria e PC).

I1

UQ U2 U1 I2

I3 IK

f

Istruzioni nello MGO

P1 rappresenta k valori iniziali I

un insieme di valori di operandi diretti e/o di indirizzi (puntatori a registri) contenenti i valori degli operandi

... operandi di Input della ALU ...

P2 è costituito da q elementi:

• q-1 indirizzi di memoria associati ad altrettanti valori finali U

... operandi di Output della ALU ...

• il q-esimo valore uq di U è destinato al registro PC.

P2 può essere formato solo da uq

Dal punto di vista del processore, un Programma è formato da una sequenza di istruzioni i

(5)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 9

Modello operativo dello MGO

Le principali azioni eseguite sono:

1) Prelievo dalla memoria dell’istruzione memorizzata nel registro indicato dal PC e suo trasferimento nel processore nel registro IR 2) prelievo delle informazioni P1 dalla memoria se identificate da

indirizzi, o direttamente dalla istruzione se costituite dai valori su cui operare

3) calcolo dei valori U = f (I)

4) memorizzazione dei valori calcolati nei registri P2 5) trasferimento in PC dell’ultimo valore di U 6) ripetizione delle operazioni a partire dal punto 1

Le fasi operative

Si accede al registro della Memoria ‘puntato’

dal PC

1 ALU

f P1 P2 a

PC

Unità di Controllo

IR

Memoria

a

b g w

…...

…...

f P1 P2

1) l’istruzione (f, P1, P2) viene copiata dalla memoria nel registro IR 2) Il contenuto di PC

punta all’istruzione successiva

(6)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 11

Le fasi operative

1 ALU

f P1 P2 b

PC

Unità di Controllo

IR

Memoria

a

w

…...

…...

f P1 P2

I

P1

I

2) viene costruito l’insieme degli operandi I prelevando i valori puntati da P1

[e/o contenuti in P1 stesso]

2

…...

Le fasi operative

1 ALU

f P1 P2 b

PC

Unità di Controllo

IR

Memoria

a

w

…...

…...

f P1 P2

I

P1

I

3) La ALU esegue il calcolo U= f (I)

U 3

2

U = f (I)

(7)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 13

Le fasi operative

1 ALU

f P1 P2 b

PC

Unità di Controllo

IR

Memoria

a

w

…...

…...

f P1 P2 I

P1

I

4) q-i valori dell’insieme U calcolati somo memorizzati nei registri di memoria puntati da P2

U = f (I) U 3

…...

P2 U

4 2

Le fasi operative

1 ALU

PC

Unità di Controllo

IR

Memoria

w

…...

…...

f P1 P2 I

P1

I

5) l’ultimo valore calcolato uq

di U è memorizzato in PC (uq può essere uguale all’indirizzo b già calcolato)

U = f (I) U 3

P2

…...

U

uq f’ P’1 P’2

5

a

2

4

(8)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 15

Le fasi operative

ALU

PC

Unità di Controllo

IR

Memoria

w

…...

…...

f’ P’1 P’2

Il processore potrà iniziare di nuovo il ciclo delle operazioni, prelevando l’istruzione posta nel registro di memoria uq

U’ = f (I’) U’

3

…...

uq

uq

1 f’ P’1P’2

5

P’1 I’

I’

2

U’

P’2

4

Le fasi operative - sintesi

1) l’istruzione (f, P1, P2) viene spostata dalla memoria in un registro del processore

2) viene costruito l’insieme I prelevando i valori puntati da P1 e/o contenuti in P1 stesso

3) si esegue il calcolo U= f (I), eseguito dall’ALU

4) q-i valori, dell’insieme U, calcolati somo memorizzati nei registri di memoria puntati da P2

5) l’ultimo valore calcolato uq di U è memorizzato in PI, così il processore potrà di nuovo iniziare il ciclo delle operazioni, prelevando l’istruzione posta nel registro di memoria uq

(9)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 17

Esempio: …..

c = b * 5

….

f = * P1 = (b, 5) P2 = (c, uq)

* (b, 5) (c) b

.. ……. ….

a

.. ……. ….

g

4 b

? c

Memoria

Processore b PC

.. ……. ….

ALU I

U

…... …...

…….

Puntatori Dato

Esempio: …..

c = b * 5

….

f = * P1 = (b, 5) P2 = (c, uq)

* (b, 5) (c) b

.. ……. ….

a

.. ……. ….

g

4 b

? c

Memoria

b

Processore PC

U=4*5

3 20 1

* (b, 5) (c)

4 5

ALU 2

I

U

(10)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 19

Esempio: …..

c = b * 5

….

f = * P1 = (b, 5) P2 = (c, uq)

* (b, 5) (c) b

.. ……. ….

a

.. ……. ….

g

4 b

20 c

Memoria

g

* (b, 5) (c)

Processore PC

1

4 5

ALU 2

I

U

U=4*5

3 4 20

Esempio: …..

c = b * 5

….

f = * P1 = (b, 5) P2 = (c, uq)

* (b, 5) (c) b

.. ……. ….

a

.. ……. ….

g

4 b

20 c

g

* (b, 5) (c)

Processore PC

I

U

U= PC + 1

5

g

(11)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 21

Tre tipologie di istruzioni

• Istruzioni aritmetico-logiche (Elaborazione dati)

– Somma, Sottrazione, Divisione, … – And, Or, Xor, …

– Confronti (Maggiore, Minore, Uguale, Minore o uguale, …)

• Controllo dell’ordine di esecuzione delle istruzioni

– Sequenza

– Selezione semplice, a due vie, a n vie, …

– Ciclo a condizione iniziale, ciclo a condizione finale, …

• Trasferimento di informazione

– Trasferimento dati e istruzioni tra CPU e memoria – Trasferimento dati e istruzioni tra CPU e dispositivi di

ingresso/uscita (attraverso le relative interfacce)

Introduzione ai sistemi informatici 3/ed

Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Istruzioni aritmetico-logiche

• Un’istruzione aritmetico-logica, ad esempio:

add RZ,RX,RY

(RZ=RX+RY : somma i valori di RX e RY e metti il risultato in RZ) viene eseguita con i seguenti quattro passi:

1. l’istruzione viene prelevata dalla memoriaprelevata dalla memoria e scritta nell’IR mentre il PC viene incrementato (fase di fase di fetchfetch);

2. viene letto il contenuto dei due registri RX e RYletto il contenuto dei due registri RX e RY

(l’unità di controllo attiva i collegamenti tra i registri RX e RY, individuati dal contenuto dell’IR, e i registri di ingresso all’ALU e provvede a effettuare il trasferimento dei dati);

3. la ALU opera sui datiALU opera sui dati letti dal banco dei registri, eseguendo l’operazione indicata dal codice compreso nell’istruzione

(l’unità di controllo attiva il collegamento di un pezzo dell’IR con l’ingresso di controllo dell’ALU);

4. il risultato risultato calcolato dall’ALU viene scritto nel registro RZscritto nel registro RZ

(anche il registro destinazione viene individuato a partire dal contenuto dell’IR).

(12)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio Elementi di InformaticaCopyright © 2006 Pearson Addison-Wesley. All rights 23

reserved.

add RZ,RX,RY <==> add 800, 428, 884

Somma contenuto di 428 e 884 e memorizza in 800

(13)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio Elementi di InformaticaCopyright © 2006 Pearson Addison-Wesley. All rights 25

reserved.

(14)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio Elementi di InformaticaCopyright © 2006 Pearson Addison-Wesley. All rights 27

reserved.

Riferimenti

Documenti correlati

Finalmente arrivano informazioni sul complice della Signora Violet, l’abilissima ladra arrestata da Numerik.. Gli indizi sono contenuti in una busta chiusa: l’ispettore Numerik la

Un Operando può essere una costante o un indirizzo di memoria Il Codice Operativo indica l’operazione che deve essere eseguita Un’istruzione può essere registrata in più

Prova a completare il percorso ricordando che ogni numero è maggiore di uno rispetto al suo precedente:. Ecco formato il numero cento

Il sistema operativo, quando c’è bisogno di eseguire un nuovo servizio (e quindi di mandare in esecuzione un nuovo processo) decide di mandarlo in esecuzione sul processore che

1) violazione e falsa applicazione dei principi di imparzialità, trasparenza e par condicio competitorum; violazione del principio di concorrenza; eccesso di potere per

3 Sulla normativa in questione si sono succeduti vari orientamenti a partire da quello fornito dal Dipartimento della funzione pubblica con la circolare n. 1/2013.,

L’accessibilità non è un optional o, peggio ancora, una gentile concessione da “elargire” alle persone con disabilità, ma un diritto da garantire in partenza a tutti i

Supponiamo di essere arrivati a un certo passo della costruzione e di saper costruire tutti i punti del piano che hanno coordinate appartenenti a un certo campo di numeri F..