25/02/2011 1 organização de computadores: uma introdução aos componentes fundamentais lógica...

58
25/02/201 1 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves Prof. Leandro Magno

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 1

Organização de Computadores:

Uma Introdução aos Componentes Fundamentais

Lógica DigitalIntrodução a Arquitetura

Prof. Dr. Ronaldo GonçalvesProf. Leandro Magno

Page 2: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 2

Algumas Verdades Escondidas

As portas lógicas são ativadas por uma entrada especial, a qual deve ser considerada como um sinal de ativação e não como uma entrada que sofrerá as transformações do circuito lógico.

A finalidade deste sinal de ativação é fazer com que o dado (entradas que serão transformadas) somente passe pelo circuito em determinado momento (momento da ativação)

Sinais Válidos: 1 - Ativação e 0 - Manutenção

Page 3: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 3

Exemplificação Visual

AB

A AND B

S A

A

BA OR B

S A

A A

S A

Page 4: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 4

Em circuitos mais complexos ...AB

CD

S

S A

Page 5: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 5

Observação

A duração de um sinal de ativação deve ser suficiente para que o dado de entrada esteja estabilizado na saída.

A freqüência (MHz) com que um computador trabalha mede a velocidade com que os circuitos lógicos são ativados.

A este sinal de ativação de um circuito lógico chamamos de temporizador ou sinal de clock (relógio)

Page 6: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 6

Abstração do Circuito(Caixa Preta)

CircuitoLógico 2

A

B

C

D

Clock

S 1

S 0CircuitoLógico 1

A

B

C

D

S

Clock

Page 7: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 7

Mais Genericamente temos:

CircuitoLógico

Genérico

Clock

S 1

S 0E 0

E 1

:

E n-1

:

S m-1

Page 8: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 8

Revendo Números Binários

Representação de valores decimais em binários. Exemplos:

Dec de 2 casas -> Binário de 4 casas

00 0000

01 0001

02 0010

03 0011

Page 9: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 9

Mais um pouco...

Dec de 2 casas -> Binário de 4 casas

04 0100

10 1010

13 1101

15 1111

Como fazer genericamente??

Page 10: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 10

Regra Básica:

Decomponha o número decimal em uma somatória de potências de 2, usando a seguinte fórmula:

ND = An-1.2n-1+...+ A3.23 + A2.22 + A1.21 + A0.20

Assim, ND = An-1... A3 A2 A1 A0

Onde A0, A1, A2, A3 ... An-1 {0,1}

Page 11: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 11

Regra mais prática:• Primeiro passo, faça uma linha com uma

seqüência das potências de 2 da direita para a esquerda

• Na segunda linha, caminhe da esquerda para a direita e vá decompondo o número original em uma somatória de potências. Se a potência acima pode ser contida no número, coloque 1 e decremente a potência do número. Repita a operação até a última potência.

Page 12: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 12

Exemplo: Converta o número 29

Potências: 64 32 16 8 4 2 1

Resultado: 0 0 1 1 1 0 1

Assim, 29 = 11101 ou 00000011101

Pois 29 = 1.16 + 1.8 + 1.4 + 0.2 + 1.1

Page 13: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 13

Exercício para Agora:

Converta os decimais para binários com 16 dígitos (2 bytes)

1) 97

2) 735

3) 2946

Page 14: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 14

Resposta:

A conversão ficou:

1) 97 = 0000000001100001

2) 735 = 0000001011011111

3) 2946 = 0000101110000010

Page 15: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 15

Operações Aritméticas com Binários

Adição Básica

0

0+

0

0

1+

1

1

0+

11

1+

01

vai 1 p/cima

1

Page 16: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 16

Um exemplo um pouco maior:

0

1+

0

1

1

1

0

1

1

1

0

1

101

1

31+

02

Dec Bin

7

1 1Seqüênciade "vai 1"s

p/ cima

Page 17: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 17

Exercícios para Agora

Efetue a Soma Binária com 8 digitos:

a) 135 + 49

b) 178 + 51

c) 86 + 26

Page 18: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 18

Resolvendo temos:

a) 10000111 + 00110001 = 10111000

b) 10110010 + 00110011 = 11100101

c) 01010110 + 00011010 = 01110000

Page 19: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 19

Implementando um Circuito Somador Básico de 2 Bits

Modelo Abstratodo

Somador Básico

B VEA

SVS

A e B – Entradas S – Saída VE – Vai Um de entrada VS – Vai Um de saída

Page 20: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 20

Montando a Tabela Verdade:

A B VE S VS

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Page 21: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 21

Simplificando com Karnaugh:

S = A´B´VE + A´BVE´ + AB´VE´+ ABVE

0

1

1 0 1

0 1 0

ou S = A xor B xor VE

0

0

0 1 0

1 1 1

VS = BVE + AVE + AB

Page 22: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 22

Detalhe: Porta lógica “Ou Exclusivo”

A B A xor B0 0 00 1 11 0 11 1 0

A

BA XOR B

A xor B = A´B + AB´

Page 23: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 23

Então teremos:

AB S

VE

VS

Page 24: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 24

Para um somador de 4 bits ...

A BVE

S 0

A BVE

S 1

A BVE

S 2

A B

S 3

VSVSVSVS

Page 25: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 25

Operações Aritméticas com Binários

Subtração Básica

0

0-

0

0

1-

1

1

0-

1

1

1-

01

vai 1 p/baixo

Page 26: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 26

Um exemplo um pouco maior:

1

0-

1

0

1

1

11

0

1

1

1

00

7

1-

30

Dec Bin

0

1 1

Seqüênciade "vai 1"s

p/ baixo

Page 27: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 27

Exercícios para Agora

Efetue a Subtração Binária com 8 digitos:

a) 135 – 49

b) 178 – 111

c) 86 – 26

Page 28: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 28

Resolvendo temos:

a) 10000111 – 00110001 = 01010110

b) 10110010 – 01101111 = 01000011

c) 01010110 – 00011010 = 00111100

Page 29: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 29

Implementando um Circuito Subtrator Básico de 2 Bits

A e B – Entradas S – Saída VE – Vai Um de entrada VS – Vai Um de saída

Modelo Abstratodo

Subtrator Básico

B VEA

SVS

Page 30: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 30

Montando a Tabela Verdade:

A B VE S VS

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 0 1

1 0 0 1 0

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Page 31: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 31

Simplificando com Karnaugh:

S = A´B´VE + A´BVE´ + AB´VE´+ ABVE

0

1

1 0 1

0 1 0

ou S = A xor B xor VE

0

0

1 1 1

0 1 0

VS = A´B´+ A´VE + BVE

Page 32: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 32

Então teremos:

AB S

VE

VS

Page 33: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 33

Para um subtrator de 4 bits ...

A BVE

S 0

A BVE

S 1

A BVE

S 2

A B

S 3

VSVSVSVS

Page 34: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 34

Decodificador 2 x 4

S0

S1

S2

S3

E0

E1

Page 35: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 35

Bit de Memória

Flip-Flop RS

R

S

Q

Page 36: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 36

Palavra de Memória

Registrador

entrada

pulso

saída

Page 37: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 37

Sistema de Memória

0

1

2

3

4

5

:

n-1

MAR

MBR

deco

dific

ador

read

write

MEM

Page 38: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 38

Unidade Lógica e Aritmética

Unidade Funcional

A B

add

sub

mulULA

Page 39: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 39

Unidade de Controle Microprogramada

Reg. Instr. Pulsos que Unidade de ativam os Controle diversos Reg Status : dispositivos.

Page 40: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 40

Arquitetura Primitiva (CISC)

3 A 7 F

1 0 B 2

5 6 0 E

6 2 E A

: :

MEM

MBR

MAR

: :

: :

: :

1

2

3

4

PC15

RI5

UC

A B

ULA

MUX MUX67

8

9

10

11

12

13

14

MUX

Page 41: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 41

Algoritmo da CPU

Loop

1. RI <- mem(PC);

