Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGAS

Detalhes bibliográficos
Autor(a) principal: Rodolfo, Taciano Ares
Data de Publicação: 2010
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da PUC_RS
Texto Completo: http://tede2.pucrs.br/tede2/handle/tede/5211
Resumo: 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.
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 Calazans, Ney Laert VilarCPF:26542684034http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4781414E5CPF:95894390044http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4774472A8Rodolfo, Taciano Ares2015-04-14T14:49:59Z2013-05-032010-03-15RODOLFO, 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/5211Arithmetic 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.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.Made available in DSpace on 2015-04-14T14:49:59Z (GMT). No. of bitstreams: 1 447663.pdf: 3152066 bytes, checksum: ada0593d3cfeecc7c99152d88798658e (MD5) Previous issue date: 2010-03-15application/pdfhttp://tede2.pucrs.br:80/tede2/retrieve/15387/447663.pdf.jpgporPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBRFaculdade de InformácaINFORMÁTICAARQUITETURA DE COMPUTADORFPGACNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOUma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGASinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis19749965330812744705006001946639708616176246info: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_RSTHUMBNAIL447663.pdf.jpg447663.pdf.jpgimage/jpeg4158http://tede2.pucrs.br/tede2/bitstream/tede/5211/3/447663.pdf.jpg928d4e35cbff5a5a71c3f538ba0fb55aMD53TEXT447663.pdf.txt447663.pdf.txttext/plain198699http://tede2.pucrs.br/tede2/bitstream/tede/5211/2/447663.pdf.txtf1d3ef27b0430191b079a3b31f9db29aMD52ORIGINAL447663.pdfapplication/pdf3152066http://tede2.pucrs.br/tede2/bitstream/tede/5211/1/447663.pdfada0593d3cfeecc7c99152d88798658eMD51tede/52112015-04-17 11:57:31.998oai: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.por.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.advisor1.fl_str_mv Calazans, Ney Laert Vilar
dc.contributor.advisor1ID.fl_str_mv CPF:26542684034
dc.contributor.advisor1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4781414E5
dc.contributor.authorID.fl_str_mv CPF:95894390044
dc.contributor.authorLattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4774472A8
dc.contributor.author.fl_str_mv Rodolfo, Taciano Ares
contributor_str_mv Calazans, Ney Laert Vilar
dc.subject.por.fl_str_mv INFORMÁTICA
ARQUITETURA DE COMPUTADOR
FPGA
topic INFORMÁTICA
ARQUITETURA DE COMPUTADOR
FPGA
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2010
dc.date.issued.fl_str_mv 2010-03-15
dc.date.available.fl_str_mv 2013-05-03
dc.date.accessioned.fl_str_mv 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.citation.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.
dc.identifier.uri.fl_str_mv 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.relation.program.fl_str_mv 1974996533081274470
dc.relation.confidence.fl_str_mv 500
600
dc.relation.department.fl_str_mv 1946639708616176246
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
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv PUCRS
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Faculdade de Informáca
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
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
bitstream.url.fl_str_mv http://tede2.pucrs.br/tede2/bitstream/tede/5211/3/447663.pdf.jpg
http://tede2.pucrs.br/tede2/bitstream/tede/5211/2/447663.pdf.txt
http://tede2.pucrs.br/tede2/bitstream/tede/5211/1/447663.pdf
bitstream.checksum.fl_str_mv 928d4e35cbff5a5a71c3f538ba0fb55a
f1d3ef27b0430191b079a3b31f9db29a
ada0593d3cfeecc7c99152d88798658e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
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_ 1799765306149699584