• Non ci sono risultati.

Architettura degli Elaboratori 2013-14 Gli esercizi e quesiti sono proposti con l’obiettivo di seguire e studiare il corso in modo efficiente.

N/A
N/A
Protected

Academic year: 2021

Condividi "Architettura degli Elaboratori 2013-14 Gli esercizi e quesiti sono proposti con l’obiettivo di seguire e studiare il corso in modo efficiente."

Copied!
1
0
0

Testo completo

(1)

Architettura degli Elaboratori

2013-14

Gli esercizi e quesiti sono proposti con l’obiettivo di seguire e studiare il corso in modo efficiente.

Le soluzioni devono essere discusse con il docente in orario di ricevimento; solo per alcuni homework, verranno presentate in aula.

Per la preparazione dello studente, è essenziale che le soluzioni siano accompagnate da adeguate spiegazioni che permettano di appurare la comprensione e l’approfondimento dei concetti del corso.

Homework 5

1) Si consideri un programma che, dati due array A e B di M interi, calcola il numero di elementi che compaiono in A e B con lo stesso valore.

a) Compilarlo in assembler D-RISC, spiegando come sono state usate le regole di compilazione.

b) Compilare il programma con l’ulteriore specifica che gli array A e B siano i valori dei primi due elementi di una lista (avente tutti gli elementi dello stesso tipo), usando il codice del punto a) come procedura.

2) Con riferimento alla domanda 1a):

a) spiegare in dettaglio come agisce il compilatore su questo programma;

b) descrivere la struttura della memoria virtuale del processo corrispondente al programma, indicando quali informazioni sono inizializzate a tempo di compilazione;

c) spiegare come il processo viene creato e caricato, e quali informazioni vengono inizializzate o modificate a tempo di creazione e caricamento.

3) Si consideri un programma che calcola il prodotto righe per colonne di una matrice di interi A[M][M] e di un vettore di interi B[M], restituendo il risultato in un vettore di interi C[M].

Valutarne il tempo di servizio per istruzione e il tempo di completamento in funzione di M, , , Ttr. 4) Scrivere una procedura D-RISC che, dato un indirizzo logico presente in un registro generale, lo traduce

a programma nel corrispondente indirizzo fisico (oppure restituisce l’informazione che la funzione di traduzione non è definita). Si suppone che la memoria principale abbia capacità massima di 1Tera parole e che le pagine della gerarchia memoria virtuale – memoria principale abbiano ampiezza di 1K parole. L’indirizzo fisico deve essere restituito in due registri generali aventi indirizzi consecutivi.

5) La memoria principale di un elaboratore è realizzata in modo modulare mediante quattro unità e fa uso dell’organizzazione sequenziale degli indirizzi. La MMU è collegata alle quattro unità mediante altrettante interfacce distinte. Mostrare il frammento di microprogramma della MMU che, operando sul risultato della traduzione dell’indirizzo (ovviamente la traduzione fa parte del microprogramma stesso), invia la richiesta di accesso alla memoria.

6) Un elaboratore D-RISC dispone di un co-processore, realizzato a firmware come unità di I/O, capace di eseguire le quattro operazioni su numeri reali. Supponendo che un numero reale sia rappresentato mediante una coppia di parole aventi indirizzi logici consecutivi, scrivere il codice generato dal compilatore per permettere l’esecuzione di una operazione su numeri reali. Se necessario, fare ipotesi sul funzionamento firmware del co-processore.

Riferimenti

Documenti correlati

Questa pagina, a tempo di caricamento (in base alle informazioni contenute nel file di configurazione), viene mappata nella memoria fisica locale di U1.. Come da specifiche,

Il costo per ognuno dei trasferimenti è quindi pari al fetch + esecuzione di almeno due istruzioni (senza considerare il controllo delle iterazioni) in aggiunta al tempo

Le dipendenze EU-EU, pur in presenza della latenza “lunga” in EU dell’istruzione 5, non hanno alcun effetto sul tempo di servizio per istruzione, in quanto, per

[r]

Si consideri la procedura per la commutazione di contesto. Le strutture dati condivise riferite indirettamente sono gestite con il metodo degli indirizzi logici

Ogni unità funzionale ha tempo di servizio ideale uguale al tempo di servizio ideale dell’intera CPU, cioè Tid = t (= oppure =  a seconda dell’implementazione

3. il microprogramma di una unità cache completamente associativa controlla che il blocco di memoria principale riferito sia attualmente allocato nel blocco di cache il

★ Numero di istruzioni: l’ISA puo’ fornire istruzioni di alto o basso livello (quindi piu’ o meno istruzioni per