Aritmética Computacional Organização de Computadores e Sistemas Operacionais Aula 02 Faculdade...

Post on 16-Apr-2015

112 views 0 download

Transcript of Aritmética Computacional Organização de Computadores e Sistemas Operacionais Aula 02 Faculdade...

Aritmética Computacional

Organização de Computadores e Sistemas Operacionais

Aula 02

Faculdade Maurício de NassauProfessora: Viviane LucyCursos: 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 é:

iBased

2102d Base

i

Números Binários 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

id 2

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:

1. Representar o número positivo2. Inverter os bits3. 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ção1- Converta os seguintes números decimais em

números binários de 8 bits (1 byte)a) 57 d) -35b) 80 e) -100c) 125 f ) – 722 - Converta os seguintes números binários em

decimaisa) 00101011 c)01101011b) 10110100 d)11000000Obs. Considere notação complemento a dois

Operações Lógicas e Álgebra Booleana

Portas lógicas

And (e)

X Y1

S

X Y S

0 0 0

0 1 0

1 0 0

1 1 1

Portas lógicas Or (ou)

X

Y

1 S

X Y S

0 0 0

0 1 1

1 0 1

1 1 1

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

YS

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

CarryOut

soma+

a b Soma CarryOut

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

O somador completo de 1 bit

a b CarryIn Soma CarryOut

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

a

b

CarryOut

soma+

CarryIn

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

5 + 4 = 90100

+ 0101

1001

- 7

00100

+ 00101

01001 9

Overflow

Operação Operando A Operando B Resultado

A + B > 0 > 0 < 0

A + B < 0 < 0 > 0

A – B > 0 < 0 < 0

A – B < 0 > 0 > 0

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

1) Complete as tabelas verdade:

a) S = (X+Y).(X+Y) b) S = X+(Y.Z)X Y S

0 0

0 1

1 0

1 1

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

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:

a) Controle = 01, a = 1, b = 0b) Controle = 10, a = 0, b = 0