Il Linguaggio Macchina

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
2. Architettura di un calcolatore
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Architettura di un calcolatore Ing. Simona Colucci.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Caratteristiche principali dell’architettura del processore MIPS
Il processore PD32.
Il livello Microarchitetturale
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Architettura di un calcolatore
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
La macchina di von Neumann
Architettura dell’elaboratore
Il Modello logico funzionale dell’elaboratore
Informatica: il trattamento automatico dell’informazione
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Architettura di una CPU
Architettura del calcolatore
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Informatica A.A. 2009/2010 Parte 2 L’Elaboratore Corso A: Prof. Stefano Berardi Corso B: Prof. Ugo de’ Liguoro
Calcolatori Elettronici Il Processore
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
Laboratorio Informatico
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 20 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Dalla macchina di Von Neumann …
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architettura degli elaboratori
Transcript della presentazione:

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 http://www.dmi.unict.it/mpavone/ AA. 2012/2013

Linguaggio Macchina Insieme delle istruzioni decodificate ed eseguite dall’unità di elaborazione Istruzioni possono essere operazioni: elaborazione dell’informazione trasferimento dell’informazione Istruzioni linguaggio macchina: Istruzioni aritmetico-logiche Istruzioni di trasferimento dati Istruzioni di controllo

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

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.

Un algoritmo generale Leggi dal dispositivo di ingresso il valore delle variabili a, b, c, d Somma il valore di a al valore di b Salva il risultato parziale ottenuto Somma il valore di c al valore di d 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.

L’algoritmo (1) Scrivi nella cella di memoria centrale riservata al valore della variabile a il valore letto dal dispositivo di ingresso (disponibile nel registro dati della periferica). Fai la stessa cosa per b, c, d Somma il valore di a al valore di b Copia il contenuto della cella di memoria riservata ad a 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 (z)

L’algoritmo (2) Somma il valore di c al valore di d Copia il contenuto della cella di memoria riservata a c nel registro A Copia il contenuto della cella di memoria riservata a b 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 z nel registro B (z e B contengono ora a+b, mentre A contiene c+d) Moltiplica il contenuto dei registri A e B.

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 z Copia il contenuto della cella di memoria riservata a z nel registro dati della periferica di uscita Termina l’esecuzione del programma

Codifica delle istruzioni Sono codificate mediante stringhe binarie di bit Un’istruzione è suddivisa in codice operativo: operazione da eseguire (opcode) operandi: dove reperire i dati dove scrivere il risultato Il codice operativo e gli operandi sono anch’essi codificati in forma binaria

Es: esecuzione di programmi campo codice operativo: operazione elementare richiesta. codifica di un’istruzione campo operando: forniscono informazioni dettagliate sull’operazione richiesta.

No. istruzione descrizione 1 1 RXY Carica (LOAD) nel registro R la configurazione di bit trovata nella cella di memoria il cui indirizzo è XY 2 2 RXY Carica (LOAD) nel registro R la configurazione di bit XY 3 3 RXY Memorizza (STORE) nella cella di memoria di indirizzo XY il contenuto del registro R 4 4 0RS Sposta (SHIFT) la configurazione di bit del registro S e copiala nel registro R 5 5 RST Somma (ADD) le configurazioni di bit dei registri S e T e pone il risultato nel registro R (rappr. in comlemento a due) 6 6 RST Somma (ADD) le configurazioni di bit dei registri S e T e pone il risultato nel registro R (rappr. in virgola mobile) 7 7 RST Applica l’operatore OR alle configurazione di bit dei registri S e T e memorizza il risultato nel registro R 8 8 RST Applica l’operatore AND alle configurazione di bit dei registri S e T e memorizza il risultato nel registro R 9 9 RST Applica l’operatore XOR alle configurazione di bit dei registri S e T e memorizza il risultato nel registro R 10 A R0X Ruota (ROTATE) di un bit a destra X volte la configurazione di bit memorizzata nel registro R 11 B RXY Salta (JUMP) all’istruzione nella cella di memoria XY se il contenuto del registro R è uguale a quello del registro 0 12 C 000 Termina (HALT) l’esecuzione

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

Il Ciclo Macchina

Fasi di esecuzione L’unità di controllo svolge le sue attività ripetendo ciclicamente un algoritmo in un processo detto ciclo della macchina, costituito da tre fasi: Reperimento (fetch); Decodifica (decode); Esecuzione (execute).

