Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria...

35
Il Linguaggio Il Linguaggio Macchina Macchina I N F O R M A T I C A I N F O R M A T I C A CdL Magistrale in CdL Magistrale in Odontoiatria e Protesi Odontoiatria e Protesi Dentaria Dentaria Università degli Studi di Università degli Studi di Catania Catania Prof. Mario Pavone Prof. Mario Pavone [email protected] http://www.dmi.unict.it/mpavone/ AA. 2012/2013

Transcript of Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria...

Page 1: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Il Il Linguaggio Linguaggio

MacchinaMacchina

I N F O R M A T I C AI N F O R M A T I C A

CdL Magistrale in Odontoiatria CdL Magistrale in Odontoiatria e Protesi Dentariae Protesi Dentaria

Università degli Studi di Università degli Studi di CataniaCatania

Prof. Mario PavoneProf. Mario [email protected]://www.dmi.unict.it/mpavone/AA. 2012/2013

Page 2: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Linguaggio Macchina

Insieme delle istruzioni decodificate ed eseguite dall’unità di elaborazione

Istruzioni possono essere operazioni: elaborazione dell’informazioneelaborazione dell’informazione trasferimento dell’informazionetrasferimento dell’informazione

Istruzioni linguaggio macchina: Istruzioni aritmetico-logicheIstruzioni aritmetico-logiche Istruzioni di trasferimento datiIstruzioni di trasferimento dati Istruzioni di controlloIstruzioni di controllo

Page 3: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Tipologia delle operazioni svolte

Operazioni di manipolazione/elaborazione Somma Moltiplicazione

Operazioni di trasferimento Da periferica-input a MM Da MM a CPU Da CPU a MM Da MM a periferica-output

Page 4: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Es.: valutazione di espressione

Vogliamo calcolare il valore dell’espressione:

(a+b) x (c+d)leggendo i valori delle variabili a, b, c, d dal dispositivo di ingresso e scrivendo il risultato della valutazione sul dispositivo di uscita.

Page 5: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Un algoritmo generale

Leggi dal dispositivo di ingresso il valore delle variabili a, b, c, da, b, c, d

Somma il valore di aa al valore di bb Salva il risultato parziale ottenuto Somma il valore di cc al valore di dd Moltiplica il risultato parziale appena ottenuto con

quello precedentemente salvato Scrivi sul dispositivo di uscita il risultato della

valutazione complessiva Termina l’esecuzione del programma.

Page 6: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

L’algoritmo (1) Scrivi nella cella di memoria centrale riservata al

valore della variabile aa il valore letto dal dispositivo di ingresso (disponibile nel registro dati della periferica). Fai la stessa cosa per b, c, db, c, d

Somma il valore di aa al valore di bb Copia il contenuto della cella di memoria riservata ad

aa nel registro A Copia il contenuto della cella di memoria riservata a

b nel registro B Somma il contenuto dei registri A e B

Salva il risultato parziale, contenuto nel registro A, in una cella di memoria predisposta per il risultato (zz)

Page 7: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

L’algoritmo (2)

Somma il valore di cc al valore di dd Copia il contenuto della cella di memoria riservata a

cc nel registro A Copia il contenuto della cella di memoria riservata a

bb nel registro B Somma il contenuto dei registri A e B

Moltiplica il risultato parziale appena ottenuto con quello precedentemente salvato Copia il contenuto della cella riservata a zz nel

registro B (z e B contengono ora a+b, mentre A contiene c+d)

Moltiplica il contenuto dei registri A e B.

Page 8: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

L’algoritmo (3)

Scrivi sul dispositivo di uscita il risultato della valutazione complessiva Memorizza il risultato appena calcolato (e

disponibile nel registro A) nella cella di memoria riservata a zz

Copia il contenuto della cella di memoria riservata a z nel registro dati della periferica di uscita

Termina l’esecuzione del programma

Page 9: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Codifica delle istruzioni

Sono codificate mediante stringhe binarie di bit Un’istruzione è suddivisa in

codice operativo: operazione da eseguire (opcodeopcode)

operandi: dove reperire i dati dove scrivere il risultato

Il codice operativo e gli operandi sono anch’essi codificati in forma binariaforma binaria

Page 10: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Es: esecuzione di programmi

codifica di codifica di un’istruzioneun’istruzione

campo codice operativocampo codice operativo: : operazione elementare richiesta.operazione elementare richiesta.

campo operandocampo operando: forniscono : forniscono informazioni dettagliate informazioni dettagliate

sull’operazione richiesta.sull’operazione richiesta.

Page 11: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

No.No. istruzioneistruzione descrizionedescrizione

11 1 RXY1 RXYCarica (LOAD) nel registro R la configurazione di bit trovata nella cella di memoria il cui indirizzo è XY

22 2 RXY2 RXY Carica (LOAD) nel registro R la configurazione di bit XY

33 3 RXY3 RXYMemorizza (STORE) nella cella di memoria di indirizzo XY il contenuto del registro R

44 4 0RS4 0RS Sposta (SHIFT) la configurazione di bit del registro S e copiala nel registro R

55 5 RST5 RSTSomma (ADD) le configurazioni di bit dei registri S e T e pone il risultato nel registro R (rappr. in comlemento a due)

66 6 RST6 RSTSomma (ADD) le configurazioni di bit dei registri S e T e pone il risultato nel registro R (rappr. in virgola mobile)

77 7 RST7 RSTApplica l’operatore OR alle configurazione di bit dei registri S e T e memorizza il risultato nel registro R

88 8 RST8 RSTApplica l’operatore AND alle configurazione di bit dei registri S e T e memorizza il risultato nel registro R

