Um Ambiente Computacional de Apoio à Aprendizagem de Instruções Assembly

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

Download "Um Ambiente Computacional de Apoio à Aprendizagem de Instruções Assembly"

Transcrição

1 Um Ambiente Computacional de Apoio à Aprendizagem de Instruções Assembly Gabriel Costa Silva 1, Rafael Cassolato de Meneses 2 1 UNIPAR - Universidade Paranaense Campus Paranavaí Curso de Sistemas de Informação Avenida Humberto Bruning, 360. Jardim Santos Dumont. CEP Paranavaí, PR gabriel_costasilva@yahoo.com.br 2 UEM - Universidade Estadual de Maringá Mestrado em Ciência da Computação Avenida Colombo, CEP Maringá, PR rcassolato@gmail.com Resumo. Uma instrução assembly é uma instrução escrita em uma linguagem de programação de baixo nível muito próxima ao hardware. Apesar de seu poder computacional, ela oferece um nível de complexidade igualmente alto. Além disso, um erro na escrita de uma instrução pode comprometer os demais aplicativos em execução na máquina. Este artigo apresenta um ambiente computacional de apoio à aprendizagem de instruções assembly. Esse ambiente interpreta instruções assembly simulando o comportamento do processador sem comprometer os recursos da máquina. O ambiente foi desenvolvido visando a modularidade e facilidade de uso além de manter compatibilidade com outros ambientes usados atualmente. 1. Introdução O ensino de disciplinas relacionadas ao hardware do computador envolve algumas dificuldades como a disponibilidade de recursos para que o estudante realize testes e a dificuldade em tratar com dispositivos minúsculos. Assim, é comum o uso de ambientes computacionais nos quais as operações de hardware possam ser simuladas e assim, facilitar o entendimento e aprendizado do estudante [12]. Outro fator que favorece o uso de tais ambientes é a própria evolução crescente do hardware. As primeiras máquinas desenvolvidas possuíam arquiteturas extremamente complexas e processamento pífio. Atualmente novas tecnologias, como os processadores com múltiplos núcleos, por exemplo, têm ganho atenção. Essa evolução passa pelo projeto de diferentes arquiteturas que definem como o hardware deve funcionar. Assim, é extremamente caro manter equipamentos reais e atualizados para uso no ensino. 305

2 A arquitetura MIPS tem sido a mais utilizada como base para o desenvolvimento de diversos ambientes computacionais [12], [10] e [5]. Sua estrutura simples, com poucas instruções e registradores que seguem um padrão tornam o MIPS alvo de estudo em disciplinas como Arquitetura de Computadores e Sistemas Operacionais [10]. Este artigo apresenta o CG MIPS, um ambiente computacional de apoio ao aprendizado de instruções assembly. Com interface gráfica intuitiva, o ambiente permite a fácil compreensão do comportamento dos registradores e posições de memória na execução de cada instrução. Na implementação do ambiente foram usadas técnicas avançadas que tornaram o código modular, reutilizável e fracamente acoplado. O restante deste artigo está organizado da seguinte forma: a Seção 2 apresenta uma breve revisão sobre a arquitetura MIPS; na Seção 3 são apresentados os trabalhos relacionados; a Seção 4 apresenta as principais características do CG MIPS; por fim, a Seção 5 apresenta as conclusões deste trabalho e trabalhos futuros. 2. Visão Geral da Arquitetura MIPS Um processador é um componente essencial para o funcionamento do computador. Segundo [9], a arquitetura de um computador refere-se aos aspectos funcionais do sistema computacional que são visíveis ao programador, como o conjunto de instruções e os registradores, por exemplo. Existem diversas arquiteturas no mercado, porém, a arquitetura MIPS é muito utilizada para a aprendizagem do comportamento de processadores [10]. MIPS acrônimo em inglês para Microprocessor without Interlocking Pipeline Stages, é um processador desenvolvido em meados de 1980 pela MIPS Computer System. Por volta dos anos 1990, o projeto do MIPS começou a ser licenciado para terceiros. A simplicidade de simplicidade de seu núcleo o tornou um processador de grande sucesso [6]. Com arquitetura baseada em RISC, ele possui atualmente versões de 32 e 64 bits e mais de 12 diferentes modelos, que variam desde a frequência até o tamanho da cache. Seu projeto simples permite que ele seja utilizado para fins educacionais Estrutura de Registradores O MIPS possui 32 registradores de uso geral onde são realizadas todas as operações aritméticas, além de assumir um papel fundamental durante a troca de contexto do processador. Apesar do número de operandos estar limitado à quantidade de registradores (durante operações aritméticas deve-se considerar também o formato da instrução, pois ela define a quantidade de operandos por instrução), essa limitação pode ser facilmente contornada utilizando instruções de busca e armazenamento na memória principal [7]. Além dos registradores comumente usados, existem ainda três registradores especiais. O primeiro deles é o PC, responsável por armazenar o endereço da próxima instrução que será executada. Os outros dois são o HI e LO, que são utilizados para armazenar o resultado de operações de multiplicação e divisão [7]. 306

