Implementazione semplificata

Размер: px
Начинать показ со страницы:

Download "Implementazione semplificata"

Транскрипт

1 Il processore 168

2 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento di controllo: beq, j Ogni ciclo di clock viene eseguita una istruzione completa il ciclo di clock è sufficientemente lungo da permettere l'esecuzione dell'istruzione con latenza più alta più avanti introdurremo una implementazione basata su pipeline Assumiamo che la memoria che tiene le istruzioni (read-only) e la memoria che tiene i dati (read/write) siano separate possiamo leggere e scrivere nello stesso ciclo di clock 169

3 Cosa fa un processore Per ogni istruzione: legge (fetch) dalla memoria l'istruzione il cui indirizzo è nel PC legge dei registri in base a quanto specificato nell'istruzione A seconda dell'istruzione: usa la ALU per calcolare un risultato aritmetico/logico un indirizzo di memoria (registro + offset) l'indirizzo di un branch target accede alla memoria per load/store aggiorna il PC con PC + 4 o con un indirizzo target 170

4 Risultato finale 171

5 Componenti necessari Fetch dell'istruzione a partire dal Program Counter PC è un registro a 32 bit (indirizzo in memoria) nella fase di fetch è utile anche calcolare PC

6 Datapath della fetch NB: non è detto che PC + 4 sia il valore definitivo con cui aggiornare il PC 173

7 Componenti necessari Istruzioni di tipo R lettura di due registri operazioni usando l'alu scrittura di un registro 174

8 Componenti necessari Istruzioni di load/store Lettura di uno (lettura) o due (scrittura) registri Calcolo dell'indirizzo usando l'offset di 16 bit (signextended a 32 bit) usando l'alu Load: lettura dalla memoria e scrittura di un registro Store: scrittura in memoria del valore di un registro 175

9 Datapath combinato per istruzioni R e load/store 0: usa valore registro rt (istruzione R) 1: usa offset nell'istruzione (load/store) 0: usa output dell'alu (istruzione R) 1: usa dati letti da memoria (load) I segnali di controllo (in blu) vengono settati dalla logica di controllo (vedi oltre) 176

10 Componenti necessari Istruzioni di branch Lettura degli operandi dai registri Confronto usando l'alu (sottrazione e controllo dello Zero) Calcolo dell'indirizzo di destinazione sign-extend e shift left di due bit dell'etichetta addizione con PC + 4 (già calcolato nella fase di fetch) 177

11 Datapath per confronti e branch L'ALU viene usata per il confronto Sign-extend, Shift left 2 e Add vengono usati per il calcolo dell'indirizzo I segnali di controllo (in blu) vengono settati dalla logica di controllo (vedi oltre) 178

12 Datapath combinato: istruzioni R, load/store e branch 0: usa PC+4 1: usa indirizzo calcolato (branch) I segnali di controllo (in blu) vengono settati dalla logica di controllo (vedi oltre) 179

13 Controllo Il datapath che abbiamo costruito ha 7 segnali di controllo RegWrite, ALUSrc, PCSrc, MemWrite, MemtoReg, MemRead a 1 bit ALU Operation a 4 bit L'unità di controllo del processore ha il compito di generare, direttamente o indirettamente, quei segnali Logica combinatoria l'input è dato dall'istruzione in output genera i segnali di controllo Implementata in modo gerarchico una unità di controllo specifica per la ALU una unità di controllo principale 180

14 Controllo della ALU L'unità di controllo della ALU deve generare in output i segnali di controllo per la ALU Per le istruzioni R la funzione è data dal codice funct nell'istruzione Per le istruzioni load/store la funzione è sempre add Per la funzione beq la funzione è sempre subtract 181

15 Controllo della ALU L'input al circuito che costituisce l'unità di controllo della ALU è quindi dato da: due bit che indicano a che categoria appartiene l'istruzione il codice funct dell'istruzione per le istruzioni R I primi due bit (chiamati ALUOp) sono settati dall'unità di controllo principale XXXXXX nella tabella significa don't care 182

16 Simplicity favors regularity opcode sempre in lettura in lettura, tranne che per la read in scrittura per istruzioni R e per la read sign-extend e somma 183

17 Datapath combinato con campi delle istruzioni 0: usa rt per scrivere (load) 1: usa rd per scrivere (istruzione R) 184

18 Significato dei segnali 185

19 Unità di controllo principale L'input è costituito esclusivamente dall'opcode dell'istruzione X significa don't care 186

20 Datapath con unità di controllo Il segnale PCSrc dipende sia da un segnale di controllo che dall'output dell'alu 187

21 Datapath con unità di controllo Istruzioni R 188

22 Datapath con unità di controllo 189

23 Datapath con unità di controllo Load 190

24 Datapath con unità di controllo 191

25 Datapath con unità di controllo Branch-on-equal 192

Il Processore: l Unità di Controllo Principale Barbara Masucci

Il Processore: l Unità di Controllo Principale Barbara Masucci Architettura degli Elaboratori Il Processore: l Unità di Controllo Principale Barbara Masucci Punto della situazione Ø Abbiamo visto come costruire l Unità di Controllo della ALU per il processore MIPS

Подробнее

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

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini [email protected] Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Подробнее

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Подробнее

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

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Подробнее

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

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Подробнее

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Подробнее

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Подробнее

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica [email protected] Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

Подробнее

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

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore

Подробнее

Elementi base per la realizzazione dell unità di calcolo

Elementi base per la realizzazione dell unità di calcolo 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

Подробнее

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

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Подробнее

La Microarchitettura. Davide Bertozzi

La Microarchitettura. Davide Bertozzi La Microarchitettura Davide Bertozzi Piano di Studio Dove Siamo Architettura del Set di Istruzioni (come «si parla» con un microprocessore, ovvero l interfaccia HW/SW) Microarchitettura di un processore:

Подробнее

Progetto CPU (ciclo singolo) Salvatore Orlando

Progetto CPU (ciclo singolo) Salvatore Orlando Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Подробнее

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L /9 Sommario! I problemi

Подробнее

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

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Подробнее

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

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Подробнее

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Подробнее

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina

Подробнее

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Подробнее

Esercitazione 06 Progettazione di una CPU RISC-V

Esercitazione 06 Progettazione di una CPU RISC-V Esercitazione 06 Progettazione di una CPU RISC-V Gianluca Brilli [email protected] 04/06/19 ARCHITETTURA DEI CALCOLATORI 1 Overview In questa esercitazione andremo a progettare una semplice architettura

Подробнее

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

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Подробнее

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

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo

Подробнее

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Подробнее

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita?

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita? 1. L istruzione li $a0, 12345678 è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita? 2. Si descriva il formato IEEE 754 per la rappresentazione in

Подробнее

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Подробнее