» WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS

Slides:



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

Sistemas de Numeração.
Representação de Números
Arquitetura de Computadores
Aritmética Computacional
Sistemas de Numeração.
SISTEMAS DE NUMERAÇÃO BINÁRIA E DECIMAL
Sistemas de Numeração O número é um conceito abstrato que representa a idéia de quantidade. Sistema de numeração é o conjunto de símbolos utilizados para.
Sistema de numeração decimal
Representação de números
Representação de Dados e Sistemas de Numeração Aula 4
Multiplicação e Divisão Serial Moraes/Ney - 07/novembro/2007
INTRODUÇÃO À ENGENHARIA DE COMPUTAÇÃO Prof. Wanderley Aula 1.
William Stallings Arquitetura e Organização de Computadores 8a Edição
25/02/ Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves.
MC542 Organização de Computadores Teoria e Prática
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
MC542 Organização de Computadores Teoria e Prática
Soma de Produtos Soma de produtos é uma forma padrão de representação de funções Booleanas constituida pela aplicação da operação lógica OU sobre um conjunto.
Maria Aparecida Castro Livi
Sistemas de Numeração Prof. Thober Detofeno, Ms.
Universidade do Estado de Santa Catarina – CCT/UDESC
REPRESENTAÇÃO DE INSTRUÇÕES
Conversão de bases binário decimal – decimal binário
Registradores de deslocamento (Shift Register)
Organização da Memória Principal
Sistemas de Numeração e linguagem dos computadores
As aulas não cobrem toda a matéria! Há que ler as folhas teóricas!
Faculdade Pitágoras Prof. Edwar Saliba Júnior Setembro de 2008
Conversão entre base decimal e binária
UNIDADE II.
Sistemas de Numeração Sistemas Numéricos de Interesse
Introdução a Tecnologia da Informação
Sistemas Numéricos Sistemas Numéricos de Interesse
INTRODUÇÃO À ENGENHARIA
Sistemas de Numeração e Conversão de Base
CIRCUITOS LÓGICOS UNIDADE 1 SISTEMAS DE NUMERAÇÃO
Circuitos combinatórios típicos: circuitos aritméticos
Operações Aritméticas em Binário
Sistemas de Numeração.
Representação Digital da Informação
Binários Prof. Ricardo S. Casado.
Formadora: Patrícia MateusArquitectura de Computadores – Técnico de Sistemas Nível 3 1 Sistemas de Numeração ARQUITECTURA INTERNA DE COMPUTADORES.
Computador Simplificado Conceitos p.ex. FLUXO de execução
Arquitectura de Computadores – Técnico de Sistemas Nível 3
Numeração.
Infra-Estrutura de Hardware
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
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Pet computação UFPE Aula de apoio aos feras: Sistemas de Numeração.
Sistemas Numéricos SISTEMA DECIMAL
Códigos de Detecção e Correcção de erros
Aritmética Computacional Operações Complexas
Sistemas de Numeração.
Representação de Números Inteiros
Introdução à Computação Sistemas de Numeração
Representação de Dados
Introdução a Sistemas de Informação
Subtrator e Somador BCD
Operações Aritméticas no Sistema binário
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
REPRESENTAÇÃO BINÁRIA E CONVERSÃO
Métodos Numéricos Computacionais
Sistemas de numeração Digito binário BIT – Binary Digit (Contração) (Menor unidade de informação do computador) 1 Byte – B - Valor 8 bits – Base 2.
SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA
SISTEMAS DE NUMERAÇÃO BINÁRIA E DECIMAL
Organização e Arquitetura de Computadores A.L.Lapolli – Organização e Arquitetura de Computadores Objetivo: Objetivo: Conhecer os sistemas.
Transcrição da apresentação:

» WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS » WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS? « Sydney Smith, 1835 TC – DEI, 2005/2006

Paulo Marques pmarques@dei.uc.pt http://www.dei.uc.pt/~pmarques Sistemas de Numeração Paulo Marques pmarques@dei.uc.pt http://www.dei.uc.pt/~pmarques Tecnologia dos Computadores 2005/2006