3 2.2. Conjunto de Instruções Segundo [7], o conjunto de instruções do MIPS foi definido seguindo 4 princípios básicos para o projeto de hardware: (I) regularidade que favorece a simplicidade; (II) menor é mais rápido; (III) faça o caso comum mais rápido; e (IV) bom projeto demanda bom compromisso. A aplicação desses princípios resultou em ganhos no projeto de hardware (como a instrução add), baixa complexidade de hardware e eficácia do processador (uso de 32 registradores) e maior velocidade de execução (uso de imediatos, como na instrução addi, por exemplo). No MIPS as instruções são classificadas em três tipos [7]: (I) tipo R, envolve instruções lógicas e aritméticas; (II) tipo I, inclui basicamente instruções que fazem uso de constante e aquelas que realizam transferência de dados, como lw e sw; e (III) tipo J, são aquelas por meio das quais são realizados desvios. A Figura 1 ilustra o modelo de instruções do MIPS. Observe que cada tipo de instrução possui uma estrutura diferente, porém todas possuem o mesmo tamanho. Figura 1. Modelo de instruções no MIPS 3. Trabalhos Relacionados O aprendizado de conceitos relacionados ao hardware do computador é comumente apoiado por mapas e esquemas gráficos. No entanto, esses recursos não permitem a visualização do comportamento dinâmico das estruturas internas do hardware. Para dar apoio a essa visualização, diversos ambientes têm sido propostos. O objetivo geral desses ambientes é reproduzir o comportamento real de um sistema. Os propósitos para sua implementação podem ser variados como: uso para testes, validação ou ensino [4]. Além disso, por meio desses ambientes é possível que novas técnicas sejam avaliadas sem a necessidade da implementação em hardware, o que influencia diretamente no custo. Esses ambientes de apoio ao aprendizado são frequentemente chamados de simuladores. No âmbito educacional, vários simuladores têm sido propostos. Entre eles podemos citar: WebMIPS [2], GSPIM [1] e SPIM [7]. Esta seção discorre sobre três simuladores com diferentes funcionalidades, a saber: MARS, PROCSim e R10K MARS Desenvolvido para fins educacionais em meados de 2003 por [11], ele tem se mostrado uma boa alternativa em relação ao SPIM. Sua interface amigável e diversas funcionalidades têm garantido sucesso entre os estudantes [5]. Sua última versão além de implementar diversas instruções nativas do MIPS 32 bits conta ainda com uma série de ferramentas adicionais (plugins) que permitem, entre outras coisas, simular o 307

4 funcionamento da memória cache durante a execução de um código, e contar as instruções presentes classificando-as por tipo. Um editor integrado permite que as instruções sejam inseridas (e alteradas) diretamente ou pela importação de um arquivo. Com o código já inserido no editor, é realizado o processo de montagem, no qual as instruções são validadas e endereçadas. Após a montagem o código endereçado linha-a-linha pode ser visualizado na aba Execute. O MARS permite que a execução das instruções seja realizada passo-a-passo, ou de maneira direta na qual pode ser definida a velocidade de execução. Os valores armazenados nos registradores e na memória podem ser visualizados diretamente na interface do MARS. Esses valores podem ser apresentados em formato decimal ou hexadecimal PROCSIM Diferente do MARS, o ProcSim permite visualizar a execução de instruções por meio de animações. Esse processo envolve a visualização dos componentes internos do processador, seus barramentos e a transferência de mensagem entre eles. Baseado na arquitetura do MIPS R2000, o ProcSim possui uma quantidade limitada de instruções. Uma das características interessantes desse simulador é a possibilidade de escolher um datapath específico para visualizar a execução de uma instrução [3]. Um datapath é o caminho percorrido pelos dados no interior do processador [9]. A inserção do código assembly acontece por meio da importação de um arquivo. A tela principal permite que sejam realizadas algumas configurações, como o nome dos barramentos e a arquitetura MIPS a ser usada, por exemplo. Durante a execução de uma instrução é possível acompanhar em janelas de apoio os valores dos registradores e quais instruções estão sendo executadas. A simulação pode ser realizada passo-a-passo, a exemplo do que acontece com o MARS. As instruções que estão sendo executadas podem ser visualizadas tanto em código de máquina como código assembly. A janela principal apresenta todo o caminho percorrido pela instrução [8] R10K Baseado no modelo R10000 do MIPS, o R10K é voltado para o aprendizado em arquitetura superescalar. Segundo [4], uma arquitetura superescalar é capaz de buscar, executar e finalizar diversas instruções ao mesmo tempo. Em uma arquitetura superescalar o processador possui diversas unidades de execução que os capacita a executar diferentes instruções em paralelo. O R10K apresenta todas as estruturas utilizadas pela arquitetura MIPS É possível acompanhar, ao mesmo tempo, o comportamento de cada componente a cada ciclo de instrução. As várias unidades funcionais permitem a execução paralela de até quatro instruções distintas. O simulador implementa um conjunto de 29 instruções, permitindo que sejam buscadas várias instruções por ciclo, e permitindo ainda a execução fora de ordem. Para isso, o simulador verifica a dependência de dados durante a decodificação das instruções. Instruções com dependências não são executadas até que essas dependências sejam resolvidas. Durante a simulação, as instruções podem ser executadas passo-a- 308

5 passo, para ajudar a assimilação do funcionamento do processador. É possível realizar o rastreamento das instruções verificando todo o caminho percorrido. Além disso, é possível visualizar também as instruções já finalizadas [4]. Além de implementar uma arquitetura superescalar, o simulador ainda possui[4]: interface bem organizada, amplo conjunto de instruções, possibilidade de modificação do programa fonte direto no simulador e um analisador léxico que emite mensagens específicas no caso de erros. 4. CG MIPS Um Ambiente de Apoio ao Aprendizado de Instruções Assembly Desenvolvido com o intuito de ser uma ferramenta computacional de apoio para estudantes da disciplina de Arquitetura e Organização de Computadores tanto em nível de graduação quanto de pós-graduação, o CG MIPS simula o comportamento real do processador MIPS na execução de instruções assembly. Durante a execução das instruções é possível observar o comportamento dos registradores e memória. A interface do simulador foi criada visando um mapeamento direto com a arquitetura do MIPS. Simples e direta, ela mantém o observador informado sobre o estado atual dos registradores, posições de memória e pilha. Essa observação pode ser realizada durante a execução de cada uma das instruções. Para facilitar o entendimento do estudante é possível controlar a velocidade com a qual as instruções são executadas ou até mesmo realizar a execução passo-a-passo, permitindo ao estudante o total controle do processador. Além disso, os objetivos didáticos foram ampliados para além do ensino da arquitetura do processador MIPS. Sua estrutura interna foi desenvolvida utilizando padrões de projeto, organização e estruturação de código e técnicas avançadas de código em Java que promovem, entre outras coisas, a modularidade e reuso. Essas características permitem que seu projeto seja utilizado também como estudo de caso no ensino de técnicas de programação orientada a objetos com Java. Por ser multiplataforma o simulador pode ser utilizado em qualquer tipo de sistema, bastando para isso que o sistema operacional utilizado possua a máquina virtual Java (JVM). A integração com Java Web Start permite ainda que o CG MIPS seja distribuído através da Web, mantendo a versão do usuário sempre atualizada. A seguir são apresentadas algumas características do CG MIPS Estrutura Externa A interface do CG MIPS apresenta os componentes internos de armazenamento do MIPS encapsulados em janelas independentes. A utilização de janelas independentes permite que os componentes sejam rearranjados, facilitando assim a visualização. Esse é um fator importante quando se trata do uso de diferentes resoluções de monitores. Além desses componentes está presente também um editor onde as instruções são visualizadas, editadas e sua execução, controlada. A tela principal do CG MIPS pode ser vista na Figura 2. Do lado direito da tela, está posicionado o banco de registradores. Esse banco armazena os 32 registradores padrão do MIPS além dos registradores especiais PC, HI e LO. Na parte central inferior da tela está a memória. A memória é 309

6 dividida em memória principal e pilha. Na parte central superior está o editor. O editor permite que o código seja importado de um arquivo ou inserido diretamente. Figura 2. Tela principal do CG MIPS Memória, registradores e editor de instruções No projeto da interface houve uma preocupação em adotar boas práticas de interação com usuário por meio de guidelines. Desse modo, as funcionalidades presentes no CG MIPS são acessíveis de três formas diferentes: (I) por meio de uma barra de ferramentas com gráficos intuitivos; (II) por meio de um menu de acesso; ou (III) por meio de atalhos de teclado Editor É por meio do editor que o código assembly é inserido no ambiente. O código pode ser inserido diretamente no editor ou importado de um arquivo no formato texto. Para manter compatibilidade, o analisador léxico das instruções segue o mesmo padrão utilizado no MARS. Os seis primeiros caracteres são reservados para o rótulo, considerando inclusive o caractere :. Para que as instruções sejam executadas corretamente as regras léxicas devem ser seguidas. No caso de não haver rótulos, os seis primeiros caracteres devem ser representados por espaços em branco. O simulador implementa 53 instruções, entre elas estão instruções nativas do MIPS, pseudo-instruções e a instrução syscall, que realiza chamadas ao sistema. As modificações realizadas no editor podem ser salvas em um arquivo para utilização posterior. A janela que apresenta o editor de instruções do CG MIPS realiza ainda a 310

7 função de controlar a execução das instruções. Esse procedimento é realizado na aba Execução. Para isso é necessário que, após escrito, o código seja montado. A Figura 4 ilustra um código na aba de Execução, após sua montagem. No processo de montagem, cada linha de código é analisada pelo analisador léxico. Caso existam erros de sintaxe, eles serão informados ao usuário e a montagem não será realizada. Após a análise do código cada linha de instrução é endereçada. Esse processo segue o padrão do MIPS, endereçando cada instrução a cada 4 bytes. O código é armazenado em dois compartimentos, representados pelas abas: Básico e Código. Em Básico está armazenado apenas as instruções da forma como serão executadas. Já em Código, é mantido o formato padrão apresentado na aba Editor. Com o código montado, é possível executar uma simulação. A interface do CG MIPS oferece controles que permitem uma simulação passo-a-passo, na qual o usuário tem controle sobre o momento da execução podendo decidir quando avançar, ou direta, na qual as instruções são executadas sequencialmente sem intervenção do usuário. Um componente gráfico (slicer) permite que seja definida a velocidade de execução entre as instruções. Essa velocidade pode variar entre 1 a 10 segundos. Durante esse processo a execução pode ser pausada ou até mesmo cancelada Memória e Registradores Em situações reais o tamanho da memória principal pode ser muito variado. No CG MIPS valores do tipo inteiro podem ser armazenados em até 32 posições de memória. As instruções sw e lw são responsáveis por realizar o acesso à memória. A janela de memória possui uma segunda divisão na qual são armazenados os valores da pilha. As posições da pilha são controladas pelo registrador $sp. Para facilitar o entendimento, tanto valores armazenados quanto de endereçamento são apresentados no formato decimal. O banco de registradores do CG MIPS possui os 32 registradores de uso de geral do MIPS além de três registradores especiais: PC, HI e LO. Assim como na representação da memória, nos registradores os valores armazenados são apresentados no formato decimal. Os registradores do CG MIPS podem armazenar apenas valores inteiros Estrutura Interna O código interno do CG MIPS foi estruturado em camadas. Assim, os componentes possuem a modularidade necessária para facilitar a manutenção e promover o reuso de código. Os componentes que compõem a interface com o usuário fazem uso do padrão de projeto Observer. Na implementação das instruções o padrão de projeto Factory também é utilizado. A preocupação com a modularização e o reuso mantiveram a arquitetura simples e o baixo acomplamento entre os componentes, assim a implementação das instruções segue uma estrutura hierárquica baseada na quantidade de operandos, conforme apresentado na Figura 3. Por exemplo, para se adicionar uma nova instrução com dois operandos (sem imediato) a classe que implementa a instrução deve estender a classe Instrucao2Op. Para que a nova instrução possa ser usada, ela também precisa ser relacionada no enum TipoInstrucao. 311

