Last night I got knocked out pretty quickly again thanks to another sleeping pill and woke up after a good night's sleep, feeling well-rested. With only 3 pills left at this point it's getting time for a refill, though. Pieter also insists on fetching it, so as to reduce the temptation on my side. Although he loves to tease me and make fun of me (constantly), it does show how much he cares about me, even if he has trouble showing his emotions like most men ;)
Today we went swimming together with a friend of Pieter as we have done now for a while. At first it felt like things weren't going right, with the sight of a few happy couples and such triggering a lot of negativity inside me, to the point that I nearly felt like crying. Just when I thought I was going to leave the pool, crying or not, I noticed two familiar faces.
A few weeks ago I had met a couple of children (two girls, one boy) and their father in the pool and ended up playing with these children. Today we ended up doing the same, though this time the boy mostly went playing with his father. The two girls, six and ten years old, played a game with me called 'push me off the raft into the water', which strangely enough seemed to often back-fire on them ;) though I was nice enough to drop into the water at times too.
It are times like that when it feels like I got a momentary reprieve of my tortured existence, being able to enjoy something which is just plain fun. In general I love children (though boys are often just annoying :P ), and time went by really quickly until it was time to leave. After talking a bit with the father of the children, who really seems to appreciate me taking a few of the children off his hands for a while, we said our goodbyes.
Lately I have been working on a nice project, which in short can be described as designing a new type of CPU, the central processor you find in any computer system. I'm employing a whole list of paradigms and ideas I have been thinking about for years now during my studies of computer systems, a favourite hobby of mine. As I grew up, I was surrounded by computers from quite a young age, starting with a Commodore 64 in the late 80s (loading games from tapes), then a 286 PC (DOS). Aside from playing outside a lot on the farm, I could be found in front of the computer a lot.
The architecture and design of computer systems has always interested me, as have the possibilities with them. Naturally, I always try to improve things, come up with new ways to do something, or to make something previously impossible possible. Which is what has lead me to this project :)
I can't say too much about the ideas I have for the CPU, as I don't feel comfortable spilling my ideas in public, where people can run off with them ;). I can however tell a few things. So far I have learned VHDL, the Hardware Description Language used to design chips (ICs, ASICs) with. I have programmed a few components of the design already, particularly the bits which actually perform the arithmetic, logic and bit-shift operations.
I have also come to realize how little I actually do know about the implementation of the most basic firmware which exists on a computer system, be it the BIOS, Open Firmware or EFI. As this is an essential part of any computer system (the start-up and other low-level routines), it is fairly important that I get this part right ;)
The name of the project is boringly called Nyanko CPU Project, with the name of the current prototype CPU I'm designing being 'KITTEN'. I intend to use KITTEN as a learning experience as I further develop this new processor architecture. After running simulations on each phase of the design, I intend to use an FPGA development board like the Terasic DE2-70 ( http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=226 ) which uses an Altera Cyclone II FPGA.
A big issue at this point is to procure one of these boards. As they run at around US$599 a piece, it's out of my reach for now, but I hope to obtain one either through sponsorship, unexpected rush of income, donations or simply by borrowing one. The ideal thing about this development board is that it has the interfaces and on-board chips for audio, VGA, USB and more. As my goal is to develop a CPU which can be used in low-end systems all the way to high-end servers, it is important that it can support a wide variety of interfaces.
For components beyond the CPU I will use regular DDR2/3 memory, a PCIe bus and forego x86/PPC legacy (although the PS/2 interface is an option). I'm toying with the idea of an upgraded COM (serial) port as well, as a serial link can be extremely fast, just look at SATA, USB, Ethernet and so on.
Moving on to more common tech, a friend offered to ship me his Nintendo DS, as he wasn't using it any more, but unfortunately his brother still wanted to have it around. I would have loved to feed my Harvest Moon addiction :) I guess I'll just have to be happy with the SNES and N64 versions for now.
So yeah, I guess that most of those who started reading this small novel have quit somewhere half-way through, for which I offer my apologies. It was my intention to show that I have a life beyond whining about stuff I can't change and threating with physical violence. I also wanted to show off some of my interests and my current projects involving these. Hopefully it worked.