Publicação
Hardware thread model for FPGA accelerated FreeRTOS
| Resumo: | Um sistema embebido é um sistema computacional, especificamente desenhado para o desempenho de um conjunto de tarefas restrito, sendo este normalmente um subsistema de um sistema maior e muitos destes sistemas recorrem à utilização de sistemas operativos, uma vez que estes promovem uma gestão eficiente dos recursos, oferecendo um conjunto de serviços para além de suporte e abstração de hardware, promovendo a portabilidade e a reutilização. Existem sistemas que enfrentam restrições temporais, sobre as quais o incumprimento de um deadline pode comprometer a integridade e a funcionalidade do sistema, estes são sistemas vulgarmente conhecidos como sistemas de tempo real ou com requisitos de tempo real e para este tipo de sistemas existem sistemas operativos específicos que visam o cumprimento destes requisitos, favorecendo a previsibilidade e o determinismo. A redução do overhead computacional, paralelização e o offloading de computação para dispositivos como o FPGA, são apontadas como medidas complementares. Com esta dissertação pretende-se implementar um modelo de tarefas de hardware e alguns serviços do sistema operativo FreeRTOS em hardware dedicado, tirando partido do paralelismo natural que o hardware oferece e da sua natureza determinística, nomeadamente o gestor de tarefas, escalonador, temporizador e controlador de interrupções, toda a implementação deve seguir o modelo implementado pelo sistema operativo tornando a implementação o mais transparente possível, por forma a favorecer a migração de tarefas de software para o FPGA. Com esta implementação serão criadas duas novas arquiteturas do sistema em que o utilizador poderá selecionar a mais pertinente ao projeto a ser implementado, sendo que o sistema dará então a possibilidade de usar o sistema operativo somente a ser executado em software ou correr o sistema operativo com os serviços migrados em hardware, ou escolher utilizar o sistema operativo em software com recurso a tarefas em hardware. |
|---|---|
| Autores principais: | Cunha, Virgílio André Mendes |
| Assunto: | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| Ano: | 2016 |
| País: | Portugal |
| Tipo de documento: | dissertação de mestrado |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | português |
| Origem: | RepositóriUM - Universidade do Minho |
| Resumo: | Um sistema embebido é um sistema computacional, especificamente desenhado para o desempenho de um conjunto de tarefas restrito, sendo este normalmente um subsistema de um sistema maior e muitos destes sistemas recorrem à utilização de sistemas operativos, uma vez que estes promovem uma gestão eficiente dos recursos, oferecendo um conjunto de serviços para além de suporte e abstração de hardware, promovendo a portabilidade e a reutilização. Existem sistemas que enfrentam restrições temporais, sobre as quais o incumprimento de um deadline pode comprometer a integridade e a funcionalidade do sistema, estes são sistemas vulgarmente conhecidos como sistemas de tempo real ou com requisitos de tempo real e para este tipo de sistemas existem sistemas operativos específicos que visam o cumprimento destes requisitos, favorecendo a previsibilidade e o determinismo. A redução do overhead computacional, paralelização e o offloading de computação para dispositivos como o FPGA, são apontadas como medidas complementares. Com esta dissertação pretende-se implementar um modelo de tarefas de hardware e alguns serviços do sistema operativo FreeRTOS em hardware dedicado, tirando partido do paralelismo natural que o hardware oferece e da sua natureza determinística, nomeadamente o gestor de tarefas, escalonador, temporizador e controlador de interrupções, toda a implementação deve seguir o modelo implementado pelo sistema operativo tornando a implementação o mais transparente possível, por forma a favorecer a migração de tarefas de software para o FPGA. Com esta implementação serão criadas duas novas arquiteturas do sistema em que o utilizador poderá selecionar a mais pertinente ao projeto a ser implementado, sendo que o sistema dará então a possibilidade de usar o sistema operativo somente a ser executado em software ou correr o sistema operativo com os serviços migrados em hardware, ou escolher utilizar o sistema operativo em software com recurso a tarefas em hardware. |
|---|