• Non ci sono risultati.

Azioni elaborative nella macchina diVonNeumann

N/A
N/A
Protected

Academic year: 2021

Condividi "Azioni elaborative nella macchina diVonNeumann"

Copied!
10
0
0

Testo completo

(1)

Azioni elaborative nella macchina di Von Neumann

Un’azione elaborativa, nel modello di Von Neumann, è un’azione che ha l’effetto di alterare lo stato di un insieme di dati, definito come la coppia (A,V), dove A è un insieme di attributi e V l’insieme dei valori associati

Un’azione elaborativa è quella di assegnare un valore ad uno o più attributi

Una elaborazione è, allora, una trasformazione dello stato dei dati coinvolti: lo stato dei dati viene alterato dopo ogni azione, pervenendo in un numero finito di passi dallo stato iniziale a quello finale

Si compie così l’algoritmo di calcolo, detto processo di elaborazione Il processore del modello di Von Neumann è la ‘macchina’ che esegue il processo di elaborazione

Il processo è descritto formalmente da un programma registrato nella memoria

La Macchina Astratta Generalizzata (MAG)

E’ un modello dal quale trarre come casi particolari il comportamento delle macchine reali

Il comportamento della MAG è quello risultante dalle caratteristiche dello Hw e Sw di base di un elaboratore e corrisponde a ciò che

‘vede’ un utente

Una MAG è costituita da:

• un insieme di registri di memoria, costituenti la Memoria

• un registro speciale detto prossima istruzione PC, che contiene un’informazione di tipo “puntatore ad un’istruzione” (il nome, indirizzo, di un registro)

• un processore (insieme registri, tra cui il PC, e la ALU)

(2)

La Macchina Astratta Generalizzata (MAG) Componenti

α PC

Processore

ALU

α β γ

Memoria IR

Dati ed Istruzioni della MAG

I tipi di informazioni trattati dalla MAG si suddividono in Dati: le informazioni da elaborare o elaborate

Istruzioni: le informazioni che indicano le azioni da compiere

… dati di tipo puntatore ...

puntatori a dati: assumono il nome (attributo, indirizzo) del dato puntatori ad istruzioni: assumono il nome (attributo, indirizzo) di un’istruzione, tipicamente detto etichetta

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

(3)

Istruzioni e Programmi nella MAG

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

Un’azione elaborativa si esprime mediante un’istruzione:

i = (f, P1, P2)

f è la funzione da calcolare (un singolo operatore elementare o un insieme di operatori legato alle altre componenti dell’istruzione) P1rappresenta i valori I (iniziali), un insieme di valori e/o di puntatori a registri. P1è un insieme di dati se oggetto dell’elaborazione sono i dati; P1contiene etichette (indirizzi) se oggetto dell’elaborazione sono le stesse istruzioni

P2è costituito da q-1 puntatori a registri di memoria associati ad altrettanti valori di U (finali); il q-esimo valore uq di U è destinati al registro PC.

P2può essere formato solo da uq

Un Programma è formato da una sequenza di istruzioni i

Modello operativo della MAG

La MAG in ogni istante è in un particolare stato, definito dall’insieme dei valori in tutti i suoi registri.

Le azioni espletate dalla MAG sono:

1) Prelievo dalla memoria dell’istruzione definita dal puntatore PC e suo trasferimento nel processore

2) prelievo delle informazioni P1, dalla memoria se identificate da puntatori (indirizzi) o direttamente dalla istruzione se costituite da valori

3) calcolo dei valori U = f (I)

4) memorizzazione dei valori calcolati nei registri P2

(4)

Le fasi operative della MAG - 1

f P1 P2 f P1 P2 α

PC

Processore

ALU

α β γ

Memoria 1

1) si accede al registro della Memoria ‘puntato’ dal PC e l’istruzione (f, P1, P2) viene copiata dalla memoria in un registro del processore (il registro IR)

Le fasi operative della MAG - 2

f P1 P2 α

PC