26 XXVI Sistemas de Numeração Os valores existem no mundo, independentemente da sua representação 26 São representações igualmente válidas XXVI TC – DEI, 2005/2006

Sistemas Posicionais O sistema posicional é utilizado devido à facilidade com a qual é possível fazer calculos Tente encontrar um algoritmo para multiplicar, em numeração romana, XVIII por XIXIII! 100 103 102 101 1 9 2 6 1926 = 1x103 + 9x102 + 2x101 + 6x100 TC – DEI, 2005/2006

Sistemas Posicionais (2) Sistema de numeração de base 10: Existem 10 algarismos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) O valor de cada posição i é dado pelo valor nessa posição vezes um factor de escala basei Para calcular o valor de um número representado numa base radix: (An-1 An-2 An-3... A0)radix Faz-se: An-1radixn-1 + An-2radixn-2 + An-3radixn-3 + ... + A0radix0 TC – DEI, 2005/2006

Nos sistemas informáticos Internamente, tudo é feito em base 2, i.e. BINÁRIO Existem dois símbolos: 0 e 1 (ligado/desligado, verdadeiro/falso) Cada símbolo é um bit (binary digit) No entanto, em termos de representações, tipicamente utiliza-se: Binário (base 2) Hexadecimal (base 16) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F ... e algumas vezes Octal (base 8) TC – DEI, 2005/2006

» quatre-vingt, quatre-vingt-dix, quatre-vingt-dix-neuf « 80, 90, 99 em Françês TC – DEI, 2005/2006

Contar em binário 0000 => (0)10 0001 => (1)10 0010 => (2)10 0000 => (0)10 0001 => (1)10 0010 => (2)10 0011 => (3)10 0100 => (4)10 0101 => (5)10 0110 => (6)10 0111 => (7)10 1000 => (8)10 1001 => (9)10 1010 => (10)10 1011 => (11)10 1100 => (12)10 1101 => (13)10 1110 => (14)10 1111 => (15)10 TC – DEI, 2005/2006

Contar em hexadecimal 00 => (0)10 01 => (1)10 02 => (2)10 00 => (0)10 01 => (1)10 02 => (2)10 03 => (3)10 04 => (4)10 05 => (5)10 06 => (6)10 07 => (7)10 08 => (8)10 09 => (9)10 0A => (10)10 0B => (11)10 0C => (12)10 0D => (13)10 0E => (14)10 0F => (15)10 10 => (16)10 11 => (17)10 TC – DEI, 2005/2006

Quiz: Conversão para decimal Converta para decimal os seguintes números: Pista: lembre-se do que é que “sistema posicional” e “base” querem dizer... (1101010)2 (C1B3)16 TC – DEI, 2005/2006

Nota Virtualmente todos os informáticos sabem as potências de dois de cabeça 0  1  2  4  8  16  32  64  128  256  512  1024 210 29 28 27 26 25 24 23 22 21 20 1024 512 256 128 64 32 16 8 4 2 1 TC – DEI, 2005/2006

Resposta ao Quiz (1101010)2 (C1B3)16 = 020 + 121 + 022 + 123 + 024 + 125 + 126 = 106 (na base 10) (C1B3)16 = 3160 + 11161 + 1162 + 12163 = 49587 (na base 10) TC – DEI, 2005/2006

Conversão de decimal para outras bases Divide-se sucessivamente o número pela base O resto da divisão vai constituindo os sucessivos digitos do número Exemplo: Converter 402 em binário 402 ÷ 2 = 201 e resto 0 201 ÷ 2 = 100 e resto 1 100 ÷ 2 = 50 e resto 0 50 ÷ 2 = 25 e resto 0 25 ÷ 2 = 12 e resto 1 12 ÷ 2 = 6 e resto 0 6 ÷ 2 = 3 e resto 0 3 ÷ 2 = 1 e resto 1 1 ÷ 2 = 0 e resto 1 (402)10 = (110010010)2 TC – DEI, 2005/2006

