16 core computer made of ATMegas

atmega

Your desktop has two, four, or even eight cores, but when’s the last time you’ve seen a multicore homebrew computer? [Jack] did just that, constructing the DUO Mega, a 16 core computer out of a handful of ATMega microcontrollers.

From [Jack]‘s description, there are 15 ‘worker’ cores, each with their own 16MHz crystal and connection to an 8-bit data bus. When the machine is turned on, the  single ‘manager’ core – also an ATMega328 – polls all the workers and loads a program written in a custom bytecode onto each core. The cores themselves have access to a shared pool of RAM (32k), a bit of Flash, a VGA out port, and an Ethernet controller attached to the the master core.

Since [Jack]‘s DUO Mega computer has multiple cores, it excels at multitasking. In the video below, you can see the computer moving between a calculator app, a weird Tetris-like game, and a notepad app. The 16 cores in the DUO Mega also makes difficult calculations a lot faster; he can generate Mandelbrot patterns faster than any 8-bit microcontroller can alone, and also generates prime numbers at a good click.

Comments

  1. Redion says:

    amazing!

  2. Hack Man says:

    I’d be more interested in the fairly intense number of directly addressable I/O pins. Sweet build.

  3. Clory says:

    Wow, great job!

  4. Miguel says:

    Mining bitcoins with this?

  5. inblackn says:

    Can we mine bitcoins with this? :D

  6. dsf says:

    Super cool project! But the examples seem waaaay slower than they could be, judging from other projects like Linus’s http://www.youtube.com/watch?feature=player_embedded&v=sNCqrylNY-0 I wonder what the bottleneck is here. OH, and the guy wrote an online emulator for it with video output! http://www.ostracodfiles.com/mega/emulator.html

  7. kmmankad says:

    Just amazing stuff!

  8. ColdTurkey says:

    This is pretty awesome! What I find so astonishing is how simple the wiring looks! For a 16 core machine i’d expect to see a ratsnest that would equal BMOW (featured here many moons ago – http://hackaday.com/2009/02/27/bmow-a-home-made-cpu/) look uncluttered but this is one of the cleanest DIYbuilds I have ever seen! Props!

  9. RicoElectrico says:

    Wouldn’t communication and synchronization be simpler if you clocked them all with just one clock?

    • LordNothing says:

      i thought about this too. im guessing it was an issue with noise. the fact that its built on a bunch of breadboards would make this worse. especially with that data bus all over the place.

  10. Ian Hanschen says:

    Seems like it’s bottlenecking at the display

  11. Json says:

    Good job!
    I have been wanting to do something like this, but lack of a compiler for parallel processing has stopped me dead. I tried pseudo code, but I didn’t like it.

    • Jon McPhalen says:

      As pointed out in another post, this is kind of like doing the Parallax Propeller the hard way (which is still cool, BTW). You can program the Propeller in Spin (native), C (compiler, free), BASIC (compiler, free), Forth (compiler, free); the Propeller makes embedded parallel processing very easy.

  12. jack reacher says:

    Seems like he implemented a Parallax Propeller but with AVR chipa.

  13. vjois says:

    I was pondering on this exact idea to implement a mp3/ogg player out of jellybean components. As audio decoding has lot of multiple independent tasks, this could make a good application

  14. 曾勝億 says:

    Great!Before I read this article,I thought about how to use MCU construct a computer.

  15. Tim says:

    Im surprised you haven’t heard of Conways game of life, referring to it as a “weird tetris-like game”

    http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

    • spider says:

      I more thought they were talking about the first game that was displayed you know the one that looked like tetris with coloured blocks. But hey i could be wrong :/

  16. ZC says:

    It seems like a neat concept, but I don’t really get the multi-tasking. Most of the examples are him toggling back and forth BETWEEN the calculator, the game, and notepad. It seems like most of the examples could have been done with a single uP and a separate VGA adapter. It has potential though.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,376 other followers