1 aula 2 – sumário transferências entre registos notação utilizada utilização de...

Post on 17-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Aula 2 – Sumário

Transferências entre registos Notação utilizada Utilização de multiplexers, saídas tri-state e

descodificadores

Arquitectura básica de um processador A máquina de von Neumann Datapath Palavras de controlo

2

Transferências entre registos

3

Registos

Operações típicas Inicializar o registo a ‘0’s – Clear (ou Reset) Carregar o registo com novos dados – Load Deslocar os bits dentro do registo – Shift

Registo

Conjunto de flip-flops e portas lógicas que permite o armazenamento e a manipulação de informação

4

Registos

Exemplo de um circuito

Linhas grossas são barramentos ou Bus

Variáveis de controlo:

L1 – Carregamento de R1

C1 – Clear de R1 (activo a low)

L2 – Carregamento de R2

S – Selecção da operação:

0 – soma

1 – subtrai

R2 Load

R1Load

Add/Sub

L1

Din

L2

S

Dout

C1Clear

5

Registos

Exemplos de operaçõesC1 L1 L2 S Operação

0 x 0 x R1 0

1 0 0 x NOP (não faz nada)

1 0 1 x R2 Din

1 1 0 0 R1 R1 + R2

1 1 0 1 R1 R1 – R2

1 1 1 0R1 R1 + R2, R2 Din

1 1 1 1R1 R1 – R2, R2 Din

R2 Load

R1Load

Add/Sub

L1

Din

L2

S

Dout

C1Clear

6

Notação utilizada

Designação Significado Exemplos

Letras e números Registos R0; AC; PC; IR

Carregamento R3 R2 + R1; R0 4

Vírgula Operações em simultâneo R1 R0, R2 R3+R1

M[x] Conteúdo da posição de memória x R0 M[1023]; R2 M[R1]

Conteúdo do endereço indicado pelo registo R1

Conteúdo do endereço 1023

Operação Significado Operação Significado

~ Negação (bit-a-bit) + Adição

& AND (bit-a-bit) – Subtracção

| OR (bit-a-bit) Multiplicação

XOR (bit-a-bit) << Deslocamento para a esquerda

7

R1

n

R2

R0MUX

LoadS0

1

C1 C2

n

n

Utilização de multiplexers

Selecção da origem de dados

Variáveis de controlo

C2 C1 Função

0 x ---

1 0 R0 R1

1 1 R0 R2

8

R1

R2

R0

MUX

S1

0

1

2

3

S0

L2

L1

L0 Load

Load

Load

C1 C0

Din

Utilização de multiplexers

Exemplos de operaçõesOperação C1 C0 L2 L1 L0

R0 R1 0 1 0 0 1

R0 R1, R2 R1 0 1 1 0 1

R1 Din 1 1 0 1 0

R0 R1, R2 R0 Impossível

Bus de dados externos(exemplo: vindos da memória)

9

R1 R2

S

0

1

MUX

R0LoadL0

S0

Add

Utilização de multiplexers

Selecção das operações

L0 S0 Função

0 x ---

1 0 R0 ~R2

1 1 R0 R1 + R2

10

Utilização de saídas tri-state

Princípio de funcionamento

Enable A Y

0 x ---

1 0 0

1 1 1

A Y

EnableA Y

Enable=0

A Y

Enable=1

Y fica isolado de A(alta impedância)

Y fica ligado a A

11

Load

EN

Dados

Reg

Utilização de saídas tri-state

Registos bidireccionais

Nota: existe uma saída tri-state por cada linha de dados

Load

EN

Reg

Dados

Esquema

Registo bidireccional com saídas tri-state

12

Utilização de saídas tri-state

EN – Enable da saída Load – Carregamento

Operação E2 E1 E0 L2 L1 L0

R0 R1 0 1 0 0 0 1

R0 R1, R2 R1 0 1 0 1 0 1

R1 Din 0 0 0 0 1 0

R0 R1, R2 R0 Impossível

Exemplos

Load

EN

R0

Load

EN

R1

Load

EN

R2

Din,

Dout

L0

E0

L1

E1

L2

E2

13

Load

EN

R0

Load

EN

R1

Load

EN

R2

Din, Dout

L0

E0

L1

E1

L2

E2

2/4A0

A1

0

1

2

3

2/4A0

A1

0

1

2

3

RD0

RD1

RF0

RF1

Utilização de descodificadores

Selecção do registo destino

Selecção do registo fonte

14

R0

R1

R2

MUX

S1

0

1

2

3

S0

MUX

S1

0

1

2

3

S0

2/4A0

A1

0

1

2

3

RD0

RD1

Load

Load

Load

FA1

FA0

FB0

FB1

A B

Data in

Data out

UnidadeFuncional

C

Exemplo

Fonte para o Bus A

Fonte para o Bus B

Destino

De ou para a memória

15

Arquitectura básica de um CPU

16

Processador

CPU (Central Processing Unit) É o principal responsável pela actividade de

um computador Executa sequências de instruções definidas

em programas Comunica com os restantes elementos do

sistema através dos seus pinos, ligados a barramentos externos

17

A máquina de von Neumann

John von Neumann (1903-1957) Propôs uma arquitectura de computadores

conhecida posteriormente como Máquina de von Neumann

CPU composto por 3 unidades principais Banco de registos Unidade funcional Unidade de controlo

O CPU executa instruções carregadas em memória – o programa

18

Banco de registos

Unidade decontrolo

Unidadefuncional

Sinais de controlo

Sinais de controlo

Estado (ou flags)

Bus A Bus B

Bus C

CPU

Estrutura básica de um CPU

Guardam vários tipos de dados

Operações aritméticas

Operações lógicas

Operações de deslocamento

Gera os sinais que seleccionam a fonte e o destino dos dados, assim como a operação a realizar

19

Banco de registos

Unidade decontrolo

Unidadefuncional

Sinais de controlo

Sinais de controlo

Estado (ou flags)

Bus A Bus B

Bus C

CPU

Estrutura básica de um CPU

Datapath

20

R0

R1

R2

R3

MUX

S1

0

1

2

3

S0

MUX

S1

0

1

2

3

S0

DecA0

A1

0

1

2

3

LE

Load

Load

Load

Load

BUS C

ALU

Deslocamento

S

0 1

BUS A

BUS B

H

MUXF

E

MFRA0

RA1

RB1

RB0

RC1

RC0

Datapath

Com mais pormenor…

Banco de registos

Unidade funcional

21

Datapath

Em blocos:

Banco de Registos

Unidade Funcional

2 2

RA

LE

BUS C

BUS B

BUS A

2

RBRC F H MF E

22

Datapath

Contudo, o esquema ainda não está operacional Falta-lhe a possibilidade de comunicar com o exterior

Com uma memória RAM, por exemplo

E a possibilidade de carregar constantes Como resolver? Uma hipótese será:

Acrescentar mais multiplexers e mais sinais de controlo Os barramentos A, B e C passam a ter funcionalidades

adicionais: Bus A – para endereçar a memória Bus B – para constantes e dados a escrever na memória Bus C – para dados lidos da memória

23

Banco de Registos

Unidade Funcional

0

1

0

1

2

2 2

RA RB

RC

LE

WR

MBConstanteF H MF E

MD

BUS C

BUS B

BUS A

MemóriaDin

Endereço

R/W

Dout

Comunicação Datapath-Memória

Selecção de dados vindos da memória

Selecção deconstantes

Controlo de escrita/leitura na memória

24

Palavras de controlo

Palavra de controlo ou Micro-instrução Combinação binária correspondente ao conjunto de todos os sinais de controlo

Possível estrutura de uma palavra de controlo (para o esquema anterior):

MDLEMFHFRARBRC

012345678910111213

MB WR

1415

Registos Unidade funcional Mem / Reg / Const

25

Datapath

Memória

Unidadede Controlo

Processador

R/W

End. Din Dout

Execução de uma instrução

Palavra de controlo

Estado

Endereço de instrução

Instrução

Palavra de controlo

Estado

Palavra de controlo

Estado

top related