L unità di controllo di CPU multi-ciclo



Documenti analoghi
L unità di controllo di CPU multi-ciclo

L unità di controllo di CPU multi-ciclo. Sommario

CPU a ciclo multiplo: l unità di controllo

Architettura degli elaboratori - II Le architetture multi-ciclo

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2010

Architettura di tipo registro-registro (load/store)

Architettura della CPU multi-ciclo

Esercitazione sulle CPU pipeline

CALCOLATORI ELETTRONICI 31 marzo 2015

Hazard sul controllo. Sommario

Macchine a Stati finiti

Controllo con macchina a stati finiti

CPU a ciclo multiplo

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

CPU a ciclo multiplo

Calcolatori Elettronici

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

L unità di controllo di CPU a singolo ciclo

Una CPU multi-ciclo. Sommario

L unità di controllo di CPU a singolo ciclo

Tutorato Architettura degli elaboratori

Flip-flop, registri, la macchina a stati finiti

Unità di controllo della pipeline

CPU. Maurizio Palesi

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura di un calcolatore: introduzione

Architettura hw. La memoria e la cpu

L architettura di riferimento

Università degli Studi di Cassino

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Architettura del calcolatore

L unità di controllo di CPU a singolo ciclo. Sommario

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

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

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

Lezione n.19 Processori RISC e CISC

L architettura del calcolatore (Prima parte)

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Calcolatori Elettronici

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

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J

Progetto CPU a singolo ciclo

CPU pipeline 4: le CPU moderne

CPU multiciclo eccezioni CPU pipeline

Laboratorio di Informatica

Architettura degli Elaboratori

Struttura del calcolatore

Architettura. Indice:

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo

Calcolatori Elettronici B a.a. 2004/2005

C. P. U. MEMORIA CENTRALE

Il Processore: l Unità di Controllo Principale Barbara Masucci

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

Realizzazione a cicli di clock multipli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

La pipeline. Sommario

La pipeline. Sommario

Lezione 3: Architettura del calcolatore

Von Neumann. John Von Neumann ( )

CPU a singolo ciclo: l unità di controllo, istruzioni tipo J

CPU pipeline 4: le CPU moderne

Calcolatori Elettronici

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI A 25 gennaio 2011

Macchina di von Neumann

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI 14 giugno 2010

Calcolatori Elettronici

CPU pipeline hazards

Lezione n.9. Introduzione al linguaggio macchina

Progetto CPU a singolo ciclo

Valutazione delle Prestazioni

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Università degli Studi di Cassino e del Lazio Meridionale

Architettura degli elaboratori (A)

Calcolatori Elettronici B a.a. 2006/2007

L'architettura del processore MIPS

CALCOLATORI ELETTRONICI 9 settembre 2011

Esempio: aggiungere j

Progetto CPU (ciclo singolo)

Il Processore: i registri

Progetto CPU (ciclo singolo) Salvatore Orlando

CALCOLATORI ELETTRONICI 20 gennaio 2012

Progetto CPU (multiciclo)

Calcolatori Elettronici

FSM: Macchine a Stati Finiti

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

Transcript:

L unità di controllo di CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano A.A. 23-24 /2 Sommario I segnali di controllo della CPU multi-ciclo Sintesi dell Unità di Controllo come Macchina a Stati Finiti A.A. 23-24 2/2

CPU multi-ciclo A.A. 23-24 3/2 Ciclo di esecuzione di un istruzione Prelievo istruzione (fase di fetch) Decodifica Esecuzione Memoria WriteBack Le istruzioni richiederanno da 3 a 5 cicli di clock A.A. 23-24 4/2

