ARQUITETURA DE MÁQUINA A PILHA, IMPLEMENTAÇÃO E AVALIAÇÃO EM UMA DESCRIÇÃO DE ALTO NÍVEL
Resumo
Máquinas com arquitetura orientada a pilha são uma alternativa às arquiteturas de registradores encontradas nos computadores atuais, nelas as instruções não precisam endereçar operandos, pois o comportamento da pilha limita o acesso a uma posição referente ao topo. Esta abordagem pode apresentar algumas vantagens em relação a máquinas de registradores, visto que essas máquinas trabalham naturalmente com pilhas para qualquer operação aritmética, lógica ou de chamada de função, enquanto que em máquinas de registradores estruturas de pilha precisam ser montadas e acessadas em memória RAM, o que normalmente tem menor desempenho em relação ao uso de registradores. Por outro lado, a máquina de registradores apresenta maior flexibilidade em relação a máquinas de pilha sem operandos, visto que o endereçamento explícito de operandos não requer nenhum tipo de movimentação na estrutura de memória para eles sejam alocados no topo de uma pilha. Entretanto, a programação de máquinas a pilha se diferencia muito da programação normalmente utilizada em máquinas de registradores, tornando-as incompatíveis entre si. Diante disso, propõem-se um estudo sobre as máquinas de pilha de forma a analisar quais mudanças arquiteturais podem vir a apresentar maior impacto no desempenho do sistema. Ainda, espera-se obter uma comparação de desempenho com uma arquitetura baseada em registradores. Para implementar tais computadores, é utilizada a linguagem de descrição de sistema systemC com o uso da modelagem no nível de transação (TLM, do inglês, transaction level modeling), escolha que ocorre por seu alto grau de abstração comparado a outras linguagens de descrição, o que possibilita criar e alterar protótipos de hardware com maior facilidade e rapidez. O estudo dos fatores de impacto no desempenho das máquinas é feito com a análise de algoritmos clássicos implementados em máquinas similares já produzidas. Após o estudo do das possíveis otimizações, são propostos protótipos de máquinas a pilha que façam uso de tais otimizações e cada protótipo é implementado com uma arquitetura monociclo e não implementam interrupções e pontos flutuantes, de forma que somente o comportamento fundamental da máquina é analisado. Por meio dos protótipos funcionais é testada uma série de algoritmos em ambas as máquinas de pilha e em uma máquina de registradores MIPS, para que o desempenho de cada uma seja comparado. Os dados serão comparados através de número de ciclos de clock executados, quantidade de acessos a memória e tamanho de código.
Apontamentos
- Não há apontamentos.