RISPOSTE DOMANDE TEORIA • Descrivere la funzionalità della memoria RAM, le sue caratteristiche, e le principali differenze rispetto ad un hard-disk allo stato solido (SSD). MEMORIA RAM: volatile (una volta spento il pc i dati si eliminano), veloce (circa 10ns), interna, abbastanza capiente (4-8-16 GB), più costosa, la CPU può accedere direttamente SSD: permanente, lenta (circa 10ms), esterna, molto capiente (1-2 TB), più economica • Qual è la differenza tra un bus seriale ed uno parallelo? Fare un esempio di bus seriale e di bus parallelo. Un bus seriale è composto da un filo solo (esempio: USB) Un bus parallelo è composto da una serie di fili. • Per quale motivo la velocità di clock nelle CPU è andata sempre crescendo negli ultimi quarant'anni? Perché negli ultimi anni questa crescita si è fortemente ridotta? La velocità di clock nelle CPU è sempre andata aumentando per costruire sistemi di elaborazione a maggiori prestazioni. Questa crescita si è fortemente ridotta per motivi fisici e tecnologici. • Descrivere l'unità di controllo, indicando da quali blocchi è composta e quali sono le loro funzioni. PC program counter: indirizzo della prossima istruzione da eseguire IR instruction register: codifica binaria dell’istruzione da eseguire Logica di decodifica, dal contenuto dell’IR determina i comandi da dare alla UO ed alla memoria • Descrivere le funzioni e le caratteristiche dei bus presenti in un tipico sistema di elaborazione. In un sistema di elaborazione abbiamo 3 tipi di bus: Address Bus: indica gli indirizzi di memoria da cui leggere o scrivere un dato (l’indirizzo è impostato dall’Unità di controllo); Data Bus contiene il dato letto dalla memoria o il dato da scrivere in memoria, può essere impostato dall’Unità operativa (in caso di scrittura) o dalla RAM (in caso di lettura); Control Bus contiene una serie di segnali di “comando”, la tempistica e lo stato delle operazioni. • Descrivere il concetto di gerarchia della memoria nelle moderne architetture di elaborazione. Nell’elaboratore abbiamo più memorie on caratteristiche diverse: Più veloci (più costose) ma meno capienti, più vicine alla CPU; Meno veloci (meno costose) ma più capienti, più lontane dalla CPU. Registri, Cache L1, Cache L2, RAM, memoria di massa (SSD) Le memorie interne sono volatili; al contrario la memoria di massa non è volatile. • Illustrare quali sono le principali unità del microprocessore. Le principali unità del microprocessore sono la CPU, a sua volta divisa in Unità di controllo e Unità operativa, nell’Unità operativa abbiamo almeno 3 blocchi che sono: Registri, ALU, FPU. Inoltre c’è anche la memoria Cache (esterna alla CPU ma comunque all’interno del microprocessore). • Descrivere il ruolo di ALU e FPU all'interno del processore. Il ruolo della FPU in una CPU è quello di contenere circuiti logici in grado di svolgere le operazioni aritmetiche e matematiche utilizzando numeri rappresentati in virgola mobile. Il ruolo della ALU è lo stesso della FPU ma svolge i calcoli fra numeri interi. • Spiegare perché i computer attuali sono quasi tutti a 64 bit. Cosa significa "a 64 bit"? I computer attuali sono quasi tutti a 64 bit perché 64 bit è un compromesso tra la capacità di calcolo e il costo realizzativo. “64 bit” rappresenta la dimensione dei dati su cui lavora la CPU: la dimensione dei registri, la dimensione dell’ALU, parallelismo della memoria, dimensione del Dbus. 64 bit è la dimensione naturale dei dati trattati. • Che cosa sono e qual è la funzione dei registri di una CPU? A cosa serve il registro dei flag? I registri sono dei piccolissimi blocchi di memoria all’interno dell’unità operativa della CPU, servono a memorizzare i dati su cui la ALU deve lavorare, e (a memorizzare) i risultati ottenuti dalla ALU stessa (lo stesso vale per la FPU); possono contenere anche istruzioni. Il registro dei flag memorizza una serie di “bit” singoli, ciascuno dei quali indica un aspetto dell’ultima operazione eseguita dall’ALU/FPU. Alcuni flag significativi sono: Zero, Segno, Overflow, Carry. • Spiegare brevemente cos’è il clock di un sistema e qual è la sua unità di misura Il clock è un segnale periodico presente all’interno dell’elaboratore, serve a temporizzare le operazioni interne alla CPU. Ogni operazione dell’elaboratore avviene in corrispondenza di un segnale di clock. E’ caratterizzato da un periodo T (espresso in nanosecondi) o da una frequenza f (espressa in Hz); T = 1/f • Qual è il numero minimo di bit di Address bus necessario per indirizzare una memoria da 4 megabyte con un parallelismo di 16 bit? • Data una memoria RAM di dimensione 64Kbyte e con un Address Bus su 12 bit, se ne calcoli la dimensioni di ogni cella. • Descrivere come si compone il ciclo macchina di un elaboratore. Il ciclo macchine di un elaboratore si compone di 3 fasi che si ripetono all’infinito: Fetch, Decode, Execute. Nella fase di Fetch: la CPU legge dalla memoria RAM il codice della prossima istruzione da eseguire (l’indirizzo della cella di memoria è nel PC), il codice dell’istruzione viene salvato nell’IR. Nella fase di Decode: sulla base del contenuto dell’IR si definiscono i comandi che l’UC invierà a UO. Nella fase di Execute: la UA esegue i comandi che sono stati decisi nella fase di Decode.