conceitos básicos sobre arquitetura de computadores

Post on 29-Jun-2015

2.343 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Arquitetura de Computadores 1

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

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

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

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

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

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

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

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

Arquitetura de Computadores 9

Tabela ResumoTabela Resumo

15F171111

14E161110

13D151101

12C141100

11B131011

10A121010

99111001

88101000

7770111

6660110

5550101

4440100

3330011

2220010

1110001

0000000

DecimalHexadecimalOctalBinario

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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.

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

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

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

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.

Arquitetura de Computadores 34

Palavras na CPUPalavras na CPU

top related