Esperienza Esame CE2 Mazzocca

Daniele

Membro
15 Febbraio 2015
7
1
3
- Prof: Mazzocca

- Data: 08/07/2021

- Materiale utilizzato: Appunti del corso di Cennamo/Altobelli (prof.ssa Casola), materiale del prof.Mazzocca disponibile su Teams/sulla sua pagina docenti unina. Il prof.Mazzocca mette a disposizione dei pdf sia scritti da lui (credo) sia altri pdf nella cartella "appunti studenti". Al 99% sia il materiale di mazzocca che della casola coincidono.
Personalmente ho seguito il corso di CE2 con la prof.ssa Casola nel 2018/2019 e ho sostenuto l'esame solo adesso con il prof.Mazzocca a causa del cambio del docente. Come dicevo, i programmi sono molto simili anche se ho notato alcune differenze. Anche se a ricevimento dal prof.Mazzocca mi è stato detto che i due programmi erano uguali al 100%, in realtà ho saputo che la parte del MIC1-2 ed IJVM con relativa microprogrammazione (trattata dalla casola ed a cui lei teneva particolarmente) non è stata trattata dal prof. mazzocca perchè già fatta nel corso di ASE sempre da mazzocca. Al contrario, mazzocca ci tiene molto alla parte sul MIPS, arrivando anche a chiedere degli esempi di programmazione in assembler MIPS. Altre differenze che ho notato sono state relative alla parte di gerarchie di memoria: mazzocca ha trattato anche la virtual cache, cosa che non avevo mai sentito nominare nel corso della casola. Oltre agli argomenti veri e propri, potrebbero anche esserci delle piccole differenze in come gli argomenti sono stati trattati/quanto approfonditi. In sostanza, anche se il concetto generale è sempre quello, possono esserci tante piccole differenze negli argomenti, quindi fate attenzione se avete seguito come me tempo fa.

- Corso: Il corso da questo anno accademico è passato da 6 CFU a 9 CFU ed ha cambiato nome in Computer System Design. Di base è sempre lo stesso corso: studio del Motorola 68000, studio di periferiche PIA, USART, DMA e PIC, progettazione di driver per il 68k, sistemi pipelined, gerarchie di memoria, sistemi multiprocessori e multicomputer, processore MIPS. Non ho seguito la versione da 9 CFU ma oltre a questi argomenti dovrebbe esserci lo studio del processore ARM e lo sviluppo di un progetto su una board (non so con quale modalità).

- Esame: L'esame consiste nello sviluppare un driver in assembler per il Motorola 68000 mettendo in evidenza, oltre al codice, anche l'architettura del sistema e la mappa della memoria. Per questa sessione il prof. ha dato la possibilità di dividere lo scritto e l'orale: in questo caso l'orale avviene alla successiva seduta e come "pegno" bisogna portare la versione simulata in ASIM del driver d'esame svolto in classe. Il tempo a disposizione in questo caso è stato di 2h30. Qui (https://www.ingegnerinforma.it/forum/resources/esame-ce2-22-giugno-2021.2036/) trovate la traccia dello scritto del 22 Giugno 2021 con relativo svolgimento del compito svolto da me che mi è stato valutato con A-.
Per quanto riguarda la parte orale che ho svolto nella seduta successiva, c'erano sia mazzocca che casola. Il prof.Mazzocca ha scelto (dato che eravamo in 4 a dover sostenere l'esame di CE2 e non di CSD) di farci svolgere la parte orale con la prof.ssa Casola (con la quale avevamo anche seguito il corso). La prof.ssa Casola è davvero molto tranquilla e cerca di lasciarvi parlare. Mi ha chiesto di farle vedere la simulazione in ASIM del driver con relativa spiegazione e mi ha chiesto nel dettaglio architettura e funzionamento della PIA (registri interni, come si indirizzano i vari registri della PIA, come funziona l'handshaking). Fatto questo, ha parlato con il prof.Mazzocca che ha voluto farmi un altra domanda (lo ha fatto anche con gli altri ragazzi): mazzocca però era impegnato con CSD e mi ha fatto aspettare, allora la Casola ha deciso di farmi lei un'altra domanda chiedendomi la tecnica dell'internal forwarding nei sistemi pipelined. Mentre rispondevo, si avvicina il prof.Mazzocca che mi ascolta per 10 secondi, mi interrompe e mi chiede qual è l'assunzione su cui si basa questa tecnica. Non ne avevo idea (ragionandoci forse ci si poteva arrivare, ma così a bruciapelo mi ha fregato), la risposta era che si usa l'indirizzamento indiretto. Da qui ha aperto una mega parentesi su indirizzamento diretto/indiretto in cui credo di essermela cavata abbastanza partendo poi con un pippone che queste sono le cose che ci differenziano dagli studenti triennali cioè capire bene le cose (ed è andato avanti per un po' con un monologo su questo) ed alla fine mi ha proposto 28.

