Accelerate Micropython: Developing Accelerators for Micropython on the RISC-V platform

Micropython is an embedded Python interpreter, which runs on many embedded boards and processors. This allows developers to rapidly build and prototype new embedded devices. The interpreter and the PyBoard (a prototyping-board running Micropython) are already in use by the hacker community and Python enthusiasts.

Compared to most natively compiled languages, Python code runs comparatively very slow. It is assumed, that the management overhead of object-dictionaries, type-objects, dynamic heap-management and garbage collection, takes a large part in that. Not much work has been done to find the spots in an interpreter which are the hot paths and / or take a long time.

After porting Micropython to a RISC-V platform, the main part of benchmarking and dissecting Micropython starts. After building a framework for profiling Micropythons Interpreter code, concepts for hardware accelerators and extension for the RISC-V ISA can be proposed.