m3l0
Matricola
Offline
Posts: 74
|
 |
« Reply #105 on: 08-06-2011, 22:42:56 » |
|
Nel microprogramma Mic-1 il codice in T, eseguito quando Z=1 con JAMZ=1, è uguale a quello in goto1. Si potrebbe andare direttamente a goto1? Se sì, si risparmierebbe un ciclo (max 10 righe)?
# codice T# OPC=PC-1; goto goto2
# codice goto # goto1 OPC=PC-1 goto2 PC=PC+1; fetch .......
Si potrebbe eseguire direttamente il codice di goto, in quanto non credo che si risparmierebbe un ciclo
|
|
|
Logged
|
|
|
|
Giovi89
Apprendista Forumista

Offline
Posts: 273
|
 |
« Reply #106 on: 09-06-2011, 10:32:33 » |
|
Buongiorno ho un dubbio sulla seguente domanda: Quesito 21 : Si abbia un archivio di immagini fotografiche digitali da 16 milioni di pixel ca., a 3 byte/pixel. Quante se ne possono memorizzare in una memoria da 1 GB con fattore di compressione 5 (max 5 righe)? per la risoluzione procedo nel seguente modo: ho calcolato lo spazio che occupa una singola immagine facendo 16 milioni * 3 = 48 milioni, dopo di che divido 1 GB (portato a byte) per la grandezza dell'immagine trovando come risultato che si potrebbero archiviare circa 22 immagini. Non ho capito come applicare il fattore di compressione 5? Rimango in attesa di una vostra risposta.
|
|
|
Logged
|
|
|
|
SalvoCia
Matricola
Offline
Posts: 36
|
 |
« Reply #107 on: 09-06-2011, 11:13:34 » |
|
L'arbitraggio decentralizzato, si basa sul maggior numero di linee di bus con il quale tutti dispositivi monitorano tutte le linee di richiesta [...]
No, c'è un equivoco: l'ipotesi "nei bus con collegamento a festone" si riferisce a entrambi i tipi di arbitraggio, dunque va considerato l'arbitraggio decentralizzato con solo tre linee, indipendentemente dal numero dei dispositivi. E quindi quale dovrebbe essere la risposta corretta?
|
|
|
Logged
|
|
|
|
Flyer
Apprendista Forumista

Offline
Posts: 100
|
 |
« Reply #108 on: 09-06-2011, 14:09:27 » |
|
Calcolare il fattore di compressione richiesto per memorizzare 133 minuti di video in un DVD con 3,5 GB per la traccia video, risoluzione di 720x480 pixel, colori a 24 bit, 30 frame/s Io ho ragionato in questo modo, ma ho qualche dubbio  Ogni frame è composto da 720*480 pixel, cioè 345600 pixel. Ogni pixel ha 3 colori a 24 bit (8 bit a colore), quindi per ogni pixel sono necessari appunto 24 bit. Ciò significa per ogni frame sono necessari 8294400 bit. Per ogni secondo ci sono 30 frame; quindi per ogni secondo sono necessari 248832000 di bit. Avendo una durata totale del video di 133 minuti, abbiamo 7980 secondi....[] Ma moltiplicando il numero di bit necessari ogni secondo per il numero di secondi viene un numero troppo grande (230 GB). Quindi appunto ho qualche dubbio sui calcoli che ho effettuato..
|
|
|
Logged
|
|
|
|
SalvoCia
Matricola
Offline
Posts: 36
|
 |
« Reply #109 on: 09-06-2011, 15:07:46 » |
|
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).
Prof la mia domanda non era esclusivamente rivolta ai soli studenti ma anche a lei una sua risposta sarebbe una cosa gradita 
|
|
|
Logged
|
|
|
|
peppe89ct
Apprendista Forumista

Offline
Gender: 
Posts: 288
very normal people
|
 |
