Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754
Autor(a) principal: | |
---|---|
Data de Publicação: | 2008 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFPE |
dARK ID: | ark:/64986/0013000012k92 |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/1464 |
Resumo: | Os FPGAs (Field Programable Gate Array) têm sido considerados como uma opção atrativa no desenvolvimento de co-processadores de aplicação específica para sistemas computacionais de alto desempenho. Tradicionalmente, entretanto, estes dispositivos vinham sendo empregados apenas para implementar sistemas que não demandassem um uso intensivo de operações aritméticas envolvendo números em ponto flutuante. Isto acontecia principalmente devido à alta complexidade e ao tamanho dos cores de hardware gerados e também devido a escassez de recursos lógicos adequados a este tipo de aplicação nos FPGAs disponíveis à época. Os recentes avanços nesta tecnologia tem permitido a construção de novas famílias de FPGAs, os quais além de contar com dezenas de milhões de portas lógicas, dispõem também de recursos de hardware mais adequados à aplicações de processamento de alto desempenho, tais como: CPUs, DSPs (Digital Signal Processor) e grandes blocos de memória. Estes novos recursos tem permitido que projetistas e engenheiros possam implementar com maior facilidade coprocessadores aritméticos mais adequados a aplicações de computação científica. Neste trabalho, serão apresentados os detalhes de construção de uma unidade aritmética, um multiplicador e acumulador (MAC), implementado em FPGA, o qual segue o padrão IEEE 754 para números em ponto flutuante de precisão dupla. Esta unidade foi desenvolvida como parte de um co-processador aritmético de aplicação específica, dedicado a multiplicação de matrizes densas, para uso em plataformas computacionais de alto desempenho. O padrão IEEE 754 é descrito em detalhes, bem como a arquitetura interna da unidade aritmética implementada. Serão apresentadas também as metodologia de desenvolvimento e teste empregadas na construção deste dispositivo |
id |
UFPE_590dbb978a179b457cf11c29ab4728c9 |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/1464 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
Corrêa Barros, AbnerEusébio de Lima, Manoel 2014-06-12T15:50:19Z2014-06-12T15:50:19Z2008-01-31Corrêa Barros, Abner; Eusébio de Lima, Manoel. Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.https://repositorio.ufpe.br/handle/123456789/1464ark:/64986/0013000012k92Os FPGAs (Field Programable Gate Array) têm sido considerados como uma opção atrativa no desenvolvimento de co-processadores de aplicação específica para sistemas computacionais de alto desempenho. Tradicionalmente, entretanto, estes dispositivos vinham sendo empregados apenas para implementar sistemas que não demandassem um uso intensivo de operações aritméticas envolvendo números em ponto flutuante. Isto acontecia principalmente devido à alta complexidade e ao tamanho dos cores de hardware gerados e também devido a escassez de recursos lógicos adequados a este tipo de aplicação nos FPGAs disponíveis à época. Os recentes avanços nesta tecnologia tem permitido a construção de novas famílias de FPGAs, os quais além de contar com dezenas de milhões de portas lógicas, dispõem também de recursos de hardware mais adequados à aplicações de processamento de alto desempenho, tais como: CPUs, DSPs (Digital Signal Processor) e grandes blocos de memória. Estes novos recursos tem permitido que projetistas e engenheiros possam implementar com maior facilidade coprocessadores aritméticos mais adequados a aplicações de computação científica. Neste trabalho, serão apresentados os detalhes de construção de uma unidade aritmética, um multiplicador e acumulador (MAC), implementado em FPGA, o qual segue o padrão IEEE 754 para números em ponto flutuante de precisão dupla. Esta unidade foi desenvolvida como parte de um co-processador aritmético de aplicação específica, dedicado a multiplicação de matrizes densas, para uso em plataformas computacionais de alto desempenho. O padrão IEEE 754 é descrito em detalhes, bem como a arquitetura interna da unidade aritmética implementada. Serão apresentadas também as metodologia de desenvolvimento e teste empregadas na construção deste dispositivoporUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessFPGAMultiplicador e acumuladorAritmética de Ponto FlutuantePadrão IEEE 754Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALarquivo1633_1.pdfapplication/pdf3430552https://repositorio.ufpe.br/bitstream/123456789/1464/1/arquivo1633_1.pdf3faeba7130f6e7c5c09f28267843f88aMD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/1464/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo1633_1.pdf.txtarquivo1633_1.pdf.txtExtracted texttext/plain205420https://repositorio.ufpe.br/bitstream/123456789/1464/3/arquivo1633_1.pdf.txtbf078938b44865b5b3367409f6b81427MD53THUMBNAILarquivo1633_1.pdf.jpgarquivo1633_1.pdf.jpgGenerated Thumbnailimage/jpeg1311https://repositorio.ufpe.br/bitstream/123456789/1464/4/arquivo1633_1.pdf.jpga7092de27c674b69ac7c552a544bad01MD54123456789/14642019-10-25 02:52:16.816oai:repositorio.ufpe.br:123456789/1464Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T05:52:16Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
title |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
spellingShingle |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 Corrêa Barros, Abner FPGA Multiplicador e acumulador Aritmética de Ponto Flutuante Padrão IEEE 754 |
title_short |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
title_full |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
title_fullStr |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
title_full_unstemmed |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
title_sort |
Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 |
author |
Corrêa Barros, Abner |
author_facet |
Corrêa Barros, Abner |
author_role |
author |
dc.contributor.author.fl_str_mv |
Corrêa Barros, Abner |
dc.contributor.advisor1.fl_str_mv |
Eusébio de Lima, Manoel |
contributor_str_mv |
Eusébio de Lima, Manoel |
dc.subject.por.fl_str_mv |
FPGA Multiplicador e acumulador Aritmética de Ponto Flutuante Padrão IEEE 754 |
topic |
FPGA Multiplicador e acumulador Aritmética de Ponto Flutuante Padrão IEEE 754 |
description |
Os FPGAs (Field Programable Gate Array) têm sido considerados como uma opção atrativa no desenvolvimento de co-processadores de aplicação específica para sistemas computacionais de alto desempenho. Tradicionalmente, entretanto, estes dispositivos vinham sendo empregados apenas para implementar sistemas que não demandassem um uso intensivo de operações aritméticas envolvendo números em ponto flutuante. Isto acontecia principalmente devido à alta complexidade e ao tamanho dos cores de hardware gerados e também devido a escassez de recursos lógicos adequados a este tipo de aplicação nos FPGAs disponíveis à época. Os recentes avanços nesta tecnologia tem permitido a construção de novas famílias de FPGAs, os quais além de contar com dezenas de milhões de portas lógicas, dispõem também de recursos de hardware mais adequados à aplicações de processamento de alto desempenho, tais como: CPUs, DSPs (Digital Signal Processor) e grandes blocos de memória. Estes novos recursos tem permitido que projetistas e engenheiros possam implementar com maior facilidade coprocessadores aritméticos mais adequados a aplicações de computação científica. Neste trabalho, serão apresentados os detalhes de construção de uma unidade aritmética, um multiplicador e acumulador (MAC), implementado em FPGA, o qual segue o padrão IEEE 754 para números em ponto flutuante de precisão dupla. Esta unidade foi desenvolvida como parte de um co-processador aritmético de aplicação específica, dedicado a multiplicação de matrizes densas, para uso em plataformas computacionais de alto desempenho. O padrão IEEE 754 é descrito em detalhes, bem como a arquitetura interna da unidade aritmética implementada. Serão apresentadas também as metodologia de desenvolvimento e teste empregadas na construção deste dispositivo |
publishDate |
2008 |
dc.date.issued.fl_str_mv |
2008-01-31 |
dc.date.accessioned.fl_str_mv |
2014-06-12T15:50:19Z |
dc.date.available.fl_str_mv |
2014-06-12T15:50:19Z |
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 |
Corrêa Barros, Abner; Eusébio de Lima, Manoel. Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/1464 |
dc.identifier.dark.fl_str_mv |
ark:/64986/0013000012k92 |
identifier_str_mv |
Corrêa Barros, Abner; Eusébio de Lima, Manoel. Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008. ark:/64986/0013000012k92 |
url |
https://repositorio.ufpe.br/handle/123456789/1464 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/1464/1/arquivo1633_1.pdf https://repositorio.ufpe.br/bitstream/123456789/1464/2/license.txt https://repositorio.ufpe.br/bitstream/123456789/1464/3/arquivo1633_1.pdf.txt https://repositorio.ufpe.br/bitstream/123456789/1464/4/arquivo1633_1.pdf.jpg |
bitstream.checksum.fl_str_mv |
3faeba7130f6e7c5c09f28267843f88a 8a4605be74aa9ea9d79846c1fba20a33 bf078938b44865b5b3367409f6b81427 a7092de27c674b69ac7c552a544bad01 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1815172982448848896 |