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

Gender: Male
Posts: 288


very normal people


« Reply #75 on: 07-06-2011, 17:18:46 »

Code:
Stimare quanta memoria occorrerebbe in una stampante laser a colori per una bitmap da 520 cm² a 600 dpi, con stampa a mezzitoni da 32 zone per pixel e per colore (1 inch = 2,54 cm, max 5 righe).
Innanzi tutto bisogna vedere quanti pollici ci sn in questa immagine e io ho fatto 520/2,54 =circa 205.
Dopo bisogna calcolare quanti pixel ci sono in questa immagine e ho fatto 600*600*205=73800000 pixel.
Adesso come faccio a capire quanti bit ci sn per pixel e calcolarmi la dimensione della memoria della stampante??
Voi come la pensate?Huh?
Logged

"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.500


« Reply #76 on: 07-06-2011, 18:12:38 »

Se si riferisce al Pentium I, anche se le istruzioni sono lunghe, non credo che questo processore abbia più unità funzionale, e immagino neanche più core sullo stesso chip. Quindi non credo potrebbe essere considerato un proc. VLIW, ma solo un processore che utilizza istruzioni lunghe...
La domanda vale anche per il Pentium 4, che ha più unità funzionali, è superscalare, e ha una CPU con multithreading. Anche se alcune delle sue istruzioni sono parecchio lunghe, il formato dell'istruzione può specificare l'esecuzione simultanea di più operazioni da parte di unità funzionali distinte? È questa la caratteristica dei processori VLIW.
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.500


« Reply #77 on: 07-06-2011, 18:39:52 »

Ciò è importante perchè se non ci fosse potrebbe accadere che dei processori tentano di assegnare delle istruzioni non valide e generare parecchi errori;rovinano i registri della CPU e I/O e il sistema stesso.Quindi la conferma dell'interrupt è essenziale per informare il sistema operativo per la gestione del problema.
No, la domanda è un'altra. Qui lei fornisce una spiegazione del perché sia necessario il segnale di interrupt, non quello di conferma dell'interrupt (con un ciclo speciale di bus). La spiegazione è discutibile, perché la necessità del segnale di interrupt deriva semplicemente dal fatto che in molti casi una richiesta di comunicazione da una periferica va servita entro un tempo limitato, pena la perdita dell'informazione associata alla richiesta. I casi di errore segnalabili nel registro di stato di un controllore di I/O vanno anch'essi gestiti dalla routine di servizio dell'interrupt, ma non sono la motivazione principale per l'esistenza del segnale di interrupt, né di quello di conferma. Riguardo a quest'ultimo, occorre chiedersi: quando un controllore di I/O genera il segnale di interrupt, può sapere quando la CPU sarà disponibile per servire la richiesta? Quando ciò avverrà, il controllore dovrà inviare sul bus una propria identificazione, cioè il vettore di interrupt, che la CPU usa come indice in una tabella che fornisce l'indirizzo della corrispondente routine di servizio dell'interrupt per quel controllore. Se il controllore inviasse il vettore di interrupt sul bus assieme all'interrupt stesso, questa informazione potrebbe andare persa perché la CPU potrebbe non essere subito disponibile a recepirla (ad es. poiché impegnata nel servizio di un interrupt di priorità più alta). Occorre dunque un ciclo di bus a parte, successivo a quello di segnalazione dell'interrupt, perché la conferma dell'interrupt informi il controllore che è il momento di fornire il vettore di interrupt sul bus.
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.500


« Reply #78 on: 07-06-2011, 18:51:29 »

io ho fatto 520/2,54 =circa 205.
I 520 sono cm2, non cm, dunque occorre dividere 520 per (2,54)2
Quote
Dopo bisogna calcolare quanti pixel ci sono in questa immagine e ho fatto 600*600*205=73800000 pixel.
dovrà rimpiazzare 205 con il valore corretto, in base all'osservazione precedente.
Quote
Adesso come faccio a capire quanti bit ci sn per pixel e calcolarmi la dimensione della memoria della stampante??
Ha 3 colori per pixel, e per ciascun colore del pixel deve discriminare fra 32 = 25 zone distinte. Questo dovrebbe bastarle a trovare la risposta alla prima domanda. La risposta alla seconda sarà poi molto semplice, perché avrà già calcolato il numero totale di pixel.
Logged
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #79 on: 07-06-2011, 21:15:32 »

