conceitos básicos sobre arquitetura de computadores

34
Arquitetura de Computadores 1 Conceitos Básicos Conceitos Básicos • Representação dos dados • Bases Numéricas • Conversão de bases

Upload: juliana-pains

Post on 29-Jun-2015

2.343 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 1

Conceitos BásicosConceitos Básicos• Representação dos dados• Bases Numéricas• Conversão de bases

Page 2: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 2

Organização de um ComputadorOrganização de um Computador

• O computador é uma máquina capaz de sistemicamentecoletar, 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

Page 3: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 3

Representação dos Valores LógicosRepresentaçã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.

....001010101011010101101010101010100001111111110000000000....

Nível de tensãoVolts(V)

Nível lógico 1

Nível lógico 0

t

Page 4: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 4

Representação dos dadosRepresentaçã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

Page 5: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 5

Revisão de Bases NuméricasRevisão de Bases Numéricas• 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 sendo1*103 + 9 *102 + 9*101 + 9*100

1*1000 + 9*100 + 9*10 + 9*11000 + 900 + 90 + 91999

Base Decimal

Page 6: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 6

Revisão de Bases NuméricasRevisão de Bases Numéricas

• 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*14096 + 0 + 160 + 12426810

Base Hexadecimal

Page 7: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 7

Revisão de Bases NuméricasRevisão de Bases Numéricas

• 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*1320 + 16 + 133710

Base Octal

Page 8: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 8

Revisão de Bases NuméricasRevisão de Bases Numéricas• 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 edesligado.

100112

1*24 + 0*23 + 0*22 + 1*21 + 1*20

1*16 + 0*8 + 0*4 +1*2 +1*116+0+0+2+11910

• 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

Base Binária

Page 9: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 9

Tabela ResumoTabela Resumo

15F171111

14E161110

13D151101

12C141100

11B131011

10A121010

99111001

88101000

7770111

6660110

5550101

4440100

3330011

2220010

1110001

0000000

DecimalHexadecimalOctalBinario

Page 10: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 10

Revisão Conversão de BasesRevisã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

Page 11: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 11

Revisão Conversão de BasesRevisã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

Page 12: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 12

Representação dos dadosRepresentação dos dados

• 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

Inteiros Binários sem Sinal

Page 13: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 13

Operações com Inteiros sem Sinal Operações com Inteiros sem Sinal

• 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.

Adição

0+0=01+0=10+1=11+1=0 e "vai 1"Exemplo:

11001 : 9

+0101 : 51110 : 14

Page 14: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 14

Operações com Inteiros sem Sinal Operações com Inteiros sem Sinal

• 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.

11010 : 10

+ 1101 : 130111 : 7 (overflow)

• Pode-se detectar uma situação de overflow se tivermos "vai um" (Carry Out) saindo da última coluna (carry out).

Adição

Page 15: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 15

Operações com Inteiros sem Sinal Operações com Inteiros sem Sinal

• 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:

Subtração

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

Exemplo:1

1001 : 9- 0101 : 5

0100 : 4

Page 16: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 16

Representação dos dadosRepresentação dos dados

• Para representarmos números de n bits usamos 1 bit para o sinal e n-1 para o valor ou magnitude.

Exemplo com números de 5 bits:5: 00101 15: 01111 1: 00001

-5: 10101 -15: 11111 -1: 10001

27 26 25 24 23 22 21 20

Inteiros Binários com Sinal

sinal magnitude

Sinal:0 -> positivo1 -> negativo

Page 17: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 17

Operações com Inteiros com sinalOperações com Inteiros com sinal

• Devemos comparar os sinais• Se os sinais são iguais: realizar como uma adição ou

subtração normal, sem o sinal.

0011 : +3+ 0100 : +4

0111 : +7

1010 : -2+ 1101 : -5

1111 : -7

Adição

sinal sinal

Page 18: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 18

Operações com Inteiros com sinalOperaçõ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.

-7 +2 = 7 - 2 1111 : -7

+ 0010 : +21101 : -5

-2 +5 = 5 - 20101 : +5

- 1010 : -20011 : +3

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

Page 19: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 19

Operações com Inteiros com Sinal 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.

Page 20: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 20

RepresentaçõaRepresentaçõa dos dadosdos dados

• 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

Complemento de 1

Page 21: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 21

RepresentaçõaRepresentaçõa dos dadosdos dados

• 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

Complemento de 2

Page 22: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 22

Tabela ResumoTabela Resumo

-1-0-7151111

-2-1-6141110

-3-2-5131101

-4-3-4121100

-5-4-3111011

-6-5-2101010

-7-6-191001

-8-7-081000

77770111

66660110

55550101

44440100

33330011

22220010

11110001

00+000000

Complemento de 2Complemento de 1Sinal MagnitudeInteiro PositivoBinário

Page 23: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 23

RepresentaçõaRepresentaçõa dos dadosdos dados

Sinal e Magnitude:• Duas representações para o zero• Simetria de Positivos e Negativos• Dificuldade em fazer operaçõesComplemento de Um• Duas representações para o zero• Simetria de Positivos e Negativos• Dificuldade em fazer operaçõesComplemento de Dois• Uma única representação para zero• Um negativo a mais que os positivos

Análise dos Modos de Representação

Page 24: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 24

Operações com Inteiros em Operações com Inteiros em Complemento de 2 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 InSem Overflow Overflow

Page 25: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 25

Operações com Inteiros em Operações com Inteiros em Complemento de 2 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 CarrySem Overflow Sem Overflow

Page 26: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 26

Operações com Inteiros em Operações com Inteiros em Complemento de 2 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 OutSem Overflow Overflow

Page 27: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 27

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

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

NãoSimSim

SimNãoSim

SimSimNão

NãoNãoNão

OverflowCarry OutCarry In

Page 28: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 28

Representação BCDRepresentação BCD

• 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: 00001: 00012: 00103: 0011 4: 0100 5: 01016: 01107: 01118: 10009: 1001Exemplo:

– 7458: 0111 0100 0101 1000

BCD - Decimal Compactado em Binário

Page 29: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 29

Representação de CaracteresRepresentaçã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.

Page 30: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 30

Representação dos DadosRepresentaçã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

Page 31: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 31

Representação dos DadosRepresentaçã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

Page 32: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 32

Palavras na MemóriaPalavras na Memória• A memória principal armazena

palavras de um tamanho fixo, as quais recebem o nome específico de palavra de memória.

• Um tamanho típico para palavra de memória é 8 bits (1 byte).

• O tamanho da palavra utilizada para 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 endereçamento da memória será 10 bits (pois 210 = 1024).

MemóriaDados

MemóriaPrograma

00h01h02h...

...

...

N bits

M bits

Page 33: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 33

Palavras na CPUPalavras 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.

Page 34: Conceitos Básicos sobre Arquitetura de Computadores

Arquitetura de Computadores 34

Palavras na CPUPalavras na CPU