@MASTERSTHESIS{ 2007:1978194423, title = {Aloca??o de tarefas e comunica??o entre tarefas em MPSoCs}, year = {2007}, url = "http://tede2.pucrs.br/tede2/handle/tede/5288", abstract = "MPSoCs (do ingl?s, Multiprocessor System On Chip) constituem uma tend?ncia no projeto de sistemas embarcados, pois possibilitam o melhor atendimento dos requisitos da aplica??o. Isso se deve ao fato de que a arquitetura desses sistemas ? composta por v?rios processadores, m?dulos de hardware dedicados, mem?ria e meio de interconex?o, fornecendo um maior poder computacional quando comparados a sistemas monoprocessados equivalentes. No entanto, estrat?gias que possibilitem o aproveitamento da capacidade de processamento destas arquiteturas precisam ser mais bem entendidas e exploradas. Para isso, ? necess?rio dispor de infra-estruturas de hardware e software que habilitem gerenciar a execu??o de tarefas no MPSoC. A partir destas infra-estruturas deve ser poss?vel, por exemplo, mapear tarefas dinamicamente nos processadores, balanceando a carga de trabalho do MPSoC atrav?s de estrat?gias de aloca??o din?mica de tarefas. O estado da arte da bibliografia no tema explora estrat?gias de aloca??o est?tica e din?mica de tarefas sobre MPSoCs e avalia a viabilidade e efici?ncia das mesmas. Contudo, a necessidade de cria??o das infra-estruturas de hardware e software para viabilizar a explora??o destas estrat?gias constitui-se um gargalo no avan?o desta tecnologia. Adicionalmente, a maioria dos trabalhos utiliza plataformas modeladas em n?veis muito abstratos de modelagem para avalia??o das abordagens pesquisadas, reduzindo a confiabilidade dos resultados relatados. A principal contribui??o do presente trabalho ? a proposta e implementa??o de uma plataforma MPSoC denominada HMPS (Hermes Multiprocessor System). HMPS conta com uma infra-estrutura de hardware e uma infra-estrutura de software, capazes de gerenciar a execu??o de tarefas no sistema. A plataforma HMPS ? baseada em multiprocessamento homog?neo, e possui uma arquitetura de processadores mestre-escravo. A plataforma utiliza como meio de interconex?o uma rede intra-chip (NoC) e possibilita que tarefas possam ser alocadas est?tica e/ou dinamicamente no sistema. Com isso, v?rias estrat?gias de aloca??o distintas podem ser implementadas e avaliadas. HMPS dever? ser um ponto de partida para v?rios trabalhos, contribuindo para a pesquisa na ?rea de MPSoCs. Este documento apresenta a proposta e a implementa??o da plataforma HMPS. Para a infra-estrutura de hardware utilizou-se a NoC HERMES, desenvolvida pelo grupo de pesquisa GAPH, e o processador de c?digo aberto Plasma dispon?vel no site OpenCores. M?dulos de hardware foram desenvolvidos e altera??es no c?digo do Plasma foram realizadas, visando conectar o processador ? NoC e realizar a aloca??o de tarefas na mem?ria do processador. Para a infraestrutura de software, foi desenvolvido um microkernel multitarefa que executa em cada processador escravo e a aplica??o de aloca??o de tarefas que executa no processador mestre. S?o exploradas duas estrat?gias de aloca??o de tarefas: uma est?tica e uma din?mica", publisher = {Pontif?cia Universidade Cat?lica do Rio Grande do Sul}, scholl = {Programa de P?s-Gradua??o em Ci?ncia da Computa??o}, note = {Faculdade de Inform?ca} }