Professional Documents
Culture Documents
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:
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:
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)
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
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
Arquitetura de Computadores 18
Operações com Inteiros com Sinal
Determinação do Overflow a partir do Sinal
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:
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.
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
Arquitetura de Computadores 27
Representação BCD
BCD - Decimal Compactado em Binário
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