Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache

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

Download "Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache"

Transcrição

1 Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache Ricardo dos Santos Ferreira Departamento de Informática Universidade Federal de Viçosa Viçosa, MG, cep ricardo@ufv.br Resumo Este trabalho apresenta uma metodologia para ensino dos conceitos básicos de cache e ponto flutuante ao longo dos cursos introdutórios à arquitetura de computadores. A ideia é simplificar e exemplificar estes conceitos, onde o estudante pode ter uma visão global (do comportamento como uma caixa preta) e ao mesmo tempo detalhada, através de uma implementação simplificada. Posteriormente, o estudante poderá inferir a complexidade destas operações nas arquiteturas reais. Esta metodologia tem sido utilizada no curso de Introdução a Organização de Computadores da Universidade Federal de Viçosa ao longo dos últimos cinco anos. 1. Introdução A complexidade dos processadores atuais dificulta o entendimento do custo e do funcionamento de vários componentes durante os cursos de organização e arquitetura de computadores a nível de graduação [1,9]. Este trabalho propõe o uso de uma notação simplificada para ponto flutuante e uma abordagem complementar para o ensino de cache, que auxiliam o estudante a compreender e a construir modelos concretos destes sistemas em cursos introdutórios. A metodologia consiste em apresentar o problema de forma simplificada (ex: ponto flutuante) e, ao longo da disciplina, construir o circuito possibilitando uma visão global e uma visão detalhada. Assim, o exemplo de cache é apresentado de forma simplificada usando analogia com uma geladeira. A cache pode ser usada para o ensino de máquina de estados e módulos de memória. O uso de analogias é muito importante, um outro exemplo são as estações de reserva do algoritmo Tomasulo de escalonamento dinâmico abordadas como uma sala de espera. Existem muitos trabalhos, simuladores e ferramentas para o ensino de pipeline [2,5,6,8], porém existe relativamente pouco material para aprofundar o ensino e compreensão detalhada de cache e ponto flutuante [14,15]. 2. Ponto Flutuante A representação de números inteiros e de números em complemento de dois é amplamente documentada em vários livros de sistemas lógicos e arquitetura de computadores. Através de exemplos e exercícios, o estudante pode compreender os conceitos (como converter decimal para binário, realizar somas e subtrações) e fazer exercícios manuais com números de 3 a 6 bits. Entretanto, a representação em ponto flutuante IEEE 754 [16,13] mais simples é de 32 bits, o que dificulta o ensino com conversões manuais. Alguns autores [14,15] usam exemplos apropriados para facilitar a compreensão, mas autores usam uma representação simplificada [15]. Um outro recurso são as animações. Várias applets ou scripts, como as disponibilizadas em [4,10,11], podem auxiliar o aluno. A applet apresentada em [10], auxilia o estudante na compreensão da conversão da representação binária da notação IEEE754 em números reais. Ao clicar em um bit, pode se ligar ou desligar e ver o valor do número real gerado, na representação decimal. O sítio [4] usa javascript para converter um número real na sua representação binária IEEE754. A conversão inversa também é disponibilizada, porém a entrada deve ser em hexadecimal. A applet disponibilizada em [11], foca no ensino dos limites (número máximo, mínimo, overflow, underflow) da representação. A grande maioria das abordagens anteriores, usam a representação completa de 32 ou 64 bits. Propomos usar uma notação simplificada de 7 bits. O aluno pode 1

2 fazer as conversões manuais, compreender os conceitos de conversão, de arredondamento e realizar a execução de adições e multiplicações, com uma carga horária de 4 horas. Posteriormente é introduzida a representação de 32 ou 64, na qual o aluno irá apenas estender os conceitos já apresentados. Como a manipulação é simplificada, apenas 3 bits de expoente e 4 bits de mantissa, pode ser usada para avaliação em testes ou em questões de prova, sem auxílio de um computador ou de uma calculadora. O aluno irá ter uma visão global do problema, terá capacidade para propor soluções e implementar um multiplicador ou somador de ponto flutuante simplificado em um curso introdutório. Ao mesmo tempo o aluno irá se preparar para os cursos avançados e poderá abstrair melhor estes conceitos. 2.1 A representação A representação é baseada no modelo IEEE, com 4 bits de mantissa e 3 bits de expoente. Consideramos primeiro, a representação sem sinal, que pode ser estendida posteriormente. A extensão da representação de 7 bits para 32 ou 64 bits é direta. No padrão IEEE de 32 bits, o campo expoente é representado com 8 bits, armazenando E, que representa o expoente E 127. Por exemplo, se o valor armazenado em E é 130, então o valor do expoente será 3, e a mantissa será multiplicada por 2 3. Analogamente, na notação simplificada é armazenado E, que representa E 3, com 3 bits. O expoente final irá variar de 3 a +4. A faixa de números é reduzida, facilitando o cálculo manual, o menor e o maior número (sem considerar o zero) variam entre 0,125 e 31. A mantissa de 4 bits, na forma normalizada representa um número entre 1 e 2. Analogamente a mantissa da representação IEEE 754 que possui 23 bits e 51 bits para a representação de 32 e 64 bits respectivamente. Como uma unidade é implicitamente representada, o campo mantissa armazena apenas um número entre 0 e 1. Cada bit terá o valor de uma potência negativa de 2, em função de sua posição. Por exemplo, o bit 2 representa 2 2 ou ¼ ou 0,25. Para facilitar as conversões e manipulações, adotamos o cálculo com soma de frações em potência de dois (½, ¼, 1/8 e 1/16), ou com os fatores 0.5, 0.25, e A figura 1 ilustra a representação de 7 bits e seu significado. O campo da esquerda, armazena em binário o expoente em 3 bits. O campo da direita armazena a mantissa em 4 bits, com a notação posicional, da esquerda para a direita. Figura 1: Representação com 7 bits. Inicialmente, o estudante apreenderá a converter um número binário na representação de 7 bits para um número decimal em ponto flutuante, como ilustra o exemplo da Figura 2. O número 3,0 é armazenado com os valores E=100 e M=1000, em binário. Primeiro, o valor do termo expoente é calculado, 100 em binário, ou 4 em decimal, menos 3 irá gerar o expoente 1 ou =2 1. Cada bit na mantissa tem o peso de uma potência de 2 negativa, em função de sua posição. Para o exemplo da figura 2, o bit 1, tem peso 2 1 ou ½. Ao valor armazenado na mantissa se soma uma unidade, resultando em 3/2, que multiplicado pelo termo expoente 2 1, gera o número 3 (veja figura 2). Como ilustra este exemplo, com soma de frações rapidamente o estudante calcula o número. Além de perceber que o valor da mantissa é acrescido de uma unidade, ficando entre 1 e 2. Porém, esta unidade não é armazenada, mas é importante para ser considerada na soma e multiplicação. Os autores de [14] apresentam exemplos simples, usando apenas os bits mais significativos da notação de 32 bits. A vantagem de usar uma notação de 7 bits, é a facilidade para visualização. Figura 2: Conversão de binário flutuante para a representação decimal em ponto flutuante. A conversão de um número real para a representação binária, envolve mais considerações. Primeiro, o número deve ser normalizado para a faixa entre 1 e 2. Portanto, existem três situações: o número maior que 2, na faixa de 1 e 2, menor que 1. Na conversão inversa, a representação simplificada é vantajosa, pois não é necessário escolher números que facilitarão os cálculos para dar exemplos didáticos. 2

