L’interfaccia grafica EduMIPS64 si ispira a quella di WinMIPS64. Infatti, la finestra principale è identica, eccetto che per qualche menù.
La finestra principale di EduMIPS64 è caratterizzata da sei frame, che mostrano i differenti aspetti della simulazione. è inoltre presente una barra di stato, che ha il duplice scopo di mostrare il contenuto delle celle di memoria e dei registri quando vengono selezionati e di notificare all’utente che il simulatore è in esecuzione quando la simulazione è stata avviata ma la modalità verbose non è stata attivata. Maggiori dettagli sono descritti nelle sezioni a seguire.
L’interfaccia grafica è composta da sette finestre, sei delle quali sono visibili per default, mentre una (la finestra di I/O) è nascosta.
La finestra Cicli mostra l’evoluzione del flusso di esecuzione nel tempo, visualizzando in ogni istante quali istruzioni sono nella pipeline, ed in quale stadio si trovano.
La finestra Registri mostra il contenuto di ciascun registro. Mediante un click col tasto sinistro del mouse è possibile vedere il loro valore decimale (con segno) nella barra di stato, mentre con un doppio click verrà aperta una finestra di dialogo che consentirà all’utente di cambiare il valore del registro
La finestra Statistiche mostra alcune statistiche riguardanti l’esecuzione del programma.
La finestra Pipeline mostra lo stato attuale della pipeline, visualizzando ciascuna istruzione con il suo stadio. I differenti colori evidenziano i vari stadi della pipeline stessa.
La finestra Memoria mostra il contenuto delle celle di memoria, insieme alle etichette ed i commenti, tratti dal codice sorgente. Il contenuto delle celle di memoria, come per i registri, può essere modificato con un doppio click, e mediante un singolo click del mouse verrà mostrato il loro valore decimale nella barra di stato. La prima colonna mostra l’indirizzo esadecimale della cella di memoria, e la seconda il valore della cella stessa. Le altre colonne mostrano invece informazioni addizionali provenienti dal codice sorgente.
La finestra Codice visualizza le istruzioni caricate in memoria.. La prima colonna mostra l’indirizzo dell’istruzione, mentre la seconda mostra la rappresentazione esadecimale dell’istruzione stessa. Le altre colonne mostrano infine informazioni addizionali provenienti dal codice sorgente.
La finestra Input/Output fornisce un’interfaccia all’utente per la visualizzazione dell’output creato dai programmi mediante le SYSCALL 4 e 5. Attualmente non è utilizzata per l’input di dati, ed al suo posto viene utilizzata una finestra di dialogo che viene mostrata quando una SYSCALL 3 tenta di leggere dallo standard input, ma future versioni includeranno una casella di testo per l’input.
Le finestre di dialogo sono utilizzate da EduMIPS64 per interagire con l’utente in vari modi. Ecco un riassunto delle più importanti:
Nella finestra di configurazione possono essere configurati vari aspetti del simulatore. La selezione del tasto “OK” causa il salvataggio delle modifiche apportate alla configurazione, mentre il tasto “Cancel” (o la semplice chiusura della finestra) comporta il mancato salvataggiu delle stesse.
La sezione “Impostazioni generali” consente di configurare il forwarding ed il numero di passi da effettuare nella modalità Cicli multipli.
La sezione “Comportamento” permette di abilitare o disabilitare gli avvisi durante la fase di parsing, l’opzione “sincronizza la GUI con la CPU nell’esecuzione multi step”, quando abilitata, sincronizzerà lo stato grafico delle finestre con lo stato interno del simulatore. Ciò implicherà una simulazione più lenta, ma con la possibilità di avere un resoconto grafico esplicito di ciò che sta avvenendo durante la simulazione. L’opzione “intervallo tra i cicli”, qualora sia abilitata, influenzerà il numero di millisecondi che il simulatore dovrà attendere prima di cominciare un nuovo ciclo. Tali opzioni hanno effetto solo quando la simulazione è avviata utilizzando le opzioni “Completa” o “Cicli multipli” dal menu Esegui.
Le ultime due opzioni stabiliscono il comportamento del simulatore quando si verifica un’eccezione sincrona. è importante notare che se le eccezioni sincrone sono mascherate, non succederà nulla, anche se l’opzione “Termina se si verifica un’eccezione sincrona” è abilitata. Se le eccezioni non sono mascherate e tale opzione è abilitata, apparirà una finestra di dialogo, e la simulazione sarà fermata non appena tale finestra verrà chiusa.
L’ultima sezione permette di modificare i colori associati ai diversi stadi della pipeline. Abbastanza inutile, ma carino.
La finestra di dialogo Dinero Frontend consente di avviare un processo DineroIV con il trace file generato internamente mediante l’esecuzione del programma. Nella prima casella di testo c’è il percorso dell’eseguibile DineroIV, e nella seconda devono essere inseriti i parametri opportuni.
La sezione più in basso contiene l’output del processo DineroIV, dal quale è possibile prelevare i dati di cui si necessita.
La finestra di Aiuto contiene tre sezioni con qualche indicazione riguardo l’utilizzo del simulatore. La prima è una breve introduzione ad EduMIPS64, la seconda contiene informazioni riguardanti l’interfaccia grafica e la terza contiene un riassunto delle istruzioni supportate.
Sono disponibili tre opzioni da linea di comando. Esse sono descritte di seguito, con il nome per esteso scritto tra parentesi. Nomi abbreviati e per esteso possono essere utilizzati indifferentemente.
Nella modalità di debugging è disponibile una nuova finestra, la finestra Debug, che mostra il resoconto delle attività interne di EduMIPS64. Tale finestra non è utile per l’utente finale, è stata infatti ideata per poter essere utilizzata dagli sviluppatori di EduMIPS64.
Il file .jar di EduMIPS64 può funzionare sia come file .jar eseguibile che come applet, quindi può essere eseguito in entrambi i modi, che richiedono il Java Runtime Environment, versione 5 o successiva.
Per eseguire il file come applicazione a sè stante, l’eseguibile java deve essere avviato nel seguente modo: java -jar edumips64-version.jar, dove la stringa version deve essere sostituita con la versione attuale del simulatore. Su alcuni sistemi, potrebbe essere possibile eseguire il programma semplicemente con un click sul file .jar.
Per eseguire il file come applet deve essere utilizzato il tag <applet>. Il sito web di EduMIPS64 presenta una pagina già contenente l’applet, in modo tale che chiunque possa eseguire il programma senza il problema dell’utilizzo da linea di comando.