• Non ci sono risultati.

Testo Esercizio

N/A
N/A
Protected

Academic year: 2022

Condividi "Testo Esercizio"

Copied!
4
0
0

Testo completo

(1)

Testo Esercizio

Domanda 2 (8 punti)

Sia data una scheda myrinet che utilizza un MCP con la seguente struttura:

int dma_activated = 0;

While (1) {

if ( (hostsent != lanaisent) && (ISR & SEND_INT_BIT) && (!dma_activated) ) { activate_SDMA(); dma_activated = 1; }

if ( (ISR & SEND_INT_BIT) && (dma_activated) ) { lanaisent++; dma_activated = 0; }

if (ISR & RECV_INT_BIT) { activate_EBUS_DMA(); activate_RDMA(); } if (ISR & WAKE0_INT_BIT) notify_host();

}

e siano date le seguenti informazioni:

La struttura di un pacchetto ricevuto consiste di un header di 32 byte, un timestamp (scritto dall'host) costituito da un unsigned int, e una terza porzione di altri 1024 byte;

I pacchetti in ricezione sono ricevuti in pipeline in due buffer, all'indirizzo LANai 0x8000 e 0x10000;

La scheda è mappata nello spazio di indirizzamento di tutti i processi all'indirizzo 0x80000000.

Si consideri inoltre un'applicazione che abbia bisogno di conoscere, in maniera asincrona, il timestamp piu' alto tra tutti quelli dei messaggi ricevuti fino a quel momento. Si richiede di:

descrivere come va modificata la struttura del MCP per far si che la valutazione del timestamp piu’ alto venga effettuata sulla scheda, e che il risultato venga memorizzato all'indirizzo della scheda 0x50000;

la stesura del codice per tali modifiche;

la stesura del codice della funzione "unsigned int read_timestamp()" che dovra' essere usata dall'applicazione per leggere il valore del timestamp.

Si noti che la procedura di ricezione vera e propria del messaggio non deve subire alterazioni.

(2)

Concetto

Host Address Space NIC

RAM

0x0

0x40000000

0x80000000

0x0

0x80050000

0x8000 0x10000

0x50000

(3)

int dma_activated = 0;

While (1) {

If ((hostsent != lanaisent) && (ISR & SEND_INT_BIT) && (!dma_activated)) { activate_SDMA(); dma_activated = 1; }

If (ISR & SEND_INT_BIT) && (dma_activated) { lanaisent++; dma_activated = 0; }

If (ISR & RECV_INT_BIT)

{ activate_EBUS_DMA(); check_max(); activate_RDMA(); } If (ISR & WAKE0_INT_BIT) notify_host();

}

Modifica struttura MCP

(4)

#define FIRST_MAX_BUFFER (0x8032)

#define SECOND_MAX_BUFFER (0x10032)

unsigned int * next_max_pointer = FIRST_MAX_BUFFER;

unsigned int * max_buffer = 0x50000;

void check_max( ) {

if (htonl(*next_max_pointer) > htonl(*max_buffer))

*max_buffer = ntohl(*next_max_pointer);

if (next_max_pointer == FIRST_MAX_BUFFER) next_max_pointer = SECOND_MAX_BUFFER;

else

next_max_pointer = FIRST_MAX_BUFFER;

}

unsigned int read_timestamp( ) {

unsigned int * nic_from_host = 0x80050000;

return (*nic_from_host);

}

Sulla scheda:

Sull'host:

Riferimenti

Documenti correlati

Leggere il brano e rispondere a ogni quesito solo in base alle informazioni contenute (esplicitamente o implicitamente) nel brano e non in base a quanto il candidato

Verso i cinque anni i bambini iniziano a sviluppare una conoscenza adeguata degli intenti degli spot Un bambino di sei anni non ha ancora sviluppato una conoscenza adeguata

Quale delle seguenti NON è espressione dell'autonomia di ricerca, sperimentazione e sviluppo di un istituto di scuola secondaria di secondo grado, così come definita dal

Leggere il brano e rispondere a ogni quesito solo in base alle informazioni contenute (esplicitamente o implicitamente) nel brano e non in base a quanto il candidato

Un documento che descrive in maniera dettagliata diritti e doveri nel rapporto tra istituzione scolastica autonoma, studenti e famiglie la cui sottoscrizione, al momento dell

Nell'ambito della valutazione del rendimento degli alunni disabili della scuola secondaria:A. i docenti possono utilizzare, nella valutazione di un alunno, unicamente o prove scritte

riconoscimento della differenza degli altri da sé, ma non ancora il senso di sé come entità separata dagli altri maturazione fisica e psicologica descrivibile attraverso stadi.

L’imminente trasposizione nell’ordinamento italiano della più recente revisione della direttiva europea sulla prestazione energetica degli edifici si presenta come