RISC-V advanced interrupt architecture: implementation and enhancements

Arquitetura de interrupções avançada para RISC-V: implementação e melhorias
dc.contributor.advisorPinto, Sandro
dc.contributor.authorCosta, Francisco Marques da
dc.date.accessioned2026-07-03T08:34:24Z
dc.date.issued2024-02-13
dc.date.submitted2024-01
dc.description.abstractNo domínio das arquiteturas de computadores, as interrupções e respetivos controladores de hardware assumem um papel preponderante na garantia da eficiência das operações e na gestão dos recursos. As interrupções são sinais desencadeados por diversos componentes do System-on-Chip (SoC), que requerem atenção da unidade central de processamento (CPU). A responsabilidade dos controladores de interrupção é gerir essas interrupções e atribuí-las a um CPU. Como resultado, tarefas específicas podem ser entregues a módulos especializados, libertando o processador para executar outras operações. Os sistemas de computação modernos integram controladores de interrupções de hardware sofisticados, como o controlador de interrupções genérico da Arm e o controlador de interrupção programável da Intel. Esses controladores estão em constante atualização para satisfazer o número crescente de funcionalidades e requisitos, como Message-Signaled Interrupt (MSI) e suporte para virtualização. Em sistemas RISC-V, o Platform-Level Interrupt Controller (PLIC) foi o primeiro controlador de interrupções padrão. No entanto, a sua especificação apresenta limitações em termos de escalabilidade e funcionalidades, destacando-se a falta de suporte para MSI e virtualização. Esta dissertação descreve a primeira implementação pública e pesquisa sobre a especificação RISC-V Advanced Interrupt Architecture (AIA) versão 1.0 recentemente ratificada. Primeiramente, desenvolvemos de forma parametrizável o Advanced PLIC (APLIC) e o Incoming MSI Controller (IMSIC), que juntos formam o IP AIA. Esses IPs foram integrados num SoC baseado no CVA6 com suporte para virtualização. Posteriormente, exploramos desenhos alternativos e melhorias microarquiteturais para atender aos requisitos de sistemas de criticidade mista (MCS), como tempo real e previsibilidade, resultando na implementação de três novos desenhos: (i) APLIC Minimal, (ii) IMSIC Island, e (iii) AIA Black Box. Por fim, realizamos uma avaliação empírica (recursos de hardware e latência de interrupção) de diferentes configurações de hardware e microarquiteturas AIA, com foco nos requisitos de sistemas embebidos modernos. Todos os artefactos descritos nesta dissertação são de código aberto para promover a colaboração e a exploração de configurações de desenhos adicionais.por
dc.description.abstractIn the realm of computer architectures, interrupts and their associated hardware controllers have a pivotal role in guaranteeing efficient operation and the optimal management of resources. Interrupts are signals generated from diverse system-on-chip (SoC) components that require the central processing unit (CPU) attention. The interrupt controller’s responsibility is to manage these interrupts and assign them to a specific CPU. Consequently, specialized modules can handle specific tasks, freeing the CPU to execute other operations. Modern computing systems integrate sophisticated hardware interrupt controllers, e.g., the Arm Generic Interrupt Controller (GIC) and the Intel Advanced Programmable Interrupt Controller (APIC). These controllers have continuously evolved to accommodate a growing number of features and requirements, such as Message-Signaled Interrupts (MSI) and virtualization support. The RISC-V Platform-Level Interrupt Controller (PLIC) was the first standard external interrupt controller in RISC-V systems. Nonetheless, its specification has scalability and feature richness limitations, notably lacking support for MSIs and virtualization. This thesis describes the first public work and research on developing the first open-source RISC-V Advanced Interrupt Architecture (AIA) IP compliant with the recently ratified specification (v1.0). Firstly, we developed a parametrizable Advanced PLIC (APLIC) IP and an Incoming MSI Controller (IMSIC) IP, which together form the AIA IP. These IPs were integrated into a CVA6-based SoC with virtualization support. Subsequently, we explore alternative designs and microarchitectural enhancements to meet the mixedcriticality systems (MCS) requirements (e.g., real-time and predictability), leading to the implementation of three new design options: (i) APLIC Minimal, (ii) IMSIC Island, and (iii) AIA Black Box. Lastly, we perform a comprehensive empirical evaluation (hardware resources and interrupt latency) of different AIA hardware configurations and microarchitectures. All artifacts described in this dissertation are open source to foster collaboration and further explore additional design configurations.eng
dc.identifier.tid204189403
dc.identifier.urihttps://hdl.handle.net/1822/102446
dc.language.isoeng
dc.rightsopenAccess
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/
dc.subjectArquitetura de Interrupções Avançada
dc.subjectRISC-V
dc.subjectVirtualização
dc.subjectControlador de Interrupções
dc.subjectFPGA
dc.subjectAdvanced Interrupt Architecture
dc.subjectVirtualization
dc.subjectInterrupt Controller
dc.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
dc.titleRISC-V advanced interrupt architecture: implementation and enhancementseng
dc.title.alternativeArquitetura de interrupções avançada para RISC-V: implementação e melhoriaspor
dc.typemasterThesis
dspace.entity.typePublication
sdum.degree.grade20 valores
sdum.uoeiEscola de Engenharia
thesis.degree.grantorUniversidade do Minhopor
thesis.degree.nameMestrado em Engenharia Eletrónica Industrial e Computadores (área de especialização em Sistemas Embebidos e Computadores)

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
Francisco Marques da Costa.pdf
Tamanho:
1.51 MB
Formato:
Adobe Portable Document Format