Aritmética Computacional Organização de Computadores e Sistemas Operacionais Aula 02 Faculdade Maurício de Nassau Professora: Viviane Lucy Cursos: WebDesign e Redes de Computadores
Números Binários As palavras de um computador são compostas por bits. Essas palavras podem ser representadas na memória como números binários. Os números naturais podem ser representados tanto em decimal quanto em binário. Ex. 101101002 Ex. 01002 = (0 x 23) + (1 x 22) + (0 x 21) + (0 x 20) = 410
Números Binários Algumas perguntas podem surgir: Como representar números negativos? Qual o maior número que pode ser representado em uma palavra de computador? O que acontece se uma operação cria um número maior do que o maior valor que a palavra daquela máquina pode acomodar?
Números Binários Da aritmética sabemos que, em qualquer base, o valor do i-ésimo dígito, d, de um número é dado por: onde i começa em 0 e cresce da direita para esquerda Exemplo: O valor do terceiro dígito do número 1234 é: i d Base
Números Binários 01011 = 1*20 + 1*21 + 0*22 + 1*23 + 0*24 =1110 O mesmo ocorre com os números binários (base 2) onde i começa em 0 e cresce da direita para esquerda Desta forma, é fácil numerar os bits de uma palavra. Ex. Qual número decimal representa o número binário 010112 ? 01011 = 1*20 + 1*21 + 0*22 + 1*23 + 0*24 =1110
Representação de números negativos Notação sinal/magnitude Cada número possui um bit adicional que representa o sinal. Problemas Duas representações para o zero. Os somadores deveriam estabelecer o valor do bit de sinal. Ex. 101002 = -4 Bit de sinal
Representação de números negativos Notação complemento a dois Números com zero (0) à esquerda são considerados positivos, números com um (1) à esquerda são considerados negativos. 0002 = (0 x 22) + (0 x 21) + (0 x 20) = 0 0012 = (0 x 22) + (0 x 21) + (1 x 20) = 1 0102 = (0 x 22) + (1 x 21) + (0 x 20) = 2 0112 = (0 x 22) + (1 x 21) + (1 x 20) = 3 1002 = (1 x- 22) + (0 x 21) + (0 x 20) = -4 1012 = (1 x -22) + (0 x 21) + (1 x 20) = -3 1102 = (1 x -22) + (1 x 21) + (0 x 20) = -2 1112 = (1 x -22) + (1 x 21) + (1 x 20) = -1
Representação de números negativos Notação complemento a dois Assim: Num processador de n bits há 2n combinações de palavras possíveis, sendo 2n-1 negativas, 2n-1 – 1 positivas e 1 representando o 0 (zero). O maior número positivo que pode ser representado é 2n-1 – 1. O menor número negativo que pode ser representado é -2n-1.
Regra prática para negação Considere x é um número em complemento a dois. x é a representação invertida de x. Ex. x = 0112 então x = 1002 A soma x + x = -1, portanto x + x + 1 = 0 Então –x = x + 1; Ex. x = 0112(3) então -x = 1002 + 0012 = 1012 (-3)
Regra prática para negação Assim podemos concluir que : Para representar um número negativo podemos seguir os seguintes passos: Representar o número positivo Inverter os bits Somar 1 à palavra invertida Exemplo: Como representar o número -34 em binário? X = 34 = 0100010 X = 1011101 -x = x + 1 = 1011101 + 1 = 1011110
Conversão decimal - binário Como representar um número decimal em número binário? Devemos expressar este número em uma soma de potências de 2. Exemplo: 3410 34 = 32 + 2 = = 1 *25 + 0*24 + 0*23 + 0*22 + 1*21 + 0*20 = = 01000102
Regra prática para conversão 34 2 0 17 2 1 8 2 0 4 2 0 2 2 0 1 3410= 01000102
Exercícios de fixação 1- Converta os seguintes números decimais em números binários de 8 bits (1 byte) a) 57 d) -35 b) 80 e) -100 c) 125 f ) – 72 2 - Converta os seguintes números binários em decimais a) 00101011 c)01101011 b) 10110100 d)11000000 Obs. Considere notação complemento a dois
Operações Lógicas e Álgebra Booleana
Portas lógicas And (e) X Y S 0 0 0 0 1 0 1 0 0 1 1 1 X Y 1 S
Portas lógicas Or (ou) X Y S 0 0 0 0 1 1 1 0 1 1 1 1 X 1 S Y
Portas lógicas Inversor X X 0 1 1 0 X
Portas lógicas Podemos fazer associações das portas lógicas e formar as portas: Nand ( não-e) X Y S 0 0 1 0 1 1 1 0 1 1 1 0
Portas lógicas Nor (Não- ou) X Y S 0 0 1 0 1 0 1 0 0 1 1 0
Portas lógicas XOR (Ou-exclusivo) X Y S 0 0 0 0 1 1 1 0 1 1 1 0 X S Y
Multiplexador O multiplexador é um dispositivo que possui: 2n entradas 1 saída n sinais de controle
Multiplexador Ex. mux 4 para 1
Exemplos
Operações aritméticas
O meio somador de 1 bit a b Soma CarryOut 1 a b CarryOut soma +
O somador completo de 1 bit CarryOut soma + CarryIn a b CarryIn Soma CarryOut 1
Soma binária Os bits são somados um a um, da direita para a esquerda,´com os carries sendo passados para o próximo bit à esquerda. (0) (0) (1) (1) (0) 0 0 0 1 1 1 0 0 0 1 1 0 0 (0)0 (0)1 (1)1 (1)0 (0)1 a b Soma +
Subtração binária Nega-se o segundo operando, e soma-se o resultado ao primeiro. Ex. 7 – 5 = 7 + (-5) 7 = 01112 5 = 01012 -5 = 10112 (1) (1) (1) 0 1 1 1 1 0 1 1 0 (1)0 (1)1 (1)0 +
Overflow Ocorre quando o resultado da operação não pode ser representado, com uma palavra de n bits. Ex. 410 = 01002 510 = 01012 0100 + 0101 1001 5 + 4 = 9 00100 + 00101 01001 9 - 7
Overflow A + B > 0 < 0 A – B Operação Operando A Operando B Resultado A + B > 0 < 0 A – B
Unidade lógica aritmética (ULA) É o dispositivo que realiza operações aritméticas ( soma,subtração,...) e lógicas (and, or,...) . São os músculos do computador. Com os conhecimentos adquiridos até então, podemos criar uma ULA de 1 bit.
ULA
ULA
Exercícios de fixação Complete as tabelas verdade: a) S = (X+Y).(X+Y) b) S = X+(Y.Z) X Y Z S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 X Y S 0 0 0 1 1 0 1 1
Exercícios de fixação 2) Realiza as operações em binário, e indique quando houver overflow: a)0110 + 0010 = b)1100 + 0110 = c)1010 + 1001 = d)0001 + 0110 = Obs. Considere números de 4 bits na notação complemento a dois.
Exercícios de fixação 2) Qual é o resultado na saída da ULA considerando que: Controle = 01, a = 1, b = 0 Controle = 10, a = 0, b = 0