Conversão decimal-hexadecimal Exactamente o mesmo processo! Converter 402 em hexadecimal Converter 673 em hexadecimal 402 ÷ 16 = 25 e resto 2 25 ÷ 16 = 1 e resto 9 1 ÷ 16 = 0 e resto 1 (402)10 = (192)16 673 ÷ 16 = 42 e resto 1 42 ÷ 16 = 2 e resto 10 (A) 2 ÷ 16 = 0 e resto 2 (673)10 = (2A1)16 TC – DEI, 2005/2006

Conversão binário-hexadecimal e vice-versa Como 16 é 24, isso quer dizer que cada digito em hexadecimal corresponde a 4 dígitos em binário, directamente! Exemplo: (110110010010)2 110110010010 D 9 2 TC – DEI, 2005/2006

Nota sobre o sistema hexadecimal Nos computadores (e livros), é comum utilizar as seguintes notações para representar números hexadecimais: 0xD92 ou 0xd92 D92h ou d92h TC – DEI, 2005/2006

BCD: Binary-Coded-Decimal Nos sistemas electrónicos e muitas vezes nos informáticos, utiliza-se também o sistema BCD: Binary Coded Decimal Cada conjunto de quatro bits representa um valor decimal. Só são válidos os valores de 0000 a 1001 (i.e. 0 a 9) 011100011000 BCD 7 1 8 Decimal TC – DEI, 2005/2006

Armazenamento de dados Quantos bits são necessários para representar N números? Exemplo: quantos bits necessito para representar 100 objectos, ou para representar 100 números diferentes? (0..99) Sistema binário é um sistema posicional. Com K bits, tenho 2K números diferentes Para representar N elementos diferentes, são necessários log2(N) bits. Para representar 100 objectos, são necessários 7 bits! TC – DEI, 2005/2006

Grandezas de armazenamento de informação bit: binary digit, unidade básica de informação byte: 8 bits Kbyte: 210 byte, i.e. 1024 bytes Mbyte: 210 Kbyte, i.e. 1024 Kbytes Gbyte: 210 Mbyte, i.e. 1024 Mbytes Tbyte: 210 Gbyte, i.e. 1024 Gbytes Quiz: Se eu quiser armazenar 20.000.000 números inteiros, cada número de 32 bits, quantos MByte preciso? TC – DEI, 2005/2006

Grandeza para transmição de informação Largura-de-banda: 100Mbps 100Mbps = 100*1000*1000 bits/s = = 11.9 Mbyte/s Note-se que no caso de bps, K, M, G e T representam factores de 1000, não de 1024! TC – DEI, 2005/2006

Palavras do computador Os registos do processador têm um certo tamanho em bits. Ao tamanho dos registos do processador chama-se word ou palavra. Quando se diz que o Pentium 4 é um processador de 32 bits, quer dizer que este manipula internamente dados de 32 bits. Tipicamente também quer dizer que é capaz de gerar endereços de 32 bits. Quiz 1: Sabendo que o Pentium 4 endereça a memória usando 32 bits, qual é a memória máxima que um PC comum pode ter? 4 Gbytes! (232/1024/1024/1024) Quiz 2: Sabendo que os registos de dados do Pentium 4 são de 32 bits, qual é o número máximo (sem sinal), que se pode representar? 4294967295 (232-1) TC – DEI, 2005/2006

Bit mais significativo e menos significativo 110110010010 MSB (Most Significant Bit) LSB (Least Significant Bit) TC – DEI, 2005/2006

Máquinas big-endian & little-endian Imaginemos que um computador tem uma palavra de 16 bits. De que forma é que esta deverá ser armazenada em memória? ?? MOV [1000], 0xff00 1001 ff 1001 00 1000 00 1000 ff Little-endian (e.g. PC) Big-endian (e.g. Sun-Sparc, Network-byte-order) TC – DEI, 2005/2006

Porque é que o céu é azul? TC – DEI, 2005/2006

» Numbers written on restaurant bills within the confines of restaurants do not follow the same mathematical laws as numbers written on any other pieces of paper in any other parts of the Universe « Douglas Adams, The Hitchhiker's Guide to the Galaxy TC – DEI, 2005/2006

