Simulador do MIPS do T&D-Bench, integrado com o gcc Aplicações no Ensino
|
|
- Roberto Faria Garrido
- 8 Há anos
- Visualizações:
Transcrição
1 Simulador do MIPS do T&D-Bench, integrado com o gcc Aplicações no Ensino Matheus Antônio Zucolotto Pereira Christian Zambenedetti Sandro Neves Soares Universidade de Universidade de Universidade de Caxias do Sul Caxias do Sul Caxias do Sul mazperei@ucs.br christian@abacus.inf.br snsores@ucs.br Resumo Ao estender o modelo de simulação do MIPS do T&D-Bench para explorar o espaço de projeto usando um recurso arquitetural que reduz o consumo de energia, foi necessário permitir que programas em Assembly, gerados pelo gcc a partir de programas em C, servissem de entrada para o simulador. Estes acréscimos mais próximos da realidade, em conjunto com os recursos visuais e interativos já existentes, criaram novas possibilidades de uso deste simulador para ilustrar conceitos de Arquitetura de Computadores e, também, de Programação de Computadores. Os novos recursos, as aplicações já existentes e aquelas em potencial são descritas neste texto. 1. Introdução Há muitos simuladores didáticos que empregam o processador MIPS para apresentar conceitos de Arquitetura de Computadores. A nossa experiência mostra que eles executam programas em Assembly, criados pelo usuário, e que estes programas não atingem as dimensões de programas reais. Tais programas tratam de algoritmos simples e tradicionais, como ordenação de valores por exemplo, e trabalham sobre pequenos conjuntos de dados. A geração de programas em Assembly para estes simuladores, a partir de programas em C, usando um compilador, apesar de parecer uma tarefa simples e direta, na realidade torna-se algo impraticável se não for acompanhada de alterações no próprio simulador. Isso se deve às diferenças de sintaxe na digitação das instruções do Assembly e às diferentes diretivas empregadas. O usuário pode partir, então, para ambientes que prevêem a simulação de programas em C. Há diversos ambientes de modelagem, usados em pesquisa, que são usados também com propósitos didáticos. Entretanto, a complexidade de tais ambientes, relacionada a sua instalação, ao grande número de itens de configuração, a grande quantidade de resultados gerados, entre outros, faz com que eles não tenham tanto espaço, no ensino de Arquitetura de Computadores, quanto os simuladores didáticos. Neste contexto, sob demanda de um trabalho de pesquisa em andamento, foi necessário fazer com que o simulador do MIPS do T&D-Bench fosse estimulado por programas em C. Isso adicionou aos recursos visuais e interativos, já existentes em modelos de processadores do T&D-Bench, a possibilidade de execução de programas mais reais, sem acrescentar complexidade ao simulador. Novas possibilidades de uso em sala de aula foram criadas em conseqüência. O resultado obtido preenche, assim, uma lacuna deixada por simuladores didáticos e ambientes de pesquisa, bem dentro da proposta do framework T&D-Bench, que é a de ser usado em ensino e em pesquisa. O texto que segue descreve estes novos acréscimos ao simulador do MIPS do T&D-Bench e está organizado da seguinte forma: a Seção 2 apresenta outros simuladores didáticos do MIPS. A Seção 3 mostra detalhes do modelo de simulação do MIPS do T&D-Bench. A Seção 4 descreve os procedimentos e os recursos envolvidos na execução de programas em C no simulador. A Seção 5 apresenta aplicações já existentes e aquelas em potencial e, finalmente, a seção 6 apresenta as conclusões e discute trabalhos futuros. 2. Trabalhos Relacionados PCSpim [1] é um simulador usado para ensinar a programar na linguagem Assembly do MIPS R3000. Ele pode ser executado com uma interface gráfica ou através da linha de comandos. Os simuladores DLXview [2] e DARC2 [3] contam com interfaces 31
2 gráficas que permitem a visualização das operações internas dos três modos de execução do processador DLX: pipeline básico, algoritmo Tomasulo e scoreboarding. O DLX é uma versão simplificada do MIPS para uso no ensino. RaVi [4] inclui elementos multimídia para auxiliar na visualização do comportamento dinâmico dos componentes do hardware. Elementos disponíveis incluem o pipeline do MIPS e o protocolo MESI para multiprocessadores. WebMIPS [5] é um simulador do MIPS que pode ser executado através de um navegador de Internet. O DIMIPSS [6] é um software multiplataforma de simulação da execução das instruções Assembly do MIPS monociclo, executado através de uma interface gráfica simples. VLIW-DLX [7] é um simulador gráfico de um processador que usa a técnica VLIW (Very Large Instruction Word) e o conjunto de instruções do DLX. Nos testes com estes simuladores, não foi encontrada a possibilidade de executar programas desenvolvidos em linguagem C. 3. O Modelo de Simulação do MIPS O T&D-Bench [8] é um framework para a exploração do espaço de projeto de processadores que, usando um alto nível de abstração, provê um processo de projeto rápido e simplificado, juntamente com a flexibilidade para a modelagem de mecanismos arquiteturais mais complexos, ou específicos de um dado processador. Diversos modelos de processadores foram desenvolvidos com o T&D-Bench. Um deles é o modelo do processador MIPS [9], amplamente adotado no ensino de Arquitetura de Computadores, com dados e endereços de 32 bits, um pipeline de 5 estágios e 32 registradores de propósito geral. A Figura 1 mostra alguns trechos da sua descrição usando a TDSDL, a linguagem simplificada de descrição do T&D-Bench. O comando create instancia os componentes da organização do processador, que estão disponíveis na biblioteca de componentes do T&D-Bench. No exemplo, estão sendo criados os componentes do estágio FETCH do MIPS. Após o comando create, segue-se o nome do componente e alguns valores referentes a parâmetros da instância, como tipo de componente, largura em bits, entre outros. Cada componente da biblioteca conta com uma documentação descrevendo tais parâmetros. A descrição de aspectos temporais do exemplo indica um processador com 5 estágios de pipeline. Além dos nomes, os estágios são identificados também por números, que são usados, posteriormente, na temporização das microoperações de um dado tipo de instrução. Por último, o exemplo apresenta as microoperações que compõem o estágio de FETCH, incluídas em todos os tipos de instruções do MIPS. No caso, há a leitura e incremento do PC (add.behavior), a leitura da memória de instruções e a escrita do valor incrementado, novamente, no PC, via multiplexador muxpc, que é configurado para selecionar o incremento ao invés do salto (mpxpc.sel = 1). Micro-arquitetura create pc create imemory create add create muxpc create if_id Aspectos Temporais PIPELINED FETCH, 0, 0 DECODE, 1, 1 EXECUTE, 2, 2 MEMORY, 3, 3 WRITEBACK, 4, 4 Arquitetura (fetch) mop[0] muxpc.sel = 1 mop[0] pc.read mop[0] imemory.read mop[0] add.behavior mop[0] muxpc.behavior mop[0] pc.write Figura 1. Descrição TDSDL do MIPS Além da descrição TDSDL, o projetista deve programar, usando as macros do T&D-Bench [10], os métodos predefinidos da classe processor, a classe principal dos modelos do T&D-Bench (assim como a função main da linguagem C). A Figura 2 mostra alguns trechos da classe mips ( a extensão da classe processor no modelo do MIPS). No método initialize, a primeira instrução, um NOP, é criada e colocada no estágio FETCH. Isso dispara a busca das instruções do programa armazenado. No método fetch, após a verificação do atributo FETCH da memória de instruções imemory (1 significa que há instruções naquele ciclo), os 32 bits da instrução são buscados na saída S1 da respectiva memória e o atributo FETCH é resetado. 32
3 inop = decode ( 0L); método Initialize ppipecurrent.walk ( inop, "FETCH"); método Fetch if ( datapath.execute ( "imemory", GET, "FETCH", STATUSorCONF) == 1L) { lop = datapath.execute ( "imemory", GET, "S1", OUT); datapath.execute ( "imemory", SET, "FETCH", STATUSorCONF, 0);... Figura 2. Trechos da classe mips A partir da descrição TDSDL e do código na classe mips, o simulador do modelo de processador é gerado e pode ser executado com ou sem o uso de uma interface gráfica. A linguagem de desenvolvimento do T&D-Bench é o Java, portanto os simuladores executam em qualquer plataforma que tenha o Java Runtime Environment instalado. A implementação, os testes e o uso dos simuladores ocorrem em plataformas com Linux ou Windows. 4. A Execução de Programas em C no Simulador do MIPS O simulador do MIPS, gerado pelo T&D-Bench, inclui um montador que traduz programas Assembly para código de máquina. Este código é, então, carregado nas respectivas memórias de dados e de instruções. O montador não é gerado automaticamente, mas sim deve ser codificado pelo projetista. Essa foi uma decisão de projeto da metodologia de modelagem do T&D-Bench para retirar a complexidade da TDSDL. O montador precisou ser estendido para tratar o Assembly gerado pelo gcc. Por exemplo, diretivas e instruções não contempladas, como.ascii,.space, la, entre outras, passaram a ser tratadas. As seções que seguem mostram como compilar um programa em C para rodar no simulador, assim como mostram como executá-lo, validá-lo e depurá-lo A Compilação A fim de estarem aptos a serem carregados e executados no simulador do MIPS, programas em C precisam ser compilados para Assembly, usando-se o compilador GNU gcc, previamente configurado para gerar código MIPS. A geração de um programa em Assembly pelo gcc se dá com o uso da opção -S. Adicionalmente, o programa em C precisa atender às seguintes condições para rodar no simulador: 1. a função main tem que ser a primeira no arquivo contendo o código fonte; 2. não é possível a inclusão de arquivos de cabeçalho, como stdio.h e stdlib.h, nem a chamada a funções da biblioteca C padrão. O código destas funções (memcpy, strcpy, strcmp, sizeof e outras) deve ser fornecido pelo programador; 3. os tipos de ponto flutuante, float e double, ainda não são suportados; 4. variáveis globais podem ser usadas com o objetivo de depurar o programa em execução. Elas serão mostradas no início da memória de dados. As instruções para gerar o compilador gcc, configurado para produzir código MIPS, encontram-se na página do T&D-Bench na Internet A Execução A execução de um programa no simulador tem início com a carga de um arquivo texto contendo o programa em Assembly. Este arquivo pode ser escrito usando a linguagem Assembly diretamente, ou pode ser gerado a partir de um programa escrito em C e, após, traduzido para Assembly pelo compilador GNU gcc, como foi descrito na seção anterior. O arquivo em Assembly é traduzido pelo Montador do MIPS, integrado ao simulador, para código binário. Este código binário é, então, carregado nas respectivas memórias de instruções e de dados. A execução do programa, propriamente dita, pode ser feita ciclo a ciclo, por múltiplos ciclos ou até o seu final. Ao término da simulação, o usuário pode visualizar os resultados na própria GUI (Graphical User Interface) do simulador. O usuário da simulação conta com diversos recursos visuais e interativos para acompanhar e dirigir as execuções de programas. Estes recursos estão disponíveis em todos os simuladores do T&D-Bench. Por exemplo, na GUI, o usuário pode visualizar: - os componentes do caminho de dados e suas interconexões; - os valores nas portas de entrada, de saída e de controle dos componentes; - os conteúdos de registradores e de memórias; - o comportamento executado pelos componentes, a cada ciclo de relógio, a partir de um esquema de 33
4 cores, onde amarelo e vermelho especificam a leitura ou a escrita em um componente de lógica seqüencial, e laranja especifica a ativação de um componente de lógica combinacional. Branco especifica que o componente não foi usado naquele ciclo de relógio; - os valores de portas, do conteúdo e de atributos de um componente específico (a exemplo do atributo FETCH da memória de instruções) ou do próprio processador; - as instruções em cada estágio de pipeline com seus respectivos campos de bits e atributos, bem como a evolução temporal na execução destas instruções. do programa na plataforma real. A Figura 3 mostra o resultado da execução do programa CRC32 no Linux, enquanto que a Figura 4 mostra este mesmo resultado na memória de dados do modelo do MIPS na GUI do simulador na primeira palavra de memória. Por sua vez, a Figura 5 mostra como se deve dar o emprego do vetor global de inteiros results no código deste programa que está sendo validado 4.3. A Validação Inicialmente, a correta execução dos programas em C no simulador era um atributo difícil de determinar. Os motivos são os seguintes: 1. o modelo de processador não possui, ainda, um subsistema de Entrada e Saída, o que inviabiliza o uso de funções como a printf para a impressão de resultados; 2. devido à ausência deste subsistema de E/S, os resultados intermediários e finais precisam ser visualizados diretamente no conteúdo da memória de dados e como, muitas vezes, estes valores estão em variáveis locais, os seus valores não são facilmente visualizados devido ao comportamento dinâmico do segmento de pilha; 3. a possibilidade de rodar programas em C no simulador faz com que os correspondentes programas em Assembly gerados atinjam tamanhos significativos, bem superiores aos de programas escritos diretamente em Assembly. A solução adotada para verificar a correta execução de programas foi a inserção temporária, no código fonte, de um vetor global de inteiros, que pode então ser empregado, pelo programador, para capturar informações importantes ao longo do programa em C. Uma vez que se tenha determinado a correção do programa, este vetor pode ser retirado. Como foi dito na Seção 3.2, o conteúdo de variáveis globais é apresentado no início da memória de dados na GUI do simulador, isto é, nos seus endereços iniciais. Sendo assim, a correção ou não do programa em execução consiste em comparar os valores capturados nestes elementos do vetor com os resultados, propriamente ditos, obtidos pela execução Figura 3. Execução no Linux resultado Figura 4. Execução no Simulador - resultado for ( i = 0; ; i ++) { c = * pt ++; if ( c == -1) break; ++*charcnt; aux1 = ((oldcrc32)^((byte)c)) & aux; ptaux = crc_32_tab + aux1; oldcrc32 = * ptaux ^ ((oldcrc32) >> 8); *crc = oldcrc32 = ~oldcrc32; results [0]= * crc;... Figura 5. Uso do Vetor Global results no código do CRC A Depuração A motivação para a criação de um módulo de depuração surgiu da dificuldade encontrada em achar 34
5 erros nos programas em C que rodavam no simulador, devido aos motivos já apresentados na seção anterior. Tais erros podiam surgir apenas depois de milhares de ciclos de execução. O módulo de depuração consiste na definição de pontos de parada onde, posteriormente, o programa é interrompido, permitindo a visualização do estado do processador naquele momento da execução. Antes da existência deste módulo, os erros, que eventualmente apareciam, eram localizados através da reexecução do programa, passo a passo, a partir dos ciclos de relógio que antecediam o seu surgimento (quando era possível determinar o momento do erro). Com o módulo de depuração, é possível inserir variáveis globais no programa em C, conforme foi mostrado na seção anterior, e interromper o programa quando esta variável, armazenada na memória de dados ou em um registrador, atingir um determinado valor, entre outras possibilidades, o que reduziu bastante o tempo para se encontrar e corrigir erros nos programas. Em termos operacionais, o módulo de depuração implementa o uso de pontos de parada (breakpoints) que, após definidos, podem interromper a execução do programa para que o projetista analise o estado do processador naquele instante de tempo, em busca de erros por exemplo. A Figura 6 mostra a definição de um ponto de parada que vai interromper o programa quando o registrador PC (Program Counter) atingir o valor 55. A Figura 7 mostra um detalhe da tela do simulador do MIPS quando, efetivamente, ocorre a interrupção. Figura 6. Definindo um Ponto de Parada 5. Aplicações no Ensino O simulador do MIPS, como já foi dito, é um dos modelos disponíveis no T&D-Bench. Da mesma forma, ele é apenas um dos meios disponíveis no T&D-Bench para ensinar e aprender conceitos de Arquitetura de Computadores. A sua geração pelo framework faz com que os recursos de modelagem usados para este fim constituam, igualmente, meios para o aprendizado de Arquitetura de Computadores. As aplicações destes diversos meios no ensino de Arquitetura de Computadores são apresentadas nas próximas seções. Figura 7. Interrupção do programa em execução no ponto de parada 5.1. Plataforma de Modelagem e Programação Tarefas como o projeto e a implementação do Montador do MIPS são bons exercícios de programação para alunos de graduação da área de Computação. Além disso, o aluno aprofunda diversos conceitos de Arquitetura de Computadores: os diferentes segmentos de um programa, as instruções e as diretivas disponíveis em Assembly, sua sintaxe e os formatos das instruções disponíveis na arquitetura (tipos T, I e J). A codificação do módulo de depuração foi outro bom exercício de programação. Mas, ao contrário de montadores, que podem ser desenvolvidos sem o conhecimento da arquitetura de software do framework T&D-Bench, a programação do módulo de depuração exigiu um estudo desta arquitetura, principalmente da engrenagem de simulação de processadores do T&D- Bench. Neste tipo de tarefa, o aluno exercita a programação, entende a necessidade de uma etapa de estudo para que ele possa cooperar num projeto em desenvolvimento e, em termos de Arquitetura de Computadores, compreende melhor os diferentes componentes do caminho de dados, seu comportamento e composição, e como eles são ativados pelas instruções em execução. 35
6 Outro exercício de programação, pouco complexo e que não exigiu conhecimento da arquitetura de software do framework, foi a obtenção do perfil de execução de aplicações, no que tange ao número de vezes que cada diferente opcode foi executado. Isso foi necessário para o trabalho de pesquisa que está sendo desenvolvido. Em relação à Arquitetura de Computadores, o aluno pode aprofundar conhecimentos relacionados à busca e decodificação de instruções, e entender o suporte que um processador deve prover para executar diferentes tipos de aplicações, como aquelas centradas em manipulação de strings, ou em operações aritméticas, ou em operações lógicas, ou uma mistura destas, entre outras. Outros trabalhos desenvolvidos por alunos de graduação ou pós-graduação incluem a criação do módulo que gera a GUI dos simuladores do T&D- Bench, a criação de um componente memória cache para a biblioteca de componentes, que foi, posteriormente, incluído no modelo do processador Neander [11], o estudo de benchmarks e a criação da interface gráfica para o framework risa [12]. Atualmente, um aluno de graduação está iniciando a modelagem de um novo processador didático, o LC-3 [13]. Esta tarefa vai envolvê-lo com todos os recursos de modelagem do T&D-Bench: a linguagem TDSDL, a programação da classe lc-3, a extensão da classe processor neste modelo, e inclusive a biblioteca de componentes. Apenas para exemplificar, o componente sign extender disponível na biblioteca não contempla as necessidades do sign extender do LC-3, que precisará ser criado. Para ajudá-lo nesta e nas demais tarefas, o aluno está estudando o modelo do processador Neander. É idéia deste estudante incluir técnicas de Jogos de Computadores neste novo modelo. A visualização da efetiva execução de um programa em C no simulador, e a comparação dos resultados com a sua execução na plataforma real, aumentam a atenção dispensada pelos estudantes e geram motivação, provavelmente porque algo mais próximo da realidade está sendo apresentado. A Figura 8 mostra o código de um programa em C bastante simples e a Figura 9 mostra o respectivo código gerado nas memórias de dados e de instruções do simulador, logo após a sua carga. int results [1] = { -1 ; main ( ) { char str []= "string teste"; int tam = - 1; tam = strlen ( str); results [0] = tam; int strlen ( char * str) { int i; for ( i = 0; ; i ++) if ( * str ++ == '\0') return i; Figura 8. Programa Exemplo 1 em C 5.2. Em Sala de Aula Não foram acrescentados novos recursos didáticos ao simulador do MIPS quando da adição da possibilidade de executar programas em C. Os principais recursos didáticos já foram listados na Seção 4.2, e eles são comuns também em outros simuladores usados no ensino de Arquitetura de Computadores, com a diferença de que, no T&D-Bench, eles são gerados pelo framework para todos os modelos criados. Entretanto, o fato de poder executar programas em C neste simulador criou novas possibilidades de ilustração de conceitos da interface harware e software que são importantes em disciplinas de Arquitetura de Computadores, assim como para as de Programação de Computadores. Figura 9. Programa Exemplo 1 no simulador Nestes recursos visuais, o aluno pode visualizar em que se transforma o seu programa, escrito numa 36
7 linguagem de alto nível, para que ele possa ser armazenado e executado pelo computador. Na memória de instruções, são mostradas as instruções do programa em hexadecimal e em Assembly. Na memória de dados, ele pode visualizar as variáveis inicializadas: o vetor results na primeira palavra de memória e a string str a partir da segunda palavra, assim como as diferenças de armazenamento entre os tipos inteiro e caracter, no que diz respeito ao espaço ocupado, e a presença do discutido '\0' no final da string. A Figura 10 mostra o código de um segundo programa em C, ainda mais simples, e a Figura 11 mostra, respectivamente, o conteúdo da pilha antes da chamada à função soma e após o seu retorno. int results [0] = {-1; main ( ) { int a, b, c; a = 2; b = 3; c = soma ( a, b); int soma ( int x, int y) { int z; z = x + y; return ( z); Figura 10. Programa Exemplo 2 em C ciclo de vida temporário em oposição ao de variáveis globais, assim como a cópia de valores dos argumentos para as variáveis locais (passagem de argumentos por valor). Sem dúvida, estes conceitos poderiam ser apresentados a partir de um programa em Assembly que não fosse proveniente de um programa em C. Porém, deste maneira, o estudante perderia a relação daquilo que ele está visualizando com os elementos disponíveis no programa em C. Além disso, há casos em que o aprendizado de programação em C vem antes do aprendizado de Assembly e, também para estes casos, estas possibilidades de ilustração podem ser usadas Introdução à Pesquisa Este trabalho foi desenvolvido como suporte a um trabalho de pesquisa em desenvolvimento para explorar o espaço de projeto com um recurso arquitetural que reduz o consumo de energia. O resultado é o framework risa [12] do T&D-Bench, que também pode constituir um meio para o ensino de Arquitetura de Computadores. Ele pode ser usado em sala de aula para demonstrar um tema atual de pesquisa na área de sistemas embarcados, com o emprego de uma técnica que prevê a redução das instruções do programa de 32 para 16 bits e que, por isso, não traz grandes dificuldades à compreensão por parte dos alunos. Ele pode servir, igualmente, para motivar os estudantes e, quem sabe, engajá-los em futuros projetos relacionados à Arquitetura de Computadores. 6. Conclusão e Trabalhos Futuros Figura 11. Configuração da memória de dados - pilha Aqui o aluno pode visualizar o uso da pilha para o envio e o retorno de valores entre funções, o armazenamento de variáveis locais na pilha e o seu Este trabalho apresentou um simulador do MIPS que executa programas escritos em linguagem C e as suas possibilidades de uso para ilustrar conceitos da interface harware e software que são importantes em disciplinas de Arquitetura de Computadores, assim como para as de Programação de Computadores. Na seqüência, pretende-se inserir, na página do T&D-Bench, um recurso para que o usuário possa enviar arquivos, contendo programas em C, a fim de gerar os respectivos programas em Assembly a serem usados no simulador. Isso retira a necessidade de configurar o gcc, tarefa nem sempre tão simples para estudantes de graduação nos primeiros semestres do currículo. Pretende-se, igualmente, dar continuidade aos demais projetos didáticos e de pesquisa com o framework. 37
8 Mais informações sobre este trabalho podem ser encontradas na página do T&D-Bench em Referências [1] J. Larus. SPIM: A MIPS R2000/R3000. Disponível em: Accesso em setembro, [2] Y. Zhang and G.B. Adams. An Interactive, Visual Simulator for the DLX Pipeline. Proceedings of the Workshop on Computer Architecture Education, 1997, San Antonio, Texas. [3] R.L. Uy, M. Bernardo and E. Josiel. DARC2: 2nd. Generation DLX Architecture Simulator. Proceedings of the Workshop on Computer Architecture Education, 2004, Munich, Germany, p [4] P. Marwedel and B. Sirocic. Multimedia Components for the Visualization of Dynamic Behavior in Computer Architectures. Proceedings of the Workshop on Computer Architecture Education, 2003, San Diego, California, p [5] I. Branovic, R. Giorgi and E. Martinelli WebMIPS: A New Web-Based MIPS Simulation Environment for Computer Architecture Education. Proceedings of the Workshop on Computer Architecture Education, 2004, Munich, Germany, p [6] A.F. Felix, C.V. Pousa, and M.B. Carvalho. DIMIPSS: Um simulador didático e interativo do MIPS. Workshop sobre Educação em Arquitetura de Computadores Disponível em: Accesso em setembro, [7] M. Becvar and S. Kahánec. VLIW-DLX Simulator for Educational Purposes. Workshop on Computer Architecture Education, Disponível em: Accesso em setembro, [8] S. Soares and F.R. Wagner. From Classroom to Research: Providing Different Services for Computer Architecture Education. Workshop on Computer Architecture Education, 2007, San Diego, Califórnia. [9] D. A. Patterson and J. L. Hennessy. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, Inc, p. [10] S. Soares and F.R. Wagner. Design Space Exploration using T&D-Bench. Anais do XVI Symposium on Computer Architecture and High Performance Computing, 2004, Foz do Iguaçu, PR. p [11] R. F. Weber. Fundamentos de Arquitetura de Computadores. 2.ed. Porto Alegre: Instituto de Informática da UFRGS: Sagra Luzzatto, p. (Série Livros Didáticos, n. 8). [12] J.F. da Silva, F.R. Wagner and S. Soares. Explorando o Espaço de Projeto com o Objetivo de Redução do Consumo de Energia usando Reduced Bit-width Instruction Set Architecture (risa). Workshop em Sistemas Computacionais de Alto Desempenho, 2007, Gramado, RS. A ser publicado. [13] Y.N. Patt and S.J. Patel. Introduction to Computing Systems: from bits and gates to C and beyond. McGraw-Hill. 632 p. 38
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 maisLP 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 maisO que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar
Leia maisNOTAS 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 maisGUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR
Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Arquitectura de Computadores ECTS 6 Regime Obrigatório Ano 2º Semestre 2ºsem Horas de trabalho globais Docente (s) Luis Figueiredo Total
Leia maisOrganizaçã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 maisIFTO LÓGICA DE PROGRAMAÇÃO AULA 01
IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://manoelcampos.com mcampos at ifto.edu.br Versão
Leia maisDadas 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 maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisAlgoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Leia maisArquiteturas 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 maisARQUITETURA 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 maisUsando 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 maisMC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2015 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal
Leia maisBARRAMENTO 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 maisUNIVERSIDADE 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 maisDesenvolvimento de um Simulador de Gerenciamento de Memória
Desenvolvimento de um Simulador de Gerenciamento de Memória Ricardo Mendes do Nascimento. Ciência da Computação Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil
Leia maisINTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Leia mais28/9/2010. Unidade de Controle Funcionamento e Implementação
Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do
Leia maisProgramação de Computadores I. Conhecendo a IDE Code::Blocks
Code::Blocks Conhecendo a IDE Programação de Computadores I Professor: Edwar Saliba Júnior Conhecendo a IDE Code::Blocks Apresentação: 1) Abra a IDE (Integrated Development Environment), ou seja, o Ambiente
Leia maisMC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores
MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos
Leia maisMicrosoft Access XP Módulo Um
Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo
Leia mais3. 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 maisComponentes 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 maisOrganizaçã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 maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisIntrodução à Programação de Computadores
1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução
Leia maisComponentes da linguagem C++
Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras
Leia maisIntrodução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo
Leia maisSistemas 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 mais2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Leia maisSistemas 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 maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisCAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisNetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
Leia maisEdeyson 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 maisO 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 maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto
Leia maisCadastramento de Computadores. Manual do Usuário
Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES
Leia maisMáquinas Multiníveis
Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium
Leia maisTais 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 maisNota de Aula: Utilização da IDE Code::Blocks
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO CAMPUS SÃO LUÍS MONTE CASTELO DEPARTAMENTO ACADÊMICO DE INFORMÁTICA SISTEMAS DE INFORMAÇÃO DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO I PROFESSOR:
Leia maisLinguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C
Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos
Leia maisINTRODUÇÃO AO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada
Leia maisInformá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 mais1. Apresentação. 1.1. Objetivos
1.1. Objetivos 1. Apresentação Neste capítulo estão descritos os objetivos gerais do livro, os requisitos desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos necessários em
Leia maisALP 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 maisArquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Leia maisDicas para usar melhor o Word 2007
Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.
Leia maisIntroduçã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 maisDispositivos de Entrada e Saída
SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)
Leia mais3 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 maisProf. 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 maisProcessadores 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 maisResumo da Matéria de Linguagem de Programação. Linguagem C
Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis
Leia maisLinguagem de Programação
Linguagem de Programação Introdução a Linguagem C Princípios de Programação em C Gil Eduardo de Andrade Conceitos Iniciais: Linguagem C Introdução É uma linguagem estruturada; Foi desenvolvida na década
Leia maisTUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, 354 - cj. 121 CEP 01323-001 - São Paulo - SP (11) 3266-2096
TUTORIAL DE UTILIZAÇÃO Índice Geral Antes de Começar 2 Procedimento de Instalação 3 Exportar dados para o 8 Acesso ao 10 Ordens de Serviço no 11 Solicitações de Serviço no 17 Folhas de Inspeção no 19 Importar
Leia maisPROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisAMBIENTE 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 maisArquitetura 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 maisMC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados
MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados 1. Objetivos Falar sobre programa de computador, diferenciando programa em linguagem de máquina, de programa em
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
Leia maisIntrodução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis
Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos
1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,
Leia maisOrientaçã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 maisSistema de Controle de Solicitação de Desenvolvimento
Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento
Leia maisDescrição e análise da implementação em Assembly MIPS da função itoa
Descrição e análise da implementação em Assembly MIPS da função itoa Alana Rocha 1, Guilherme Alves 2, Guilherme Nunes 3 e Luiz Guilherme 4 Objetivo e visão geral do documento Este documento tem o objetivo
Leia maisGoogle Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Leia maisO Processo de Programação
Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisComputador Digital Circuitos de um computador (Hardware)
Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções
Leia maisCapacidade = 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 maisNotas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
Leia maisSemântica para Sharepoint. Busca semântica utilizando ontologias
Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...
Leia maisGerenciamento de Clientes
Programação Orientada a Objetos Gerência de Objetos por Outro Objeto Programação de Computadores II Professor: Edwar Saliba Júnior Gerenciamento de Clientes Neste exemplo, veremos de forma bem simples
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor
Leia maisAULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisManual de Utilização Autorizador
1) Acessando: 1-1) Antes de iniciar a Implantação do GSS, lembre-se de verificar os componentes de software instalados no computador do prestador de serviço: a) Sistema Operacional: nosso treinamento está
Leia maisCapítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisLição 1 - Criação de campos calculados em consultas
1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia mais[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 mais3 Revisão de Software
1 3 Revisão de Software O software é indispensável para a utilização do hardware. Sem o software para utilizar o computador precisaríamos ter um profundo conhecimento do hardware. Alguns softwares são
Leia maisPRINCÍPIOS DE INFORMÁTICA PRÁTICA 06 1. OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint
PRINCÍPIOS DE INFORMÁTICA PRÁTICA 06 1. OBJETIVO Apresentar o PowerPoint, que é o software para montar apresentações na forma de slides da Microsoft. Isso será feito seguindo-se uma seqüência mostrando
Leia maisManual de Integração
Manual de Integração Versão 3.10 Conteúdo 1 Obtendo e Instalando o Emissor... 4 1.1 Obtendo o instalador... 4 1.2 Instalando o JAVA e o Framework.NET 2.0... 4 1.3 Instalando o Emissor... 5 2 Padrões de
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa
ARQUITETURA DE COMPUTADORES 1 Rogério Spindula Rosa 2 EXECUÇÃO DE PROGRAMAS PROGRAMA 3 4 INTRODUÇÃO Hoje é raro escrever um programa diretamente em linguagem de computador em virtude da enorme dificuldade
Leia mais1. PROLOGO ==========
1997 - Hackers Iniciantes em Linguagem C 1997 - RoyalBug - thedarkage@mail.geocities.com thedarkage2@mail.geocities.com 1997 - The Black Church MANUAL C 01 ================ 1997 - http://www.pcs.usp.br/~peasilva/
Leia maisEsta 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