A talented Maker by the name of Jack Eisenmann has designed a multi-core homebrew computer using 16 ATMega328P microcontrollers.
“The DUO Mega is a multi-core 8-bit computer featuring a robust operating system. The goals of the system are to be efficient, reliable, easy to use, and open source,” Eisenmann explained in an extensive design breakdown posted on OstraCodfiles.com.
“The concepts of this computer should be expandable with more cores, additional memory and alternative processor models.”
According to Eisenmann, each core consists of a single ATMega microcontroller. More specifically, there are actually two types of core: worker and manager (15 worker cores + 1 manager = 16 total cores).
“Cores all share an 8 bit data bus. This data bus sends commands and information between cores. A worker core may not use the data bus unless permitted by the manager core. Each worker core is addressed by an 8 bit identifier,” he continued.
“When the machine starts up, the manager core poles every identifier to find worker cores. Then the manager loads instructions from flash memory into worker cores. The manager core may then behave as an interface for flash read and write operations.”
Eisenmann also noted that the DUO Mega is equipped with a single pool of shared memory in a 32 KB SRAM chip. Meaning, the manager core is responsible for access to shared memory – while also interfacing with peripheral devices.
On the software side, the OS user interface (UI) is based on a stack of windows, with the DUO Mega supporting color text graphics and windows with 80 by 6 characters. All programs are written in Megaliter bytecode interpreted by the worker cores.
“Each program will run on at least one worker core. The number of worker cores allocated to a program depends on user preference. When the user opens a program, the operating system will first prompt the user for the number of cores to allocate,” said Eisenmann.
“One window will be dedicated to the operating system. This window is called the manager window, and cannot be closed. The manager window displays program information, a clock, files, directories and other useful information.”
Additional information about the Atmel-powered Duo Mega, including a full spec breakdown, can be found here.