You are on page 1of 34

Conceitos Básicos

• Representação dos dados


• Bases Numéricas
• Conversão de bases

Arquitetura de Computadores 1
Organização de um Computador
• O computador é uma máquina capaz de sistemicamente
coletar, manipular e fornecer resultados.
• Processamento de dados consiste em uma série de
atividades ordenadamente realizadas com o objetivo de
produzir um arranjo determinado de informações e
resultados.
• Um computador digital é um conjunto de componentes
integrados segundo uma estrutura de sistema que
manipula dados na forma digital (0s e 1s).
– Unidade Central de Processamento (CPU)
– Memória
– Unidades de E/S

Arquitetura de Computadores 2
Representação dos Valores Lógicos
• O computador trabalha com a base de numeração
binária onde os números são representados por um
conjunto de 0s e 1s.
....
001010101011010101
101010101010100001
111111110000000000
....

Nível de tensão
Volts(V)
Nível lógico 1

Nível lógico 0
t

Arquitetura de Computadores 3
Representação dos dados
• A informação é
– armazenada, transferida e manipulada
em grupos de bits
• Num mesmo computador podem ser empregadas
grupos de bits de tamanhos diferentes.
• Os dados em um computador são representados na
forma binária :
– Bit (1 digito binário) ou Binary Digit: valor 0 ou 1
– Byte = 8 bits
– Palavra (word), conforme a arquitetura ocupará n bytes.
– Caracter: conjunto de n bits que define 2n caracteres

Arquitetura de Computadores 4
Revisão de Bases Numéricas
Base Decimal
• Na base decimal são usados 10 dígitos (ou algarismos) diferentes
{0,1,2,3,4,5,6,7,8,9}, formando números em base 10.
• Cada algarismo N de um número possui um valor que depende de
sua posição. (N * Bpos)
Exemplo:
1999
• O dígito mais a direita (9) representa a quantidade de unidades,
pois está na posição 0. O dígito 9 mais a esquerda ,pode ser
interpretado como sendo 9 * 100
O valor completo do número pode ser calculado como sendo
1*103 + 9 *102 + 9*101 + 9*100
1*1000 + 9*100 + 9*10 + 9*1
1000 + 900 + 90 + 9
1999

Arquitetura de Computadores 5
Revisão de Bases Numéricas
Base Hexadecimal
• Na base hexadecimal dispomos de 16 algarismos
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, onde os dígitos de 0 a
9 são idênticos as decimais, e os dígitos de A a F,
correspondem aos valores decimais de 10 a 15,
sucessivamente.
Exemplo:
10AC16
1*163 + 0*162 + 10*161 + 12*160
1*4096 + 0*256 + 10*16 + 12*1
4096 + 0 + 160 + 12
426810

Arquitetura de Computadores 6
Revisão de Bases Numéricas
Base Octal
• Na base octal temos 8 algarismos {0,1,2,3,4,5,6,7}
Exemplo:
5218
5*82 + 2*81 + 1*80
5*64 + 2*8 +1*1
320 + 16 + 1
33710

Arquitetura de Computadores 7
Revisão de Bases Numéricas
Base Binária
• A base binária ou base 2 é a maneira usual de representação de
números em computadores eletrônicos.
• Nesta forma de representação temos apenas dois algarismos
disponíveis {0,1} que correspondem aos sinais elétricos ligado e
desligado.
100112
1*24 + 0*23 + 0*22 + 1*21 + 1*20
1*16 + 0*8 + 0*4 +1*2 +1*1
16+0+0+2+1
1910
• Cada algarismo de uma representação numérica binária é
denominados de bit, que corresponde à abreviatura de binary digit.
• Outras denominações usadas com freqüência:
• byte = conjunto de 8 bits
• nibble = conjunto de quatro bits ou meio byte

Arquitetura de Computadores 8
Tabela Resumo
Binario Octal Hexadecimal Decimal
0000 0 0 0
0001 1 1 1
0010 2 2 2
0011 3 3 3
0100 4 4 4
0101 5 5 5
0110 6 6 6
0111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 A 10
1011 13 B 11
1100 14 C 12
1101 15 D 13
1110 16 E 14
1111 17 F 15

Arquitetura de Computadores 9
Revisão Conversão de Bases
• Para a conversão de um número em uma base qualquer
para a base decimal usa-se a seguinte fórmula:

N=dn-1 x bn-1 + dn-2 x bn-2 + ... + d1 x b1 + d0 x b0

Onde:
• d : Indica cada algarismo do número
• n-1, n-2, 1,0 : Indicam a posição de cada algarismo
• b : Indica a base de numeração
• n : Indica o número de dígitos inteiros

Arquitetura de Computadores 10
Revisão Conversão de Bases
• Este procedimento consiste em dividir o número
representado na base 10 sucessivamente pela nova
base em que se deseja representá-lo, até que o
quociente da divisão seja menor que a base em questão.
• Em seguida toma-se o último quociente e os restos das
sucessivas divisões em ordem inversa e obtém-se,
assim, a representação do número na nova base.
Exemplo:
Converter 2710 para base 2:

Portanto 2710 = 110112