Principio della suddivisione in passi Tutte le operazioni elementari che hanno bisogno di unità funzionali diverse possono essere eseguite in parallelo. Tutte le operazioni elementari che hanno bisogno della stessa unità funzionale devono essere eseguite in serie (in passi di esecuzione successivi). A.A. 23-24 5/2 Riassunto dell esecuzione Nome del passo Azioni per Istruzioni di Tipo R Azioni per istruzioni di accesso alla memoria Azioni per salti condizionati Azioni per salti non condizionati Fetch IR = Memory[PC] PC = PC + 4 decodifica & Prelievo dati dai registri A = Reg[IR[25-2]] B = Reg[IR[2-6]] ALUOut = PC+4 + (sign_extend(ir[5-] << 2 ) Esecuzione ALUOut = A oper B ALUOut = A + sign_extend(ir[5-]) If (A == B) then PC = ALUOut PC = PC[3-28] (IR[25-]<<2) Memoria o WriteBack Load: MDR = Memory[ALUOut] Store: Memory[ALUOut] = B WriteBack Reg([IR[5- ]] = ALUOut Load: Reg[IR[2-6]] = MDR Le istruzioni richiedono da 3 a 5 cicli di clock A.A. 23-24 6/2

Nome del segnale ALUSrcA ( bit) ALUSrcB (2 bit) Cond A.A. 23-24 Valore Segnali di controllo Il primo operando è il valore attuale del PC Il secondo operando proviene dalla seconda porta di lettura del RF L indirizzo della memoria proviene dalla ALU (ALUOut) In PC viene scritta l uscita della ALU (PC+4) In PC viene scritta il contenuto di ALUOut (indirizzo di una branch) In PC viene scrittto l indirizzo di destinazione della jump Viene scritto il registro PC. L indirizzo scritto in PC è controllato da 7/2 Effetto Il primo operando proviene dalla prima porta di lettura del Register File Il secondo operando è la costante + 4 Il secondo operando è l estensione del segno del campo offset Il secondo operando proviene dall estensione del segno e dallo shift a sx di due posizioni, dell offset L indirizzo della memoria proviene dal PC Non abilitazione della scrittura Non abilitazione della scrittura. Il PC viene scritto se anche l uscita Zero della ALU è affermata Altri segnali di controllo Scrittura del Register File solamente nelle istruzioni con fase di WriteBack. Scrittura / lettura Memoria solamente nelle istruzioni di accesso alla memoria. Scrittura nei registri A, B, ALUOut ad ogni colpo di clock. Scrittura del IR Avviene durante la fase di fetch. #Reg Write Dato n- A.A. 23-24 8/2

Sommario I segnali di controllo della CPU multi-ciclo Sintesi dell Unità di Controllo come Macchina a Stati Finiti A.A. 23-24 9/2 Segnali di controllo MemWrite ALUScrA ALUSrcB ALUop Cond RegDst RegWrite MemtoReg Fase fetch Decodifica Exec I lw Exec II lw Exec III lw Exec I sw Exec II sw Exec I R Exec II R Exec I beq Exec I j A.A. 23-24 /2

Segnali di controllo MemWrite ALUScrA ALUSrcB ALUop Cond RegDst RegWrite MemtoReg Fase fetch Decodifica Exec I lw Exec II lw Exec III lw Exec I sw Exec II sw Exec I R Exec II R Exec I beq Exec I j A.A. 23-24 /2 Sintesi della FSM della CPU Stato passo di esecuzione. Uscita segnali di controllo. Ingressi Codice operativo. I valori dei segnali di controllo dipendono: dal passo dell istruzione (stato) Il passo successivo dell istruzione (stato prossimo) dipende: dal codice operativo (ingresso). dal passo presente (stato presente). Uscita = f(stato) Stato_prossimo = f(ingressi, Stato_presente) A.A. 23-24 2/2

Macchina a Stati Finiti (di Moore) La Macchina di Moore è definita, in teoria degli automi, dalla quintupla : <, I, Y, f(.), g(.) > : insieme degli stati (in numero finito). I: alfabeto di ingresso: tutti i simboli che si possono presentare in ingresso. Se abbiamo n ingressi, avremo 2 n possibili simboli da leggere in ingresso (configurazioni). Y: alfabeto di uscita: tutti i simboli che si possono generare in uscita. Se abbiamo m uscite, avremo 2 m possibili simboli da presentare in uscita (configurazioni). f(.): funzione stato prossimo: = f(,i). Definisce l evoluzione della macchina nel tempo. L evoluzione è deterministica. g(.): funzione di uscita: Y= g() nelle macchien di Moore. Per il buon funzionamento della macchina è previsto uno stato iniziale, al quale la macchina può essere portata mediante un comando di reset. A.A. 23-24 3/2 Fase di fetch e decodifica Stato Stato 2 = ALUSrcA = ALUSrcB = = ALUSrcA = ALUSrcB = ALUOp = = lw or sw = R = branch = jump A.A. 23-24 4/2

FSM - STG A.A. 23-24 5/2 FSM - STT = R = sw = lw = beq = j MemWrite ALUScrA ALUSrcB ALUop Cond RegDst RegWrite MemtoReg Fase fetch Decodifica Exec I sw/lw 2 Exec II lw 3 Exec III lw - 4 Exec II sw - 5 Exec I R 6 Exec II R - 7 Exec I beq 8 Exec I j - 9 A.A. 23-24 6/2

Esempi: OR (Stato == 2) FSM - STT = R = sw = lw = beq = j MemWrite ALUScrA ALUSrcB ALUop Cond RegDst RegWrite MemtoReg Fase fetch Decodifica Exec I sw/lw 2 Exec II lw 3 6 2 5 2 3 4 8 9 Exec III lw - 4 Exec II sw - 5 Exec I R 6 7 Exec II R - 7 Exec I beq 8 Exec I j - 9 A.A. 23-24 7/2 FSM sintesi della funzione di uscita MemWrite ALUScrA ALUSrcB ALUop Cond RegDst RegWrite MemtoReg Y (ALUSrcA) = (Stato == 8) OR (Stato == 6) Y2 (RegWrite) = (Stato == 7) OR (Stato == 4) Fase fetch Decodifica Exec I beq 8 Exec I j - 9 Exec I R 6 Exec II R - 7 Exec I sw/lw 2 Exec II sw - 5 Exec II lw 3 Exec III lw - 4 A.A. 23-24 8/2

FSM codifica della STT (stato futuro) = R = sw = lw = beq = j Fase fetch - Decodifica Exec I lw/sw 2- Exec II lw 3- Exec III lw 4 - Exec II sw 5 - Exec I R 6 - Exec II R - 7 - Exec I beq 8 - Exec I j 9 - A.A. 23-24 9/2 FSM circuito dello stato futuro _ Esempio: S o (t+)=(s o S S 2 S 3 )+(S o S S 2 S 3 )(i o i i 2 i 3 i 4 i 5 )+(S o S S 2 S 3 )(i o i i 2 i 4 i 5 )+(S o S S 2 S 3 ) Fase fetch - Decodifica Exec I lw/sw 2- Exec II lw 3- = R = sw = lw = beq = j Exec III lw 4 - Exec II sw 5 - Exec I R 6 - Exec II R - 7 - Exec I beq 8 - Exec I j 9 - A.A. 23-24 2/2

Sommario I segnali di controllo della CPU multi-ciclo Sintesi dell Unità di Controllo come Macchina a Stati Finiti A.A. 23-24 2/2