99 9 RST9 RSTApplica l’operatore XOR alle configurazione di bit dei registri S e T e memorizza il risultato nel registro R

1010 A R0XA R0XRuota (ROTATE) di un bit a destra X volte la configurazione di bit memorizzata nel registro R

1111 B RXYB RXYSalta (JUMP) all’istruzione nella cella di memoria XY se il contenuto del registro R è uguale a quello del registro 0

1212 C 000C 000 Termina (HALT) l’esecuzione

Page 12: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Es: decodifica istruzione

Decodifica dell’istruzione 35A7: Decodifica dell’istruzione 35A7: memorizza nella cella memorizza nella cella di memoria A7 il contenuto del registro 5di memoria A7 il contenuto del registro 5

Page 13: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Il Ciclo Macchina

Page 14: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Fasi di esecuzione

L’unità di controllo svolge le sue attività ripetendo ciclicamente un algoritmo in un processo detto ciclo ciclo della macchinadella macchina, costituito da tre fasi:

ReperimentoReperimento (fetchfetch); DecodificaDecodifica (decodedecode); EsecuzioneEsecuzione (executeexecute).

Page 15: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Ciclo della macchinaReperisce

l’istruzione successiva dalla memoria (come

indicato dal contatore di

programma) e poi incrementa il

contatore di programma

Decodifica la configurazione di bit

nel registro delle istruzioni

Esegui l’operazione indicata dall’istruzione nel registro delle

istruzioni

Page 16: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Tempi del ciclo della macchina

Istruzione 1

Istruzione 2

Istruzione 3

Ordine di esecuzione delle

istruzioni

Tempo

Lettura

Lettura

Lettura Decodifica

Decodifica

Esecuzione

Esecuzione

Decodifica Esecuzione

Page 17: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Componenti fondamentali della CPU

Page 18: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Componenti fondamentali della CPU

Unità di controlloUnità di controllo: gestione dei collegamenti tra registri e ALU coordina le operazioni di tutto il processore (anche

quelle del data path!); regola il flusso dei dati e indica quali registri debbano

essere collegati agli ingressi e all’uscita dell’ALU; invia all’ALU il codice dell’operazione da eseguire; riceve indicazioni sull’esito dell’operazione appena

eseguita dall’ALU e gestisce opportunamente queste informazioni;

comprende alcuni registri di uso specifico Program Counter (PC) – qual è l’istruzione successiva; Instruction Register (IR) – istruzione in corso d’esecuzione; …

Page 19: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Data path

Registriingresso ALUR00 R01 R02 R03 … … … …

Registri

ALU

Registro uscita ALUXX

YY

XX++YY

Istruzione(e.g. add) esito

XX YY

XX++YY

XX YY

Page 20: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

si consideri l’istruzione A A + B + C

(assegna alla variabile A la somma del contenuto delle variabili A, B e C);

le variabili A, B e C si trovino rispettivamente nelle celle di memoria 4000 (A)4000 (A), 4004 (B)4004 (B) e 4008 (C)4008 (C)

Esempio:

Page 21: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

Esempio (contd):Esempio (contd):

Num

Istruzione Commento

... ... ... ...789 load R02,4000 trasferisce il contenuto della cella 4000 (A) nel registro

R02

790 load R03,4004 trasferisce il contenuto della cella 4004 (B) nel registro R03

791 add R01,R02,R03

somma il contenuto dei registri R02 e R03 e scrive il risultato in R01

792 load R02,4008 trasferisce il contenuto della cella 4008 (C) nel registro R02

793 add R01,R01,R02

somma il contenuto dei registri R01 e R02 e scrive il risultato in R01

794 store R01,4000 trasferisce il contenuto del registro R01 nella cella 4000 (A)

... ... ... ...

Page 22: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0789

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

Collegamenti di controllo

Collegamenti per il trasferimento dati

Collegamenti per il trasferimento istruzioni

Page 23: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0789

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

load R02,4000

+1

letturalettura

Page 24: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0790

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

load R02,4000

4000

1492

lettura

Page 25: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

07900790

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

+ 1

load R02,4000

1492

lettura

load R03,4004

Page 26: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0791

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

load R03,4004

4004

1918

lettura

1492

Page 27: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0791

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

+ 1

load R03,4004

1492

lettura

1918

add R01,R02,R03

Page 28: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0792

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

add R01,R02,R03

1492

1918

add

esito

3410

Page 29: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0792

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

+ 1

add R01,R02,R03

1492

lettura

1918

3410

load R02,4008

Page 30: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0793

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

load R02,4008

4008

lettura

1492

1918

3410

2006

Page 31: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0793

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

+ 1

load R02,4008

2006

lettura

1918

3410

add R01,R01,R02

Page 32: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0794

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

add R01,R01,R02

19182006

add

esito

34105416

Page 33: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

0794

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

+ 1

add R01,R01,R02

2006

lettura

1918

5416

store R01,4000

Page 34: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

… … … … …

4000 1492

4004 1918

4008 2006

… … … … …

0795

… … … … …0789 load R02,40000790 load R03,40040791 add

R01,R02,R030792 load R02,40080793 add

R01,R01,R020794 store R01,4000… … … … …

PSW

Data pathData path Unità di controlloUnità di controllo

CPU

RegistriRegistri

ALUALU

IR

PC

R00R01R02R03R04R05…

Memoria

store R01,4000

4000

scrittura

2006

1918

5416

X X 5416

Page 35: Il Linguaggio Macchina I N F O R M A T I C A CdL Magistrale in Odontoiatria e Protesi Dentaria Università degli Studi di Catania Prof. Mario Pavone mpavone@dmi.unict.it.

THATTHAT’’S ALL !!S ALL !!

(for today)(for today)