Spelling suggestions: "subject:"compilador"" "subject:"compiladors""
1 |
Gerador parametrizável de partes operativas CMOSCarro, Luigi January 1989 (has links)
Este trabalho descreve uma ferramenta de implementação automática, o Gerador de Partes Operativas. A ferramenta encontra-se inserida em uma metodologia de projeto, que por sua vez é voltada para uma certa classe de circuitos. Primeiramente, é estuda a metodologia, assim como são tecidas considerações em relação ao projeto automático de sistemas. A busca de modelos de sistemas digitais eficientes, sua formalização e uma proposta de método de implementação são também abordados. Através de estudos em relação a diferentes implementações de algoritmos em silício surge a realização de diferentes circuitos, que serão a base da ferramenta. Finalmente, é apresentada a ferramenta, que tem como características básicas a independência de tecnologia, a parametrização elétrica e topològica e a avaliação elétrica embutida. Os procedimentos que lograram atingir estas características são detalhados, apresentando-se exemplos de utilização da ferramenta. / This work describes an automatic implementati n tool, the Gerador de Partes Operativas (data path generator). The tool belongs to a design methodology, which is tuned to a certain class of circuit. The methodology used is studies, and some considerations over the implementation problem are apresented. The search for efficient digital systems models is also studied, and a proposition for thelr automatic imp lementation is formalized. Different implementations of algorithms in silicon lead to different circuits, whose study Is the base for this tool. Finally, the tool it self is showed, having independence, electrical and compositional parameters and an embbebed electrical evaluator. The steps used to reach these features are shown, as well as examples of the use of the tool.
|
2 |
Gerador parametrizável de partes operativas CMOSCarro, Luigi January 1989 (has links)
Este trabalho descreve uma ferramenta de implementação automática, o Gerador de Partes Operativas. A ferramenta encontra-se inserida em uma metodologia de projeto, que por sua vez é voltada para uma certa classe de circuitos. Primeiramente, é estuda a metodologia, assim como são tecidas considerações em relação ao projeto automático de sistemas. A busca de modelos de sistemas digitais eficientes, sua formalização e uma proposta de método de implementação são também abordados. Através de estudos em relação a diferentes implementações de algoritmos em silício surge a realização de diferentes circuitos, que serão a base da ferramenta. Finalmente, é apresentada a ferramenta, que tem como características básicas a independência de tecnologia, a parametrização elétrica e topològica e a avaliação elétrica embutida. Os procedimentos que lograram atingir estas características são detalhados, apresentando-se exemplos de utilização da ferramenta. / This work describes an automatic implementati n tool, the Gerador de Partes Operativas (data path generator). The tool belongs to a design methodology, which is tuned to a certain class of circuit. The methodology used is studies, and some considerations over the implementation problem are apresented. The search for efficient digital systems models is also studied, and a proposition for thelr automatic imp lementation is formalized. Different implementations of algorithms in silicon lead to different circuits, whose study Is the base for this tool. Finally, the tool it self is showed, having independence, electrical and compositional parameters and an embbebed electrical evaluator. The steps used to reach these features are shown, as well as examples of the use of the tool.
|
3 |
Gerador parametrizável de partes operativas CMOSCarro, Luigi January 1989 (has links)
Este trabalho descreve uma ferramenta de implementação automática, o Gerador de Partes Operativas. A ferramenta encontra-se inserida em uma metodologia de projeto, que por sua vez é voltada para uma certa classe de circuitos. Primeiramente, é estuda a metodologia, assim como são tecidas considerações em relação ao projeto automático de sistemas. A busca de modelos de sistemas digitais eficientes, sua formalização e uma proposta de método de implementação são também abordados. Através de estudos em relação a diferentes implementações de algoritmos em silício surge a realização de diferentes circuitos, que serão a base da ferramenta. Finalmente, é apresentada a ferramenta, que tem como características básicas a independência de tecnologia, a parametrização elétrica e topològica e a avaliação elétrica embutida. Os procedimentos que lograram atingir estas características são detalhados, apresentando-se exemplos de utilização da ferramenta. / This work describes an automatic implementati n tool, the Gerador de Partes Operativas (data path generator). The tool belongs to a design methodology, which is tuned to a certain class of circuit. The methodology used is studies, and some considerations over the implementation problem are apresented. The search for efficient digital systems models is also studied, and a proposition for thelr automatic imp lementation is formalized. Different implementations of algorithms in silicon lead to different circuits, whose study Is the base for this tool. Finally, the tool it self is showed, having independence, electrical and compositional parameters and an embbebed electrical evaluator. The steps used to reach these features are shown, as well as examples of the use of the tool.
|
4 |
Construção de um compilador estático de código CIL usando uma abordagem incrementalRodrigues Caetano da Silva, Marcelo 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:56:43Z (GMT). No. of bitstreams: 2
arquivo2966_1.pdf: 1666666 bytes, checksum: 973dda346a6f1998a4dcfea9706b94a5 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / A Common Intermediate Language (CIL), linguagem intermediária definida pelo
padrão ECMA-335, provou ser uma representação alvo eficiente para muitas linguagens
de alto nível, permitindo a portabilidade de programas para diversas plataformas.
Entretanto, os compiladores de linguagem CIL disponíveis nas implementações
existentes do padrão ECMA-335 não são adequados para o desenvolvimento de
sistemas que executem diretamente sobre o hardware, como sistemas em tempo real,
sistemas embarcados e novos sistemas operacionais específicos, porque exigem o
suporte de uma máquina virtual (VES Virtual Execution System) para o
funcionamento dos programas compilados. Este fato confina a seleção de linguagens às
tradicionais C e C++ como opções para o desenvolvimento de tais sistemas. Face a esse
confinamento, apresentamos a construção de um compilador estático de código CIL
chamado CILCompiler, que transforma um subconjunto da linguagem em uma imagem
executável que funciona com acesso direto ao hardware, sem a necessidade de uma
máquina virtual. No intuito de tornar didático o compilador, facilitando a construção,
compreensão e extensão do mesmo, foi adotada a abordagem incremental para a
construção de compiladores, que sugere a utilização de pequenos passos incrementais
para obter um compilador funcional logo nos estágios primitivos de desenvolvimento
|
5 |
ChipCflow: tool for convert C code in a static dataflow architecture in reconfigurable hardware / ChipCflow: ferramenta para conversão de código C em uma arquitetura a fluxo de dados estática em harware reconfigurávelSilva, Antonio Carlos Fernandes da 19 February 2015 (has links)
A growing search for alternative architectures and softwares have been noted in the last years. This search happens due to the advance of hardware technology and such advances must be complemented by innovations on design methodologies, test and verification techniques in order to use technology effectively. Alternative architectures and softwares, in general, explores the parallelism of applications, differently to Von Neumann model. Among high performance alternative architectures, there is the Dataflow Architecture. In this kind of architecture, the process of program execution is determined by data availability, thus the parallelism is intrinsic in these systems. The dataflow architectures become again a highlighted search area due to hardware advances, in particular, the advances of Reconfigurable Computing and Field Programmable Gate Arrays (FPGAs). ChipCflow projet is a tool for execution of algorithms using dynamic dataflow graph in FPGA. In this thesis, the development of a code conversion tool to generate aplications in a static dataflow architecture, is described. Also the ChipCflow project where the code conversion tool is part, is presented. The specification of algorithm to be converted is made in C language and converted to a hadware description language, respecting the proposed by ChipCflow project. The results are the proof of concept of converting a high-level language code for dataflow architecture to be used into a FPGA. / Existe uma crescente busca por softwares e arquiteturas alternativas. Essa busca acontece pois houveram avanços na tecnologia do hardware, e estes avanços devem ser complementados por inovações nas metodologias de projetos, testes e verificação para que haja um uso eficaz da tecnologia. Os software e arquiteturas alternativas, geralmente são modelos que exploram o paralelismo das aplicações, ao contrário do modelo de Von Neumann. Dentre as arquiteturas alternativas de alto desempenho, tem-se a arquitetura a fluxo de dados. Nesse tipo de arquitetura, o processo de execução de programas é determinado pela disponibilidade dos dados, logo o paralelismo está embutido na própria natureza do sistema. O modelo a fluxo de dados possui a vantagem de expressar o paralelismo de maneira intrínseca, eliminando a necessidade do programador explicitar em seu código os trechos onde deve haver paralelismo. As arquiteturas a fluxo de dados voltaram a ser uma área de pesquisa devido aos avanços do hardware, em particular, os avanços da Computação Reconfigurável e dos Field Programmable Gate Arrays (FPGAs).Nesta tese é descrita uma ferramenta de conversão de código que visa a geração de aplicações utilizando uma arquitetura a fluxo de dados estática. Também é descrito o projeto ChipCflow, cuja ferramenta de conversão de código, descrita nesta tese, é parte integrante. A especificação do algoritmo a ser convertido é feita em linguagem C e convertida para uma linguagem de descrição de hardware, respeitando o modelo proposto pelo ChipCflow. Os resultados alcançados visam a prova de conceito da conversão de código de uma linguagem de alto nível para uma arquitetura a fluxo de dados a ser configurada em FPGA.
|
6 |
ChipCflow: tool for convert C code in a static dataflow architecture in reconfigurable hardware / ChipCflow: ferramenta para conversão de código C em uma arquitetura a fluxo de dados estática em harware reconfigurávelAntonio Carlos Fernandes da Silva 19 February 2015 (has links)
A growing search for alternative architectures and softwares have been noted in the last years. This search happens due to the advance of hardware technology and such advances must be complemented by innovations on design methodologies, test and verification techniques in order to use technology effectively. Alternative architectures and softwares, in general, explores the parallelism of applications, differently to Von Neumann model. Among high performance alternative architectures, there is the Dataflow Architecture. In this kind of architecture, the process of program execution is determined by data availability, thus the parallelism is intrinsic in these systems. The dataflow architectures become again a highlighted search area due to hardware advances, in particular, the advances of Reconfigurable Computing and Field Programmable Gate Arrays (FPGAs). ChipCflow projet is a tool for execution of algorithms using dynamic dataflow graph in FPGA. In this thesis, the development of a code conversion tool to generate aplications in a static dataflow architecture, is described. Also the ChipCflow project where the code conversion tool is part, is presented. The specification of algorithm to be converted is made in C language and converted to a hadware description language, respecting the proposed by ChipCflow project. The results are the proof of concept of converting a high-level language code for dataflow architecture to be used into a FPGA. / Existe uma crescente busca por softwares e arquiteturas alternativas. Essa busca acontece pois houveram avanços na tecnologia do hardware, e estes avanços devem ser complementados por inovações nas metodologias de projetos, testes e verificação para que haja um uso eficaz da tecnologia. Os software e arquiteturas alternativas, geralmente são modelos que exploram o paralelismo das aplicações, ao contrário do modelo de Von Neumann. Dentre as arquiteturas alternativas de alto desempenho, tem-se a arquitetura a fluxo de dados. Nesse tipo de arquitetura, o processo de execução de programas é determinado pela disponibilidade dos dados, logo o paralelismo está embutido na própria natureza do sistema. O modelo a fluxo de dados possui a vantagem de expressar o paralelismo de maneira intrínseca, eliminando a necessidade do programador explicitar em seu código os trechos onde deve haver paralelismo. As arquiteturas a fluxo de dados voltaram a ser uma área de pesquisa devido aos avanços do hardware, em particular, os avanços da Computação Reconfigurável e dos Field Programmable Gate Arrays (FPGAs).Nesta tese é descrita uma ferramenta de conversão de código que visa a geração de aplicações utilizando uma arquitetura a fluxo de dados estática. Também é descrito o projeto ChipCflow, cuja ferramenta de conversão de código, descrita nesta tese, é parte integrante. A especificação do algoritmo a ser convertido é feita em linguagem C e convertida para uma linguagem de descrição de hardware, respeitando o modelo proposto pelo ChipCflow. Os resultados alcançados visam a prova de conceito da conversão de código de uma linguagem de alto nível para uma arquitetura a fluxo de dados a ser configurada em FPGA.
|
7 |
GGLL: um gerador de analisadores sintáticos para gramáticas gráficas LL(1) / GGLL: an parser generator for graph grammars LL(1)Pinto, Tasso Tirapani Silva 19 November 2014 (has links)
Este trabalho tem como fulcro o desenvolvimento de um gerador de analisadores sintáticos do tipo top-down para gramáticas LL(1) com entrada gráfica da gramática, bem como uma comparação do mesmo com outros geradores em uso no mercado. Como resultado foi obtido um gerador totalmente funcional, e foi mostrado como ele é superior aos outros analisadores. São descritos detalhes da implementação e foi elaborado um manual de uso do sistema implementado em Java independente de ambientes de programação. / This thesis has as its main goal the development a parser generator using top-down syntax analysis for LL(1) grammars. Its input is a graph grammar. A comparison with available parser generators is also presented. As a result a fully executable generator, and the fact that it is superior to the other generators was demonstrated. This work contains details of the implementation, and presents a users manual of the system, which was implemented in Java. The system is independent of programming environments.
|
8 |
Geração de código otimizado visando a exploração de paralelismo na arquitetura IPNoSysCouto, Juliene Vieira do 09 September 2016 (has links)
Submitted by Lara Oliveira (lara@ufersa.edu.br) on 2017-04-07T22:12:32Z
No. of bitstreams: 1
JulieneVC_DISSERT.pdf: 3209854 bytes, checksum: 18b673023a841a782fbe0c6f32a66254 (MD5) / Approved for entry into archive by Vanessa Christiane (referencia@ufersa.edu.br) on 2017-04-13T15:05:50Z (GMT) No. of bitstreams: 1
JulieneVC_DISSERT.pdf: 3209854 bytes, checksum: 18b673023a841a782fbe0c6f32a66254 (MD5) / Approved for entry into archive by Vanessa Christiane (referencia@ufersa.edu.br) on 2017-04-13T15:05:59Z (GMT) No. of bitstreams: 1
JulieneVC_DISSERT.pdf: 3209854 bytes, checksum: 18b673023a841a782fbe0c6f32a66254 (MD5) / Made available in DSpace on 2017-04-13T15:06:08Z (GMT). No. of bitstreams: 1
JulieneVC_DISSERT.pdf: 3209854 bytes, checksum: 18b673023a841a782fbe0c6f32a66254 (MD5)
Previous issue date: 2016-09-09 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Parallel architectures require optimized code that exploits its new features. Some architectures follow the paradigm of Von Neumann machine, while others differ from this model, such as IPNoSys processor. This processor is based on network-on-chip and features a package-driven computer model driven which reflects in its programming model. Initially, this architecture had an assembler and a simulator and needed a compiler. In later papers compilers for IPNoSys have been developed, but none fully explored the features of this architecture. Thus, the objective of this paper is to define a code optimization step in IPNoSys compiler, considering characteristics unexploited as parallelism and improving your generated code. The optimization module offers three levels of optimization. In order to evaluate the created module, made a comparison of the execution time and the size of codes generated in the three levels of optimization. It was obtained that an optimization level showed better run time, but generated applications with a larger size, while another level showed a smaller size. Furthermore, there was an improvement in the generated code / As arquiteturas paralelas necessitam de código otimizado que explore seus novos recursos. Algumas arquiteturas seguem o paradigma da máquina de Von Neumann, enquanto que outras divergem desse modelo, um exemplo é o processador IPNoSys. Esse processador foi baseado em redes-em-chip e apresenta um modelo de computação dirigido a pacotes o que reflete no seu modelo de programação. Inicialmente, essa arquitetura possuía um montador e um simulador e necessitava de um compilador. Em trabalhos posteriores compiladores para a IPNoSys foram desenvolvidos, mas nenhum explorou completamente as características dessa arquitetura. Com isso, o objetivo deste trabalho é definir uma etapa de otimização de código no compilador IPNoSys, considerando características não exploradas como o paralelismo e melhorando seu código gerado. O módulo de otimização oferece três níveis de otimização. A fim de avaliar o módulo criado, efetuou-se uma comparação do tempo de execução e do tamanho dos códigos gerados nos três níveis de otimização. Foi obtido que um nível de otimização apresentou melhor tempo de execução, porém gerou aplicações com um maior tamanho, enquanto que outro nível apresentou um menor tamanho. Além disso, houve uma melhoria nos códigos gerados / 2017-04-07
|
9 |
Erhöhung der nebenläufigkeit in automatisch entworfenen digitalen systemenWeber, Taisy Silva January 1986 (has links)
Nebenläufigkeit (die gleichzeitige Aktivität mehrerer Operationen in einem digitalen System) ist eine Möglichkeit, ohne Anstieg der Technologiekosten hohe Arbeitsgeschwindigkeiten zu erzielen. Die vorliegende Arbeit soil einen Beitrag zur Lösung des Problems der Erhöhung des Nebenlaufigkeitsgrades in komplexeren digitalen Systemen durch automatischen Entwurf leisten. Ausgangspunkt dieser Arbeit ist die bisher unbefriedigende Situation bei der Beschreibung und automatischen Synthese nebenlaufiger Schaltungen im Vergleich zur verbreiteten Ausnutzung von Nebenläufigkeit in den Bereichen der Rechnerarchitektur, Betriebssysteme und Programmiersprachen. Im allgemeinen wird Nebenläufigkeit erst in den letzten Phasen des automatischen Entwurfsprozesses einbezogen, was die Komplexität des Syntheseverfahrens beträchtlich erhöht. Dagegen verfolgt diese Arbeit die Idee, daß ein hoher Nebenläufigkeitsgrad mit geringer Synthesekomplexität erreicht wird, wenn Nebenläufigkeit schon in den frühesten Entwurfsphasen, nämlich der Problemanalyse und der Verhaltensbeschreibung, berücksichtigt wird. Zur Beschreibung des Verhaltens eines Systems wird die Sprache BABEL (Beschreibungssprache für nebenläufige digitale Schaltungen) eingeführt, die eine hierarchische und strukturierte Beschreibung der Nebenläufigkeit unterstützt. Mit dem Ziel, die Zunahme der Komplexität des von der BABEL-Beschreibung ausgehenden automatischen Syntheseprozesses gering zu halten, wurden Verfahren zur Realisierung von Nebenläufigkeit durch mehrere kooperative Steuerwerke und Verfahren zur Erhöhung des Parallelitätsgrades durch Kompaktierung von Zuständen entwickelt. Um den Entwurfsprozeß zu vervollstandigen, wurden die Sprache und das Syntheseverfahren an das automatische Entwurfssystem CADDY (Carlsruhe Digital Design System) angeschlossen. Die am Ende des automatischen Entwurfsvorgangs erzeugte Schaltung nutzt die im beschriebenen System vorliegende Nebenläufigkeit dann voll aus.
|
10 |
Erhöhung der nebenläufigkeit in automatisch entworfenen digitalen systemenWeber, Taisy Silva January 1986 (has links)
Nebenläufigkeit (die gleichzeitige Aktivität mehrerer Operationen in einem digitalen System) ist eine Möglichkeit, ohne Anstieg der Technologiekosten hohe Arbeitsgeschwindigkeiten zu erzielen. Die vorliegende Arbeit soil einen Beitrag zur Lösung des Problems der Erhöhung des Nebenlaufigkeitsgrades in komplexeren digitalen Systemen durch automatischen Entwurf leisten. Ausgangspunkt dieser Arbeit ist die bisher unbefriedigende Situation bei der Beschreibung und automatischen Synthese nebenlaufiger Schaltungen im Vergleich zur verbreiteten Ausnutzung von Nebenläufigkeit in den Bereichen der Rechnerarchitektur, Betriebssysteme und Programmiersprachen. Im allgemeinen wird Nebenläufigkeit erst in den letzten Phasen des automatischen Entwurfsprozesses einbezogen, was die Komplexität des Syntheseverfahrens beträchtlich erhöht. Dagegen verfolgt diese Arbeit die Idee, daß ein hoher Nebenläufigkeitsgrad mit geringer Synthesekomplexität erreicht wird, wenn Nebenläufigkeit schon in den frühesten Entwurfsphasen, nämlich der Problemanalyse und der Verhaltensbeschreibung, berücksichtigt wird. Zur Beschreibung des Verhaltens eines Systems wird die Sprache BABEL (Beschreibungssprache für nebenläufige digitale Schaltungen) eingeführt, die eine hierarchische und strukturierte Beschreibung der Nebenläufigkeit unterstützt. Mit dem Ziel, die Zunahme der Komplexität des von der BABEL-Beschreibung ausgehenden automatischen Syntheseprozesses gering zu halten, wurden Verfahren zur Realisierung von Nebenläufigkeit durch mehrere kooperative Steuerwerke und Verfahren zur Erhöhung des Parallelitätsgrades durch Kompaktierung von Zuständen entwickelt. Um den Entwurfsprozeß zu vervollstandigen, wurden die Sprache und das Syntheseverfahren an das automatische Entwurfssystem CADDY (Carlsruhe Digital Design System) angeschlossen. Die am Ende des automatischen Entwurfsvorgangs erzeugte Schaltung nutzt die im beschriebenen System vorliegende Nebenläufigkeit dann voll aus.
|
Page generated in 0.0418 seconds