Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS
| Ano de defesa: | 2010 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informáca BR PUCRS Programa de Pós-Graduação em Ciência da Computação |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | http://tede2.pucrs.br/tede2/handle/tede/5211 |
Resumo: | Circuitos aritméticos são parte fundamental de sistemas digitais, uma vez que cada porção de informação processada por estes deve ter sido codificada previamente sob a forma de números, e que a aritmética é a forma por excelência de proceder à manipulação sistemática de números. Existe uma grande quantidade de esquemas de codificação usados em sistemas digitais, mas três formas de representação se sobressaem por serem usadas na maioria maciça das situações: números sem sinal, números inteiros e a representação de ponto flutuante. Os dois primeiros são mais simples e mais universais, mas algumas aplicações exigem o recurso à faixa estendida de valores e à precisão incrementada de representações de ponto flutuante. Embora o uso de hardware de ponto flutuante em FPGAs tenha sido por muito tempo considerado inviável ou relegado ao uso apenas em dispositivos e plataformas de alto custo, esta não é mais a situação atual. Este trabalho descreve o processo de projeto, a implementação física e uma avaliação preliminar de unidades de processamento de ponto flutuante de precisão simples em hardware para uma arquitetura de processador MIPS. Exploram-se várias implementações completas que têm a forma de coprocessadores fortemente acoplados. Estes coprocessadores ocupam apenas 4% de um FPGA de tamanho médio, enquanto o processador em si ocupa 3% do mesmo dispositivo. O processo de exploração do espaço de soluções de projeto descrito aqui considera as figuras de mérito área, desempenho e potência e considera variações na escolha da ferramenta de síntese, do método de geração a unidade de ponto flutuante e questões arquiteturais tais como estratégias de uso de relógios. Os experimentos conduzidos mostram reduções de mais de 20 vezes na contagem do número de ciclos de relógio do processador, para módulos de aplicação típicos que usam ponto flutuante de forma intensiva, quando comparado com processamento de representações de ponto flutuante emulado em software. |
| id |
P_RS_04d25488ceadee8a526af5116c1ffc9c |
|---|---|
| oai_identifier_str |
oai:tede2.pucrs.br:tede/5211 |
| network_acronym_str |
P_RS |
| network_name_str |
Biblioteca Digital de Teses e Dissertações da PUC_RS |
| repository_id_str |
|
| spelling |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGASINFORMÁTICAARQUITETURA DE COMPUTADORFPGACNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOCircuitos aritméticos são parte fundamental de sistemas digitais, uma vez que cada porção de informação processada por estes deve ter sido codificada previamente sob a forma de números, e que a aritmética é a forma por excelência de proceder à manipulação sistemática de números. Existe uma grande quantidade de esquemas de codificação usados em sistemas digitais, mas três formas de representação se sobressaem por serem usadas na maioria maciça das situações: números sem sinal, números inteiros e a representação de ponto flutuante. Os dois primeiros são mais simples e mais universais, mas algumas aplicações exigem o recurso à faixa estendida de valores e à precisão incrementada de representações de ponto flutuante. Embora o uso de hardware de ponto flutuante em FPGAs tenha sido por muito tempo considerado inviável ou relegado ao uso apenas em dispositivos e plataformas de alto custo, esta não é mais a situação atual. Este trabalho descreve o processo de projeto, a implementação física e uma avaliação preliminar de unidades de processamento de ponto flutuante de precisão simples em hardware para uma arquitetura de processador MIPS. Exploram-se várias implementações completas que têm a forma de coprocessadores fortemente acoplados. Estes coprocessadores ocupam apenas 4% de um FPGA de tamanho médio, enquanto o processador em si ocupa 3% do mesmo dispositivo. O processo de exploração do espaço de soluções de projeto descrito aqui considera as figuras de mérito área, desempenho e potência e considera variações na escolha da ferramenta de síntese, do método de geração a unidade de ponto flutuante e questões arquiteturais tais como estratégias de uso de relógios. Os experimentos conduzidos mostram reduções de mais de 20 vezes na contagem do número de ciclos de relógio do processador, para módulos de aplicação típicos que usam ponto flutuante de forma intensiva, quando comparado com processamento de representações de ponto flutuante emulado em software.Arithmetic circuits are a fundamental part of digital systems, since every piece of information processed by them must first be encoded as numbers, and arithmetic is the ultimate way to systematically manipulate numbers. There exists a large number of available number encoding schemes, but three of these stand as useful in most situations: unsigned, integer and floating point. The first two are simpler and more universal, but some applications do require the recourse to the extended range of values, and the increased precision of floating point representations. Although the use of floating point hardware in FPGAs has long been considered unfeasible or relegated to use only in expensive devices and platforms, this is no longer the case. This work describes the design process, the implementation and a preliminary evaluation of single-precision floating point hardware units for an instance of the MIPS processor architecture. It explores several fully-fledged implementations that have the form of strongly coupled coprocessors. These coprocessors take as little room as 4% of a medium-sized FPGA, while the processor CPU may take only 3% of the same device. The space exploration process described here values area, performance and power metrics and considers variations on the choice of synthesis tool, floating point unit generation method and architectural issues such as clocking schemes. The conducted experiments show reductions of more than 20 times in clock cycles count for typical floating point application modules, when compared to the use of software-emulated floating point processing.Pontifícia Universidade Católica do Rio Grande do SulFaculdade de InformácaBRPUCRSPrograma de Pós-Graduação em Ciência da ComputaçãoCalazans, Ney Laert Vilarhttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4781414E5Rodolfo, Taciano Ares2015-04-14T14:49:59Z2013-05-032010-03-15info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfRODOLFO, Taciano Ares. Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS. 2010. 109 f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2010.http://tede2.pucrs.br/tede2/handle/tede/5211porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RS2015-04-17T14:57:31Zoai:tede2.pucrs.br:tede/5211Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2015-04-17T14:57:31Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false |
| dc.title.none.fl_str_mv |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| title |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| spellingShingle |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS Rodolfo, Taciano Ares INFORMÁTICA ARQUITETURA DE COMPUTADOR FPGA CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| title_short |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| title_full |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| title_fullStr |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| title_full_unstemmed |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| title_sort |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS |
| author |
Rodolfo, Taciano Ares |
| author_facet |
Rodolfo, Taciano Ares |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Calazans, Ney Laert Vilar http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4781414E5 |
| dc.contributor.author.fl_str_mv |
Rodolfo, Taciano Ares |
| dc.subject.por.fl_str_mv |
INFORMÁTICA ARQUITETURA DE COMPUTADOR FPGA CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| topic |
INFORMÁTICA ARQUITETURA DE COMPUTADOR FPGA CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| description |
Circuitos aritméticos são parte fundamental de sistemas digitais, uma vez que cada porção de informação processada por estes deve ter sido codificada previamente sob a forma de números, e que a aritmética é a forma por excelência de proceder à manipulação sistemática de números. Existe uma grande quantidade de esquemas de codificação usados em sistemas digitais, mas três formas de representação se sobressaem por serem usadas na maioria maciça das situações: números sem sinal, números inteiros e a representação de ponto flutuante. Os dois primeiros são mais simples e mais universais, mas algumas aplicações exigem o recurso à faixa estendida de valores e à precisão incrementada de representações de ponto flutuante. Embora o uso de hardware de ponto flutuante em FPGAs tenha sido por muito tempo considerado inviável ou relegado ao uso apenas em dispositivos e plataformas de alto custo, esta não é mais a situação atual. Este trabalho descreve o processo de projeto, a implementação física e uma avaliação preliminar de unidades de processamento de ponto flutuante de precisão simples em hardware para uma arquitetura de processador MIPS. Exploram-se várias implementações completas que têm a forma de coprocessadores fortemente acoplados. Estes coprocessadores ocupam apenas 4% de um FPGA de tamanho médio, enquanto o processador em si ocupa 3% do mesmo dispositivo. O processo de exploração do espaço de soluções de projeto descrito aqui considera as figuras de mérito área, desempenho e potência e considera variações na escolha da ferramenta de síntese, do método de geração a unidade de ponto flutuante e questões arquiteturais tais como estratégias de uso de relógios. Os experimentos conduzidos mostram reduções de mais de 20 vezes na contagem do número de ciclos de relógio do processador, para módulos de aplicação típicos que usam ponto flutuante de forma intensiva, quando comparado com processamento de representações de ponto flutuante emulado em software. |
| publishDate |
2010 |
| dc.date.none.fl_str_mv |
2010-03-15 2013-05-03 2015-04-14T14:49:59Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
RODOLFO, Taciano Ares. Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS. 2010. 109 f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2010. http://tede2.pucrs.br/tede2/handle/tede/5211 |
| identifier_str_mv |
RODOLFO, Taciano Ares. Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS. 2010. 109 f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2010. |
| url |
http://tede2.pucrs.br/tede2/handle/tede/5211 |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informáca BR PUCRS Programa de Pós-Graduação em Ciência da Computação |
| publisher.none.fl_str_mv |
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informáca BR PUCRS Programa de Pós-Graduação em Ciência da Computação |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) instacron:PUC_RS |
| instname_str |
Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) |
| instacron_str |
PUC_RS |
| institution |
PUC_RS |
| reponame_str |
Biblioteca Digital de Teses e Dissertações da PUC_RS |
| collection |
Biblioteca Digital de Teses e Dissertações da PUC_RS |
| repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) |
| repository.mail.fl_str_mv |
biblioteca.central@pucrs.br|| |
| _version_ |
1850041267096911872 |