Fondamen( di Informa(ca

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

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Fondamenti di Informatica A. A / 1 9

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

Fondamenti di Informatica

Architettura del Calcolatore

Architettura del Calcolatore

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Abilità Informatiche e Telematiche

Architettura del calcolatore (Seconda parte)

Abilità Informatiche e Telematiche

Elementi di informatica

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Architettura dell elaboratore

Architettura dell elaboratore

Architettura hardware

Elementi di informatica

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

LABORATORIO DI INFORMATICA

La macchina di Von Neumann

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Fondamenti di Informatica

L architettura del calcolatore (Seconda parte)

Terza lezione 21 ottobre 2016

Architettura di un elaboratore. Il modello di von Neumann

Architettura di von Neumann

Componenti di un processore

Lezione 1: L hardware

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Il Processore. Informatica di Base -- R.Gaeta 27

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Il sistema di elaborazione

Calcolatore: sottosistemi

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Architettura dei computer

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Lezione 15. L elaboratore Elettronico

Architettura dei calcolatori

Il Processore: l unità di controllo

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Struttura di un elaboratore

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Il modello di von Neumann

Modello di von Neumann

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Sistemi di Elaborazione delle Informazioni

Architettura hardware

Cenni sull architettura del calcolatore

La macchina di Von Neumann

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

Architettura dell elaboratore

Il modello di Von Neumann

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

architettura degli elaboratori Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione

Architettura degli Elaboratori

ARCHITETTURA DI UN ELABORATORE

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Laboratorio di Informatica L-A 1

La memoria principale

Macchina di Von Neumann

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

Architettura di un calcolatore: primi cenni introduttivi

Informatica di base 4 crediti 32 ore!!

Sistemi e reti CPU Concetti di base

Sistemi di numerazione

Architettura di Von Neumann

Architettura dei calcolatori

Architettura dei computer

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Tecniche della Programmazione, , Parte1

Architettura del calcolatore

Architettura del computer

Informatica e Bioinformatica anno 2013/2014

Stru*ura del computer. Archite*ura dell elaboratore. Funzioni. Archite*ura di Von Neumann. unità funzionali. A. Ferrari

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Corso di Fondamenti di Informatica Elementi di Architettura

2. Architettura di un calcolatore

CPU. Dispositivi di I/O. Bus. Terminale. Stampante. Memoria centrale. Unità disco CPU. Unità di controllo. Unità aritmetico logica (ALU) Registri

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Transcript:

Fondamen( di Informa(ca CPU, Linguaggio Macchina e Fasi dell Esecuzione di un Programma Prof. Arcangelo Cas=glione A.A. 217/18

Outline Architettura di von Neumann (Seconda Parte) Linguaggio Macchina Come viene eseguito un programma: Ciclo Fetch-Decode-Execute

Outline Archite(ura di von Neumann (Seconda Parte) Linguaggio Macchina Come viene eseguito un programma: Ciclo Fetch-Decode-Execute

Archite(ura di Von Neumann: Rappresentazione Funzionale È il modello conce+uale secondo cui è organizzata la maggior parte dei moderni elaboratori Tale modello perme+e di rappresentare, memorizzare, elaborare e scambiare le informazioni Mediante opportune componen9 de+e <<So+osistemi>> Sottosistema di interfaccia Sottosistema di memorizzazione Sottosistema di elaborazione Connessione/comunicazione

Archite(ura di Von Neumann: Rappresentazione Funzionale È il modello conce+uale secondo cui è organizzata la maggior parte dei moderni elaboratori Tale modello perme+e di rappresentare, memorizzare, elaborare e scambiare le informazioni Mediante opportune componen9 de+e <<So+osistemi>> Sottosistema di interfaccia Sottosistema di memorizzazione Sottosistema di elaborazione Connessione/comunicazione

Archite(ura di Von Neumann: Componen5 L archite*ura di Von Neumann è cos5tuita da qua*ro componen5 principali (o funzionali) Memoria Centrale So/osistema di memorizzazione Memorizza e fornisce l accesso a da5 e programmi Unità Centrale di Elaborazione (CPU) So/osistema di elaborazione Esegue istruzioni per l elaborazione dei da5 Svolge anche funzioni di controllo Interfacce di Ingresso ed Uscita (o periferiche) So/osistema di Interfaccia Componen5 di collegamento con le periferiche del calcolatore Bus So/osistema di Connessione/Comunicazione Trasferisce da5 ed informazioni di controllo tra le componen5 sudde*e

Archite(ura di Von Neumann: Componen5 L architettura di Von Neumann è costituita da quattro componenti principali (o funzionali) Memoria Centrale Sottosistema di memorizzazione Memorizza e fornisce l accesso a dati e programmi Unità Centrale di Elaborazione (CPU) Sottosistema di elaborazione Esegue istruzioni per l elaborazione dei dati Svolge anche funzioni di controllo Interfacce di Ingresso ed Uscita (o periferiche) Sottosistema di Interfaccia Componenti di collegamento con le periferiche del calcolatore Bus Sottosistema di Connessione/Comunicazione Trasferisce dati ed informazioni di controllo tra le componenti suddette

Archite(ura di Von Neumann

Archite(ura di Von Neumann

Elaborazione L elaborazione nella macchina di Von Neumann è svolta dalla Central Processing Unit (CPU) De9a anche Processore Le istruzioni di un programma corrispondono ad operazioni elementari di elaborazione Ad esempio Operazioni aritme>che Operazioni relazionali (confronto tra da>) Operazioni su cara9eri e valori di verità Altre operazioni numeriche

Elaborazione

La CPU 1/4 La Central Processing Unit (o CPU) è l unità centrale di elaborazione 1. 2. Esegue le istruzioni dei programmi e ne regola il flusso Esegue i calcoli

La CPU 2/4 La CPU è un disposi&vo sincrono Regolato da una sorta di orologio (o clock) Il clock stabilisce quante istruzioni al secondo possono essere eseguite dalla CPU (Velocità di clock o Frequenza di clock, misurata in Hertz) Alla ricezione di un impulso di clock è eseguita una nuova istruzione (più precisamente è eseguito un nuovo ciclo macchina Maggiori defagli in seguito) Una moderna CPU Gpicamente lavora a! GHz Segue un ritmo di! miliardi di impulsi al secondo Esempio: Una CPU che lavora a 3 GHz riceve 3 miliardi di impulsi al secondo

La CPU 3/4 La frequenza di clock determina la velocità di elaborazione del computer Più alta è la frequenza di clock, maggiore è la velocità di elaborazione

La CPU 3/4 La frequenza di clock determina la velocità di elaborazione del computer Più alta è la frequenza di clock, maggiore è la velocità di elaborazione La velocità e la potenza di un computer dipendono anche dalla dimensione (o larghezza) del bus Quan@tà di da@ (ampiezza del singolo dato, misurata in numero di bit) che il processore è in grado di ricevere ed elaborare simultaneamente «ConceDo» di ArchiteDure a 32 o 64 bit (Maggiori de6agli nella prossima lezione)

La CPU 3/4 La frequenza di clock determina la velocità di elaborazione Dall inglese del computer binary digit. Unità di Più alta è la frequenza base utilizzata di clock, maggiore per la è la velocità di elaborazione rappresentazione e l elaborazione dell informazione La velocità e la potenza di un computer dipendono anche dalla dimensione (o larghezza) del bus Quan@tà di da@ (ampiezza del singolo dato, misurata in numero di bit) che il processore è in grado di ricevere ed elaborare simultaneamente ArchiteCure a 32 o 64 bit

La CPU 4/4 Schema Logico della CPU CPU Registri PC IR ALU CU

La CPU 4/4 La CPU è cos+tuita da 3 elemen* fondamentali: Unità Aritme*co- Logica (ALU), Registri e Unità di Controllo (CU) CPU Registri PC IR ALU CU

La CPU Elemen, Fondamentali: ALU La CPU è cos(tuita da tre elemen( fondamentali Unità Aritme(co-Logica (ALU)

La CPU Elementi Fondamentali: ALU La ALU (Arithme,c-Logic Unit), de'a anche Unità Aritme2co-Logica, si occupa di eseguire operazioni aritme,che e logiche su 2 operandi Oltre al risultato dell operazione stessa, la ALU può res2tuire in output ulteriori informazioni (segnali di stato) Tali segnali sono di solito usa2 per indicare il verificarsi di situazioni anomale (errori, etc) ALU operation a ALU Status Result b

La CPU Elemen, Fondamentali: Registri La CPU è cos(tuita da tre elemen( fondamentali Unità Aritme(co-Logica (ALU) Registri

Gerarchie di Memoria Registri della CPU Cache di primo, secondo e terzo livello Memoria Centrale (RAM) Dischi interni Velocità d Accesso Capacità In base ai parametri di capacità e velocità d accesso, le memorie possono essere collocate a diversi livelli di una gerarchia I registri della CPU sono la tipologia di memoria con la maggiore velocità di accesso e rappresentano quindi il vertice della gerarchia di memorie Dischi esterni

Gerarchie di Memoria

La CPU Elemen, Fondamentali: Registri I registri sono disposi*vi di memorizzazione che consentono un accesso molto veloce ai da. contenu. Hanno dimensioni prefissate

La CPU Elementi Fondamentali: Registri Le operazioni di le-ura e scri-ura dalla/nella memoria centrale u4lizzano il Registro Da, (DR) Le.ura: copia il contenuto della cella di memoria nel registro da4 Essa «carica» (in inglese, Load) nel registro da4 il contenuto di una cella di memoria Scri.ura: copia il contenuto del registro da4 in una cella di memoria Essa «deposita» (in inglese, Store) il contenuto del registro da4 in una cella di memoria

La CPU Elemen, Fondamentali: Registri I registri sono disposi*vi di memorizzazione che consentono un accesso molto veloce ai da. contenu. Hanno dimensioni prefissate Alcuni registri hanno funzioni specifiche

La CPU Elementi Fondamentali: Registri I registri sono disposi*vi di memorizzazione che consentono un accesso molto veloce ai da. contenu. Hanno dimensioni prefissate Alcuni registri hanno funzioni specifiche Il registro Program Counter (PC)à Individua (tramite indirizzo) la prossima istruzione da eseguire

La CPU Elementi Fondamentali: Registri I registri sono disposi*vi di memorizzazione che consentono un accesso molto veloce ai da. contenu. Hanno dimensioni prefissate Alcuni registri hanno funzioni specifiche Il registro Program Counter (PC) à Individua (tramite indirizzo) la prossima istruzione da eseguire Il registro Instruc*on Register (IR) à Con.ene l istruzione da eseguire

La CPU Elemen, Fondamentali: Registri Lo stato della CPU è rappresentato dalle informazioni memorizzate negli opportuni registri Da4 da elaborare Contenu4 nei Registri Da (DR) Istruzione da eseguire Contenuta nel registro InstruconRegister (IR) Indirizzo in memoria della prossima istruzione da eseguire Contenuto nel registro Program Counter (PC) Eventuali anomalie o even4 verifica4si durante l elaborazione Contenu4 nei Registri di Stato o Flag

La CPU Elementi Fondamentali: Unità di Controllo La CPU è costituita da tre elementi fondamentali Unità Aritmetico-Logica (ALU) Registri Unità di Controllo (CU)

La CPU Elemen, Fondamentali: Unità di Controllo Il coordinamento tra le varie parti del calcolatore è svolto dall unità di controllo (CU) È una componente dell unità centrale di elaborazione Ogni componente del calcolatore esegue solo le azioni che gli vengono richieste dall unità di controllo

La CPU Elemen, Fondamentali: Unità di Controllo Il coordinamento tra le varie par del calcolatore è svolto dall unità di controllo (CU) È una componente dell unità centrale di elaborazione Ogni componente del calcolatore esegue solo le azioni che gli vengono richieste dall unità di controllo Il controllo consiste nel coordinamento dell esecuzione temporale delle operazioni Sia internamente alla CPU sia negli altri elemen funzionali

Istruzioni Base della CPU 1/2 1. Istruzioni di base (eseguite dalla ALU) Somma (da cui so+razione) Scorrimento (shi1) Operazioni logiche Operazioni di confronto

Istruzioni Base della CPU 1/2 1. Istruzioni di base (eseguite dalla ALU) Somma (da cui so+razione) Scorrimento (shi1) Operazioni logiche Operazioni di confronto Tramite le operazioni di somma e shi= è possibile ricavare le operazioni di mol>plicazione e divisione (Maggiori debagli nelle prossime lezioni)

Istruzioni Base della CPU 2/2 2. Operazioni di accesso alla memoria (Non eseguite dalla ALU) Trasferimento di un dato da una locazione di memoria ad un altra Trasferimento da Memoria à Registro della CPU Registro della CPU à Memoria

Outline Archite(ura di von Neumann (Seconda Parte) Linguaggio Macchina Come viene eseguito un programma: Ciclo Fetch-Decode-Execute

Da# e Istruzioni in Memoria Centrale Indirizzi Memoria 11 1 111 2 111 3 1111 4 1 15 111 halt 16 11 17 11 18 1 Istruzioni Dati

Da# e Istruzioni Dati e istruzioni di un programma sono codificati in forma binaria, cioè mediante sequenze finite di bit Un istruzione codificata si compone di due parti Codice Operativo (CO) Uno o più operandi (Op. i) Istruzione à CO Op. 1 Op. n

Da# e Istruzioni Da# e istruzioni di un programma sono codifica# in forma binaria, cioè mediante sequenze finite di bit Un istruzione codificata si compone di due par# Codice Opera1vo (CO) Uno o più operandi (Op. i) Istruzione à CO Op. 1 Op. n Il codice operativo specifica l istruzione da eseguire. In ogni architettura è definito un certo insieme di istruzioni (set di istruzioni) con gli associati CO

Dati e Istruzioni Da# e istruzioni di un programma sono codifica# in forma binaria, cioè mediante sequenze finite di bit Un istruzione codificata si compone di due par# Codice Opera1vo (CO) Uno o più operandi (Op. i) Istruzione à CO Op. 1 Op. n Gli operandi contengono le informazioni necessarie a reperire i da# sui quali l istruzione deveoperare

Dati e Istruzioni Dati e istruzioni di un programma sono codificati in forma binaria, cioè mediante sequenze finite di bit Un istruzione codificata si compone di due parti Codice Operativo (CO) Uno o più operandi (Op. i) Istruzione à CO Op. 1 Op. n Un istruzione è stre:amente legata all archite:ura della macchina

Linguaggio (o Codice) Macchina Definizione Insieme di istruzioni eseguite dire/amente dalla CPU Ogni istruzione svolge un compito specifico Istruzioni piu/osto rudimentali, codificate in binario Il numero di operandi è limitato (in genere non più di due) Il numero di operazioni previste è rido/o Ogni @po di processore è in grado di eseguire un numero limitato di istruzioni Combinando in modo diverso sequenze anche molto lunghe di istruzioni (i programmi) si può istruire l elaboratore a fare tan@ssime cose, anche completamente diverse tra loro

Il Linguaggio Macchina Un programma in esecuzione risiede nella memoria centrale È rappresentato da una serie di numeri binari che codificano le istruzioni eseguibili dalla CPU Semplice programma composto da 5 istruzioni 11111 11111111 111111 111111111 111111111 Osservando esclusivamente il contenuto della memoria, il programma non è distinguibile dai dati Le istruzioni sono individuate dai valori assunti dal registro PC durante l esecuzione del programma PC

Il Set di Istruzioni Macchina L insieme delle istruzioni eseguibili e la rela3va codifica sono generalmente diverse per modelli diversi di processore Le categorie di istruzioni normalmente disponibili sono Trasferimento da. Spostano da3 tra registri, memoria principale e disposi3vi di ingresso/uscita (I/O) Aritme.co-logiche Eseguono i calcoli nella ALU Sal. (condiziona. e incondiziona.) Prendono decisioni e alterano la normale esecuzione sequenziale delle istruzioni

Esempio di Programma in Linguaggio Macchina 11 leggi un valore in ingresso e ponilo nella cella numero 16 (variabile x) 111 leggi un valore e ponilo nella cella numero 17 (variabile y) 111 leggi un valore e ponilo nella cella numero 18 (variabile z) 1111 leggi un valore e ponilo nella cella numero 19 (variabile r) 1 carica il registro A con il contenuto della cella 16 111 carica il registro B con il contenuto della cella 17 11 somma i contenuti dei dei registri A e B 111 copia il contenuto del registro A nella cella 2 (risultato, variabile s) 11 carica il registro A con il contenuto della cella 18 1111 carica il registro B con il contenuto della cella 19 11 somma i contenuti dei registi A e B 111 carica il registro B con il contenuto della cella 2 1 moltiplica i contenuti dei registri A e B 111 copia il contenuto del registro A nella cella numero 2 1111 scrivi in output il contenuto della cella numero 2 111 arresta l esecuzione (HALT) spazio per la variabile x (cella 16) spazio per la variabile y (cella 17) spazio per la variabile z (cella 18) spazio per la variabile r (cella 19) spazio per la variabile s (cella 2)

Outline Archite(ura di von Neumann (Seconda Parte) Linguaggio Macchina Come viene eseguito un programma: Ciclo Fetch-Decode-Execute

Come si Eseguono i Programmi? Programma: sequenza di istruzioni da eseguire per ottenere lasoluzione adunadataclasse diproblemi

Come si Eseguono i Programmi? Programma: sequenza di istruzioni da eseguire per ottenere lasoluzione adunadataclasse diproblemi Il processore esegue ciascuna istruzione mediante la seguente sequenza di operazioni, detta ciclo di istruzione o ciclo macchina 1. Estrazione diun istruzione: fase difetch 2. Interpretazione di un istruzione: fase di decode 3. Esecuzione dell istruzione: fase diexecute

Ciclo Fetch-Decode-Execute 1/2

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch)

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Istruzione 1 Istruzione 2 Istruzione 3 Memoria NOTA Schema logico del so@oinsieme della CPU coinvolto 111 11 nella fase di 111 111 Fetch 111 1111 P C CPU CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc<on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) PC à Registro Program Counter CPU Memoria Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc<on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc<on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Il PC individua l Istruzione 1 CPU (contiene l indirizzo Memoria dell Istruzione 1) Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 UDlizziamo il BUS Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Utilizziamo ancora il BUS Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 Adesso l IR conterrà l Istruzione 1 P CU C IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Il PC individuava CPU Memoria l Istruzione 1 Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C CU Il PC verrà incrementato e punterà all Istruzione 2 IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C 1 CU IR 111 11 Il PC individua adesso l Istruzione 2

Ciclo Fetch-Decode-Execute 2/2 La Il CPU PC individua esegue solo la prossima istruzioni istruzione codificate da eseguire in linguaggio (ovvero, l indirizzo macchina, dell Istruzione mediante 2) il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C 1 CU IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU Il PC individua esegue solo la prossima istruzioni istruzione codificate da eseguire in linguaggio (ovvero, l indirizzo macchina, dell Istruzione mediante 2) il ciclo Fetch-Decode-Execute 1. Prendi l istruzione L IR con)ene corrente l istruzione dalla memoria da eseguire (individuata (ovvero, l Istruzione dal contenuto 1) del PC). Salvala nell IR (Instruc>on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) Memoria CPU Istruzione 1 Istruzione 2 Istruzione 3 111 11 111 111 111 1111 Indirizzi: 1 1 P C 1 CU IR 111 11

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) FASE DI FETCH

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) 2. Determina iltipo diistruzionedaeseguire

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) 2. Determina ilapo diistruzionedaeseguire L istruzione da eseguire si trova nel registro IR

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) 2. Determina iltipo diistruzionedaeseguire Se l istruzione usa dati presenti in memoria, determinane la posizione Carica tali dati nei registri della CPU

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) 2. Determina iltipo diistruzionedaeseguire (decode) Se l istruzione usa dati presenti in memoria, determinane la posizione Carica tali dati nei registri della CPU FASE DI DECODE

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) 2. Determina ilapo diistruzionedaeseguire (decode) Se l istruzione usa daa presena in memoria, determinane la posizione Carica tali daa nei registri della CPU 3. Esegui l istruzione

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) 2. Determina ilapo diistruzionedaeseguire (decode) Se l istruzione usa daa presena in memoria, determinane la posizione Carica tali daa nei registri della CPU 3. Esegui l istruzione (execute) FASE DI EXECUTE

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) 2. Determina ilapo diistruzionedaeseguire (decode) Se l istruzione usa daa presena in memoria, determinane la posizione Carica tali daa nei registri della CPU 3. Esegui l istruzione (execute) 4. Torna alpunto1. ed iniziaad elaborare l istruzione successiva

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruction Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzodell istruzione successiva (fetch) 2. Determina iltipo diistruzionedaeseguire (decode) Se l istruzione usa dati presenti in memoria, determinane la posizione Carica tali dati nei registri della CPU 3. Esegui l istruzione (execute) 4. Torna al punto 1. ed iniziaad elaborare l istruzione successiva

Ciclo Fetch-Decode-Execute 2/2 La CPU esegue solo istruzioni codificate in linguaggio macchina, mediante il ciclo Fetch-Decode-Execute 1. Prendi l istruzione corrente dalla memoria (individuata dal contenuto del PC). Salvala nell IR (Instruc;on Register) e contemporaneamente incrementa il PC in modo che contenga l indirizzo dell istruzione successiva (fetch) 2. Determina ilapo diistruzionedaeseguire (decode) Se l istruzione usa daa presena in memoria, determinane la posizione Carica tali daa nei registri della CPU 3. Esegui l istruzione (execute) 4. Torna alpunto1. ed iniziaad elaborare l istruzione successiva Mediante il passo 4., i passi precedena vengono eseguia ciclicamente (ciclo Fetch-Decode-Execute)