Leitura...  The Ultimate Hitchhiker's Guide to the Galaxy by Douglas Adams ISBN 0345453743, Del Rey Publisher The Hitchhiker’s Guide to the Galaxy The Restaurant at the End of the Universe Life, the Universe and Everything So Long, and Thanks for All the Fish Mostly Harmless TC – DEI, 2005/2006

» Every passing minute is another chance to turn it all around » Every passing minute is another chance to turn it all around. « Sofia, in Vanilla Sky TC – DEI, 2005/2006

Representação de Números Negativos & Racionais  Operações Aritméticas Paulo Marques pmarques@dei.uc.pt http://www.dei.uc.pt/~pmarques Tecnologia dos Computadores 2004/2005

Números negativos: Sinal e Magnitude +100 -100 Quando se coloca um símbolo extra (+-) que representa o sinal de um número, chama-se a essa representação: Representação em sinal e magnitude (100)10 = (1100100)2 1 1 1 +100 1 1 1 1 -100 Magnitude Bit Sinal TC – DEI, 2005/2006

Números Negativos: Sistema de Complementos Problemas do sistema de sinal e magnitude Para fazer cálculos, as regras são confusas e complicadas de implementar (e.g. se ambos os sinais são positivos, o sinal é o mesmo, se um é positivo e outro negativo, subtrai-se e o sinal é o do maior em valor absoluto, etc.) Existem duas representações para 0 Sistemas de complemento: A ideia é simplificar as regras e os cálculos. Por exemplo, subtrair deve de ser a mesma coisa do que adicionar, e.g. 3 - 2 = 3 + (-2) TC – DEI, 2005/2006

Complementos para 1 Exemplo: O número negativo é obtido negando todos os bits do correspondente positivo Vantagens: muito fácil fazer cálculos e não é necessário processar o bit de sinal separadamente +7 0111 +6 0110 Exemplo: Somar 2 com -5 Subtrair a 2, o número 5 +5 0101 +4 0100 +3 0011 +2 0010 +1 0001 1 (+2) 0000 1111 1 + (-5) -1 1110 -2 1101 1 1 (-3) -3 1100 -4 1011 -5 1010 -6 1001 -7 1000 TC – DEI, 2005/2006

Complementos para 1 Na verdade, fazer a adição é um pouco mais complicado 1 (+5) + 1 1 1 (-2) Carry-out 1 1 1 1 1 (+3) Note-se que isto só se aplica quando são números de sinais diferentes: O carry-out tem de ser adicionado! As condições de overflow são algo complicadas de detectar... Por exemplo, 5+5 = ?? TC – DEI, 2005/2006

Complementos para 2 O sistema utilizado em todas as máquinas modernas Não é necessário uma pessoa preocupar-se com o carry  Cálculos realmente directos Overflow é trivial de detectar Uma única representação para o 0! Conversão para complementos de 2 (dois métodos): Calcula-se o complementos para um e soma-se 1 Copiam-se os bits da direita (LSB) para a esquerda até encontrar o primeiro 1 e trocam-se todos os bits a partir dai. (23)10 = (00010111)2 (-23)10 = (11101001)2 (9)10 = (00001001)2 (-9)10 = (11110111)2 TC – DEI, 2005/2006

Complementos para 2 Exemplo: Subtrair a 2, ao número 5 Somar 5 com -2 +7 0111 Exemplo: Subtrair a 2, ao número 5 Somar 5 com -2 +6 0110 +5 0101 +4 0100 +3 0011 +2 0010 1 (+5) +1 0001 0000 1 + (-2) -1 1111 -2 1110 1 Carry-out 1 1 (+3) -3 1101 -4 1100 Ignora-se o valor de carry! -5 1011 -6 1010 -7 1001 -8 1000 TC – DEI, 2005/2006

