MODELLO DLX IN UNISIM

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MODELLO DLX IN UNISIM"

Transcript

1 Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start

2 Layout 2 Architettura DLX (MIPS R2000) Breve ricapitolazione Mappatura dell architettura DLX nel modello UNISIM Spiegazione di un modulo (dettagli del modulo Instruction Memory ) Esercizio Completare il modello DLX Obiettivo: Imparare come si crea un modello complesso

3 Processore DLX 3 Introdotto da Hennessy e Patterson Architettura RISC Simile a MIPS R2000 (architettura Load/Store) Pipeline con 5 stadi Formato di istruzioni a 32-bit Per l esercizio si usa un modello DLX semplificato Senza la gestione degli hazard Supponiamo che il compilatore abbia inserito delle nop dentro il programma Un ISA ridotto Il processore DLX reale ha più istruzioni di quello che facciamo

4 Pipeline di DLX 4

5 DLX modello UNISIM 5 Mappatura della pipeline nei moduli di UNISIM

6 Mappatura: Instruction Memory 6 Caratteristiche Contiene le istruzioni dentro un array (si occupa anche di fare il fetch delle istruzioni) Contiene il PC e lo incrementa Connessioni Manda l istruzione corrente al modulo Register File Riceve l indirizzo del salto dal modulo ALU

7 Mappatura: Register File 7 Caratteristiche Legge gli operandi per l istruzione Fa il write-back dei valori calcolati (in EX o MEM) Connessioni Riceve l istruzione dal modulo Instruction Memory Manda l istruzione con gli operandi al modulo ALU Riceve i valori per il write-back dal modulo Multiplexer from Multiplexer

8 Mappatura: ALU 8 Caratteristiche Calcola i risultati per le istruzioni di tipo ALU Calcola gli indirizzi per gli accessi alla memoria e le istruzioni di salto Connessioni Riceve l istruzione con gli operandi dal modulo RF Manda i risultati al modulo Instruction Memory (salti), al modulo Multiplexer (write-back) o al modulo Data Memory to Register

9 Mappatura: Data Memory 9 Caratteristiche Contiene la memoria dei dati (un array) Connessioni Riceve le richieste di lettura o scrittura dal modulo ALU Manda i risultati al modulo Multiplexer to Multiplexer

10 Mappatura: Register 10 Caratteristiche E parte del registro EX/MEM della pipeline DLX originale Aggiunto per facilitare lo sviluppo del modello Solo le istruzioni di memoria passano dal Data Memory Le istruzioni ALU rimangono qua per un ciclo Multiplexer sceglie una delle due istruzioni (da questo modulo o dal modulo Data Memory ) Connessioni Riceve il risultato dal modulo ALU Manda il risultato ricevuto al modulo Multiplexer to Multiplexer

11 Mappatura: Multiplexer 11 Operazione Questo modulo rappresenta lo stadio write-back Riceve i dati dal modulo Register o dal modulo Data Memory Ogni istruzione può essere di tipo ALU o MEM Manda il dato che è disponibile al modulo Register File Connessioni Riceve dati dai moduli ALU e Register Manda il risultato al modulo Register File

12 Comunicazione tra i moduli (1) 12 Esempio : connessione RF ALU Il Register File ha quattro connessioni con il modulo ALU rs1, rs2, valore immediato e PC Tutte le connessioni sono usate contemporaneamente E possibile semplificare il modello? Come creare una connessione invece di quattro? Tutti e 4 i valori si possono mandare tramite una connessione sola Semplificazione Definiamo un tipo di dati che possiamo usare per tutte le connessioni Questo tipo deve contenere tutti i possibili dati che si possono scambiare tra di loro due moduli

13 Comunicazione tra i moduli (2) 13 Tipo di dati instruction Si usa per la comunicazione tra i moduli Contiene i dati che si usano in ogni stadio della pipeline Ogni modulo usa solo i campi che gli servono non modifica gli altri Esiste dentro il modello una classe C++ che si chiama instruction

14 Modulo Instruction Memory (IM) 14 Mappatura del modello