Processore

ALU

Memoria 1

2

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

I

f P1 P2 I

α P1 γ

(5)

Le fasi operative della MAG - 3

f P1 P2 α

PC

Processore

I U = f (I) U

ALU

Memoria 1

2

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

f P1 P2 I

α P1 γ

Le fasi operative della MAG - 4

f P1 P2 α

PC

Processore

I U = f (I) U

1 ALU

2 4

3

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

f P1 P2 I

α P1

P2 U

(6)

Le fasi operative della MAG - 5

f P1 P2 f P1 P2 uq

PC

Processore

I U = f (I) U

ALU

I U α

P1 P2

Memoria

1

2 4

3 5

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

f’ P’2 P’1 uq

Le fasi operative della MAG - 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 P1e/o contenuti in P1stesso

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

(7)

MAG e sue fasi operative

f P1 P2 α

PC

Processore

I U = f (I) U

ALU

Memoria 1

2 4

3 5

f P1 P2 I

α P1

P2 U

Esempio: …..

c = b * 5

….

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

* (b, 5) (c) β

.. ……. ….

α

.. ……. ….

γ

4 b

? c

Processore β PC

.. ……. ….

I

U

…... …...

…….

(8)

Esempio: …..

c = b * 5

….

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

* (b, 5) (c) β

.. ……. ….

α

.. ……. ….

γ

4 b

? c

Memoria

β

* (b, 5) (c)

Processore PC

1

4 5

ALU 2

I

U

U=4*5

3 20

Esempio: …..

c = b * 5

….

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

* (b, 5) (c) β

.. ……. ….

α

.. ……. ….

γ

4 b

20 c

Memoria

β

* (b, 5) (c)

Processore PC

1

4 5

ALU 2

I

U

U=4*5

3 20 4

(9)

Esempio: …..

c = b * 5

….

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

* (b, 5) (c) β

.. ……. ….

α

.. ……. ….

γ

4 b

20 c

Memoria

γ

* (b, 5) (c)

Processore PC

ALU I

U

U= PC + 1

5

γ

Esecuzione delle istruzioni nella Macchina Reale

(leggi - decodifica - esegui)

1. Leggi l’istruzione corrente, puntata dal registro PC e copiala nel registro IR (Fetch)

4. ‘Costruisci’ gli operandi dell’istruzione (decode):

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

(Fetch) 2.

3.

(10)

Istruzioni 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

Codice Operativo Operando

Codice Operativo Operando1 Operando2

Codice Operativo Operando1 Operando2 Operando3

Bootstrap

Fetch

Decode

Execute

Algoritmo del Processore

Riferimenti

Documenti correlati

Si compongano tutte le corrispondenze del punto (6a) con la cor- rispondenza ϕ e si dica quali tra le corrispondenze ottenute

Il secondo capitolo del rapporto pubblicato da The Lancet lo scorso luglio sul tema della salute orale, affronta le tematiche relative all’analisi di un sistema sanitario inadatto

● approccio critico alla lettura di dati ed articoli scientifici. ● organizzazione sintetica

Claudia Berra (Università degli Studi di Milano) Valter Boggione (Università degli Studi di Torino) Christian Del Vento (Université Sorbonne Nouvelle) Francesco Ferretti

L’organizzazione dei tempi nelle prime settimane di scuola non avrà una scansione rigida bensì gli insegnanti, in accordo con i genitori, daranno flessibilità in modo

Screening rivolto alla popolazione che spontaneamente affluiva alle farmacie nell’arco di una settimana intorno al Diabetes Day (14 Novembre). Misurazione capillare della

Gli oggetti dell'insieme sono detti elementi e possono essere oggetti concreti come cose, animali o persone (vedi l'insieme A), ma anche oggetti astratti come numeri, parole,

Allora dal- l’ipotesi “se Antonio non va alla stazione, non incontra Anna” si avrebbe che Antonio non incontra Anna.. Ma questo contraddice il fatto che invece Antonio incontra