@Mrs Beanbag, @Tripitaka
Thanks for your interest. My plan is a mishmash of ideas from all over the place, and I've not tried to summarise them succinctly before, but I'll try.
The plan is based around two central themes: FPGA computing and an OS that has a similar structure throughout its construction. As hinted at before, I do have Amiga-inspired ideas for this system too, but it's best to explain the core structure first.
With regards to FPGA computing, FPGAs are quickly improving in power and cost already, but I believe we're on the verge of seeing a game changer emerge. What I believe to be a game changer will be FPGAs built on memristor technology. There are a few reasons for this. Other than being fast storage devices, memristors can also be used for computation. This video is what inspired me with this particular idea, if you wish then skip to 29:10 to hear the bit about the memristor-based FPGA:
http://www.youtube.com/watch?v=bKGhvKyjgLYThe implication logic section starting at around 38:37 is also worth pointing out.
Next, the OS. The main source of inspiration behind the OS came from watching this video by Ian Piumarta, who currently works for VPRI:
http://www.youtube.com/watch?v=cn7kTPbW6QQThe video describes a programming language being developed for VPRI that basically combines the functional programming of Lisp with the object-oriented nature of Smalltalk, which appeared to be a powerful combination for approaching programming tasks (FWIW, I realise that there are Lisps with object systems in place already, but these previous object systems were afterthoughts rather than at the core of the language).
What I was particularly struck by was he was describing the way VPRI was trying to build an OS using this language, which would be compact (OS in approx 20,000 lines of code), as well as structurally similar at every level of the OS (in other words, understand the code for high level apps, and you'd also understand the code at the lower levels of the OS).
What's so good about this? There are a few things. One of the advantages touched on in the video is that this same language can be used to define the hardware. So, if you run the OS on an FPGA, learning one language doesn't just give you the ability to create programs, it also allows you to define hardware accelerators for your programs.
To further illustrate what's possible with this approach, it's worth knowing about the Bluespec language. A simple explanation of what's possible in Bluespec is that when you evaluate Bluespec code, what is produced is both an accelerator design and the code that makes use of this accelerator. Essentially, it tries to create an optimal solution utilising both hardware and software:
http://www.gizmag.com/bluespec-code-circuit-system/20827/I'd attempt the same thing with this system I'm proposing.
Another advantage that comes along with memristor-based FPGAs is the re-programmability. One thing you're taught early when learning Lisp is to view code and data as different ways to interpret the same object, in that code can be data and data can be code. Think about what we have with a memristor-based FPGA; we have a device that can store programs, and we have a device that can perform computation. What if you made these areas of the chip interchangeable? In other words, a section of the chip could be storage one minute, and then a logic circuit the next. What this gives you is on-the-fly re-programmability of FPGAs, you program a new accelerator as 'data' then you flip the switch and its now an accelerator.
As I mentioned before, I have other ideas for this system, and if you'd like information about the Amiga-inspired parts I'd be happy to share them. So to summarise, the basic plan is for flexible FPGA computing + simple OS + architecture that scales from high level to low level. In a way this simple OS + hardware accelerators approach is a spiritual successor to the Amiga anyway, just taken to the next evolutionary level.
Why is this better than what's out there? Other than the simplicity of the system, it has a lot of potential to speed up code execution. Not only would you have as many specialised accelerators as you could fit on your hardware, you'd be concentrating the processing on a single chip (apart from RAM, there's some engineering challenges to overcome before memristors replace RAM), which should remove a lot of processing bottlenecks.
So what do you think? :-)
@Fats
All I wanted to say is that a.org is not the right place to look for that
Are you sure? ;-)