• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 92
  • 6
  • 3
  • 3
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 104
  • 40
  • 35
  • 33
  • 28
  • 27
  • 26
  • 26
  • 18
  • 18
  • 15
  • 15
  • 15
  • 14
  • 13
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
11

Escalonamento de instruções em arquiteturas VLIW particionadas explorando Bypassing de operandos

Buss, Marcio de Oliveira 08 January 2001 (has links)
Orientador : Guido Costa Souza de Araujo, Paulo Cesar Centoducatte / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-31T15:05:26Z (GMT). No. of bitstreams: 1 Buss_MarciodeOliveira_M.pdf: 6143829 bytes, checksum: 232f545e77eff7126860d60f0be8372a (MD5) Previous issue date: 2001 / Resumo: A incansável busca por máquinas mais velozes, aliada aos enormes avanços tecnológicos na concepção de circuitos integrados, retiraram as arquiteturas Very Long Instruction W ord (VLIW) de um estado amórfico para a realidade. Embora tenham surgido como CIs recentemente [1], as máquinas VLIW foram idealizadas há algumas décadas atrás [13, 16, 22, 23]. Os processadores que definem este modelo de processamento não mais obedecem regras clássicas de execução: instruções de um dos possíveis fluxos de controle de um comando de desvio condicional são executadas mesmo antes do término da avaliação da condição, a qual determinará se a transferência de controle deverá ocorrer ou não; executam simultaneamente inúmeras instruções, de diferentes tipos, oriundas do mesmo programa; computam programas que foram compilados de uma forma revolucionária: todo o programa é analisado em busca de operações paralelizáveis, como se fosse um único (macro) bloco. Numa tentativa de contribuição a esta linha de pesquisa, este trabalho visa a detecção e exploração do paralelismo 'escondido' em programas originalmente sequenciais. Esta busca gera resultados que são analisados e quantificados com o intuito de se encontrar uma arquitetura-alvo adequada para uma aplicação específica. Esta metodologia encontra-se inserida no contexto de uma área denominada Embedded Systems, a qual se preocupa em otimizar ao máximo a execução de uma classe restrita de aplicações ou até mesmo uma única aplicação-chave de um sistema dedicado. O modelo de arquitetura considerado neste trabalho é denominado VLIW particionado (do inglês partitioned VLIW). Este modelo difere da máquina VLIW ideal pelo fato de não possuir um único banco de registradores centralizado, mas sim vários bancos de registradores que se comunicam através de barramentos especiais. Com este modelo de arquitetura em mãos, o trabalho desenvolvido nesta dissertação trata da investigação de problemas relacionados com o mapeamento de uma aplicação específica a uma máquina VLIW dedicada. Em um macro-cenário, este trabalho tenta responder a seguinte questão: "Qual é a máquina VLIW adequada para uma dada aplicação ?,'. Ou ainda, "Quantos bancos de registradores e quantas unidades funcionais o processador para esta aplicação deveria ter?" / Abstract: The untiring search for faster machines, alIied to the great technological advances in the field of integrated circuits conception, brought out the Very Long Instruction Word architectures from an amorphous status to reality. Although they have appeared recently as real chips [1], the VLIW machines were idealized some decades ago [13, 16, 22, 23]. The microprocessors that define this processing model no longer obey classical rules of execution: instructions coming from one of the possible control flows resulted of a branch instruction are executed even before the finish of the evaluation condition. This evaluation condition will determine if the control transfer should occur or noto Also, these architectures execute simultaneously many instructions, of different kinds, issued from the same programo Moreover, these processors compute programs that were compiled through a revolutionary way: alI the program is analized to search for paralelizable operations. As an attempt to contribute to this research field, this work aim the development of a methodology to detect and exploit the paralelism "hided" in sequential-written programs. The results generated by this search are analized and quantified in order to find a targetarchitecture for a specific application. This work is inserted in the context of an area calIed Embedded Systems. This research field worry about the maximum optimization of an application class or even only one key-application of a embedded system. The architecture model considered in this work is denoted as "Partitioned VLIW Architecture". This model is slightly different of the ideal VLIW architecture model. In the ideal model, there must be only one centralized register file, in order to guarantee the maximum Instruction Levei ParalIelism (ILP). AlI the functional units share the same register file. On the other hand, the architecture model being considered here presents many distributed register files, which have an special bus to communicate data among them. With this architecture model in mind, the work developed in this thesis investigates some of the problems related to mapping one specific application to an embedded VLIW architecture. Roughly speaking, this work tries to answer the following question: "What is the ideal VLIW architecture for a given application'1" or "How many register files and how many functional units the processor for that application should have '1" / Mestrado / Mestre em Ciência da Computação
12

