Pages: 1 ... 5 6 [7] 8 9 ... 24   Go Down
Print
Author Topic: AA 2010-2011: Quesiti a risposta aperta  (Read 83795 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #90 on: 08-06-2011, 19:11:54 »

cosa si intende per tracciare??
disegnare.
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #91 on: 08-06-2011, 19:50:52 »

Se i calcoli sono corretti, sarebbe 81.
80,6, con un po' più di precisione.
Quote
Da questo ricaviamo 600*600*81, ovvero 29160000 pixel.
29x106, con la piccola correzione di cui sopra.
Quote
Dato che dobbiamo considerare 32 bit per il colore, abbiamo 933120000,
No, qui la correzione è più sostanziosa (e concettuale): un fattore 3 per il  numero di colori per pixel, e un fattore 5 per la zona di ciascuno di essi (servono 5 bit per discriminare 25 zone), dunque complessivamente 15: con la correzione di cui sopra si ottiene 435x106.
Quote
diviso 1024000 (ovvero in megabyte) otteniamo 911 Megabyte di memoria da utilizzare.
1 M non è 1024 x 1000, bensì 1 KK, ovvero 10242 = 1048576. Aggiungendo questa correzione alle precedenti si ottiene circa 415 Mbit, ovvero circa 52 MB.
Quote
Non ho capito, intende dire che il grazie al formato è possibile eseguire istruzioni in parallelo? I pacchetti non sono proprio delle istruzioni particolarmente lunghe?
Sì, ma la differenza essenziale è un'altra. Nel Pentium superscalare la parallelizzazione dell'esecuzione di più istruzioni è determinata dalla (molto complessa) microarchitettura, grazie a molteplici accorgimenti, quali ad es.: pipeline profonda, esecuzione fuori sequenza con rinomina dei registri e, come abbiamo visto da ultimo, hyperthreading. Il formato della singola istruzione Pentium specifica una sola istruzione, e il compilatore non ha decisioni da prendere in merito a quante e quali istruzioni saranno parallelizzate dalla microarchitettura. In un processore VLIW, invece, il formato dell'istruzione (o, più precisamente, della Instruction Word, cioè del pacchetto di istruzioni) prevede più di una istruzione, da emettere tutte in parallelo su unità funzionali distinte. Il pacchetto lo costruisce il compilatore, che determina (e sperabilmente ottimizza) la scelta delle istruzioni da mettere assieme in uno stesso pacchetto, dunque da eseguire in parallelo. La microarchitettura si semplifica parecchio, a spese della complessità del compilatore.
Logged
Nyconator
Apprendista Forumista
**
Offline Offline

Posts: 130


« Reply #92 on: 08-06-2011, 20:03:27 »

Non mi è molto chiaro questo quesito:

Il testo, in sez. 3.2.2 “Reti combinatorie”, spiega l’uso di un multiplexer per la conversione di dati da parallelo a seriale. Tale uso non è appropriato al titolo della sezione. Perché?

Il paragrafo in questione parla dell'utilizzo del multiplexer come convertitore da parallelo a seriale per esempio per l'utilizzo di una tastiera, i cui tasti, una volta premuti, generano dei numeri a 7 o 8 bit che possono essere spediti serialmente lungo una linea telefonica. Questo è possibile grazie alle linee di controllo dell'ipotetico multiplexer, i cui segnali variano sequenzialmente per permettere al flusso di dati di essere spedito serialmente.

Dove trovo l'uso inappropriato al titolo della sezione (reti combinatorie)?
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #93 on: 08-06-2011, 20:45:10 »

Ho fatte le adeguate modifiche un giudizio?
Sufficienti, ma si può migliorare ancora, come segue.
  • Nella nuova versione le sue istruzioni sono 11, dunque ancora troppe. Poiché l'esercizio chiede la stesura di un programma, non di un sottoprogramma, l'istruzione RETURN è di troppo (la seconda: per la prima v. appresso).
  • Problema un po' più serio (di sostanza): assumiamo pure (come lei implicitamente fa) che il contenuto iniziale di SP sia 0 (dunque che non occorra inizializzarlo a 0); non c'è ragione di considerare il resto 0 come un'assenza di resto: 0 è un numero (anche se questo è un argomento molto dibattuto in passato, e in parte anche tuttora). A conti fatti, le seguenti istruzioni sono superflue:
                   Z=LV; if(Z) goto noResto;
    ...
    noResto: OPC=0;
                    RETURN
  • La sintassi di MAL (grazie alle caratteristiche della microarchitettura) le permette di  compattare in una sola istruzione la sequenza di due istruzioni (dove, a proposito, l'uso del separatore ";" non è corretto: manca dove occorre, cioè dopo l'assegnamento, e c'è dove non dovrebbe, cioè alla fine delle istruzioni):
                    N=LV if(n) goto Resto;
                    goto Ciclo;
    ovvero:
                    N=LV; if(N) goto Resto; else goto Ciclo

Dopo questi sconti, le 11 istruzioni diventano 6. Direi che c'è ampio spazio per l'inizializzazione di SP, no?
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #94 on: 08-06-2011, 20:47:53 »

giusto?
Sì, visto che me lo chiede: quando non rispondo, il default è che la soluzione è corretta e sufficientemente completa.
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #95 on: 08-06-2011, 21:09:42 »

aumentando le vie di cache aumenta la sua inefficienza.
Vero fino a un certo punto, altrimenti l'ottimo sarebbe sempre di avere cache a una via. Occorre precisare cosa si valuta per misurare la maggiore o minore "efficienza" nella determinazione del numero di vie. Contano due fattori contrapposti:
  • il tempo medio di reperimento di una linea di cache presente in un elemento della cache, che aumenta al crescere del numero di vie, penalizzando le prestazioni;
  • il tempo medio di scelta della linea di cache da rimpiazzare, da parte dell'algoritmo LRU, che aumenta al crescere del numero di vie, penalizzando le prestazioni;
  • la probabilità di cache miss, che diminuisce al crescere del numero di vie, migliorando le prestazioni.
I primi due fattori sono dunque "costi" dell'incremento del numero di vie, il terzo ne è un "beneficio". Una scelta ottimale dovrebbe rendere minimo il rapporto costo/beneficio, almeno in media statistica, opportunamente misurato.
« Last Edit: 08-06-2011, 21:15:48 by Giuseppe Scollo » Logged
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #96 on: 08-06-2011, 21:10:56 »

giusto?
Sì, visto che me lo chiede: quando non rispondo, il default è che la soluzione è corretta e sufficientemente completa.
ok
Logged
Nyconator
Apprendista Forumista
**
Offline Offline

Posts: 130


« Reply #97 on: 08-06-2011, 21:15:41 »

Dato che c'è il rischio che questa domanda passi un pochino inosservata, la ripropongo sperando che qualcuno sappia darmi una mano Smiley

Non mi è molto chiaro questo quesito:

Il testo, in sez. 3.2.2 “Reti combinatorie”, spiega l’uso di un multiplexer per la conversione di dati da parallelo a seriale. Tale uso non è appropriato al titolo della sezione. Perché?

Il paragrafo in questione parla dell'utilizzo del multiplexer come convertitore da parallelo a seriale per esempio per l'utilizzo di una tastiera, i cui tasti, una volta premuti, generano dei numeri a 7 o 8 bit che possono essere spediti serialmente lungo una linea telefonica. Questo è possibile grazie alle linee di controllo dell'ipotetico multiplexer, i cui segnali variano sequenzialmente per permettere al flusso di dati di essere spedito serialmente.

Dove trovo l'uso inappropriato al titolo della sezione (reti combinatorie)?
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #98 on: 08-06-2011, 21:21:01 »

Secondo me non ha significato avere un numero di vie che sia potenza di due in quanto le attuali macchine fanno uso di cache a 3 vie per motivi di efficienza
Mi sembra un giudizio eccessivo, cache a 2 o 4 vie hanno tanto senso quanto cache a 3 o 5 vie, in linea di principio. Dunque, mentre non c'è ragione di preferire le potenze di 2, non ce n'è nemmeno per escluderle a priori.
Logged
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #99 on: 08-06-2011, 21:26:17 »

Ho fatte le adeguate modifiche un giudizio?
Sufficienti, ma si può migliorare ancora, come segue.
  • Nella nuova versione le sue istruzioni sono 11, dunque ancora troppe. Poiché l'esercizio chiede la stesura di un programma, non di un sottoprogramma, l'istruzione RETURN è di troppo (la seconda: per la prima v. appresso).
  • Problema un po' più serio (di sostanza): assumiamo pure (come lei implicitamente fa) che il contenuto iniziale di SP sia 0 (dunque che non occorra inizializzarlo a 0); non c'è ragione di considerare il resto 0 come un'assenza di resto: 0 è un numero (anche se questo è un argomento molto dibattuto in passato, e in parte anche tuttora). A conti fatti, le seguenti istruzioni sono superflue:
                   Z=LV; if(Z) goto noResto;
    ...
    noResto: OPC=0;
                    RETURN
  • La sintassi di MAL (grazie alle caratteristiche della microarchitettura) le permette di  compattare in una sola istruzione la sequenza di due istruzioni (dove, a proposito, l'uso del separatore ";" non è corretto: manca dove occorre, cioè dopo l'assegnamento, e c'è dove non dovrebbe, cioè alla fine delle istruzioni):
                    N=LV if(n) goto Resto;
                    goto Ciclo;
    ovvero:
                    N=LV; if(N) goto Resto; else goto Ciclo

Dopo questi sconti, le 11 istruzioni diventano 6. Direi che c'è ampio spazio per l'inizializzazione di SP, no?
Prof,io la soluzione proposta dal collega l'avrei corretta in questo modo:
Ciclo:       LV=LV-H;
                SP=SP+1;
                Z=LV; if(Z) goto memR;
                N=LV if(N) goto Resto;else goto Ciclo;
Resto:      LV=LV+H;
                SP=SP-1;
memR     OPC=LV;
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #100 on: 08-06-2011, 21:27:15 »

Dove trovo l'uso inappropriato al titolo della sezione (reti combinatorie)?
Nella precedente risposta a immatricola.
Logged
Nyconator
Apprendista Forumista
**
Offline Offline

Posts: 130


« Reply #101 on: 08-06-2011, 21:31:53 »

Dove trovo l'uso inappropriato al titolo della sezione (reti combinatorie)?
Nella precedente risposta a immatricola.

mi era sfuggita, chiedo scusa boh e grazie 
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #102 on: 08-06-2011, 21:34:30 »

Dato che c'è il rischio che questa domanda passi un pochino inosservata,
Non vedo il rischio, i miei commenti seguono una disciplina FIFO, escludendo i vostri post che non richiedono commenti, ad es. quelli di una delle due categorie che seguono:
  • risposte corrette e sufficientemente complete;
  • domande rivolte agli studenti (ad es., quella recente di SalvoCia).
Logged
Nyconator
Apprendista Forumista
**
Offline Offline

Posts: 130


« Reply #103 on: 08-06-2011, 21:40:36 »

Chiedo doppiamente scusa. Sono entrato nel topic da poco e non mi ero accorto dell'ordine accurato con cui ad ogni quesito viene data risposta..
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.507


« Reply #104 on: 08-06-2011, 21:44:40 »

io la soluzione proposta dal collega l'avrei corretta in questo modo:
Riguardo alla forma, anche lei dovrebbe rivedere l'uso (o il mancato uso, quando necessario) del separatore ";". Forse non era chiaro quanto segue: non è un separatore di istruzioni MAL, ma solo dei diversi campi di una stessa istruzione.
Riguardo alla sostanza, inizializzazione di SP a parte, la sua proposta costa un'istruzione in più rispetto a quella proposta da me, ma forse presenta qualche vantaggio? In ogni caso, forma a parte, mi sembra corretta.
« Last Edit: 08-06-2011, 21:46:44 by Giuseppe Scollo » Logged
Pages: 1 ... 5 6 [7] 8 9 ... 24   Go Up
Print
Jump to: