arrow
Return

A Multi-One Instruction Set Computer for Microcontroller Applications

delete2021-01-01
delete0
delete
OA
AI
M
Marco Crepaldi *
A
Andrea Merello
M
Mirco Di Salvo
DOI:10.1109/ACCESS.2021.3104150delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
This work presents a simple integer-only instruction set architecture and microarchitecture derived from One Instruction Set Computers (OISCs) and embedding multiple execution modes (mOISC), capable of running at a reasonable performance level to enable basic usability in microcontroller applications. The purpose of mOISC is to enable simple data transfer tasks and run small programs while maintaining ultimate simplicity. We present the internal organization for a computer architecture including an 8 bit I/O register, and 64 kB central Random Access Memory (RAM), organized in two-bytes words. The processor can run code generated assuming an OISC or a Complex Instruction Set Computer (CISC) scheme (op-code based), depending on the programmer's demands and based on the initial setting of a register during start-up. To enable practical applications and demonstrate successful exploitation of mOISC in view of integration in a compiler back-end, we designed a custom Proof-of-Concept (PoC) software design toolchain based on LLVM and clang. Although not targeting all the features of commercial ISA, the toolchain is capable of compiling C code from LLVM intermediate representation or generating mOISC code translated from ARM, x86, RISC-V, and MIPS assembly. The toolchain also enables practical Value Change Dump (VCD) simulations output with graphical plots of the CPU state and associated symbols. A PoC microcontroller system has been synthesized in a low power Field Programmable Gate Array (FPGA) and verified in a basic wireless telemetry application including a Synchronous Peripheral Interface (SPI) RFM9x Long RAnge (LoRA) transceiver and a MAX30205 Inter Integrated Circuit ((IC)-C-2) temperature sensor, using its 8 bit I/O port, with software bus interface implementation. mOISC occupies similar to 6% of resources on a Cyclone 10LP FPGA, for 1397 Adaptive Look-Up Tables (ALUTs) and 461 dedicated logic registers. The measured dynamic current consumption of the complete FPGA board with synthesized mOISC is 12 mA at 100 MHz clock.
Keywords:
One Instruction Set Computer
microcontroller
instruction set architecture
compiler

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

I
istituto italiano di tecnologia - iit
Scholars:
9.1K
Papers: 6.9K
Citations: 8
Cited Papers

Cited Papers

Piezoelectric properties of 3-Xperiodic Pb(ZrxTi1−x)O3–polymer composites
err2002-10-31
err0
PREAI
errJames E. Smay; Joseph Cesarano; Bruce A. Tuttle; Jennifer A. Lewis
errShare
errSave
errShare
errSave
Thermodynamic Analysis of Resources Used in Manufacturing Processes
err2009-01-29
err308
PREAI
errGutowski, Timothy G.; Branham, Matthew S.; Dahmus, Jeffrey B.; Jones, Alissa I.; Thiriez, Alexandre; Sekulic, Dusan P.
errShare
errSave
errShare
errSave
no more