Simulatore di una ALU a 8 bit
Architettura degli Elaboratori
Prof. Scollo Giuseppe
Anno Accademico : 2010 / 11
Realizzato da Lentini Salvatore e Nicotra Gabriele
Versione Software : 1.0
Flash
JAVA
In figura la realizzazione di una ALU a 8 bit utilizzando in serie 8 ALU a 1 bit.
Nota che per settare le porte (F0,F1,INVA,ENA,ENB) delle 8 ALU tutte allo stesso modo , esse sono collegate ai segmenti che dovranno fornire in ingresso gli appositi valori . A e B ovviamente essendo gli input generali , variano al variare dei valori in ingresso. Partendo da sinistra , il riporto in uscita di una ALU è il riporto in ingresso di quella successiva.
Progetto Flash
Requisiti fondamentali
Per poter visualizzare il simulatore bisogna aver installato sul proprio sistema l'ultima versione di Adobe Flash Player ( http://www.adobe.com/support/flashplayer/downloads.html )
Per poter visualizzare la Demo in java bisogna aver installata la JVM.
Materiale utilizzato per la realizzazione del software
Per la realizzazione del progetto in Flash è stato utilizzato l'applicativo Adobe Flash CS3 utilizzando ActionScript 3 .
- Adobe Flash CS3 è perfettamente funzionante su windows
- Su sistemi linux , per poter installare il prodotto bisognerà prima aver installato l'applicativo Wine ( http://www.winehq.org/ ) per poter "emulare" i programmi sotto Windows.
Per l'editing delle immagini è stato utilizzato l'applicativo Adobe Fireworks CS3 .
- Lo stesso ragionamento vale anche per Adobe Fireworks CS3
Descrizione del prodotto
Appena avvierete il prodoto , vi verrà chiesto di scegliere la lingua desiderata.
Dopo questa scelta , saranno visibili due aree :
- Simulazione
- Unità Aritmetica Logica
Area Simulazione
L'area simulazione , è composta da una schermata che a colpo d'occhio potrà sembrare molto complessa , ma non lo è !
In alto troviamo il nostro circuito composto dalle 8 ALU a 1 bit .
In basso a sinistra troviamo i campi di input in cui dovremo andare a mettere due stringa binarie di soli 8 bit (una per A e una per B) , scegliere la funzione da calcolare (F0F1) , scegliere il settaggio delle porte INVA , ENA , ENB e Carry Input ovvero il riporto in ingresso. A fianco dell'area di Input troviamo il bottone per avviare la simulazione (un bottone rosso). Esso controlla che l'input sia corretto e subito dopo avvia il calcolo .
In basso a sinistra troviamo un'area Notifiche in cui verranno inviati messaggi all'utente su input non corretti o il corretto avvio della simulazione.
In basso a destra troviamo l'area di Output in cui verrà stampata la stringa a 8 bit in uscita dal circuito , troviamo il Carry Output ovvero il riporto in uscita nel caso la funzione da calcolare sia una somma aritmetica (F0F1:11) . Nel pannello Avanzate troviamo la " cronologia riporti " ovvero tutti i riporti che si sono avuti durante una somma aritmetica e una TextArea in cui verrà visualizzato lo stato di tutte le porte di ogni singola ALU durante il processo di calcolo.
Alla destra dell'output del circuito troviamo i bottoni A e B il cui funzionamento si basa sull'idea di portare il valore generato dall'output in uno dei due input (infatti se si preme A il valore dell'output spunterà nella TextBox di A e viceversa con B).
Il bottone Schema Circuitale ha lo scopo di fornire una panoramica del circuito , portando l'utente a confrontare i risultati avuti dalla lista degli stati con il grafico avuto da quest'ultimo.(Se non si ha un'ottima visualizzazione dello schema , si tenga premuto CTRL e poi con la rotellina del mouse ingrandire a proprio piacimento)
Area Aritmetica Logico Matematica
Quest'area ha lo scopo di fornire le conoscenze necessarie all'utente che non sa come è fatta una ALU .
Cliccando sul "Professore" si andrà avanti con la lezione , cliccando sul "Tavolo " si ritorna alla pagina precedente mentre cliccando sul "Pavimento" si ritorna al menù principale.
Progetto in Java
Questa è una demo in java di un simulatore di una ALU a 8 bit.
"E' una demo perchè rispetto al simulatore grafico proposto sopra , questa è solo in versione testuale."
Anche in questo caso avremo i soliti 7 input (A,B,F0,F1,INVA,ENA,ENB,Carry Input) e un output generale con riporto in uscita (oltre che comandi avanzati (cronologia di riporto in uscita , continuo della simulazione con gli stessi dati ma funzione cambiata , continuo della simulazione con dati diversi)).
Per la realizzazione della Demo è stato utilizzato l'ambiente di sviluppo Geany.
Istruzioni per far partire il prodotto in Flash
Per avviare la distribuzione in flash bisognerà semplicemente cliccare su Progetto.html dopo aver scompattato il pacchetto.
Istruzioni per far partire la Demo
MS Windows.
1 . Scaricate il pacchetto Demo
2. Scompattatelo utilizzando WinZip o WinRar
3. Andate sul terminale (windows : Prompt dei Comandi ) e portatevi dentro la cartella della Demo.
Nel mio caso , ho scaricato il pacchetto e scompattato sul Desktop . Scrivo dir per vedere le directory e cd per entrare in una di esse .
C:\User\Salvo> cd desktop //portiamoci sul desktop
C:\User\Salvo\Desktop> cd DEMO_JAVA // siamo nella cartella DEMO_JAVA
4. Una volta dentro , date da tastiera (sul prompt) java ALU
C:\User\Salvo\Desktop\DEMO_JAVA> java ALU // esecuzione della demo
5. Buona simulazione!
GNU\ Linux e Macintosh
Scompattare l'archivio (.zip) , da terminale spostarsi nella cartella di riferimento e digitare "java ALU"
Per consigli , commenti e critiche sui prodotti , scrivete a Lentini Salvatore o a Nicotra Gabriele.
salvatorelentini91@gmail.com \ www.salvolentini.it
gedyz@hotmail.it