Cos'è

Il pd32 è un Processore Didattico utilizzato in alcune universitá nei corsi di calcolatori elettronici, architettura degli elaboratori e simili. In effetti non esiste, ma la sua struttura, set di istruzioni e protocolli di interfacciamento con le periferiche sono perfettamente definiti. Il testo "il processore PD32" di Villani, Cioffi, Jorno descrive in maniera approfondita sia il processore sia l'ambiente di simulazione fornito con il libro.

Questo progetto è nato con l'intento di creare un nuovo simulatore del pd32, scritto dagli studenti e conseguentemente più vicino alle necessità di chi si trova ad usare il vecchio programma a dieci anni dalla sua ultima compilazione (per processori 80286).

Dissimulator è scritto interamente in Java e le sue caratteristiche principali sono:

Software

Simulatore: la parte principale, il simulatore del pd32

MicroOpGen: uno strumento per generare le microistruzioni. Nato come modulo di Dissimulator, ne e' stata sviluppata una versione più evoluta. E' disponibile anche un tutorial per risolvere gli esercizi sulle microistruzioni dei compiti d'esame.

Il progetto è OpenSource e aperto a chiunque voglia partecipare.

Screenshot

Uno screenshot dell'editor Uno screenshot della simulazione

Seven years later

I'm writing these lines in English because, in the last few years, the lectures of the erstwhile Calcolatori Elettronici are held in English. This website is getting pretty old, and I must apologise since the rest of it is in Italian, and is not going to change any soon.

I started this project in 2003 or 2004, I can't even remember, although I'm somewhat sure that I still have the first email I wrote on the subject, somewhere. My absolutely absurd initial intention was to develop a simulator of "abstract machines" with some simple and generic language, able to emulate most of the processors the first of which was going to be PD32. The initial name I gave to the project was just pd32ide, since this was what it was meant to be, but then thinking about this "simulator-of-everything" idea this old line occurred to me, coming up from somewhere back and hidden deep in my school memories: "cuius rei lubet simulator ac dissimulator". Capable of pretending and dissembling whatever he wished was a perfect description of what I had in mind, especially the dissembling part, hence Dissimulator. Later on, when I had to use the name on my Bachelor thesis, someone brought up that the name didn't look serious enough and asked me to change it. I had no intention to do it, and tried to advocate the noble Latin origin. At this point Paolo Romano had the most brilliant idea: let's add a dash, and make it DIS-simulator, so that the name might recall the department acronym. I still use and prefer the original un-dashed name, but you might find it mentioned that way here and there on the web, and this is where it came from.

At the beginning I naively thought that an interesting software project would draw the attention of my fellow students, but that turned out not to be the case. PD32 isn't such an exciting subject, but on the software development part this project has been really useful, helping me get the hang of a lot of topics either related or unrelated to Java. Anyway, I dedicated to this little piece of code a remarkable amount of effort and chunk of my spare time. I'm glad it has been downloaded thousands of times and used in different classes for several years.

All good things came to an end though. I graduated a few years ago and began to have no spare time anymore, at least not for programming. Luckily I had left the code and this website in a decent state, so you'll find that the documentation in the javadoc up to the version 1.1 is up-to-date, while lacks some parts in the code I developed later. A few features that I started implemeting will most probably never be done, so I finally gave up the idea and decided to release the version 2.0 as it is now. I'm always available to fix bugs though, so should you find something weird in the behavior please just let me know.

news

1/7/2010

Rilasciato Dissimulator 2
Mi sono deciso a rimettere mano a queste pagine per caricare la versione con le ultime modifiche e qualche bugfix. Ringrazio gli studenti di CE 1 e 2 che hanno contribuito segnalando i bug e testando il codice in questi anni.

23/6/2007

Rilasciato Dissimulator 2 Beta
con le periferiche per il corso di CE2

30/5/2006

Rilasciato Dissimulator 1.1

Autori

Matteo Leonetti

leonetti _at_ dis.uniroma1.it Progettista e sviluppatore

Fabrizio Ranieri

Sviluppatore di tool nei primi tempi, beta tester successivamente ed infine realizzatore di questo sito.

Paolo Romano

Al tempo dottorando. Consigliere spirituale ed in seguito collega.

Flavio Palandri Antonelli

Alessandro Porfiri

Riccardo Silvestrini

Carlo Tallarigo

Sviluppatori delle periferiche Allarme, Disco, Display e Sensore