Linux Kernel on hardware

The Linux kernel is totally huge, several megabytes of compiled code.
So at a first glance you need a huge NISC chip or FPGA, assuming it's even possible because NISC maybe likes linear sequences of instructions. Something that can be branching often and all over the place might be difficult. Doing interrupts could be nigh impossible.

But let's imagine you've trimmed linux down (there's a lot of unneeded networking, file systems, drivers and other garbage), you can actually build it with the toolchain and you have a FPGA big enough (biggest FPGA in the world?).
It would only be useful to run other programs, so you have to bake them into that giant NISC spaghetti mess along with linux.

NISC seems to be made for running just one program, with no OS.
See also limitations
http://www.ics.uci.edu/~nisc/documents/FAQ.html#t2

Running any kind of OS would be a cool hack already. You would build something simple from scratch.
If you wanted linux you would build a real CPU in your FPGA, with stuff from opencores maybe, and run linux on that, you would then have NISC applications as coprocessors on the chip.

My two euro cents, from a limited and quick and dirty understanding.
 
The Killer Nic has its own operating system (a version of linux)
the nic has an usb socket so you can plug it a flash drive and run a torrent client on the nic and save the files to the flash drive. All this without using any of the host pc resources (apart from power of course)
The Killer NIC comes in 2 models; the K1 and the M1. Both models contain a Freescale PowerQUICC processor, 64 MB RAM, a single Gigabit Ethernet port, as well as a single USB 2.0 port, intended for use with specialized programs running on the card's embedded Linux operating system.
http://en.wikipedia.org/wiki/Killer_NIC
 
The Linux kernel is totally huge, several megabytes of compiled code.
So at a first glance you need a huge NISC chip or FPGA, assuming it's even possible because NISC maybe likes linear sequences of instructions. Something that can be branching often and all over the place might be difficult. Doing interrupts could be nigh impossible.

But let's imagine you've trimmed linux down (there's a lot of unneeded networking, file systems, drivers and other garbage), you can actually build it with the toolchain and you have a FPGA big enough (biggest FPGA in the world?).
It would only be useful to run other programs, so you have to bake them into that giant NISC spaghetti mess along with linux.

NISC seems to be made for running just one program, with no OS.
See also limitations
http://www.ics.uci.edu/~nisc/documents/FAQ.html#t2

Running any kind of OS would be a cool hack already. You would build something simple from scratch.
If you wanted linux you would build a real CPU in your FPGA, with stuff from opencores maybe, and run linux on that, you would then have NISC applications as coprocessors on the chip.

My two euro cents, from a limited and quick and dirty understanding.
NISC is not a FPGA.

It can be test/synthesized on FPGA but is not an fpga.
 
There's a reason software runs on hardware rather than BEING the hardware. Complexity and convenience is one, bugs (and need for patching) another, performance a third, power useage another - especially these days. And so on.

I don't really see the point of all these speculative topics you're creating and then barely participating in. Are you a weirdo or something?
 
People have done compilers in hardware in the past as academic projects.

This one is similiar in spirit but MUCH more ambitious. IMHO, doing a simpler OS would be a major undertaking, let alone a full blown Linux.
 
People have done compilers in hardware in the past as academic projects.

This one is similiar in spirit but MUCH more ambitious. IMHO, doing a simpler OS would be a major undertaking, let alone a full blown Linux.

What about just the linux kernel or a middleware engine?
 
What about just the linux kernel or a middleware engine?

Both too big to build with the HW tools on offer. May be languages better than VHDL/Verilog are increase productivity. But those two are a black hole of productivity when it comes to a game engine or a kernel, especially with all the subtleties a kernel must handle.
 
How would you run application programs anyway on a kernel that is an integrated circuit silicon chip in of itself?

An OS is not a microprocessor, which is what you need for applications, and an OS - as a chip or otherwise - is totally useless without applications...
 
Back
Top