Esercizio I-DLX. Calcolatori Elettronici L-A

Documenti analoghi
Esercizio II-DLX. Calcolatori Elettronici L-A

Calcolatori Elettronici T Ingegneria Informatica. DLX: implementazione sequenziale

Calcolatori Elettronici L A Prova scritta del 20/12/ 02

ISA DLX: Implementazione Tramite Struttura Sequenziale

Istruzioni di trasferimento dati

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

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

Rappresentazione dell informazione

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

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

Lezione 18 Il Set di Istruzioni (4)

Esercitazione 06 Progettazione di una CPU RISC-V

Fetch Decode Execute Program Counter controllare esegue prossima

Architettura degli Elaboratori

CALCOLATORI ELETTRONICI 14 giugno 2010

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

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Calcolatore: sottosistemi

Elementi di informatica

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

Istruzioni assembler Istruzione N Registri

Elementi base per la realizzazione dell unità di calcolo

Architettura degli Elaboratori

Richiami sull architettura del processore MIPS a 32 bit

Istruzioni di controllo del flusso

Richiami sull architettura del processore MIPS a 32 bit

Il linguaggio macchina

L unità di controllo di CPU a singolo ciclo

CALCOLATORI ELETTRONICI 25 giugno 2018

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

CALCOLATORI ELETTRONICI 9 settembre 2011

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

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

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Esame di Architetture Canale AL Prof. Sterbini 17/6/13 Compito A

Calcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Sequenziale

CALCOLATORI ELETTRONICI 30 agosto 2010

6 Linguaggio Macchina Fondamenti di Informatica P2 Ingegneria Meccatronica

CALCOLATORI ELETTRONICI A 25 gennaio 2011

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

Calcolatori Elettronici T Ingegneria Informatica 03 Linguaggio macchina

Calcolatori Elettronici T Ing. Informatica. Traccia soluzione 9 Giugno 2016

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

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

ISA DLX: Implementazione Tramite Struttura Sequenziale

Il modello di von Neumann

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Stringhe di caratteri

Architettura di un calcolatore: introduzione

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

L unità di controllo di CPU a singolo ciclo

Lezione 17 Il Set di Istruzioni (3)

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

Architettura del Calcolatore

Istruzioni e linguaggio macchina

L architettura del calcolatore (Seconda parte)

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

CALCOLATORI ELETTRONICI 27 giugno 2017

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione

Instruction Level Parallelism Andrea Gasparetto

Università degli Studi di Cassino

Esercitazione del 05/05/ Soluzioni

Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti

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

Il processore: unità di elaborazione

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A

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

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

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

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

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

Architettura della CPU multi-ciclo

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

PROVA SCRITTA DEL CORSO DI. Corso di Laurea in Ingegneria Biomedica, Ingegneria Elettrica ed Elettronica 17 Luglio 2014

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

PROVA SCRITTA DEL MODULO DI. 13 giugno 2017 NOME: COGNOME: MATRICOLA:

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

Realizzazione a cicli di clock multipli

CPU a ciclo multiplo

SECONDA PROVA INTERMEDIA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 9 Giugno 2006

SECONDA PROVA INTERMEDIA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 14 Gennaio 2011

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

Linguaggio macchina e register file

Struttura di un elaboratore

HARDWARE 1.4a: (Processore)

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

Esercitazione del 30/04/ Soluzioni

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

1 Esercizi con architettura a 1 bus

Architettura e funzionamento del calcolatore

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

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

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Calcolatori Elettronici

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

Calcolatori Elettronici T Ing. Informatica. Traccia soluzione 8 Gennaio 2015

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

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

Transcript:

Esercizio I-DLX Calcolatori Elettronici L-A

Esercizio 1 Si supponga di voler estendere il set di istruzioni del DLX con l istruzione BEQ Ri, Rj, (Rz) L istruzione confronta i due registri Ri e Rj e, in caso di uguaglianza, inserisce nel PC il contenuto della locazione di memoria puntata da Rz. Nel caso risulti Ri!=Rj il flusso del programma deve proseguire con l istruzione successiva alla BEQ. Nell ipotesi che non siano necessari wait-state nel colloquio con la memoria, individuare: il diagramma degli stati ottimizzato che controlla l esecuzione della nuova istruzione con riferimento al datapth del DLX sequenziale (cioè non pipelined) visto a lezione la sequenza di istruzioni assembler DLX equivalente alla BEQ nell ipotesi che il salto sia effettuato: confrontare il numero di cicli di clock necessari per eseguire l istruzione BEQ e il codice DLX equivalente

Esercizio 1 BEQ Ri, Rj, (Rz) Nel caso in cui Ri e Rj siano uguali, l istruzione BEQ Ri, Rj, (Rz), deve effettuare un salto all indirizzo di memoria specificato dal contenuto della locazione di memoria puntato da Rz. Il formato delle istruzioni DLX è composto da 32 bit. Il codice operativo è codificato con 6 bit e i registri coinvolti nell operazione (Ri,Rj,Rz) sono codificati con 5 bit (32 possibili registri). Il formato dell istruzione è di tipo R. 31 26 25 21 Op Code Ri 20 16 15 11 10 0 Rj Rz Il diagramma degli stati di questa istruzione è riportato nel lucido successivo.

Diagramma degli stati dell istruzione BEQ Ri, Rj, (Rz) Ready? Il test della condizione A-B=0 consiste nell analisi del flag di Zero (ZF) della ALU dopo l operazione A-B. IR M[PC] PC PC+4 A Ri B Rj A-B A Rz No A-B == 0 Si MAR Α+ 0 A B

A B Ready? MDR Μ[MAR] PC MDR + 0 INIT

La sequenza di istruzioni DLX equivalente alla istruzione BEQ Ri, Rj, (Rz) è la seguente. SEQ Rk, Ri, Rj BEQZ Rk, NOT_EQUAL ; pone Rk=1 se Ri==Rj ; (6 clocks) ; se Rk==0 salta a NEQ ;(4 clocks) LW Ri, 0(Rz) JR Ri ; Ri M[Rz] ; (6 clocks) ; salta all ind. contenuto in Ri ; (3 clocks) NOT_EQUAL:... Nel caso in cui Ri == Rj il numero di clock (*) necessari per eseguire l istruzione equivalente alla BEQ Ri,Rj,(Rz) è pari a 19 clock (6+4+6+3). Nel caso dell istruzione BEQ Ri,Rj,(Rz) sono necessari solo 6 cicli di clock. (*) Il numero di clock delle istruzioni DLX è stato calcolato con riferimento ai diagramma degli stati presenti nei lucidi ipotizzando zero wait state.

Esercizio 2 Si desiderano implementare via software istruzioni equivalenti alla store byte (SB) e load byte unsigned (LBU) del byte 3 di una word utilizzando solo istruzioni LW e SW. Si supponga di poter utilizzare le istruzioni SLLI Ri, Rj, n e SLRI Ri, Rj, n che permettono di traslare logicamente risp. verso sinistra e verso destra di n posizioni il contenuto del registro Rj.

Il testo del problema richiede di leggere e scrivere il BYTE 3 (di tipo unsigned) di una word utilizzando solo istruzioni di LW e SW (senza cioè utilizzare istruzioni SB e LBU). a) Si supponga di voler prima leggere in R6 il BYTE 3 della word memorizzato all indirizzo 40(R2) utilizzando solo istruzioni di tipo LW Indirizzo allineato a 32 bit BYTE 3 BYTE 2 BYTE 1 BYTE 0 M[40(R2)] 0 0 0 BYTE 3 R6 H G F E D C B A ORI R3, R0, 00FFh SLLI R3, R3, 18h LW R6, 40(R2) AND R6, R6, R3 SLRI R6, R6, 18h ; R3 000000FF ; R3 FF000000 ; R6 M[40(R2)] = HGFEDCBA ; R6 HGFEDCBA AND FF000000=HG000000 ; R6 000000HG

Una versione piu efficiente del codice precedente LW R6, 40(R2) SLRI R6, R6, 18h ; R6 M[40(R2)] = HGFEDCBAh ; R6 000000HG b) Si supponga di voler modificare solo il BYTE 3 della word memorizzata all indirizzo 40(R2) con il primo byte (BYTE 0) contenuto nel registro R8 = HGFEDCBAh utilizzando solo istruzioni di tipo SW Indirizzo allineato a 32 bit BYTE 3 BYTE 2 BYTE 1 BYTE 0 M[40(R2)] 0 0 0 X R8

Si supponga di voler modificare solo il byte 3 della word memorizzata all indirizzo 40(R2) con il primo byte (byte 0) contenuto nel registro R8 = HGFEDCBAh ORI R3, R0, 00FFh AND R8, R8, R3 SLLI R8, R8, 18h LW R6, 40(R2) SLLI R4, R3, 18h ADDI R5, R0, -1h XOR R5, R5, R4 AND R6, R6, R5 OR R6, R6, R8 SW 40(R2), R6 ; R3 000000FF ; R8 000000BA ; R8 BA000000 ; R6 M[40(R2)] = ZVUTSRQP ; R4 FF000000 ; R5 FFFFFFFF ; R5 00FFFFFF ; R6 00UTSRQP ; R6 BAUTSRQP ; M[40(R2)] BAUTSRQP

Una versione piu efficiente del codice precedente SLLI R8, R8, 18h LW R6, 40(R2) SLLI R6, R6, 8h SLRI R6, R6, 8h OR R6, R6, R8 SW 40(R2), R6 ; R8 BA000000 ; R6 M[40(R2)] = ZVUTSRQP ; R6 UTSRQP00 ; R6 00UTSRQP ; R6 BAUTSRQP ; M[40(R2)] BAUTSRQP