Logo image
LLVM編譯器架構支援物聯網微處理器
Thesis

LLVM編譯器架構支援物聯網微處理器

Cheng, Cheng Gang
Masters, 國立清華大學, 資訊系統與應用研究所
2015

Abstract

物聯網 編譯器 微處理器 LLVM IoT compiler microprocessor
IoT is the abbreviation of Internet of Things. It allows objects to communicate with each other through the Internet, without the interference of human. Every IoT device contains at least one microprocessor or microcontroller. In our thesis, we choose AndeStar as our target microprocessor architecture. It contains the following features: 1. RISC-style 32-bit and 16-bit register-based mixable instructions. 2. 32 or 16 32-bit general purpose registers. 3. Three versions of the baseline instruction set v1, v2, and v3. To execute a C program on AndeStar architecture, a compiler plays an important role. We use Low Level Virtual Machine (LLVM) and implement a new back-end to generate code. During the process of implementation, there are some problems to deal with. First, some instructions in LLVM SelectionDAG can not be mapped directly to the AndeStar instructions. Therefore, we need to use existing AndeStar instructions to achieve the same functionality. Second, if the program contains function calls, we have to lower LLVM SelectionDAG correctly. Third, some instructions for the specific purposes are inserted by calling LLVM API after instruction selection, such as prologue and epilogue. In order to make sure that every C program can be executed correctly without any error, the compiler should be as strong as possible. We run several test cases to prove the reliability of the compiler. There are many benchmarks for compiler testing. EEMBC and DSPStone are selected as our testing benchmark.

Metrics

1 Record Views

Details

Logo image