Uma implementação de Modula-2 : analise e representação intermediaria

Pedro Junior, Jose 15 July 2018 (has links)
Orientador : Tomasz Kowaltowski / Dissertação (mestrado) - Universidade Estadual de Campinas. Isntituto de Matematica, Estatistica e Ciencia da Computação / Made available in DSpace on 2018-07-15T09:34:28Z (GMT). No. of bitstreams: 1 PedroJunior_Jose_M.pdf: 1220305 bytes, checksum: 202e709494def2efaa531bb7b5eb4452 (MD5) Previous issue date: 1983 / Resumo: Implementou-se um compilador para a linguagem de programação MODULA-2. Esta redação descreve as análises léxica, sintática e de contexto, bem como a tradução do programa fonte para uma "representação intermediária". Tal representação é o ponto de partida para a geração de código (não descrita na redação) ...Observação: O resumo, na íntegra, poderá ser visualizado no texto completo da tese digital / Abstract: a compiler for the programming language MODULO-2 was implemented. This work describes the lexic, syntactic and context analysis, and also the source program translation to an "intermediate representation". This representation is the basis for code generation (not described here) ... Note: The complete abstract is available with the full electronic digital thesis or dissertations / Mestrado / Mestre em Ciência da Computação
13

Um sistema gerador de compiladores

Jino, Mario, 1943- 20 July 2018 (has links)
Orientador: Nelson C. Machado / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-20T02:29:57Z (GMT). No. of bitstreams: 1 Jino_Mario_M.pdf: 3073919 bytes, checksum: c3827bc75fe74b4f0d7ebda110d1dbe0 (MD5) Previous issue date: 1974 / Resumo: Neste trabalho é apresentada a descrição de sistema gerador de compiladores que, a partir da especificação sintática de uma linguagem produz tabelas que dirigirão a análise sintática de programas da linguagem. A análise sintática é efetuada por dois analisadores lixos: um analisador "top down" de descida recursiva para a parte geral da linguagem e um analisador "bottom up" de precedência de operadores o para sub-conjuntos específicos da linguagem. São descritas a especificações aceitas pelo sistema, a construção das tabelas e os analisadores. A especificação semântica deve ser feira pelo próprio usuário do sistema / Abstract: Not informed / Mestrado / Mestre em Engenharia Elétrica
14

ONAGRO : um ambiente grafico para desenvolvimento de software para microcontroladores

Sousa, Antonio Heronaldo de 13 December 1995 (has links)
Orientador: Elnathan Chagas Ferreira / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-20T19:53:26Z (GMT). No. of bitstreams: 1 Sousa_AntonioHeronaldode_M.pdf: 6755137 bytes, checksum: c0c534a5d717e88561ed87d82d76898f (MD5) Previous issue date: 1995 / Resumo: o ONAGROéum sistema tradutor que reconhece uma linguagem gráfica de descrição de algoritmos e possibilita a geração de código em Assembly para microcontroladores. Além do tradutor propriamente dito, ele incorpora um editor gráfico para a entrada do programa-fonte, que se assemelha a um algoritmo descrito em linguagem de fluxogramas. Ele também possui um editor de identificadores que permite a descrição dos símbolos identificadores usados no programa. O sistema ONAGRO opera em ambiente Microsoft Windows, oferecendo uma interface amigável com o usuário. Esta interface baseia-se em estruturas gráficas: ícones, janelas, menus e diálogos que o usuário pode ativar através da utilização do mal/se ou, se preferir, do próprio teclado. O sistema foi desenvolvido para trabalhar em computadores compatíveis com o IBM-PC AT e foi implementado em linguagem Visual C++, usando metodologia orientada ao objeto. Diferentemente dos compiladores tradicionais, ele interage com o usuário através de diálogos logo na entrada das instruções, a fim de diminuir erros posteriores de compilação. Além disso, o ONAGRO permite uma maior rapidez na entrada do programa, pois ele é orientado a ícones e não a textos, como nas linguagens convencionais. A programação em ONAGRO é feita com um elevado nível de abstração dos detalhes de hardware. Entretanto, há mecanismos disponíveis para total controle das características fisicas das aplicações. Os testes realizados mostraram que o ambiente proposto é bastante intuitivo e amigável. A documentação dos programas é feita em tempo-real, visto que o próprio programa-fonte se constitui em uma ótima ferramenta de inspeção. Outro aspecto importante, observado nos testes, foi que o código gerado se mostrou relativamente compacto / Abstract: ONAGRO is a translation system that recognizes an algorithm description graphical language and allows the code generation in Assembly for microcontrollers. Besides, it incorporates a graphic editor for the source-program input that is similar to an algorithm described in flowchart language. ONAGRO has also an identifier editor that allows the identifier symboldescription used on the programo ONAGRO is a fully Microsoft Windows compatible software offering a friendly interface with user. This interface is based on graphical structures: icons, windows, menus and dialogues that the user might activate through the mouse or, if he wishes, through the keyboard. ONAGRO was developed to work on IBM-PC AT compatible computers. It was implementedin Visual C++ language by using object oriented methodology. Differently from the traditional compilers, it interacts with the user through the dialogues immediately in the instructions input to reduce later compiler errors. Besides, ONAGRO allows a major quickness in the program input since it is icon oriented and not text oriented like in the conventional languages. The ONAGRO programming is made with high level abstraction of the hardware details. However, there are available mechanisms for full control of physical characteristics applications. The accomplished tests showed that the proposed environment is very intuitive and friendly. The program documentation is made in real-time since the proper source-program is a good inspection too1. Another important aspect observed in the tests was that the generated code proved to be relatively compact / Mestrado / Mestre em Engenharia Elétrica
15

Um analisador de restrições de tempo real para compiladores redirecionáveis automaticamente

Wuerges, Emílio January 2008 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação. / Made available in DSpace on 2012-10-24T04:28:13Z (GMT). No. of bitstreams: 1 263131.pdf: 756956 bytes, checksum: 840e0f33f9d99e70d7bddaadf6eaffa6 (MD5)
16

Otimização de tipos em linguagem LL

Costa, Clevan Ricardo da 11 December 1995 (has links)
Orientador: Tomasz Kowaltowski / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação / Made available in DSpace on 2018-07-21T03:22:30Z (GMT). No. of bitstreams: 1 Costa_ClevanRicardoda_M.pdf: 1291094 bytes, checksum: 09ecb271fba38a234b38746d0b88988d (MD5) Previous issue date: 1995 / Resumo: Este trabalho consiste na introdução de uma fase de otimização no compilador para a linguagem LL. O eu principal objetivo é a inferência de tipos, realizada através de uma análise de fluxo de dados. São apresentados diversos métodos para inferência de tipos em linguagens orientadas a objetos, bem como uma revisão sobre análise de fluxo de dados. O método de Kaplan e Ullman éapresentado com mais detalhes, juntamente com sua adaptação para LL , sua implementação e junção ao compilador desenvolvido para a linguagem. Finalmente são apresentadas as conclusões, os resultados obtidos e as propostas de extensões futuras para o trabalho. / Abstract: We describe in this thesis an optirnization phase for a compiler for the language LL. Its main goal is type inference achieved through data fiow analysis. Several methods for type inference in object-oriented languages are described, including a description of data fiow analysis. The Kaplan and Ullman method is described in more detail. Its adaptation to . LL and the implementation within an existing compiler are also described. We present also some final conclusions, including examples and possible extensions. / Mestrado / Mestre em Ciência da Computação
17

Compilação de linguagens de comando de alto nivel

Carneiro, Luiz Carlos Durso 07 April 1989 (has links)
Orientador: Rogerio Drummond / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação / Made available in DSpace on 2018-07-14T12:25:20Z (GMT). No. of bitstreams: 1 Carneiro_LuizCarlosDurso_M.pdf: 1312947 bytes, checksum: acb50ddd9e5a376a4ae9e62164ad20dd (MD5) Previous issue date: 1989 / Resumo: É objetivo deste trabalho a apresentação do estudo da viabilidade de implementação de compiladores para linguagens de comando de alto nível. As linguagens de comando têm se mostrado poderosas ferramentas de desenvolvimento nos ambientes de programação modernos, deixando para trás o conceito antigo de que serviam apenas para alocação de periféricos e execução de programas. Este estudo foi iniciado com o intuito de aumentar o potencial destas linguagens, tornando-as mais rápidas. Este trabalho está orga.nizado em 4 capítulos, onde são expostos vários aspectos do estudo das linguagens de comando e da implementação de um compilador protótipo. No capítulo 1 é feita uma introdução às linguagens de comando, abordando tópicos que vão desde a sua origem até as modernas linguagens de comando de alto nível. o capítulo 2 se constitui da apresentação da linguagem de comando escolhida como protótipo para implementação: a C-SHELL do sistema UNIX. Já o capítulo 3 contém informações mais específicas sobre a implementação. Serão mostradas de modo distinto as partes da C-SHELL que foram implementadas utilizando recursos presentes no sistema UNIX e as partes independentes de sistema operacional. Estas discussões serão apresentadas a nível de algoritmos utilizados e quando for necessário, por questões de clareza, serão apresentados detalhes do código gerado. Finalizando, o capítulo 4 é formado pela conclusão deste trabalho. Neste capítulo são discutidas as vantagens da compilação das linguagens de comando de alto nível. Serão apresentados algumas comparações com as linguagens de comando disponíveis no nosso ambiente de programação UNIX e os novos passos a serem tomados nesta linha de estudo. Nos apêndices poderão ser encontradas demonstrações de uso da linguagem, detalhes da composição dos diversos módulos do sistema e orientações para a instalação do compilador em outros sistemas UNIX e UNIX-LIKE. / Abstract: Not informed. / Mestrado / Mestre em Ciência da Computação
18

Um ambiente para re-estruturação e compilação de programas para máquinas paralelas

Frederico Buchholz Maciel 01 September 1990 (has links)
Diversas pesquisas estudam ambientes de programação que auxiliem os usuários de máquinas paralelas a re-estruturarem seus programas, obtendo com isso uma melhor paralelização e um maior desempenho de execução. Os ambientes existentes ainda abordam poucos aspectos da re-estruturação e atendem apenas a classes particulares de usuários. Este trabalho consiste na concepção de um ambiente de programação paralela que permita atender às necessidades de re-estruturação de usuários de características dispares. Para isto são feitos inicialmente estudos das características dos usuários de máquinas paralelas e dos ambientes existentes, nos quais é mostrada a necessidade de ferramentas, recursos e formas de operação. Estas necessidades são relacionadas entre si, tendo como resultado a estrutura do ambiente e aos sues modos básicos de operação. A seguir é mostrada a implementação da proposta através da expansão de um ambiente existente. É mostrado também um compilador Fortran em implementação que é parte do ambiente proposto.
19

JavAsync : extensão da linguagem Java para tratamento de eventos assíncronos

Carlos Rafael Gimenes das Neves 05 December 2013 (has links)
Quando contando apenas com o que é oferecido por linguagens orientadas a objetos, como o Java, os desenvolvedores tendem a utilizar apenas chamadas síncronas a métodos, utilizando-se de artifícios para obter comportamento assíncrono, o que comumente quebra o modelo original do sistema, acrescentando uma série de efeitos colaterais indesejados, tais como acoplamento desnecessário entre classes e construções passíveis de erros. O acoplamento desnecessário normalmente aparece quando uma classe precisa ser notificada sobre a ocorrência de eventos em outra classe na mesma pilha de chamadas em tempo de execução. Propomos uma extensão à linguagem Java para permitir a execução assíncrona de métodos, a notificação e o tratamento assíncronos de eventos ocorridos durante a execução normal do programa em classes presentes na pilha de chamadas corrente, como uma alternativa nativa, simples e que não force acoplamento adicional entre as classes envolvidas. Denominamos JavAsync à linguagem Java assim estendida. Com essa extensão, esperamos que os desenvolvedores possam utilizar comunicação assíncrona desde o início do ciclo de desenvolvimento, sem que precisem realizar modificações à estrutura original do software em desenvolvimento e sem que precisem se preocupar com threads e com o registro dos tratadores de eventos.
20

Construcción de un compilador de asertos de programación metódica

Berolatti Gonzales, Diego 12 November 2014 (has links)
Siempre ha existido la necesidad de validar la codificación de un programa. Este proyecto tiene como objetivo la implementación de un compilador que, mediante notaciones matemáticas que especifican un programa, genere las instrucciones de manera automática. El resultado tiene como principal característica que es formalmente correcto. Esto se da debido a que el compilador implementa una metodología llamada derivación de programas la cual garantiza esa característica. La implementación de esta metodología se da mediante la estructura formal de un compilador y la inclusión de un autómata adaptativo capaz de aplicar las reglas de programación metódica. El proyecto tiene como alcance el no aplicar ninguna regla que implique resolver un problema de complejidad np. Debido a esto la expresividad del lenguaje y su capacidad de generación automática se encuentra limitada. El resultado es un compilador capaz de generar código de manera automática en base a las especificaciones que el compilador es capaz de compilar. Este proyecto es la base de los compiladores de programación automática. / Tesis

Page generated in 0.0682 seconds