ARQUITETURA E
ORGANIZAÇÃO
DE COMPUTADORES
Professor Me. Vladimir Geraseev Junior
SISTEMAS DE NUMERAÇÃO
• Método para representar números
—Necessidade do homem contar objetos
—Realizar operações aritméticas
—Soma ( + ) , Subtração ( - ) , Divisão ( / ) , Multiplicação ( * )
• O sistema decimal é o mais importante dos sistemas numéricos.
—Deriva dos nossos antepassados utilizarem os 10 dedos para
contar
—Ele está fundamentado em certas regras que são a base de
formação para qualquer outro sistema.
• Além do sistema decimal, que apresenta 10 algarismos distintos de 0
a 9, existe o binário, o octal e o hexadecimal.
—O sistema binário e o hexadecimal são muito importantes nas
áreas de técnicas digitais e informática. 2
SISTEMAS DE NUMERAÇÃO
• O sistema binário, por sua vez, apresenta somente 2 algarismos (0 e 1),
com os quais é possível representar qualquer quantidade, até mesmo
números fracionários.
• No sistema octal existem 8 algarismos que vão de 0 a 7.
• Para representar o sistema hexadecimal são utilizados 10 algarismos e as
6 primeiras letras do alfabeto e, desta forma, tem-se:
— 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
• Base: É a quantidade de algarismos disponíveis
— Sistema decimal – Base 10
— Sistema binário – Base 2
— Sistema octal – Base 8
— Sistema hexadecimal – Base 16
3
SISTEMAS DE NUMERAÇÃO
• Observando a formação dos infinitos números do
sistema decimal é possível aprender as regras de
formação dos demais sistemas numéricos.
4
SISTEMAS DE NUMERAÇÃO DECIMAL
• Para conceber a formação do
sistema decimal basta observar o
hodômetro (marcador de
quilômetro) de um automóvel.
• Quando a “rodinha” das unidades
comuta de 9 para 0, um pino
nessa rodinha força a rodinha das
dezenas a avançar de 1. Assim
ocorre sucessivamente formando
todos os algarismos.
5
SISTEMAS DE NUMERAÇÃO
• O mesmo se observa nos demais sistemas.
• No binário, por exemplo, quando a rodinha da
unidade alcança 1 e posteriormente comuta para zero,
a rodinha da dezena avança para 1.
• Pode-se notar que a quantidade de dígitos necessário
para representar um número qualquer, no sistema
binário, é muito maior quando comparado ao sistema
decimal.
6
SISTEMAS DE NUMERAÇÃO DECIMAL
• O número decimal 97510 pode ser representado da
seguinte forma:
97510 = 900 + 70 + 5 = 9 x 102 + 7 x 101 + 5 x 100
• Neste exemplo, nota-se que o algarismo menos
significativo (5) multiplica a unidade (1 ou 100), o
segundo algarismo (7) multiplica a dezena (10 ou 101)
e o mais significativo (9) multiplica a centena (100 ou
102).
• A soma dos resultados irá representar o número. 7
Sistemas de Numeração
• Pode-se afirmar que, de maneira geral:
• A regra básica de formação de um número consiste no
somatório de cada algarismo correspondente
multiplicado pela base (no exemplo o número 10 ou 2
ou 8 ou 16) elevada por um índice conforme o
posicionamento do algarismo no número.
—Por isso chamado de sistema posicional
—O valor absoluto: o valor propriamente dito
—O valor relativo: o valor multiplicado por 10 elevado a
sua posição no número.
8
SISTEMAS DE NUMERAÇÃO
• Assim, um sistema de numeração genérico pode ser
expresso da seguinte forma:
(3.2)
• Onde:
N é a representação do número na base B;
𝑑𝑛 é o dígito ou algarismo na posição n;
B é a base do sistema utilizado
n é o peso posicional do dígito ou algarismo.
9
Sistemas de Numeração Decimal
Dígitos Decimais: Potências de base 10
0
1 10 10
=
2 10 = 10
1
3
10 = 100
2
4
5 10 = 1000
3
6
10 = 10 000
4
7
8
9 12
Sistemas de Numeração
• Exemplo: na base 10, podemos representar um
número:
—N= 3748
• Onde:
—n = 4 (quatro dígitos inteiros)
—Utilizando a fórmula indicada na Equação 3.2
—𝑁 = 3 ∗ 103 + 7 ∗ 102 + 4 ∗ 101 + 8 ∗ 100 =
3000 + 700 + 40 + 8 = 374810
13
Sistemas de Numeração Binário
Potências de base 2
20 = 1 2 6 = 64
21 = 2 2 7 = 128
Dígitos Binários: 22 = 4 28 = 256
23 = 8 29 = 512
0
1 24 = 16 2 10 = 1024
2 5 = 32
14
SISTEMA DE NUMERAÇÃO BINÁRIO
• O sistema binário utiliza dois dígitos, ou seja,
possui base 2. De acordo com a definição de um
sistema de numeração genérico, o número binário
1101 pode ser representado da seguinte forma:
11012 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20
11012 = 8 + 4 + 0 + 1 = 1310
• Nota-se que o número 1101 na base 2 é
equivalente ao número 13 na base 10, ou seja,
11012 = 1310.
• Esta regra possibilita a conversão do sistema
binário em decimal.
15
SISTEMA DE NUMERAÇÃO BINÁRIO
• Números com base 2, foram criados para representar os
sinais que o computador entende, ligado e desligado.
• O sistema binário é a base para a álgebra booleana, o
que permite representar por circuitos eletrônicos
digitais (portas lógicas) os números, os caracteres e
realizar operações lógicas e aritméticas.
• A eletrônica digital e a computação estão baseadas no
sistema binário e na lógica de boole, que permite
representar por circuitos eletrônicos digitais, os
números, as letras e realizar operações lógicas e
aritméticas. 16
SISTEMA DE NUMERAÇÃO BINÁRIO
• A vantagem do sistema binário reside no fato de que,
possuindo apenas dois dígitos, estes são facilmente
representados por dois níveis de tensão, uma chave
aberta e uma chave fechada ou, um relé ativado e um
relé desativado, ou, um transistor saturado e um
transistor cortado; o que torna simples a
implementação de sistemas digitais mecânicos,
eletromecânicos ou eletrônicos.
• Em computação, chama-se um dígito binário (0 ou 1)
de bit, que vem do inglês Binary Digit. Um
agrupamento de 8 bits corresponde a um byte (Binary
Term). Um grupamento de 4 bits é chamado de nibble.
15
Exemplos
• Seja o número na base 2 1011 2
—Aplicando a Eq. 3.2, como ficaria?:
o1 ∗ 23 + 0 ∗ 22 + 1 ∗ 21 + 1 ∗ 20
= 8 + 0 + 2 + 1 = 11 10
• 1043 5 =
—Aplicando a Eq. 3.2, como ficaria?
o1 ∗ 53 + 0 ∗ 52 + 4 ∗ 51 + 3 ∗ 50
= 125 + 0 + 20 + 3 = 148 10
16
Sistemas de Numeração Hexadecimal
Dígitos Hexadecimal: Potências de base 16
16 10
=
01
16 = 16
1
23 A = 10
B = 11
45
16 = 256
C = 12 2
67 D = 13
16 = 4096
89 E = 14 3
F = 15
16
16 = 65 536
4
• E largamente utilizado na área dos microprocessadores e também no mapeamento
de memórias em sistemas digitais.
• Trata-se de um sistema numérico muito importante, aplicado em projetos de
software e hardware. 19
• Foi criado para facilitar a representação e manuseio de bytes (conjunto de 8 bits)
Sistemas de Numeração Octal
Dígitos Hexadecimal: Potências de base 16
0
1 80 = 1
2 81 = 8
3
4 82 = 64
5 83 = 512
6
7 84 = 4096
Este sistema é pouco utilizado no campo da Eletrônica Digital, tratando-se
apenas de um sistema numérico intermediário dos sistemas binário e
hexadecimal. 20
Sistemas de Numeração
• Exemplo: na base 16 o número:
—N= 1𝐴7𝐵16
• O seu valor na base 10 será obtido usando-se a
Equação 3.2
• Onde:
—n = 4 (quatro dígitos inteiros)
—B = 16
—𝑁 = 1 ∗ 163 + 10 ∗ 162 + 7 ∗ 161 + 11 ∗ 160 =
4096 + 2560 + 112 + 11 = 677910
19
SISTEMAS DE NUMERAÇÃO
• Observamos que na Eq 3.2 foram usados os valores 10 (para o algarismo
A) e 11 (para o algarismo B), Por isso obtemos o valor do número na base
10.
• Em outras palavras, utilizamos valores e regras de aritmética na base 10
e por isso, o resultado encontrado é um valor na decimal.
20
SISTEMAS DE NUMERAÇÃO
• Podemos observar que os dígitos octais e hexadecimais correspondem a
combinações de 3 (octais) e 4 (hexadecimais) bits (algarismos binários)
— Isso é devido a essas bases serem todos de tamanho de potência de 2
• Isso permite converter rapidamente de uma base para a outra ou vice e
versa.
21
CONVERSÃO DE BASES
• Conversão entre bases potência de 2
— De base 2 para a base 8, onde 8 = 23
oBasta dividi-lo, da direita para a esquerda
em grupos de 3 bits.
oPara cada grupo acha-se o algarismo
octal equivalente.
oExemplo1: 111010111 2 = 8
111 010 111 2
7 2 7 = 727 8
Exemplo2: 1010011111 2 = 8
001 010 011 111 2
26
1 2 3 7 = 1237 8
CONVERSÃO DE BASES
• Conversão entre bases potência de 2
— De base 8 para base 2
oSubstitui-se cada algarismo octal pelo seus 3 bits correspondentes
oExemplo1: 327 8 = 2
011 010 111 2 = 011010111 2
3 2 7
Exemplo2: 673 8 = 2
110 111 011 2 = 110111011 2
6 7 3
27
CONVERSÃO DE BASES
• Conversão entre bases potência de 2
— De base 2 para a base 16, onde 8 = 24
oBasta dividi-lo, da direita para a esquerda em grupos de 4 bits.
oPara cada grupo acha-se o algarismo hexadecimal equivalente.
oExemplo1: 1011011011 2 = 16
0010 1101 1011 2 = 2𝐷𝐵 16
2 𝐷 𝐵
Exemplo2: 10011100101101 2 = 16
0010 0111 0010 1101 2 = 272𝐷 16
2 7 2 D 28
CONVERSÃO DE BASES
• Conversão entre bases potência de 2
— De base 16 para base 2
oSubstitui-se cada algarismo hexadecimal pelo seus 4 bits
correspondentes
oExemplo1: 306 16 = 2
0011 0000 0110 2 = 011010111 2
3 0 6
oExemplo2: 𝐹50 16 = 2
1111 0101 0000 2 = 110111011 2
F 5 0
29
Conversão de Bases
• Conversão entre bases potência de 2
— De base 8 para base 16
oPrimeiro converte para a base 2 e depois para a
base 16
—De 16 para a base 8
oPrimeiro converte para a base 2 e depois para a
base 8
30
CONVERSÃO DE BASES
• Conversão entre bases potência de 2
—Exemplo1: 3174 8 = 16
1º Passo (p/ base 2):
011 001 111 100 2 = 011001111100 2
2º Passo (p/ base 16):
0110 0111 1100 = 67𝐶 16
—Exemplo2: 254 8 = 16
1º Passo: 010 101 100 2 = 010101100 2
2º Passo: 1010 1100 2 = (𝐴𝐶16)
31
CONVERSÃO DE BASES
• Conversão entre bases potência de 2
—Exemplo3: 2𝐸7𝐴 16 = 8
1º Passo (p/ base 2):
0010 1110 0111 1010 2 = 0010111001111010 2
2º Passo (p/ base 8):
010 111 001 111 010 2 = 27172 8
—Exemplo4: 3𝐶7 16 = 8
1º Passo: 0011 1100 0111 2 = 1111000111 2
2º Passo: 001 111 000 111 2 = 1707 8
32
CONVERSÃO DO SISTEMA DE BASE B PARA O SISTEMA
DECIMAL
• Empregamos a Eq 3.2 do slide 11
(3.2)
• Exemplo: 101101 2 = 10
Substituindo na Eq 3.2 as letras pelos valores do exemplo, teremos:
𝑏 = 2 (a base origem do número a ser convertido)
𝑛 = 6 (6 algarismos)
𝑛 − 1 = 5 (Expoente do 1º produto mais à esquerda)
𝑑 𝑛−1 = 1 (Algarismo mais à esquerda)
Os demais produtos seguem a sequência da Eq. 3.2, resultando em:
1 ∗ 25 + 0 ∗ 24 + 1 ∗ 23 + 1 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 =
= 32 + 0 + 8 + 4 + 0 + 1 = 45 10 33
Conversão do Sistema de base B para o Sistema Decimal
• Exercícios:
• 27 8 = 10
• 2𝐴5 16 = 10
• 6734 8 = 10
• 27 8 = 10
34
Conversão do Sistema Decimal para o Sistema de Base B
• Para se converter um número decimal em binário,
aplica-se o método das divisões sucessivas.
• Este método consiste em efetuar sucessivas divisões
pela base a ser convertida até que:
—Abordagem 1: o quociente seja igual a 0 ou
oO número transformado será composto por todos os restos
na ordem inversa às divisões.
—Abordagem 2: o último quociente possível (adotado)
oou seja, quando o quociente for menor que o divisor
termine a divisão.
oO número transformado será composto por este último
quociente (algarismo mais significativo) e, todos os restos na
ordem inversa às divisões. 35
CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA
BINÁRIO
• Neste caso, será efetuado sucessivas divisões pelo algarismo 2, base do sistema
binário.
• O último quociente será o algarismo mais significativo e ficará colocado à
esquerda. Os outros algarismos seguem-se na ordem até o 1º resto:
36
• Como mostra o exemplo, 4710 = 1011112.
CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA
BINÁRIO
• Exemplos
— 45 10 = 2
o45/2 = 22 :: resto_0 = 1 (algarismo menos significativo)
o22/2 = 11 :: resto_1 = 0
o11/2 = 5 :: resto_2 = 1
o5/2 = 2 :: resto_3 = 1
o2/2 = 1 :: resto_4 = 0
oComo 1 < 2 então acabaram as divisões.
oAssim temos: 101101 8
— 97 10 = 2
o Resposta: 1100001 2
37
Conversão do Sistema Decimal para o Sistema Binário
• Como mostra o exemplo, 4710 = 1011112.
• Na prática, o bit menos significativo de um número
binário recebe a notação de LSB (“Least Significant
Bit) e o mais significativo de MSB (“Most Significant
Bit”).
38
CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA
OCTAL
• Neste caso, será efetuado sucessivas divisões pelo algarismo 8,
base do sistema octal.
• Para exemplificar, será realizada a conversão do número 9210 para
o sistema octal:
• Assim, seguindo a mesma regra de formação, 9210 = 1348.
40
Conversão do Sistema Decimal para o Sistema Octal
• Exemplos
— 3964 10 = 8
o3964/8 = 495 :: resto_0 = 4 (algarismo menos significativo)
o495/8 = 61 :: resto_1 = 7
o61/8 = 7 :: resto_2 = 5
oComo 7 < 8 então acabou as divisões. Assim temos: 7574 8
— 483 10 = 8
o483/8 = 60 :: resto_0 = 3
o60/8 = 7 :: resto_1 = 4
o Como 7 < 8 então acabou as divisões. Assim temos: 743 8
o Para verificar:
§ 743 8 = 7 ∗ 82 + 4 ∗ 81 + 3 ∗ 80 = 483 10 41
CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA
HEXADECIMAL
• Novamente a conversão se faz através de divisões sucessivas pela
base do sistema a ser convertido, que no caso é igual a 16. Para
exemplificar, o número 1101 na base 10 será convertido para o
sistema hexadecimal.
• Sendo 1310 = D16, tem-se que 110110 = 44D16.
48
CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA
BINÁRIO
• Exemplos
— 2754 10 = 16
o2754/16 = 172 :: resto_0 = 2 (algarismo menos significativo)
o172/16 = 10 :: resto_1 = 12
oComo 10 < 16 então acabaram as divisões.
oAssim temos: 𝐴𝐶2 16
— 490 10 = 16
o Resposta: 1𝐸𝐴 16
49
OPERAÇÕES ARITMÉTICAS NÃO-DECIMAL: BASE
2
• Nas áreas de Eletrônica Digital e dos Microprocessadores,
o estudo das operações aritméticas no sistema binário é
muito importante, pois estas serão utilizadas em circuitos
aritméticos, que serão estudados posteriormente.
• Por enquanto considere:
—números inteiros
—sem limite de tamanho e
—positivos (sem sinal)
52
ADIÇÃO NO SISTEMA BINÁRIO
A adição no sistema binário é efetuada de maneira idêntica ao
sistema decimal, levando-se em conta que só há dois algarismos
disponíveis (0 e 1). Desta forma, tem-se:
Observa-se, entretanto, a existência de uma pequena regra: 1+1=0
e transporta 1 (vai um) para a próxima coluna.
53
ADIÇÃO NO SISTEMA BINÁRIO
• Para exemplificar serão realizadas as seguintes adições:
• Nota-se, então que a adição é realizada coluna a coluna,
considerando sempre o transporte proveniente da coluna anterior.
• Para verificar a soma basta converter os números para o sistema
decimal.
54
ADIÇÃO NO SISTEMA BINÁRIO
• Outros exemplos
—Efetuar a soma 4510 e 4710
1 101111
45 101101
+ 47 + 101111
92 101110 0
—Efetuar a soma 2710 e 2510
= 1101002
55
SUBTRAÇÃO NO SISTEMA BINÁRIO
• O método de subtração é análogo a uma subtração no sistema
decimal. Assim, tem-se:
• Para o caso 0-1, o resultado será igual a 1, porém haverá um
transporte para a coluna seguinte que deve ser acumulado no
subtraendo e, obviamente, subtraído do minuendo. Para
exemplificar, tem-se:
56
SUBTRAÇÃO NO SISTEMA BINÁRIO
• Outro exemplo
—Efetuar a subtração 101101 – 100111
22
101101
-- 100111
----------------------------
0 0 0 110 ou 1102
― Efetuar a subtração 100110001 – 10101101
= 0100001002
57
EXERCÍCIOS
1) Converter os seguintes valores decimais em valores binários
equivalentes (conversão de base 10 para base 2)
a) 329
b) 284
c) 473
d) 581
e) 135
2) Converter os seguintes valores binários em valores decimais
equivalentes (conversão de base 2 para base 10)
a) 11011101010
b) 11001101101
c) 11101100010
d) 101100011000
e) 111001101001
65
EXERCÍCIOS
3) Converter os seguintes valores decimais em valores
hexadecimais equivalentes (conversão de base 10 para base 16)
a) 447
b) 544
c) 223
d) 622
e) 297
4) Converter os seguintes valores hexadecimais em valores
decimais equivalentes (conversão da base 16 para base 10)
a) 3A2
b) 33B
c) 621
d) 1ED4
e) 7EF
66
EXERCÍCIOS
5) Efetuar as seguintes somas:
a) 11001111012 + 1011101102
b) 1100111102 + 110111112
6) Efetuar a seguintes operações de subtração:
a) 110010000102 − 11111111112
b) 100011010002 − 1011011012
7) Efetuar as seguintes conversões de base
a) 365116 = 2
b) 26𝐷𝐹816 =
2
c) 𝐹𝐹𝐴𝐵16 =
2
d) 1001016 =
2
67