Quote
Ha 3 colori per pixel, e per ciascun colore del pixel deve discriminare fra 32 = 25 zone distinte. Questo dovrebbe bastarle a trovare la risposta alla prima domanda. La risposta alla seconda sarà poi molto semplice, perché avrà già calcolato il numero totale di pixel.
Prof in che senso bisogna "discriminare"? Non mi è chiaro..
Logged
peppe89ct
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 288


very normal people


« Reply #80 on: 07-06-2011, 21:59:47 »

Code:
Scrivere un programma MAL per la divisione di interi senza segno, con il dividendo in LV, il divisore non nullo in H, il quoziente intero in SP e il resto in OPC (max 10 righe).
questa è la mia soluzione professore penso sia giusta!


Ciclo:     Z=LV; if(Z) goto fine2
Ciclo1:    LV=LV -H
           SP=SP+1
           Z=LV; if(Z) goto Somma
           N=LV if(N) goto Somma2
           goto Ciclo1
Somma:     OPC=0
           goto Fine
Somma2:    LV=LV+H
           SP=SP-1
           OPC=LV
           goto Fine
Fine:
Fine2:     SP=0
           OPC=0
           goto Fine
Logged

"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.500


« Reply #81 on: 08-06-2011, 15:25:22 »

Prof in che senso bisogna "discriminare"? Non mi è chiaro..
"distinguere", fra le 32 zone in questione: per ciascuno dei tre colori fondamentali di ogni pixel va memorizzata una delle 32 zone, quella che meglio ne rappresenta il contributo al colore risultante del pixel. Occorre dunque avere memoria sufficiente per un (qualsiasi) numero dell'intervallo [0,31].
Logged
Giuseppe Scollo
Moderator
Forumista Eroico
*****
Offline Offline

Posts: 1.500


« Reply #82 on: 08-06-2011, 15:38:30 »

Code:
(max 10 righe).
questa è la mia soluzione professore penso sia giusta!
Nella migliore delle ipotesi c'è qualche istruzione di troppo: se avete 10 righe a disposizione per un programma, direi che 10 istruzioni dovrebbero bastare. Ora, esaminando qualche dettaglio, emergono subito alcune domande e osservazioni:
  • Perché l'istruzione vuota di etichetta Fine? Non essendo in gioco alcun accesso a memoria, non dovrebbe esserci alcuna necessità di cicli di attesa;
  • l'istruzione "goto Fine" subito seguita dall'istruzione di etichetta "Fine" è chiaramente superflua;
  • in realtà tutte le istruzioni dalla suddetta "goto Fine" in poi sono superflue:
Quote
           goto Fine
Fine:
Fine2:     SP=0
           OPC=0
           goto Fine
La invito a utilizzare questa prima valutazione, pur se incompleta, per escogitare una diversa soluzione al problema che non impieghi più di 10 istruzioni.
Logged
peppe89ct
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 288


very normal people


« Reply #83 on: 08-06-2011, 16:47:41 »