Arquitetura de Computadores 11
Representação dos dados
Inteiros Binários sem Sinal
• Quando representamos números em papel temos
quantos dígitos forem necessários para representar um
número.
• Isto não acontece quando um computador armazena um
número. Ele utiliza um número fixo de dígitos binários,
ou bits, para a representação em base 2. Portanto se
estamos utilizando um byte para armazenamento, todos
os 8 bits, e no máximo 8 bits, serão usados.
• Por exemplo, 2710, armazenado em um byte:
• 00011011

27 26 25 24 23 22 21 20

Arquitetura de Computadores 12
Operações com Inteiros sem Sinal
Adição
• Para somar dois números em binário efetuamos a adição de cada
dígito das duas parcelas da direita para a esquerda.
• Assim como na aritmética decimal, precisamos estar atento ao "vai
um" (carry), isto é, se estamos somando dois dígitos e o resultado
for maior do que pode ser representado em um único dígito,
devemos somar o excesso na próxima coluna.
0+0=0
1+0=1
0+1=1
1+1=0 e "vai 1"
Exemplo:
1
1001 : 9
+0101 : 5
1110 : 14

Arquitetura de Computadores 13
Operações com Inteiros sem Sinal
Adição
• Um overflow acontece sempre que o resultado de uma soma não
puder ser armazenado no número de bits disponíveis.
• Por exemplo, se estamos trabalhando com números de 4 bits e
vamos somar 10+13, o resultado (23) não pode ser armazenado em
apenas 4 bits. Isto é um overflow.
1
1010 : 10
+ 1101 : 13
0111 : 7 (overflow)

• Pode-se detectar uma situação de overflow se tivermos "vai um"


(Carry Out) saindo da última coluna (carry out).

Arquitetura de Computadores 14
Operações com Inteiros sem Sinal
Subtração
• A subtração de dois números inteiros sem sinal em
binário é feita de forma análoga como em decimal.
• As regras são:

0-0=0
0-1=1, pede emprestado 1 (10 – 1)
1-0=1
1-1=0

Exemplo:
1
1001 : 9
- 0101 : 5
0100 : 4

Arquitetura de Computadores 15
Representação dos dados
Inteiros Binários com Sinal
• Para representarmos números de n bits usamos 1 bit
para o sinal e n-1 para o valor ou magnitude.

27 26 25 24 23 22 21 20 Sinal:
0 -> positivo
1 -> negativo
sinal magnitude

Exemplo com números de 5 bits:


5: 00101 15: 01111 1: 00001
-5: 10101 -15: 11111 -1: 10001

Arquitetura de Computadores 16
Operações com Inteiros com sinal
Adição
• Devemos comparar os sinais
• Se os sinais são iguais: realizar como uma adição ou
subtração normal, sem o sinal.

1010 : -2 0011 : +3
+ 1101 : -5 + 0100 : +4
1111 : -7 0111 : +7

sinal sinal

Arquitetura de Computadores 17
Operações com Inteiros com sinal
• Se os sinais são diferentes:
– realizar uma subtração entre o maior valor absoluto e o menor.
– O sinal final corresponde ao sinal do maior valor absoluto.

-2 +5 = 5 - 2 -7 +2 = 7 - 2
0101 : +5 1111 : -7
- 1010 : -2 + 0010 : +2
0011 : +3 1101 : -5

Problema: Muito “complicado” para identificar a operação correta,


uso de comparadores

Arquitetura de Computadores 18
Operações com Inteiros com Sinal
Determinação do Overflow a partir do Sinal

• Se forem somados 2 números com o mesmo sinal e o


resultado tiver o mesmo sinal, então não há overflow.
• Se forem somados dois números com mesmo sinal e o
resultado tiver sinal contrário, então há overflow.
• Se forem somados dois números com sinais opostos,
nunca há overflow.

Arquitetura de Computadores 19
Representaçõa dos dados
Complemento de 1
• O que falta para completar 1 em cada um dos bits do
número. É facilmente conseguido negando-se os dígitos
binários.
Exemplo com números de 5 bits:

5: 00101 15: 01111 1: 00001


-5: 11010 -15: 10000 -1: 11110

Arquitetura de Computadores 20
Representaçõa dos dados
Complemento de 2
• Adiciona-se 1 ao complemento de 1 do número.
• É, sem dúvida, o método mais usado atualmente para
representação de números inteiros com sinal na grande
maioria dos sistemas de computadores.

Exemplo com números de 5 bits:

5: 00101 15: 01111 1: 00001


-5: 11011 -15: 10001 -1: 11111

Arquitetura de Computadores 21
Tabela Resumo
Binário Inteiro Positivo Sinal Magnitude Complemento de 1 Complemento de 2

