UNIDADE FUNCIONAL PARA PROCESSAMENTO DE STRINGS

LEONEL PABLO TEDESCO, XANO TREVISAN KOTHE

Resumo


Também chamados de vetores de caracteres, strings são amplamente utilizados em linguagens de programação, comunicação em módulos de posicionamento global e interoperabilidade entre sistemas. Porém, não é a maneira mais eficiente de transportar dados ou de serem processado por computadores. Neste trabalho é apresentado: a forma como strings são representados na memória dos computadores, alguns problemas de desempenho no processamento de strings, e como trabalho de conclusão, a modificação de um processador para suportar, diretamente, funções de processamento de strings em hardware e aumentar o desempenho para estas operações. Os trabalhos relacionados ao assunto abordam o problema utilizando co-processadores, ou seja, um hardware específico separado do processador principal do computador. Neste trabalho de conclusão, ao inserir as funções dentro do processador, espera-se aumentar o desempenho para operações com strings. O objetivo deste trabalho não é criar um processador do início, e sim modificar um. Para escolher o processador alvo (o processador que será modificado), é necessário entender a arquitetura e organização dos computadores, os diferentes tipos de processadores, sua microarquitetura, e selecionar o projeto que mais se adequa aos parâmetros estabelecidos. A arquitetura é um modelo em blocos (também chamados de caixas pretas), que são separados, basicamente, em área de processamento (processador e co-processadores), área de armazenamento (memória e discos rígidos) e interconexão (barramento), que é a ligação entre o processamento e o dados a serem processados. Os parâmetros para a escolha do processador, estão fortemente ligados à facilidade na modificação da descrição de hardware do processador, e sua semelhança com as arquiteturas estudadas junto ao curso de graduação. O processador escolhido, chamado Mipsr2000, encontra-se no site OpenCores.org, juntamente com outros projetos de código aberto e descrição de hardware, de forma gratuita e de livre acesso. Ele foi escolhido, por ser um processador de registradores, testado e validado, com um conjunto de instruções MIPS (um tipo de arquitetura RISC). A principal característica da arquitetura RISC, é sua simplicidade, consequência do seu conjunto reduzido de instruções, que simplificam a implementação e a complexidade da descrição de hardware. Outro motivo pela escolha deste processador é o fato dele ter sido sintetizado para um FPGA (hardware reprogramável). Com um FPGA é possível criar diversos dispositivos, como controladores, memórias e processadores, sem a necessidade de passar por todo o processo de criação de um circuito integrado. Após modificar e testar o processador, serão criados benchmarks (testes específicos) para avaliar o desempenho final do sistema, comparando com o processador original. Espera-se que a modificação aumente o desempenho do processador em todos os testes que serão realizados.


Apontamentos

  • Não há apontamentos.