Pete's Log: Pilsner
Entry #1063, (Coding, Hacking, & CS stuff)(posted when I was 22 years old.)
Pilsner: The Pim Instruction Level Simulator (ner). This shall be my life, at least during most weekdays, until it is usable. Why am I writing a simulator? Because it's hard to write system code if there's nothing to run it on. It's gonna be cool. First, it's gonna be multithreaded, such that it can simulate multiple PIM nodes at once, if necessary. Second, it's gonna have some kinda fancy gui, because there is going to be much information that needs visualizing. Now I just need to find the focus to write the thing.
So I'm also going to write this in C++ and ensure I have well defined structure. I did write a multithreaded, gtk-based simulator in C++ for Forth in programming languages, so at least I've done this kinda thing before. Just not quite on this scale.
I think the biggest issue I have to deal with is the fact that there is a lot of architecture still undefined, and so basically, I'm going to have to make stuff up as I go. So I need to ensure that any decision I make is easily reversed. I may yet start drinking Mountain Dew again, Dr Pepper might not suffice for this task. Or maybe I should drink only Pilsner.
Another issue is statistics. We're going to want to gather a lot of statistics. For example, how many cycles did a particular (architectural) thread execute? PIM threads consist of only an FP/IP pair, but at the simulator level they may consist of more state such that statistics may easily be gathered. hmmmm.