Rust Software Mailbox Implementation for Multi-Processor System-on-Chip
Samudrala, Sai Prasad (2024)
Samudrala, Sai Prasad
2024
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-12-11
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2024120310720
https://urn.fi/URN:NBN:fi:tuni-2024120310720
Tiivistelmä
Advancements in System-on-Chip (SoC) architectures have paved the way for increasingly complex Multi-processor SoC (MPSoCs) that demand efficient communication mechanisms. One prominent solution, the software-based mailbox system, ensures effective inter-core communication through shared memory and interrupts. This thesis explores the implementation of a mailbox system tailored for MPSoCs using the Rust programming language.
The study begins with an examination of MPSoC architectures, focusing on shared-bus communication on a MPSoC platform and the function of mailbox systems in coordinating data transfer between multiple cores. The Renode virtual platform is utilized for the initial design and evaluation, using a dual-core Core-V MCU configuration to simulate inter-core communication. Following this, the proposed solution is adapted and validated on the Ballast MPSoC, a RISC-V-based platform with heterogeneous subsystems. Performance metrics, such as communication latency and throughput, are evaluated for multi-byte data transfers across the subsystems of Ballast. Results demonstrate the effectiveness of the proposed software-based mailbox in facilitating efficient inter-core communication, with scalable performance across varying workloads.
This research contributes to advancing embedded systems by demonstrating the applicability of Rust for MPSoC software development, offering a reusable and efficient framework for future designs.
The study begins with an examination of MPSoC architectures, focusing on shared-bus communication on a MPSoC platform and the function of mailbox systems in coordinating data transfer between multiple cores. The Renode virtual platform is utilized for the initial design and evaluation, using a dual-core Core-V MCU configuration to simulate inter-core communication. Following this, the proposed solution is adapted and validated on the Ballast MPSoC, a RISC-V-based platform with heterogeneous subsystems. Performance metrics, such as communication latency and throughput, are evaluated for multi-byte data transfers across the subsystems of Ballast. Results demonstrate the effectiveness of the proposed software-based mailbox in facilitating efficient inter-core communication, with scalable performance across varying workloads.
This research contributes to advancing embedded systems by demonstrating the applicability of Rust for MPSoC software development, offering a reusable and efficient framework for future designs.