Elementi base per la realizzazione dell unità di calcolo



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

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

L'architettura del processore MIPS

Richiami sull architettura del processore MIPS a 32 bit

Il processore: unità di elaborazione

Linguaggio macchina e register file

L unità di controllo di CPU a singolo ciclo

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Progetto CPU a singolo ciclo

Richiami sull architettura del processore MIPS a 32 bit

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

L unità di controllo di CPU a singolo ciclo

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

Progetto CPU a singolo ciclo

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

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

Implementazione semplificata

La CPU a singolo ciclo

La CPU a singolo ciclo

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

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

Architettura degli Elaboratori

CPU a ciclo multiplo

Architettura degli Elaboratori

Progetto CPU (ciclo singolo) Salvatore Orlando

Il processore: unità di controllo

Progetto CPU (ciclo singolo)

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

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

CPU a ciclo multiplo

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

Realizzazione a cicli di clock multipli

Rappresentazione dell informazione

Fetch Decode Execute Program Counter controllare esegue prossima

Una CPU multi-ciclo. Sommario

Il Processore: l Unità di Controllo Principale Barbara Masucci

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

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura del processore MIPS

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

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

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

La Microarchitettura. Davide Bertozzi

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.

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

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

Istruzioni di trasferimento dati

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini

Esercitazione del 05/05/ Soluzioni

Architettura degli Elaboratori B Introduzione al corso

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso

Circuiti Sequenziali

Calcolatori Elettronici

Lezione 29 Il processore: unità di controllo (2)

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini

Il linguaggio macchina

CPU pipeline hazards

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Architettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori

Esercitazione del 04/05/2006 Soluzioni

Una CPU multi-ciclo. Sommario

Architettura degli elaboratori - II Le architetture multi-ciclo

Istruzioni e linguaggio macchina

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

Unità di controllo della pipeline

Una CPU multi-ciclo. Sommario

Calcolatori Elettronici

La pipeline. Sommario

Il linguaggio macchina

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Un quadro della situazione. Lezione 28 Il Processore: unità di controllo (2) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

ISA (Instruction Set Architecture) della CPU MIPS32

Università degli Studi di Cassino

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

slt $t1,$t2,$t3 if ($t2<$t3) $t1=1; Confronto tra registri slti $t1,$t2,100 if ($t2<100)$t1=1; Cfr. registro-costante

Lezione 18 Il Set di Istruzioni (4)

L unità di controllo di CPU multi-ciclo

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 17 Gennaio Attenzione:

Università degli Studi di Cassino

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

Università degli Studi di Cassino

CPU a ciclo multiplo: l unità di controllo

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

La pipeline. Sommario

Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

La struttura delle istruzioni elementari: il linguaggio Macchina. Sommario

Esercitazione 06 Progettazione di una CPU RISC-V

Stall on load e Hazard sul controllo. Sommario

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.

L architettura del calcolatore (Seconda parte)

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 25 Febbraio Attenzione:

Multiplexer. Multiplexer 2 a 1 (a 1 bit) e sua implementazione. Multiplexer 2 a 1 (a 32 bit) e sua implementazione

Transcript:

Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni istruzione Contatore di programma (program counter) PC elemento di stato dove viene memorizzato l indirizzo dell istruzione corrente. PC segnale di controllo per la scrittura ALU la rete combinatoria per le operazioni aritmetico-logiche

Addizionatore (ALU semplificata) rete combinatoria per incrementare il program counter (di 4 byte ogni volta). Add 4 Banco di registri (register file) elemento di stato, contiene tutti i registri. registro lettura #1 numero registro dato #1 registro lettura #2 registro scrittura dati dato dato in dato #2 scrittura segnale di controllo scrittura

