Conversão de AST para Koopa IR e Geração de Código RISC-V

A construção de um compilador envolve etapas fundamentais de transformação de representações. Após a estruturação da Árvore de Sintaxe Abstrata (AST), o próximo passo consiste na geração de uma Representação Intermediária (IR) — neste caso, a Koopa IR — e sua subsequente tradução para linguagem de montagem (Assembly) RISC-V. Geração de Koopa IR ...

Publicado em 7-27 09:03

Escalonamento e Mecanismos de Sincronização no Xv6

Visão Geral do Escalonamento Em sistemas com mais processos do que núcleos de CPU, é necessário compartilhar o tempo de processamento entre eles. O objetivo é que esse compartilhamento seja transparente para os processos de usuário. Uma técnica comum é multiplexar os processos nos núcleos disponíveis, criando a ilusão de que cada processo tem a ...

Publicado em 7-6 23:57

Implementação de Rastreamento de Pilha e Validação de Memória em Sistemas Operacionais RISC-V com Rust

Rastreamento de Pilha em Ambiente Bare-Metal Em sistemas operacionais desenvolvidos para ambientes bare-metal, a capacidade de inspecionar a pilha de chamadas é crucial para depuração. No RISC-V, a pilha é alocada logo após o segmento .bss. É fundamental distinguir entre o registrador apontador de pilha (sp) e o registrador apontador de frame ( ...

Publicado em 7-3 04:52

Superando Limitações no Desenvolvimento RISC-V: Guia para Integração de Depuração com VSCode

Desafios no Ecossistema RISC-V e Estratégias de Superação O RISC-V, como arquitetura de conjunto de instruções open-source, ganhou destaque em sistemas embarcados, computação de alto desempenho e chips customizados. No entanto, desenvolvedores enfrentam obstáculos como ferramentas incomlpetas, fragmentação do ecossistema e suporte limitado a de ...

Publicado em 6-14 00:09

Removendo Dependências da Biblioteca Padrão em Rust para Bare-Metal

Preparando um Projeto Rust para Ambientes Embarcados Este guia aborda o processo de adaptação de um projeto Rust básico para operar em um ambiente bare-metal, removendo as dependências da biblioteca padrão (std) e introduzindo as configurações necessárias para compilação cruzada. Eliminando a Macro println! Para começar, precisamos configurar o ...

Publicado em 6-5 06:23