15 IM I/O e le variabili interne 15 instrmemory.sim class InstructionMemory : module {public: /* Ports */ inport <instruction> branch; ///< Da ALU outport <instruction> instr; ///< A Register File inclock clock; }; /* State of the module */ uint32_t mem[65536]; ///< La memoria locale uint32_t pc; ///< Valore del PC bool program_finished; ///< Programma finito? uint32_t inum; ///< Numero delle istruzioni eseguite...

16 IM i processi 16 4 processi per controllare il modulo Sensibile a clock clock branch.data instr.accept Operazione Prende un istruzione dalla memoria 1. Incrementa il PC 2. Si occupa delle istruzioni di salto Accetta i dati dalla ALU se arriva un istruzione di salto Abilita l uscita se i dati sono stati accettati

17 IM processi inizio del ciclo 17 void start_of_cycle() { if(program_finished) instr.data.nothing(); else { instruction fetched_instruction = instruction(mem[pc],pc,inum); instr.data = fetched_instruction; // Log that instruction is in IF stage pipeline_log(if_stage,fetched_instruction); } } if(fetched_instruction.opcode == instruction::op_halt) program_finished = true;

18 IM processi fine del ciclo 18 void end_of_cycle() { if(instr.accept) { pc++; inum++; } if(branch.enable) } { } const instruction &br = branch.data; pc = br.rd_value;

19 IM processi branch.data 19 void on_branch() { if(branch.data.known()) { if(branch.data.something()) { branch.accept = true; } else { branch.accept = false; } } }

20 IM processi instruction.accept 20 void on_instr_accept() { instr.enable = instr.accept; }

21 IM startup 21 1) Inizializza le variabili interne 2) Carica il programma dallo stdin InstructionMemory(char *name) : module(name) { // State initialization pc = 0; inum=0; program_finished=false; load(); // Sensitivity list declaration 3) Registra i metodi sensibili } sensitive_pos_method(start_of_cycle) << clock; sensitive_neg_method(end_of_cycle) << clock; sensitive_method(on_branch) << branch.data; sensitive_method(on_instr_accept) << instr.accept;

22 Esercizio 22 dlx.tgz Sorgenti di tutti i moduli completi (*.sim) Makefile Piccoli benchmark power_nop.dlx, power.dlx Sito web Documento con la descrizione del modello (in inglese) Per ogni modulo sono specificate L interfaccia con gli altri moduli La descrizione dei processi per controllarlo

23 Esercizio istruzioni Copiare i sorgenti cp /home/users/docenti/popovzdra/dlx.tgz. tar zxvf dlx.tgz 2. Connettere tutti i moduli Modificare dlx.uni 3. Compilare il simulatore Eseguire make

24 Esercizio Completare dlx.uni 24 /* Includes */ include "alu.sim"; include "datamemory.sim"; include "instrmemory.sim"; include "registerfile.sim"; include "register.sim"; include multiplexer.sim"; /* Instances */ 1. Dichiarare le istanze dei moduli qua! /* Connections */ 2. Connettere i moduli qua! // Display pipeline at the end of each cycle. collector end_of_timestep { init = <<< pipeline_init(); >>>; record = <<< pipeline_display(timestamp()); >>>; };

25 Solution dlx.uni Dichiarare tutte le istanze instance InstructionMemory imem; instance RegisterFile regf; instance ALU alu; instance DataMemory dmem; instance Register reg; instance Multiplexer mux; 2. Connettere le istanze imem.instr >> regf.read; regf.out >> alu.in; alu.out_result >> reg.in; alu.out_branch_address >> imem.branch; alu.out_mem_address >> dmem.request; dmem.out >> mux.in1; reg.out >> mux.in2; mux.out >> regf.write;

26 Eseguire power_nop.dlx (1) 26 Un loop semplice Fa 5 iterazioni e finisce in 70 cicli Le nop sono qua per evitare gli hazard della pipeline addi r1, r0, 5 addi r2, r0, 1 nop nop nop add r2, r2, r2 addi r1, r1, -1 nop nop nop seq r10, r1, r0 nop nop nop beqz r10, -9 nop nop halt r1 5 r2 1 L0: r2 r2 + r2 r1 r r10 = (r1 == r0) if (r10 == 0) L0 halt

27 Eseguire power_nop.dlx (2) 27 $./dlx < power_nop.dlx I0 addi r1,r0,5 I1 addi r2,r0, rest of the instructions I16 nop I17 halt cycle IF ID EX MEM WB 1 I0(0) I1(1) I0(0) I2(2) I1(1) I0(0) I3(3) I2(2) I1(1) I0(0) - 5 I4(4) I3(3) I2(2) I1(1) I0(0) Rest of the pipeline log I17(65) I16(64) I15(63) - I13(61) 67 - I17(65) I16(64) I15(63) I13(61) I17(65) I16(64) I15(63) I17(65) I16(64) I17(65) Finish time: 70/0

28 Eseguire power.dlx (1) 28 power.dlx Stessa funzionalità di power_nop.dlx Senza istruzioni nop addi r1, r0, 5 addi r2, r0, 1 add r2, r2, r2 addi r1, r1, -1 seq r10, r1, r0 beqz r10, -9 nop nop halt Eseguire l esempio r1 5 r2 1 L0: r2 r2 + r2 r1 r r10 = (r1 == r0) if (r10 == 0) L0 halt./dlx < power.dlx Non finisce mai l esecuzione Interrompere la simulazione usando Ctrl + C

29 Eseguire power.dlx (2) 29 Come gestire gli hazard? E implementata la gestione degli hazard! Si deve cambiare il codice registerfile.sim, linea 19: //#define WITH_DEPENDENCY_BUBBLES Modificare in #define WITH_DEPENDENCY_BUBBLES Eseguire make un altra volta!

30 Eseguire power.dlx (3) 30 $./dlx < power.dlx I0 addi r1,r0,5 I1 addi r2,r0,1 I2 add r2,r2,r2 I3 addi r1,r1,-1 I4 seq r10,r1,r0 I5 beqz r10,-3 I6 nop I7 nop I8 halt cycle IF ID EX MEM WB 1 I0(0) I1(1) I0(0) I2(2) I1(1) I0(0) - - Rest of the pipeline log I8(32) I7(31) I8(32) Finish time: 70/0

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

Dettagli

Esercitazione sulle CPU pipeline

Esercitazione sulle CPU pipeline Esercitazione sulle CPU pipeline Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione parte dell hardware della CPU rimane inutilizzato perché

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

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

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO Sono dati il seguente frammento di codice assemblatore che comincia all indirizzo indicato, e i valori iniziali specificati per

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

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

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO ESERCIZIO Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO Sono dati il seguente frammento di codice assemblatore che comincia all indirizzo indicato, e i valori iniziali specificati per

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Pipeline Anno Accademico Francesco Tortorella Progettazione del datapath Prima soluzione: d.p. a ciclo singolo Semplice da realizzare Condizionato dal worst

Dettagli

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la 8 Questo documento contiene le soluzioni ad un numero selezionato di esercizi del Capitolo 8 del libro Calcolatori Elettronici - Architettura e organizzazione, Mc-Graw Hill 2009. Sarò grato a coloro che

Dettagli

Calcolatori Elettronici B a.a. 2008/2009

Calcolatori Elettronici B a.a. 2008/2009 Calcolatori Elettronici B a.a. 2008/2009 Tecniche Pipeline: Gestione delle criticità Massimiliano Giacomin 1 Pipeline: i problemi Idealmente, il throughput è di una istruzione per ciclo di clock! Purtroppo,

Dettagli

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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

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

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

Dettagli

Metodi Software per ottenere ILP

Metodi Software per ottenere ILP Metodi Software per ottenere ILP Calcolatori Elettronici 2 http://www.dii.unisi.it/~giorgi/didattica/calel2 Scaletta Tecnologie nel compilatore BRANCH PREDICTION A SOFTWARE (nel compilatore) - Gia vista

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2011 CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della

Dettagli

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

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Calcolatori Elettronici M Modulo 2. 05 - Progetto VHDL e Sintesi su FPGA di un processore RISC pipelined a 32 bit

Calcolatori Elettronici M Modulo 2. 05 - Progetto VHDL e Sintesi su FPGA di un processore RISC pipelined a 32 bit Calcolatori Elettronici M Modulo 2 05 - Progetto VHDL e Sintesi su FPGA di un processore RISC pipelined a 32 bit 1 Introduzione In questa parte del corso verrà descritto il progetto VHDL di un processore

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

L architettura del calcolatore (Prima parte)

L architettura del calcolatore (Prima parte) L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto

Dettagli

Architettura del Set di Istruzioni (ISA)

Architettura del Set di Istruzioni (ISA) Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni

Dettagli

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

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/17

Dettagli

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni

Dettagli

Cenni ad Assembly Intel

Cenni ad Assembly Intel Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi

Dettagli

Macchina di von Neumann

Macchina di von Neumann Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita

Dettagli

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

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU MEMORIZZAZIONE DEGLI OPERANDI DOVE SONO MEMORIZZATI GLI OPERANDI NELLA CPU? ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI 1 RICHIAMI SUL MIPS UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI L ARCHITETTURA DI RIFERIMENTO: LA MACCHINA MIPS INSTRUCTION SET MIPS R2000 ISTRUCTION SET SEMPLIFICATO: emips ESEMPI DI PROGRAMMAZIONE

Dettagli

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

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control

Dettagli

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Architettura degli Elaboratori Modulo 2

Architettura degli Elaboratori Modulo 2 Architettura degli Elaboratori Modulo 2 Salvatore Orlando http://www.dsi.unive.it/~architet Arch. Elab. - S. Orlando 1 Contenuti Approfondiremo il progetto e le prestazioni delle varie componenti di un

Dettagli

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI 1 RICHIAMI SUL MIPS UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI L ARCHITETTURA DI RIFERIMENTO: LA MACCHINA MIPS INSTRUCTION SET MIPS R2000 ISTRUCTION SET SEMPLIFICATO: emips ESEMPI DI PROGRAMMAZIONE

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

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

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

Architettura degli Elaboratori (modulo II e B) (Compito 24 Giugno 2009)

Architettura degli Elaboratori (modulo II e B) (Compito 24 Giugno 2009) Architettura degli Elaboratori (modulo II e B) (Compito 24 Giugno 2009) Usare un foglio separato per rispondere a due delle domande seguenti, specificando nell intestazione: Titolo del corso (Architettura

Dettagli

Aumentare il parallelismo a livello di istruzione (1)

Aumentare il parallelismo a livello di istruzione (1) Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea

Dettagli

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

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Tecniche di parallelismo, processori RISC

Tecniche di parallelismo, processori RISC Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Interpreti e compilatori La macchina di Von Neumann

Interpreti e compilatori La macchina di Von Neumann Interpreti e compilatori La macchina di Von Neumann Informatica@Matematica Simone Martini a.a. 2014-2015 1 / 38 Parte I Interpreti e compilatori 2 / 38 Macchine astratte Una macchina astratta è un esecutore

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

Lezione n.9. Introduzione al linguaggio macchina Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo

Dettagli

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

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

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino

Dettagli

Migliorare le prestazioni di processori e memorie

Migliorare le prestazioni di processori e memorie Migliorare le prestazioni di processori e memorie Corso: Architetture degli Elaboratori Docenti: F. Barbanera, G. Bella UNIVERSITA DI CATANIA Dip. di Matematica e Informatica Tipologie dei Miglioramenti

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

Dettagli

Tutorato Architettura degli elaboratori

Tutorato Architettura degli elaboratori Tutorato Architettura degli elaboratori Dott. Damiano Braga Before we start.. Orario 12 Aprile h. 14.00-16.00 aula F6 20 Aprile h. 11.30-13.30 aula F6 10 Maggio h. 14.00-16.00 aula F4 18 Maggio h. 11.30-13.30

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Fasi (MIPS) Fasi senza pipeline: IF (istruction fetch): IR Mem[PC] ; NPC PC + 4 ; Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Lezione Architettura degli

Dettagli

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

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Esercitazione 2 di verifica

Esercitazione 2 di verifica Architettura degli Elaboratori, 27-8 Esercitazione 2 di verifica Soluzione: mercoledì 24 ottobre Una unità di elaborazione U è così definita: Domanda 1 i) possiede al suo interno due componenti logici

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

Schedulazione dinamica. Elettronica dei Calcolatori 1

Schedulazione dinamica. Elettronica dei Calcolatori 1 Schedulazione dinamica Elettronica dei Calcolatori 1 Schedulazione dinamica delle operazioni Impossibile risolvere tutti i conflitti staticamente I possibile predire tutti i salti condizionati HW fa durante

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari A.A. 2013 2014 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4)

(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4) Esercizio 1 (20%) Si assuma di avere una macchina con 10 registri ufficiali (da R0 a R9) e sufficienti registri segreti in grado di avviare 2 istruzioni per ciclo di clock. Tale macchina richiede 2 cicli

Dettagli

Integer Java Virtual Machine (IJVM)

Integer Java Virtual Machine (IJVM) Integer Java Virtual Machine (IJVM) Calcolatori Elettronici II Prof. Antonino Mazzeo mazzeo@unina.it Ing. Luigi Romano Ing. Alessandro Cilardo Ing. Luigi Coppolino lrom@unina.it acilardo@unina.it lcoppoli@unina.it

Dettagli

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof. Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa Sistemi Operativi e Reti A.A. 2014/2015 prof. Gianluca Amato Architettura degli elaboratori Architettura Hardware Architettura

Dettagli

La Valutazione delle Prestazioni

La Valutazione delle Prestazioni La Valutazione delle Prestazioni Maurizio Palesi Maurizio Palesi rend ecnologico: Microprocessori 00000000 0000000 000000 IBM PPC60 R0000 Pentium R4400 i80486 Alpha 2264: 5 milion Pentium Pro: 5.5 million

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI GLI ERANDI NELLA CPU? 2 QUANTI ERANDI SONO CHIAMATI IN MODO ESPLICITO 3. DOVE

Dettagli

Microelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. (salvator@uniroma3.it) Microelettronica

Microelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. (salvator@uniroma3.it) Microelettronica Microelettronica Architettura del processore ARM Stefano Salvatori (salvator@uniroma3.it) Microelettronica Sommario Architettura ARM Differenze con i RISC Programmer s model Sistemi di sviluppo Microelettronica

Dettagli

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

Dettagli

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

Il processore SHARC ADSP-21262

Il processore SHARC ADSP-21262 2 Il processore SHARC ADSP-21262 Il processore ADSP-21262, utilizzato nel presente lavoro, appartiene ad una vasta famiglia di Digital Signal Processors della Analog Devices, denominata SHARC, particolarmente

Dettagli

Versione A: caricamento ed esecuzione del codice

Versione A: caricamento ed esecuzione del codice Versione A: caricamento ed esecuzione del codice «Nella sua prima versione, la CPU si compone soltanto di registri utili ad accedere alla memoria per leggere il codice operativo da eseguire, come di vede

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

Dettagli

PXA255: concetti avanzati

PXA255: concetti avanzati PXA255: concetti avanzati 10.a C. Fantozzi, A. Gardich (revisione di S. Congiu) PXA255: il nucleo 1 PXA255: memorie cache Uno dei principali colli di bottiglia nei moderni calcolatori è l inadeguata velocità

Dettagli

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

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO

CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO L architettura di un calcolatore Informatica Linguaggi ad alto livello/applicazioni Sistema operativo Assembler ISA Architettura

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS ESERCIZI Massimiliano Giacomin ESERCIZIO Utilizzando la green card, tradurre in linguaggio macchina le due istruzioni in assembly

Dettagli

Lezione 20 CPU con pipeline

Lezione 20 CPU con pipeline Lezione 20 CPU con pipeline http://www.dii.unisi.it/~giorgi/didattica/calel All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by David Patterson and John

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Valutazione delle Prestazioni

Valutazione delle Prestazioni Valutazione delle Prestazioni Sia data una macchina X, definiamo: 1 PrestazioneX = --------------------------- Tempo di esecuzione X La prestazione aumenta con il diminuire del tempo di esecuzione (e diminuisce

Dettagli