Moltiplicatore Sequenziale di Booth, versione 1.0
Note di rilascio del Moltiplicatore Sequenziale di Booth, versione 1.0
Note d'installazione. Guida utente.Note di rilascio.
Il "Moltiplicatore Sequenziale di Booth", realizzato in javascript / jQuery, è composto dalle seguenti funzioni:
start() |
Questa funzione controlla che il formato dell'input sia corretto e, successivamente, inizializza i registri del circuito, crea la tabella e blocca le text box. |
avanti() |
Controlla se gli input sono stati caricati correttamente ed esegue l'operazione in base al valore dei bit meno significativi del registro Q tramite la funzione booth_check cambiando l'immagine, i valori dei bit dell'immagine ed aggiorna la tabella; |
reset() |
Funzione che resetta i valori dei registri, flag, l'immagine del circuito, cancella la vecchia tabella e sblocca le text box. |
init_val() |
Inizializza i valori dei registri con i valori acquisiti dalle textbox. |
conversione(molt) |
Prende come parametro il moltiplicando e restituisce il suo opposto espresso in complemento a due. |
somma(v_moltiplicatore,v_moltiplicando) |
Prende come parametri il moltiplicatore e il moltiplicando ed esegue la somma bit a bit ignorando un eventuale bit di carry proveniente dalla somma dei bit più significativi (bit del segno). |
booth_check(registerQ) |
Prende come parametro il registro Q controllando i due bit meno significativi restituendo il valore che indica l'operazione da effettuare. Restituisce 0 e 3 per effettuare solamente lo shift aritmetico a destra, 1 per somma - shift, 2 per la sottrazione - shift . |
shiftM(registerA,registerQ) shiftA(registerA) |
Queste due funzioni sono complementari ed effettuano lo shift aritmetico a destra trattando il registro A e Q come un unico registro. |
control(val) |
Questa funziona controlla che i valori inseriti nelle textbox appartengano all'alfabeto [0,1]. |
controlfield() |
Controlla che i campi di input non siano vuoti o contengano valori fuori dal range [0-1] (utilizzando la funzione control (val) restituendo il numero corrispondente all'errore. |
checkalert() |
Utilizzando il valore restituito dalla funzione controlfield(), questa funzione segnala eventuali errori in appositi messaggi. |
stampa_circuito() |
Funzione che serve a stampare i valori dei registri negli appositi spazi dell'immagine. |
booth_value_printing() |
Funzione che evidenzia i due bit meno significativi del registro Q dell'immagine che identificano l'operazione da eseguire |
booth_value_printing_reset() |
Funzione che ripristina lo stile originario dei bit evidenziati dalla funzione booth_value_printing(). |
final_value() |
Funzione che, alla fine dell'esecuzione del programma, evidenzia il risultato contenuto registri Q e A escludendo. il bit meno significativo del registro Q e il bit più significativo del registro A. |
reset_bit_color() |
Funzione che resetta lo stile dei bit dell'immagine al loro stato originale. |
Compilazione:
Il seguente progetto, essendo Browser-based, non richiede alcuna compilazione perché sarà il browser stesso ad interpretare il programma.
Sviluppi e collaudi:
Text editor: Notepad++.
Framework: Zurb Foundation 5.0, jQuery
Testato e funzionante su Windows/Linux con browser compatibili (vedi Note di installazione).
Data: 23 Luglio 2014
Simulatori di Architettura degli elaboratori (2013-2014, U. Catania, DMI)