« Reply #110 on: 09-06-2011, 15:53:18 » |
|
Può essere utile impiegare una IFU più costosa in Mic-2, ad es. con registro di scorrimento da 12 byte invece che 6? Quale sarebbe l'eventuale vantaggio (max 10 righe)? Assolutamente. Nel mic -2 si è assunto un cache hit rate del 100% finora. Questo è irrealistico. A volte un recupero della memoria sarà un cache miss e potrebbe durare un lungo lasso di tempo. Avere una grande coda di byte precedentemente recuperati consentirà alla macchina di continuare a funzionare anche ad un riferimento della memoria che richiede molto tempo. Così, quando la fetch è costosa in termini di tempo la CPU può essere ancora in esecuzione. Con un registro a scorrimento piccolo l' IFU potrebbe andare in stallo molto prima.
|
|
|
Logged
|
"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
|
|
|
R3m
Apprendista Forumista

Offline
Gender: 
Posts: 486
|
 |
« Reply #111 on: 09-06-2011, 15:58:40 » |
|
Quesito 22 : Codificare in Mic-2 l'istruzione JVM DLOAD varnum, con indice di 1 byte, che inserisce nello stack la sequenza di 2 variabili locali che inizia a tale posizione (max 10 righe).PopTwo1 MAR = LV + MBR1U; rd PopTwo2 MAR = SP = SP + 1 PopTwo3 TOS = MDR; wr PopTwo4 PopTwo5 MAR = LV + MBR1U; rd PopTwo6 MAR = SP = SP + 1 PopTwo7 TOS = MDR; wr; goto(MBR1) Fà un pò pena questo codice....è possibile ottimizzarlo?
|
|
|
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.
|
|
|
Nyconator
Apprendista Forumista

Offline
Posts: 130
|
 |
« Reply #112 on: 09-06-2011, 16:11:54 » |
|
questa domanda mi ha messo un pochino in difficoltà:
La ALU a 8 bit, con input INC al riporto in ingresso a destra, può eseguire somme e sottrazioni a 8 bit in complemento a 2. Spiegare come (max 10 righe).
per cercare di rispondere alla domanda ho immaginato una ALU con 1 half adder (per il bit meno significativi) e 7 full adder (per quelli più significativi). in questo modo, almeno in teoria, la ALU sarebbe in grado di sommare gli input a0...a8 agli input b0...b8 senza problemi. l'input INC dovrebbe forzare un carry bit nel bit meno significativo aggiungendo 1 al risultato. A questo punto ho immaginato non più un half adder al bit a destra, ma un full adder in grado di ricevere il carry a 1. per la somma a complemento a 2 basta relegare il bit più significativo al segno del valore.
professore, il ragionamento che ho fatto le sembra corretto?
|
|
|
Logged
|
|
|
|
peppe89ct
Apprendista Forumista

Offline
Gender: 
Posts: 288
very normal people
|
 |
« Reply #113 on: 09-06-2011, 16:18:23 » |
|
Secondo il testo, sez. 4.5.1, la write allocation è vantaggiosa solo se seguita da scritture nella stessa linea di cache. Lo è altrettanto se seguita da letture nella linea allocata (max 10 righe)? Si è vantaggiosa perchè in presenza di una cache miss il la cpu passa da uno stao invalido ad uno valido con la write allocation sia per le scritture consecutive che per le letture in quanto si risparmierebbe il tempo di andare in memoria.
|
|
« Last Edit: 09-06-2011, 16:26:07 by peppe89ct »
|
Logged
|
"Real programmers always confuse Halloween and Christmas 'cause 31oct = 25dec"
|
|
|
m3l0
Matricola
Offline
Posts: 74
|
 |
« Reply #114 on: 09-06-2011, 16:22:47 » |
|
Il testo originale specifica il bit di flag A del Pentium 4 come "carry out of bit 3"; se questo fosse il "riporto oltre il terzo bit", sarebbe poco utile alla somma BCD. Perché (max 10 righe)?
Se per esempio voglio sommare 8 + 8 = 16, ottengo come risultato della somma BCD il valore 10 e quindi devo aggiungere il numero 6 per correggere il risultato
0000 1000+ 0000 1000 ----------------- 0001 0000+ (10 in BCD) 0000 0110 ----------------- 0001 0110 (16 in BCD)
Non ho capito cosa si intende con "riporto oltre il terzo bit" relativo alle somme BCD
|
|
|
Logged
|
|
|
|
Nyconator
Apprendista Forumista

Offline
Posts: 130
|
 |
