The Turbo9 Reimagines Motorola's Classic 6809 as an Open-Silicon Pipelined 16-Bit Microcontroller
Designed to offer competitive performance in a small footprint, Turbo9 brings back a classic eight-bit CPU as an open IP block.
Computer engineering researchers Kevin Phillipson and Micheal Rywalt are trying to bring back the classic Motorola 6809 architecture β by creating a new implementation dubbed Turbo9, using pipelining to deliver performance equivalent to or better than modern equivalents.
"The Turbo9 is a pipelined microprocessor IP written in Verilog that executes a superset of the Motorola 6809 instruction set," the researchers explain of their project. "It is a new modern microarchitecture with 16-bit internal datapaths that balances high performance vs small area/low power. The Turbo9R with a 16-bit memory interface achieves 0.69 DMIPS/MHz [Dhrystone Million Instructions Per Second per Megahertz] which is 3.8 times faster than Motorola's original 8-bit MC6809 implementation."
The original implementation of which the pair speak was the work of Terry Ritter and Joel Boney at Motorola, and launched as the Motorola 6809 in 1978. Designed to offer improvements over the earlier Motorola 6800 while retaining source compatibility, the 6809 added hardware multiplication, better interrupts, stack registers with re-entrant code support, 16-bit arithmetic, and more β making it one of the most powerful eight-bit chips of the era. Its high price, however, meant it struggled against cheaper competitors, and the launch of true 16-bit parts led to its demise.
Phillipson and Rywalt, though, aren't willing to leave the device to history. The Turbo9 is a reimplementation of the 6809 architecture with modern features, including a pipelined architecture that can go toe-to-toe with modern 32-bit microprocessors and microcontrollers for performance. It also presents as something in-between a complex and reduced instruction set computer (CISC and RISC) architecture, using what we would now recognize as the CISC 6809 architecture with a RISC decoder for micro-operations.
"Current industry trends are to adapt 32-bit RISC IP for microcontroller use," the pair explain of the project's inspiration, "however their large 32Γ32 register files and loosely encoded instructions limit their absolute minimum footprint. So with the goal of a creating a performance and compact microprocessor IP, we need an 16-bit instruction set architecture (ISA). Also, we want an architecture that is capable of running C code effectively."
While Phillipson and Rywalt hope to see the compact Turbo9 used in system-on-chip (SoC) designs to deliver coprocessors for everything from memory interfaces to audio support, or in mixed-signal chips as a digital interface to analog hardware, there's another advantage to the project: it's compatible with existing software for the 6809, making it of interest to vintage computing and gaming enthusiasts thanks to the original chip's use in the Dragon 32, TRS-80 Color Computer (CoCo), and Commodore SuperPET, as well as arcade boards including the classic Star Wars shooter.
The full source for Turbo9 is available on the project's GitHub repository under the permissive BSD 1-Clause license.