LATEST NEWS
- Prossimi Esami (prenotatevi su Infostud)
- fine marzo 2018 appello straordinario riservato a fuori corso, lavoratori e laureandi (aule e date da stabilire)
- Complimenti agli studenti che hanno ottimizzato meglio gli homework, siete dei "compilatori ottimizzanti"!
- Simone Primarosa, per tutti e 4 gli homework
- Giuseppe Mennoia, per gli homework 2, 3, e 4
- Flavia Bonanni, per il 1° homework
- NOTA nella verbalizzazione degli esami (che devo chiudere e firmare digitalmente) uso questo schema:
- RINUNCIA: ha svolto almeno parte dell'esame ma deve completare il resto in un appello successivo
- ASSENTE: non ha partecipato ad alcuna prova d'esame in questo appello
- BOCCIATO: non lo uso
- chi deve completare l'esame (le prove superate restano valide) si iscriva su infostud al prossimo appello
Corso di Architetture degli Elaboratori - AA 2016-17 - canale MZ
- Docente: AndreaSterbini
- Ricevimento studenti: presso lo studio 314b, Via Salaria 113, terzo piano (Dip. di Informatica)
- Esercitazioni ASM: Alessio Mecca
- Lezioni:
- martedì dalle 10 alle 13 (lezione + esercitazione)
- venerdì dalle 10 alle 12 (lezione)
- Aula:
Libro di testo
Altri appunti (che in genere uso per l'esame orale)
- A lezione ho svolto un nuovo tipo di esercizio con la cache, in cui gli indirizzi che la CPU chiede sono quelli generati da un pezzo di programma.
- Si considera una CPU ad un ciclo di clock, più semplice, in cui ogni istruzione genera 1 o 2 accessi alla memoria
- Fetch della istruzione
- solo per le istruzioni lw, sw e simili (lb,sb,lh,sh) un accesso all'indirizzo del dato letto o scritto
- Una volta individuata tutta la sequenza di accessi il resto dell'esercizio è come un normale esercizio su cache degli anni passati
- Per chi non era a lezione allego un esempio di esercizio svolto in cui si copia un vettore di 4 elementi in un secondo vettore
Prova scritta di metà corso ("esonero")
A metà corso verrà svolto un compito scritto di teoria sulla prima parte del corso (fino alla CPU ad un colpo di clock compresa + esercizio ASM su carta su vettori o stringhe o matrici)
Chi supera l'"esonero" può svolgere la sola seconda metà dell'esame scritto
Il compito di esonero si terrà nei giorni subito prima o subito dopo le vacanze di Pasqua.
Modalità di valutazione
Il voto finale è formato da:
- fino a 2 punti aggiuntivi per lo svolgimento corretto dei compiti per casa (opzionale)
- una prova pratica di assembler da svolgere in laboratorio in 2 ore, in cui dovete realizzare un programma ricorsivo funzionante (se ricorsivo vale 30, se iterativo vale 18)
- un esame scritto di teoria/esercizi
- un esame orale di teoria
- si può accedere all'orale solo se si sono superate le due prove scritta/pratica
- è permesso svolgere le 3 prove (scritto, ASM, orale) in sessioni diverse
Esercitazioni di Assembly e compiti per casa (homeworks)
- usiamo il simulatore MARS
- gira su qualsiasi OS che abbia Java
- simula il processore MIPS di cui studiamo la progettazione nel corso
- chi copia vedrà il proprio compito annullato
Risultati degli esami scritti
Testi degli esami scritti
Info sugli anni precedenti
Diario delle lezioni
- mar 21/2: Introduzione al corso, cenni storici, la IAS machine, esecuzione delle istruzioni sulla IAS machine, CISC vs MIPS
- ven 24/2: Modi di indirizzamento degli argomenti delle istruzioni, formato delle istruzioni MIPS
- mar 28/2: Struttura del MIPS, registri e formato delle istruzioni, organizzazione della memoria. Esercitazione ASM
- ven 3/3: Vettori e matrici
- mar 7/3: esercitazione su funzioni non ricorsive
- ven 10/3: funzioni ricorsive, MCD di Euclide per sottrazioni, Fibonacci esponenziale e lineare
- mar 14/3: trasformazione da funzioni ricorsive semplici a iterazione e viceversa, esercitazione
- ven 17/3: CPU MIPS ad un colpo di clock
- mar 21/3: CPU a 1 colpo di clock, tempi, aggiunta di J, anticipazione di beq, esercitazione
- ven 24/3: introduzione alla pipeline, data hazard, control hazard, forwarding e stalli
- mar 28/3: realizzazione della pipeline
- ven 31/4: Hazard sui dati e sul controllo, forwarding ed unità del forwarding in ID e EXE
- mar 4/4: unità di gestione stalli, esercizi di esonero, esercitazione assembly
- ven 7/4: esercizi di esonero
- mar 11/4: compito scritto - "esonero"
- ven 14/4: vacanze pasquali
- mar 18/4: vacanze pasquali
- ven 21/4: soluzioni dei compiti di esonero
- mar 25/4: Festa della Liberazione
- ven 28/4: parallelizzazione statica, eccezioni
- mar 2/5: parallelizzazione dinamica, Esercitazione su mergesort ricorsivo
- ven 5/4: cache direct mapped e fully associative
- mar 9/5: cache multilivello, Esercitazione su liste e alberi
- ven 12/5: Cache multiple e protocollo di snooping, Memoria Virtuale
- mar 16/5: Cache + Memoria virtuale, Esercitazioni
- ven 19/5: Esercitazioni di esame
- lun 23/5: Esercitazioni di esame
- ven 26/5: Esercitazioni di esame
Come far girare Mars su W10 con uno schermo 4k
Seguite la risposta su
http://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display
Ovvero
- installate Resource Tuner
- copiate il file "C:\ProgramData\Oracle\Java\javapath\javaw" sul desktop in modo da poterlo modificare
- aprite il file con Resource Tuner e aprite la risorsa Manifest\Neutral
- cambiate la riga
<dpiAware>true</dpiAware>
in
<dpiAware>false</dpiAware>
- salvate il file col nome javaw.nodpi e copiatelo nella directory da cui l'avete preso
- aprite il file Mars.jar usando javaw.nodpi oppure usate il comando
- javaw.nodpi -jar Mars.jar
Slides utili
ATTENZIONE: le slides di due anni fa sono solo appunti. NON SONO SUFFICIENTI A SUPERARE L'ORALE CHE È BASATO SUL LIBRO