« Reply #115 on: 09-06-2011, 16:48:36 » |
|
Altra difficoltà:
ragazzi se sapete darmi una mano anche voi oltre al professore ve ne sarei grato. La domanda in questione è
Descrivere due modi diversi per avere in output da una ALU a 8 bit il valore costante -1 (in complemento a due), specificando in ciascun caso i valori dei sei segnali di controllo (max 10 righe).
Io avrei risposto in questo modo, facendo riferimento ad una tabella che compare al capitolo 4. Un primo modo potrebbe essere di assegnare 0 all'input di controllo F0, 1 ad F1, 0 ad entrambi ENA e ENB (quindi input A e B disabilitati entrambi), 0 all’input INC, e 1 all’input INVA. Un modo alternativo potrebbe essere assegnare 1 ad A, 1 ad entrambi F0 e F1, uno al solo abilitatore ENA (ENB resta a 0), 1 ad INVA e 1 ad INC.
In questo modo l'ALU, almeno in teoria, dovrebbe restituire proprio -1. Ho commesso qualche errore?
|
|
|
Logged
|
|
|
|
m3l0
Matricola
Offline
Posts: 74
|
 |
« Reply #116 on: 09-06-2011, 17:20:04 » |
|
Io avrei risposto in questo modo, facendo riferimento ad una tabella che compare al capitolo 4. Un primo modo potrebbe essere di assegnare 0 all'input di controllo F0, 1 ad F1, 0 ad entrambi ENA e ENB (quindi input A e B disabilitati entrambi), 0 all’input INC, e 1 all’input INVA. Un modo alternativo potrebbe essere assegnare 1 ad A, 1 ad entrambi F0 e F1, uno al solo abilitatore ENA (ENB resta a 0), 1 ad INVA e 1 ad INC.
Penso sia giusto, quindi ricapitolando le funzioni sono: F0 F1 ENA ENB INVA INC Function 0 1 0 0 1 0 -1 1 1 1 0 1 1 -A
|
|
|
Logged
|
|
|
|
Nyconator
Apprendista Forumista

Offline
Posts: 130
|
 |
« Reply #117 on: 09-06-2011, 17:30:17 » |
|
Io avrei risposto in questo modo, facendo riferimento ad una tabella che compare al capitolo 4. Un primo modo potrebbe essere di assegnare 0 all'input di controllo F0, 1 ad F1, 0 ad entrambi ENA e ENB (quindi input A e B disabilitati entrambi), 0 all’input INC, e 1 all’input INVA. Un modo alternativo potrebbe essere assegnare 1 ad A, 1 ad entrambi F0 e F1, uno al solo abilitatore ENA (ENB resta a 0), 1 ad INVA e 1 ad INC.
Penso sia giusto, quindi ricapitolando le funzioni sono: F0 F1 ENA ENB INVA INC Function 0 1 0 0 1 0 -1 1 1 1 0 1 1 -A esattamente, pensavo proprio così
|
|
|
Logged
|
|
|
|
m3l0
Matricola
Offline
Posts: 74
|
 |
« Reply #118 on: 09-06-2011, 17:40:47 » |
|
Scrivere una procedura in un linguaggio assemblativo, con istruzioni per la moltiplicazione, per il calcolo di n! (max 10 righe).
Prof ma si intende in IJVM?
|
|
|
Logged
|
|
|
|
pippo
Apprendista Forumista

Offline
Posts: 150
|
 |
« Reply #119 on: 09-06-2011, 19:27:32 » |
|
Può essere utile impiegare una IFU più costosa in Mic-2, ad es. con registro di scorrimento da 12 byte invece che 6? Quale sarebbe l'eventuale vantaggio (max 10 righe)? Penso che la risposta potrebbe essere questa: Si,può essere utile in quanto avere una più ampia coda di byte precedentemente prelevati dalla memoria,consentirà alla macchina di restare in esecuzione anche quando un riferimento alla memoria richiede molto tempo.Così per la maggior parte del tempo di fetch dalla memoria,la CPU può restare ancora in esecuzione,contrariamente a quanto potrebbe avvenire invece con un registro di scorrimento più piccolo.
|
|
|
Logged
|
|
|
|
|