Introdução à Arquitetura
de Computadores e Sistemas de
Numeração
Programação I – EMB5600
Aula anterior
• Computador
simplificado
• O conjunto de
instruções a ser
executado pelo
computador é o que
é chamado de
programa
2
Computador digital
• Estrutura
Entrada
Processamento
Saída
3
Computador digital
Memória
Unidade Unidade
Unidade de controle
de entrada de saída
Unidade Aritmética e
Lógica
Unidade central de processamento
4
Computador digital
Unidade
• Traduz informações de diversos
de entrada dispositivos em um código que a
unidade central de processamento é
capaz de entender;
– Exemplos: teclado, mouse, leitor de código de barras.
• É capaz de traduzir letras,números, imagens,
sons, ..., em padrões de pulsos elétricos que são
compreensíveis pelo computador.
5
Computador digital
• Dispositivo capaz de
Memória
armazenar os dados e os
programas que
manipulam estes dados;
• Além da memória de acesso direto, possui
memórias auxiliares, por exemplo, disco
rígido.
6
Computador digital
• São realizados todos os cálculos
Unidade Aritmética e
aritméticos, lógicos e qualquer
Lógica
manipulação de dados, sejam eles
numéricos ou alfanuméricos;
• É, portanto, mais poderosa que a máquina de calcular (CS)
pois realiza cálculos aritméticos e operações lógicas e
relacionais entre números, letras e outros caracteres;
• No CS as comparações foram feitas pelo próprio operador;
7
Computador digital
• Responsável pelo tráfego
Unidade de controle
de dados;
• Obtém os dados armazenados na memória e
interpreta-os;
• Controla a transferência de dados da memória
para a ULA, da entrada para a memória e da
memória para a saída.
8
Computador digital
Unidade • Converte os dados processados em
de saída dados que podem ser escritos em
impressoras ou mostrados em
monitores ou outros dispositivos;
– Exemplos: saída de áudio, disco, etc.
9
Representação dos dados
- Estamos acostumados a manipular números no
sistema numérico decimal
- Como os dados são armazenados nos
computadores?
- Utiliza-se o mesmo sistema numérico?
Os dados armazenados nos computadores são
representados por 0’s e 1’s, no sistema numérico
binário;
Exemplos: saída de áudio, disco, etc.
10
Sistemas de numeração
• Representação de valores numéricos:
– Analógica: as quantidades variam
continuamente numa faixa de valores;
– Digital: as quantidades variam
em passos discretos;
11
Sistemas de numeração
• Sistema decimal ou de base 10:
– Composto de 10 algarismos ou símbolos;
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 .
• Quando expressam um número são chamados dígitos;
– É do tipo posicional: o valor do dígito depende da
posição dentro do número (numeral);
– Com N posições podemos representar 10N
números
12
Sistemas de numeração
• Sistema decimal (cont.):
– Exemplo: 196710
1000 1 x 1000 1 x 103
900 9 x 100 9 x 102
60 6 x 10 6 x 101
+ 7 +7 x 1 +7 x 100
1967 1967 1967
Pesos expressos como potências de dez:
196710 = 1 x 103 + 9 x 102 + 6 x 101 + 7 x 100
13
Sistemas de numeração
• Sistema decimal (cont.):
– Contagem decimal:
0 10 100 1000
1 11 101 1001
2 12 … …
3 13 199 1499
4 14 200 1500
5 15 … 201 …
6 16 … 1999
7 17 997 2000
8 18 998 2001
9 19 999 …
14
Sistemas de numeração
• Sistema decimal não é adequado para
sistemas digitais:
– Exigiria 10 níveis de tensão (ou corrente) distintos;
5V
– Sistema binário:
• Apenas dois Binário 1
níveis de tensão
2V
Não usado
0,8 V
Binário 0
0V
15
Sistemas de numeração
• Sistema binário ou de base 2:
– Composto de 2 algarismos ou símbolos;
• 0, 1;
• Mas pode ser usado para caracterizar qualquer número
do sistema decimal;
• O dígito é chamado de bit (binary digit).
– É do tipo posicional;
– Com N posições podemos representar 2N números
16
Sistemas de numeração
• Sistema binário (cont.):
– Contagem binária:
• Restrita ao número de bits disponíveis – Ex.: 3 bits
Peso 22=4 21=2 20=1 Decimal
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
17
Sistemas de numeração
• Sistema octal ou de base 8:
– Composto de 8 algarismos ou símbolos;
• 0, 1, 2, 3, 4, 5, 6, 7;
• O dígito é chamado de bit (binary digit).
– É do tipo posicional;
– Com N posições podemos representar 8N números
18
Sistemas de numeração
• Sistema octal (cont.):
– Contagem octal:
0 10 100 1000
1 11 101 1001
2 12 … …
3 13 177 1477
4 14 200 1500
5 15 … 201 …
6 16 … 1777
7 17 777 2000
19
Sistemas de numeração
• Sistema hexadecimal ou de base 16:
– Composto de 16 algarismos ou símbolos;
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
– É do tipo posicional;
– Com N posições podemos representar 16N
números
20
Sistemas de numeração
• Sistema hexadecimal (cont.):
– Contagem hexadecimal:
0 10 100
1 11 101
… … …
9 19 1FF
A 1A 200
B 1B … 201
C 1C …
D 1D 2FF
E 1E 300
F 1F …
21
Sistemas de numeração
• Sistema de base B:
– Composto de B algarismos ou símbolos;
– Com N posições podemos representar BN
números;
– É do tipo posicional;
– Expresso em decimal como potências de B;
22
Conversão de base
• Para cada sistema numérico apresentado
vimos como obter o equivalente decimal;
• Agora vamos ver outras conversões possíveis.
23
Conversão de base
Decimal para binário
• A conversão do sistema Decimal para o binário é
realizado por sucessivas divisões por 2, ou seja, o
número em decimal é dividido sucessivamente por 2
até que o quociente seja igual a 0
• O resto da última divisão representa o dígito mais à
esquerda do número binário, o resto da próxima
divisão o próximo dígito, e assim por diante
24
Conversão de base
Decimal para binário
13 2
1 6 2
0 3 2
1 1 2
1 0 => 1310 = 11012
25
Conversão de base
Decimal para binário
1492 2
0 746 2
0 373 2
1 186 2
0 93 2
1 46 2
0 23 2
1 11 2
1 5 2
1 2 2
0 1 2
149210 = 101110101002 1 0
26
Conversão de base
• Outra opção de representação das divisões
sucessivas:
2510 para binário
25/2 = 12 resto 1
12/2 = 6 resto 0
6/2 = 3 resto 0
3/2 = 1 resto 1
1/2 = 0 resto 1
110012
27
Conversão de base
Binário para decimal
A conversão do sistema binário para o decimal é realizado através da
forma polinomial:
Aj-1 * 2j-1 + Aj-2 * 2j-2 + ... + A2 * 22 + A1 * 21 + A0 * 20
Onde A = 0 ou 1 e j é a posição do dígito do número
- Exemplo:
101102 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20 = 16+4+2 = 2210
28
Conversão de base
• Decimal para octal:
– Como decimal para binário, mas usar 8 ao invés de
2;
• Decimal para hexadecimal:
– Como decimal para binário, mas usar 16 ao invés
de 2;
• Decimal para base B:
– Como decimal para binário, mas usar B ao invés
de 2;
29
Conversão de base
• Binário para octal/octal para binário:
– Fácil conversão;
– Números binários são muito extensos
– Digitos octais são convertidos nos equivalentes
binários de três bits e vice-versa:
Dígito octal 0 1 2 3 4 5 6 7
Equivalente binário 000 001 010 011 100 101 110 111
4 7 28 101 100 011 001 2
100 111 010 2 5 4 3 18
30
Conversão de base
• Binário para hexa/hexa para binário:
– Como no caso do octal, “abrevia” números binários
– Digitos hexadecimais são convertidos nos equivalentes
binários de quatro bits e vice-versa:
Dígito hexa 0 1 2 3 4 5 6 7
Equivalente binário 0000 0001 0010 0011 0100 0101 0110 0111
Dígito hexa 8 9 A (10) B (11) C (12) D (13) E (14) F (15)
Equivalente binário 1000 1001 1010 1011 1100 1101 1110 1111
9 F 2 16 0011 1010 0110 2
1001 1111 0010 2 3 A 6 16
31
Conversão de base
• Octal para hexa/hexa para octal:
– Primeiro é necessário converter para binário;
9 F 2 16 1 6 4 68
1001 1111 0010 2 001 110 100 110 2
4 7 6 28 3 A 6 16
32
Conversão de base
Resumo:
33
Conversão de base
• Base A para base B
Conversão em duas etapas:
1 – Base A para decimal - polinômio
2 – Número decimal para base B – divisões
sucessivas
34
Conversão de base
• Exemplo de conversão da Base A para a base B
– Base 4: dígitos 0, 1, 2, 3;
– Base 7: dígitos 0, 1, 2, 3, 4, 5, 6;
– Converter 2214 para base 7
• Passo 1: converter 2214 para base decimal (polinômio)
– 2 x 42 + 2 x 41 + 1 x 40 = 2 x 16 + 2 x 4 + 1 x 1 = 32 + 8 + 1 = 4110
• Passo 2: Converter o valor encontrado (4110) para a
base 7 (divisão)
41 7
6 5 7
5 0 => 2214 = 567
35
Exercícios
Converta os seguintes números para base decimal:
a) 1010112
b) 100001102
Converta os seguintes números para base binária:
a) 1FF016
b) 128710
c) 7538
Converta os seguintes números de uma base A para base B:
a) 25713 => X6 b) 14325 => X7
36
Exercícios (respostas)
Converta os seguintes números para base decimal:
a) 1010112 43
b) 100001102 134
Converta os seguintes números para base binária:
a) 1FF016 0001 1111 1111 0000
b) 128710 10100000111
c) 7538 111 101 011
Converta os seguintes números de uma base A para base B:
a) 25713 => X6 25713 = 41010 = 15226
b) 14325 => X7 14325 = 24210 = 4647
37