PORTFOLIO

Elenco dei progetti (più importanti) che ho realizzato


CATEGORIE DISPONIBILI

>> Scegliere una categoria fra le seguenti: <<

Vari
 

Due sort contemporanei - 1999

Progetto realizzato per sostenere l'esame di Sistemi 2 (Sistemi per l'elaborazione dell'informazione 2). Un po' per curiosità un po' per dimostrare di saper programmare in Ada in ambiente multithreading ho realizzato questo singolare progetto: su un vettore di numeri interi applico contemporaneamente l'ordinamento con il quicksort e il bubblesort. Non è stato banale come pensavo, dato che i due algoritmi, seppure conseguano lo stesso scopo, lo fanno in maniera diversa e quindi in parte l'azione di uno intralcia i passi dell'altro. Ad ogni modo l'array viene correttamente ordinato... e non in metà tempo ;).

Oltre ai thread dei 2 algoritmi di ordinamento ce ne sono altri per la corretta gestione dell'array, inoltre ce n'è uno che mostra che passo viene effettuato dal sort attivo in quel momento e il possesso del processore da parte dei due algoritmi di sort, ecc.

Strumenti usati: Ada

 


Simulazione microarchitettura VIACARD - 1997

Secondo progetto realizzato per sostenere l'esame di Sistemi 1 (Sistemi per l'elaborazione dell'informazione 1). Dopo aver studiato il problema dei dati gestiti dalla VIACARD, sono stati definiti gli op-code delle istruzioni assembler di un ipotetico processore del quale sono stati definiti formato e tipologia di registri. E' stata così definita l'architettura del dispositivo che legge la viacard e ne è stato costruito un simulatore in C, mostrando graficamente il flusso delle informazioni nelle varie parti fisiche dell'architettura ad ogni ciclo di clock in base alle istruzioni assembler eseguite per aggiornare i valori della viacard in base al viaggio effettuato.
Il programma legge le istruzioni in linguaggio assembly da un file ASCII e mostra la corrispondente animazione del funzionamento dell'architettura sotto MS-DOS durante l'esecuzione delle istruzioni (comprendente ogni dettaglio come l'aggiornamento dei flag di stato, l'incremento del program counter, il caricamento delle istruzioni nell'MIR, ecc.).

Il progetto è stato svolto in gruppo, nel quale ho svolto un ruolo determinante alla riuscita del progetto.

Strumenti usati: linguaggio C con Visual C++ 5.0