8 O CG MIPS está integrado com o Java Web Start. Java Web Start é uma tecnologia que permite que aplicações sejam automaticamente atualizadas via Web, sem a intervenção do usuário. Desse modo, novas alterações são replicadas diretamente para o ambiente do usuário mantendo a versão sempre atualizada. Figura 3. Visão parcial das classes do CG MIPS 4.5. Estudo de Caso Para validar a aplicação do CG MIPS, diversos experimentos foram realizados. Nesses experimentos foram usados algoritmos clássicos da literatura como cálculo de fatorial e Fibonacci, algoritmos desenvolvidos para outros simuladores compatíveis com o MARS e algoritmos desenvolvidos pelos próprios autores. A Figura 4 ilustra o CG MIPS após a execução do algoritmo de Fibonacci. As janelas internas foram organizadas de modo que os registradores ($a0, $t0, $v0, $sp e $ra), endereços de memória usados, bem como o próprio algoritmo pudesse ser visualizado. Esse algoritmo calcula a sequência Fibonacci para o número 4, e armazena o último valor da sequência (3) em um registrador. 312

9 Figura 4. Execução do algoritmo de Fibonacci A execução do algoritmo inicia no endereço A primeira instrução, além de definir um bloco (start), carrega o valor 4 (sequência que queremos calcular) no registrador $a0. A próxima instrução realiza um salto para outro bloco de instruções (fib). Para que as várias iterações recursivas possam ser calculadas, os endereços de memória e os valores calculados são armazenados em posições na pilha. No final do algoritmo, o endereço de memória, a partir do qual o primeiro salto foi realizado, é recuperado, o valor do último elemento da sequência é armazenado no registrador $a0, e o algoritmo é encerrado (syscall). Note que, segundo a especificação, para que o código seja encerrado é necessário que o valor 10 seja atribuído ao registrador $v0. 5. Conclusões e Trabalhos Futuros Este artigo apresentou o CG MIPS, um ambiente computacional de apoio a aprendizagem de instruções assembly. Adicionalmente o ambiente permite o aprendizado do comportamento dos registradores e memória de uma arquitetura MIPS genérica. O CG MIPS possui interface gráfica simples e modular que permite ao estudante posicionar as janelas da forma mais conveniente. Seguindo o modelo de instruções proposto pelo simulador MARS, o editor do CG MIPS permite o intercâmbio de arquivos com outro simulador. As janelas que representam os elementos do processador (registradores, memória e pilha), estão integradas com a janela de execução, desse modo é possível visualizar o comportamento de cada elemento durante a execução. Podem ser definidas diferentes velocidades de execução para as instruções, dessa forma mantendo o foco no comportamento dos elementos. O CG MIPS permite ainda que cada instrução seja executada passo-a-passo sob o controle do usuário. Além destas características o CG MIPS foi desenvolvido visando a modularidade. O projeto do simulador contou com o uso de técnicas avançadas de 313

10 programação em Java e padrões de projeto. Essas características complementares permitem que novas funções sejam facilmente inseridas no CG MIPS. No entanto o CG MIPS não está completo e algumas melhorias ainda devem ser implementadas em trabalhos futuros. Entre elas podemos citar: (I) a integração com ferramentas do simulador MARS muito utilizado atualmente; (II) a exemplo do que acontece com o simulador PROCSIM, desenvolver uma janela adicional que permita visualizar o caminho dos dados durante a execução de instruções (datapath); e (III) permitir que o sistema funcione diretamente pela Web. Referências [1] Borunda, P.; Brewer, C.; Erten, C., GSPIM: Graphical Visualization Tool For MIPS Assembly Programming And Simulation, Proceedings Of The 37th. SIGCSE Technical Symposium On Computer Science Education, 2006, p [2] Branovic, I.; Giorgi, R.; Martinelli, E., WebMIPS: A New Web-Based MIPS Simulation Environment For Computer Architecture Education, 31st International Symposium on Computer Architecture, [3] Gart, J., PROCSIM Processor Sim, Outubro 2008, 19. [4] Junior, N. A. G.; Silva, R. C. L.; Gonçalves, R. A. L.; Martini, J. A., R10k: Um Simulador de Arquitetura Superescalar, Workshop sobre Educação em Arquitetura de Computadores (WEAC 2007), 2007, p [5] Kenneth, V.; Sanderson, P., MARS: An Education-Oriented MIPS Assembly Language Simulator, Proceedings Of The 37th. SIGCSE Technical Symposium On Computer Science Education, 2006, p [6] MIPS MIPS Technologies, Outubro 2008, 23. [7] Patterson, D. A.; Hennessy, J.L. Computer organization and design. Elsevier, San Francisco, [8] Sarjoughian, H.S.; Chen, Y.; Burger, K., A component-based Visual Simulator for MIPS 32 Processors, Frontiers in Education, [9] Tanenbaum, A. S., Organização Estruturada de Computadores, Ltc Livros Técnicos e Científicos Editora S.A., 3 ed., [10] Vegdahl, S. R., MIPSPILOT: A Compiler-Oriented MIPS Simulator, Journal of Computing Sciences in Colleges, Vol. 24, No. 2, 2008, pp [11] Vollmar, K.; Sanderson, P., A MIPS Assembly Language Simulator Designed for Education, Journal of Computing Sciences in Colleges, Vol. 21, No. 1, 2005, pp [12] Yehezkel, C.; Yurcik, W.; Pearson, M.; Armstrong, D., Three Simulator Tools For Teaching Computer Architecture: Easycpu, Little Man Computer, And Rtlsim, Journal on Educational Resources in Computing, Vol. 1, No. 4, 2001, pp

