Vis enkel innførsel

dc.contributor.advisorKjeldsberg, Per Gunnar
dc.contributor.advisorMajumder, Shibarchi
dc.contributor.authorFærø, Sindre
dc.date.accessioned2022-10-29T17:19:33Z
dc.date.available2022-10-29T17:19:33Z
dc.date.issued2022
dc.identifierno.ntnu:inspera:106811575:72048294
dc.identifier.urihttps://hdl.handle.net/11250/3028957
dc.description.abstractIntegrering av flere oppgaver med forskjellige kritikalitetsnivåer på en enkelt maskinvareplattform, kjent som et mixed-criticality system, har blitt et voksende forskningstema innen innebygde systemer i sanntid. Korrektheten til disse systemene avhenger ikke bare av programvarens funksjonalitet, men også av timing-atferden. Derfor må den underliggende maskinvareplattformen gi både romlige og tidsmessige isolasjonsgarantier og forutsigbarhet for å ha høy tillit til timing-atferden til programvaren. Dessverre, selv om eksisterende maskinvare som består av flere enkeltkjerne-, flerkjerne- eller flertrådsprosessorer støtter maskinvarebasert isolasjon, klarer de ikke å utnytte maskinvareressursene som er tilgjengelige på plattformen helt. Underutnyttelse av maskinvareressurser kan som et resultat forårsake en reduksjon i den totale gjennomstrømningen for et sett med oppgaver. Denne rapporten presenterer en mikroarkitektur beregnet for systemer med blandet kritikk som tillater utveksling av maskinvarebasert isolasjon mellom oppgaver for å øke utnyttelsen av maskinvareressurs og omvendt. Mikroarkitekturen er designet og simulert i Simulink, et modellbasert designverktøy som muliggjør rask tilbakemelding på designkrav og beslutninger. Designet inkluderer syklus-for-syklus maskinvaretrådinterleaving, også kjent som finkornet multithreading, for å øke ressursutnyttelsen av plattformen. I tillegg har en konfigurerbar maskinvaretrådplanlegger og timinginstruksjoner blitt lagt til mikroarkitekturen for å gjøre det mulig for programmereren å inngå kompromisser mellom maskinvarebasert isolasjon, forutsigbar timingatferd og generell instruksjonsgjennomstrømning.
dc.description.abstractIntegrating multiple tasks of differing criticality levels onto a single hardware platform, known as a mixed-criticality system, has become a growing research topic in real-time embedded systems. The correctness of these systems depends not only on the software's functionality but also on the timing behavior. Therefore, the underlying hardware platform must provide both spatial and temporal isolation guarantees and predictability to have high confidence in the timing behavior of the software. Unfortunately, even though existing hardware consisting of multiple single-core, multi-core, or multithreaded processors supports hardware-based isolation, they do not manage to exploit the hardware resources available on the platform entirely. Under-utilizing hardware resources can, as a result, cause a decrease in the overall throughput for a set of tasks. This report presents a microarchitecture intended for mixed-criticality systems that allow exchanging hardware-based isolation between tasks to increase hardware resource utilization and vice versa. The microarchitecture has been designed and simulated in Simulink, a model-based design tool that enables fast feedback on design requirements and decisions. The design incorporates cycle-by-cycle hardware thread interleaving, also known as fine-grained multithreading, to increase the resource utilization of the platform. Additionally, a configurable hardware thread scheduler and timing instructions have been added to the microarchitecture to enable the programmer to make compromises between hardware-based isolation, predictable timing behavior, and overall instruction throughput.
dc.languageeng
dc.publisherNTNU
dc.titleFine-grained Multithreading for Deterministic Concurrency in Safety-Critical Systems
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel