Bipide Ambiente de Desenvolvimento Integrado para a Arquitetura dos Processadores BIP

Tamanho: px
Começar a partir da página:

Download "Bipide Ambiente de Desenvolvimento Integrado para a Arquitetura dos Processadores BIP"

Transcrição

1 Bipide Ambiente de Desenvolvimento Integrado para a Arquitetura dos Processadores BIP Paulo Viníccius Vieira 1, André Luis Alice Raabe 1, Cesar Albenes Zeferino 1 1 Centro de Ciências Tecnológicas da Terra e do Mar (CTTMar) Universidade do Vale do Itajaí (Univali) Rua Uruguai, 458 Caixa Postal Itajaí SC Brasil {pauloviniccius, raabe, zeferino}@univali.br Abstract. Teaching introductory programming generally involves an abstraction level, which is difficult for students with learning disabilities especially in the programming logic. Considering this, a family of processors, called BIP Basic Instruction-set Processor, was developed in order to allow an interdisciplinary approach for teaching initial concepts on the first year of Computer Science undergraduate courses. Therefore, this paper presents an integrated development environment (IDE) which enables the development, implementation and simulation of programs written in structured Portuguese (called Portugol) linking them to the processor architecture of the BIP family. The IDE provides a tool to support the teaching of subjects of introductory programming reducing the abstraction involved in fundamental concepts of programming logic. Resumo. O ensino de conceitos introdutórios de programação costuma apresentar um nível de abstração que prejudica o aprendizado de alunos que apresentam dificuldades em lidar com o raciocínio lógico necessário ao entendimento da lógica de programação. Pensando nesta dificuldade, uma família de processadores denominada BIP Basic Instruction-set Processor, foi desenvolvida visando à integração interdisciplinar e o apoio ao ensino em disciplinas de fases iniciais do curso de Ciência da Computação. Neste contexto este texto apresenta um ambiente de desenvolvimento integrado denominado que possibilita o desenvolvimento, execução e simulação de programas em linguagem Portugol, relacionando-os à arquitetura dos processadores da família BIP. Com isto, disponibiliza-se uma ferramenta de apoio ao ensino das disciplinas de Algoritmos e Programação que auxiliará na redução da abstração envolvida em conceitos fundamentais da lógica de programação, contribuindo para a aprendizagem dos alunos destas disciplinas. 1. Introdução As disciplinas da área de Arquitetura e Organização de Computadores são fundamentais na formação de alunos dos cursos de Ciência da Computação e de Engenharia da Computação. Estas disciplinas permitem estabelecer relações dos conceitos de programação com aspectos concretos do hardware, reduzindo o nível de abstração envolvido e facilitando a aprendizagem dos alunos das fases iniciais do curso [Borges e Silva 2006].

2 Esta abordagem de apresentar noções básicas de arquitetura e organização de computadores no primeiro ano do curso costuma apresentar dois problemas: (i) a falta de uma articulação adequada entre os professores das disciplinas introdutórias a fim de estabelecer uma sincronia na apresentação dos conteúdos; e (ii) a limitação dos modelos de hardware utilizados para a apresentação dos conceitos básicos de arquitetura [Morandi et al. 2006]. Para tentar sanar esta dificuldade, têm sido utilizado durante as aulas iniciais do curso de Ciência da Computação da Universidade A os processadores BIP. Estes processadores, porém, não possuem ferramentas de auxilio que facilitem seu entendimento, o que poderia facilitar sua aplicação e em conseqüência, melhorar a experiência e o aprendizado dos alunos com sua utilização. Neste contexto, este artigo apresenta um ambiente de desenvolvimento integrado denominado Bipide (BIP + IDE), que permite o desenvolvimento de programas em linguagem Portugol e a simulação desses programas, relacionando-os ao modelo de arquitetura dos processadores BIP. 2. BIP Basic Instruction-set Processor A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo de desenvolver uma série de processadores de arquitetura simplificada que auxiliassem no aprendizado de Arquitetura e Organização de Computadores e permitissem relacionar os conteúdos de programação em alto nível com sua representação em hardware [Morandi et al. 2006]. Dos três modelos de Processadores definidos, foram escolhidos para utilização neste projeto os dois primeiros: (a) BIP I, com foco no suporte ao entendimento de conceitos como constantes, variáveis, conjuntos de instruções, programação em linguagem de montagem e geração de código em linguagem de máquina; e (b) BIP II, com foco nos conceitos de estruturas de controle para desvios condicionais, incondicionais e laços de repetição. Estes processadores possibilitam apresentar a implementação em hardware de diversas abstrações estudadas nas disciplinas da área de Algoritmos e Programação. [Morandi; Raabe e Zeferino 2006] Arquitetura e Organização dos Processadores BIP Os processadores BIP possuem uma arquitetura orientada a acumulador, onde todas as operações aritméticas e de transferência utilizam este registrador (MORANDI et al., 2006). Sua arquitetura possui um conjunto de instruções com poucos modos de endereçamento e todas as instruções são baseadas neste formato. [Morandi; Raabe e Zeferino 2006]. A arquitetura do BIP I inclui três registradores: PC (Program Counter): aponta para o endereço da próxima instrução; IR (Instruction Register): armazena a instrução que está em execução e; ACC (Accumulator): utilizado para armazenamento de dados durante uma operação. O BIP II possui ainda um registrador de estado (STATUS), o qual possui dois flags utilizados para a execução das instruções de desvio [Morandi; Raabe e Zeferino 2006].

3 A organização dos processadores BIP utiliza a estrutura Harvard, com memórias separadas para dados e instruções, como visto na Figura 1. O processador é dividido em dois blocos: (i) Controle, responsável por gerar sinais de controle para o caminho de dados e atualização do PC; e (ii) Caminho de Dados, que inclui os circuitos necessários para executar a instrução. A organização do BIP II inclui o registrador STATUS e modificações no circuito de atualização do PC. [Morandi; Raabe e Zeferino 2006]. 3. Trabalhos Relacionados Figura 1. Organização do processador BIP II O uso de simuladores é essencial para o ensino adequado da arquitetura de computadores, pois facilita a compreensão do funcionamento dos processadores utilizados. Estes simuladores costumam apresentam uma interface de usuário pouco elaborada e com poucos recursos operacionais, o que pode ocasionar dificuldade em utilizá-los em sala de aula [Borges e Silva 2006], [Borunda; Brewer e Erten 2006]. Com o objetivo de identificar funcionalidades relevantes em ambientes de simulação, foi realizada uma análise das características de alguns simuladores de arquitetura com caráter educacional. Um resumo das funcionalidades identificadas nestes simuladores pode ser visto na Tabela 1, onde são apresentadas também as funcionalidades do ambiente Bipide. Tabela 1. Funcionalidades dos simuladores analisados Características 4AC MipsIt Neander Win R10k Simularq VLIW- DLX Programação em alto nível Programação em assembly Visualização da Memória Visualização dos valores dos registradores Execução Passo a Passo Simulação da Organização Identificação de erros de compilação Alteração de valores em tempo de execução - - Arquivos de Ajuda Bipide

4 4. Bipide O ambiente Bipide insere-se no contexto acima apresentado e disponibiliza um ambiente de desenvolvimento integrado que possibilita o desenvolvimento, execução e simulação de programas em linguagem Portugol, relacionando estes programas à arquitetura dos processadores BIP. O ambiente Bipide é composto por: (i) um editor de textos destinado ao desenvolvimento de programas em linguagem Portugol; (ii) um compilador que traduz a linguagem Portugol para assembly dos processadores BIP; (iii) um simulador dos processadores BIP I e BIP II capaz de simular as instruções destes processadores exibindo graficamente sua execução por meio de animações; e (iv) um módulo de ajuda composto por informações teóricas relacionadas à Arquitetura e Organização dos processadores BIP e funcionalidades do sistema Projeto A experiência descrita acima e a análise de ferramentas de simulação de arquitetura levou ao desenvolvimento do projeto aqui apresentado. Foram definidos os requisitos do sistema, diagramas de caso de uso, protótipos de interface e a descrição da gramática a ser utilizada para a construção do compilador. Os requisitos considerados para o desenvolvimento da IDE incluem: O sistema deverá permitir ao usuário escrever e compilar programas em linguagem Portugol. O Sistema deverá indicar os erros encontrados no programa durante a compilação. O sistema deverá permitir a execução do programa passo a passo. O sistema deverá gerar código de máquina, para os processadores BIP I e BIP II. O sistema deverá simular o funcionamento do programa sobre a arquitetura dos processadores BIP I e BIP II Implementação Para a implementação do Bipide utilizou-se duas ferramentas de desenvolvimento de software: Visual Studio 2008 [Microsoft Corporation 2009b] e Expression Blend 2 [Microsoft Corporation 2009a]. O Visual Studio 2008 foi utilizado para a implementação da interface e das classes que compõem o sistema em linguagem C#. Os elementos gráficos e animações que compõem o simulador do processador BIP foram desenvolvidos em WPF 1 (Windows Presentation Foundation) através da ferramenta Expression Blend 2. Esta ferramenta apresenta uma interface orientada por design para aplicações baseadas na linguagem XAML (extensible Application Markup Language) e apresenta compatibilidade com a ferramenta Visual Studio O Windows Presentation Foundation (WPF) é uma tecnologia da Microsoft para desenvolvimento de aplicativos e interfaces. Sua utilização permite a construção de aplicações que possibilitam uma melhor experiência do usuário devido à possibilidade destas aplicações possuírem uma interface gráfica rica e interativa

5 A ferramenta para geração de compiladores ANTLRWorks [Parr 2009] foi utilizada para a implementação do compilador, através da qual foi possível gerar o analisador léxico e sintático do compilador. Também foram definidas através do ANTLRWorks as ações semânticas necessárias para a etapa de geração de código do compilador. Utilizou-se o editor FireEdit [The Code Project 2009] para a implementação do editor de código. Este editor apresenta algumas funcionalidades que auxiliam a escrita de programas como, por exemplo, a utilização de diferentes cores para identificar palavras reservadas e símbolos da linguagem (syntax highlighting) e identificação de aberturas e fechamentos de parênteses Visão Geral das Funcionalidades e dos Aspectos da Interface Gráfica O Bipide apresenta três módulos principais: (i) Programação, onde o usuário poderá escrever e compilar programas; (ii) Simulação, onde poderão ser simulados os programas desenvolvidos; e (iii) Ajuda, onde são apresentadas informações a respeito das funcionalidades do sistema e sobre a arquitetura e organização dos processadores BIP. Para organização dos módulos dentro do ambiente utilizou-se o recurso de abas. Na parte superior da interface são apresentados os painéis de opções através dos quais o usuário pode interagir com o sistema e ter acesso as suas funcionalidades. A Figura 2 apresenta a interface do módulo de programação. Figura 2. Interface do módulo de programação O módulo de programação oferece ao usuário recursos e funcionalidades típicas de editores de código fonte como, por exemplo, identificação de palavras reservadas e símbolos da linguagem. Oferece ainda opções de gerenciamento e edição de arquivos (Abrir, Salvar, Copiar, etc.) Na parte inferior do módulo são exibidas mensagens de erro ocorridas durante a compilação do programa e outras mensagens que sejam relevantes ao desenvolvimento do programa.

6 No ambiente de simulação, ilustrado na Figura 3, o usuário poderá executar o programa passo a passo e simular sua execução nos processadores BIP I e BIP II. Na parte superior são exibidos o código do programa em linguagem alto nível e o código assembly correspondente que foi gerado durante a compilação do programa. Durante a simulação, a linha do programa Portugol que está sendo executada é destacada, assim como é destacado também o conjunto de instruções assembly que correspondem a esta instrução Portugol. Desta forma permite-se ao usuário verificar quais instruções assembly geradas correspondem àquela linha do programa. Figura 3. Interface do módulo de simulação A simulação do programa é realizada através de animações que representam a execução do programa nos processadores BIP I e BIP II. São representados os registradores especiais do processador, as memórias de dados e instrução e seus respectivos valores. A fim de auxiliar o usuário a compreender o que está ocorrendo no processador, são apresentadas mensagens descrevendo as ações executadas e é possível visualizar informações a respeito dos principais elementos do processador. Também são utilizadas diferentes cores para distinguir os valores que representam endereços de memória e dados. A interface do módulo de simulação foi concebida pensando-se na possibilidade do usuário visualizar, ao mesmo tempo, os três elementos utilizados: linguagem alto nível, linguagem assembly e organização do processador. Isto permite que sejam realizadas comparações e associações entre estes três elementos, colaborando para a redução da abstração apresentada nos conceitos de programação. O módulo de ajuda é composto por informações teóricas a respeito de Arquitetura e Organização de computadores e apresenta descrição dos processadores BIP, auxiliando o usuário a compreender a arquitetura e instruções destes processadores. Este módulo descreve ainda aspectos da interface e opções do ambiente. O Bipide apresenta ajuda sensível ao contexto, acessível através de ícones de ajuda em cada um dos principais elementos da interface, os quais exibem ao usuário informações a respeito destes elementos.

7 4.3. Verificação e Avaliação do Sistema Foram realizados testes e experimentação no sistema, visando a eliminação de erros existentes no projeto e no desenvolvimento. Durante a implementação das ações semânticas do compilador, foi utilizado um conjunto de aplicações Portugol para sua validação. Estes programas foram compilados e os códigos assembly gerados foram analisados e comparados com os resultados esperados. Para a validação do simulador foram realizados testes para verificar a simulação de cada instrução do processador. Um conjunto de instruções assembly foi utilizado para verificar o estado esperado para os registradores e memórias. Este mesmo conjunto de instruções já havia sido utilizado para validação da arquitetura do microcontrolador µbip 2 [Pereira 2008] e, após serem simulados no ambiente Bipide, tiveram os valores resultantes analisados e comparados com o obtido previamente. A avaliação do ambiente consistiu na aplicação de um questionário a alunos da disciplina de Algoritmos e Programação da Universidade do Vale do Itajaí. Este questionário teve como objetivo coletar informações a respeito da utilização do ambiente e possíveis melhorias a serem implementadas no ambiente. Dos 21 alunos que responderam o questionário, 78,10% atribuíram notas entre 8 e 10 para as questões avaliadas. 5. Conclusões Neste artigo foi apresentado o ambiente de desenvolvimento integrado Bipide, planejado para uso em disciplinas introdutórias de Algoritmos e Programação permitindo relacionar conceitos de Arquitetura de Computadores com a lógica de programação. Espera-se com isto contribuir para a redução da abstração envolvida no ensino da programação e auxiliar o aprendizado de alunos destas disciplinas. Para o desenvolvimento do ambiente foi realizada a especificação de um compilador de Português Estruturado para o assembly dos processadores BIP. Foram especificados também os requisitos e o projeto do ambiente. Através da análise de ferramentas similares pode-se ter noção das características e funcionalidades destas ferramentas, as quais serviram para definir alguns aspectos do ambiente Bipide, de forma que este apresente alguma contribuição enquanto ferramenta educacional. Durante a implementação do ambiente utilizou-se a tecnologia WPF e a ferramenta Expression Blend 2. Ressalta-se a facilidade disponibilizada por estas tecnologias para o desenvolvimento de aplicações que exigem muitos recursos de interface, como a utilização de animações. Estas tecnologias integradas às demais ferramentas e componentes utilizados resultou em uma interface gráfica capaz de proporcionar uma melhor experiência para o usuário, agregando valor ao ambiente desenvolvido. Este trabalho contribui para a integração interdisciplinar, pois é parte integrante de um projeto que visa a utilização dos processadores da família BIP em diferentes fases e disciplinas de cursos de graduação e pós-graduação. Busca-se ainda coletar evidências 2 O µbip é uma terceira versão dos processadores BIP. Ele estende a arquitetura das versões anteriores e acrescenta suporte a instruções de lógica booleana, deslocamento lógico, manipulação de vetores, suporte a procedimentos e funcionalidades típicas de microcontroladores [Pereira 2008].

8 sobre a vantagem em reduzir o nível de abstração envolvido no ensino de programação e elucidar qual o impacto do uso de um modelo simplificado de computador na compreensão de conceitos ligados a esta aprendizagem. Referências Borges, J. A. S., Silva, G. P. (2006) NeanderWin Um simulador didático para uma arquitetura do tipo Acumulador, In: Workshop Sobre Educação em Arquitetura de Computadores, Ouro Preto: SBC. Borunda, P.; Brewer, C.; Erten, C. (2008) GSPIM: graphical visualization tool for MIPS assembly programming and simulation, In: Technical Symposium on Computer Science Education, New York, NY: Acm, p Microsoft Corporation. (2009) Microsoft Expression. June. Microsoft Corporation. (2009) Microsoft Visual Studio, June. Morandi, D. et al. (2006) Um processador básico para o ensino de conceitos de arquitetura e organização de computadores, In: Hífen, Uruguaiana, v. 30, p Morandi, D.; Raabe, A. L. A.; Zeferino, C. A. (2006) Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores, In: Proceedings of the 18th International Symposium on Computer Architecture and High Performance Computing Workshops, Porto Alegre, SBC, p Parr, T. (2009) ANTLRWorks: The ANTLR GUI Development Environment, June. Pereira, M. C. (2008) µbip: Microcontrolador Básico para o Ensino de Sistemas Embarcados, Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Universidade do Vale do Itajaí, Itajaí, The Code Project. (2009) Fireball.CodeEditor, June.

Bipide: Ambiente de Desenvolvimento Integrado para Utilização dos Processadores BIP no Ensino de Programação

Bipide: Ambiente de Desenvolvimento Integrado para Utilização dos Processadores BIP no Ensino de Programação Bipide: Ambiente de Desenvolvimento Integrado para Utilização dos Processadores BIP no Ensino de Programação Paulo Viníccius Vieira 1, André Luis Alice Raabe 1, Cesar Albenes Zeferino 1 1 Centro de Ciências

Leia mais

Bipide: Ambiente de Desenvolvimento Integrado para Utilização dos Processadores BIP no Ensino de Programação

Bipide: Ambiente de Desenvolvimento Integrado para Utilização dos Processadores BIP no Ensino de Programação Bipide: Ambiente de Desenvolvimento Integrado para Utilização dos Processadores BIP no Ensino de Programação Abstract. Teaching introductory programming generally involves an abstraction level, which is

Leia mais

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO Bipide: AMBIENTE DE DESENVOLVIMENTO INTEGRADO PARA A ARQUITETURA DOS PROCESSADORES BIP Área

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

Projeto de Processadores Programáveis

Projeto de Processadores Programáveis Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Projeto de Processadores Programáveis DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sumário Processadores

Leia mais

Simulador de Processador de Computador com propósito didático

Simulador de Processador de Computador com propósito didático Simulador de Processador de Computador com propósito didático Galileu Santos de Jesus, Edward David Moreno, Marco Tulio Chella Departamento de Computação - Universidade Federal de Sergipe São Cristóvão,

Leia mais

Estendendo a Arquitetura dos Processadores BIP para Ampliar o Seu Potencial de Uso em Disciplinas de Introdução a Programação

Estendendo a Arquitetura dos Processadores BIP para Ampliar o Seu Potencial de Uso em Disciplinas de Introdução a Programação Estendendo a Arquitetura dos Processadores BIP para Ampliar o Seu Potencial de Uso em Disciplinas de Introdução a Programação Paulo V. Vieira, Paulo R. M. Rech, Roney C. Mensch, Cesar A. Zeferino, André

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto: Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

Infra- Estrutura de Hardware

Infra- Estrutura de Hardware Infra- Estrutura de Hardware Conceitos Básicos de Arquitetura de Computadores Universidade Federal Rural de Pernambuco Professor: Abner Corrêa Barros Computador: Hardware + So=ware Computador: Hardware

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

Sistema Computacional

Sistema Computacional Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.

Leia mais

EA876 - Introdução a Software de Sistema

EA876 - Introdução a Software de Sistema A876 - Introdução a Software de Sistema Software de Sistema: conjunto de programas utilizados para tornar o hardware transparente para o desenvolvedor ou usuário. Preenche um gap de abstração. algoritmos

Leia mais

Estrutura do Sistema Operacional

Estrutura do Sistema Operacional Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Conceitos avançados de programação Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Objetivos de Aprendizagem e Entender as especificidades da programação em

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores Motivação Prof. Sérgio Faustino Compiladores Conhecimento das estruturas e algoritmos usados na implementação de linguagens: noções importantes sobre uso de memória, eficiência, etc. Aplicabilidade freqüente

Leia mais

Departamento de Engenharia Elétrica. ELE Microprocessadores I. Prof. Carlos Antonio Alves Sala 59 Fone

Departamento de Engenharia Elétrica. ELE Microprocessadores I. Prof. Carlos Antonio Alves Sala 59 Fone Departamento de Engenharia Elétrica ELE 1078 - Microprocessadores I Prof. Carlos Antonio Alves Sala 59 Fone 3743-1224 caa@dee.feis.unesp.br 1 P R O G R A M A D E E N S I N O OBJETIVOS Compreender o funcionamento

Leia mais

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

Informática I. Aula 9. Aula 9-17/05/2006 1

Informática I. Aula 9.  Aula 9-17/05/2006 1 Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

INE5421 LINGUAGENS FORMAIS E COMPILADORES

INE5421 LINGUAGENS FORMAIS E COMPILADORES INE5421 LINGUAGENS FORMAIS E COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer a teoria das linguagens formais visando sua aplicação na especificação de linguagens de programação e na construção de

Leia mais

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução

Leia mais

AGT0001 Algoritmos Aula 01 O Computador

AGT0001 Algoritmos Aula 01 O Computador AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia karina.roggia@udesc.br Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um

Leia mais

Informática I. Aula Aula 18-29/10/2007 1

Informática I. Aula Aula 18-29/10/2007 1 Informática I Aula 18 http://www.ic.uff.br/~bianca/informatica1/ Aula 18-29/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19 ÍNDICE GERAL SOBRE O LIVRO XI 1 INTRODUÇÃO 1 1.1 GERAÇÃO DIGITAL NATIVE 2 1.2 ALGORITMIA E PROGRAMAÇÃO DE COMPUTADORES 2 1.3 COMPUTAÇÃO EM NUVEM 4 1.4 PROGRAMAÇÃO DE DISPOSITIVOS MÓVEIS 6 1.5 PROGRAMAÇÃO

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I RISC versus CISC Gabriel P. Silva 04.11.2014 Introdução Um dos objetivos de uma arquitetura de

Leia mais

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias 1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo

Leia mais

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Introdução à Computação Parte 2

Introdução à Computação Parte 2 Introdução à Computação Parte 2 José Gustavo de Souza Paiva Computação Objetivo básico auxiliar os seres humanos em trabalhos repetitivos e bra çais, diminuindo esfor ços e economizando tempo O computador

Leia mais

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel Sistemas Operacionais Estrutura do Sistema Operacional Principais tipos de estruturas: Monolíticos; Em camadas; Máquinas Virtuais; Arquitetura Micro-kernel; Cliente-Servidor; 2 Arquitetura Monolítica Aplicação

Leia mais

Projeto BIP: Impactos de 10 Anos de Uso de Uma Proposta Interdisciplinar de Ensino de Computação

Projeto BIP: Impactos de 10 Anos de Uso de Uma Proposta Interdisciplinar de Ensino de Computação Projeto BIP: Impactos de 10 Anos de Uso de Uma Proposta Interdisciplinar de Ensino de Computação Paulo Viniccius Vieira 1, André Luis Alice Raabe 1, Cesar Albenes Zeferino 2 1 Laboratório de Inovação Tecnológica

Leia mais

Linguagens de Programação

Linguagens de Programação O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.

Leia mais

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas 4.1 Objetivo: O objetivo desta aula é exercitar a lógica de programação através do desenvolvimento e simulação

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

PLANO DE APRENDIZAGEM. 1. DADOS DE IDENTIFICAÇÃO: Curso: Bacharelado em Sistemas de Informação Disciplina: Arquitetura e Organização de Computadores

PLANO DE APRENDIZAGEM. 1. DADOS DE IDENTIFICAÇÃO: Curso: Bacharelado em Sistemas de Informação Disciplina: Arquitetura e Organização de Computadores PLANO DE APRENDIZAGEM 1. DADOS DE IDENTIFICAÇÃO: Curso: Bacharelado em Sistemas de Informação Disciplina: Arquitetura e Organização de Computadores Código: SIF06 Professor: Erick Barros Nascimento E-mail:

Leia mais

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO Rodrigo Ferreira da Silva rodrigoferreira2002@hotmail.com Klaus Schlünzen Junior klaus@prudente.unesp.br Universidade Estadual Paulista

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Aula Fev-07 Arquitectura de Computadores 2006/07

Aula Fev-07 Arquitectura de Computadores 2006/07 Apresentação Aula 1 26-Fev-07 Arquitectura de Computadores 2006/07 1 - Aula 1 Estrutura desta aula Apresentação da cadeira Objectivos Bibliografia Conhecimentos prévios Estrutura das aulas Avaliação 26-Fev-07

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014. Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/22 1 Linguagens de programação 2 Compilação 2/22 Tópicos 1

Leia mais

USANDO CORBA PARA INTEGRAR UM COMPILADOR DESENVOLVIDO EM JAVA COM FERRAMENTAS EM OUTRAS LINGUAGENS DE PROGRAMAÇÃO

USANDO CORBA PARA INTEGRAR UM COMPILADOR DESENVOLVIDO EM JAVA COM FERRAMENTAS EM OUTRAS LINGUAGENS DE PROGRAMAÇÃO 86 USANDO CORBA PARA INTEGRAR UM COMPILADOR DESENVOLVIDO EM JAVA COM FERRAMENTAS EM OUTRAS LINGUAGENS DE PROGRAMAÇÃO Luiz Fernando Noschang 1, André Luís Alice Raabe 1,2 1 Bacharelado em Ciência da Computação

Leia mais

18/10/2010. Unidade de Controle Controle. UC Microprogramada

18/10/2010. Unidade de Controle Controle. UC Microprogramada Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada

Leia mais

III.2 - Princípios de Arquitetura

III.2 - Princípios de Arquitetura Conjunto de Instruções e Modo de Endereçamento Ciclo de busca decodificação execução de instruções Programação de um processador Arquitetura de Von Neumann e Componentes Arquiteturas 4, 3, 2, 1 e 0 Tabela

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

Disciplina de Organização de Computadores I

Disciplina de Organização de Computadores I USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

Capítulo 1. Aspectos Preliminares

Capítulo 1. Aspectos Preliminares Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Linguagem de Programação I Prof. Tiago Eugenio de Melo. Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a

Leia mais

Ferramenta para criação e teste de algoritmos utilizando Fluxogramas ou Portugol

Ferramenta para criação e teste de algoritmos utilizando Fluxogramas ou Portugol Ferramenta para criação e teste de algoritmos utilizando Fluxogramas ou Portugol E. A. De Jesus, Pesquisador CTTMar/UNIVALI, R. De Santiago, Pesquisador CTTMar/UNIVALI e R. L. S. Dazzi, Orientador, CTTMar/UNIVALI

Leia mais

Avaliação Empírica da Proposta Interdisciplinar de Uso dos Processadores BIP

Avaliação Empírica da Proposta Interdisciplinar de Uso dos Processadores BIP Revista Brasileira de Informática na Educação, Volume 23, Número 2, 205 Avaliação Empírica da Proposta Interdisciplinar de Uso dos Processadores BIP Title: Empirical evaluation of using BIP processors

Leia mais

Instruções. Maicon A. Sartin

Instruções. Maicon A. Sartin Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis

Leia mais

Aula 17: Organização de Computadores

Aula 17: Organização de Computadores Aula 17: Organização de Computadores Introdução à Organização de Computadores Rodrigo Hausen hausen@usp.br 07 de outubro de 2011 http://cuco.pro.br/ach2034 Rodrigo Hausen (hausen@usp.br) Aula 17: Organização

Leia mais

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE Especificação do Projeto Simulador MIPS Superescalar CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até três alunos Última atualização: 5/junho/2018 1. Objetivo Exercitar e

Leia mais

Informática I. Aula 9. Aula 9-27/09/2006 1

Informática I. Aula 9.   Aula 9-27/09/2006 1 Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-27/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Um Enfoque Interdisciplinar no Ensino de Arquitetura de Computadores

Um Enfoque Interdisciplinar no Ensino de Arquitetura de Computadores Capítulo 6 Um Enfoque Interdisciplinar no Ensino de Arquitetura de Computadores Cesar Albenes Zeferino, André Luis Alice Raabe, Paulo Viniccius Vieira e Maicon Carlos Pereira Abstract This chapter presents

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

MSP430 Lab 02 Criar e Compilar um projeto

MSP430 Lab 02 Criar e Compilar um projeto MSP430 Lab 02 Criar e Compilar um projeto Software CCS Neste post iremos criar um novo projeto utilizando a IDE CCS da Texas Instruments, compilar o código feito em linguagem C e fazer o Debug da aplicação

Leia mais

Ciclo de vida: fases x atividades

Ciclo de vida: fases x atividades Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna BCC201 Introdução à Computação Turmas 31, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br Aula 2 Introdução:

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código

Leia mais

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin 1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de

Leia mais

Um Conjunto de Softwares Básicos Integrados para Arquitetura SIC/XE

Um Conjunto de Softwares Básicos Integrados para Arquitetura SIC/XE Um Conjunto de Softwares Básicos Integrados para Arquitetura SIC/XE Argemiro Soares de Aliança Neto, Sílvio Roberto Fernandes de Araújo Departamento de Ciências Exatas e Naturais - DCEN Universidade Federal

Leia mais

Sistemas Operacionais

Sistemas Operacionais Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia

Leia mais

DESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹

DESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹ DESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹ ¹ Universidade Federal do Pampa (UNIPAMPA) Bagé RS Brasil RESUMO Este trabalho

Leia mais

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO BIP C CRIAÇÃO DE UM COMPILADOR DA LINGUAGEM C PARA A ARQUITETURA DOS PROCESSADORES BIP por

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Compiladores I Prof. Ricardo Santos (cap 1)

Compiladores I Prof. Ricardo Santos (cap 1) Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve

Leia mais

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais. Processos e Threads Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação

Leia mais