Simulador do Processador Neander T&D-Bench Simulator Manual do Usuário. por Júlio César Maccali. revisado por Prof. Christian Zambenedetti

Simulador do Processador Neander T&D-Bench Simulator Manual do Usuário. por Júlio César Maccali. revisado por Prof. Christian Zambenedetti UNIVERSIDADE DE CAXIAS DO SUL CAMPUS UNIVERSITÁRIO DA REGIÃO DOS VINHEDOS CENTRO DE CIÊNCIAS EXATAS, DA NATUREZA E DE TECNOLOGIA CURSO DE TECNOLOGIA EM PROCESSAMENTO DE DADOS Simulador do Processador Neander

Leia mais

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO] Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...

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

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Usando o simulador MIPS

Usando o simulador MIPS Usando o simulador MIPS O objetivo desta aula prática será a utilização do simulador MipsIt para executar programas escritos em linguagem de máquina do MIPS. 1 Criando um projeto Cada programa a ser executado

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

SIS17-Arquitetura de Computadores

SIS17-Arquitetura de Computadores Sistema de Computação SIS17-Arquitetura de Computadores Apresentação da Disciplina Peopleware Hardware Software Carga Horária: 40 horas 2 Computadores atuais Unidade Central de Processamento Entrada Computadores

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

MODOS DE ENDEREÇAMENTO

MODOS DE ENDEREÇAMENTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC UNIVERSIDADE FEDERAL DE SANTA CATARINA DANIEL CARLOS CASAROTTO JOSE OTÁVIO CARLOMAGNO FILHO MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC Florianópolis, 2004 DANIEL CARLOS

Leia mais

Processo de Controle das Reposições da loja

Processo de Controle das Reposições da loja Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD 0 CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD ORIENTAÇÕES SOBRE USO DO AMBIENTE VIRTUAL DE APRENDIZAGEM (MOODLE) PARA DISPONIBILIZAÇÃO

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Componentes de um Computador: Modelo Von Neumann

Componentes de um Computador: Modelo Von Neumann Componentes de um Computador: Modelo Von Neumann Modelo de Von Neumann O nome refere-se ao matemático John Von Neumann que foi considerado o criador dos computadores da forma que são projetados até hoje.

Leia mais

Simuladores e ferramentas educacionais no ensino de arquitetura de computadores Luis Antonio Soares UNESP - IBILCE

Simuladores e ferramentas educacionais no ensino de arquitetura de computadores Luis Antonio Soares UNESP - IBILCE Simuladores e ferramentas educacionais no ensino de arquitetura de computadores Luis Antonio Soares UNESP - IBILCE 1. INTRODUÇÃO Ao analisar o conteúdo da disciplina de arquitetura de computadores, é possível

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Metodologia da Disciplina 1-Objetivo 2-Competências

Leia mais

Emissão de Nota Fiscal de Serviço Eletrônica

Emissão de Nota Fiscal de Serviço Eletrônica Emissão de Nota Fiscal de Serviço Eletrônica Introdução A emissão de Nota Fiscal de Serviço Eletrônica traz ao cliente TTransp a possibilidade de documentar eletronicamente as operações de serviço prestadas

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Como conduzir com sucesso um projeto de melhoria da qualidade

