Spelling suggestions: "subject:"reconfigurables"" "subject:"reconfigurable""
11 |
Reconfigurabilidade dinâmica e remota de FPGAs. / Dynamic and remote reconfiguration of FPGAs.Ribeiro, Alexandre Alves de Lima 22 August 2002 (has links)
Neste trabalho estudou-se diversas arquiteturas de dispositivos FPGAs presentes no mercado, visando a utilização desta tecnologia em arquiteturas de computação reconfigurável. Especificamente foram investigados recursos e técnicas de reconfigurabilidade dinâmica destes dispositivos. A possibilidade de reconfigurar dinamicamente o hardware cria diversas expectativas de superação das arquiteturas de computação tradicional. Surge o conceito de hardware virtual, assim como inúmeras dificuldades em utilizar efetivamente esta tecnologia. Outra característica promissora que a tecnologia FPGA oferece é a possibilidade de realizar upgrades remotos do hardware, sem a necessidade de substituição física de equipamentos ou parte deles. Em adicional, foi implementado um sistema multi-FPGAs com dispositivos reconfiguráveis individualmente de forma local ou remota. Este sistema poderá ser a base para uma arquitetura de computação reconfigurável, sendo ela dinâmica ou não. / In this work it was studied several architectures of FPGAs devices available in the market, seeking the use of this technology in architectures of reconfigurable computing. It was specifically researched resources and techniques of dynamic reconfiguration of these devices. The possibility of reconfigure the hardware dynamically creates countless expectations to overcome the architectures of traditional computing. The concept of virtual hardware emerges, as well as a lot of difficulties in using actually this technology. Another promising characteristic that the technology FPGA offers it is the possibility to accomplishing remote upgrades of the hardware, without the need of physical substitution of equipments or of parts of them. In addition, a system multi-FPGAs was implemented with individually reconfigurable devices in local or remote way. This system can be the base for an architecture of reconfigurable computing, being it dynamics or not.
|
12 |
Técnicas de profiling para o co-projeto de hardware e software baseado em computação reconfigurável aplicadas ao processador softcore Nios II da Altera / Hardware and software codesing profiling techniques based on reconfigurable computing applied to the Altera´s Nios soft core processorLuiz Henrique Kiehn 21 September 2012 (has links)
Como avanço dos paradigmas de desenvolvimento de sistemas eletrônicos, novos conceitos, modelos e técnicas resultaram dessa evolução, gerando ferramentas mais eficientes e objetivas. Entre estas, as de automação de projetos eletrônicos (EDA - Electronic Design Automation) em nível de sistema (ESL - Electronic System Level) trouxeram um incremento considerável de produtividade à confecção de sistemas eletrônicos, inclusive de sistemas embarcados. Já no que se refere ao desempenho do sistema elaborado, monitorar sua execução e determinar seu perfil de funcionamento são tarefas essenciais para avaliar, a partir do seu comportamento, quais os pontos que representam gargalos ou pontos críticos, afetando sua eficiência geral. Dessa forma, faz-se necessário pesquisar princípios de verificação e otimização dos sistemas elaborados que estejam mais bem adaptados aos novos paradigmas de desenvolvimento de projetos. O presente trabalho tem por objetivo implementar um módulo de coleta e processamento de dados para análise de perfil de programas escritos na linguagem C e que sejam executados em processadores soft core, como o NiosII, da Altera. Entretanto, diferentemente das estatísticas oferecidas pela ferramenta GProf (GNU Profiling) com relação à análise de desempenho, em que cada amostra obtida implica no incremento de um contador para a função flagrada, o presente trabalho volta seu interesse à análise do perfil de uso de memória heap, que encontra-se mormente no volume alocado constatado em cada amostragem. Dessa forma, para diferentes amostragens de uma mesma função interessa saber qual a maior quantidade de memória utilizada pela função entre todas as amostras coletadas. Isso significa que, ao invés de incremento por amostragem, adotar-se-á o princípio do registro do maior valor, em número de bytes, de uso de memória constatado em cada função. Os principais recursos do módulo proposto são: a) o armazenamento das informações de uso de memória heap obtidas no processo de Profiling em formato apropriado para uso posterior por aplicações de co-projeto de hardware e software; e b) a geração de relatórios de Profiling que apresentem o volume de memória dinâmica alocada durante o processamento dos programas analisados para que se possa identificar os locais onde esse uso é mais crítico, permitindo ao projetista tomar decisões quanto à reformulação do código fonte, ou quanto ao incremento no tamanho da memória a ser instalada no sistema, ou quanto à reformulação da arquitetura de um modo geral / Due to the advancement of the paradigms of development of electronic systems, new concepts, models and techniques resulted from this evolution, generating more eficient and objective tools. Among them, the system-level (ESL) electronic design automation (EDA) ones has brought a considerable increase to the productivity of electronic systems manufacturing, especially including the embedded systems. In what refers to elaborated systems, monitoring its execution and determining its operating profile are the essential tasks to assess, from its behavior, which points in this system represent bottlenecks or hot spots, affecting its overall efficiency. Thus, it is necessary to study the principles of verification and optimization of the elaborated systems that are better adapted to the new paradigms of projects development. The present work has as its aim implementing a processing module for data collection and analysis of C language writen programs profile, wich will run in soft core processors, like Alteras NiosII. However, unlike the statistics offered by the tool GProf (GNU Profiling) tool with respect to performance analysis, in which each sample obtained implies the increment of a counter to the function caught, this paper turns his interest to the analysis of memory usage profiling, which is especially found in volume allocated in each sample. Thus, for different samples of the same function, the matter is to know the most amount of memory used by the function among all samples collected. This means that instead of increasing sample we will adopt the principle of registration of the highest number of bytes of memory usage observed in each function. So, this tools main features are: a) storing the information of memory use in the heap memory obtained in the process of Profiling in an appropriate format for later use by hardware and software codesign applications; and b) the reporting of Profiling that shows the dynamic memory volume allocated during analyzed programs processing so one can identify where such use is more critical, allowing the designer to make decisions regarding the reformulation of source code, or as to the increase in memory size to be installed int the system, or as to the architecture redesign
|
13 |
Códigos adaptativos e linguagem para programação adaptativa: conceitos e tecnologia. / Adaptive code and language for adaptive programming: concepts and technology.Eder José Pelegrini 17 April 2009 (has links)
Esse trabalho relata o estudo sobre a aplicação da tecnologia adaptativa na área de linguagens de programação e códigos, tendo como objetivo a proposição de mecanismos que permitam a escrita de códigos que possam se auto-modificar segundo os conceitos da tecnologia adaptativa. Essa proposta é feita por meio da descrição de uma linguagem de montagem para programação adaptativa e de seu mecanismo de execução. Em adição à linguagem, foi desenvolvido um ambiente de execução baseado em um novo dispositivo adaptativo (autômato de execução adaptativo), com o intuito de evitar certas dificuldades existentes à modificação de código impostas pelos mecanismos de execução. Para poder representar e executar códigos adaptativos, esse dispositivo agrega características de execução de ambientes tradicionais e dos autômatos adaptativos. Essa dissertação apresenta o resultado dessa pesquisa, consolidando os conceitos desenvolvidos por meio de exemplos de funcionamento de códigos adaptativos e considerações sobre a linguagem. / This research studies the application of the Adaptive Technology in the field of programming Language and codes, which objective is the proposition of a mechanism designed to build codes capable of self-modifying in compliance which the concepts of Adaptive Technology. This proposal is formulated by means of the description of an assembly language for adaptive programming and its run-time mechanism. In addition to the language proposal, a run-time mechanism based on a new adaptive device (adaptive execution automata) is conceived. That avoids some difficulties to perform code modification existent in traditional run-time mechanisms. In order to represent and execute the adaptive codes, this device aggregates characteristic of the traditional run-time mechanism and the adaptive automata. The present dissertation describes the results of this study, consolidating the concepts developed by means of examples about the code execution operation and considerations about the language.
|
14 |
Códigos adaptativos e linguagem para programação adaptativa: conceitos e tecnologia. / Adaptive code and language for adaptive programming: concepts and technology.Pelegrini, Eder José 17 April 2009 (has links)
Esse trabalho relata o estudo sobre a aplicação da tecnologia adaptativa na área de linguagens de programação e códigos, tendo como objetivo a proposição de mecanismos que permitam a escrita de códigos que possam se auto-modificar segundo os conceitos da tecnologia adaptativa. Essa proposta é feita por meio da descrição de uma linguagem de montagem para programação adaptativa e de seu mecanismo de execução. Em adição à linguagem, foi desenvolvido um ambiente de execução baseado em um novo dispositivo adaptativo (autômato de execução adaptativo), com o intuito de evitar certas dificuldades existentes à modificação de código impostas pelos mecanismos de execução. Para poder representar e executar códigos adaptativos, esse dispositivo agrega características de execução de ambientes tradicionais e dos autômatos adaptativos. Essa dissertação apresenta o resultado dessa pesquisa, consolidando os conceitos desenvolvidos por meio de exemplos de funcionamento de códigos adaptativos e considerações sobre a linguagem. / This research studies the application of the Adaptive Technology in the field of programming Language and codes, which objective is the proposition of a mechanism designed to build codes capable of self-modifying in compliance which the concepts of Adaptive Technology. This proposal is formulated by means of the description of an assembly language for adaptive programming and its run-time mechanism. In addition to the language proposal, a run-time mechanism based on a new adaptive device (adaptive execution automata) is conceived. That avoids some difficulties to perform code modification existent in traditional run-time mechanisms. In order to represent and execute the adaptive codes, this device aggregates characteristic of the traditional run-time mechanism and the adaptive automata. The present dissertation describes the results of this study, consolidating the concepts developed by means of examples about the code execution operation and considerations about the language.
|
15 |
Reconfigurabilidade dinâmica e remota de FPGAs. / Dynamic and remote reconfiguration of FPGAs.Alexandre Alves de Lima Ribeiro 22 August 2002 (has links)
Neste trabalho estudou-se diversas arquiteturas de dispositivos FPGAs presentes no mercado, visando a utilização desta tecnologia em arquiteturas de computação reconfigurável. Especificamente foram investigados recursos e técnicas de reconfigurabilidade dinâmica destes dispositivos. A possibilidade de reconfigurar dinamicamente o hardware cria diversas expectativas de superação das arquiteturas de computação tradicional. Surge o conceito de hardware virtual, assim como inúmeras dificuldades em utilizar efetivamente esta tecnologia. Outra característica promissora que a tecnologia FPGA oferece é a possibilidade de realizar upgrades remotos do hardware, sem a necessidade de substituição física de equipamentos ou parte deles. Em adicional, foi implementado um sistema multi-FPGAs com dispositivos reconfiguráveis individualmente de forma local ou remota. Este sistema poderá ser a base para uma arquitetura de computação reconfigurável, sendo ela dinâmica ou não. / In this work it was studied several architectures of FPGAs devices available in the market, seeking the use of this technology in architectures of reconfigurable computing. It was specifically researched resources and techniques of dynamic reconfiguration of these devices. The possibility of reconfigure the hardware dynamically creates countless expectations to overcome the architectures of traditional computing. The concept of virtual hardware emerges, as well as a lot of difficulties in using actually this technology. Another promising characteristic that the technology FPGA offers it is the possibility to accomplishing remote upgrades of the hardware, without the need of physical substitution of equipments or of parts of them. In addition, a system multi-FPGAs was implemented with individually reconfigurable devices in local or remote way. This system can be the base for an architecture of reconfigurable computing, being it dynamics or not.
|
16 |
Implementação do método de campos potenciais para navegação de robôs móveis baseada em computação reconfigurável.Rovilson Mezencio 20 November 2002 (has links)
Os algoritmos de navegação, para robôs móveis, baseados em células, ainda são de alto custo computacional. Depois de uma pesquisa dentre os algoritmos disponivéis, realizando comparações de desempenho entre salas e corredores chegou-se a um algoritmo que além de ótimo era altamente usado dentro do universo da robótico. Este algoritmo, baseado em Campos Potenciais, usado para desvio de obstáculos e planejamento de caminhos locais, foi implementado em hardware reconfigurável usando uma FPGA Altera. Comparações entre este hardware reconfigurável e processadores de propósito geral foram realizadas para concluir o trabalho.
|
17 |
LALP: uma linguagem para exploração do paralelismo de loops em computação reconfigurável / LALP: a language for parallelism of loops exploitation in reconfigurable computingRicardo Menotti 23 June 2010 (has links)
A computação reconfigurável tem se tornado cada vez mais importante em sistemas computacionais embarcados e de alto desempenho. Ela permite níveis de desempenho próximos aos obtidos com circuitos integrados de aplicação específica (ASIC), enquanto ainda mantém flexibilidade de projeto e implementação. No entanto, para programar eficientemente os dispositivos, é necessária experiência em desenvolvimento e domínio de linguagem de descrição de hardware (HDL), tais como VHDL ou Verilog. As técnicas empregadas na compilação em alto nível (por exemplo, a partir de programas em C) ainda possuem muitos pontos em aberto a serem resolvidos antes que se possa obter resultados eficientes. Muitos esforços em se obter um mapeamento direto de algoritmos em hardware se concentram em loops, uma vez que eles representam as regiões computacionalmente mais intensivas de muitos programas. Uma técnica particularmente útil para isto é a de loop pipelining, a qual geralmente é adaptada de técnicas de software pipelining. A aplicação dessas técnicas está fortemente relacionada ao escalonamento das instruções, o que frequentemente impede o uso otimizado dos recursos presentes nos FPGAs modernos. Esta tese descreve uma abordagem alternativa para o mapeamento direto de loops descritos em uma linguagem de alto nível para FPGAs. Diferentemente de outras abordagens, esta técnica não é proveniente das técnicas de software pipelining. Nas arquiteturas obtidas o controle das operações é distribuído, tornando desnecessária uma máquina de estados finitos para controlar a ordem das operações, o que permitiu a obtenção de implementações eficientes. A especificação de um bloco de hardware é feita por meio de uma linguagem de domínio específico (LALP), especialmente concebida para suportar a aplicação das técnicas. Embora a sintaxe da linguagem lembre C, ela contém certas construções que permitem intervenções do programador para garantir ou relaxar dependências de dados, conforme necessário, e assim otimizar o desempenho do hardware gerado / Reconfigurable computing is becoming increasingly important in embedded and high-performance computing systems. It allows performance levels close to the ones obtained with Application-Specific Integrated circuits (ASIC), while still keeping design and implementation flexibility. However, to efficiently program devices, one needs the expertise of hardware developers in order master hardware description languages (HDL) such as VHDL or Verilog. Attempts to furnish a high-level compilation flow (e.g., from C programs) still have to address open issues before broader efficient results can be obtained. Many efforts trying to achieve a direct of algorithms into hardware concentrate on loops since they represent the most computationally intensive regions of many application codes. A particularly useful technique for this purpose is loop pipelining, which is usually adapted from software pipelining techniques. The application of this technique is strongly related to instruction scheduling, whic often prevents an optimized use of the resources present in modern FPGAs. This thesis decribes an alternative approach to direct mapping loops described in high-level labguages onto FPGAs. Different from oyher approaches, this technique does not inherit from software pipelining techniques. The control is distributed over operations, thus a finite state machine is not necessary to control the order of operations, allowing efficient harware implementations. The specification of a hardware block is done by means of LALP, a domain specific language specially designed to help the application of the techniques. While the language syntax resembles C, it contains certain constructs that allow programmer interventions to enforce or relax data dependences as needed, and so optimize the performance of the generated hardware
|
18 |
Implementação de uma arquitetura para multiplicação de matrizes densas em sistemas reconfiguráveis de alto desempenhoLucy Santos de Souza, Viviane 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T15:54:52Z (GMT). No. of bitstreams: 2
arquivo2015_1.pdf: 2391415 bytes, checksum: 09ab851c629f8ccc9ea982e2c53f53b3 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / A recente evolução na arquitetura dos dispositivos lógicos programáveis, como os
FPGAs (Field Programmable Gate Array), associada à demanda por desempenho exigida em
aplicações de computação científica, despertou a atenção de projetistas de supercomputadores
que têm investido na criação de plataformas híbridas, associando processadores de propósito
geral a co-processadores baseados em FPGAs, em busca de melhores níveis de aceleração.
Uma arquitetura que incorpore um ou mais processadores de propósito geral e FPGAs
num link de alta velocidade é chamada computador reconfigurável de alto desempenho. Este
tipo de configuração requer, em geral, uma alta largura de banda entre o processador e o
FPGA, necessário para que os ganhos com a execução em hardware superem o gargalo na
comunicação.
O sucesso dessas plataformas depende de características como: recursos presentes no
FPGA, disponibilidade de memória na arquitetura, largura de banda e capacidade de
escalabilidade das mesmas. Ao mesmo tempo, uma análise adequada do problema e um
particionamento hardware/software eficiente, são necessários. Neste caso, processos com
características de controle devem ser executados no processador de propósito geral e a
computação intensiva deve ser executada em FPGA, onde podem ser exploradas
características como paralelismo de execução e reuso de dados.
Neste trabalho, são estudadas as principais características de alguns dos computadores
reconfiguráveis de alto desempenho existentes. Além disso, como estudo de caso, é
apresentada a análise e desenvolvimento de uma das importantes operações da computação
científica: a multiplicação de matrizes, objetivando uma das plataformas estudadas, a
plataforma RASC (Reconfigurable Application-Specific Computing), desenvolvida pela
Silicon Graphics.
A arquitetura proposta no estudo de caso visa, a partir da análise do problema e da
avaliação dos recursos disponíveis na plataforma alvo, a obtenção de melhores resultados de
desempenho quando comparado à execução em plataformas convencionais, baseadas em
processadores de propósito geral. Para tanto, características como paralelismo e o reuso de
dados são exploradas.
A partir do projeto desenvolvido, é apresentado um modelo para avaliação de
desempenho do multiplicador que pode ser aplicado às demais plataformas estudadas
|
19 |
Proposta e desenvolvimento de um algoritmo de associatividade reconfigurável em memórias cache. / Proposal and development of a reconfigurable associativity algorithm in cache memories.Kerr Junior, Roberto Borges 25 June 2008 (has links)
A evolução constante dos processadores está aumentando cada vez o overhead dos acessos à memória. Tentando evitar este problema, os desenvolvedores de processadores utilizam diversas técnicas, entre elas, o emprego de memórias cache na hierarquia de memórias dos computadores. As memórias cache, por outro lado, não conseguem suprir totalmente as suas necessidades, sendo interessante alguma técnica que tornasse possível aproveitar melhor a memória cache. Para resolver este problema, autores propõem a utilização de técnicas de computação reconfigurável. Este trabalho analisa um trabalho na área de reconfiguração na associatividade de memórias cache, e propõe melhorias nele para uma melhor utilização de seus recursos, apresentando resultados práticos de simulações realizadas com diversas organizações de cache. / With the constant evolution of processors architecture, its getting even bigger the overhead generated with memory access. Trying to avoid this problem, some processors developers are using several techniques to improve the performance, as the use of cache memories. By the otherside, cache memories cannot supply all their needs, thats why its important some new technique that could use better the cache memory. Working on this problem, some authors are using reconfigurable computing to improve the cache memorys performance. This work analyses the reconfiguration of the cache memory associativity algorithm, and propose some improvements on this algorithm to better use its resources, showing some practical results from simulations with several cache organizations.
|
20 |
Proposta e desenvolvimento de um algoritmo de associatividade reconfigurável em memórias cache. / Proposal and development of a reconfigurable associativity algorithm in cache memories.Roberto Borges Kerr Junior 25 June 2008 (has links)
A evolução constante dos processadores está aumentando cada vez o overhead dos acessos à memória. Tentando evitar este problema, os desenvolvedores de processadores utilizam diversas técnicas, entre elas, o emprego de memórias cache na hierarquia de memórias dos computadores. As memórias cache, por outro lado, não conseguem suprir totalmente as suas necessidades, sendo interessante alguma técnica que tornasse possível aproveitar melhor a memória cache. Para resolver este problema, autores propõem a utilização de técnicas de computação reconfigurável. Este trabalho analisa um trabalho na área de reconfiguração na associatividade de memórias cache, e propõe melhorias nele para uma melhor utilização de seus recursos, apresentando resultados práticos de simulações realizadas com diversas organizações de cache. / With the constant evolution of processors architecture, its getting even bigger the overhead generated with memory access. Trying to avoid this problem, some processors developers are using several techniques to improve the performance, as the use of cache memories. By the otherside, cache memories cannot supply all their needs, thats why its important some new technique that could use better the cache memory. Working on this problem, some authors are using reconfigurable computing to improve the cache memorys performance. This work analyses the reconfiguration of the cache memory associativity algorithm, and propose some improvements on this algorithm to better use its resources, showing some practical results from simulations with several cache organizations.
|
Page generated in 0.1264 seconds