3 Figura 3: Exemplo para cálculo de expoente e mantissa para números menores que 1. Se o número for menor que 1, deve ser multiplicado por 2 até ficar na faixa entre 1 e 2. O número de multiplicações será usado para calcular o expoente (figura 3). Por exemplo, se forem necessárias 3 multiplicações, o expoente será 3, como é armazenado na forma E 3, então será armazenado o valor 0. Para o exemplo da figura 3, ao se multiplicar n=0,2 por dois por três vezes, irá gerar o novo valor da mantissa que será n=1,6. Este valor que será usado para o cálculo da parte binária da mantissa, detalhado a seguir. Se o número estiver entre 1 e 2, o expoente será 0, e será armazenado 3, pois E 3=3 3=0. O segundo passo é o cálculo da parte binária da mantissa. Como uma unidade não é armazenada, se subtrai 1 da mantissa e usando as frações que representam os bits da mantissa, se faz a aproximação do número. No exemplo da figura 4, o valor da mantissa é 1,5, após o ajuste, subtraindo uma unidade, teremos o valor 0,5. A representação será exata, com o bit 1, que tem o valor ½ ou 2 1 ligado. Ao passo que, para o exemplo da figura 3, onde se deseja representar 0,6, não é possível representar o valor exato. O mais próximo será armazenar 0,625 com os bits 1 e 3 ligados que representa 0,5+0,125. Neste ponto, com um exemplo simples, o estudante compreende o conceito da precisão e da discretização da representação em ponto flutuante. Pode ver que nem sempre se consegue o número exato, pois poderá haver perda de precisão, como ilustrou o exemplo da figura Soma A operação de soma ou adição, envolve os conceitos de alinhamento, perda de precisão e normalização. Primeiro, consideraremos números com o mesmo expoente. O conceito da unidade implícita deve ser reforçado inicialmente. Apesar da representação não armazenar o valor, ele deve ser considerado durante as operações aritméticas. Suponha a soma de 3,0 + 3,0, ilustrada na figura. 5. O valor da unidade pode ser colocada do lado esquerdo da mantissa, a posição do bit 0, ou seja, com peso 2 0 ou 1. Figura 4: Exemplo para cálculo de expoente e mantissa para números maiores que 2. Se o número for maior que 2, será dividido por 2, até ficar entre 1 e 2, e o número de divisões será usado para calcular o expoente. Por exemplo, suponha n=6, como ilustrado na figura 4. Serão necessárias duas divisões para ajustar a mantissa entre 1 e 2. O expoente será 2, e o valor armazenado na forma E 3 será 5, ou seja =2 2. Figura 5: Exemplo de soma de números com mesmo expoente. 3

4 A soma da mantissa é realizada, como uma soma binária, com a propagação do vai um. Quando os expoentes são iguais, o número ficará sempre desnormalizado, devido ao vai um na unidade implícita. Neste ponto, o conceito de normalização e sua importância é introduzido. O segundo passo é normalizar a mantissa, através do deslocamento para a esquerda e ajuste do expoente. Cada deslocamento, implica no incremento de uma unidade no expoente. Estes conceitos serão reforçados mais tarde, solicitando ao estudante construir um diagrama de blocos para soma com mesmo expoente, usando um somador de 5 bits, uma unidade de incremento (para expoente) e uma unidade de deslocamento de 1 bit. Posteriormente, a soma de números com expoentes diferentes é introduzida. Inicialmente, o conceito de alinhamento é apresentado, com um exemplo decimal (figura 6). Reforça se o conceito de normalização, mostrando que, se o número é armazenado desnormalizado, dificulta as operações e pode armazenar também zeros à esquerda. Em seguida, a soma é realizada. O próximo passo é verificar se a normalização será necessária. No exemplo da figura 7, não foi preciso normalizar. Porém, neste exemplo, mostra se que ocorrerá uma perda de precisão, sendo necessário o truncamento ou arredondamento do número. Para implementar um diagrama de blocos, o estudante verá que serão necessários: um comparador para os expoentes, a subtração dos expoentes, o deslocamento em função da diferenças entre os expoentes, além da soma da mantissa e sua normalização. Todos estes blocos podem ser construídos dentro do curso de sistemas lógicos. Como a representação é simplificada, sempre que executamos uma operação, a conversão realbinário flutuante pode ser facilmente realizada para conferir o cálculo e verificar se houve arredondamento ou truncamento. No exemplo da figura 7, o resultado gerado foi 3,125, sendo que o valor exato seria 3,2, que não pode ser calculado de forma exata com 4 bits de mantissa. Figura 6: Soma de números na representação decimal de ponto flutuante com expoentes diferentes. O próximo passo é um exemplo na representação binária de ponto flutuante. Suponha que o primeiro número tenha o expoente menor. O número terá sua mantissa ajustada pela diferença dos expoentes. Suponha a soma de 0,2 + 3,0, ilustrado na figura 7. Como a diferença de expoente é igual a 4, a mantissa do número menor (0,2 no exemplo), será deslocada de 4 bits à direita. Neste ponto, mostra se que a soma pode ser uma operação complexa por envolver um deslocamento variável. Para uma mantissa de 4 bits, o deslocamento pode variar de 0 à 5 bits, mas na representação real de 32 bits, será necessário um deslocador variável de 0 à 24 bits. Ao deslocar, a operação poderá perder precisão, em função do número de bits que serão usados na soma. Dependendo da diferença dos expoentes, o número menor não irá ser contabilizado. Figura 7: Soma de números com expoentes diferentes. A soma ilustra vários conceitos (perda de precisão, overflow e underflow), mostrando a complexidade da operação, por envolver um deslocamento variável da mantissa. 2.3 Multiplicação A operação de multiplicação é mais simples, pois não é necessário alinhar as mantissas. Porém é necessário ter dois cuidados. Primeiro, ao multiplicar dois números, devemos somar os expoentes. A representação armazena E, para representar o expoente E 3, ou seja, o valor armazenado é o expoente real 4

5 acrescido de 3 unidades. Portanto, deve se subtrair 3 ao somar os expoentes. Seja dois números A e B com expoentes armazenados Ea e Eb, respectivamente. Ao somar Ea+Eb, de dois números A e B, teremos, os expoentes (Ea+3)+(Eb+3), que deve ser ajustada para a forma (Ea+Eb+3)+3, neste caso o expoente está acrescido de 6 unidades, sendo necessário subtrair 3 para gerar o expoente final na forma padronizada da representação. Suponha que Ea e Eb tenha o valor 4, como ilustra a figura 8. Neste caso, o expoente real é =2 1 para A e B, e o resultado seria 2 2. Ao somar Ea e Eb, temos 8, subtraindo 3, obtemos o valor 5 ou 2 5 3, que será armazenado no campo E do resultado. O valor 5, estará representando 2 2. Finalmente, depois de fixados os conceitos básicos, temas com números negativos, representação de infinito, zero e NaN são introduzidos. 2.4 Diagrama de Blocos Ao ensinar os conceitos de ponto flutuante, podemos motivar o estudante a construir um diagrama de blocos e implementar, em esquemático ou VHDL, as operações. Por exemplo, o diagrama de blocos da operação de multiplicação é simples, como ilustrado na Fig. 9. Além de implementar um multiplicador de inteiros ou um somador, o estudante terá que projetar outros módulos, como um subtrator com entrada constante ( 3, no caso), ou um incrementador para o expoente, um deslocador combinatório. O diagrama de blocos também pode ser usado para ensinar a fazer uma versão pipeline dos operadores de ponto flutuante, adicionando registros, visualizando o que pode ser compartilhado, e o que pode realizado em paralelo (somadores e subtratores por exemplo). Figura 8: Multiplicação em Ponto Flutuante Feita a multiplicação, considerando a unidade implícita (figura 8), uma normalização pode ser necessária. Aqui deve se mostrar o peso de cada multiplicação na notação posicional. Ao multiplicar, como os bits da mantissa tem expoentes negativos, o bit 4 tem peso 2 4, ao multiplicar o bits 4 do outro número, o bit resultante irá ter o peso 2 8, como ilustra a figura 8. Neste exemplo é fácil verificar que o resultado será 3,0*3,0=9,0. Posteriormente, quando o estudante for construir o multiplicador, verá que serão necessários: um circuito deslocamento e ajuste do expoente semelhante a soma, um multiplicador de inteiros para a mantissa, um somador e um subtrator 3 para a geração do expoente. Figura 9: Diagrama de blocos para a multiplicação em ponto flutuante Uma representação simplificada para simulação do circuito dentro do simulador HADES da Universidade de Hamburg, na forma de esquemático, está disponível no endereço dpi/floatmultiplier/multiplier.html. O simulador HADES pode ser usado localmente, via webstart ou applet. Este exemplo foi desenvolvido durante as aulas práticas em 5

6 um curso introdutório de organização de computadores da Universidade Fedral de Viçosa. A figura 10 mostra a tela de acesso via internet. A applet mostra o diagrama de blocos onde o estudante pode interagir, e solicitar para expandir cada caixa e visualizar até o nível de portas lógicas a implementação. Além disso, o simulador gera um VHDL estrutural. Figura 10: Tela de acesso via navegador ao exemplo do diagrama de bloco da multiplicação no simulador HADES. 3. Cache a Geladeira O uso de situações cotidianas [1,9], como um restaurante self service ou um sistema de banco, além de motivar, também constrói pontes para abstrair os conceitos de arquitetura. O uso do exemplo de um banco com múltiplas agências para ensinar o conceito de coerência em caches é abordado em [1]. Patterson&Hennessy usam o exemplo do estudante, a mesa e a prateleira de livros em [14]. Além disso, o uso de animações como flash ou simuladores [1,2] que auxiliam a fixação dos conceitos. Um exemplo que vem sendo utilizado com sucesso na Universidade Federal de Viçosa, é o conceito de tempo e organização da cache em relação ao sistema estudante, geladeira, supermercado. Em uma aula introdutória é possível passar vários problemas relacionados a cache ou a medida que os conceitos são introduzidos a analogia reforça as explicações. O estudante representa o processador, a geladeira representa cache e o supermercado a memória principal. Vários pontos são abordados, como conceito de tempo de acesso, capacidade e custo do armazenamento. O tempo de acesso da geladeira em comparação ao supermercado, são poucos segundos em relação a minutos. A eficiência do sistema cache/ memória, depende de uma alta taxa de acerto, assim como no sistema geladeira/supermercado. Também, ilustra a transparência da cache que tem origem no verbo Cacher em Francês, que significa esconder. Ou seja, a cache é transparente e o sistema funciona sem a cache, porém será mais lento. O substantivo cache em inglês significa lugar seguro e escondido para armazenar alimentos. O sistema funciona sem geladeira, porém irá custar muitas visitas ao supermercado, aumentando o tempo de acesso. Outros pontos são os conceitos de tamanho do bloco da cache e localidade. Sempre que se vai ao supermercado se compra um volume mínimo de produtos (bloco) para trazer para a geladeira. Você vai várias vezes a geladeira buscar o mesmo produto, ou seja, a localidade temporal. A pré busca também é um conceito relacionado, uma vez que ao ir ao supermercado, você busca itens que irá consumir futuramente. O tamanho da geladeira também é importante, pois não adianta ter uma geladeira muito grande, ela terá um custo alto e irá armazenar mais elementos do que se necessita. Pode se também explicar o conceito de cache L2, ou seja, a introdução de mais um nível. A analogia é representada por uma padaria, loja de conveniência ou venda local no bairro, que estaria mais próxima que o supermercado e contém um subconjunto, porém com um custo maior (em preço) que o supermercado, compensado pela disponibilidade e proximidade (menor tempo de acesso). A política de substituição também é abordada, se um item fica muito tempo na geladeira, além de correr o risco de perder a validade, ocupa espaço desnecessário. Finalmente, a cache como a geladeira, consome muita energia, um ponto fundamental a ser ensinado. O único ponto que fica em aberto, é a política de escrita na cache. Pode se dizer que seria a cache de instrução, na qual não se tem escrita. Uma analogia com banco de dados ou sistema bancário complementa os conceitos para a cache de dados e as políticas writeback e write throught. Finalmente, vale ressaltar que nenhuma analogia é perfeita. Os itens da geladeira são consumidos, o que não ocorre com os dados. Porém, se pensarmos que são dados de leitura, são consumidos e substituídos. 6

7 3.1 Custo em bits O custo em desempenho é bem abordado em livros [3], porém o custo em bits é pouco documentado, com exceção dos autores Patterson&Hennessy [14]. A cache devido a sua importância e impacto no desempenho, por envolver várias memórias, decodificadores, comparadores e máquina de estados, é um tema importante a ser detalhado. Por exemplo, quanto custa em bits implementar uma memória cache de 64 Kbytes, mapeamento direto, endereço de 32 bits e bloco de 8 bytes? Para fortalecer os conceitos de memória simples (largura de endereço, largura da palavra, número de bits), a construção de memórias cache pode ser usada, com módulos de memória, registro, comparadores e máquina de estado. Por exemplo, a figura 11 mostra como calcular o custo e tamanho do TAG para uma cache de mapeamento direto. Nestes cálculos, os estudantes exercitam questões com dimensionamento em bits dos campos, significado de cada campo (índice do bloco, da linha, TAG). O espaço necessário para armazenar o TAG além do dado propriamente dito. Os três tipos de caches são introduzidos: mapeamento direto, n way e assoaciativa. Depois o estudante aprende a calcular o espaço gasto pelo TAG da cache, a influência do tamanho do bloco e a dimensão dos campos em bits. Uma applet que detalha estes cálculos é apresentada em [12]. conceito da pipeline. A memória continua sendo o grande gargalo do sistema, hoje tanto em atraso, área e potência. O controle de uma cache é mais simples que o controle de um processador simples, mas analogamente teŕa uma via de dados (para movimento entre as memórias) e uma máquina de estados. A figura 12 ilustra a estrutura de uma cache simples, mapeamento direto, com blocos de 8 bytes formada por dois módulos de memória. Em [14], Patterson e Hennessy também abordam o ensino de máquina de estados para controlar uma cache simples. O estudante apreende o fluxo de dados e endereços. Apreenderá também a projetar uma máquina de estados para controlar o sistema entre os três módulos, memória de TAG, memória de dados e memória principal. Para completar o diagrama, o estudante tem que pensar como interligar e atualizar o TAG, como será feita a busca do bloco e a sincronização com a memória (se envolver vários passos e tempos de clock diferenciados). Os conceitos de política de escrita, de particionamento dos bits de endereço e de funcionamento da cache serão reforçados com esta abordagem. Figura 11: Cálculo do custo e largura de campos em bits para uma cache de mapeamento direto. 3.2 Máquina de Estados Para introduzir exemplos simples de máquina de estados, antes de aplicá los aos processadores, abordamos a memória cache. A cache é responsável por mais da metade da área de um processador atual. Existem diversas caches no processador, como cache L2, cache de dados, cache de instruções, cache de desvios, TLB de dados e instruções. O ganho e conceito da cache é tão importante quanto o ganho e Figura 12: Diagrama de Blocos para uma cache de mapeamento direto O primeiro passo é construir uma máquina para uma cache simples de mapeamento direto, bloco de tamanho 1 e apenas leitura. Posteriormente, são incluídos os outros pontos: bloco de tamanho B, política de escrita, cache N way, política de substituição e cache associativa. O estudante 7

8 visualizará com detalhes os problemas associados a implementação de uma cache em função do seu tipo. 5. Conclusão Uma metodologia de ensino para os conceitos de cache e ponto flutuante para cursos introdutórios foi apresentada, com o objetivo de criar pontes de conhecimentos para fortalecer os conceitos básicos de arquitetura de computadores para melhorar a capacidade de abstração na construções de modelos complexos presentes nos processadores atuais. O uso de exemplos numéricos onde os estudantes com papel e lápis calculam o tamanho e executam conversões é importante para reforçar os conceitos e complementa as facilidades oferecidas por animações e simulações. 6. Referências [1] Peter Marwedel, Birgit Sirocic, "Bridges to computer architecture education,", Workshop on Computer Architecture Education in 31th ISCA WCAE '04 [2] Marwedel, P. and Sirocic, B. Multimedia components for the visualization of dynamic behavior in computer architectures. In Workshop on Computer Architecture Education in 30th ISCA. WCAE '03 [3] Hennessy, J. L. and Patterson, D. A. Computer Architecture: a Quantitative Approach. Morgan Kaufmann Publishers Inc. [4] IEEE 754 Floating Point Conversion From Decimal Floating Point. Visitado em 30 de julho de /Decimal.html [5] Figueiredo. On the use of simulation and parallelization tools in computer architecture and programming courses. Computers in Education Journal, 11(1)., [6] Uy, Roger Luis, et alli. Darc2: Second generation dlx architecture simulator. In Proceedings of the 7th International Workshop on Computer Architecture Education, Germany, [7] Branovic, Irina, Giorgi, Roberto, and Prete, Antonio. Web based training on computer architecture: The case for jcachesim. In Proceedings of the 5th International Workshop on Computer Architecture Education., [8] Cintia P. Avelar ; Jonathan J. C. Filho ; Viviane Carvalho ; Martins, Carlos Augusto P. S.. MPDSim: Simulador didático do Pipeline do MIPS de 32 bits. In: Workshop sobre Educação em Arquitetura de Computadores WEAC 2008, 2008, Campo Grande. v. 9. p [9] Zilles, C "What does a CPU have in common with a fast food restaurant?" A reflection on emphasizing the big ideas of computer science in a computer organization class, Frontiers in Education, FIE '05. Proceedings 35th Annual Conference [10] IEEE 754 Converter Visitado em 30 de julho de schmidt.net/floatapplet/ieee754.html [11] Inner Float. A float Reveals Its Inner Nature. Visitado em 30 de julho de [12] Computer Architecture Tutorial by Gurpur Pradbhu Visitado em 31 agosto de [13] David Goldberg (March 1991). "What Every Computer Scientist Should Know About Floating Point Arithmetic". ACM Computing Surveys 23 (1): [14] David Paterson and John Hennessy. Computer Organization and Design: The Hardware/Software Interface. The Morgan Kaufmann. Fouth Edition. [15] Linda Null, Julia Lobur. The Essentials of Computer Organization and Architecture Jones and Bartlett Publications. [16] IEEE 754: Standard for Binary Floating Point Arithmetic. Visitado em 8 de outubro de

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante Capítulo SETE Números em Ponto Fixo e Ponto Flutuante 7.1 Números em ponto fixo Observação inicial: os termos ponto fixo e ponto flutuante são traduções diretas dos termos ingleses fixed point e floating

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte II) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Aritmética de Ponto Flutuante

Aritmética de Ponto Flutuante Aritmética de Ponto Flutuante Entre 1970 e 1980 um grupo formado por cientistas e engenheiros de diferentes empresas de computação realizou um trabalho intenso na tentativa de encontrar um padrão de representação

Leia mais

Universidade Federal de São João Del Rei - UFSJ

Universidade Federal de São João Del Rei - UFSJ Universidade Federal de São João Del Rei - UFSJ Instituída pela Lei 0.45, de 9/04/00 - D.O.U. de /04/00 Pró-Reitoria de Ensino de Graduação - PROEN Disciplina: Cálculo Numérico Ano: 03 Prof: Natã Goulart

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1 ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a

Leia mais

Sistemas de Numeração (Aula Extra)

Sistemas de Numeração (Aula Extra) Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Sistemas de Numeração Um sistema de numeração

Leia mais

Representando Instruções no Computador

Representando Instruções no Computador Representando Instruções no Computador Humanos aprenderam a pensar na base 10 Números podem ser representados em qualquer base Números mantidos no hardware como série de sinais eletrônicos altos e baixos

Leia mais

Aula 2 Sistemas de Numeração (Revisão)

Aula 2 Sistemas de Numeração (Revisão) Aula 2 Sistemas de Numeração (Revisão) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 Agenda Breve revisão da aula anterior

Leia mais

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA. Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo

Leia mais

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula Aritmética de Ponto Flutuante e Noções de Erro Sumário 1 Introdução 2 Sistemas de Numeração 3 Representação de Números Inteiros no Computador 4 Representação de Números Reais no Computador 5 Operações

Leia mais

Paralelismo a Nível de Instrução

Paralelismo a Nível de Instrução Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

Métodos Numéricos. Turma CI-202-X. Josiney de Souza. josineys@inf.ufpr.br

Métodos Numéricos. Turma CI-202-X. Josiney de Souza. josineys@inf.ufpr.br Métodos Numéricos Turma CI-202-X Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 3 (10/08/15) Aritmética de ponto flutuante Representação de ponto flutuante Normalização Binária Decimal Situações

Leia mais

Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração Este material é uma adaptação das notas de aula dos professores Edino Fernandes, Juliano Maia, Ricardo Martins e Luciana Guedes Sistemas de Numeração Prover símbolos e convenções

Leia mais

MODELAGEM E SIMULAÇÃO

MODELAGEM E SIMULAÇÃO MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 Representação de Dados e Aritimética Computacional Roteiro Números inteiros sinalizados e nãosinalizados Operações

Leia mais

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba Questão 01 Assumindo um registrador de 10 bits e utilizando-se de representação binária, com valores negativos representados em código de 2, os valores em representação decimal 235, -189 possuem, respectivamente,

Leia mais

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

Notas de Cálculo Numérico

Notas de Cálculo Numérico Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo

Leia mais

Aula 2 - Cálculo Numérico

Aula 2 - Cálculo Numérico Aula 2 - Cálculo Numérico Erros Prof. Phelipe Fabres Anhanguera Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 1 / 41 Sumário Sumário 1 Sumário 2 Erros Modelagem Truncamento Representação

Leia mais

Computadores XII: Aprendendo a Somar A4 Texto 3

Computadores XII: Aprendendo a Somar A4 Texto 3 Computadores XII: Aprendendo a Somar A4 Texto 3 http://www.bpiropo.com.br/fpc20051017.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 17/10/2005 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=131250

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013 Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Electrotécnica e de Computadores 3.

Leia mais

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto Introdução à Arquitetura de Computadores Prof.ª Ms. Elaine Cecília Gatto 1 O nome refere-se ao matemático John Von Neumann, que foi considerado o criador dos computadores da forma como são projetados até

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA 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 mais

fx-82ms fx-83ms fx-85ms fx-270ms fx-300ms fx-350ms

fx-82ms fx-83ms fx-85ms fx-270ms fx-300ms fx-350ms O uso da Calculadora Científica (Casio fx) fx-82ms fx-83ms fx-85ms fx-270ms fx-300ms fx-350ms Prof. Ms. Renato Francisco Merli 2013 1 Sumário 1. Antes de Começar... 2 2. Cálculos Básicos... 8 3. Cálculos

Leia mais

Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05

Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05 Cálculo Numérico / Métodos Numéricos Representação de números em computadores Mudança de base 14:05 Computadores são "binários" Por que 0 ou 1? 0 ou 1 - "fácil" de obter um sistema físico Transistores

Leia mais

Noções Básicas Sobre Erros

Noções Básicas Sobre Erros Noções Básicas Sobre Erros Wellington D. Previero previero@utfpr.edu.br http://paginapessoal.utfpr.edu.br/previero Universidade Tecnológica Federal do Paraná - UTFPR Câmpus Londrina Wellington D. Previero

Leia mais

Circuitos Digitais 144L

Circuitos Digitais 144L Circuitos Digitais Notas de Aula - 02 INSTITUTO: CURSO: DISCIPLINA: Instituto de Ciências Exatas e Tecnologia Ciência da Computação e Sistemas de Informação Circuitos Digitais 144L 1.0 Circuitos Combinacionais.

Leia mais

Arquitetura de Computadores Moderna

Arquitetura de Computadores Moderna Arquitetura de Computadores Moderna Eduardo Barrére (eduardo.barrere@ice.ufjf.br) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações

Leia mais

Aula 9. Introdução à Computação. ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Aula 9. Introdução à Computação. ADS IFBA www.ifba.edu.br/professores/antoniocarlos Aula 9 Introdução à Computação Ponto Flutuante Ponto Flutuante Precisamos de uma maneira para representar Números com frações, por exemplo, 3,1416 Números muito pequenos, por exemplo, 0,00000001 Números

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

2. A influência do tamanho da palavra

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

Leia mais

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M. Material Teórico - Módulo de FRAÇÕES COMO PORCENTAGEM E PROBABILIDADE Fração como porcentagem Sexto Ano do Ensino Fundamental Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M. Neto

Leia mais

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Data: 21/10/2013 até meia-noite Dúvidas até: 09/10/2013 Faq disponível em: http://www2.icmc.usp.br/~mello/trabalho07.html A estrutura

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

Sistemas Digitais INE 5406

Sistemas Digitais INE 5406 Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Sistemas Digitais INE 5406 Aula 10-P Refinamento das especificações

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

Organização de Computadores Como a informação é processada?

Organização de Computadores Como a informação é processada? Curso de ADS/DTEE/IFBA Organização de Computadores Como a informação é processada? Prof. Antonio Carlos Referências Bibliográficas: 1. Ciência da Computação: Uma visão abrangente - J.Glenn Brokshear 2.

Leia mais

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-5103: Cálculo Numérico para Controle e Automação 1/48 Sumário Arredondamentos Erros 2/48 Sumário Arredondamentos

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software

Leia mais

Arquitetura de processadores: RISC e CISC

Arquitetura de processadores: RISC e CISC Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo

Leia mais

4. Tarefa 16 Introdução ao Ruído. Objetivo: Método: Capacitações: Módulo Necessário: Análise de PCM e de links 53-170

4. Tarefa 16 Introdução ao Ruído. Objetivo: Método: Capacitações: Módulo Necessário: Análise de PCM e de links 53-170 4. Tarefa 16 Introdução ao Ruído Objetivo: Método: Ao final desta Tarefa você: Estará familiarizado com o conceito de ruído. Será capaz de descrever o efeito do Ruído em um sistema de comunicações digitais.

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes Codificação Principais códigos utilizados Computadores e Equipamentos de Comunicações Digitais trabalham com representação e códigos. A codificação binária de sinais é largamente utilizada em Sistemas

Leia mais

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando

Leia mais

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções 1 - Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções Um programa pode possuir determinados processos realizados repetidas vezes ao longo da execução do programa. Estes processos podem se agrupar

Leia mais

Análise de Arredondamento em Ponto Flutuante

Análise de Arredondamento em Ponto Flutuante Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann Guarulhos PLANEJAMENTO EMENTA: Sistemas numéricos. Aritmética binária. Memórias, unidades centrais de processamento, entrada e

Leia mais

RELATÓRIOS GERENCIAIS

RELATÓRIOS GERENCIAIS RELATÓRIOS GERENCIAIS Neste treinamento vamos abordar o funcionamento dos seguintes relatórios gerenciais do SisMoura: Curva ABC Fluxo de Caixa Semanal Análise de Lucratividade Análise Financeira o Ponto

Leia mais

Resolvendo problemas com logaritmos

Resolvendo problemas com logaritmos A UA UL LA Resolvendo problemas com logaritmos Introdução Na aula anterior descobrimos as propriedades dos logaritmos e tivemos um primeiro contato com a tábua de logarítmos. Agora você deverá aplicar

Leia mais

Trabalho de Implementação Jogo Reversi

Trabalho de Implementação Jogo Reversi Trabalho de Implementação Jogo Reversi Paulo Afonso Parreira Júnior {paulojr@comp.ufla.br} Rilson Machado de Olivera {rilson@comp.ufla.br} Universidade Federal de Lavras UFLA Departamento de Ciência da

Leia mais

Laboratório 7 Circuito RC *

Laboratório 7 Circuito RC * Laboratório 7 Circuito RC * Objetivo Observar o comportamento de um capacitor associado em série com um resistor e determinar a constante de tempo do circuito. Material utilizado Gerador de função Osciloscópio

Leia mais

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística Aula 4 Conceitos Básicos de Estatística Aula 4 Conceitos básicos de estatística A Estatística é a ciência de aprendizagem a partir de dados. Trata-se de uma disciplina estratégica, que coleta, analisa

Leia mais

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I. 2002 Juliana F. Camapum Wanderley

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I. 2002 Juliana F. Camapum Wanderley Organização e Arquitetura de Computadores Aula 10 Ponto Flutuante Parte I 2002 Juliana F. Camapum Wanderley http://www.cic.unb.br/docentes/juliana/cursos/oac OAC Ponto Flutuante Parte I - 1 Panorama Números

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Você deve ter bons conhecimentos de estoque, UM e administração de posições

Leia mais

Edital N.º 11/PROAD/SGP/2015 e complementares

Edital N.º 11/PROAD/SGP/2015 e complementares Edital N.º 11/PROAD/SGP/2015 e complementares Nome do Candidato Número de Inscrição - Assinatura do Candidato Secretaria de Articulação e Relações Institucionais Gerência de Exames e Concursos I N S T

Leia mais

CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional

CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional Matemática Computacional 2) Erros de arredondamento Carlos Alberto Alonso Sanches Erros de representação e de cálculo Tipos de erros Erro inerente: sempre presente na incerteza das medidas experimentais

Leia mais

1. A corrida de vetores numa folha de papel.

1. A corrida de vetores numa folha de papel. 1. A corrida de vetores numa folha de papel. desenhando a pista. o movimento dos carros. o início da corrida. as regras do jogo. 2. A corrida no computador. o número de jogadores. o teclado numérico. escolhendo

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

Data 23/01/2008. Guia do Professor. Introdução

Data 23/01/2008. Guia do Professor. Introdução Guia do Professor Data 23/01/2008 Introdução A inserção de tópicos da Eletricidade nas escolas de nível básico e médio é fundamental para a compreensão de alguns fenômenos da vida moderna. Você já imaginou

Leia mais

Cotagem de dimensões básicas

Cotagem de dimensões básicas Cotagem de dimensões básicas Introdução Observe as vistas ortográficas a seguir. Com toda certeza, você já sabe interpretar as formas da peça representada neste desenho. E, você já deve ser capaz de imaginar

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

Representação de números em máquinas

Representação de números em máquinas Capítulo 1 Representação de números em máquinas 1.1. Sistema de numeração Um sistema de numeração é formado por uma coleção de símbolos e regras para representar conjuntos de números de maneira consistente.

Leia mais

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox 1- Scilab e a placa Lab_Uino A placa Lab_Uino, é uma plataforma aberta para aprendizagem de sistemas microprocessados. Com a utilização de um firmware especifico a placa Lab_Uino é reconhecido pelo sistema

Leia mais

Marcos da Arquitetura de Computadores (1)

Marcos da Arquitetura de Computadores (1) Marcos da Arquitetura de Computadores (1) Marcos da Arquitetura de Computadores (2) Gerações de computadores Geração Zero Computadores Mecânicos (1642 1945) Primeira Geração Válvulas (1945 1955) Segunda

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Fluxo Seqüencial de Controle e Desvios (1) Fluxo de Controle: É a seqüência na qual instruções são dinamicamente executadas Isto

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO DO SEMI-ÁRIDO DEPARTAMENTO DEPARTAMENTO DE DE CIÊNCIAS CIÊNCIAS EXATAS EXATAS E E NATURAIS NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura

Leia mais

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante.

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante. Aula 1 Representação e Operações Aritméticas em Ponto Flutuante. MS211 - Cálculo Numérico Marcos Eduardo Valle Departamento de Matemática Aplicada Instituto de Matemática, Estatística e Computação Científica

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code

Leia mais

Aula 4 Estatística Conceitos básicos

Aula 4 Estatística Conceitos básicos Aula 4 Estatística Conceitos básicos Plano de Aula Amostra e universo Média Variância / desvio-padrão / erro-padrão Intervalo de confiança Teste de hipótese Amostra e Universo A estatística nos ajuda a

Leia mais

1 EDUCAÇÃO INFANTIL NATUREZA E SOCIEDADE O TEMPO PASSA... Guia Didático do Objeto Educacional Digital

1 EDUCAÇÃO INFANTIL NATUREZA E SOCIEDADE O TEMPO PASSA... Guia Didático do Objeto Educacional Digital Guia Didático do Objeto Educacional Digital NATUREZA E SOCIEDADE 1 EDUCAÇÃO INFANTIL O TEMPO PASSA... Este Objeto Educacional Digital (OED) está relacionado ao tema da Unidade 4 do Livro do Aluno. NATUREZA

Leia mais

Usando um Simulador da Máquina de Turing Claudio Kirner 2010

Usando um Simulador da Máquina de Turing Claudio Kirner 2010 1. Introdução Usando um Simulador da Máquina de Turing Claudio Kirner 2010 A Máquina de Turing, idealizada por Alan Turing, em 1936, é uma máquina teórica simples capaz de calcular qualquer função matemática.

Leia mais

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica O Princípio da Complementaridade e o papel do observador na Mecânica Quântica A U L A 3 Metas da aula Descrever a experiência de interferência por uma fenda dupla com elétrons, na qual a trajetória destes

Leia mais

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos ESTUDO DE VIABILIDADE Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos O que é um estudo de viabilidade? O que estudar e concluir? Benefícios e custos Análise de Custo/Benefício

Leia mais

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE ENGENHARIA ELÉTRICA ELETRÔNICA SÉRIE DE EXERCÍCIO #A22 (1) O circuito a seguir amplifica a diferença de

Leia mais

5º Experimento: Somador Binário de números com sinal

5º Experimento: Somador Binário de números com sinal Capítulo 1 5º Experimento: Somador Binário de números com sinal 1.1 Objetivos Usar uma porta XOR de duas entradas para realizar a função unária de negação. Usar um somador binário para somar números sem

Leia mais

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3 Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3 Os sistemas de arquivos é a parte do SO responsável pelo gerenciamento dos arquivos (estrutura, identificação, acesso, utilização, proteção e implementação).

Leia mais

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária Organização de Computadores Capítulo 4 Cálculos Binários e Conversão entre Bases Aritmética Binária Material de apoio 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui

Leia mais

Arquitetura de Rede de Computadores

Arquitetura 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 mais

13 Números Reais - Tipo float

13 Números Reais - Tipo float 13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final

Leia mais

Organização e Arquitetura de Computadores I

Organizaçã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 mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SANTA MARIA FATECIENS 2008 Este manual tem por finalidade apresentar as especificações detalhadas da aplicação de Cadastro de Funcionários,

Leia mais

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento

Leia mais

Fontes de Alimentação

Fontes de Alimentação Fontes de Alimentação As fontes de alimentação servem para fornecer energia eléctrica, transformando a corrente alternada da rede pública em corrente contínua. Estabilizam a tensão, ou seja, mesmo que

Leia mais

Circuitos Combinacionais. Sistemas digitais

Circuitos Combinacionais. Sistemas digitais Circuitos Combinacionais Sistemas digitais Agenda } Codificador X Decodificador } Código BCD 8421, código BCH, código 9876543210 } Display de 7 segmentos } Multiplexador X Demultiplexador } Comparadores

Leia mais

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade Introdução É sabido que os processos rodam em processadores. Nos sistemas tradicionais existe somente um único processador, de forma que não há dúvida a respeito de como ele deve ser usado. Em um sistema

Leia mais

I n f o r m á t i c a

I n f o r m á t i c a Prof. Dr. Rogério R. de Vargas I n f o r m á t i c a Dados, bits, bytes, representação de dados e sistemas de numeração e representação numérica Itaqui - RS, 2º Semestre de 2014. Agenda Dados; Bits; Bytes;

Leia mais