Your SlideShare is downloading. ×
Progetto MIPS/SPIM AA 2010-2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Progetto MIPS/SPIM AA 2010-2011

995

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
995
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Progetto MIPS/SPIMDescrizioneQuesta tipologia di progetto consiste in  Sviluppare un programma in linguaggio MIPS assembly  Simulare il programma in QtSPIM (o PCSPIM)  Preparare una relazione del progetto (max 20 pagine)Inoltre,  Si può presentare il progetto individualmente o in coppie  Al momento dell’esame, occorre presentare una copia cartacea della relazione e una copia digitale (CD o DVD, comprensiva di codice)Infine,  Lo studente potrà scegliere tra i progetti presenti in questo documento, oppure proporre progetti differenti. Nel secondo caso, il Professore valuterà la coerenza e la fattibilità della proposta.  In ogni caso, il progetto scelto va comunicato al Prof. Leonardo Pasini via mail (leonardo.pasini@unicam.it).Nella pagina seguente, sono elencati alcuni progetti disponibili e un template esemplificativo per larelazione.
  • 2. Lista dei progetti disponibili Progetto 1 - PrimalitàImplementare una procedura in MIPS per calcolare e stampare i primi 100 numeri primi.Un naturale n>1 è detto primo se è divisibile solo per sè stesso e per 1.Suggerimento:Implementate due routine:  test_prime (n): ritorna 1 se n è primo; 0 altrimenti  main (): cicla sui naturali, testando se ogni numero è primo. Stampa i primi 100 numeri primi e si ferma. Progetto 2 – Calcolo del pi-grecoImplementare una procedura in MIPS per calcolare e stampare un valore approssimato del pi-greco.Il metodo da utilizzare è quello del prodotto di Wallis: (http://it.wikipedia.org/wiki/Prodotto_di_Wallis). Prodotto di Wallis:Suggerimenti:  Trasformare l’espressione del prodotto di Wallis in modo tale da minimizzare le operazioni aritmetiche  Basta un numero limitato di iterazioni. 100 sono sufficienti.  Naturalmente avrete bisogno di utilizzare i registri floating-point
  • 3. Progetto 3 – Bubble sortImplementare una procedura in MIPS che esegue l’algoritmo di ordinamento noto come Bubble sort.Il programma dovrà prendere in input un’array di interi e stampare gli elementi ordinati secondol’algoritmo indicato.All’indirizzo http://it.wikipedia.org/wiki/Bubble_sort , potete trovare una descrizione più dettagliatadell’algoritmo, mentre http://it.wikibooks.org/wiki/Implementazioni_di_algoritmi/Bubble_sort mostraalcune implementazioni più ad alto livello.Bubble sort - codice Java: public void bubbleSort(int[] x) { int temp; int j = x.length-1; while(j>0) { for(int i=0; i<j; i++) { //controllo valori adiacenti; scambio se il corrente è > del successivo if(x[i]>x[i+1]){ //esegue lo scambio temp=x[i]; x[i]=x[i+1]; x[i+1]=temp; } } j--; } }Suggerimenti:  L’array di interi in input può avere lunghezza fissa o variabile Progetto 4 – Macchina del caffèImplementare una procedura in MIPS che simuli una macchina del caffè. Si richiedono le seguentiinterazioni utente-macchina:  La macchina può erogare coffee o tea.  L’utente può inserire monete da 5, 10, 20, 50, 100, o 200 centesimi.  I prezzi delle bevande sono: coffee=35 e tea=40.  Ad ogni inserimento, il display stampa il credito corrente  In ogni momento, l’utente può chiedere l’erogazione della bevanda specificando in input “coffee” o “tea”  Se il credito non è sufficiente per la bevanda, il display stampa l’importo rimanente da inserire per la bevanda richiesta  Una volta inserito un importo adeguato e scelta la bevanda, il display deve indicare che sta erogando la bevuta  In qualsiasi momento, l’utente può richiedere l’importo inserito (o il resto) specificando “quit”. In tal caso, il display stampa l’importo dovuto e la macchina si spegne.
  • 4. Progetto 5 – Hex to DecImplementare una procedura in MIPS che effettua la conversione di una stringa esadecimale passata ininput in un numero decimale. Si considerano interi esadecimali non segnati. Il programma dovrà stampareil numero decimale convertito. Progetto 6 – Dec to HexImplementare una procedura in MIPS che effettua la conversione di un numero decimale passato in inputin una stringa esadecimale. Si considerano interi non segnati.Suggerimenti:  Si può utilizzare il metodo delle divisioni successive
  • 5. NOME PROGETTO Progetto di Architettura degli Elaboratori – Prof. Leonardo Pasini Corso di Laurea in Informatica – Scuola di Scienze e Tecnologie – Università di Camerino Anno Accademico: 2010/2011Candidati:Candidato 1 – Matricola n. 1Candidato 2 – Matricola n. 2...
  • 6. Specifica del problemaDescrivere il problema da risolvere. La lunghezza di questa parte dipende naturalmente dal progetto scelto.Descrizione dell’algoritmoDescrivere in modo dettagliato e più formale l’algoritmo da implementare. In questa parte, si consiglia diinserire lo pseudocodice dell’algoritmo e la sua codifica in un linguaggio ad alto livello a scelta (C, Java, ...).Si spieghino e si giustifichino in modo dettagliato le scelte adottate.ImplementazioneIn questa parte va aggiunto il codice MIPS assembly implementato e commentato in modo chiaro edesauriente. Sono consigliati commenti all’interno del codice, e commenti più ampi nella relazione.SimulazioneIn questa sezione andranno gli screenshot commentati di una simulazione-tipo.

×