Complementos para 2  Overflow Quando o resultado não cabe no número de bits do resultado, diz-se que ocorreu um overflow. Na adição em complementos para dois, um overflow é detectado quando o valor de carry que entra no bit de sinal é diferente do que sai. ≠, o que implica que o cálculo está errado! Carry 1 1 1 1 1 1 (+5) + 1 1 (+6) (-5) ???? TC – DEI, 2005/2006

Representação de números reais Existem dois sistemas de uso comum: Vírgula fixa: existe um determinado número de bits fixo que representa a parte inteira, e um fixo de bits que representa a parte fraccionária 3 2 5 1 103 102 101 100 10-1 10-2 10-3 10-4 3252.2153 1 23 22 21 20 2-1 2-2 2-3 2-4 1101.0001 Quanto vale este número em decimal? Qual é o valor máximo e mínimo que consigo representar? TC – DEI, 2005/2006

Representação de números reais Vírgula flutuante: o equivalente à representação científica. Existe um número de bits que corresponde a mantissa e um certo número de bits que corresponde ao expoente S 103 102 101 100 10-1 10-2 10-3 10-4 S 101 100 +3.4e+05 (=3.4x10+05) 3 4 5 Mantissa Expoente TC – DEI, 2005/2006

Formato IEEE 754 Actualmente virtualmente todos os computadores utilizam o formato IEEE 754. A base é implicita e é 2. Precisão simples: 32 bits É utilizado um código de excesso para a mantissa (127) Precisão dupla: 64 bits É utilizado um código de excesso para a mantissa (1023) 1bit 23 bits 8 bits S Mantissa Expoente 1bit 52 bits 11 bits S Mantissa Expoente TC – DEI, 2005/2006

Algumas Operações Importantes em Binário Paulo Marques pmarques@dei.uc.pt http://www.dei.uc.pt/~pmarques Tecnologia dos Computadores 2005/2006

AND, OR, XOR TC – DEI, 2005/2006

Operações Bitwise 01101 01101 01101 AND 01011 OR 01011 XOR 01011 01001 01111 00110 AND, útil para desligar bits! Queremos desligar o terceiro bit de uma palavra: 01011110 AND 11111011 = 01011010 OR, útil para ligar bits! Queremos ligar o primeiro bit de uma palavra: 01011110 OR 00000001 = 01011111 XOR, útil para inverter bits! Queremos trocar o primeiro bit de uma palavra: 01011110 XOR 00000001 = 01011111 01011111 XOR 00000001 = 01011110 TC – DEI, 2005/2006

Operações de Deslocamento Shift Right (SHR ou >>): Desloca para a direita os bits de uma palavra 01011110 >> 2 = 00010111 Shift Left (SHL ou <<): Desloca para a esquerda os bits de uma palavra 01011110 << 2 = 01111000 São operações importantes nomeadamente porque: SHL 1: Corresponde a multiplicar o número por 2 SHL 2: Corresponde a multiplicar o número por 4 etc. SHR 1: Corresponde a dividir o número por 2 SHR 2: Corresponde a dividir o número por 4 etc. TC – DEI, 2005/2006

Operações de Deslocamento (2) Normalmente existem duas operações de deslocamento à direita: Lógica, em que é um deslocamento simples e o bit que é introduzido no MSB é 0 Aritmética, em que o bit que é introduzido no MSB é igual ao bit de sinal Usado quando o deslocamento corresponde a uma divisão e tem de se manter o valor do bit de sinal para as coisas baterem certo! >> 1 1 1 1 1 1 1 1 1 >>> 1 1 1 1 1 1 1 1 1 1 1 (-7) TC – DEI, 2005/2006

That’s it! Sistema pictográfico de representar números... em chinês! http://www.webcom.com/ocrat/chargif/numbers.html TC – DEI, 2005/2006

Para saber mais... [CSO] Computer Science – An Overview Capítulo 1 (1.1, 1.2, 1.4-“representing numeric values”, 1.5, 1.6, 1.7, Capítulo 2 (2.4) The Essentials of Computer Organization and Architecture Capítulo 2 (2.1 a 2.6.1); cópias fornecidas no quiosque TC – DEI, 2005/2006