2. Decodifica(RI);

3. Executa(RI);

4. PC <- PC + 1;

Forever;

Page 42: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 42

Visão Geral: CPU, MEM e E/S

CPU E/S

MEM

Page 43: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 43

Aprendendo Números Hexadecimais

Representação de valores decimais em hexadecimais. Exemplos:

Dec de 2 casas -> Hexadecimal com 2 casas

00 00 01 01 02 02 03 03

Page 44: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 44

Mais um pouco...

Dec de 2 casas -> Hexadecimal de 2 casas

09 09 10 0A 13 0D 15 0F 16 10

Como fazer genericamente??

Page 45: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 45

Regra Básica:

Decomponha o número decimal em uma somatória de potências de 16, usando a seguinte fórmula:

ND = An-1.16n-1+...+ A2.162 + A1.161 + A0.20

Assim, ND = An-1... A3 A2 A1 A0

Onde A0, A1, A2, A3 ... An-1 {0,1, 2 ..A ... F}

Page 46: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 46

Regra mais prática:• Primeiro passo, faça uma linha com uma

seqüência das potências de 16 da direita para a esquerda

• Na segunda linha, caminhe da esquerda para a direita e vá decompondo o número original em uma somatória de potências. Se a potência acima pode ser contida no número n vezes, coloque n e decremente nxpotência do número. Repita a operação até a última potência.

Page 47: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 47

Exemplo: Converta o número 60000

Potências: 65536 4096 256 16 1

Ou: 164 163 162 161 160

Res Parcial: 0 14 10 6 0

Ou 0 E A 6 0

Assim, 60000 = EA60 ou 000000EA60

Pois 60000 = E.16 + 1.8 + 1.4 + 0.2 + 1.1

Page 48: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 48

Observação:

Cada 4 digitos binários corresponde a um digito hexadecimal

Exs: 1010 = A

11000011 = C3

1111011100001011 = F70B

Page 49: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 49

Exercício para Agora:

Converta os decimais para hexadecimais com 4 dígitos (16 bits ou 2 bytes)

1) 97

2) 735

3) 2946

Page 50: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 50

Resposta:

A conversão ficou:

1) 0061

2) 02DF

3) 0B82

Page 51: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 51

Mais Exercícios para Agora:

Converta os decimais para Hexadecimais com 4 dígitos (2 bytes)

1) 62097

2) 31032

3) 24256

Page 52: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 52

Resposta:

A conversão ficou:

1) F291

2) 7938

3) 5EC0

Page 53: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 53

Formato das Instruções

7 4 3 2 1 0

código rid mod

endereço ou dado

Cada instrução ocupa 2 bytes (16 bits)

Page 54: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 54

Modos de Endereçamento

00 - direto: o segundo byte contém o endereço do operando

01 - indireto: o segundo byte contém o endereço de uma posição de memória que contém o endereço do operando

10 - imediato: o segundo byte contém o próprio operando

11 - indexado: o segundo byte deve ser somado ao conteúdo do registrador X a fim de juntos proverem o endereço do operando.

Page 55: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 55

Registradores (Identificadores)

00 = registrador A (uso geral)

01 = registrador B (uso geral)

10 = registrador X (uso geral)

11 = nenhum registrador é selecionado

Page 56: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 56

Conjunto de Instruções

Page 57: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 57

Exemplo de Instruções: Como fazer?1. Colocar um dado em um registrador:

- Instrução: LDR (load)

- Código da Instrução: 0010

- Registrador: B

- Código do registrador: 01

- Dado: 0001 0000

- Modo Imediato: 10

Instrução Final: 0010 0110 0001 0000

ou: 26 10

Page 58: 25/02/2011 1 Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves

25/02/2011 58

2. Colocar um dado de registrador na memória:

- Instrução: STR (store)

- Código da Instrução: 0001

- Registrador: B

- Código do registrador: 01

- Endereço de Memória: 1111 1111

- Modo Imediato: 00

Instrução Final: 0001 0100 1111 1111

ou: 14 FF