Utilize este identificador para citar ou criar um atalho para este documento: https://hdl.handle.net/10923/26400
Tipo: Monografia
Título: PUC-RS5: A RISC-V processor core for embedded uses
Autor(es): Nunes, Willian Analdo
Orientador: Calazans, Ney Laert Vilar
Data de Publicação: 2022
Palavras-chave: SISTEMAS EMBARCADOS
RISC-V
ARQUITETURA DO CONJUNTO DE INSTRUÇÕES
ISA
ARQUITETURA PRIVILEGIADA
NÚCLEO PROCESSADOR
EMBEDDED SYSTEMS
INSTRUCTION SET ARCHITECTURE
PRIVILEGED ARCHITECTURE
PROCESSOR CORE
Resumo: A arquitetura RISC-V é modular e extensivel, sendo versátil para aplicar em múltiplos usos. A capacidade de atender interrupções e tratar exceções é essencial em sistemas embarcados como os usados em computação robótica, controle industrial ou sistemas veiculares, A arquitetura privilegiada do RISC-V define níveis de privilégio de operação e um conjunto de registradores de controle e de armazenamento de informação, estes últimos conhecidos como CSRs. Através de CSRs se dá o controle dos modos de privilégio e que se gere ações necessárias para realizar a manipulação de armadilhas (interrupções e exceções). Este trabalho descreve o projeto e implementação de PUC-RS5, um núcleo processador que implementa a ISA RV32I com a extensão Zicsr, para dar um suporte mínimo à arquitetura privilegiada RISC-V. O modo de privilégio de máquina é suportado pelo núcleo PUC-RS5; o suporte a outros modos é considerado um relevante trabalho futuro. A organização PUC-RS5 é um pipeline com emissão única, de 4 estágios, dotado de organização Harvard. Define-se para este núcleo uma interface com ambiente de execução (EEI), que é prototipada em uma plataforma baseada em FPGA juntamente com o núcleo. Neste ambiente integram-se mecanismos capazes de gerar interrupções, como timers e botões externos para validar as rotinas de tratamento de armadilhas. PUC-RS5 é uma implementação de código aberto, minimalista, extensível e de baixo custo em área. Quando comparado com processadores descritos na literatura disponível, apresenta resultados comparáveis aos que lhe são próximos em funcionalidade. Sua operação é demonstrada sobre a plataforma Nexys A7 com um FPGA xc7a100tcsg324-1 da Xilinx, utilizando neste dispositivo 1542 LUTs e 814 FFs. O PUC-RS5 é uma evolução de trabalhos anteriores, demonstrando funcionalidade adicional, qual seja a possibilidade de tratar interrupções e exceções. O núcleo PUC-RS5 foi validado por simulação e em hardware, executando com sucesso a suíte de Berkeley, o conjunto de programas de teste Coremark, e outros aplicativos simples desenvolvidos para este fim.
The RISC-V architecture is modular and extensible, being versatile enough to apply in multiple uses. The ability to service interrupts and handle exceptions is essential in embedded systems such as those used in robotic computing, industrial control, or vehicular systems. The privileged architecture of RISC-V defines operating privilege levels and a set of control and information storage registers, the later known as CSRs. Through CSRs, the privilege modes are controlled and the necessary actions are generated to carry out the manipulation of traps (interrupts and exceptions). This work describes the design and implementation of PUC-RS5, a processor core that implements the ISA RV32I with the Zicsr extension, to provide minimal support for the privileged RISC-V architecture. The machine privilege mode is supported by the PUC-RS5 core; support to other modes is a relevant future work. The PUC-RS5 organization is a 4-stage, single-issue pipeline with Harvard organization. An execution environment interface (EEI) is defined for the core, which is prototyped on an FPGA-based platform along with the core. In this environment, mechanisms capable of generating interrupts are integrated, such as timers and external buttons to validate trap handling routines. PUC-RS5 is an open source, minimalist, extensible and with low area cost implementation. When compared to processors described in the available literature, it presents results comparable to those that are close to it in functionality. Its operation is demonstrated on the Nexys A7 platform with an FPGA xc7a100tcsg324-1 from Xilinx, using 1542 LUTs and 814 FFs in this device. PUC-RS5 is an evolution of previous works, demonstrating additional functionality, namely the capacity to handle interruptions and exceptions. The PUC-RS5 core has been both simulation- and hardware-validated, successfully running the Berkeley suite, the Coremark test suite, and other simple applications developed for this purpose.
URI: https://hdl.handle.net/10923/26400
Aparece nas Coleções:TCC Engenharia de Computação

Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2022_2_WILLIAN_ANALDO_NUNES_TCC.pdfTexto completo1,12 MBAdobe PDFAbrir
Exibir


Todos os itens no Repositório da PUCRS estão protegidos por copyright, com todos os direitos reservados, e estão licenciados com uma Licença Creative Commons - Atribuição-NãoComercial 4.0 Internacional. Saiba mais.