Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Documenti analoghi
Il processore. Istituzionii di Informatica -- Rossano Gaeta

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Sistemi di numerazione

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Architettura di un processore basato su registri generali.

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di una CPU

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

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

Architettura del calcolatore

Componenti di un processore

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Capitolo 5 Elementi architetturali di base

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

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

Architettura di un calcolatore: introduzione

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Architettura dei computer

INFORMATICA GENERALE

Macchine Astratte. Luca Abeni. February 22, 2017

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

Struttura del calcolatore

ARCHITETTURA DI UN ELABORATORE

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Elementi di Architettura

Modi di indirizzamento

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1)

Componenti e connessioni. Capitolo 3

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Architettura dei calcolatori

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

HARDWARE 1.4a: (Processore)

Lezione 1: L hardware

Università degli studi di Bologna Anno Accademico 2000/2001 Corso di Architettura degli elaboratori

Il Processore: l unità di controllo

La macchina di Von Neumann. Elementi base. Central Processing Unit (CPU) Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B ALU

Richiami sull architettura del processore MIPS a 32 bit

Modi di indirizzamento del processore MC68000 (parte prima)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Il processore N.12. Vediamo come è strutturato un microprocessore e con quale sequenza esegue le istruzioni dettate da un programma assembler.

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

La macchina di Von Neumann

L architettura di riferimento

La macchina di Von Neumann. Architettura di un computer. Central Processing Unit (CPU) Elementi base MEMORIA CENTRALE PERIFERICHE SR PC A B INTR

Programmazione dello Z80

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) Componenti

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

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

Lezione 3: Architettura del calcolatore

Architettura hardware

ARCHITETTURA DI UN ELABORATORE

Architettura dei calcolatori

(a) INTRODUZIONE ALLE ARCHITETTURE E ALLA SIMULAZIONE VERILOG DI PROCESSORI

Lezione 15. L elaboratore Elettronico

Hardware e software. Marco Alberti Programmazione e Laboratorio, A.A

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

CALCOLATORI ELETTRONICI

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

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

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

Come funzionano i computer

Dispensa di Informatica I.3

Macchina di von Neumann

Elaborazione dell informazione

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Corso di Informatica

Sistemi di Elaborazione

Corso di Sistemi di Elaborazione delle informazioni

I registri A, B, T contengono dati su cui è possibile eseguire operazioni elementari da parte dell ALU;

LA STRUTTURA DEL COMPUTER

Informatica e Bioinformatica anno 2013/2014

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

LA STRUTTURA DEL COMPUTER. Enrico Terrone A. S: 2014/2015

Architettura del calcolatore

Architettura di un Elaboratore

L architettura del calcolatore

Lezione n.19 Processori RISC e CISC

Architetture Digitali

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

CPU. Maurizio Palesi

Struttura hw del computer

Lezione n.9. Introduzione al linguaggio macchina

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

Architettura del Calcolatore. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano

Linguaggio Assembly e linguaggio macchina

Struttura del processore. Funzionamento del processore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

Implementazione semplificata

Sottosistemi ed Architetture Memorie

Calcolo numerico e programmazione Architettura dei calcolatori

Introduzione all'architettura dei Calcolatori

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

FONDAMENTI DI INFORMATICA Lezione n. 11

Il Processore: i registri

Linguaggio Assembly e linguaggio macchina

La memoria principale

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Laboratorio di Architettura degli Elaboratori

Transcript:

Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003

Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program

Registro Accumulatore Registro piu importante della CPU Spesso indicato con la lettera A LDA 24 Operando L D A mnemonico -24 LoaD Metti il contenuto A nell accumulatore della cella 24

Registro Accumulatore Spesso Registro partner obbligato nelle operazioni. Uno dei due operandi deve stare in A ADD 25 Operando ADD mnemonico -25 ADD Addiziona con il contenuto l accumulatore della cella 25

Registri della CPU ACCaccumulatore IR registro istruzione PC program counter MAR??? MDR???

IR Instruction Register Il codice della istruzione da eseguire deve stare in IR per poter essere decodificato dalla unita di controllo

PC Program Counter Detto anche IP (Instruction Pointer) Contiene l indirizzo della istruzione da eseguire Alla accensione contiene l indirizzo deciso dal costruttore della CPU Aumenta automaticamente di 1 puntando alla cella successiva (sequenza)

MAR Memory Address Register Viene ricopiato sul Bus degli indirizzi

MDR Memory Data Register Viene ricopiato sul Bus dati

Le istruzioni sono nella RAM In un processore CISC, le istruzioni sono di lunghezza variabile. In un RISC hanno tutte la stessa dimensione. Assumiamo che siano tutte della stessa lunghezza Ognuna occupa una cella di RAM. Anche i dati sono nella RAM RAM (Architettura Von Neuman)

