UNIDADE FUNCIONAL PARA PROCESSAMENTO DE STRINGS
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.