Decodifica la configurazione di bit nel registro delle istruzioni Ciclo della macchina Reperisce 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

Tempi del ciclo della macchina Istruzione 1 Istruzione 2 Istruzione 3 Ordine di esecuzione delle istruzioni Tempo Lettura Decodifica Esecuzione

Componenti fondamentali della CPU Data Path & Unità di controllo Data path (o percorso dei dati) è la parte che si occupa dell’effettiva elaborazione dei dati; comprende dispositivi diversi una o più unità aritmetico-logiche, dette ALU (Arithmetic Logic Unit); alcune unità di memorizzazione temporanea, i registri, memoria ad alta velocità usata per risultati temporanei e informazioni di controllo (il valore massimo memorizzabile in un registro è determinato dalle dimensioni del registro).

Componenti fondamentali della CPU Unità 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; …

Data path Registri A L U Registri ingresso ALU Registro uscita ALU X X Istruzione (e.g. add) Registri esito Registri ingresso ALU R00 R01 R02 R03 … … … … Registro uscita ALU X X Y Y X A L U X + Y X + Y Y

Esempio: 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), 4004 (B) e 4008 (C)

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)

Collegamenti per il trasferimento dati Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 Collegamenti di controllo Collegamenti per il trasferimento dati Collegamenti per il trasferimento istruzioni … … … … … 4000 1492 4004 1918 4008 2006 0789 Capitolo 5 – La formalizzazione dell'informazione 22

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 load R02,4000 … … … … … 4000 1492 4004 1918 4008 2006 0789 +1 Capitolo 5 – La formalizzazione dell'informazione 23

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 Bus dati Bus indirizzi Bus controllo PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 4000 load R02,4000 … … … … … 4000 1492 4004 1918 4008 2006 0790 1492 Capitolo 5 – La formalizzazione dell'informazione 24

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 load R02,4000 load R03,4004 … … … … … 4000 1492 4004 1918 4008 2006 0790 0790 + 1 1492 Capitolo 5 – La formalizzazione dell'informazione 25

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 Bus dati Bus indirizzi Bus controllo PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 4004 load R03,4004 … … … … … 4000 1492 4004 1918 4008 2006 1918 0791 1492 Capitolo 5 – La formalizzazione dell'informazione 26

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 add R01,R02,R03 load R03,4004 … … … … … 4000 1492 4004 1918 4008 2006 1918 0791 + 1 1492 Capitolo 5 – La formalizzazione dell'informazione 27

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 esito add add R01,R02,R03 … … … … … 4000 1492 4004 1918 4008 2006 1918 0792 1492 3410 Capitolo 5 – La formalizzazione dell'informazione 28

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 add R01,R02,R03 load R02,4008 … … … … … 4000 1492 4004 1918 4008 2006 1918 0792 + 1 1492 3410 Capitolo 5 – La formalizzazione dell'informazione 29

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 4008 load R02,4008 … … … … … 4000 1492 4004 1918 4008 2006 1918 0793 1492 2006 3410 Capitolo 5 – La formalizzazione dell'informazione 30

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 add R01,R01,R02 load R02,4008 … … … … … 4000 1492 4004 1918 4008 2006 1918 0793 + 1 2006 3410 Capitolo 5 – La formalizzazione dell'informazione 31

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 esito add add R01,R01,R02 … … … … … 4000 1492 4004 1918 4008 2006 1918 0794 2006 5416 3410 Capitolo 5 – La formalizzazione dell'informazione 32

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo lettura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 store R01,4000 add R01,R01,R02 … … … … … 4000 1492 4004 1918 4008 2006 1918 0794 + 1 2006 5416 Capitolo 5 – La formalizzazione dell'informazione 33

Capitolo 5 – La formalizzazione dell'informazione Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 3/27/2017 PSW Data path Unità di controllo CPU Registri ALU IR PC R00 R01 R02 R03 R04 R05 … Memoria Bus dati Bus indirizzi Bus controllo scrittura … … … … … 0789 load R02,4000 0790 load R03,4004 0791 add R01,R02,R03 0792 load R02,4008 0793 add R01,R01,R02 0794 store R01,4000 4000 store R01,4000 … … … … … 4000 1492 4004 1918 4008 2006 1918 0795 X X 5416 2006 5416 Capitolo 5 – La formalizzazione dell'informazione 34

THAT’S ALL !! (for today)