Tracciare la rete combinatoria di un sommatore a 4 bit a propagazione di riporto (all'interno dello spazio appresso).

Mi è capitata una domanda del genere su studium
Ma cosa si intende per tracciare??
Logged

"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
R3m
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 486



« Reply #84 on: 08-06-2011, 17:12:09 »

io ho fatto 520/2,54 =circa 205.
I 520 sono cm2, non cm, dunque occorre dividere 520 per (2,54)2
Quote
Dopo bisogna calcolare quanti pixel ci sono in questa immagine e ho fatto 600*600*205=73800000 pixel.
dovrà rimpiazzare 205 con il valore corretto, in base all'osservazione precedente.
Quote
Adesso come faccio a capire quanti bit ci sn per pixel e calcolarmi la dimensione della memoria della stampante??
Ha 3 colori per pixel, e per ciascun colore del pixel deve discriminare fra 32 = 25 zone distinte. Questo dovrebbe bastarle a trovare la risposta alla prima domanda. La risposta alla seconda sarà poi molto semplice, perché avrà già calcolato il numero totale di pixel.

Se i calcoli sono corretti, sarebbe 81. Da questo ricaviamo 600*600*81, ovvero 29160000 pixel. Dato che dobbiamo considerare 32 bit per il colore, abbiamo 933120000, diviso 1024000 (ovvero in megabyte) otteniamo 911 Megabyte di memoria da utilizzare.

Se si riferisce al Pentium I, anche se le istruzioni sono lunghe, non credo che questo processore abbia più unità funzionale, e immagino neanche più core sullo stesso chip. Quindi non credo potrebbe essere considerato un proc. VLIW, ma solo un processore che utilizza istruzioni lunghe...
La domanda vale anche per il Pentium 4, che ha più unità funzionali, è superscalare, e ha una CPU con multithreading. Anche se alcune delle sue istruzioni sono parecchio lunghe, il formato dell'istruzione può specificare l'esecuzione simultanea di più operazioni da parte di unità funzionali distinte? È questa la caratteristica dei processori VLIW.
Non ho capito, intende dire che il grazie al formato è possibile eseguire istruzioni in parallelo? I pacchetti non sono proprio delle istruzioni particolarmente lunghe?
« Last Edit: 08-06-2011, 17:20:34 by R3m » Logged

Ciò che è nostro è stato in campo sudato....ciò che vostro è stato in aula assegnato.
In serie B non sei mai stato perchè la prescrizione t'ha salvato.
peppe89ct
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 288


very normal people


« Reply #85 on: 08-06-2011, 17:13:20 »

Code:
(max 10 righe).
questa è la mia soluzione professore penso sia giusta!
Nella migliore delle ipotesi c'è qualche istruzione di troppo: se avete 10 righe a disposizione per un programma, direi che 10 istruzioni dovrebbero bastare. Ora, esaminando qualche dettaglio, emergono subito alcune domande e osservazioni:
  • Perché l'istruzione vuota di etichetta Fine? Non essendo in gioco alcun accesso a memoria, non dovrebbe esserci alcuna necessità di cicli di attesa;
  • l'istruzione "goto Fine" subito seguita dall'istruzione di etichetta "Fine" è chiaramente superflua;
  • in realtà tutte le istruzioni dalla suddetta "goto Fine" in poi sono superflue:
Quote
           goto Fine
Fine:
Fine2:     SP=0
           OPC=0
           goto Fine
La invito a utilizzare questa prima valutazione, pur se incompleta, per escogitare una diversa soluzione al problema che non impieghi più di 10 istruzioni.

Ho fatte le adeguate modifiche un giudizio?

Ciclo:       LV=LV-H;
                SP=SP+1;
                Z=LV; if(Z) goto noResto;
                N=LV if(n) goto Resto;
                goto Ciclo;
noResto: OPC=0;
                RETURN
Resto:      LV=LV+H;
                SP=SP-1;
                OPC=LV;
                RETURN
Logged

"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #86 on: 08-06-2011, 17:31:53 »

Prof in che senso bisogna "discriminare"? Non mi è chiaro..
"distinguere", fra le 32 zone in questione: per ciascuno dei tre colori fondamentali di ogni pixel va memorizzata una delle 32 zone, quella che meglio ne rappresenta il contributo al colore risultante del pixel. Occorre dunque avere memoria sufficiente per un (qualsiasi) numero dell'intervallo [0,31].
se non sbaglio con i calcoli verrebbe: 520/(2,54^2)=80,60*(600*600)=29016000 pixel
Ora faccio 29016000*15bit(che sono 5bit per colore)= 435240000,e facendo /8/1024/1024= 51MB di memoria,giusto?
Logged
SalvoCia
Matricola
*
Offline Offline

Posts: 36


« Reply #87 on: 08-06-2011, 18:34:27 »

Sapreste rispondere a questa domanda??
Un calcolatore con un bus dati largo 32 bit usa una DRAM implementata con chip di 1 Mbit x 1. Qual è la più piccola memoria (in byte) che il calcolatore può avere (max 5 righe)?
Logged
peppe89ct
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 288


very normal people


« Reply #88 on: 08-06-2011, 18:51:33 »

Code:
Le cache set-associative con poche vie sono preferibili a quelle con molte vie. Perché (max 10 righe)?
Algoritmo per rimpiazzare una linea di cache è LRU algoritmo mediante il quale aumentando le vie di cache aumenta la sua inefficienza.
quindi per questo le cache associative con poche vie sono più efficienti di quelle con tante vie.
Molte macchine montano cache che vanno da una a 4 vie.
Logged

"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
m3l0
Matricola
*
Offline Offline

Posts: 74



« Reply #89 on: 08-06-2011, 18:54:38 »

Sulle cache set-associative, il testo (sez. 4.5.1) sembra suggerire, ma non prescrive, che il numero di vie k sia una potenza di 2. C'è qualche motivo perché sia meglio che lo sia (max 5 righe)?


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
Logged
Pages: 1 ... 4 5 [6] 7 8 ... 24   Go Up
Print
Jump to: