Spelling suggestions: "subject:"arquitetura dde computador"" "subject:"arquitetura dee computador""
221 |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia / Exploiting software transactional memory in the context of asymmetric architecturesBaldassin, Alexandro José 15 August 2018 (has links)
Orientador: Paulo Cesar Centoducatte / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T20:59:38Z (GMT). No. of bitstreams: 1
Baldassin_AlexandroJose_D.pdf: 1596141 bytes, checksum: 265aa763c420b69f70d59ff687bd8ad9 (MD5)
Previous issue date: 2009 / Resumo: A adoção dos microprocessadores com múltiplos núcleos de execução pela indústria semicondutora tem criado uma crescente necessidade por novas linguagens, metodologias e ferramentas que tornem o desenvolvimento de sistemas concorrentes mais rápido, eficiente e acessível aos programadores de todos os níveis. Uma das principais dificuldades em programação concorrente com memória compartilhada é garantir a correta sincronização do código, evitando assim condições de corrida que podem levar o sistema a um estado inconsistente. A sincronização tem sido tradicionalmente realizada através de métodos baseados em travas, reconhecidos amplamente por serem de difícil uso e pelas anomalias causadas. Um novo mecanismo, conhecido como memória transacional (TM), tem sido alvo de muita pesquisa recentemente e promete simplificar o processo de sincronização, além de possibilitar maior oportunidade para extração de paralelismo e consequente desempenho. O cerne desta tese é formado por três trabalhos desenvolvidos no contexto dos sistemas de memória transacional em software (STM). Primeiramente, apresentamos uma implementação de STM para processadores assimétricos, usando a arquitetura Cell/B.E. como foco. Como principal resultado, constatamos que o uso de sistemas transacionais em arquiteturas assimétricas também é promissor, principalmente pelo fator escalabilidade. No segundo trabalho, adotamos uma abordagem diferente e sugerimos um sistema de STM especialmente voltado para o domínio de jogos computacionais. O principal motivo que nos levou nesta direção é o baixo desempenho das implementações atuais de STM. Um estudo de caso conduzido a partir de um jogo complexo mostra a eficácia do sistema proposto. Finalmente, apresentamos pela primeira vez uma caracterização do consumo de energia de um sistema de STM considerado estado da arte. Além da caracterização, também propomos uma técnica para redução do consumo em casos de alta contenção. Resultados obtidos a partir dessa técnica revelam ganhos de até 87% no consumo de energia / Abstract: The shift towards multicore processors taken by the semiconductor industry has initiated an era in which new languages, methodologies and tools are of paramount importance to the development of efficient concurrent systems that can be built in a timely way by all kinds of programmers. One of the main obstacles faced by programmers when dealing with shared memory programming concerns the use of synchronization mechanisms so as to avoid race conditions that could possibly lead the system to an inconsistent state. Synchronization has been traditionally achieved by means of locks (or variations thereof), widely known by their anomalies and hard-to-get-it-right facets. A new mechanism, known as transactional memory (TM), has recently been the focus of a lot of research and shows potential to simplify code synchronization as well as delivering more parallelism and, therefore, better performance. This thesis presents three works focused on different aspects of software transactional memory (STM) systems. Firstly, we show an STM implementation for asymmetric processors, focusing on the architecture of Cell/B.E. As an important result, we find out that memory transactions are indeed promising for asymmetric architectures, specially due to their scalability. Secondly, we take a different approach to STM implementation by devising a system specially targeted at computer games. The decision was guided by poor performance figures usually seen on current STM implementations. We also conduct a case study using a complex game that effectively shows the system's efficiency. Finally, we present the energy consumption characterization of a state-of-the-art STM for the first time. Based on the observed characterization, we also propose a technique aimed at reducing energy consumption in highly contended scenarios. Our results show that the technique is indeed effective in such cases, improving the energy consumption by up to 87% / Doutorado / Sistemas de Computação / Doutor em Ciência da Computação
|
222 |
PBIW : um esquema de codificação baseado em padrões de instrução / PBIW : an encoding technique based on instruction patternsBatistella, Rafael Fernandes 28 February 2008 (has links)
Orientador: Rodolfo Jardim de Azevedo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-11T00:49:37Z (GMT). No. of bitstreams: 1
Batistella_RafaelFernandes_M.pdf: 3411156 bytes, checksum: 7e6b46824189243405a180e949db65c6 (MD5)
Previous issue date: 2008 / Resumo: Trabalhos não muito recentes já mostravam que o aumento de velocidade nas memórias DRAM não acompanha o aumento de velocidade dos processadores. Mesmo assim, pesquisadores na área de arquitetura de computadores continuam buscando novas abordagens para aumentar o desempenho dos processadores. Dentro do objetivo de minimizar essa diferença de velocidade entre memória e processador, este trabalho apresenta um novo esquema de codificação baseado em instruções codificadas e padrões de instruções ¿ PBIW (Pattern Based Instruction Word). Uma instrução codificada não contém redundância de dados e é armazenada em uma I-cache. Os padrões de instrução, de forma diferente, são armazenados em uma nova cache, chamada Pattern cache (P-cache) e são utilizados pelo circuito decodificador na preparação da instrução que será repassada aos estágios de execução. Esta técnica se mostrou uma boa alternativa para estilos arquiteturais conhecidos como arquiteturas VLIW e EPIC. Foi realizado um estudo de caso da técnica PBIW sobre uma arquitetura de alto desempenho chamada de 2D-VLIW. O desempenho da técnica de codificação foi avaliado através de experimentos com programas dos benchmarks MediaBench, SPECint e SPECfp. Os experimentos estáticos avaliaram a eficiência da codificação PBIW no aspecto de redução de código. Nestes experimentos foram alcançadas reduções no tamanho dos programas de até 81% sobre programas codificados com a estratégia de codifica¸c¿ao 2D-VLIW e reduções de até 46% quando comparados á programas utilizando o modelo de codificação EPIC. Experimentos dinâmicos mostraram que a codificação PBIW também é capaz que gerar ganhos com relação ao tempo de execução dos programas. Quando comparada à codificação 2D-VLIW, o speedup alcançado foi de at'e 96% e quando comparada à EPIC, foi de até 69% / Abstract: Past works has shown that the increase of DRAM memory speed is not the same of processor speed. Even though, computer architecture researchers keep searching for new approaches to enhance the processor performance. In order to minimize this difference between the processor and memory speed, this work presents a new encoding technique based on encoded instructions and instruction patterns - PBIW (Pattern Based Instruction Word). An encoded instruction contains no redundancy of data and it is stored into an I-cache. The instruction patterns, on the other hand, are stored into a new cache, named Pattern cache (P-cache) and are used by the decoder circuit to build the instruction to be executed in the execution stages. This technique has shown a suitable alternative to well-known architectural styles such as VLIW and EPIC architectures. A case study of this technique was carried out in a high performance architecture called 2D-VLIW. The performance of the encoding technique has been evaluated through trace-driven experiments with MediaBench, SPECint and SPECfp programs. The static experiments have evaluated the PBIW code reduction efficiency. In these experiments, PBIW encoding has achieved up to 81% code reduction over 2D-VLIW encoded programs and up to 46% code reduction over EPIC encoded programs. Dynamic experiments have shown that PBIW encoding can also improve the processor performance. When compared to 2D-VLIW encoding, the speedup was up to 96% while compared to EPIC, the speedup was up to 69% / Mestrado / Arquitetura de Computadores / Mestre em Ciência da Computação
|
223 |
Uma abordagem em ArchC para caracterização e desenvolvimento de processadores em nível de arquitetura / An ArchC approach for characterization and development of processors in architecture levelGuedes, Marcelo, 1985- 22 August 2018 (has links)
Orientador: Rodolfo Jardim de Azevedo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-22T19:27:44Z (GMT). No. of bitstreams: 1
Guedes_Marcelo_M.pdf: 3596190 bytes, checksum: cb76d95f3dd3a8542b2e08b6b38550e0 (MD5)
Previous issue date: 2012 / Resumo: A dissertação apresenta acSynth, um conjunto de ferramentas integradas que tem por objetivo fornecer uma plataforma aberta de desenvolvimento e síntese de projetos a partir de descrições em ADL ArchC. Como primeiro trabalho, acSynth foi equipado com ferramentas para caracterização de consumo de energia de processadores através do método Tiwari. Isto foi concretizado através da composição das ferramentas PowerSC, acPower e acPowerGen, capacitando acSynth a obter e armazenar informações de consumo de energia. Estes dados podem, então, ser utilizados em simulações em acSim, com geração automática de relatórios em nível ADL. Após a caracterização, é possível distribuir as informações coletadas para evitar reexecutar o fluxo para as mesmas ferramentas e processadores. O trabalho apresenta resultados de caracterização dos processadores MIPS-I Plasma e SPARCv8 Leon3, bem como integração com as ferramentas de síntese da Altera e da Xilinx. Os processadores foram submetidos a testes com os benchmarks acStone, Mibench e Mediabench, com elaboração de relatórios de consumo de energia e gráficos de perfil energético no tempo. Um estudo do erro da caracterização foi apresentado. Para testes com MIPS-I o erro efetivo sobre plataforma Xilinx variou de 0,02% a 61,05%, com 91% dos casos com erro menor ou igual a 30%. Em plataforma Altera o erro efetivo variou de 0,01% a 17,49% com 96% dos casos com erro menor ou igual a 15%. Para testes com SPARCv8 em plataforma Xilinx o erro efetivo variou de 0,14% a 40,66% com 95% dos casos com erro menor ou igual a 20%. Adicionalmente, desenvolveu-se um processador MIPS-I pipelined através do fluxo da ferramenta acRTL. Um histórico do processo com detalhes dos prós e contras é apresentado. Um arquivo com dados de consumo de energia das instruções suportadas foi elaborado. Por fim, energia, área e desempenho foram estudados e comparados ao processador Plasma. As principais contribuições deste trabalho são: interconexão de ferramentas e mostra dos benefícios obtidos com isto; apresentação de uma abordagem de caracterização de consumo de energia de processadores no nível de arquitetura; demonstração de um método funcional para expansão de acSim para abarcar novos aspectos de simulação em alto nível; aplicação prática de acRTL / Abstract: This work presents acSynth, an integrated framework for development and synthesis based on ArchC ADL descriptions. In its first application, acSynth includes characterization tools to allow power consumption analysis for supported processor architectures, through Tiwari's method. The power analysis and characterization tools were achieved by integrating PowerSC, acPower and acPowerGen, allowing acSynth to gather, process and store power consumption data in order to create power reports. This data could then be used in acSim simulations, generating ADL level power analysis reports automatically. We show characterization results for MIPS-I Plasma processor and SPARCv8 Leon3 processor using two different synthesis tools and workflows, Altera and Xilinx. The processors were tested with acStone, Mibench and Mediabench benchmarks, generating power reports and energy consumption profile graphs with energy per time data. We analyzed the error comparing to RTL simulations. The analysis with MIPS-I and Xilinx tool set presented effective error between 0.02% and 61.05%, with 91% of the total number of analyzed cases presenting errors with less than or equal to 30%. Adopting Altera tool set, the effective error was between 0.01% and 17.49% with 96% of the total number of analyzed cases showing error with less than or equal to 15%. For SPARCv8 architecture, using Xilinx tool set, the effective error ranged between 0.14% and 40.66% with 95% of the total number of analyzed cases presenting errors with less than or equal to 20%. Furthermore, a MIPS-I pipelined processor was developed using the acRTL workflow. The complete development is detailed in this dissertation, highlighting the method advantages and disadvantages. The new processor power consumption data was collected and an acSynth power database generated. Finally, power, area and performance was investigated and compared to the stable processor Plasma. The main contributions of the present dissertation are: ArchC tool set integration showing the benefits in high level analysis; introduction of a new power characterization method in architecture level, expanding ArchC environment; design of a practical method to expand the acSim analysis and behavior, covering new high level simulation aspects; the practical use of acRTL / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
224 |
Técnicas de formação de regiões para projetos de máquinas virtuais eficientes / Region formation techniques for efficient virtual machines designZinsly, Raphael Moreira, 1989- 23 August 2018 (has links)
Orientadores: Sandro Rigo, Edson Borin / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-23T22:21:33Z (GMT). No. of bitstreams: 1
Zinsly_RaphaelMoreira_M.pdf: 2659662 bytes, checksum: 961bbb4fb596ee0d81d07c51279c44ed (MD5)
Previous issue date: 2013 / Resumo: O resumo poderá ser visualizado no texto completo da tese digital / Abstract: The complete abstract is available with the full electronic document / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
225 |
Geração automática de backend de compiladores baseada em ADLs / ADL based automatic compiler backend generationAuler, Rafael, 1986- 19 August 2018 (has links)
Orientador: Paulo Cesar Centoducatte / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-19T09:40:46Z (GMT). No. of bitstreams: 1
Auler_Rafael_M.pdf: 1695289 bytes, checksum: e7a4a8add24fe834544d29e932451d61 (MD5)
Previous issue date: 2011 / Resumo: O processo de automatização da criação de backends de compiladores, isto é, do componente responsável pela tradução final para código de máquina, é perseguido desde o surgimento dos primeiros compiladores. A separação entre os algoritmos empregados no backend e a descrição formal da máquina, que requer conhecimento sobre a arquitetura alvo, é uma característica bastante desejada, uma vez que propicia a criação de novos backends sem a necessidade de conhecer o projeto do compilador, mas apenas do processador. Por esse motivo, um esforço natural para manter o desenvolvimento simples e intuitivo é a concentração do conhecimento sobre a máquina alvo em uma forma concisa de descrição, a partir da qual seja possível especializar algoritmos genéricos de compilação para este alvo específico. Uma linguagem de descrição de arquiteturas (ADL) permite a especificação das características arquiteturais de processadores, incluindo o seu conjunto de instruções (ISA). Neste trabalho, um estudo de mecanismos para gerar backend de compiladores através de descrições arquiteturais de processadores é apresentado, com ênfase no estudo de caso da ADL ArchC com o compilador LLVM. Um protótipo de um gerador de backends para LLVM a partir de uma descrição em ArchC foi desenvolvido, e backends para as arquiteturas ARM, MIPS, SPARC e PowerPC foram gerados com sucesso. Para alcançar este objetivo, foi usado um algoritmo de busca para resolver o problema da programação automática e inferir como implementar fragmentos pré-selecionados da linguagem intermediária LLVM utilizando instruções de uma arquitetura alvo arbitrária. Quatro técnicas para aumentar a velocidade deste algoritmo são apresentadas, de forma a não somente viabilizar uma solução para a geração automática de backends, mas também concluir o processo em menos de 20 segundos para três das quatro arquiteturas testadas. Programas do benchmark Mibench foram compilados com os compiladores gerados, executados com simuladores ArchC e os resultados comparados com aqueles gerados a partir dos mesmos programas compilados com os compiladores gcc e LLVM original, validando os novos backends. A qualidade do código gerado pode ser comparada com a de compiladores consagrados, caso seja utilizado um otimizador peephole para realizar substituições simples de algumas sequências ineficientes / Abstract: Researchers pursue the automation of compiler backend generation, the component responsible for final translation from intermediate language to machine code, since the begining of compilers theory creation. The separation between the algorithms used in the backend and formal machine description, which encompasses knowledge about the target architecture, is an important feature, since it facilitates the creation of new backends without the need for deep understanding of the compiler project. For this reason, an effort to maintain the development natural, simple and intuitive must concentrate the knowledge of the target machine in a concise description in a way it is possible to specialize generic algorithms to this target. An architecture description language (ADL) allows the specification of architectural features of processors, comprising the instruction set architecture available. This work presents a study of mechanisms for generating compiler backend through architectural descriptions of processors, with emphasis on a case study of the ArchC ADL with the LLVM compiler. We developed an automatic backend generator prototype for LLVM backends based on ArchC and successfully generated backends for the architectures ARM, MIPS, PowerPC and SPARC. To achieve this, we used a search algorithm to solve the problem of automatic programming and to infer how to implement pre-selected fragments of LLVM intermediate language using instructions of an arbitrary target architecture. We present four techniques to increase the speed of this algorithm which not only enables a solution for the automatic generation of backends, but also completes the process in less than 20 seconds for three of four architectures tested. Test compilation of Mibench benchmark programs attested the proper functioning of the backend and revealed that the quality of the generated code can compare with that of existing compilers, if a peephole optimizer were used to perform some simple substitutions of inefficient sequences / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
226 |
Mecanismo para execução especulativa de aplicações paralelizadas por técnicas DOPIPE usando replicação de estágios / Mechanism for speculative execution of applications parallelized by DOPIPE techniques using stage replicationBaixo, André Oliveira Loureiro do, 1986- 21 August 2018 (has links)
Orientador: Guido Costa Souza de Araújo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-21T04:52:37Z (GMT). No. of bitstreams: 1
Baixo_AndreOliveiraLoureirodo_M.pdf: 1756118 bytes, checksum: 00900e9463b55e1800da080419da53c7 (MD5)
Previous issue date: 2012 / Resumo: A utilização máxima dos núcleos de arquiteturas multi-processadas é fundamental para permitir uma utilização completa do paralelismo disponível em processadores modernos. A fim de obter desempenho escalável, técnicas de paralelização requerem um ajuste cuidadoso de: (a) mecanismo arquitetural para especulação; (b) ambiente de execução; e (c) transformações baseadas em software. Mecanismos de hardware e software já foram propostos para tratar esse problema. Estes mecanismos, ou requerem alterações profundas (e arriscadas) nos protocolos de coerência de cache, ou exibem uma baixa escalabilidade de desempenho para uma gama de aplicações. Trabalhos recentes em técnicas de paralelização baseadas em DOPIPE (como DSWP) sugerem que a combinação de versionamento de dados baseado em paginação com especulação em software pode resultar em bons ganhos de desempenho. Embora uma solução apenas em software pareça atrativa do ponto de vista da indústria, essa não utiliza todo o potencial da microarquitetura para detectar e explorar paralelismo. A adição de tags às caches para habilitar o versionamento de dados, conforme recentemente anunciado pela indústria, pode permitir uma melhor exploração de paralelismo no nível da microarquitetura. Neste trabalho, é apresentado um modelo de execução que permite tanto a especulação baseada em DOPIPE, como as técnicas de paralelização especulativas tradicionais. Este modelo é baseado em uma simples abordagem com tags de cache para o versionamento de dados, que interage naturalmente com protocolos de coerência de cache tradicionais, não necessitando que estes sejam alterados. Resultados experimentais, utilizando benchmarks SPEC e PARSEC, revelam um ganho de desempenho geométrico médio de 21.6× para nove programas sequenciais em uma máquina simulada de 24 núcleos, demonstrando uma melhora na escalabilidade quando comparada a uma abordagem apenas em software / Abstract: Maximal utilization of cores in multicore architectures is key to realize the potential performance available from modern microprocessors. In order to achieve scalable performance, parallelization techniques rely on carefully tunning speculative architecture support, runtime environment and software-based transformations. Hardware and software mechanisms have already been proposed to address this problem. They either require deep (and risky) changes on the existing hardware and cache coherence protocols, or exhibit poor performance scalability for a range of applications. Recent work on DOPIPE-based parallelization techniques (e.g. DSWP) has suggested that the combination of page-based data versioning with software speculation can result in good speed-ups. Although a softwareonly solution seems very attractive from an industry point-of-view, it does not enable the whole potential of the microarchitecture in detecting and exploiting parallelism. The addition of cache tags as an enabler for data versioning, as recently announced in the industry, could allow a better exploitation of parallelism at the microarchitecture level. In this paper we present an execution model that supports both DOPIPE-based speculation and traditional speculative parallelization techniques. It is based on a simple cache tagging approach for data versioning, which integrates smoothly with typical cache coherence protocols, and does not require any changes to them. Experimental results, using SPEC and PARSEC benchmarks, reveal a geometric mean speedup of 21.6x for nine sequential programs in a 24-core simulated CMP, while demonstrate improved scalability when compared to a software-only approach / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
227 |
Projeto e implementação de um descompressor PDC-ComPacket em um processador SPARC / Design and implementation of a PDC-ComPacket decompressor in a SPARC processorBillo, Eduardo Afonso 25 April 2005 (has links)
Orientador: Rodolfo Jardim de Azevedo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-04T08:51:13Z (GMT). No. of bitstreams: 1
Billo_EduardoAfonso_M.pdf: 759147 bytes, checksum: bacd2eb22dce28eed515a407e9f0a0e2 (MD5)
Previous issue date: 2005 / Resumo: E cada vez mais comum encontrar implementacões de complexos sistemas dedicados em um único chip (telefones celulares, PDA's, etc.). Quanto mais complexos, maiores as dificuldades para atingir requisitos como área de silício ocupada, desempenho e consumo de energia. A compressão de código, inicialmente concebida para diminuir a memória ocupada, através da compactação do software, atualmente traz vantagens também no desempenho e consumo de energia do sistema, através do aumento da taxa de acertos à cache do processador. Este trabalho propõe o projeto de um descompressor de código, baseado na técnica PDC-ComPacket, implementado de forma integrada ao pipeline do Leon2 (SPARC V8). Chegou-se a uma implementação prototipada em FPGA, com razões de compressão (tamanho final do programa comprimido e do descompressor em relação ao programa original) variando entre 72% e 88%, melhora no desempenho de até 45% e redução de energia de até 35%, validado através de dois benchmarks: MediaBench e MiBench. Além disso, são apresentados uma série de experimentos que exploram os tradeoffs envolvendo compressão, desempenho e consumo de energia / Abstract: Implementations of Complex Dedicated Systems on a single chip has become very common (cell-phones, PDA's, etc.). As complexity grows, also grows the required effort to reach constraints such as the silicon area, performance and energy consumption. The code compression, initially conceived to decrease the memory size, today also brings advantages in the performance and energy consumption of the system, due to an increase in the processor's cache hit ratio. This document proposes the design of a code decompressor, based on the PDC-ComPacket technique, embedding it into the Leon2 (SPARC V8) pipeline. We have achieved a functional implementation on a FPGA, with compression ratios (compressed program plus decompressor size related to the original program) ranging from 72% to 88%, performance speed-up of up to 45% and a reduction on
energy consumption of up to 35%, validated through two benchmarks: MediaBench e MiBench. In addiction, we present a bunch of experiments, exploiting the tradeoffs related to compression, performance and energy consumption / Mestrado / Arquitetura de Computadores / Mestre em Ciência da Computação
|
228 |
Modelagem e simulação de barramentos com systemC / Modeling and simulation of bus using SystemCDangui, Sandro Cesca 28 August 2006 (has links)
Orientador: Rodolfo Jardim de Azevedo / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T21:54:34Z (GMT). No. of bitstreams: 1
Dangui_SandroCesca_M.pdf: 566039 bytes, checksum: 2efc3ec330aa3bd0ba98ce7ea3cb8ea5 (MD5)
Previous issue date: 2006 / Resumo: O crescente aumento da necessidade de se colocar sistemas complexos inteiros dentro de um único chip para atender a demanda de criação de dispositivos cada vez menores, com mais funcionalidades e que precisam ser desenvolvidos cada vez mais rápido, torna necessário o uso de novas metodologias e técnicas de desenvolvimento e validação de sistemas. Barramentos são os elementos que interligam os dispositivos de um sistema. Para se aumentar a eficiência e rapidez no desenvolvimento de sistemas simulados, existe a necessidade do desenvolvimento de mecanismos que facilitem a criação, o uso e o teste de barramentos. Esse trabalho propõe um framework, modelado em alto nível (TLM) e baseado na linguagem SystemC, para auxiliar a criação de simuladores de barramentos. Esse trabalho descreve, detalhadamente, todas as classes e interfaces que compõem o framework proposto. Quatro barramentos, AMBA, Avalon, Wishbone e Coreconnect, foram estudados e são descritos nesse documento. Para dois dos barramentos estudados, AMBA-AHB e Avalon, foram desenvolvidos simuladores baseados no framework proposto. Como os simuladores para os barramentos AHB e Avalon são completamente funcionais e executáveis, esse trabalho também descreve, demonstra e analisa os resultados de experimentos executados com ambos os barramentos / Abstract: The system-on-chip era is creating new challenges to the system design. There is an increasing demand for smaller electronic devices with more features and reduced time to market. To face these new challenges is necessary to introduce new methodologies and development techniques. Buses are important elements for connecting devices in a complex system. To increase the efficiency and speed of systems development, it is important to introduce new mechanisms to help the creation and tests of buses. This document presents a framework based on SystemC language and implemented using the transaction level modeling (TLM). The framework goal is to help designers to create bus simulators. This document describes in detail all framework classes and interfaces. Four buses, Wishbone, Coreconnect, AMBA and Avalon are described along the text. Two specific buses, AMBA-AHB and Avalon, were fully implemented and have executable simulators. Tests were performed using these simulators, the test results and analysis are described in the end of this document / Mestrado / Engenharia de Computação / Mestre em Engenharia de Computação
|
229 |
Meparalel : um método para análise de implementação de algoritmo paralelo baseado em CUDAOliveira, Otávio Cordeiro Siqueira de 25 May 2015 (has links)
There are basically two approaches to attempt to improve performance of the algorithms: (i) the hardware-based and (ii) the software-based. The approaches based on software, that before were based on sequences algorithms, could not extract the hardware resources available. To solve this problem the parallel algorithms arose. Parallel algorithms tend to do their jobs more quickly due to their ability to distribute their workload by the available multi-core processors. In the search for the processing improvement the GPU started to be used in general purpose computing, and changed from a simple graphics processor to a parallel coprocessor capable of simultaneously performing thousands of operations. NVIDIA to popularize the GPU use in general purpose computing launched the CUDA which allows developers to parallelize their solutions more intuitively. But it is not an easy task to parallelize in order to improve resources utilization and reduce the processing time. Thus, as the literature offers no suitable mechanism, this paper proposes a method for analysis of parallel algorithms that can help the process of analysis and refactoring code built in CUDA programming platform and what can generate faster, more efficient algorithms in the consumption of hardware resources. / Existem basicamente duas abordagens para tentativas de melhoria de desempenho dos algoritmos: (i) as baseadas em hardware e (ii) as baseadas em software. As baseadas em software que antes se apoiavam em algoritmos sequenciais não conseguiam extrair os recursos de hardware oferecidos. Para solucionar o problema, surgiram os algoritmos paralelos. Algoritmos paralelos tendem a executar suas tarefas mais rapidamente devido à capacidade de distribuir sua carga de trabalho pelos múltiplos núcleos de processadores disponíveis. Na busca pela melhoria de processamento, as GPUs passaram a ser utilizadas na computação de propósito geral e passaram de um simples processador gráfico para um coprocessador paralelo, capaz de executar milhares de operações simultaneamente. A NVIDIA, para popularizar o uso da GPU na computação de propósito geral lançou a CUDA, que permite aos desenvolvedores paralelizar suas soluções de forma mais intuitiva. Porém, a tarefa de paralelizar de forma a aperfeiçoar a utilização de recursos e reduzir o tempo de processamento não é uma tarefa fácil. O estado da arte não apresenta um mecanismo de análise de desempenho adequado, dessa forma, este trabalho propõe um método para análise de algoritmos paralelos que possam auxiliar o processo de análise e refatoração de códigos construídos na plataforma de programação CUDA podendo assim, gerar algoritmos mais rápidos e eficientes no consumo de recursos de hardware.
|
230 |
MDX-cc : ambiente de programa??o paralela aplicado a cluster de clustersHess, Cassiano Ricardo 28 March 2003 (has links)
Made available in DSpace on 2015-04-14T14:49:29Z (GMT). No. of bitstreams: 1
429227.pdf: 1053601 bytes, checksum: ac385028f1ef5808c2649d92f982cc04 (MD5)
Previous issue date: 2003-03-28 / Em raz?o do surgimento de redes de comunica??o de alta velocidade, tais como Myrinet e SCI, a constru??o de arquiteturas baseadas em m?quinas comuns (PCs e esta??es de trabalho) conectadas por esse tipo de rede - o que se denomina agregado (ou cluster) - tornou-se vi?vel. Tais arquiteturas v?m se consolidando como plataformas alternativas para a execu??o de aplica??es paralelas complexas, principalmente devido ? rela??o custo/benef?cio que oferecem. Esse avan?o das tecnologias de redes possibilita tamb?m a agrega??o de clusters, formando uma estrutura de cluster de clusters, como uma ?nica m?quina paralela. Um dos principais problemas no uso de cluster de clusters ? o software utilizado para o desenvolvimento de aplica??es paralelas, visto que cada agregado envolvido na estrutura possui certas caracter?sticas que precisam ser tratadas pela linguagem ou ambiente de programa??o, visando o alcance de alto desempenho. Esta disserta??o tem como objetivo apresentar uma ferramenta de programa??o paralela por troca de mensagens que executa sobre uma estrutura de cluster de clusters: o MDX-cc. A ferramenta foi concebida tendo como base o sistema MDX [PRE98][HES01] e uma primeira vers?o foi implementada oferecendo suporte ? comunica??o em agregados com redes SCI, Myrinet e Fast-Ethernet. O principal objetivo do MDX-cc ? oferecer recursos de comunica??o e sincroniza??o de processos que rodam em agregados interligados. Por sua arquitetura modular e abstra??o do uso de protocolos de comunica??o dedicados a cada tecnologia de rede, o MDX-cc oferece uma interface de programa??o simples, com um conjunto reduzido de primitivas, e prov? transpar?ncia total na comunica??o entre processos que executam em n?s de clusters com tecnologias de rede distintas.
|
Page generated in 0.1406 seconds