Lettura da un registro Per leggere il contenuto di un registro deve essere dato in input il numero del registro (che sara' codificato con 5 bit per identificare uno dei 32 registri: 25 = 32), l output sarà il dato contenuto nel registro. # reg1 Registro 0 Registro 1. Registro n M u x dato1 # reg2 M u x dato2

Scrittura in un registro Per la scrittura viene utilizzato un decodificatore che trasforma il segnale in ingresso (5 bit che rappresentano il numero del registro) in 25 segnali d uscita, uno solo dei quali è asserito per ogni configurazione in input. write C # registro dato d e c o d e r D C D C D

Nucleo istruzioni MIPS - istruzioni di riferimento a memoria: lw, sw - istruzioni aritmetico logiche: add, sub, and, or, slt - istruzioni di salto: condizionato beq ed incondizionato j (jump). Il primo passo per la realizzare una di queste istruzioni consiste - nell inviare il contenuto del PC alla memoria istruzioni per leggere l istruzione corrente; ed aggiornare il PC sulla successiva istruzione da eseguire (il cui indirizzo di norma si ottiene sommando 4 (byte) all indirizzo dell istruzione corrente). 4 PC Memoria istruzioni I passi successivi dipendono dalla classe di istruzioni che si considera.

Consideriamo prima le istruzioni aritmetico logiche: add, sub, and, or, slt la cui forma generale è codice-istruzione n-reg1, n-reg2, n-reg3 0 rs rt rd funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit Per queste istruzioni i passi successivi consistono nel - leggere dai registri n-reg2 e n-reg3 i dati su cui operare; - inviare i dati all ALU - scrivere nel registro di scrittura (n-reg1) il dato calcolato dall ALU. 5 Registro lettura 1 controllo ALU 5 Lettura Registro dati 1 lettura 2 5 Zero Registro scrittura Lettura Scrittura dati 2 dati write Il segnale di write deve essere opportunamente sincronizzato per abilitare la scrittura al momento giusto: non deve essere permessa la scrittura finchè tutti i dati non sono stati letti. Ammettendo la transizione solo durante i fronti attivi del clock verrà sempre letto il dato scritto durante il precedente fronte attivo.

Istruzioni di riferimento a memoria: lw, sw La forma generale per le istruzioni load-word e store-word è: codice-istruzione n-reg1, offset (n-reg2) op rs rt ind 6 bit 5 bit 5 bit 16 bit Per realizzare queste istruzioni si deve - calcolare l indirizzo di memoria sommando l offset al contenuto del registro base. Poiché l offset è contenuto in 16 bit serve un ulteriore componente: unità di estensione del segno. 16 32 - leggere il dato in memoria e caricarlo sul registro indicato oppure scrivere in memoria il dato registrato nel registro indicato. write Indirizzo Dato (scrittura) Memoria read dato (lettura)

La forma dell istruzione è: Istruzione di salto condizionato: beq beq n-reg1, n-reg2, label 4 rs rt offset 6 bit 5 bit 5 bit 16 bit La realizzazione di questa istruzione richiede una modifica all aggiornamento del PC sviluppato per le istruzioni nelle altre due classi. Ricordiamo che se i registri rs ed rt contengono lo stesso dato l istruzione che deve seguire quella corrente si trova calcolando PC + 4 (= istruzione successiva a quella attuale) + offset 4. offset 4 PC + 4 si calcola applicando uno shift di due bit a sinistra è il valore già calcolato per le altre istruzioni Per verificare se i registri rs ed rt contengono lo stesso dato si inviano all ALU i due dati con la richiesta dell operazione di sottrazione e si utilizza poi l uscita Zero. Istruzione di salto incondizionato: j La forma dell istruzione è: j indirizzo 2 ind 6 bit 26 bit Come per il salto condizionato l indirizzo deve essere moltiplicato per 4.

Composizione delle diverse parti dell unità di calcolo Alcune delle unità sviluppate per le varie classi di istruzioni possono essere condivise da piu classi anche se ci sono delle differenze sulla provenienza degli input. Per dirottare i segnali in modo opportuno si utilizzano i selettori (multiplexor). Esempio. L ALU viene utilizzata sia dalle istruzioni di tipo R (add, sub, etc.) che dalle istruzioni di riferimento a memoria. Le prime passano all ALU i contenuti di due registri; le seconde il contenuto di un registro ed il dato ottenuto estendendo a 32 bit l offset. Registri 16 32 M u x