0000 0 +0 0 0
0001 1 1 1 1
0010 2 2 2 2
0011 3 3 3 3
0100 4 4 4 4
0101 5 5 5 5
0110 6 6 6 6
0111 7 7 7 7
1000 8 -0 -7 -8
1001 9 -1 -6 -7
1010 10 -2 -5 -6
1011 11 -3 -4 -5
1100 12 -4 -3 -4
1101 13 -5 -2 -3
1110 14 -6 -1 -2
1111 15 -7 -0 -1
Arquitetura de Computadores 22
Representaçõa dos dados
Análise dos Modos de Representação
Sinal e Magnitude:
• Duas representações para o zero
• Simetria de Positivos e Negativos
• Dificuldade em fazer operações
Complemento de Um
• Duas representações para o zero
• Simetria de Positivos e Negativos
• Dificuldade em fazer operações
Complemento de Dois
• Uma única representação para zero
• Um negativo a mais que os positivos
Arquitetura de Computadores 23
Operações com Inteiros em
Complemento de 2
Soma de dois números positivos

1 111
+5 000101 +20 010100
+1 000001 +14 001110
+6 000110 +34 100010 (-30)
Nenhum Carry Carry In
Sem Overflow Overflow

Arquitetura de Computadores 24
Operações com Inteiros em
Complemento de 2
Soma de Números com sinais opostos

111 1 1
-5 111011 -10 110110
+10 001010 +5 000101
+5 000101 -5 111011
Carry In e Carry Out Nenhum Carry
Sem Overflow Sem Overflow

Arquitetura de Computadores 25
Operações com Inteiros em
Complemento de 2
Soma de Números com sinais negativos

111 11 1
-5 111011 -10 110110
-5 111011 -24 101000
-10 110110 -34 011110 (+30)
Carry In e Carry Out Carry Out
Sem Overflow Overflow

Arquitetura de Computadores 26
Operações com Inteiros em
Complemento de 2
Análise do Overflow pelo carry in e carry out

Carry In Carry Out Overflow

Não Não Não

Não Sim Sim

Sim Não Sim

Sim Sim Não

• Se houver número par de carry não há overflow.


• Se houver número impar de carry então há overflow.

Arquitetura de Computadores 27
Representação BCD
BCD - Decimal Compactado em Binário

• Codificação onde um número é representado como uma seqüência de


dígito decimais e cada dígito é codificado como um número binário de
4 bits.
0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001
Exemplo:
– 7458: 0111 0100 0101 1000

Arquitetura de Computadores 28
Representação de Caracteres
• Os caracteres são representados nos computadores através de
códigos numéricos, onde cada combinação de bits representa
uma letra ou símbolo diferente.
• Principais Conjuntos de Caracteres:
– BCD - Binary Code Decimal: 6 bits por caracter permitindo 64
caracteres diferentes. Não é mais usado atualmente.
– EBCDIC - Extended Binary Coded Decimal Interchange Code:
Codificação exclusiva da IBM, ainda em uso em mainframes.
Caracteres de 8 bits, permitindo 256 símbolos.
– ASCII - American Standard Code for Information Interchange - 7
bits para representar os caracteres mais um de paridade.
permitindo 128 caracteres. Há uma versão extendida (ANSI) com 8
bits, sem paridade, onde estão disponíveis 256 caracteres.
– UNICODE - Novo padrão proposto. Caracteres com 16 bits.

Arquitetura de Computadores 29
Representação dos Dados
• Como os computadores são binários, todas as
indicações núméricas referenciam a potência de 2.
– K representa 1.024 unidades (210)
– M representa 1.048.576 unidades (220)
• Logo:
• 64K bytes = 64 x 1.024 bytes = 65.536 bytes,
• 2 M bytes = 2 x 1.048.576 bytes = 2.097.152 bytes

Arquitetura de Computadores 30
Representação dos Dados
• 64K bytes = 64 x 1.024 bytes = 65.536 bytes,
– Quantos bits deverá ter a palavra para acessar uma memória de
64 K bytes?
• Resposta:
• 64 K = 26 x 210 = 216
• A palavra deve ter no mínimo 16 bits
• 2 M bytes = 2 x 1.048.576 bytes = 2.097.152 bytes
– Quantos bits deverá ter a palavra para acessar uma memória de
2 M bytes?
• Resposta:
• 2 M = 21 x 220 = 221
• A palavra deve ter no mínimo 21 bits

Arquitetura de Computadores 31
Palavras na Memória
• A memória principal armazena
palavras de um tamanho fixo, as
quais recebem o nome específico de 00h
01h Memória
palavra de memória. 02h
Programa
...
• Um tamanho típico para palavra de
memória é 8 bits (1 byte). M bits
Memória
...
• O tamanho da palavra utilizada para Dados
endereçar a memória depende do
número de endereços disponíveis.
• Assim, para uma memória com
1.024 endereços, por exemplo, o ...
tamanho da palavra para N bits
endereçamento da memória será 10
bits (pois 210 = 1024).
Arquitetura de Computadores 32
Palavras na CPU
• A palavra interna à CPU, por sua vez, geralmente tem
tamanho distinto do das demais.
• Uma CPU projetada para trabalhar com n bits é dita ser
um processador de n bits. Existem processadores de 1 a
64 bits (ou até mais).
• Nos computadores pessoais tipo IBM/PC compatíveis,
são empregados processadores de 16, 32, 64 e 128
bits, conforme o modelo.

Arquitetura de Computadores 33
Palavras na CPU

Arquitetura de Computadores 34

You might also like