- Difficoltà: L'esame è molto tosto, anche se è di 6 CFU (ora 9). La teoria è molta, ogni argomento dovrebbe essere sviscerato fino in fondo per essere ben compreso perchè delle volte magari non basta conoscere solo come funziona una tecnica, bisogna capire bene quale è la logica di fondo. Imparare e capire per bene tutti i dispositivi visti al corso vi toglierà parecchio tempo, ci sono molte cose da ricordare anche se bene o male le configurazioni che alla fine si usano sono sempre le stesse. ASIM è un programma "difficile": solo usandolo riuscirete e capire bene come funziona perchè delle volte vi restituisce degli errori che non sapete risolvere. Possono essere errori del file di configurazione che avete generato, errori nella scrittura del file di memoria, ... ASIM non vi aiuta tanto nel capirlo, siete voi che con l'esperienza e con la simulazione step-by-step dovete cercare di capire dove sta il problema e come risolverlo. Nel mio caso questa è una cosa che mi ha tolto parecchio tempo ed in più, se non amate il mondo embedded ed avete odiato ASE, proabilmente odierete anche questo corso. Il mio consiglio è di iniziare studiando tutta la parte introduttiva sul M68k, i modi di indirizzamento, ecc. per poi passare ai vari dispositivi in modo tale che potete iniziare ad esercitarvi da subito per lo scritto (che secondo me è la parte che toglie più tempo).

- Extra: Qui (https://www.ingegnerinforma.it/forum/resources/tracce-svolgimenti-ce2-mazzocca.2037/) potete trovare delle prove sempre svolte da me in ASIM. Dovrebbero funzionare tutte (o quasi, dato che le ho svolte nel corso del tempo).
 

Daniele

Membro
15 Febbraio 2015
7
1
3
Come dicevo nel post, le differenze principali che ho trovato sono state la parte del MIC1-2 ed IJVM che mi pare di aver capito che Mazzocca non ha trattato, la parte del MIPS che Mazzocca invece ha trattato molto nel dettaglio (non è fatta male da Cennamo/Altobelli, ma ti consiglio di dare una lettura anche al materiale di Mazzocca e vederti bene gli esempi. All'orale potrebbe chiederti come implementeresti in assembly MIPS un codice che ti dice lui) ed infine la parte sulle memorie. Su quest'ultimo argomento, dal punto di vista teorico Cennamo/Altobelli è comunque valido, quello che manca completamente è la Virtual Cache e la parte "esercitativa". Ad esempio Mazzocca ti può chiedere come è fatta una memoria set associative con grado di grado di associatività 4, numero di settori = 4 ed indirizzo 32 bit. Gli appunti di Cennamo/Altobelli dicono qualcosa in merito ma non li ho trovati pienamente esaustivi. Ti consiglio di andare a recuperare le lezioni di Mazzocca da Teams (se ancora disponibili) e vedere questa parte da li.
 

Daniele

Membro
15 Febbraio 2015
7
1
3
Per la parte teorica si, per la parte pratica no. Ti consiglio di consultare il materiale fornito da mazzocca, ci sono dei pdf che spiegano in dettaglio le varie configurazioni fatte vedere a lezione
 

Seguici su Facebook