Prima parte

 Primo Homework 1) Rispondere alle domande che seguono sui sistemi di rappresentazione in virgola fissa. 









Rappresentare il numero ‐10 nel sistema di rappresentazione in complemento a uno su 5 bit. Rappresentare il numero ‐10 nel sistema di rappresentazione in complemento a due su 5 bit. Rappresentare il numero ‐10 nel sistema di rappresentazione in eccesso a 16 su 5 bit. Rappresentare il numero 19 nel sistema di rappresentazione dei numeri naturali su 6 bit. Rappresentare il numero 19 nel sistema di rappresentazione in complemento a due su 6 bit. Rappresentare il numero 19 nel sistema di rappresentazione in eccesso a 32 su 6 bit. Indicare quale numero è rappresentato dal numerale 01110 nel sistema di rappresentazione in complemento a due su 5 bit. Indicare quale numero è rappresentato dal numerale 01110 nel sistema di rappresentazione in eccesso a 16 su 5 bit. Indicare quale numero è rappresentato dal numerale 10101 nel sistema di rappresentazione in complemento a uno su 5 bit. Indicare quanti bit sono necessari per rappresentare il numero +291 nel sistema di rappresentazione in complemento a due. 2) Si consideri una notazione binaria in virgola mobile a 20 bit denominata ALFA, di cui (nell'ordine da sinistra a destra) si usa 1 bit per il segno (0=positivo, 1=negativo), 8 bit per l'esponente, che e' rappresentato in eccesso a 128, ed i rimanenti 11 bit per la parte decimale della mantissa che e' normalizzata tra 1 e 2. A) Rappresentare nella notazione ALFA il numero che nel sistema in eccesso a 2^19 è rappresentato dalla stringa esadecimale 7D3A6. B) Indicare l'eventuale errore assoluto che si commette al punto A. C) Rappresentare nella notazione ALFA il numero che nel sistema in complemento a uno è rappresentato dalla stringa esadecimale 2B. D) Indicare l'eventuale errore assoluto che si commette al punto C. E) Individuare il numero X di bit dell'esponente e il numero Y di bit della mantissa di una notazione in virgola mobile a 24 bit, denominata BETA, che sia in grado di rappresentare tutti i numeri rappresentabili nella notazione ALFA e che abbia l'intervallo di rappresentazione più grande possibile. F) Rappresentare il numero decimale +3 nella notazione BETA. G) Indicare il più piccolo numero rappresentabile (in valore assoluto) nella notazione BETA, supponendo che le configurazioni con tutti 1 e con tutti 0 siano riservate. H) Indicare il più grande numero rappresentabile (in valore assoluto) nella notazione BETA, supponendo che le configurazioni con tutti 1 e con tutti 0 siano riservate. Secondo Homework 1) Rispondere alle seguenti domande relative ai meccanismi di rilevazione e correzione di errore dei codici binari. 





Un codice di lunghezza n non può avere una distanza di Hamming maggiore di n. Per poter correggere 2 errori in una codice di 32 bit occorre una distanza di Hamming almeno pari a 16. Quanti errori è possibile correggere su un codice con distanza di Hamming pari a 2? Quanti errori su bit è possibile rilevare nel codice composto dalle codifiche 0000, 0011, 0110 e 1111? Quanti bit vanno aggiunti allo standard IEEE 754 a singola precisione per essere in grado di rilevare errori singoli? Un produttore di schede di memoria garantisce che sui bit delle singole locazioni si può verificare 1 errore al massimo. Quale è la distanza di Hamming minima che deve avere un codice per poter correggere errori su codifiche memorizzate in queste memorie? 2) Con riferimento alle architetture CISC e RISC indicare se le seguenti affermazioni sono vere o false. 






Nelle architetture CISC è possibile, in linea di principio, programmare al livello delle microistruzioni. Le istruzioni macchina di un microprocessore con un'architettura CISC sono generalmente più complesse delle istruzioni macchina di un microprocessore con un'architettura RISC. Il livello della microprogrammazione non esiste nelle architetture RISC. Nei linguaggi macchina delle architettura RISC esiste un numero molto limitato di istruzioni che fanno riferimento diretto alla memoria principale. In un'architettura CISC, le traduzione di istruzioni macchina in microistruzioni viene svolta da circuiti dedicati presenti all'interno del microprocessore. Un linguaggio macchina per un microprocessore con architettura RISC non può essere implementato su un'architettura CISC. I tempi di esecuzione di una singola istruzione macchina in una architettura CISC e in una architettura RISC sono paragonabili. 3) Si consideri un microprocessore con architettura RISC, 10 stati di pipeline e un clock di 2.5 Ghz e si supponga di lavorare in condizioni ideali. Rispondere alle domande che seguono. 






Indicare il tempo di esecuzione (in nanosecondi) di una singola istruzione macchina. Indicare ogni quanto tempo (in nanosecondi) si completa a regime una istruzione macchina. Indicare l'ampiezza di banda del microprocessore (espressa in MIPS). Se la frequenza di clock scende a 2 Ghz il tempo di esecuzione di una istruzione diminuisce. Indicare il tempo di esecuzione (in nanosecondi) di un programma macchina composto da 5 istruzioni. Indicare di quanti nanosecondi si riduce il tempo di esecuzione di un'istruzione se nella pipeline si eliminano cinque stadi. Indicare il valore della banda (espressa in MIPS) se nella pipeline vengono aggiunti cinque stadi. 4) Si consideri un programma che utilizza le variabili X e Y. Complessivamente, X viene usata in 5 istruzioni, Y in 8. Il programma viene eseguito su un microprocessore a 32 bit che dispone di una cache con tempo di accesso di 2 nanosecondi e una memoria con tempo di accesso di 40 nanosecondi. Si assuma che i trasferimenti tra memoria a cache avvengano per blocchi di 128B. Rispondere alle domande che seguono. 





Indicare la percentuale di successo nell'accesso alla cache (cache hit ratio) per la variabile X Indicare la percentuale di successo nell'accesso alla cache per la variabile Y Indicare il tempo medio di accesso alla variabile X, espresso in nanosecondi. Indicare il tempo necessario al terzo accesso alla variabile X, espresso in nanosecondi. Nell'ipotesi che X e Y siano allocate in locazioni consecutive della memoria, indicare la percentuale complessiva di successo del programma nell'accesso alla cache (cache hit ratio) Indicare il tempo necessario al primo accesso a una variabile del programma, espresso in nanosecondi. 5) Si consideri un'unità RAID di 1TB (dimensione di memoria fisica visibile a livello di sistema operativo) e con blocchi (strip) di 512 KB. Rispondere alle seguenti risposte. 





Indicare la dimensione dei singoli dischi in un RAID di livello 0 con 4 dischi. Indicare la dimensione complessiva di memoria necessaria in un RAID di livello 1. Indicare la dimensione dei singoli dischi in un RAID di livello 1 con 4 dischi in tutto. Indicare il numero di strip presenti in un disco in un RAID di livello 0 con 32 dischi. Indicare la dimensione dei singoli dischi in un RAID di livello 4 con 3 dischi. Assumendo che si riesca a leggere 1 blocco in 5ms, indicare il tempo necessario (in millisecondi) per leggere un file di 2MB in un RAID di livello 5 con 4 dischi. 6) Con riferimento ai dispositivi di memoria secondaria, indicare se le seguenti affermazioni sono vere o false. 







I settori di una unità a disco hanno una dimensione variabile che dipende dalla traccia nella quale si trovano. La "sustained rate" di un'unità a disco tiene conto di tutti i tempi necessari alla ricerca dei dati sul disco. I dati sui dischi basati sulla tecnologia SATA vengono trasmessi serialmente. Nei touch screen capacitivi si sfrutta la capacita del corpo umano di condurre e accumulare cariche elettriche. I controllori delle unità periferiche possono gestire autonomamente i trasferimenti di dati con la memoria principale. I dispositivi Blu‐Ray si basano su proprietà elettromagnetiche dei materiali di cui sono fatti i supporti per la memorizzazione dei dati. Le unità a stato solido memorizzano i dati su dispositivi digitali simili a quelli usati nelle memorie volatili (RAM). Per aumentare la velocità di trasferimento lungo i bus di comunicazione con le unità perifieriche la tendenza attuale è basata sulla trasmissione seriale dei dati. Terzo Homework 1) Con riferimento ai circuiti logici di un calcolatore, indicare se le seguenti affermazioni sono vere o false. 









Il circuito combinatorio A OR (NOT(A) AND B) è equivalente al circuito A OR B. Il circuito combinatorio A OR (A AND NOT(B)) si può semplificare inviando direttamente il segnale A in uscita. Il circuito combinatorio (A AND NOT(B)) OR (A AND C) è equivalente al circuito A AND (B OR C). Un multiplexer può essere utilizzato per realizzare una piccola RAM. Un multiplexer si può utilizzare per effettuare conversioni parallelo/serie di segnali digitali. Un comparatore si può utilizzare come convertitore serie/parallelo di segnali digitali. Con un multiplexer con N segnali controllati si può calcolare qualsiasi funzione booleana di log2(N) variabili. Per selezionare una locazione di una memoria si può far uso di una FPGA opportunamente programmata. Una memoria ROM ha bisogno di essere alimentata per mantenere il proprio contenuto. Una SDRAM è una memoria che non usa nè latch nè flip‐flop. 2) Si consideri il circuito della Figura 1 che segue. 

Indicare il comportamento dell'uscita C di Figura 1 mediante una espressione dell'algebra booleana che utilizza solo gli operatori AND, OR e NOT. Indicare il comportamento dell'uscita D di Figura 1 mediante una espressione dell'algebra booleana che utilizza solo gli operatori AND, OR e NOT. 3) Si assuma che nella ALU in figura le porte NOT abbiano un tempo di commutazione di 0,4 nsec, le porte AND e OR di 1 nsec e le porte XOR di 1,3 nsec. Indicare il tempo di commutazione dell'intero circuito (tempo minimo per avere certezza di generare un output valido). 

Indicare il tempo di commutazione dell'intero circuito (tempo minimo per avere certezza di generare un output valido). Indicare il tempo di commutazione (espresso in nanosecondi) di una ALU a 8 bit ottenuta componendo 8 ALU a 1 bit simili all'esercizio precedente, assumendo che il ritardo di propagazione lungo i collegamenti tra le ALU sia al massimo di 0,1 nsec. 4) Si consideri un chip di memoria da 2GB a matrice di selezione nella quale ogni locazione contiene 2 bytes. Quale è il numero minimo di pin che deve contenere la scheda del chip tenendo conto che devono essere presenti anche i segnali di CS, OE e WE, oltre che l'alimentazione e la terra? N.B. Per le domande che seguono, utilizzare un simulatore di circuiti digitali 5) Fornire lo schema di un circuito logico che realizza un codificatore a 2 bit. Tale circuito ha quattro linee di ingresso e due di uscita: in un dato istante, solo una delle linee di ingresso ha valore pari a 1 (le altre sono a 0) e l'uscita indica nel sistema di numerazione dei numeri naturali quale ingresso è a 1 (prima=00, seconda=01, terza=10, quarta=11). 6) Fornire lo schema di un circuito sequenziale che implementa un registro contatore ad 4 bit. Tale circuito ha 2 ingressi, R e C, e 4 uscite. Quando R=1 (C=0) il contenuto del registro viene re‐settato a 0. Quando C=1 (R=0) il contenuto del registro viene incrementato di uno. In ogni istante, il contenuto del registro è presente sulle linee di uscita. Specificare nel circuito il valore di uscita di ciascuna componente quando il registro si trova a 1011 e C=1. Quarto Homework 1) Indicare se le seguenti affermazioni sui BUS reali sono vere o false. 










In un bus sincrono una transazione richiede complessivamente sempre un tempo pari a un multiplo del periodo di clock. Nell'arbitraggio di bus di tipo centralizzato con priorità ogni dispositivo ha un livello di priorità diverso. Nel microprocessore Intel Core i7 ogni core è dotato di due memorie cache dedicate. Il microprocessore Intel Core i7 può comunicare con i dispositivi di I/O solo tramite dei chipset (coprocessori) esterni alla CPU. Nel bus di memoria del microprocessore Intel Core i7 è possibile trasmettere contemporaneamente porzioni di transazioni diverse. Il microprocessore Atmel ATmega168 è dotato di una memoria RAM incorporata. Sul bus PCI è possibile trasmettere fino a 64 bit in parallelo. La comunicazione lungo un bus PCI Express è basata su un meccanismo di pipeline. Sul bus PCI Express la velocità di comunicazione non è fissa ma dipende dal dispositivo che usa il bus. La comunicazione su bus USB è seriale. E' possibile connettere più dispositivi sulla stessa linea USB. 2) Si consideri un bus sincrono che lavora a 50 Mhz con linee separate per dati e indirizzi dotato dei segnali di controllo MREQ, RD e WAIT e una memoria con un tempo di risposta di 55nsec dal momento in cui gli indirizzi sono stabili. 






In condizioni ideali, per quanto tempo deve essere asserito il segnale di WAIT per garantire una lettura in memoria? In condizioni ideali, dopo quanto tempo i dati saranno disponibili presso il master? In condizioni ideali, quanto dura, complessivamente, una transazione di lettura? In condizioni ideali, quanto dura, complessivamente, una transazione di lettura se la frequenza si dimezza? Dopo quanto tempo i dati saranno disponibili presso il master se la frequenza si raddoppia, tenendo conto del fatto che i dati devono essere resi disponibili almeno 2nsec prima della lettura? In condizioni ideali, per quanto tempo deve essere asserito il segnale di WAIT se si lavora a 50 Mhz e usa una memoria più veloce, con un tempo di risposta di 45nsec? Dopo quanto tempo i dati saranno disponibili presso il master se si lavora a 50 Mhz e la memoria ha un tempo di risposta di 60 nsec, tenendo conto del fatto che il master inserisce gli indirizzi con un ritardo di 5nsec al massimo?