Multithreading RTOS processor design


Autoria(s): Gomes, Tiago Agostinho da Silva
Contribuinte(s)

Monteiro, João L.

Mendes, José A.

Data(s)

09/12/2015

Resumo

Tese de Doutoramento Plano Doutoral em Engenharia Eletrónica e de Computadores.

Embedded systems are increasingly more complex computational systems, often heterogeneous and also with real-time requirements, supporting sophisticated and demanding software tasks. To deal with this complexity, real-time constraints and increasingly shorter time-to-market, Real-Time Operating Systems (RTOSes) are used to provide an abstraction layer on top of the hardware, providing several mechanisms to simplify and coordinate the system's behavior. These mechanisms induce latencies and large CPU time consumption, which consequently increase overhead and contribute to the system's performance degradation. This thesis proposes to study and implement tools and methodologies that, considering the application's requirements and the programmable hardware's restrictions, alleviate this overhead through hardware acceleration, by: (1) incorporating RTOSes' primitives and structures in the CPU, whenever possible; (2) providing customization capabilities to enable design space exploration (DSE) while migrating such primitives and structures, as well as, application specific functionalities to gateware and (3) offering an agnostic solution to promote portability among different RTOSes. The implemented solution contributes to the real-time embedded systems field by presenting novel micro-architectural features to cope with real-time requirements. This thesis presents a co-designed software/hardware multithreaded architecture that promotes configurability, determinism, performance, energy-efficiency (to some extent) and portability from the outset. Experimental results demonstrate that the implemented solution surpasses the state of the art, by providing a complete and agnostic solution which is independent of any specific RTOS, with only a small cost on hardware area. Appropriate benchmarking shows the benefits of the implemented solution on tests targeting FreeRTOS and μCOSII.

Os sistemas embebidos são sistemas computacionais que se têm tornado cada vez mais complexos, muitas vezes heterogéneos e com requisitos de tempo real, suportando tarefas sofisticadas e exigentes. Para lidar com toda esta complexidade e simultaneamente não comprometer um time-to-market cada vez mais curto, recorre-se a sistemas operativos de tempo real (RTOSes). Estes não só fornecem uma camada de abstração sobre o hardware como também disponibilizam vários mecanismos para simplificar e coordenar o comportamento do sistema. No entanto, estes mecanismos induzem latências e sobrecarga no processamento, o que se traduz numa degradação do desempenho do sistema. Nesta tese propõe-se estudar e implementar ferramentas e metodologias que, considerando os requisitos da aplicação e as restrições do hardware programável, aliviam esta sobrecarga através de aceleração por hardware, possibilitando: (1) incorporação de primitivas e estruturas do RTOS no processador; (2) fornecimento de recursos de customização que permitam a exploração do espaço de projeto durante a migração de tais primitivas e estruturas, bem como funcionalidades específicas da aplicação; e (3) uma solução agnóstica para promover a portabilidade entre diferentes RTOSes. Nesta tese é apresentada uma arquitetura híbrida de hardware-software que promove configurabilidade, determinismo, desempenho, eficiência energética e portabilidade. A contribuição para a área de sistemas embebidos de tempo real revê-se nas novas funcionalidades micro-arquiteturais para lidar com os requisitos de tempo real. Os resultados experimentais demonstram que esta solução supera o estado da arte ao fornecer uma solução completa e agnóstica. Benchmarks adequados mostram os benefícios da solução implementada usando FreeRTOS e μCOSII.

Fundação para a Ciência e Tecnologia (FCT), SFRH/BD/81682/2011.

Identificador

http://hdl.handle.net/1822/40435

101464282

Idioma(s)

eng

Direitos

info:eu-repo/semantics/openAccess

Tipo

info:eu-repo/semantics/doctoralThesis