Como conduzir com sucesso um projeto de melhoria da qualidade Como conduzir com sucesso um projeto de melhoria da qualidade Maria Luiza Guerra de Toledo Coordenar e conduzir um projeto de melhoria da qualidade, seja ele baseado no Seis Sigma, Lean, ou outra metodologia

Leia mais

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR 1 Índice: 01- Acesso ao WEBMAIL 02- Enviar uma mensagem 03- Anexar um arquivo em uma mensagem 04- Ler/Abrir uma mensagem 05- Responder uma mensagem

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

COMO USAR DOIS MONITORES NO WINDOWS 8

COMO USAR DOIS MONITORES NO WINDOWS 8 COMO USAR DOIS MONITORES NO WINDOWS 8 Trabalhar com dois monitores no Windows tem diversas utilidades. Dentre elas podemos destacar a possibilidade de visualizar mais itens ao mesmo tempo, exibir o conteúdo

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Introdução ao Processamento Paralelo

Introdução ao Processamento Paralelo Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam

Leia mais

Organização de Computadores Hardware

Organização de Computadores Hardware Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

GUIA BÁSICO DA SALA VIRTUAL

GUIA BÁSICO DA SALA VIRTUAL Ambiente Virtual de Aprendizagem - MOODLE GUIA BÁSICO DA SALA VIRTUAL http://salavirtual.faculdadesaoluiz.edu.br SUMÁRIO 1. Acessando Turmas 4 2. Inserindo Material 4 3. Enviando Mensagem aos Alunos 6

Leia mais

TOTVS BA Guia de Customização Linha Logix

TOTVS BA Guia de Customização Linha Logix TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:

Leia mais

Versão Liberada. www.gerpos.com.br. Gerpos Sistemas Ltda. info@gerpos.com.br. Av. Jones dos Santos Neves, nº 160/174

Versão Liberada. www.gerpos.com.br. Gerpos Sistemas Ltda. info@gerpos.com.br. Av. Jones dos Santos Neves, nº 160/174 Versão Liberada A Gerpos comunica a seus clientes que nova versão do aplicativo Gerpos Retaguarda, contendo as rotinas para emissão da Nota Fiscal Eletrônica, já está disponível. A atualização da versão

Leia mais

Santa Cruz do Sul, outubro de 2015.

Santa Cruz do Sul, outubro de 2015. MANUAL DO USUÁRIO Santa Cruz do Sul, outubro de 2015. Adilson Ben da Costa & Ederson Luis Posselt Programa de Pós-graduação em Sistemas e Processos Industriais, Universidade de Santa Cruz do Sul (UNISC),

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Análise de Ponto de Função

Análise de Ponto de Função Complemento para o Curso Análise de Ponto de Função FUNÇÕES DO TIPO DADO O termo Arquivo não significa um arquivo do sistema operacional, como é comum na área de processamento de dados. Se refere a um

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0

Leia mais

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva Arquitetura de Computadores - Arquitetura RISC por Helcio Wagner da Silva Introdução RISC = Reduced Instruction Set Computer Elementos básicos: Grande número de registradores de propósito geral ou uso

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

Leia mais

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

ALP Algoritmos e Programação. . Linguagens para Computadores

ALP Algoritmos e Programação. . Linguagens para Computadores ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Manual do usuário. Softcall Java. versão 1.0.5

Manual do usuário. Softcall Java. versão 1.0.5 Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6

Leia mais

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1

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

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

Estrutura, Processos e Threads

Estrutura, Processos e Threads Estrutura, Processos e Threads Prof. Edwar Saliba Júnior Março de 2007 1 Sistema computacional A p l i c a t i v o s U t i l i t á r i o s N ú c l e o d o S i s t e m a O p e r a c i o n a l H a r d w

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

Manual do sistema SMARsa Web

Manual do sistema SMARsa Web Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Uso do Netkit no Ensino de Roteamento Estático

Uso do Netkit no Ensino de Roteamento Estático Uso do Netkit no Ensino de Roteamento Estático Nyl Marcos Soares Barbosa, Moisés Lima dos Anjos, Madianita Bogo Curso de Sistemas de Informação Centro universitário Luterano de Palmas (CEULP/ULBRA) Teotônio

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais