Sistemas de Computação

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Representação de Ponto Flutuante
Sistemas de Numeração.
Representação de Números
Arquitetura de Computadores
Arquitetura de Computadores
Sistemas de Numeração.
Amintas engenharia.
Representação de números
Representação de Dados e Sistemas de Numeração Aula 4
INTRODUÇÃO À ENGENHARIA DE COMPUTAÇÃO Prof. Wanderley
Arquitetura e Organização de Computadores 2
Assembly Language for Intel-Based Computers, 5th Edition
William Stallings Arquitetura e Organização de Computadores 8a Edição
Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05) Universidade Federal do Vale do São.
Curso de ADMINISTRAÇÃO
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
MC542 Organização de Computadores Teoria e Prática
EXPRESSÕES ARITMÉTICAS
Maria Aparecida Castro Livi
Arquitetura de Computadores I
Universidade do Estado de Santa Catarina – CCT/UDESC
ERROS EM ALG. NUMÉRICOS E SUAS CONSEQUÊNCIAS
Significante ou mantissa
Aula 5 Tipos de Dados Universidade do Vale do Rio dos Sinos
Versão – Prof.: Mauro César Lopes
Projeto e Desenvolvimento de Algoritmos
CODIFICAÇÃO Prof. Sérgio Lima.
Sistemas Numéricos Sistemas Numéricos de Interesse
Introdução a Computação e Cálculo Numérico
Arrays em Java Revisão Assuntos Aulas Anteriores
Linguagens de Programação
Operações Aritméticas em Binário
Representações Avançadas em Binário
Módulo 5 – Codificação Sistemas Multimédia Ana Tomé José Vieira
Formadora: Patrícia MateusArquitectura de Computadores – Técnico de Sistemas Nível 3 1 Sistemas de Numeração ARQUITECTURA INTERNA DE COMPUTADORES.
PROGRAMAÇÃO I UNIDADE 2.
Arquitetura de computadores
Arquitectura de Computadores – Técnico de Sistemas Nível 3
Tipos de Dados Paradigmas de Programação
Numeração.
Aula de apoio aos feras: Arquitetura de Computadores e
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
Representação de dados
Pet computação UFPE Aula de apoio aos feras: Sistemas de Numeração.
Olhe fixamente para a Bruxa Nariguda
Aritmética Computacional Operações Complexas
Sistemas de Numeração.
Máquina de Turing Universal
1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira.
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da.
Representação de Números Inteiros
Representação de Dados
Tipos de Dados Operadores
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira.
REPRESENTAÇÃO BINÁRIA E CONVERSÃO
FUNDAMENTOS DE COMPUTAÇÃO
INTRODUÇÃO À COMPUTAÇÃO
Universidade Federal de Uberlândia
Cálculo Numérico Conceitos Básicos
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 2 Variáveis e Atribuições.
Métodos Numéricos Computacionais
INTRODUÇÃO AOS MÉTODOS NUMÉRICOS Professor: Dr. Edwin B. Mitacc Meza
ORGANIZAÇÃO DE COMPUTADORES
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA
Organização e Arquitetura de Computadores A.L.Lapolli – Organização e Arquitetura de Computadores Objetivo: Objetivo: Realizar as quatro.
STC 5 Professora Helena Oliveira Curso EFA AEOH Fábio Rodrigues Rafael Lourenço.
Transcrição da apresentação:

Sistemas de Computação Aritmética Computacional Ponto Flutuante – Material originalmente elaborados pelo Prof. Dr. David Fernandes david@dcc.ufam.edu.br Compilado a partir de slides preparados por Prof. MSc. Leandro Galvão galvao@dcc.ufam.edu.br www.dcc.ufam.edu.br/~dcc_oc.html

Frações binárias A parte fracionária (entre 0 e 1) de um número real em notação binária é representada por: Portanto, seu valor em decimal (F) é dado por: A expressão anterior pode ser reescrita como:

Frações binárias A expressão anterior sugere uma técnica de conversão. se multiplicarmos F por 2, teremos: Da expressão acima, percebe-se que b-1 é a parte inteira do número (2 × F). Portanto, podemos afirmar que (2 × F) = b-1 + F1, onde 0 < F1 < 1, e: Para encontrar b-2, basta repetir o processo.

Frações binárias Assim, o processo de conversão da fração F de decimal para binário envolve repetidas multiplicações por 2. A cada passo, a parte fracionária do resultado do passo anterior é multiplicada por 2. Os dígitos da parte inteira serão 0 ou 1 (da definição de bi), contribuindo para a formação da representação binária.

Frações binárias O processo anterior não é necessariamente exato: Uma fração decimal com número finito de dígitos pode corresponder a uma fração binária com um número infinito de dígitos. Nesses casos, o algoritmo de conversão é suspenso após um número pré-estabelecido de passos, dependendo da precisão desejada.

Escolha da notação Com a notação de complemento de 2, podemos representar a parte inteira de números reais. Com a notação fracionária, podemos representar a parte fracionária do mesmo número real. Limitações: números muito grandes não podem ser representados números muito pequenos não podem ser representados dificuldades para manter precisão durante realização de operações aritméticas

Ponto flutuante (Padrão IEEE 754) Um número real pode ser representado no seguinte formato: (-1)s × m × Be s – sinal m – mantissa B – base (implícita, não representada) e – expoente

Ponto flutuante (Padrão IEEE 754) O formato de precisão simples (float) ocupa 32 bits. O formato de precisão dupla (double) ocupa 64 bits. 23 bits 8 bits 1 bit fração expoente sinal 52 bits 11 bits 1 bit fração expoente sinal

Ponto flutuante (Padrão IEEE 754) :: Sinal O bit mais à esquerda guarda o sinal do número: bit = 0  número positivo bit = 1  número negativo

Ponto flutuante (Padrão IEEE 754) :: Fração A mantissa é representada na forma normalizada (base binária): A mantissa é composta por: Algarismo 1 Ponto de separação Fração

Ponto flutuante (Padrão IEEE 754) :: Fração O algarismo 1 e o ponto de numeração não precisam ser armazenados, pois são os mesmos para todos os números reais representados. Caso a fração possua menos bits que o esperado, zeros devem ser colocados à direita, pois não têm significância. 11001100000000000000000 23 bits fração fração = 1,110011

Ponto flutuante (Padrão IEEE 754) :: Fração Por razões históricas, o co-processador de ponto flutuante Intel não utiliza parte inteira implícita, ou seja, a parte inteira também é representada juntamente com a fração. O formato de precisão estendida ocupa 80 bits. 64 bits 15 bits 1 bit mantissa expoente sinal

Ponto flutuante (Padrão IEEE 754) :: Expoente O expoente é representado na notação deslocada, ou excesso de N Maior expoente representável: 2n-1 Representado por: 11...11 Menor expoente representável: -(2n-1 - 1) Representado por: 00...00

Ponto flutuante (Padrão IEEE 754) :: Notação excesso de N Decimal Complemento de dois Notação excesso de N +4 -- 111 +3 011 110 +2 010 101 +1 001 100 000 -1 -2 -3 -4

Ponto flutuante (Padrão IEEE 754) :: Notação deslocada Representação do valor zero: 01...11. Representação do valor um: 10...00. Demais valores: somar ao zero (deslocamento).

Ponto flutuante (Padrão IEEE 754) Exemplo: (10)bin = +1.0 × 21 1000 0000 8 bits expoente 1 bit sinal 0000 0000 0000 0000 0000 000 23 bits fração

Ponto flutuante (Padrão IEEE 754) Mais exemplos: fração em binário float fração em decimal expoente não sinalizado expoente decimal

Ponto flutuante × Ponto fixo :: Faixa de números representados 231 - 1 -231 Inteiros representados - (1 - 2-24) × 2128 underflow positivo - 2-127 2-127 (1 - 2-24) × 2128 underflow negativo números representados overflow positivo overflow negativo

Ponto flutuante :: Zero Como representar o zero em ponto flutuante? Adota-se uma convenção. 00000000 0000000000000000000000 fração expoente sinal + 0 1 00000000 0000000000000000000000 fração expoente sinal – 0

Ponto flutuante :: Infinito Notação especial para representar eventos incomuns: permite que os programas possam manipulá-los sem que sejam interrompidos. 11111111 0000000000000000000000 fração expoente sinal +∞ 1 11111111 0000000000000000000000 fração expoente sinal -∞

Ponto flutuante :: NaN – Not a Number É uma representação do resultado de operações inválidas, tais como: 0/0 ∞ - ∞ ∞/∞ 0 × ∞ √x, x < 0 x 11111111 xxx...xx ≠ 0 fração expoente sinal

Código ASCII (texto) ASCII American Standard Code for Information Interchange A primeira versão foi criada em 1963 para normalizar a transmissão e armazenamento de texto. Em 1967 foram incluídas as letras minúsculas no código, que essencialmente permaneceu inalterado até nossos dias.

Código ASCII Código ASCII 32 48 64 @ 80 P 96 ` 112 p 33 ! 49 1 65 A 81 64 @ 80 P 96 ` 112 p 33 ! 49 1 65 A 81 Q 97 a 113 q 34 “ 50 2 66 B 82 R 98 b 114 r 35 # 51 3 67 C 83 S 99 c 115 s 36 $ 52 4 68 D 84 T 100 d 116 t 37 % 53 5 69 E 85 U 101 e 117 u 38 & 54 6 70 F 86 V 102 f 118 v 39 ‘ 55 7 71 G 87 W 103 g 119 w 40 ( 56 8 72 H 88 X 104 h 120 x 41 ) 57 9 73 I 89 Y 105 i 121 y 42 * 58 : 74 J 90 Z 106 j 122 z 43 + 59 ; 75 K 91 [ 107 k 123 { 44 , 60 < 76 L 92 \ 108 l 124 | 45 - 61 = 77 M 93 ] 109 m 125 } 46 . 62 > 78 N 94 ^ 110 n 126 ~ 47 / 63 ? 79 O 95 _ 111 o 127 DEL

UNICODE O código ASCII possui a grande desvantagem de apenas permitir a representação de 28=256 símbolos diferentes. O código UNICODE pretende normalizar a codificação dos caracteres utilizados em todas as escritas do mundo. Utiliza 16 bits para codificar cada caracter e encontra-se disponível nos sistemas informáticos mais recentes. Mais informações em http://www.unicode.org Mostrar aqui o Insert Symbol do Word e uma font unicode Mostrar este pdf com os caracteres chineses http://www.unicode.org/charts/PDF/U3400.pdf

Para saber mais... William Stallings. Computer Organization and Architecture: Designing for Performance. 7th Ed. Prentice Hall, 2005. Cap. 09. Patterson & Hennessy. Organização e Projeto de Computadores (Interface HW/SW). Cap. 3. Sivarama P. Dandamudi. Guide to Assembly Language Programming in Linux. Springer, 2005. Cap. 22. Kip R. Irvine. Assembly Language For Intel-Based Computers. 5th Edition. Prentice Hall, 2006. Cap. 17.

Questões