Higher-order Hardware: Implementation and Evaluation of the Cephalopode Graph Reduction Processor
Paper in proceeding, 2024

A major challenge with the practical deployment of Internet-of-Things (IoTs) is how to develop the high-quality code needed in order to produce robust and secure IoT devices. In other domains, high-level programming languages have shown to be efficient vehicles towards this. However, the very limited compute power provided by IoT devices have made it difficult to apply the same approach to IoT devices. The Cephalopode processor is an attempt at implementing a low power hardware device directly aimed at running a high-level functional language. By integrating many resource-heavy tasks like garbage collection and arbitrary precision arithmetic into dedicated hardware, the Cephalopode processor explores the hypothesis that high-level functional languages can be used even for low-power IoT devices. This paper presents the implementation and evaluation of the Cephalopode processor. We discuss the approach taken, the compiler and the architecture of the processor. We also describe the design process and design considerations. After implementation and synthesis we compare the processor to a conventional RISC-V processor running a functional language software environment. We also compare Cephalopode with running handwritten C code on the RISC-V processor.

Author

Jeremy Pope

Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Carl-Johan Seger

Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Henrik Jansson Valter

Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Proceedings - 2024 22nd ACM-IEEE International Symposium on Formal Methods and Models for System Design, MEMOCODE 2024

87-97
9798350378023 (ISBN)

22nd ACM-IEEE International Symposium on Formal Methods and Models for System Design, MEMOCODE 2024
Raleigh, USA,

Subject Categories

Computer Engineering

Computer Science

Computer Systems

DOI

10.1109/MEMOCODE63347.2024.00015

More information

Latest update

12/20/2024