FETCH-DECODE-EXECUTE cycle La CPU per ogni istruzione usa il bus indirizzi e dati per fare le operazioni di fetch decode ed execute I N D I R I Z Z I D A T I

Fasi del ciclo FDE FETCH - la CPU legge le istruzioni dalla RAM DECODE la Control Unit capisce cosa deve fare EXECUTE - la istruzione viene eseguita. Le fasi di FETCH and DECODE non cambiano mai. La fase di EXECUTE è diversa di volta in volta perchè dipende dalla istruzione da eseguire In questo esempio assumiamo che la macchina stia facendo un cold boot tutti i registri interni sono a 0.

FETCH Il Program Counter viene copiato nel MAR. Quando un nuovo valore entra nel MAR, questo viene ricopiato nel bus degli indirizzi Così in questo caso stiamo puntando alla locazione 0000.

FETCH Quando la RAM riceve il segnale di lettura da un indirizzo specificato, copia il contenuto della cella puntata sul Data Bus. Il contenuto del data bus viene copiato nell MDR. L MDR conterrà LDA-24.

FETCH Il contenuto dell MDR viene trasferito all Instruction Register, pronto ad essere decodificato. Questa è la fine della fase di FETCH

DECODE Il decoder nella unità di controllo prende la istruzione e la divide nelle sue due parti: opcode e operandi. opcode operand In questo esempio l opcode LDA significa carica l accumulatore con un dato L operando 24 dice qual è l indirizzo del dato da caricare. Nel frattempo il PC viene incrementato di 1.

EXECUTE Dipende dall istruzione. Nel nostro caso stiamo caricando l accumulatore con un valore preso dalla RAM Per leggere il dato bisogna porre nel registro MAR l indirizzo della cella da leggere in modo da puntare alla L indirizzo 24 e messo nelo registro MAR indicando alla RAM che siamo interessati a quella cella

EXECUTE Vengono inviati sul bus controllo i segnali di lettura della RAM. La RAM invia sul bus dati il contenuto della cella 24 La CPU mette il valore 6 letto dal bus dati in MDR.

EXECUTE La istruzione imponeva di copiare il valore letto in ACC. Il valore presente in MDR viene copiato nell accumulatore. La istruzione e completata e la CPU e pronta ad iniziare la lettura della istruzione successiva. Nota: I valori dei registri cambiano quando arriva un nuovo dato al loro interno

FETCH Il PC viene ricopiato nel MAR. Il bus degli indirizzi punta alla cella di memoria di indirizzo 0001 Viene effettuata la lettura della RAM L istruzione (ADD-25) viene messa sul Data Bus e ricopiata in MDR.

FETCH + DECODE Da MDR l istruzione ADD-25 e copiata nell Instruction Register, dove i circuiti di decodifica la dividono in ADD e 25. Nel frattempo il Program Counter viene incrementato di 1

EXECUTE In questo caso bisogna Addizionare il contenuto della RAM all indirizzo 25, al valore gia presente nell Accumulatore. Poiche dobbiamo recuperare il contenuto della cella 25 Because dobbiamo puntare il MAR a 25.

EXECUTE Viene effettuata la lettura della cella prescelta. Il contenuto della cella 25 (A) viene copiato sul Data Bus and quindi si ritrova in MDR. L ALU somma il valore in MDR con quello in Accumulatore. In esadecimale 6 + A = 10 L ALU mette il risultato in ACC

FETCH Il PC viene copiato nel MAR, e viene effettuata la lettura della locazione 0002. Il contenuto di 0002 e ricopiato sul Data Bus and trasferito in MDR.

FETCH + DECODE Il contenuto di MDR e copiuato in IR per essere decodificato. Il PC viene incrementato di 1.

EXECUTE In questo caso l istruzione non ha operando, solo Opcode, cosi il MAR non cambia. L instruzione HLT significa stop the program cosi niente altro avverra d ora in poi. Lo spazio che il programma occupa nella RAM sara sovrascritto dal successivo programma che verra caricato ed eseguito.

Riepilogo [1] Le istruzioni del programma da eseguire devono essere copiate nella RAM La CPU fa fetch, decode e execute di ciascuna istruzione una alla volta. Le fasi Fetch e Decode sono sempre le stesse ma la fase di Execute variera in funzione della istruzione

FETCH Riepilogo [2] PC -> MAR. MAR punta al corretto indirizzo di RAM Il Contenuto dell indirizzo puntato arriva in MDR. Il Contenuto di MDR e copiato in IR per la decodifica. DECODE L Istruzione e divisa in Opcode e Operando. PC e incrementato di 1. EXECUTE In questa fase MAR puo cambiare di nuovo, per caricare o scrivere dei valori in memoria